LambdaChip v0.3.1 released!
publish

LambdaChip v0.3.1 was released!

More...

cb2d3bb632079070303284ddd7bf04b5901799f0

Scheme language is good enough for products
publish

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.

More...

92468edc95e29aafe04612e6ca24adc6eb17b0c8

[Video] LambdaChip: a gateway between functional programming and embedded devices
publish


More...

99143171d47ca9a5756c823c566ab97d0cfeb9c3

The plan of LambdaChip v0.1.0 and the current status
publish

LambdaChip is a Functional Language Virtual Machine designed for embedded system.

More...

4f2e889214ec7135b5092baaabccd48db29f981d

GNU Artanis-0.5 is ready for docker
publish

First, you need Docker, I recommend the official installation document.

More...

c475e37e231c44248b596021a107c97735ba2f2f

What's news in GNU Artanis-0.5?
publish

Recently, I released GNU Artanis-0.5. Here's Relese Note.

More...

31299eeaff0a9cb7e55f5c9a9e7bbbc21422074e

Recon the Hydra Cave: a development note of Rust on GCC (part 1)
publish

Rust is a strange language.

More...

1feda790972566a8c6fcba95e25cdd1e0da77c04

隐私时代的销售学
publish

1997年,有一个叫 Paco Underhill 的家伙写了一本书叫做《Why We Buy: The Science Of Shopping》,中文名《顾客为什么会购买》。此书出版后在某个群体内大受欢迎,再版了多次,并被誉为“新时代的销售圣经”。您不用去读这本书,原因待会儿您就知道了。那么这本书里面写了什么呢?它可以说是一本很有洞察力,并且极具实操性的一本书,它主张明智的销售总是顺应顾客的习性而不是试图改变他们,由此它提出在销售场景当中用科学的统计和分析方法,来研究如何通过重新规划物品的摆放、场地的利用、标识的搭配等等来提高顾客的购买率。当然,这本书里所讲的案例是跟具体销售场景密切相关的,经验并不能直接拷贝,但它所介绍的分析方法却是通用的。

More...

904e3998f9c1cd1509f4e9ff833c8f53340a2f1a

Learn Language Like a Linguist - 3 (Javascript - Literals) 2020
publish


More...

14acb86aa1e458202785af98f1a37668dd199079

Learn Language Like a Linguist - 2 (Javascript - Module and Scope) 2020
publish


More...

5869b437f89971cb11370c823d0ca34bc58230ac

Learn Language Like a Linguist 1 - basic concept (Javascript)
publish


More...

08c8848cb6d99ed74740ac17bbb9ae0757067a42

What's new in GNU Artanis 0.4.1
publish

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.

More...

21fb9b32562a4444ee55de76763923cb7532f0f0

Hurd, seL4, thoughts
publish

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.

More...

98e9e5a02ee6dbaa9e064602b7182e973f4c9d87

朋克式开源
publish

对许多人来说,“朋克”这个词既熟悉又陌生。音乐上的朋克我很喜欢,因为和弦简单直接,一般就三个和弦不断重复,拨拉开了直接唱,所以唱词才是关键——重点是表达而不是炫技。这种反叛的态度转移到文化上,就成了反主流、反消费主义,说得通俗点,就是有点“老子有才,但老子不卖”的感觉。虽然听起来有些幼稚,但也是真性情,我自己虽然做不到,但无论如何也不能说是贬义词。

More...

70e42983561a5ce864222d6350b8db0f1da8429f

函数式编程,我们这次赶上了吗?
publish

公元1945年,Samuel Eilenberg和Mac Lane一同建立了范畴论,当时他们只把这个不怎么起眼的东西当作工具来解决一点代数拓扑上的问题。而这个东西是如此抽象和玄幻,以致于在之后很长一段时间内范畴论都在被当作哲学来讨论,直到一个叫格罗滕迪克的年轻人突发奇想把它真正用到数学研究上去,这个后来被封为数学之神的人在那一瞬间启发了凡人数学家们,于是范畴论开始从一门哲学变成了被数学家认真对待的东西。纯数学有太多的东西无法进入应用领域而被人类所关注了,所以绝大部分数学家可能都没有想到,这套玄门秘术会在计算机应用领域大放光彩。

More...

486a1ad073337da70f470fdfa77ac87905de599a

8 essential patterns you should know about functional programming in C++14
publish

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.

More...

c8b6775be45ad1dff942a067bd99d13d5e088228

What's new in GNU Artanis 0.4
publish

First, I'd recommend newbies try to use docker for painless installation.

More...

5de67d4522e77e9c2ab22c6e612200ecc7903572

我们赖以生存的互联网标准是如何制定的
publish

如今是网络已经成为我们生活的一部分,可以说没有网络就没有生活。我曾经也很怀疑自己这个论断,在这个年代难道山沟沟里的人就没有生活了吗?后来有一次我去到一处穷乡僻壤,无意中看到了“村村通”的成果,电话、网络等在山沟里也是可以通到的,淘宝等电商在山沟里也是能享受到的,只不过物流没有那么完美,只能在村里设置个商铺作为接收点,然后买家自己过来拿。所以我越发坚信自己这个论断,即便互联网尚未100%覆盖这个世界,它也已经是我们生活的一部分了。

More...

525fd595e9e9cafc6b1e12f7846f6c4c7c56d4b9

中国自由软件的未来
publish
“争名者于朝,争利者于市。” —— 《战国策·秦策一》


More...

a6bbc63b3994391dde0e34d388e5d3c72e81fc6b

Install GNU Artanis with Docker
publish

If you're suffering from the installation and dependencies of GNU Artanis, here's an easier way to go.

More...

3b5366a0be6c47f27e5fdaf789ca21492c578526

Static files permission issue in Nginx
publish

If you encounter this kind of error by Nginx:

More...

e68da30df6ed99a8b3364b3e09605c8d0015ece8

A preview of Guile-Lua (rebirth), and some opinions.
publish

Oops, seems I haven't updated my blog for 11 months. What I'm doing?

More...

1acae5b5e4c9394c17ba03ab2cbc6f1d7917d2a9

Actor-Model: a revealed black box in Scheme
publish

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.

More...

4d854671b3a3857635f5d749024a365b1fcb5379

Do some quick and dirty with Guile FFI
publish

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. ;-)

More...

42ecafc5ec49b2f4928ef25aeb6e379b4259c2e0

[ANN] GNU Artanis 0.0.3 released [alpha]
publish

I'm pleased to announce artanis-0.0.3 here.

More...

24e7b67249327ce6400669382719857c483e1b00

Simple solution to mkdir a tree
publish

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.

More...

a1c56235f7835907e836dcb6735fb15970cdc1de

[ANN] GNU Artanis 0.0.2 released [alpha]
publish

I'm pleased to announce artanis-0.0.2 here.

More...

5be73081af4464942a14dac613adb8c102daeb9c

[ANN]Artanis-0.0.1 released!
publish

Artanis is a new web application framework (WAF) written with pure GNU Guile Scheme. Artanis is free software, under GPLv3 and LGPLv3.

More...

456c7cabdc0e63b1df95a7fe2fe68a44ed8be1e1

Convert hex to bin in Guile Scheme
publish

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.

More...

62c935ebf95ef83740e21db5ae6fd44181c84ebb

Uroboros: The power of high order function
publish

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.

More...

12e250bad79b7d0e6c48e5b337530fa9f4edd985

Oba pipeline style!
publish

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.

More...

09e1549f937e73a02ce4b39a908adbafeb3e8cdc

Simple, but not so simple
publish

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.

More...

1d68248465144781f241ec65c35deb7c1843ac4b

A way to write shit with you elegant Scheme language
publish

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. ;-)

More...

9be9e3dcb7da450d5add314bbad9b03b1e54fce0

How to build your blog with Scheme programming language
publish

1. Why bother to do it?

Well, I love Scheme. That's all.

More...

366be41c7938f3990a5eb5d9ac49547919b31d24

新博客启用
publish

折腾了快一个月,总算把这个新博客弄好了。要说有啥特色,其实主要是技术上的特色,本博客完全用Guile写的,采用了Andy Wingo的博客框架tekuti。我做了一些改进,修复了一些bug。

More...

3e5afd4b164cf7b99e4e1e114106179f2ef04b09