Imagine stepping into a modern datacenter—a massive, buzzing labyrinth filled with rows of servers stacked like skyscrapers in a futuristic cityscape. You hear the soft hum of countless fans, the relentless clicking of hard drives, and the quiet chatter of power supplies whispering in unison. This is the nerve center of the digital world, where countless applications run, data flows endlessly, and artificial intelligence (AI) models learn and evolve every second. But amid this symphony of technology, there is one unsung hero that keeps everything running smoothly, often working quietly behind the scenes: the Baseboard Management Controller (BMC).
45b6bc129563e24a0aa1d0586d1c339213ce48e6
Many years ago, Alan Kay famously said, "People who are really serious about software should make their own hardware." This statement reflects a profound truth about the relationship between software and hardware: when you control both, you unlock a level of optimization and customization that is simply not possible otherwise. Today, as we find ourselves on the precipice of the AI revolution, it’s becoming clear that those who are truly serious about AI should take a similar approach with their datacenters. Surprisingly, it’s more accessible than you might think.
3deb9bca727cb6fc4aa4c6ceb21cb626a52bc767
ChatGPT is so hot that everybody is trying to use it everywhere. Recently I use it in my compiler to help users on error regeneration. Here's how I do it.
10eebafac33635937a82368be77335b13f024b72
Hi LambdaChip folks!
bed05b5f1a0bda3a2cd2d47fd4ac5a970d6a344c
Hi LambdaChip falks!
6711817eafaadb9a766acc444c5504aaba9d7576
1961年,一个气象学家正利用计算机预测天气,不知怎地突然死机了,还好他的系统比较靠谱能恢复现场,重新开机后恢复中间数据接着算。可是见鬼了,他发现发现中途接着算的结果,跟重头算的结果差异巨大。后来发现,恢复数据的时候小数点后几位被截断了,普通人也许会认为这只不过是微不足道的精度变化,可是从此人类开始意识到天气系统具有敏感的初值依赖性。这并不是人类第一次真正遇到这个问题,在这位气象学家之前100年,庞加莱研究三体运动时就发现了同宿轨道,同样的,他发现了双曲点附近的轨道敏感地依赖于初值,无法预测其运动轨迹。
81dc59e3ffb9b32f592ba8c308758b77c42fa0e0
Mae govannen, nothlir!
5da6179266ef2ae3f77b706d60a56d82ad77b8e9
f0415d6f5bb0a2a773f3e503987705db88ee0711
LambdaChip v0.3.3 was released!
dc9f508152ed6e985eec4b2a681acdbeb8cd3ccb
LambdaChip v0.3.1 was released!
cb2d3bb632079070303284ddd7bf04b5901799f0
In the past decade, I've been trying to use Scheme programming language in the product environment. The existing lore around Scheme is always fascinating, paradoxical, and mystical. However, although Scheme is prominent in the academy, I'm pretty sure only a few people had tried it in a product. Because I didn't see many discussions about the problems using Scheme in product development. Most people were just following other people's opinions. And less people discusses the real problem, and how to deal with the problem.
64560d0aebc3aebb2d8a6f3f11b37a8cf270864d
99143171d47ca9a5756c823c566ab97d0cfeb9c3
LambdaChip is a Functional Language Virtual Machine designed for embedded system.
4f2e889214ec7135b5092baaabccd48db29f981d
First, you need Docker, I recommend the official installation document.
55b5288e6fd747ae6f1459320881bff9bc1b2fbf
Recently, I released GNU Artanis-0.5. Here's Relese Note.
31299eeaff0a9cb7e55f5c9a9e7bbbc21422074e
Rust is a strange language.
1feda790972566a8c6fcba95e25cdd1e0da77c04
1997年,有一个叫 Paco Underhill 的家伙写了一本书叫做《Why We Buy: The Science Of Shopping》,中文名《顾客为什么会购买》。此书出版后在某个群体内大受欢迎,再版了多次,并被誉为“新时代的销售圣经”。您不用去读这本书,原因待会儿您就知道了。那么这本书里面写了什么呢?它可以说是一本很有洞察力,并且极具实操性的一本书,它主张明智的销售总是顺应顾客的习性而不是试图改变他们,由此它提出在销售场景当中用科学的统计和分析方法,来研究如何通过重新规划物品的摆放、场地的利用、标识的搭配等等来提高顾客的购买率。当然,这本书里所讲的案例是跟具体销售场景密切相关的,经验并不能直接拷贝,但它所介绍的分析方法却是通用的。
904e3998f9c1cd1509f4e9ff833c8f53340a2f1a
14acb86aa1e458202785af98f1a37668dd199079
5869b437f89971cb11370c823d0ca34bc58230ac
08c8848cb6d99ed74740ac17bbb9ae0757067a42
Today I released GNU Artanis 0.4.1. GNU Artanis is the product level Web Framework for Scheme programming language. Please see the release note for better description.
21fb9b32562a4444ee55de76763923cb7532f0f0
In the past 30 years, GNU Hurd has been the official kernel of GNU operating system. The term "kernel" may not be precise here. "The kernel" is the classical concept of the monolithic OS design; in microkernel, there's still the concept "kernel", but it's smaller than monolithic. However, GNU Hurd is not following the simple "kernel + userland" design. GNU Hurd is a collection of servers, which can interact with its microkernel GNU Mach by IPC (Inter Process Communication) for system level requesting. Sounds a little familiar? Try to imagine you're running bunch of dockers on the cloud, and there's a centralized node for scheduling.
98e9e5a02ee6dbaa9e064602b7182e973f4c9d87
对许多人来说,“朋克”这个词既熟悉又陌生。音乐上的朋克我很喜欢,因为和弦简单直接,一般就三个和弦不断重复,拨拉开了直接唱,所以唱词才是关键——重点是表达而不是炫技。这种反叛的态度转移到文化上,就成了反主流、反消费主义,说得通俗点,就是有点“老子有才,但老子不卖”的感觉。虽然听起来有些幼稚,但也是真性情,我自己虽然做不到,但无论如何也不能说是贬义词。
70e42983561a5ce864222d6350b8db0f1da8429f
公元1945年,Samuel Eilenberg和Mac Lane一同建立了范畴论,当时他们只把这个不怎么起眼的东西当作工具来解决一点代数拓扑上的问题。而这个东西是如此抽象和玄幻,以致于在之后很长一段时间内范畴论都在被当作哲学来讨论,直到一个叫格罗滕迪克的年轻人突发奇想把它真正用到数学研究上去,这个后来被封为数学之神的人在那一瞬间启发了凡人数学家们,于是范畴论开始从一门哲学变成了被数学家认真对待的东西。纯数学有太多的东西无法进入应用领域而被人类所关注了,所以绝大部分数学家可能都没有想到,这套玄门秘术会在计算机应用领域大放光彩。
486a1ad073337da70f470fdfa77ac87905de599a
To C++ folks, if the Functional Programming is still an academic theory or confusing concept to you, then you're out. It's already used a lot in our daily product development today. I'd like to share you 8 essential patterns to help you grab this powerful weapon quickly in a practical way. It's not hard, and I hope you're familiar with C++14 features.
c8b6775be45ad1dff942a067bd99d13d5e088228
First, I'd recommend newbies try to use docker for painless installation.
5de67d4522e77e9c2ab22c6e612200ecc7903572
如今是网络已经成为我们生活的一部分,可以说没有网络就没有生活。我曾经也很怀疑自己这个论断,在这个年代难道山沟沟里的人就没有生活了吗?后来有一次我去到一处穷乡僻壤,无意中看到了“村村通”的成果,电话、网络等在山沟里也是可以通到的,淘宝等电商在山沟里也是能享受到的,只不过物流没有那么完美,只能在村里设置个商铺作为接收点,然后买家自己过来拿。所以我越发坚信自己这个论断,即便互联网尚未100%覆盖这个世界,它也已经是我们生活的一部分了。
525fd595e9e9cafc6b1e12f7846f6c4c7c56d4b9
If you're suffering from the installation and dependencies of GNU Artanis, here's an easier way to go.
3b5366a0be6c47f27e5fdaf789ca21492c578526
If you encounter this kind of error by Nginx:
e68da30df6ed99a8b3364b3e09605c8d0015ece8
Oops, seems I haven't updated my blog for 11 months. What I'm doing?
1acae5b5e4c9394c17ba03ab2cbc6f1d7917d2a9
There're serveral concurrent models nowadays, CSP, Actors, π-calculus ...etc. It is believed that these concurrent models could bring high performance and scalable concurrent network service. Actor-model(I may call it Actors in the rest of the article) is a hot one that many folks would like to talk about it. But rather than using it, have you imagined to implement one for better learning it? Well, if your answer is yes then this is the article for you. I'll show you a feature-limited tiny actor-model implementation in Scheme, although you may call it a poor man's threading system, hope that's enough for you to understand the principle.
4d854671b3a3857635f5d749024a365b1fcb5379
These days I'm facinated in working on MAL (stands for Make a Lisp) project with Guile. I've done several steps so far, and I'll send pull request when it's all finished. And I found my implementation in Guile-2.1 runs faster than most of others, only little slower than C version. Seems there's something to be expected. ;-)
42ecafc5ec49b2f4928ef25aeb6e379b4259c2e0
I'm pleased to announce artanis-0.0.3 here.
24e7b67249327ce6400669382719857c483e1b00
The problem
Yesterday night I've written command line interface (CLI) for GNU Artanis, after took care of my daughter to sleep, I had only one hour to hack something.
a1c56235f7835907e836dcb6735fb15970cdc1de
I'm pleased to announce artanis-0.0.2 here.
5be73081af4464942a14dac613adb8c102daeb9c
Artanis is a new web application framework (WAF) written with pure GNU Guile Scheme. Artanis is free software, under GPLv3 and LGPLv3.
456c7cabdc0e63b1df95a7fe2fe68a44ed8be1e1
Unfortunatly, Guile doesn't provide a method to convert hex to bin (When I'm writing, the current version is 2.0.11). People have to write their own one.
62c935ebf95ef83740e21db5ae6fd44181c84ebb
According to SICP, high-order function gives us the ability to build abstractions by assigning names to common patterns and then to work in terms of the abstractions directly. It's very useful while you're trying to refactor you code.
12e250bad79b7d0e6c48e5b337530fa9f4edd985
The concept of pipeline in functional programming means a succession of functions that operate, one after another, on an array of data, which consists of a chain of processing elements arranged so that the output of each element is the input of the next. One of the famous practices is Unix pipeline.
09e1549f937e73a02ce4b39a908adbafeb3e8cdc
In spite of a Scheme implementation, Guile is also an extension language platform. This means you can write new language on it, which could be totally different from Scheme. Say, PHP/Lua/Ecmascript...and all these front-end will take advantage of the compiling optimization machenism of Guile.
1d68248465144781f241ec65c35deb7c1843ac4b
Take it easy if you're uncomfortable with the word 'elegant'. This article is not driven by any academic purpose. I'm trying to show an interesting way to write chaos Scheme code. ;-)
9be9e3dcb7da450d5add314bbad9b03b1e54fce0
366be41c7938f3990a5eb5d9ac49547919b31d24
折腾了快一个月,总算把这个新博客弄好了。要说有啥特色,其实主要是技术上的特色,本博客完全用Guile写的,采用了Andy Wingo的博客框架tekuti。我做了一些改进,修复了一些bug。
3e5afd4b164cf7b99e4e1e114106179f2ef04b09