Recent Content

Simple Wine Workflow

posted on 2014-10-21

For a little while, I've been wanting to write an introduction to Wine. Wine is not an emulator, so do not call it one. Or else, terrible things will happen. Wine is "a compatibility layer capable of running Windows applications on several POSIX-compliant operating systems, such as Linux, Mac OSX, & BSD". It isn't perfect but it works often. You might still have to boot under Windows from time to time but it will help to minimize these. Of course, Wine is free software (as in free speech). Let's see how to use it.


You'll need a few tools. Lets' start with wine.


Civilized Operating Systems

You probably don't have a lot to do: your OS probably already integrate a package manager or port system that alreay includes wine. Just install it. ;)


Mac OSX doesn't come with a serious package manager or port system. However, third party software exist. You can either use Netbsd's pkgsrc, on which you can find OSX tutorials here, or Macports.


Why would you want to do that? Because Wine has a better compatibility list than any individual version of Windows.

May the Force be with you


Winetricks is a script that allows you to get Windows ressources such as libraries, runtimes, fonts, etc. It's very useful if not necessary.

Your package manager or port system might already have a package. If it doesn't you can simply download it here.

Gecko and mono

Those two are Wine's usual way of dealing with the need of Internet Explorer and .NET. Gecko is Mozilla's engine used in its software like Firefox; Mono is an open-source implementation of .NET. There are two wine packages that contain these and are included as packages or ports into distributions, generally with names such as "wine-gecko" and "wine-mono".

You do not need to download these per-se as Wine is able to download them but it's practical to already have them installed.

Basic usage

To launch windows binaries simply call it with wine like this:

wine mySyperSoftware.exe

That's about it. Of couse, things are always more complicated than they should be.

Where it gets complicated

A lot of Windows software require specific libraries, specific registry keys, either the wine implementation of a library or its windows implementation. Often these pre-requisites will conflict, making you unable to use one piece of software once you've configured another. Thankfully, there's a solution.


Wine prefixes or bottles are basically your fake windows installation used by one. They contain your registry, your installed programs, your configuraiton files, etc. The default one is stored in ~/.wine.

How to use another one? It's easy. You need to use the environment variable WINEPREFIX.

Example : WINEPREFIX=/path/to/my/wine/prefix wine mySyperSoftware.exe

To just create a prefix, use the wineboot command.

Example : WINEPREFIX=/path/to/my/wine/prefix wineboot -u (-u is for --update)

You can of course, export this environment variable to make it permanent for the session.

export WINEPREFIX=/path/to/my/wine/prefix

Where to store a prefix.

I'd recommend to either store all your prefixes info a ~/.wine-prefixes folder or to use a naming convention in your home. I usually create ~/.wine-softwareName folders in my home as prefixes. Remember that you do not need to manually create the folders as Wine will create them for you.

For the rest of this article, I will use ~/.wine-example as my example prefix.

64-bit wine

If you are running a 64-bit system, it is likely that your wine installation has been compiled with 64-bit support. Unfortunately, it tends to not be appreciated by the Windows software you'll be using. You will need to you a second environment variable : WINEARCH=win32. If you use prefixes, you just need to precise it at the prefix creation.

WINEPREFIX=~/.wine-example WINEARCH=win32 wineboot -u will create a 32-bit prefix.

Also, make sure you have 32-bit versions of the libs that wine will need, like your graphic card drivers or your sound libraries for instance.


Inevitably, there will come a time, when you'll need to install some libraries. Some of them are harder to install than others. Thankfully, winetricks a a nice wrapper that will make everything easy. I will assume that winetricks is in your PATH, to make the example shorter and more readible. If it's not, just run the script with its path. It has a lot of parameters so take some time to play with it. Here are a few examples of useful commands :

winetricks --help will display some help.

winetricks list-all will display everything that you can install. Use grep to search through it.

For example: winetricks list-all | grep -i directx will look for directx.

winetricks corefonts vcrun6 will install the corefonts and vcrun6 packages.

Of course, make sure that you have set your prefix via the environment variable or else, it will use the default prefix.

A few scripts and advices

Launch scripts

I like to be able to launch my wine programs with a simple command. That's why, I've added to my PATH a ~/.wine-scripts where I keep launch scripts for my programs.

Here's my template:



Variable secion

export WINEPREFIX=/home/reihar/.wine-mySuperSoftware

Always cd into the right folder

cd "/home/reihar/.wine-thief/drive_c/Program Files/Steam/mySuperSoftware"

Finish with the program call

wine mySyperSoftware.exe ~~~

Always check the Appdb

The Wine Application Database or Appdb, is a compatibility repository that contains test results and instructions on how to run software with Wine. It's community-driven so everyone can contribute.

Read test results, howtos, frequent isues and a few comments and you'll have a good idea on what to do.

A few words about mono

I've briefly mentionned mono earlier. Although you can use mono in wine, you might want to try to run .NET applications using mono directly before using wine. It works pretty often.


I don't really have a conclusion. Try using wine. It's cool and relatively simple ;)

The Half-Life 2 Cinematic Mod

posted on 2014-07-06

Half Life… There is so much to say about these games that I'll almost don't know where to begin. I love Half-Life. I discovered this game years ago, sometime during my (pre)-adolescence and I was astonished: it was awesome! Still, there are people considering it the best FPS ever made, even, the best game ever made. I, personally, wouldn't be able to say whether it or Duke Nukem 3D should be granted the title of best FPS ever: that's how good it is.

Half-Life 2 was a worthy sequel. A game like Half-Life having a worthy sequel is so rare that it could be considered a miracle, but after all, has Gaben ever disappointed any of us? After that, Valve released two standalone expansions continuing the series: Half-Life2: Episode One and Two. They were once again worthy sequels and for years, we have been waiting for the final conclusion of these magnificent games.

This article isn't dedicated to those masterpieces. Instead it focuses on the Half-Life 2 Cinematic Mod. A mod that supposedly "Raises the outdated graphical appearance of the Half-Life 2 trilogy to a state-of-the-art level, while giving it a more stressed, darker and minatory look.".

Does it? To answer this question, we'll have to deconstruct it piece by piece.


The soundtrack of the Cinamatic Mod is probably the most insidious part of the mod as I didn't notice its effect until after I removed it. The mod uses various tracks from movie sountracks in order to create an epic feeling to your gameplay and I must say it's mostly working. I only was able to find this forum post about where it came from.

Normally, one would think giving an epic soundtrack to an awesome game like Half-Life 2 would be perfect. Except it does not really work that way. Half-Life 2's soundtrack was very close to the action, sometimes environmental, sometime electrically awesome when it needs to be. That use of music was really fitting to the action, in a way that Alfred Hitchcock would have certainly appreciated.

I only noticed that when I finished my re-run, with Episode 2, after I removed the Cinematic Mod. But the original soundtrack in Episode 2, felt way more powerful than the epic-oriented replacement soundtrack of the Cinematic Mod, when I played Half-Life 2 and Episode 1.


As far as HD mods go, graphics is usually their strong point. This one makes no exception in the way that's how it is advertised and that it is indeed overall pretty. Unfortunately it is not perfect and ultimately, it just ruins the experience too in several ways.

Byb the way, there might be a few light spoilers in the next sections, nothing heavy but still, be careful if you've never played the games.


The Cinematic Mod adds a lot of graphical effects to the games, mostly lighting ones. The result is pretty yet unbalanced: in the dark sections of the game, you need to use your flashlight a lot more which makes you pause a lot more to recharge it, whereas outdoor, you are often blinded by the sun. It becomes especially dramatic near the end of Half-Life 2 when you need to deal with flying as well as on feet ennemies on rooftops. I had to tweak the graphical options a lot in order to be able to complete this sequence.


Most of the textures are nice, although not alway the close to the originals but I've seen HD mods doing worse things. Unfortunately some of them are rather strange, very strange. Please not that these screenshots have been found on the Internet as a matter of illustration, but these problems still are here in the last version of the mod. they might also have been compressed and do not necessarily reflect the graphical fidelity of the mod.

Characters Models

The mod, comes with the ability to replace character models. I didn't even try to play with them. When I say these models, I automatically decided to replace the original ones. It's like the author of the mod didn't even try to respect Half-Life. Alyx, which received the highest amount of work, and therefore, the highest number of models, lost all of her personality, to just become a sexual object. Here a few screenshots.

Alyx 1, Alyx 2, Alyx 3, Alyx 4, Alyx 5.

Alyx is one of the best female characters in video gaming: she is strong and independent, not a weak a feeble woman that you have to save over and over again. During the games, Alyx shows a range of credible emotions that makes her compelling. She also isn't here just to make Gordon look good. No, she is a complex and interesting character with strengths and weaknesses which makes here really likeable as a character. Now, look back at those screenshots and then look at this picture of the original character. I think there is nothing more to add.

Just in case someone ask me later about it: the Cinematic Mod's Alyx is modeled after the Brazilian model Adriana Lima, mostly known for her work with Victoria's Secret and Maybelline.

Bonus: Dr Breen.


The Cinematic Mod comes with a few gameplay options, some of them disabled, other enabled by default. A few of those enabled ones are weapon model replacement, ironsights and aiming features, and reticle removal. Those options are unfortunately gamplay-breaking. They affect the diffuculty on such ways that it is now harder to aim correctly, the game being balanced for the use of reticles, it now is totally unbalanced. That is unfortunate.

I'll skip on how graphical modifications affect the gameplay as I've already said this in the graphics section.

I have one last problem: bugs. There were a few bugs that totally stopped my progression in Half-Life 2: Episode One. One invisible wall and a texture bug that keeps you to see where you're going, making it impossible to progress at at least two places in the game. This is when I decided to uninstall this mod.


UNDER NO CIRCUMSTANCES SHOULD YOU TRY THIS MOD IF YOU HAVE NOT PLAYED ALL THE HALF-LIFE 2 GAMES. If you've already played them and want to to a re-reun of those glorious games, it would be a mistake too. This mod totally pervert the game, ruining every possible aspect other than the story, although I would say, give it time and it surely could do that too.

Arch i686 container

posted on 2014-04-07

Recently, I've been wanting to build package for my not very powerful eee-pc laptop. I just have one problem: all my computers except this one are use a 64bit architecture instead of a 32bit one. So I needed to make a chroot. So, instead of doing that I decided to play a little with systemd containers. Here is what I did.

Install a 32bit arch in a folder somewhere

I've decided to do that in my home folder. First, I made a copy of my /etc/pacman.conf, called pacman-i686.conf, in my home folder with the architecture explicitely stated as i686. So I've changed this line: Architecture = i686

Then, I've installed the extra/arch-install-scripts package.

After that, I created a folder and used pacstrap to install a basic arch in it using my custom pacman-i686.conf file. I use sudo because I'm lazy but you can do that using your root account, you just need to change your paths accordingly. Also, please disable the multilib repository, it won't work.

sudo pacstrap -C ~/pacman-i686.conf -c -i -d ~/i686 base

The first option, -C ~/pacman-i686.conf will allow you to choose a pacman.conf different than your host's /etc/pacman.conf, the second one -c uses the host's cache instead of the target's so that you can remove it more easily later and managing like the rest of your package cache. The -i option will disable auto-confirmation of packages so that you can choose what you install. And last, the -d option allows you to chose a non-mountpoint directory.

Starting the container

Simply use that command, the same thing about paths, sudo and root stays valid. sudo systemd-nspawn -bD ~/i686

It is now working. Login as root, there is no password. You might now want to install stuff, build packages, etc.

For some weird reason, my guest pacman.conf architecture was set on auto and it tried to install 64bit packages, probably due to my host, be sure to change it to i686. Make sure to synchronise your pacman databses with pacman -Syy to make sure you don't have any x86_64 packages.

Managing the container

The first step we have to do is to symlink the container to /var/lib/container/. Again, paths, sudo, root.

sudo ln -s ~/.i686 /var/lib/container/i686

I had to create /var/lib/container.

Now, you can see your container using machinectl list. Don't mind my prompt.

``-> % machinectl list MACHINE CONTAINER SERVICE i686 container nspawn

1 machines listed.``

You can now do fun stuff. man machinectl

Remember that you need to launch the machine using systemd-nspawn. Like that in the case of our example :

sudo systemd-nspawn -bD ~/i686

Edit: 2014-10-26

You can also use systemctl to launch the machine. Just use sudo systemctl start systemd-nspawn@MyContainer.service, in our case, the service is systemd-nspawn@i686.service. It will start and be listed in machinectl's list. You can also enable the service to start it with your computer.


Mostly Arch's Wiki, pacstrap --help, and man machinectl

The No-Bullshit Approach

posted on 2014-04-02

Life is short, life is complicated, life is exciting yet sometimes boring. But why is that? What can possibily make your life boring and complicated? Bullshit. So here is some advice : avoid bullshit whenever you can, you don't have time for it. How? Let me present you the No-bullshit approach! Also, table of contents.

What is The No-Bullshit Approach ? {#no-bullshit}

Whenever you are trying to solve a problem, you usually try to identify possible solutions and you pick the most viable one. Your criteria may vary but usually choose the one with the efficiency/simplicity ratio the best fit for the situation.

The no-bullshit approach is simply the fact of trying to identify any possible source of bullshit and neutralizing it. It might make your problem solving more difficult but ultimately it will make your life way more pleasant.

Let me give you a few practical examples.

Practical Examples {#examples}

Documents {#documents}

PDF {#pdf}

The Portable Document Format is exactly what the letters stand for a portable document file format. It is relatively sanely documented and standardized. Even if its implementations are sometimes lacking a few bleeding edge features, they all are usable and will display your document in a non-broken fashion. Plus, everyone has a pdf reader. You cannot say the same thing about, let's say… Microsoft Office Documents. So if you need to share documents with other people. Please : use pdf, it will just make your life easier. By the way, try to avoid Adobe Reader, it's a major security breach and I'm sure you don't want your computer to be part of a spam farm. You can get a pdf reader that doesn't suck here.

LaTeX {#latex}

There are only a few things in this world that can top my hatred for Office Suites, and more specifically Word Processors. They are terribly inefficient, while being the bastard children of incompatible paradigms; everything you want to achieve with them feels like you're trying to cast some voodoo spell.

LaTeX on the other hand is a Markup Language for the TeX typesetting system, which is based upon reason. It requires mastery but every objective that you have will be achieved through logical means. Everything makes sense.

I'll probably write about all of this in a dedicated article someday but I guess I can say that LaTeX changed my life. I can now happily write documents and focus on content without being overly depressed by the amount of bullshit I had to deal with every time I wanted to do anything. There is no hope with Word Processors. Only despair.

Transportation {#transportation}

Train tickets in France {#train}

If you want to travel in France, it's likely that you will consider using trains. The company SNCF has a pretty nice monopoly and of course an excellent quality of service… However beware their website,voyages-sncf, for it is an abomination! I even knew someone who used to look at train times on the German Bann train company because of how much voyages-scnf sucks. Fortunately, there are a few companies selling train tickets, including Capitaine Train. It's a website with a clear and minimal interface that only sends train tickets, nothing less, nothing more. And it changes your life! Suddenly, buying train tickets becomes pleasant again, bullshitless.

I feel that sometimes, pictures are necessary. Here they are: voyages-sncf - Capitaine Train

As you may have not noticed, these screenshots are slightly edited. The green frames symbolises useful and necessary features, the yellow ones are for the nice yet unecessary features, red is here to show us waste and unpleasantness: none of these frames are actually useful, plus, they slow down everything by containing pictures, Bla… Darkness (yes, it is a color now) symbolizes advertisement, something that should never be on such websites, and magenta is the color I chose for editing out personal information.

I only have a few things to say: what the hell is wrong with the psychopaths that designed voyages-sncf? Are they still running free? Have they been arrested? committed? Honestly, I do not know the answers to these questions, and I am afraid to learn the truth. But one day… I will have to, if not for me, for the sake of mankind, because someone has to.

Communications {#communications}

Phone carriers in France {#phone}

As far as phone carriers goes, none of them are good. You just have to try to choose the lesser evil and hope for the best. For a very long time, there were only three MNOs in France. It's only recently that a fourth one appeared because lack of competition, politics, bullshit, etc. That fourth one is called Free Mobile. Its network is terrible, it does filtering like most phone carriers, their support isn't especially good, but they don't have plan commitment periods: you stop your contract whenever you want, they don't sell you €2 phones and then hide credit in your plan fees. It's not a no bullshit alternative, but it's certainly a less bullshit one.

Operating systems {#oses}

GNU/Linux {#gnulinux}

Imagine an operating system that would give you total control over your computer. Imagine an operating system that can make you responsible for its failures. Not some obscure sub-routine hidden deep inside its entrails but the programs you chose to run and how you failed to configure them.

When a GNU/Linux, fails, most of the time, it's your fault. When, let's say… a Windows or a Mac fails, it's some obscure arcane that you have no influence over that failed.

Debbuging linux is not some obscure voodoo, it is SCIENCE.

Do yourself a favor, read about GNU/Linux.

tl;dr {#tldr}

Whoever you are, wherever you have, whatever you do, always remember, plan to avoid bullshit. Don't choose the easy path, don't choose the cheapest path, don't choose the lazy path, or else the bullshit will come for you, or else, the bullshit will end you.

Oh by the way, this article might get edited in the future if I get more ideas.

Batch Document Conversions with Libreoffice

posted on 2013-12-21

A few days ago, I was having trouble with some powerpoint documents I was given. I needed to read them on my netbook while traveling. The problem was that my netbook is a magnificent Asus eeePC 701 which, of course, isn't powerful enough to run libreoffice. So I had to convert them, but with what ? I didn't want to use Libreoffice to open each documents and export them to pdf : there was a dozen of them ! And then, I discovered libreoffice headless mode.

Headless Mode

Documented almost nowhere and hidden inside the libreoffice man, there is this option : the headless (Without GUI) mode. So how do you use libreoffice headless mode ? It's pretty simple. Open and terminal and type :

libreoffice --headless anyParameterYouWant

File conversion ?

libreoffice --headless --convert-to DestinationFormat[:OutputFilterName] File…

So if you want to convert all your .ppt files in your lol folder into nice .pdf files, you just have to type :

libreoffice --headless --convert-to pdf lol/*.ppt

Filter list

So, what is this OutputFilterName ? Well it's apparently the name of the dialog used for export. Normally, you shouldn't need it but just in case here is all the informations that I could find on it :

Libreoffice's documentation being what it is, I was unable to find anything in it. However, I found a list from Open Office 3.0's (So, before the fork) documentation.

May the Force be with you.

File formats

What can you convert to what ? Basically, you can import anything that libreoffice an import and export it to anything libreoffice can export.

Once again because of the magnificense of libreoffice's documentation, I invite you to read the list I previously gave.

May the Force be with you.

Runing two libreoffice instance

In order for your batch conversion to work, you need not to have a libreoffice instance already running. That's kind of bothersome, you know. What if you want to work on your thesis (although, you must be crazy to want to write a thesis using Libreoffice ( or Open Office, or Microsoft Office), you should use serious tools like LaTeX) and convert a batch of documents at the same time ? Well, if you don't know this trick, you are doomed.

In order to acomplish this, once again, poorly documented trick, you need to use a libreoffice environment variable to make libreoffice use another profile. You need to add the following command parameter into the mix


For example, this will create a hidden .libreoffice-alt folder in your home :


And then, the whole command :

libreoffice --headless -env:UserInstallation="file://$HOME/.libreoffice-alt" --convert-to pdf lol/*.ppt

Ok, I think it is time to make this easier to manage.

Libreoffice as a serice

Now is the time when you start thinking I am mad. Maybe I am, however, if you continue reading a little while, you will understand why it is not such a terrible idea.

Libreoffice offers an API that allows to use UNO to connect and do certain tasks such as file conversions. So, to launch a listening instance of libreoffice you need to add this parameter :


Continuing the example :

~~~ libreoffice --headless -env:UserInstallation="file://$HOME/.libreoffice-alt" --accept="socket,host=,port=8100;urp;StarOffice.Service --convert-to pdf lol/*.ppt ~~~

Notice the StarOffice.Service. I have absolutely no idea why.

Systemd for the win

So, let's make this into a proper service using, of course, systemd.

This is an dirty but working systemd unit file that is licensed under the WTFPL

You can place the unitfile into /etc/systemd/user/ or ~/.config/systemd/user/. For the sake of my example, I will name it libreoffice.service

~~~ [Unit] Description=Libreoffice UNO acceptor

[Service] Type=simple ExecStart=/usr/bin/libreoffice --headless -env:UserInstallation="file://$HOME/.libreoffice-alt" --accept="socket,host=,port=8\ 100;urp;StarOffice.Service"

[Install] ~~~


Now, you need to connect to this UNO acceptor. I recommend you a program called Unoconv. Originally created for Open Office, it works perfectly fine with Libre Office. Normally, your UNO acceptor should be automatically recognized, if not use the -c "connectionString" parameter.

In order to convert a document you need to use the following syntax : unoconv -f FORMAT file…

Easier than that, don't you think ?

libreoffice --headless -env:UserInstallation="file://$HOME/.libreoffice-alt" --convert-to pdf lol/*.ppt


Libreoffice can convert documents using cli. You need to specify a custom environment to do so while using libreoffice to read or edit documents. You can even run a service that way, of course, with systemd too. Oh and Unoconv is a software with a clear syntax but it cannot run if you have another libreoffice instance so you need a service with a custom environment.

Oh and if you need to write serious documents, do yourself a favor and use LaTeX.


I had to do a lot of researches to write this article so here are the pages that were pertinent.

Alan Wake: a case study about game saves

posted on 2013-11-19

A few days ago, I started replaying Alan Wake. Why ? Because it's a really good game; I enjoyed it and I wanted to replay it, but mostly because I hadn't played it in Nightmare mode, which is the real way to play this game. Of course, this point is subject to debate but I consider that if you do not have access to the whole content of the game, then you're playing a limited mode. I will not spoil the game in this article, I will merely describe gameplay mechanics and its saving system. For those who have never played the game, its main character Alan Wake is a writer and you will find some of his manuscript pages in the game. In Nightmare Mode, the game is harder and you can find more pages. I played the normal mode during my first play-through and I was disappointed when I noticed what I missed. Since enough time passed, I decided to replay the game in Nightmare mode.

I had forgotten about how horrendous the saving system was: there is none! The game is only composed of checkpoints! It's also divided in narrative arcs called Episodes that you can replay at-will but even if this is a nice idea, it is not relevant to this article. Don't get me wrong, I greatly enjoyed this game. Sam Lake is an amazing writer and Alan Wake's story is a prime example of a perfect structure and captivating narrative. The gameplay and its rhythm are well balanced and renewed enough that it doesn't become boring. Alan Wake is a great game that deserves to be played. You should probably go buy it. Anyway, it's good but its checkpoint system is terrible.


A brief summary

If you've not yet read my previous article about game saves you probably don't know how much I hate checkpoints. They are an insult to decency, beauty, art, and anything good that humanity has ever achieved; they are atrocious.

Checkpoints deprive you from any choice regarding your saves. You cannot stop your game unless a developer authorized you to do so. You cannot explore possibilities without being afraid of the consequences. Isn't that cheating? Well let's take RPGs for example: what if you're hesitating between two stat upgrades. No, you cannot experiment. What if dialogue choices are ambiguous? Too bad, Bobby's dead now.

Ok, let's admit that my examples were abusing the saving system, which, by the way, isn't a bad thing. What if your little brother wants to play your game? I guess he should buy his own copy...and his own computer...

Alan Wake's case

So what is wrong with Alan Wake's checkpoints? Isn't it just a choiceless corridor game? Well, a lot of them are terribly placed. Why? I guess Video Game studios have budgets and therefore, don't necessarily have the time to test every checkpoint. The reason doesn't really matter. The "why" isn't important: it's just annoying, and it's actually the game's main defect.

What's wrong then? First ammo; near almost every checkpoint you have a small container that has some ammo or consumables. You need to reach the checkpoint, then open the container, then take its contents. At some checkpoints, if you move very slowly, you can open it from a special angle and take its contents before entering

Cinematics, scripted sequences, and dialogues : all of those happen often after checkpoints and before hard fights. And sometimes, a bad camera angle during a fraction of a second is enough to get you killed, even in normal mode.

But guess what? I was playing in Nightmare Mode, which, as I said before, is mandatory if you want access the whole content. Some enemies move fast, some can kill you in two hits while needing more than a magazine to die. So you just need to follow the npc (or just run alone) for 30 seconds, listen, then take the ammunition, then come back to the npc waiting in front of its door, wait for a minute for the scripted dialogue, then start the fight, die, and retry.

All of this could have been avoided with a decent saving system.


Remedy, I love you, but please, stop using checkpoints. It makes dying painful, it makes your game less fun, it prevents my little brother from making his friends want to buy your game, and it kills kittens.

PS : Shadowun Returns

By the way, one of my favorite games of this year also had checkpoints as its main defect. Well, will have had checkpoints as its main defect, to be more precise, because Shadowrun Returns, which was my main reason for writing my previous article about game saves, is going to have a proper saving system with its first DLC so right now, I don't really think there's anything that could stop you from buying it, except maybe insanity.

On ebooks

posted on 2013-09-21

EDIT 2014-08-25: I added a few links.

I love books. I love books a lot. I've loved them since I was a little kid. My parents read me books before I went to bed. They read books for pleasure. So naturally, as a kid I wanted to read books. I was really happy to learn to read. Because guess what, books are awesome. And with a few francs you could get a library card that would grant you an unlimited amount of stories, adventures and fun. Then I grew up and added blood, sex and philosophy into the mix and books were awesome and mature. So yeah, I love books, but how is that interesting?

Well, it's not. It's my personnal life and this is not some teenager's tumblr. I guess, I could make that interesting by writing book reviews, but not today. I however have relatively interesting things to say about the interaction between books and technology but before talking about that, I'm going to bore you a little more with my life.

I am a child of the Internet. At some point after my tenth birthday (I don't remember exactly, not that it's important), my family bought a computer and got an Internet Access. I ended up being its main user. As a result, I grew up with the Internet. It affected the way I perceive technology, art, and even life. It is part of who I am and it is the core of how I conceive and deal with Information. When I talk about art, until recently, there was one medium which was an exception : books. Movies, I could download. Series, I could download. Comics, I could download. But books ? I borrowed and bought books made of paper. Of course, I've always imagined that we would have some cool datapads in the future but I've never imagined that this future would be now.

Because, here we are, 2013 and accessible ereaders are a reality. It has been the case for a few years actually. For the price of 17 books, you can get an ereader which can store hundreds. So, everything is wonderful, right? No.

By the way, just because this article is pretty long and has a lot of headers, here is a table of contents :

Ebooks {#ebooks}

First, let's talk about how ebooks are awesome, especially with an ereader (a non electronic paper ereader is not an ereader, it's a tablet). They are simple and structured. You never lose your page, since the bookmark is saved inside your ereader. No more bookmarks blown away by the wind ! And you get to play with your display. You can make words bigger and change the font. Plus, you can carry thousands of them in a device and sort them by author, genre, series, and etc. You can read any book of your entire library which you can easily organize using awesome software like Calibre. How could I not fall in love with ebooks?

Adobe, why are you so cruel ? {#adobe}

I hope that you didn't think that anybody would come and spoil everyone's fun, right? No ? Good. Well, Adobe did(They're not the only ones, just the ones that are affecting an open standard in the most harmful way), producing a wonderful DRM, or as I like to call them digital handcuffs (Why).

I would just like to remind you that it is not Adobe's first time.

Tu quoque, Amazon? {#amazon}

(Warning, I know I am referring to an apocryphal quote. Do not send me emails about that.)

So what about Amazon ? They surely didn't fail at noticing the importance of ebooks. They even were the first ones to become popular with their Kindle. Well, unfortunately, Amazon is not your friend. On their platform, they have so much power over the user that is would give Stalin wet dreams. Basically, they give themselves the right to collect data on the users as well as deleting content on their customers' devices. Of course, for maximal irony, it had to be George Orwell's books.

Would you trust Amazon ? I wouldn't.

The real culprits {#culprits}

Of course, blaming Adobe or Amazon for creating digital handcuffs would be like blaming Einstein for the creation on the first Atom Bomb : it would be stupid. They are just tools. Those who use them are responsible for the consequences of their use, not the makers of the tools.

Publishers are responsible for the use of DRMs. Sometimes authors too but most of the time they don't have any choice, or they are not aware of the consequences of selling a book with DRMs.

Consequences ? {#consequences}

DRM are intrinsically bad. They are arbitrary limitations on files. Like on which devices you can use them. How many time you can read them ? How you can modify the file ? Who can read the file ?

When are you supposed to read a book ? Whenever the fuck you want ! How are you supposed to read a book ? However the fuck you want ! How many times are you supposed to read a book ? As much as you fucking want !

And about that last question : yes, books are meant to be shared. You can lend it to friends, family. You can, as you read it, hand it over to your friend and say, look at that paragraph, it's hilarious ! So why should you not be able to do that with ebooks ? Because they are files ? Because every time you give the file to someone it's actually an identical copy ? I call bullshit ! You cannot stop people from doing that or else they will just bypass it. Come on ! What's going to stop people from using a search engine, going in the first result and downloading some crappy freeware that will remove those DRMs ? Nothing !

Also, will these ability really kill books ? Or aren't just people going to continue to buy them, especially if they were as cheap as they would cost. Why not set the ebook price to the double of the authors' and publishers' margin ? It would be incredibly cheap. As well, isn't the satisfaction of knowing that the author you like will earn money and be able to write more books if you buy it a compelling enough reaon to buy a book ?

Anyway, I'm giving you a tl;dr for this part : DRMs are evil and pointless.

Am I naive ? {#naive}

So, yeah, am I not an idealist by thinking that this situation could evolve positively ? Maybe. I hope that one day, publishers will realize how pointless it is to lock their contents. It might however be possible, by putting pressure on publishers, by sensibilizing writers to that question ; simply, by bringing light into darkness. It is unlikely yet still possible so I think it is worth trying.

Where to find respectful ebooks ? {#respectful}

Ok, now that I have been boring about the threat of DRMs, do I have any alternative to propose. As a matter of fact, I do.

First, do not underestimate the power of the Dar… I mean Public Domain. There are numerous project of digitalization of Public Domain work, here is a list :

  • The Project Gutenberg contains thousands of public domain books, regarding US Laws. Most countries, especially European ones have better polices so you shouldn't worry a lot.
  • The Project Gutenberg Australia considers that fact most countries do not let Disney set their copyright laws, and have a more realistic Copyright (or Author's right) duration, like 70 years (it's also the case in the European Union).
  • The Roy Glashan's Library seems to be based on the same idea.
  • Wikisource also contains public domain texts, although I don't know which one. Probably, the American one. This link is the English version but it's available in other languages.
  • The Internet Archive also have free texts.
  • I don't know much about Many books except that they're free.
  • Feedbooks has a few free Public Domain and Original books.
  • Books should be free seems to be well named as it specializes in public domain books.

Here is a list of public domain books in French language. It might be of limited usefulness but I'm posting everything I have here.

You can also find respectful publishers. Most of them are small companies but usually offers fair prices as well as DRM-free ebooks. This is not an exhaustive list, just a list of those I stumbled upon.

  • : French publisher
  • Bélial : French publisher specialized in what we call in French Imaginare (Imaginary), a genre composed of sub-genre related to imagination such as Science Fiction or Fantasy.

The FSF is also maintaining a list of DRM-free ebooks here : I strongly advise you to look into it. It is interesting.

Ereaders {#ereaders}

So now that I've talked about files, I'm going to continue with the physical part : ereaders. Remember earlier when I told you about the deletion of George Orwell's books from amazon's devices ? Well, if you do not want that to happen to you, the devices that you use should matter to you. It is important; if there is a store on the device you plan to purchase, you must carefully read the terms of use. To be simple, don't buy Amazon's Kindles, Barnes and Nobles's Nook or the Kobo ereader. As for Sony, e-readers, I don't think it's the case, but my reading of their terms of use was quick.

However, there are brands that I am sure of the quality. Those are Pocketbook, Booken, and Onyx International. They offer good quality ereaders, for a decent price, with great features. They are pretty easy to find in Europe, however, if you live in North America, I wish you good luck. I could barely find some models from them. But you still should try if you're interested.

tl;dr {#tldr}

The ebook situation is mess, full of evil DRMs, thanks to evil publishers and evil platforms. Most ereaders are full of DRMs too and will delete your books if their overlords tell them to. However, there are some good publishers and good manufacturers of ereaders, and public domain. So not all hope is lost.

By the way, I'm joking with my overusing of the word evil. However, you might want to consider the position of the following action on your moral compass : sacrificing the interest of humanity for money.

On game saves

posted on 2013-08-14

The option to save in video games is an important feature to gamers everywhere. Without it, your progression in a game is limited within your gaming session. When you play Super Mario Bros or Prince of Persia, you have to beat the game in one sitting. There's nothing else you can do ! You have to finish this game or to fail. But nowadays, games are longer. Unless you're playing Call of Duty Ghostly Modern Ops 27, you can't beat a modern game in one sitting.

But before I begin to explain the implications of every saving method that I can think of and which one is the best, I shall warn you that I am a PC gamer and that my opinion will be focused on that aspect even though, I'll try to think about good console implementations.

Different types of saves

Level-focused saving

I'll first talk about a saving method which is very limited in application but perfect if appropriate: Level-focused saving. What I mean is that in this case, the game is divided into levels and you have to beat a level in order to be able to save. Sometimes, if the level is linear and long, you can have a few checkpoints in order not to have to restart the level from scratch when you die. However, the checkpoint will not be saved if you turn off your game because you cannot save unless you beat the level. Some games give you a saving ability but it's often meaningless considering that most of the time, you can replay levels and the stucture of the game itself is composed of blocks: you must do everything in a predefined order and you have no choice in the game. In this example, forced auto-saving might be a good thing. It works magnificently well in Super Meat Boy or even in the New Super Mario Bros series. But there's a problem ! It's limited in range. Most of the time, you can't arbitrarily cut a game into levels. If you do, you can't show it to the player or you would break his suspension of disbelief and destroy all your efforts to immerse the player into the game. This is why I think that this kind of saving is limited to a few genres like platformers and brawlers.



Except if it's for saving the seed of a procedurally generated map, maybe… If you're nice…

Manual Saving

Now let's talk about elegance. You are given either a limited or unlimited number of saves and save slots, and the ability to save via a menu. Also, sometimes, you give the option to the player to name the save. That's all. Well not exactly… I've just talked about limiting the amount of game slots and the number of saves. This is something serious that should not be done arbitrarily. You need a reason to limit those. As far as good reasons to limit slots, I can't really think of any except memory space. In the 21st century, this should not be a problem. However, limiting the number of saves in an area, level, or even in the game (that last one is pretty dangerous though) is possible. Let's take Hitman for example: this game was pretty clever about limited manual saving. The number of available saves per mission was dependent on the chosen difficulty. You couldn't save at all during a mission in the hardest difficulty! The game was automatically saved at the end of a mission and you could replay them any time you wanted after that to get a better score. By the way, you can combine save systems. You are indeed responsible for saving your game regularly which can be terribly frustrating if you forget. Thankfully a solution to this problem has already been thought of: Autosave

Autosave !

What is this concept of autosave? An OPTIONAL, but enabled by default, save that happens either regularly or at certain places. Why should it be optional? Because there are people out there that prefer to manage their saves manually and autosave would drive them crazy and immensely reduce their gaming experience.

So I'm going to spoil the end of the article right here, right now. To me, manual saving with the possibility to name your saves with optional autosave is the best saving system ever.


It was a dark and rainy night. The apocalyptically diluvian rain was only covered by the sinister roar of thunder. Sitting on old couches, their leather worn and torn in places, the team was waiting for the power to come back on. Two men on the left were smoking old, humid cigarettes. Mixed to the smell of wet ashes was old but cheap brandy. One man was periodically rising and pacing every five minutes. He was becoming more and more agitated. He had never been one who dealt with stress well. Given enough time, he probably could have butchered the whole room. Not today, because suddenly, he stopped and started to laugh nervously. Everyone else turned in his direction, as lightening struck. "I've got an idea", he said. "We're going to make something grander than anyone has ever done. Ha ha ha ha ha." Lightning struck again, harder, and so, checkpoints were created…

Or at least they probably were created in similar circumstances. Checkpoints were created by an ill mind that decided that saves were either too good or too bad for players and that they needed all freedom and decision taken from them: that they need to be taken by the hand in order to do anything and everything.

Checkpoints are worse than bad: they are an atrocity, an aberration. No matter how hard you try, you can never place them correctly. People will always have to replay a boring part or will not be far enough ahead of the hardest parts to be able to prepare themselves properly. Also, it's impossible to imagine how every player will react. Developers can't put the checkpoints in places that are convenient to each individual player. What is easy as pie for some, is hard as hell for others.

So why? Because players can cheat with saves? Then why not deny them saving under certain conditions like in combat or story-driven sequences? Because it's too hard/complicated/long to save on console ? Children played Final Fantasy VII when it was released: your argument is invalid. No, there is no good reason to use checkpoints.


If you're a game developer and you decide to use checkpoint as a save system in your game, then you're an asshole. Unless you're making a game of a certain genre, like a platformer, nameable manual saves + optional save is the only way.


Rogue-likes and Permadeath-based games

There is one exception to my arguments about saves that I forgot. Roguelikes, and more generally, Permadeath-based games.

Yes, these games are fun. No, you don't need to be masochist to enjoy them. I might write an article about them later. These games are based on the principle that by trying over and over again, you get a better understanding of the game and therefore, you get better. They are based on multiple playthroughs. They have ways to cancel the monotomy of repetition, usually via randomness.

So, when and why would you save in a permadeath-based game ? That's very simple. You will save your game because game sessions can be long : multiple hours long. Basically, saving can take two forms that complement each other :

  • Pause-like save : you stop your game, and you will continue it later.

  • Replays : because every playthrough is a valuable adventure that you might want to remember or tell.

Then, when do you save ? Whenever you want ! There is absolutely no possible gameplay exploitation since the saves are deleted upon loading. And even if you could, it would spoil all the fun of the game.

What about replays ? Well, they are most likely saved upon death so you can replay them. There's also a cool thing that can be derived from that : ghosts. Some games save your dead characters in the form of ghosts that you can meet or that you must fight. I can only think of one : Dungeon Crawl Stone Soup, which by the way is free (both as in free speech and as in free beer).


The only saving concerns you should have about Permadeath-based games, like Roguelikes are saving the game so you can resume later, a thing that you should be able to do at any time, and saving replay, for fun. Oh and try Dungeon Crawl Stone Soup if you like roguelikes.

Blag Intro

posted on 2013-08-09

Hi, I've been wanting to write a lot of things lately and I feel like social networks aren't that good for expressing opinions. So here I am blagging, despite the fact that it reminds me of those terrible teenagers of the begining of this century. I'll try not to be that obnoxious.

I'll be mostly talking about free software, computers, video games and all those little irritating things in life that I want to rant about.

One last thing : there will not be any compensation for the time lost here, sorry.

Unless otherwise credited all material Creative Commons License by Reihar