我们赖以生存的互联网标准是如何制定的
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