(This is a test,
sometimes works, sometimes not. Don't click it, this is for
web crawlers. I'm checking some stuff.)
There is no god. There is no value.
I'm happy, Thatcher is dead.
The best program is the one you write.
-1. My GPG key
Modernity! (writing this 2017-12-10)
My GPG key is: E8610311CDD4C51947A662319ED6EDAA1724ABB3
Some notes on gpg usage.
If you want to trust my key, get in touch with me by email. I do not
control this website, but I control my key (I hope). So we would need to
establish some secure communication channel so that you trust the real me
and not some third-party. How to do that properly? I don't know. I don't
even control my email. (But neither do you with yours!)
So as of today, that key is practically useless. In the future I intend
to use it for people downloading software from here to be sure they
downloaded what I put and not something else. I'm not 100% confident that
gpg is enough, but it makes the life of "bad entities" harder I'd say, so
Aug 7, 2018: Oh my, 2018 is already getting old! I
just released a musical fragment for the
classical guitar. Ah, there is also my composition number 2 on
the same page. But I don't like it much to be honest.
Of course I still work on compose
to write music. At some point in a maybe near future I may well go
away from free.fr and host my tiny presence on this crazy network
all by myself, on a computer sitting safe at home. Or maybe not.
Because I'm lazier than you, whoever you are. But I'm working on it,
at a slow pace. I will try to use a mini2440 with a modern linux
kernel and write userland programs to do the work (http(s) server,
mail, vpn, whatever). TLS is going to be fun. Or not. We'll see.
Dec 8, 2017: pulseaudionano,
that little stinky creature, came out of my brain.
Nov 24, 2017: let's make some noise.
Oct 8, 2017: Woo! A new version of my
mini FTP server that works
with recursive directories and whatever-filenames. The problem
is that FTP does not work with "whatever-filenames". They have
to be 7 bits in the basic version and there is an RFC to let it
work with UTF8 filenames. What the fuck... A filename is anything
but "/" that is used as separator, and also without 0 as it is an
end-of-string in C, and live with that. This world is insane.
(I am sure some shit committee made it as it is today, for some
"vendor neutral" crap shit, because some, say Microsoft, don't
deal with filenames as everyone else. Not even sure there is such
a thing as "everyone else". Bah, fuck them all. FTP sucks anyway.)
(If you don't understand anything you can be proud of yourself,
you have a life!)
Apr 17, 2017: chess is
there! A graphical program to play against the computer chess
Mar 12, 2017: orangetv 1.6 is there!
This version should work much better. (I love copy/paste.) I did
not announce 1.5! WHAT? BUT THIS IS NOT PROFESSIONAL! Wait...
0.5 Simple programs
Those are simple but efficient programs of mine.
All in the public domain.
First category of the website, because this is very
important. Programs must be simple so that you
can create, understand, use and modify them with ease.
A computer is a machine that you program, never forget
that, despite all the propaganda that reaches your brain
on a daily basis.
- miniftp-1.c: a small (around
500 lines) FTP totally insecure server. Read the source for
details. DO NOT USE IT! There is also miniftp-2.c
that has more features (recursive directories, arbitrary filenames) but
may then contain more security problems. DO NOT USE IT EITHER!
- compose: a more or less graphical
tool I write (yes, present tense; that thing will hopefully
never be finished) to study/write tonal classical music.
- slide-1.0.tar.gz: a slideshow
generator (takes images as input and spits raw video on output)
(more specifically: the input is a "program" describing a slideshow
with images and timing/transition informations).
All is released in the public domain unless stated otherwise.
- Asn1: an implementation of the ASN.1
a small tool to visualize big audio files
in a very responsive GUI.
a little reflexion game.
- Chat: a secure underground one to one chat
some old code. It waits for some audio,
applies an effect on it and sends audio back to soundcard.
- Gcomposer: a program to compose music.
It has a graphical user interface, is very keyboard-centric and
provides audio feedback.
- Gtkcooker: an abstract GUI language.
The GUIs of gcomposer and xgprof are written with gtkcooker.
a tool to detect memory leaks in your
a tool to experiment with sounds.
watch TV on your computer.
a very simple SIP audio client, because
linphone is a horrible bloat.
a secure connection with a PHP web server.
a simple audio player, because VLC is a bloat.
a very simple program to quickly check your
messages on a POP3 server. Has a nice GUI.
an implementation of the Rubik's clock.
a 3D implementation of the Rubik's cube.
1.0 (no real date)
A Window Manager for X Window.
[ Screenshot ]
Not as small as
- Sight: a simple exercise for classic
guitarists to work their sight-reading (x11 and android).
a little tool to record and mix
audio files. It has a graphical user interface.
a spectrogram for the Jack world.
a nice order 15 CFDN reverb. "Reverb" means
"artificial reverberation". It adds naturalness to audio files, by
providing a feeling of presence in some kind of room. It is a very
common audio effect, but a bit costly.
A program to make small ELF programs.
- Virtual drum machine:
virtual drum machine is a non-GUI drum machine.
a faster gprof with a nice GUI.
a little reflexion game (known as quinto
A program to create music based on samples.
a port for linux of the 624 compression program.
2. Some hacks, stuff...
More or less reverse time order.
- pulseaudionano: a small version
of PulseAudio, to fight the bloat.
- SDR (software defined radio) quick notes,
not to forget.
- chess [version: 2017-04-17]: a
graphical program to play chess against
There is also an opening book:
You need stockfish on your computer.
- How to automatically hibernate when
the battery of your laptop is too low.
- Some documentation to update the
EC firmware of my MSI computer.
- Al Zimmermann's Programming Contests: my
entry for the Delacorte numbers
thing. See here for my entry for the scrabble
like contest (Alphabet City).
- A NFS2 server, for the lulz.
- A small bootloader to load linux
on my 486 from the network. I didn't dig the web but I strongly
suspect this thing to be the smallest network bootloader for linux
in this useless universe.
- Some documentation (with some code) on how to
boot a debian system on an old 486 PC. The linux kernel, the gnu libc,
debian, bootloader, all is a big bag of pain.
- A patch for spk3cc4.bin which seems to
be bugged (at least within xplus4 from the VICE emulator).
- bintree.c a little program to display
binary trees in a X window. Tries to be nice looking.
- say364.c is a little
hack to speak like a commodore v364. Why? Why not! I saw a video
on the internet of that v364 thing speak and it reminded me of my youth
and the Dictée Magique (Speak and Spell) which has a very
similar voice. Let's call it nostalgia.
- Monkey Island 2 walkthrough.
- ti85.skn a TI 85 skin for the
- git.php, a git php server for repositories
stored as one file.
- A HR16 / HR16B ROM files editor.
- Extract words from a PDF dictionary.
- A little program to bip when new
mail is there on an IMAP account.
- Some hacks to have fun with scrabble games.
- Some hacks with orange, the ugly ISP.
- Turkish stuff (wiktionary rocks).
- How to update the BIOS of your ACER
Aspire Timeline X 5820TZG to have real battery status in gnu/linux.
- Some raytracing stuff.
- Some archos g9 hacks.
- Some android rooting stuff.
- Some android stuff.
- Here are the releases for a programming contest
where I won the jury's prize.
- grindplot, a data language to display
stuff over the Earth.
- A tool to browse and search in the infamous
file cables.csv that contains all the unedited diplomatic cables
you may have heard of.
- Connect to freenode via the web interface, but! with
an IRC client.
- How to download music from myspace.
- smokenrg-1.0.c. A little hack to extract
audio files from an NRG file (proprietary format of the Nero software).
A crack for the game Indiana Jones and the Last Crusade.
Useless. ScummVM lets you play, load and save it...
indy3-opcodes.c is a barbarian
disassembler I made because I didn't know I had to use the
descumm. It's nevertheless a cool disassembler,
because it reads any file and tries to disassemble what it can, not failing
if it gets garbage. (Script 204 of room 92 is the guilty one here!)
A crack for the well known game Indiana Jones and the Fate of Atlantis.
Useless because ScummVM already bypasses the protection. But many many
years ago I struggled hard to crack this game and I failed. I had to do it,
one day, even if it's a lame crack... (read the source for a bit more
details, but not that much either) (extract_all.c
to suck the scripts out of
ATLANTIS.001. You also need
ATLANTIS.000. Then use ScummVM tools to extract scripts.
You want to look at script 207 of room 81.)
- msa.c a little program to extract files
from a MSA archive (MSA stands for Magic Shadow Archiver). MSA
files come from the Atari scene as it seems.
- Anonymize a PDF file.
- Backup your phpBB3 data.
- Some stuff around the Commodore 64.
- I did the ICFP code contest. In 2003,
in 2004, and in 2005.
- Some demo stuff. There is also the
LTP3 page and the LTP4 page.
- AIFC to WAV translator. A tool to
translate audio files from some AIFC encodings to WAV.
- Exporting a phpBB forum to RSS.
(Does not work with phpBB 3.)
- print_scale.c. A little program
to print a given scale (like A minor melodic) on the guitar.
- Save RealPlayer output.
- xpress2html.c. A tool to extract
text from a Quark Xpress file.
xpress2html.exe is a Windows binary
of it (by N8VI, it's his callsign, dig the web to find his contact).
xpress2html-win.exe to deal with
Windows XPress files)
- Opera with no ads.
- Lilimath sous linux (french only).
- ptrace.c. An exploit for old Linux
- Config files.
- ffmpeg tricks.
- Some compositions.
- Happy birthday! for classic guitar.
- Sight reading for guitarists:
test/improve your sight reading.
- Khoomei's page:
my little pages about khoomei.
- The ney diary:
some informations about my little journey with the
- Some metal songs:
- Erdoğan istifa! (Erdogan, resign!)
(melody is from turkish "mevlana oyun havası")
- Hayat (Eliz için) (translates to:
Life (for Eliz)), some turkish lyrics
in there: "Bu ne? bu hayat. Hayat zor." Translates to: "What's
this? This is life. Life is hard." Eliz' voice in there. Welcome
on earth. You'll see, it's fun...
- Fuck your sexism,
- Dark obsessions, some, what?
"obsessive" metal? (drone/doom, maybe...) One hour long, guitar/voice,
- Maya, a grind/noise song for a newborn,
- Pitt Bull, a cover song let's say,
- Vive le vent, still a cover (Jingle Bells
theme, description of the song),
- Bloody Christmas, Deadly New Year,
- Karcher, about, well, life
- Apopathodiaphulatophobie: a six months (now defunct) grindcore
experiment. (hell, that was fun!)
- A cappella: stuff, in french. Raw voice,
no instrument, crappy microphone.
4. Technical texts
- Debug techniques: some debug techniques I
use when something wrong pops up in my programs.
- Minesweeper is NP-complete:
some stuff about it, mostly because
the research paper about it is not available online (as far as I checked).
- Sudoku and SAT:
a rather long text about sudoku and
- A research paper (model checking):
5. Random stuff
Created: around 1998 or 1999.
Tue, 07 Aug 2018 23:25:06 +0200