Vous êtes vraiment écolo ? Arrêtez de trier vos déchets.


Aujourd'hui, j'ai jeté mes cartouches d'imprimante à la poubelle, sous les regards ébahis, choqués et incompréhensifs de mes amis.

Je l'ai fait par conviction écologique profonde, et parce que je considère ce geste comme juste, moral, et en accord avec mes valeurs sociales.

Je souhaite savoir brûlés ces quelques bouts de plastique et de puce électronique, ajoutant ainsi une négligeable quantité de dyoxide de carbone dans l'atmosphère, à peu près autant que quelques expirations de mon souffle, mais retirant surtout un grand morceau de culpabilité de mon esprit.

Read the article

Le monde est en transition


Peut-être qu'on va finir par s'en débarrasser, de cet étau capitaliste qui nous broie.

Peut-être qu'on va laisser les techniques de management, les injonctions de performance et de rentabilité, qu'on va tout mettre dans un grand sac et tout enterrer.

Read the article

Construisons une console de jeu inspirée des années 80 - RIL011W Partie 1


Cela fait très longtemps que je suis en recherche d'une réponse concrète à la question “Comment fonctionne physiquement un ordinateur ?” qui ne soit pas la réponse classique : “Il se passe un truc dans le processeur qui manipule les données et ça s'affiche sur l'écran” ou encore “C'est magique”.

Je me suis donc lancé il y a quelque années dans la conception et la création d'un ordinateur entièrement “sur-mesure”, dont le processeur serait inventé de zéro, ainsi que la carte graphique, le clavier, le système, et j'en passe… Tout ça, uniquement à partir de composants électroniques de base.

Je me suis fixé les objectifs suivants :

J'ai baptisé ce projet RIL011W (prononcez “RILOUW”).

À travers cette série d'articles, j'ai donc envie de partager cette aventure avec vous, et peut-être au passage récolter de précieux conseils.

Read the article

Forth, the compiler-oriented language


Racket is my language of choice for pretty much everything now. It's the Lisp I've been always dreaming of: simple at its core while having all the batteries included to work on complex tasks like web development, servers, or games.

It is often described as a "Language-oriented programming language" for its ability to create languages on the fly.

I happen to have another wonderful language in my toolbox, that I reserve for most of the "down to the metal" activities. I would describe that language as a "Compiler-oriented language". It's called Forth.

Forth was created in the 70s by Charles H. Moore, which makes it, in the minds of today's young and fashion-victim devs, a language for dinosaurs.

I've been recently asked to explain (thanks @ambrevar) why I would use this, instead of Racket. So, without further ado, let's dive into the old, dusty and undocumented world of Forth, the language of the dinosaurs. Maybe there's still a place for it in our crazy cyber world (stay if you want dino-cyborgs).

Read the article

A call for libre phone development


Some years ago I bought the third telephone of my life. It's an archaic looking "feature-phone" which I want to last as long as possible. I'm not planning to buy anything more.

In fact, I always wanted sustainable phones. The first one was a sturdy Nokia that followed me everywhere for 10 years (and once waited faithfully for me in a mud pool for hours). The second one was a ZTE Open with Firefox OS installed, because I wanted something customizable, tinkerable, and as much free and open source as possible. Unfortunately, as you may know, the project was canceled and all I was left with was an incomplete, outdated and buggy OS written in Javascript. The only alternatives for a somewhat sustainable and open phone were projects like Fairphone, which seems to go in the right direction.

But I don't want an expensive 500€ smartphone. I don't want an easily breakable touchscreen, and I'm convinced there's a way to refurbish all the cheap "feature-phones" to make something usable and fast without all the fuss of a multiple Gigabytes operating system on it. I'm not planning to watch Youtube videos on my phone, only send good old SMS, so the idea of buying a cheap feature phone, and see what I could do about it started to sprout in my mind.

I bought a cheap 10€ phone with a digit keyboard, and kept it in a drawer as an emergency tool for about two years. Then the emergency came in: the screen of my Firefox OS phone broke, and typing on it became an exhausting experience, to say the least. So I switched to the cheap feature phone, and although it has a decent hardware, the software stack is completely out of place. What can we do about it?

Maybe we can live in a world where phones are used to place calls and send messages? Maybe we can live in a world where landfills are not stuffed with computer systems thousand times more powerful than what made us go to the moon, but still considered "old" because they cannot run the latest version of Snapchat? I'd like to live in that world, so I started a journey of retro-engineering to discover if I could make this dumb phone my phone.

Read the article

The programming language of your dreams (part 1)


For a long time, my favorite language was Python. It's fairly well designed and useful for any task, from web servers like Django to 3D software like Blender; from neural networks like TensorFlow to cloud computing platforms like OpenStack.

Python offers so many libraries and tools for a developer to play with that you feel you can achieve anything, given the right tool.

What I really enjoyed above all was the community, and the feeling that everyone was according to the same set of standards (it was of course not always the case) and that you could somehow easily agree on what was "Pythonic" and what was not (spoiler alert: in fact, you cannot).

Now that I shifted to using Lisp languages (especially Racket), I see my past self as childish and primitive, but it has been a brease passing through Python as a part of my road to becoming a better developer, and alas I may never use Python again for personal projects, I have learned a lot and would still recommend it for anyone wanting to achieve efficiently, quickly and elegantly some IT project.

So what is so good in Racket, that it made me think I finally found the language of my dreams?

Well, there's a lot of features that make Racket an awesome language to work with: parameters, continuations, contracts, syntax-parse... But the feature I want to write about today is by far the one I find really transcendental: #lang (pronounce "hash-lang").

#lang allows writing your own languages. Let's dive into it!

Read the article

La masculinité


Si vous êtes un homme et que vous vous sentez, comme moi à une époque, agressé par les propos féministes, c'est que vous cachez peut-être en vous une gène, un mal-être, une question que vous avez refusé de vous poser jusqu'à maintenant: «Qu'est-ce que ça signifie d'être un homme ?»

Read the article

Hello world!


Hello world! I'm Jérôme, professional developer and hacker.

This is my brand new blog where I talk about slow-tech, programming, feminism, ecology, and sometimes metaphysical aspects of life...

Technically speaking, I wanted to make a blog from scratch using racket, to see how simple and stupid you can make a web server when using a lisp language (Keep It Simple, Stupid).

Most importantly, I wanted to write about things that please and displease me in this world, so that I can try out and sharpen my ideas.

Read the article