Hello there
Welcome to my bog! You will find my thoughts on video games, programming, FLOSS, and the occasional random subject from time to time.
You might also like having a look at my Gemini capsule's log [HTTPS mirror] where you can find other articles.
Like my bog and want to keep track of it? Just just use my RSS feed (Also available in Atom)!
Articles
Engine change, baby
I did it again. I changed blogging engines again. I was running Astro, got tired of it and wanted to use something else. So here we are, with this fully statically generated blog, using Zola. And I guess a few more surprises.
What's wrong with Astro?
Nothing. At least not for what it does and compared to its competition.
I guess my issue boils down to the fact that it's a Javascript framework with everything that implies. Between a cavalier attitude towards dependency creep and frequent breaking changes, it proved to take more of my time that I was comfortable with.
I still believe it's a great framework that is a step in the right direction for the modern web, and incentivises a static-first approach while allowing for all the bells and whistles of Svelte, Vue, React, or others.
The last major update I did took me a few hours split accross multiple days and I had to replace a build plugin with a shell script. I got tired and needed a change.
Zola, the good, the bad, and the ugly
So here we are, I switched to Zola, Rust-based, compiled and available through my distribution's repositories. It's also a fully static site generator, which is a kind of tool I hadn't used since the last pre-Astro version of this bog with Coleslaw. If you read my previous rewrite article, you'll notice that it was also a major compatibility-breaking update that made me move the last time.
Ultimately, I'll never be satisfied until I write my own bog generator. In the meantime, Zola felt like a comfortable change, which fits my needs in some areas and is more distant in others.
The good
In truth, despite the dramatic subsection title, it's overall pretty good. For the best parts, it's easy to install (for me) but I don't think compiling it would be much of a hassle. It's… blazingly fast. Sorry.
I was also extremely impressed by Tera, the templating engine used by Zola. Please don't compare it with say Vue's templating engine but more with a Jinja or a Twig. We're not rendering pages on the fly, but statically compiling them, so of course it'll do less than Vue's. However, I think that's the first time I ever saw some sort of [component] in that kind of template. It's limited but it's the only example I've ever seen, which is enough to impress me.
Another aspect I quite liked was the filters which kind of feels like piping your variables through a series of filters.
Here's a real example where I turn my article tags into a comma separated list for "SEO". I'm pretty sure they've ignored keywords for at least 10 years or, worse, dereferenced websites because of them. Listen, maybe the reason why I can affort to pay my hosting is because crawlers mostly ignore me?
tags | join(sep=', ')
Or a very terrible way to get a file's name and extension. Don't worry, I choose those files names and am only i because I'm in a loop.
i | split(pat='/')[-1] | split(pat='.')
Aside from Tera, content is markdown files with a front matter metadata header. I can't quite pinpoint who came up with it, it's in the big static generators like Hugo or Jekyll (used on Github pages). And thankfully, you can use TOML instead of having to suffer through YAML.
It's also pretty easy to make listing pages for your collections of articles, called sections by Zola.
You can also have little pieces of data that are easy to manipulate called taxonomies which I guess are aptly named. Zola will also generate feeds, a sitemap, and a lot of other things I'm not using.
The bad and the ugly
As I said earlier, it's a focused tool and limitations I'm encountering might be more of a case of me wanting more than Zola's (or Tera's) fault.
I had wished that there was a way for Tera component to access the page's (or the section's) metadata. I'm usually not a fan of global contexts, but when that data is already available in the template's, it doesn't feel like a stretch.
I would have also liked if there's was a more elegant way when writing a template file to know whether you're in a section index or a page. For now, I'm basically having to check if a page variable exists as part of the context.
I would have also like if you could have used conditions inside of other structures like an assignment.
Here's an example that exemplifies both where I assign two variables. Please disregard the use of a global, I'm using the same variables later in another block.
{% if page %}
{% set_global title = section.title ~ " - " ~ page.title %}
{% set_global description = page.description %}
{% else %}
{% set_global title = section.title %}
{% set_global description = section.description %}
{% endif %}
Now, as for Zola proper, I wish you could define multiple sections without having them impacting the path. You could separate content to remain organized without reflecting that on the user.
I also wish you could declare HTML content for some special pages. Right now I have some empty content markdown files that are only there do choose the name of the path and maybe set a variable or two.
I also needed to check the forums and Github issues quite a bit to scope out what I could do and what I couldn't do. I was able to achieve everything I wanted though, so information was available in the end.
I wish you could add hooks and scripts to Zola. For example, I used to pre-compress my files with Gzip and Brotli so that my server just has to serve them. Files are static, there's no need to re-compress on the fly. A hook running after the build command would be great. I also wish you could run arbitrary scripts like you can with npm (and "friends"). In both cases I can just call shell scripts, it would just be more convinient.
Although this section is longer than the positives, all those are minor, I'd still recommend Zola and/or Tera.
Bits and pieces
I don't have any place where to fit those so here's a few things that may inform your understanding of my opinion.
I don't use Sass on personal projects so I don't know how pleasantly integrated with Zola it is. If I'm at work, I'll use a css preprocessor (or analogous techniques) but my style volume just isn't enough to add a transpiling step to my setup. So all the css is handwritten, so is the html.
The only taxonomies I'm using are my tags, which aren't especially useful considering how many articles I have written but maybe that'll come in handy in 10 years.
I'm not using the default robots.txt nor am I extending it. I just carry around the one I've been using for a while.
My favicon is hand drawn by myself with Inkscape and my mouse. If you know simpler vector graphics software for the uninitiated, please let me know, I feel I need to look how to do anything when I'm using it.
I re-did my whole design and even re-designed some pages like the index. In the upcoming hours/days after the deploy, I'll check the bog with scanners to see if I don't have glaring performance, accessibiliy, or standards compliance issues. If you notice anything, please let me know.
In the same vein, some ressources like my sitemap may have moved as part of the migration. I will strive to apply the pertinent redirects but please also let me know if you notice anything.
Conclusion
Overall, I did enjoy my time porting this bog from Astro to Zola. Everything feels a bit leaner, less complex. My tooling is simpler. The update process is simpler. Building is faster. My templates are also smaller.
I've been busy but I still love writing and I will write again. In the meantime, my desire to make my bog prettier and easier to work with will have to suffice. But maybe next time I'll be the one reading your work.
Or read me either leaguing everybody against me or with me
Today (bear with me, I know it's pretty much the dark and stormy nights of essays), I felt like writing. As I begin writing this article, my very own country once again stands on the edge of the abyss. As a result, I decided to come back to the familiarity of my video game rants.
I do not hope to convince, only to express yet another yearning within me. As I have been experimenting with many formats, and touched a bit about this on my Why I write article, I open a window into myself, and wish that this piece is a seed from which more may grow.
What I crave, what I desire, what I long for is better scoped games.
Structure is a lie. Linearity is for weaklings. So I will say the big bad phrase and then immediately proceed to ignore it: I have never once in my life played an open world game that was good because it was an open world game, only in spite of it.
A foray into JRPG land
Now, let's talk about some of my favorite games. And we'll start with Ar Tonelico II: Melody of Metafalica. The second entry in the series being an improvement on all points from the first game, Ar Tonelico: Melody of Elemia, most of the ideas I will develop are applicable to both games. Ar Tonelico 2 is basically my favorite JRPG. It is unfortunately heavy on the anime bullshit and has many questionable elements. I won't talk about those in detail so look up what the games are about before playing them.
Ar Tonelico does a very interesting thing, that was actually prototyped by Gust when they were working on a previous game: Atelier Iris. Ar Tonelico has a similar blend of crafting elements, much less intense than the mainline Atelier Series, along with a more laid back focus on story and battle. The feeling of all of those games almost feel intimate. No matter the stakes, the games feel close and personal, almost cozy. Whether you walk on to Iris' footsteps in Atelier Iris, or you help your close ones on their inner battlefields in Ar Tonelico, these games work on tightly woven worlds. Everything is sort of small, but meaningful. Even on a shoestring budget where they had to reuse so much, you get a feeling of travel and discovery, as every place is important, part of the story and part of you.
How small these games feel is very much part of the appeal. I care about each and every single one of those characters. All those little places and all those little conversations that you have in small cloistered tents, contribute to that intimate feeling of the games. They couldn't be bigger.
If someone had given a trilion yens to Gust, and freed them from any time constraint, those games being bigger would deeply destroy them.
Biting is fun
A turn-based JRPG is diametrically opposed to an open world game. Let's go for something bigger, more open: Vampire the Masquerade: Bloodlines by Troika Games.
Two sidenotes here:
- their archived website is beautiful. I miss the old web
- One day, I will manage to play Arcanum. One day, I will.
Based on the eponymous tabletop role playing game, which has way too many issues but that I love dearly, Vampire the Masquerade: Bloodlines has a simple structure where you go
- through 4 hubs/cities throughout the story
- pick up missions/quests
- and sometimes delve into what are functionally dungeons
The hubs are small and navigable. You remember landmarks and buildings. You know where to go and who to see as you progress through the game. Even I was able to navigate them without any maps. Except for those evil labyrinthian sewers, but hey – that’s an element of gameplay that you don’t have to interact with if you don’t want to
That game, is potentially my favorite game ever, and not just because I'm edgy. The turn of the millennium mood does contribute a bit, I admit. Those "definitely not a metaphor" creatures of the night also. However, the writing of this game is absolutely stellar. Characters are coherent yet flawed, and so colorful. Every single line of dialog is a trip onto itself.
The mechanics are weak: the game developed on Source before Half Life 2 got even released and is a buggy mess that really benefits from fan patches. But despite that, I play it yearly.because the writing just carries the game and because it's incredibly small. Speedrunning it is probably trivial. The game is exactly the length is needs to be. Despite being rushed in production, it doesn't feel too short – even if the last hub could have been fleshed out a bit more.
It's an absolute blast. You should play it, it's frequently discounted so wait for a good opportunity. Just don't play Malkavian on your first run, keep that for your second one, please.
I didn't ask for this
Still not convinced? Let's go bigger. Deus Ex, the OG, the true and only, Deus Ex. It's not my favorite game, but it's probably the best one I've ever played. I even recently started streaming it. If you've never played this game, let me tell you: you are not ready. You start the game and are greeted by that concentrate of pure awesomeness of a title music and then, you start a new game, pick stats you know nothing about (don't pick swimming, it's useless), and head into the opening cutscene.
The game sledgehammers the main story points, quickly and incomprehensibly though a grandiloquent Machiavellian conversation before throwing you, JC Denton, into the game.
Keep your eyes open. Look and listen. So much of the game is told through its environment. It's a masterclass at exposition. You are not only taught about the games themes, you see and experience them. Each character, each line of dialog, each decor choice, each newspaper, each email on the computers or abandoned tablets throughout the levels, is expertly distilling context and meaning to you. The game also blurs the lines between storytelling, character viewpoints, and actual still-pertinent-today political commentary on our very own society. It even criticized the War on Terror before it happened! Nothing is clear, nothing is certain. What is truth and was is a lie? What is a statement, and what is conspiracy theory bullshit is up to you to understand and decide.
Structurally speaking, the game is a succession of maps, serving sometimes as a dungeon or as cities, or both at once. Very open, those let you explore and solve them in as many way as possible. That game manages to reconcile immersion and fun, a seldom seen achievement. Those are, however, carefully constructed maps with buildings, corridors, interactive elements. The scope is very much under control, and is just as big as necessary to convey what is needed.
I could go on for so much longer, tell you about the inventory system again, or the quality of the writing. But all I really need to mention today is level design excellence and scope. Did I mention, you also don't need an interactive map and big markers everywhere to navigate the game? In fact, this is literally the map the game gives you in the first level.

I believe, this is my first inline illustration picture in this blag🎉. I also spent 5min looking through modern search engines for any of the provided maps of any level but couldn't find anything in a sea of Human Revolution results. I'll complain about search engines in another article, maybe.
The point I wanted to make is that you can fully navigate the game with oral instructions, emails, and overheard conversations.
The "World" is now Open
I will now talk about the two latest open-world games that I've played. And contrast their design choices with the previous games I mentioned. Those three games are:
- The Legend of Zelda: Breath of the Wild, a good, but unfortunately, flawed game
- Elden Ring, a structurally strange open-world game.
That game that does not feature Sheik
Breath of the wild is a textbook example of good despite being an open world game, as it takes every opportunity it can to counteract its very fundamental structure:
- Teleportation is somewhat frequent
- You have the ability to glide from high vantage points to skip as much of the navigation as you can
- You get a summonable horse extremely quickly to dash trough content.
As a result, world navigation becomes a glide-and-ride as quickly from enemy packs with weapons you seek, to towns, and dungeons. What makes the world engaging is being able to run through the filler, as quickly as possible to collect interest points and go into engaging gameplay. Like cooking, for example.
The meat of the game, its dungeons, be it the story-necessary gigantic mazes, or the little puzzles, are great, although I personally believe that the major dungeons are blown out of scale and lose a lot of their fun as a result. That is also a criticism of their lack of scoping. Maybe they could have actually worked that disgraceful durability feature mechanic into something engaging if they'd spent less time on making big dungeons.
What made this game bearable was the game making it browsable quickly. And that is exactly why there's a stamina feature accompanied by this dreaded rain to keep you from climbing too much and forcing you again, painfully, to interact with that land, that is way too big and way too overblown. At least Ocarina of Time’s big empty field was short, and its levels were enchanting. I sometimes listen to its soundtrack and am transported back to my discovery of the Zora Domain, the Lon Lon Ranch and so many more places.
And that's sad because I loved the towns, the characters, the music, the little dungeons, even Hyrule Castle. I also loved the flashbacks and the story that was unfolding. I had magical moments and this game touched me emotionally but I really wish I could like it as a whole and not in spite of its main design choices.
How I arrived to Elden Ring
The other recent open world game I played is Elden Ring. The quality of the game is undeniable, it is amazing and one of the best games From Software has ever made. But before I tell you about it, I will talk a bit about my relationship with the previous games from the publisher I played, their level design, and Elden Ring's.
Where we come from
Earlier, I was saying that Vampire the Masquerade: Bloodlines might be my favorite game, but there's another one that might very well be – and that's Dark Souls. I delved into the game and swallowed it whole, unless it was I that was swallowed whole. And over time, strangely, it became my comfort game, I play it when I don't know what to do and this is mostly due to scope. I can fit the whole game into my mind. I can simultaneously be aware of everything I need for a whole playthrough.
And let's talk about the brilliance of its world design. It is a giant interconnected set of levels and it is glorious. I have never seen any world design that could even approach that beauty.
And what to say about level design (or at least those that they had the time to finish coughs Lost Izalith coughs): it is delectable. From enemy and item placement, to each little bit of broken railing that you might fall from, it is very meticulous and controlled. As much as a pain it is, even Tomb of the Giants is carefully designed, has shortcuts, and is actually on the short side. The Swamp has no verticality once you reach it, and you can rush from the bonfire to the boss. Blighttown has optional paths and treasure but even then, is rather short too. Your painful first few attempts will feel like an eternity but in reality, it's not that long and has a rather early bonfire from which it is not that hard to find your way down.
Now comes Dark Souls 2 and I'm lost. It's a much bigger game. Levels are a bit bigger but actually made of clear(ish) subsections that you can explore. I just always need some sort of reference to know where I should go. Although, I think it is mechanically the superior one of all three, combining the careful slow combat of Dark Souls 1, with a much needed polish, adaptability-aside (a much much hated stat within the community). The game also has a special place in my heart, it tried so much, and is full of both successes and failure.
From Software's level design is one of their strengths. Sometimes, they're not up to their best and it's normal: video games aren't hobby projects that can take the time that they need. They have deadlines, and don't necessarily have a consistent quality. Sometimes, they also feel spicy and decide to throw in a real mean level like the Black Gulch or the Shaded Woods from Dark Souls 2. Those levels are evil and only exist to make us suffer, to punish us for [insert here any main reader failing]. They are however extremely short and that suddenly makes them much more manageable.
What applies to levels also apply to enemies and bosses. This is a tendency that you can notice increasing game after game, turning enemies into damage sponges, and culminating in Dark souls 3.
Everything is so big in Dark Souls 3. The maps are enormous mazes and enemies are damage sponges. And on an easy fight, or an interesting map, it's not much of a problem. But when it's not that great, it just drags the suffering on for so long. Not only do I personally prefer the slow fighting style from the previous games, I just find this overscoping of everything in Dark souls 3 tiring. That's my main gripe with the game. They had cool characters, the game is pretty, mechanics are fun, some levels also have interesting ideas but then, everything takes so long that it's exhausting. I very rarely do playthroughs of Dark Souls 3 and it's why.
Where we are going
Now comes Elden Ring, and it is the strangest thing to me. It's like any issue that I had with Dark Souls 3 just disappeared. Mostly. Fuck Malenia, Blade of Miquella. Yes, that was an open world game but it's as if From Software’s gargantuan appetites for excess were funneled into this open world. Every single dungeon/level of the game became manageable again. Their level design was stellar. I was impressed from the first one I tried all the way to the mega castle dungeon: Stormveil Castle. I didn't get lost at all, just exploring little paths, understanding which ones lead to new sections to explore. And it was marvelous. Please note that your mileage may vary, as a good friend of mine, much more adept than me at SoulsBorneRoRing-likes that aren't Dark Souls 1, didn't share the exact same experience with Stormveil castle and found it too big.
But then comes the open world, and overall my thought was the following: they mitigated the flaws intrinsic to the open world format as much as they could:
- Travel fast with your seamless horse summon
- Have a gazillion teleportation points
- Have your radio towers first thing into a new zone.
- Have the zones color coded!
- Put enemies that are clearly too strong for you to progress and almost give your game a metroidvania-like progression as you're funneled into areas
- Put as many interesting encounters as you can into that world to pick the interest of the player
But all those elements are just compensating for that open world. It's just keeping me entertained and challenged enough to not be bored while going to the next actually interesting part of the game.
Take the level design of Elden Ring with the world design of Dark Souls 1 and you'd probably get the best video games of all time. But that's not what we got. And for all the immense quantity of content that we get in the game, it's overwhelming. There's a sort of fatigue that's built from it. I played the game with the meager free time that work allowed me for weeks, maybe months. And that was just one run. There is no doubt about who swallowed who whole this time.
As a result, I haven't been able to play the game a second time. There are many builds I'd love to try, especially with the newly released DLC, Shadow of the Erdtree, but I get this sense of dread as there is so much game to go through: I'm afraid that I'll only have this to play for months upon months. I just wished it was smaller.
So this is my plea. I want manageable games. I want little concentrates of excellence, of weird and awesome. I want fun, not chores. I want understanding, not senseless roaming.
The Half-Life 2 Cinematic Mod - A Tragically missed opportunity
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.
Audio
The soundtrack of the Cinematic 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 soundtracks 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.
Graphics
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.
Effects
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 enemies on rooftops. I had to tweak the graphical options a lot in order to be able to complete this sequence.
Textures
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 very strange. Please note 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 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:

Gameplay
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 gameplay-breaking. They affect the difficulty 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.
tl;dr
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-run 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.
The No-Bullshit Approach: A way of life
Life is short, life is complicated, life is exciting yet sometimes boring. But why is that? What can possibly 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 ?
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
Documents
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 on the FSFE PDF Readers initiative, now defunct.
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
Train tickets in France
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:


As you may have not noticed, these screenshots are slightly edited. The green frames symbolizes useful and necessary features, the yellow ones are for the nice yet unnecessary 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
Phone carriers in France
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
GNU/Linux
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
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.
Moonlight
Late at night, in the dreamlike darkness, the stifling silence of slumber was but a canvas for the delicate glow of the moon. That lunar luminescence was slashing through the solemn respite of the night.
From the bird to the worm, the predator to the prey, all of life was still, a picture of perfect peace. As of life so was the water, undisturbed despite its fullness.
Unmoving were two silhouettes, fixed on each other as if not breathing, deeply entranced. It was as if the forest itself was stopped in contemplation. Droplets defying gravity were married to their lilies as if a single splash would rupture this moment. No wind would push the vines, falling from the trees. No wolf would howl.
Fixed, as if time itself was meaningless, silent as if sound itself was meaningless, no force could move them. Stopped in contemplation of each other, none but them could interrupt this moment.
Then, awakening from torpor, her dark piercing eyes still transfixed, she moved her hand, caressing skin like an alabaster sky sprinkled with countless stars. As she felt the touch, she bashfully averted her eyes which shined like the sea, her sky burning like the ocean. As she trembled, it was as if wind was floating her hair, like dancing flames of a candle.
Suddenly, she pounced, a trail of flames reflecting the moonlight as she embraced her partner, like a whirlwind, mixing straight lines of fire amidst swirling darkness.
Laughter turned into kissing as the peacefulness of the night was broken by the slashing sounds of excitement. Bodies intertwined as waves came rushing to the shore, as owls fled through the moonlit sky.
At last, in place of chirping was only whisperings of sweet nothings, reminiscing and dreams.
No fun, only serious
I've been rewatching Stargate: SG1 (that will be abbreviated as Stargate from now on) lately. It's a show that, despite its many problems, accidentally offered an amazing accidental metaphor for the Iraq war. But on top of that metaphor I will not mention again in this article, it's also a very fun show. Even if substance is often lacking, it succeeded in many very important ways, entertainment-wise:
- A stellar cast both when it comes to its main but also its supporting characters
- Lore, lots of it
- Hey, at least Russians are kind of the bad guys in that one
- Evil characters get cool makeup
- Tone and pacing
Although the writing and depth of its character are not as complex as what we could have hoped, especially from the beginning of the show, they are fun and lovable (and not just because I love Amanda Tapping). You do get attached to characters quickly, and when you combine that with the other elements that Stargate does well, you get a very entertaining show.
I am once again going to rant about the superiority of the episodic format with continuity as the pinnacle of the television series because that's Stargate's format, and that's a huge part of why it works. You see, what Stargate lacks in good writing, it compensates with a relatively good continuity that brings some additional warmth. Complete with a good mastery of tone and pacing, and you get a show that works. I will come back to that last point in a second.
Guess what? You can even skip Emancipation (did you know the writer also wrote Star Trek the Next Generation's Code of Honor?) and other real bad episodes if you feel like it. Mistakes are contained in that badly written episode. Viewing the format through our 2020s lenses reveals an added agency to the viewer: you can just skip one bad episode because it's not essential to the intrigue. You don't have equal part of slug, fun and filler in each and every episode because that's what your 12-hour movie disguised as a series mandate.
Now, let's talk about tone again. The show is rife with humor. Not just in the fun episodes that you're expecting me to talk about from the title of this article, but also in the regular episodes. Our characters joke with each other when they're resting, but also as a way to rebuke the very danger they're facing. And it works. Tension is increased and released at a pace that makes sense. It just works.
Tone is a facet of writing that I feel is often ignored in a lot of modern shows I've tried watching. Humor feels too often artificially inserted, as if some law of writing stated that every 5.37 minutes something funny should happen. Maybe it's because I'm used to cracking jokes in the face of despair myself, but it feels like a fundamental facet of human existence that is so incompatible with the measured perfection of those modern shows.
Don't get me wrong, Stargate is very formulaic too; it just runs on a better formula.
I do feel like controlling your tone became over the years less and less important as we delved deeper and deeper into Prestige Television, as the divine vision was poured straight into your Netflix account in the shape of a 12-hour movie pretending to be a television series.
And now, let's talk about the ultimate relief: the fun episode. You see, between life and death situations, having a little bit of relief on screen helps. But what if this relief was one whole episode? If you've only been looking at those 12-hour movies, that very concept must sound crazy! Throw all that drama away!? You didn't come to watch a comedy. Oh, but you don't get a say; you're going to watch that fun episode and like it. Why? Because it's brilliant. Because it's beautiful. And, because, counterintuitively, it is still dramatic.
What lies at the heart of the fun episode is context.
You are made to care about our daring adventurers through the main episodes, from the important story-making ones to the planet of the week ones. You care about their struggle, their traumas, losses, and fears. You can see their failing relationships and wish them to be happy.
And that is exactly when you're ready for the fun. Suddenly you see our protagonists hallucinate this jester character Urgo due to alien intervention and watch shenanigans ensue. That very episode was the catalyst for this article. It was fun, it was refreshing. And that's far from the only one. Then, in upgrades, our characters are given technomagic super-soldier-making armbands, and shenanigans once again ensue. Oh, and there's a life-and-death situation in there where two characters have to deal with their affection for each other.
Another favorite episode of mine, Window of Opportunity, sees two of our characters stuck in a time loop, Groundhog Day style. The episode features the usual mystery solving, along with once again our early-show recurring tension of a relationship and many goofy moments. At the end of the episode, you learn that an alien archeologist was using a sci-fi mystery artifact in hopes of being able to travel in time to spend time again with his late wife before being convinced by one of our protagonists, Jack, to give up, bringing us back to the death of his son and feelings of loss.
Is fun actually the correct name for this type of episode? Probably not, but it will have to do for now. Despite these episodes having deep emotional moments, they do retain that less serious characteristic and are still wonderful to enjoy.
In order to help me convince you a little further, I would like to mention a second television show that is quite adept at that kind of episode: Buffy the Vampire Slayer.
A few episodes come to mind immediately. Many more are applicable, of course, as these episodes are especially numerous on this show. The Zeppo sees most of our cast fighting their most perilous battle yet. All our heroes? No, not Xander, our episode's protagonist. As a regular, normal human with no supernatural abilities whatsoever, he is not allowed to help in that terrible apocalypse-to-be, despite his best efforts. That is when our action takes place. Xander gets roped up in a solo adventure of his own, where he cruises town with a gang of former undead students of Sunnydale High, hellbent on blowing up that school, Xander's place of study, and coincidentally where his friends are trying to save the world. It ensues a wonderfully ridiculous chase across town where our hero of the day manages to prevent a bomb from going off. In the end, his good deed will forever remain unknown as the character learns that his self-esteem issues were getting in the way of his friendships.
While totally isolated, this episode works mostly as a breather continuity-agnostic episode; however, that is not the case of the following examples that I will give. The season 4 episode Superstar opens on an altered opening heavily featuring Jonathan, a minor character, that has been there consistently through the series. As the episode progresses, we realize that Jonathan has cast a wish-fulfillment spell that reordered reality around himself as this sort of cool James Bond figure. While this is mostly played for laughs, the episode also explores the protagonist-of-the-week's deep feelings of inadequacy and isolation. But as importantly for this essay, it's this character's goofy point of view that brings into light the big bad guy of the season's weakness that our heroes will use in the season finale.
This outlines the value of tonal perspectives when building a narrative, a point at which Buffy the vampire Slayer and its sister show Angel excel. This episode also uses the shifted perspective to work on other characters' relationships, namely Buffy and her boyfriend Riley, as well as foreshadowing later series elements with altered realities and how well another character can blend in pre-existing events.
It's not the only example: in Tabula Rasa, a not-so-recovering from a terrible drug metaphor addiction, Willow casts a spell that makes the main cast lose their memory. This puts them into fun situations where they're trying to understand who they are in quite delectable, silly ways. While the incident is funny at the time, all the characters are caught back by the consequences of their respective actions, especially Willow, whose willingness to manipulate others (or, you know, magically drug her girlfriend) rather than work on her issues costs her her relationship.
But this non-exhaustive list, would definitely not be complete without my favorite episode from the show: "Once More, with Feeling", the musical. I will tell you about my love for musical episodes in a second, but first, I have to explain why this episode is awesome, my love for characters randomly breaking into song aside. In this episode, everyone in Sunnydale uncontrollably starts singing about their deep emotional turmoil, from the random lady getting a ticket to our cast of characters. And let me tell you, this episode is not only entertaining but also packed with development. We get: Buffy going through the motions, depressed after having been pulled from "Heaven" when Willow resurrected her, a yearning for friendly togetherness from Xander, inadequacy as a father figure from Giles, Xander and Anya's failing relationship due to their mutual insecurities, Tara's bliss while under magical brainwashing by her girlfriend Willow (yes, she messes up a lot, to put it mildly, that's treated later in the show) that made her forget all of her mistakes, Dawn's feeling of not belonging and being a dead weight. And that is just focussing on individual character development. We also get the big ensemble songs about the characters going through the fire and the flames, together, while also being completely and utterly lost.
So much comes out of this supposedly silly episode. That does seem to be a constant of good musical episodes. I am not much of a fan of the extremely precarious typical movie format, and find that the limitations brought by the one-to-three-hour format you get in movies and regular musicals make them less enjoyable to me as a result. But musical episodes are in the greater context of a series with established characters and their struggles. It brings a major tonal shift to the show and an opportunity to explore much. This is what Buffy does. This is what happens in the Star Trek: Strange New Worlds' musical episode, which forces many characters to face what they would prefer to remain hidden, along with giving us Klingon K-pop. Even when they don't delve too deeply and mostly stick to previously established themes, like the Daria one, musical episodes still bring a smile to my face.
What I tried to exemplify in this article was how important the freedom to explore different tonalities for a show is. I feel, nowadays, that this is an often forgotten art in the cold, clinical, and perfectly meticulous serious modern shows, where jokes are timed artificially because manuals state that relief must happen. What is lost is the honest exploration of the depth of human emotions—darkness and trauma, yes, but also of joy, happiness, and fun—that grounds characters as human.
Or the I miss the web coda
About 7 to 10 years ago, I heard about Welcome to Night Vale on a now-defunct podcast. Welcome to Night Vale is an audio drama in the format of a local news show from the fictional town of Night Vale. As of 25 episodes listened (in less than a week, I am ok, please don't send help), it's a strong recommendation if that's your cup of tea. One of the sections of the show is "The Weather", where an indie artist's song is showcased, and this is what I'd like to expand upon.
Welcome to the Night Vale, aside from being an amazing show, and not the subject of this article (although if you want it to be, contact me through the usual channels), started about 12 years ago, and being the kind of person that I am, I started listening it at episode 1, now in 2024. At the end of the episode, credits are given for the artists featured in the "Weather" section, and an address where to find them is provided.
I was intrigued by two artists featured in respectively 2012 and 2013. Both of their addresses were unavailable. For the first one, they had their own website. As of this day, the domain name isn't really held by anyone anymore. They have a YouTube channel (the URL is different from the one on their Wikipedia page) and a Spotify account. For the second one, it used to be a Tumblr blog (Is Tumblr a microblogging platform? But isn't microblogging a Twitter-like thing? So it's in the middle? What is Tumblr? What is reality? Who are you and what are you doing here? Why are you holding a jar of mustard? Oh no! What are you doing!?).
It is really saddening that I had to resort to finding the first artist on Wikipedia and finding the Bandcamp page for the second one on the updated transcript of Welcome to Night Vale, instead of just going to the URL that was archived in the recording.
As I mentioned in I miss the Web, I miss the little interconnection of villages: the little communities made of each person having their own little corner of the Web. Both of these artists on the Internet are dependent on private companies that, by their very nature, cannot be committed to the preservation of culture and artistic integrity.
YouTube is… well, YouTube. Listen to a YouTuber talk about YouTube, and you'll have a better idea of what YouTube is YouTubing these days. Spotify, a startup success story, is a publicly traded company that is there for its shareholders. Not that I can find any information about it ever being profitable, it might disappear at any time or stop featuring any artist at any time. As for Bandcamp, they're currently owned by a music licensing company that would have an interest in keeping music published unless it's bad for their main activity, which is being attractive to the business world.
Tying your online presence to the interests of others is risky. It can so quickly turn villages into ghost towns (different from towns with ghosts in them).
This summer, I went to Hellfest, the music festival. As I don't even have Napster money, I won't publicly talk about the Metallica concert I attended. What I can tell you, however, is that I went to see a band called (DOLCH). It was actually awesome, and I would gladly recommend the band.
And look at their website! It is absolutely beautiful. I even think this site has flair and is a good representation of the band. It's a very rare specimen of lightweight WordPress. The homepage took 76 KB to load. There's a section dedicated to their cats! Others are under construction. Their Bandcamp might disappear some day, but this site doesn't.
And what we can do to bring it back
I promised. It's here. Spoiler alert, it's just going to be the usual but it is a direct sequel to an article intended as such from the start. So it's a new thing I'm doing.
That's probably better than most series I'm waiting for, so you have that going for you
-- Alfredo, about the previous article
Have you ever head of the Dead Internet Theory. Have you ever searched for something only to be confused when served barely legible pages full of sponsored linked? You scroll down Google but the real article telling you clearly that wonderful answer never comes. Have you ever spent time on a social network only to find promotional posts and reposts? Doesn't everything look like automated content farms trying to extract shady revenue out of you? The Internet is DEAD dun, dun dun and it's all bots!
In truth, the Internet, or the Web more precisely, didn't die in 2016, but it doesn't feel like it used to. It sure feels different, though. I was a very young teenager when I got my first Internet connection, in the early 2000s. The Web was a very different place. It was bustling with activity. Between old static Geocities-like sites, and blogs everywhere, there was so much to discover. Even big websites were browseable. There was so much to discover, so much to discover.
I wasn't having the best of times back then, to put it mildly. That window into the world was what I needed. It made such a difference in my life, I can honestly say I don't know how much more time I would have had without it. At the palm of my hand was an ocean of possibilities. I could suddenly learn about different people, people I could resonate with. I could discover so many concepts that would have been so much further from reach. It made the cacophony less noisy. It made life worth fighting for.
That's why, when I read "The Small Web" by Parimal Satyal, it resonated with me, a lot. I really recommend that you read it. I remember so many things. So many voices I had heard in this place: the remnants of a long gone creative web I had wandered. Everything, to me, little more than a child, was strange, new, and dare I say beautiful. I remember how common it was to browse website that were written by people, not companies. In France, a lot of ISPs gave you a small hosting space. And people used them. Many of them were even formative for me.
This article is an ode to what was. Who has a website nowadays? I'll rephrase, name a person that is not trying to sell you anything that has a website. Name someone you personally met. I'm a software engineer, I'm paid doing web development, I don't count. Of course I have website: I'm a nerd. Why is every website you browse nowadays so devoid of actual human interaction? Even, and especially social networks. Why do search engines funnel you toward SEO traps and struggle to bring up anything even remotely pertinent. Why is every website you go to trying to track you?
And don't start me on AI! I'll complain about that another day!
Let's get back on track. I really want you to read "The Small Web" by Parimal Satyal. If you want extra credit, read its precursor: Against an Increasingly User Hostile Web too. Did I mention it explains that sensation of "suckiness" that you experience browsing commercial websites, like you're a small animal running around in a cage to the three points of interest that have been placed in there for you? I have to clarify that by commercial websites, I do not mean just websites trying to sell you products. Any website who hosts commercial intentions of some sort is concerned by that descriptor.
The Small Web is that concept of a small personal web, made for humans by humans. And I miss it, and clearly, I am not alone. I want it back. I want that magic of visiting absolute strangers websites and to be delighted. I want revel in the difference of others as I once did, far away from the sterile walled gardens that are social networks. Did you know that, at home, no one can stop me from swearing? I could publish nudes if I wanted to. Don't keep your hopes up though, you'd better wait for Half Life 3.
I hadn't realized that I had been a part of it in some way without knowing. I've had some sort of a personal website/block for at least 15 years although only the last 10 have had a continuous existence that you can still browse nowadays. This blog is a window onto myself. I'll keep it open because I care. And I would like you to do the same. Show the world, show me, who you are. Be amazing, be beautiful, and shout it to the world. Build a personal website, yesterday.
"But making a web site is hard" will you say. And the answer is : it's as hard as you want it to be. You don't have to use a Rube Goldberg machine as your blog generator like I did. I'll write my own for real at some point because that's what engineers crave. Making your own CMS or static generator is like a forbidden fruit: deliciously tempting. But I digress. Making a website can be very simple. It's just a bunch of files on your computer that you move to another computer. And then people ask that second computer to give them your website.
You don't even need any specialized tool!
Literally the default text editor of your operating system will do the trick. Of course, you can use a slightly more elaborate tool to make your life easier. For the programmers reading, yes I could recommend Emacs <3, Vim, or VSCode, but I'm trying to be accessible here.
Neocities (I'll talk about them later don't worry), has links to a few good tutorials. I also can't laud Mozilla's work enough with their Mozilla developers resources (formerly Mozilla developer network), that are listed in the options from the Neocities tutorial list. MDN is a wonderful – resource well written and exhaustive. I use it all the time at work, whenever I need to come back and get a quick reference. Learn HTML and CSS and you'll be good. And try things as you go. You need a surprisingly small amount of knowledge to start making a website.
If you want a bit more of a hands down approach, just download this web page, edit it and you have a web page. link them together with anchor elements and you have a site. My blog has a bit of fluff because I'm extra at time. Here's a very simple starting page:
<!DOCTYPE html>
<html lang="en">
<head>
<title>This is the title of the page that display in your browser's tabs</title>
<meta name="description" content="This is a description that will appear when you share your link on a messaging app, or in search engines, or social networks if you link it there, and many more other places. I'd recommend making it shorter than this example. Think of your reader.">
<style type="text/css">
body {
background-color: Beige;
font-family: serif;
color: black;
}
</style>
</head>
<body>
<h1>This is the main title/heading displayed on your page</h1>
<p>This is a first paragraph, write anything here.</p>
<p>This is a second paragraph with <a href="https://blag.necronomicon.fr/">a link/anchor</a>! This is a second link <a href="page2.html">that links to a page2.html file on the same website</a>. Create a second file with that name on your computer</p>
<h2>This is a sub title/heading!</h2>
<h3>This is a sub sub heading</h3>
<p>And this paragraph is part of the sub sub heading. and just under it is a picture or image!</p>
<img src="https://www.iana.org/_img/2015.1/iana-logo-homepage.svg" alt="Official logo of the IANA">
</body>
</html>
Just make something, about anything. Write about your band, about your recipes, about your life. Share your art, your thoughts, your feelings.
Just be yourself. It doesn't need to be good, it doesn't need to be inspiring, it just needs to exist.
That's great and everything, but I'm sure you're thinking that putting a website on the Internet is very complicated. You need clouds and spells and stuff. Actually, remember when I said you just need to put your website on another computer?
That other computer, sometimes called a server, runs what is called a web server that… serves web pages. So you could do that, just have a computer at home and have people from the Internet come to get your website from it, or you could ask someone else to share their computer with you.
That's most of what you need to get started. Have fun! Change the colors! Look up how to change the colors. Learn more later if you'd like but know that it's yours, and that you made it.
Neocities is the wake of the venerable GeoCities. It tries to recreate the magic of GeoCities with its countless little personal sites. It has a cute logo, a lot of features, and you can even edit your pages online.
You could also join a weird little community and host your website there. You could check out tilde.town, or another one from the tildeverse, or try out Itchi.
It might be scary at first but don't be afraid, read a little, ask for help and you'll soon realize that it wasn't difficult at all.
You could also pay company a few insert currency name and get a hosting space that way too. But do you need to? Do you need to serve millions of requests every fraction of a second? Not really. Do you need to run complex toolchains? Nope.
Now, there's one last point I'd like to address. I could have recommended to just use an hosted blogging platform like Wordpress' but what happens if the site is not profitable and it closes. I know how to get my data back, but it's my job. You'd need to spend a lot of time and do you need your website's home page to be 5MB?
With bells and whistles come a lot of risks and complexity. A lot of the personality is lost. I'm hoping to see a reflection of the writer in their website, not a generic template.
No, the Internet is not dead, Facebook, maybe, but not the Web, nor the Internet.
Why I love writing
I love writing. That's not the only thing I love in life. I also love my wife, our cats, or pizza. Writing is not the only activity. I love playing video games, I write about that quite a lot. I love having interesting conversation with nice people. I love complaining too, which brings me back to writing. I wanted to be an author when I was a child, amongst other dreams, some realized, some in progress, and others lost.
I don't write as much as I'd like. One part of this is inspiration. I write not out of constraint but on matters that passionate me. As silly as and indulgent as it might seem, those things bring me happiness. For every person that tells me they enjoyed their time reading my articles, I smile for I made the world a little better, even for a fleeting moment.
On top of that, I also don't necessarily have the time or energy to write. It's after all an all-consuming activity. I pour big brain time, feelings, passion, and many more parts of me when I write. I'm not saying that like it's something special. Anyone can feel passionate about anything and want to share it with the world. Each and every one of those people can write, draw, sing, anything they'd like and bring a tear to the eye of someone else. It's what the naïve child inside me wants to hope for.
You might have noticed I complain a lot. Well, of course, I would usually respond, I'm French. However, there's more than that. Frustration, anger, pain, are only starting points, from which to build something more personal, constructive, and useful. Because, I'm a person, and so are you, and I'm writing for me, definitely, but also for you. And how beautiful are you, my reader. You are a wonderful breathing, thinking, feeling person. You can love my article, hate them, laugh at them, and many more other emotions.
All those possibilities exist only because I write. I don't even know how many people read those articles besides the few that I send them to and in turn talk to them about me.
I could.
I could siphon that look you gave at my creations into the black holes that are analytics software. Such a thing is trivial. But I didn't, and I won't.
But it's not only about being read for writing itself brings so much. By materializing my words on my text editor, I am forced to think about them: to refine them and somewhat structure them. All those ideas macerate in my brain into the delightfully indulgent articles that now exist. I can experiment with structures, ideas, sounds, and so much more. Creativity is at the core of what make people beautiful and who wouldn't like finding some beauty in themselves?
So now, exploring those infinite possibilities that creativity brings us, I will do something that I've never done before.
Brace yourselves, a sequel is coming.
It is a new way I like to be
On a whim, I decided to give a rewatch a show I sporadically watched on the TV when I was young, Dark Angel. It is not a transcendental show that will deeply alter your life, watch DS9 for that. And you might tell me that it's not a 90's show. Well, you should note that being released in 2000, it is according to the archaic calendar we use, it's indeed a 90's show, and that makes that unrelated reference of a title valid. If you weep at this absurdity, please know that we tried but we can't have nice things, as any passing interest in history can prove.
Back to that show, it's not really that good despite an interesting premise (EMP goes boom, economy goes boom, also chimeras lol) but it is a perfect expression of a kind of feeling that is hard to articulate. I am however going to try very hard as the existence of this article can attest. Decades leak onto each other, what I call 90's is an amalgamation of late 80's to the early 00's.
I will allow myself a brief digression, as this is my blag and I'm in a quite indulging mood as I write those words, and talk about the episodic series format. I apologize in advance to my editor (this is my editor's response: >:( ) for this rant, to which I have subjected her time and time again. I am an avid fan of the loosely-to-strongly connected series of independent episodes. On top of allowing for failures of individual episodes in an otherwise great season/show, it bring forth an incisive time limitation on stories while the length of a season (or series if you're ambitious and well-funded) can let you weave complex narrative into your show. It is, to me, more pleasant by a significant order of magnitude than the dozen hour-long movies we've been getting lately. I must be getting old as the investment into those seem to yield less and less of a dividend as time passes.
Now, for that sweet turn of the millennium feeling. The 90's are in: music, clothing, pop-culture – it's like traveling back in time. Our television shows are even dark and moody, except not really. Due to my love of that now mostly-dead format, I've been gravitating towards older series over the years, and let me tell you something, all that cold, desperate, end-of-the-world cynicism of that time is nowhere near as depressing that the truly crushing vision that we have of our future. All those free-will erasing conspiracies, à la X-files, those feared apocalypses, those cyberpunk worries for an age of technology that would destroy what we are, as species, as a society, they do not reach on any comparable scale how hopeless our modern outlook on the future is.
As horrific are the dystopias of those cyberpunk societies (Read Neuromancer if you want an amazing example of the genre by the way), the failures of transhumanism, or our inability to prevent our own doom, they pale in today's interpretation of those challenges. We're reaching those dystopias, and we didn't get the neon or sci-fi. With our improved understanding of technology and its corporate exploitation leads to horrors whose banality makes them frightening beyond what my sensitivity allows me to bear.
As someone that has been spared from oblivion multiple times by the incredible progress of technology and science, and in turn has always been fascinated by transhumanism and its potential to expand our possibilities, I have found its practical realities seem truly bleak compared to even the darkest horrors we could imagine, because they're not science fiction anymore. Want to become blind at a corporation's whim? Worried about who might have access to your brain? Thinking about how new classes of people to be discriminated can be born? Well, it's in the present you should be looking. The fiction we birth into the world today no longer builds the promise of optimistic or potentially treacherous possibility, only destruction and pain. Technology cannot free us anymore, it can only be our chains.
What about those promised apocalypses of the turn of the millennium? Well, they didn't come to pass. Our inaction in spite of our environment collapse, the rise of geopolitical tensions that does make the cold war truly feel cold in comparison, or the rise of Fascism that is a lot more reminiscent of the 1930s that I'm comfortable with, now those are truly real apocalypses that taint our media.
In comparison of all that, that feeling of those older shows, their themes, hopes and fears, resonate with me in ways I cannot allow the product of our time to affect me, lest I lose myself in sorrow.
Necrophile
Oh Necrophile, you who seek such poisonous outcomes, how can you persist?
You, who would cast Socrates' crime onto the living, only to commit it yourself?
Oh Necrophile, how can you cling to such a hollow existence?
Your speech, a maelstrom of ire and anguish.
Oh Necrophile, how can you?
You, scared of the cacophony of the chaos of the cosmos.
Oh Necrophile, why are you so afraid?
You, who drapes shadows into a majestic life giving light, only for it to truly be the flames of hatred.
Oh Necrophile, why must you deceive that reality that you so nervously deny?
You, who venerates that which you fear the most.
Oh Necrophile, why must you?
You, who in beauty, only see sinful demons.
Oh Necrophile, how dare you?
You, who would seize the origin of the world, only to spawn your macabre legion?
Oh Necrophile, how can you be?
You, who lust after our darkest hours, wishing only to repeat them.
Oh Necrophile, why are you, still?
George
Too slow. How far had George come? How far was George going? The road had been long and without end, it seemed. He didn't reminisce on the past often, instead, he always looked forward. He couldn't, he mustn't, sit still – he had to go forwards, always. That was his only option.
Too long had it been. Too slow had it been. From the ashes of his marriage, he had remained. He had carried on. His failings, apparent, in his jungle, the python proved to be an adder. Alone, he was left. Alone, he kept onwards on his track.
His career, road block after road block. How could he go slower than those around him? He had to go faster, further, even if it was towards a wall.
Yet he remained, himself – and what self!? Alone, against all, he shall press on. Leaving behind anything, everything – as nothing was worthy to be part of him.
Marching on in his mechanized machine of mayhem, his armor of ire, protecting him from anguish and pain. Invincible, he could keep charging, forwards, onwards on that road, so long. Safe, his majestic steed was whispering songs of strength in his ears. Titanic, his colossal dreadnought was crushing away the despair. Powerful, at last.
Cruising his river, faster than ever, he was flowing to the Styx, as no other end meant anything. And yet, too slow it felt. Faster. He had to go faster.
Suddenly, the celerity came to an halt, replaced by the cacophony of stillness. A red sign, a strong line, and in front of him, stopped, was this guest on his river. "How dare they!?" George thought, "Mine! It was all mine!?" No stopping would do. He had to keep going, at all costs, always. And so he blasted his hellish herald: BEEP, BEEP!
Too, much, clutter!
The first real article that I wrote on that blag was about game saves in video games. A piece of information that you don't have if you discovered this article in 2023 is that each and every one of my articles has tags, for when one day, I decide to implement a meaningful tag system on my blag. The two tags of that 2013 article were the following: "videogames", and "rant". The latter of which should be indicative of the content that is to come in this article.
And get ready because ranting is what I do best.
The game save matter was so important to me that, a few months later, when I played a game that exemplified everything that was wrong with checkpoints, I had no choice but to write an article about this game: Alan Wake. As I don't own a computer powerful enough to run its sequel: Alan Wake 2, I have to rely on testimony that the good people at Remedy didn't read my article and heed my advice. Don't worry, dear reader, one day, you'll get Game Saves III, but not today.
It is easy to call out mistakes with the certainty of hindsight. However, those who don't learn from history are doomed to repeat it, be it about game saves, or the subject of this article: inventory systems.
In a lot of video games, you play a character, that will often be able to get items that will almost every time have some impact on gameplay. Eventually, as you play, you will notice that there are limitations set on the acquisition of said items: your inventory has limits. I believe this is a mistake almost every single time.
Not a preference. Not a point subject to interpretation. This is a design mistake.
There are obviously counter examples, and I will come to them, explain why setting limitations, sometimes harsh ones, work within the design and the goals of the game. But for now, I will start by explaining why, by default, setting inventory limitations is a mistake.
To put it plainly, video games are games first. In fact, games that forget that tend to be mediocre or, to be generous, deeply flawed art pieces that fail at realizing their true nature: being games. But, I digress. You play games. Games need to be fun. They can be challenging or frustrating, but they need to be fun.
That's the case with Dark Souls, one of my favorite games, whose inventory system has very few limitations, non unique "key items" have a limit of 99 which take a lot of time to hit. You can carry every single weapon and piece of armor in your inventory without suffering any consequences. What happens once you try equipping items is a different story – but I don't feel one ounce of frustration from the inventory size limits in Dark Souls.
Baldur's Gate 3
Now, one of the inspirations for this article was the inventory system in Baldur's Gate 3. I won't spoil anything about the 2023 Game of the Year, I'll just briefly describe inventory mechanics. Baldur's Gate 3's inventory system is extremely classical for a Computer Role Playing Game (often abbreviated as CRPG). You pick up items, and they are set against a limitation: in this case, every item has a weight and your character can hold a maximum weight based on their stats.
Where it becomes interesting is that Baldur's Gate 3 does everything it can to alleviate this weight system, short of calling it into question. You can give items to your character which all have their weight limits. You can send any item of your inventory inside a storage that you can access (almost?) any time you're not in battle. In fact, it is almost as if Larian Studios was paying lip service to inventory size limits, but did its best to make it meaningless. It is not perfect and there are still a few friction points, like trading. But I wonder why these limitations are even in the game? Is it simply the weight of tradition and of being attached to the Dungeons and Dragons license, whose rules feature said system?
One last thing about Baldur's Gate 3: you can save at any time, including in combat, as you should.
Stardew Valley
Here's an intermediate example before I start getting to games that actually utilize inventory limitations to improve the gaming experience and convey greater depth.
Stardew Valley is an amazing game that can feel like a happy place. It has great music, graphics, ambience, mechanics, and almost made me stick to a genre I can't get into because I have the attention span of a 5-year-old on cocaine.
I don't play many farming sims. I tried getting into Harvest Moon, and wanted to love Rune Factory for its combat hybridization. I spent too much time with Animal Crossing (it might not count because you don't farm much but it's adjacent enough to be in the same box in my head) on the DS for inexplicable reasons to me, and a few others here and there.
In any case, despite who I am, Stardew Valley managed to catch my attention longer that it should have out of sheer quality. Not just because it respected my time, compared to the latest Animal Crossing game, or because it was pretty, but because it was an overall wonderful game.
Now, how does that inventory space work? Not really in a special way, but once you get the first update, which extends its size a little, it sort of gets in the way. The inventory only works to limit the number of items, mostly the number of types of different items, you can carry in order to force you to focus on what you're doing and make choices. This limitation works for about everything. However, after getting that first upgrade, I had the impression that most tasks wouldn't really hit the limit if I stayed focused on doing only that task. Whether I was fishing, farming, or other things I'm probably forgetting, I didn't actually hit the limit.
The only case where it kept being limiting was the caves, a.k.a the dungeoning element of the game, and even then being clear with what you wanted to do helped manage it.
So in the end, inventory limitation was there and it wasn't making the game excruciating. Nevertheless, it didn't do anything to improve the game either.
Deus Ex
Now let's talk about Deus Ex, you know, probably one of the best video games ever made, and I don't see that changing any time soon. Even the best game of the current decade (Yes, I'm talking about Baldur's Gate 3 again) can't get close to it.
I could gush a thousand words about how amazing that game it and I wouldn't come close to conveying what it is or how it feels. I will laud it in the upcoming paragraphs. You will be made to read an apology, unless you can detach your eyes from my hypnotic prose, but I'll do my best to stick to the point.
Anyway, Deus Ex is an absolute masterpiece. No amount of clunk from its gameplay can counterbalance its quality. It is art in its purest most noble quality. Not a "artistic" movie being cut by gameplay or pretty graphics and music that are deemed art despite being part of a filthy game. Deus Ex is a blast to play. How you do so is up to you. What you see and what you do is meaningful and so is its political statements. Because, aside from its tendency to predict the future, it is really talking about the real world. What you take away is up to you, but please, play this game.
Oh, and Alexander Brandon is bae, like young people say these days.
In any case, Deus Ex is one of these games that feature inventory Tetris: your inventory is a grid made out of a limited amount of squares. Each item has a shape that occupies some squares. You have to fit those items in your inventory. A bar of soy meat substitute will take one square. A rocket launcher – take a guess. These systems tend to be annoying, but Deus Ex is a game that is all about choice and making the best of what you have. Getting funding to fight the illuminati is not necessarily easy. There are no shops in the game. Some NPCs can offer items for money, but otherwise, you'll have to find the carefully hidden equipment across the various environments you'll go through.
That's when it becomes interesting. What you pick up matters. Can't fit that glock, upgrade cannister, medpack, and a sniper rifle? Well, take your pick.
The inventory system synergizes with the other mechanics and is part of what makes the gameplay fun. What items you carry with you is a meaningful choice in an ocean of meaningful choices.
Backpack Hero
In that indie game that I've crowdfunded and followed by some time, the game IS the inventory (although… they added a lot more systems since the last time I've played). In this roguelite game, you go through dungeons with a backpack. All your weapons and items are in that backpack and what's in it defines what you can do. I know this sounds like any other game but the core of your gameplay really is your backpack. How you organize your items will create synergies and deeply affect your capabilities.
Logically, setting limitations in that context improves the game. You have to make meaningful choices that will completely change your run. Will you play it safe? Will you bet on getting what you need later? In this game, the game truly is made by the limitations you face as a player.
Now, what ?
It all boils down to a simple point. Does arbitrarily limiting the inventory of the player create fun or an excruciating sense of dread ?
Just like with my game saves articles, I am once again making the points that video games are games. How you interact with your environment is important, how you access sections of it also is.
As I have the certitude that the ability affect the flow of time is a magnifying glass through which you can reveal inadequate level design, limiting your carrying ability must be weighted more carefully than Anubis would your soul.
As lost as the time spent dreaming
I've just watched a small retrospective on the HTC Advantage, running on Windows Mobile, precursor to Windows Phone, released just a year before the iPhone.
From 2023, it looks like a Phone/PDA hybrid. Watching the retrospective, the enthusiastic explanations of the presenter, along with the stylus-powered demonstration, it was hard not to get lost in the fervor. Nevertheless, I was genuinely impressed by everything that could be achieved on this device, including tasks at which modern smartphones greatly struggle.
Of course, almost everything you can do with it is first thought of as productivity tools, things for very important businessmen that are doing very serious and important work, wearing very stern and important suits – like spreadsheets and graphs.
What's truly incredible is how much control is given to the user. It's truly an empowering experience in the same way as the one I've had revisiting a Palm III XE. Every limitation that you feel is technical. Software was trying its best to transcend technical limitations and help the user as much as possible. If I had to explain this, it would be that those devices were constantly in the adoption phase, there was no chance for them to slip into enshittification. Unlike iOS and Android, there just wasn't enough adoption. Change was constant.
A good friend of mine had an HP Pre 3 back in the day. Initially made by Palm, which was then bought (and destroyed) by HP, the Pre 3 was the last evolution of the Pre/WebOS in the mobile space. An impeccable form factor and wonderful physical keyboard, supplemented by an efficient operating system, this phone was, of course, a failure. Yet to this day, my friend still mourns the downfall of the potential bright future, and it also seems to be the case of everyone that has had one between their hands. Pitted against Android, iOS, and, I guess, Windows Phone, incompetently marketed, the Pre line of phones had no chance of survival.
Physical keyboards were going to be a thing of the past! A brand-new world of apps would be ushered in! The futures that could have been were dead and buried. Many tried for different visions and all failed. Even the mighty Microsoft didn't have the ecosystem to fight anymore.
Sometimes I wonder what the world would be like if Apple hadn't launched the iPhone and funneled innovation towards the paradigm we are using today in the mobile space. What if that fierce experimentation of the 2000s had continued while technical innovations like good capacitive tactile displays, improved battery life, and fast mobile data plans arrived.
How would technology have evolved? Were we predestined to for mobile phones to become the arid desert of experimentation that we see today? Was the subvention of OS development by tracking and advertisement truly ineluctable? I am not a historian, but I recall that the idea that innovation happens because society needs it has at least some traction. Gutenberg wasn't a necessity to the printing press. Apple and Google weren't necessities to the worldwide adoption of call-capable portable computers. However, what shape would they have taken had this original sin of infantilizing the user not been done that quickly?
When I see ideas of the past, striving to bring, in some ways, empowerment, to allow new things to be done, I can't help but feel some child-like wonder before the bittersweet feeling of imagining what could have been.
Chasing useless blag optimization or how I spent two hours on milliseconds
Is all I'm talking on this blag is my blag!?
Last Sunday, I had a bit of time so I decided to work a bit on my blag. Let's see what I did and whether it's interesting:
- Added a favicon
- Updated the delivery of the CSS
- Added one media query
- Server updates
Three commits later let's see how it went.
Favicon
By default, Astro, the framework that I use to generate my static blag uses an SVG favicon. That sounded like a good idea. Surely, modern browsers use SVG, right? Upon checking caniuse.com, it seemed that yes, modern browsers support SVG favicons.
If you clicked that link, you might notice that Safari doesn't support them. My personal experience as a web developer has taught me that no, Safari is not up to the standard set by Firefox and Chromium/Blink. It is unpredictable and require unspeakable hacks to get a site to look the same on Firefox/Chrome and Safari, especially on mobile (Note: All iOS browser use WebKit, Safari's rendering engine, as such, I consider that virtually only Safari exists on iOS). Often, the mobile simulation tool of Safari will differ from Safari in the iOS simulator, which will differ from Safari in iOS.
I'm not a kid just out of school, but at the same time I'm not an elder either. I didn't suffer through IE6. It was out of support and due to business reasons my employers at the time "only" wanted IE7 support. Working on full browser compatibility by hand, that was still leagues ahead of handling Safari support in 2023, with modern tools.
So I ended up not caring. My blag doesn't even have JS running in the browser. The most complex CSS features that I use is one media query (that I'll explain in the next section), and a first-of-class pseudoclass. As I fully consider that whatever short of breaking the navigation on Safari is degraded mode, I didn't care about supporting it.
What about older browsers? I believe anything supporting TLS 1.2 should be able to handle SVG favicons or be some edge case that doesn't use favicons like a terminal browser.
What about pin icons on mobile? I don't believe at the moment that my blag is important enough for someone to want to pin it to their phone's home screen. If you do, email me that'll make me happy.
I might eventually implement all those features, as I tend to love needless optimizations and improvements, but not today.
CSS
I decided to look at Google's PageSpeed Insights, a tool mostly aimed at web developers that want to see how much they're shooting themselves in the foot with poorly optimized websites, but that is nonetheless useful when you're still on the lighter and sane side of web development. I jest but I know that not everyone is satisfied with a site as spartan as mine.
I had a few accessibility issues that I'll describe in the next section, but for now, I'll concentrate on performance. I had a score of 100% already but there were still improvements that could be made. I deemed this unacceptable. The biggest culprit: CSS loading. And so it began.
I decided to have fun with deferring the load of my CSS. The Chrome team has a good deferring tutorial. That seemed also like a fun idea so I decided to try it out on a whim.
That was a terrible idea. You see, CSS changes fonts (or in my case font type), font size, and other fun features that might change the size and position of elements, creating… CLS! CLS, short for Cumulative Layout Shift, is that annoying effect that happens when elements of a page suddenly jump around as styles or other elements load. I had become the very thing I wanted to fight. Also, the performance score dived to 99%. Realizing that my style was so bare that there was nothing that could really be deferred, I went back and reverted the change.
In that process, I noticed that on top of my one and only file that was loaded by Astro and bundled by itself (as in the only element of the bundle) automatically, there was one component that I independently styled. That made Astro generate a second CSS file that was in fact also loaded on every page, as this was the header of my site. I simply decided to remove that style tag and add it to the main CSS file. I had saved one request.
One last minor thing that I did was move my CSS file into the public directory. My code is pretty small, doesn't really need to be processed and minified, and I like having simple names to the files that are served. It's minor but it's more in line with how I want my presence on the web to feel like: warm and human.
Media query
Now, for the final point, I have added a media query! 😱 Isn't well written CSS responsive by design and perfect !? Somewhat. My CSS prior to this point made text perfectly readable, both on mobile and desktop. However, as the result of the Page Speed test informed me my "tap targets" (the area available to tap a link on mobile) was low which could negatively impact my SEO. I couldn't care less about SEO, especially Google's but the advice had some merit.
A lot of people prefer reading on mobile and they should be able to click links easily. At the same time, any modification I could come with would impact negatively the appearance of my site on the desktop, and I really didn't want to sacrifice the desktop experience in any way. As it happens, that's what media queries are for. Let's take a look!
@media (max-width: 767px) {
body {
font-size: 1.2em;
}
li {
margin-top: 10px;
margin-bottom: 10px;
}
li:first-of-type {
margin-top: 0px;
}
li:last-of-type {
margin-bottom: 0px;
}
}
I stole that width as to what constitutes a mobile width to Tailwind, a very popular CSS framework, which I am far from being enthusiastic about, but that I can trust on knowing what size a mobile screen is. You might notice that I use a max-width, as this site is desktop-first. Maybe I'll write an article on Tailwind, or on why I care about desktop-first website design in a world of mobile first apps, but that's a problem for later.
I increased the font-size. Increasing it on both desktop and mobile, made the text quite big on desktop but still pleasant on mobile, so this was added to a media query. This change by itself was enough to make all of my links clickable and was satisfying Page Speed, which was giving me the 100% score on SEO, but it was not enough to satisfy me.
You see, I have so far one list that is made of link on every line: my article list on my home page! Wanting to make taping my links easier, and especially tapping the right link, I decided to space out the list elements on mobile only, as it once again made the spacing strange on desktop.
There are different ways, that are very valid, to achieve this result, but I decided to add space around the top and bottom of each element which are not the first or last. It can be written in less lines but this is the representation of the change that makes the most sense to me. I could have used Sass or PostCSS and nest rules to have it look even clearer and concise but honestly? My CSS file is 60 lines with spaces, and pretty empty lines.
No conclusion?
I'm not going anywhere with this article. I had fun improving my blag a little, and thought the points I worked on, how I approached and solved problems, as little as they might be, was interesting and wanted to share that.
So, I re-did my blag or why I did it that way
Wasn't this blag dead?
No, not really. Around the time I stopped publishing here, my life started going faster. Things happen, you face adversity, you overcome hardships, you get rewarded for your efforts, you get setbacks, you repeat the cycle, and suddenly, it's been nearly 10 years. I didn't stop writing entirely, I dropped a few articles into my gemlog (HTTPS mirror), I had other, more personal creative outlets but this blag laid dormant.
Will it fully come back to from its slumber? That is left to be seen. I have however one article, albeit pertaining to the blag itself.
How was this new version made
This new version of my blag has been made using Astro. It's written using the astro component format (and markdown for the actual content) and it's getting compiled into static html/css. At the time of writing, there is no JS being served on the online version and the home page is 5kB.
I've had the opportunity to use Astro in my professional life and I believe for the right project it is extremely powerful and is going in the right direction for the Web. It encourages you to only have as little dynamism in your page as you need, which in my case is none.
Functionally, I could have made this small blag in pure HTML and CSS. The upkeep wouldn't increase much and I would have saved a bit of that "initial" development time. However it does come with a few bells and whistles that are making my life slightly easier at the cost of large dependencies: my node_modules directory is 139MB (for a website!) which is not big by today's JS projects' standards but is larger than most video games from my childhood.
What does it have?
A modular templating system that's actually simple! I can write HTML. I even considered my templating system to be a template folder and a bunch of short shell scripts that would allow me to initialize articles or mash project parts together. In my experience, in the CMS and static site generator worlds tend to be either completely lacking in useful features or so complex that manipulating them slows you down significantly. Getting to that sweet spot is extremely rare. Nevertheless, because Astro is a Javascript framework; I have access to a simple yet powerful templating system. I can write arbitrary code and use it to generate the output I want, seamlessly.
There's also an RSS Feed. It's not anything special to have one but it's a sine qua non condition for me to have a blag with an RSS feed. I want people to be able to subscribe to my blag using an open standard with many implementations.
Next is Markdown with integrated metadata. I'm not refractory to the idea of using another markup language but that characteristic of the integrated metadata within the same file is something I've been wanting for a while. Asciidoc is another example of a good simple human-focussed markup language. Gemtext from the Gemini is also great albeit minimal.
And the last one on my list, at the moment is drafts. It took me 5min to write drafts into the blag. I am not exaggerating. My draft system is literally an optional field in my article metadata and a lambda that filters out drafts.
What does it not have?
The following code was present in the default webpage header template from Astro's default blag template:
<!-- Open Graph / Facebook -->
<meta property="og:type" content="website" />
<meta property="og:url" content={Astro.url} />
<meta property="og:title" content={title} />
<meta property="og:description" content={description} />
<meta property="og:image" content={new URL(image, Astro.url)} />
<!-- Twitter -->
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:url" content={Astro.url} />
<meta property="twitter:title" content={title} />
<meta property="twitter:description" content={description} />
<meta property="twitter:image" content={new URL(image, Astro.url)} />
After a very short reflection, I realized I do not wish for my words to be catered to social networks. I barely expect to be read at all but if I may use that verb, I seek to write articles that are pleasant for humans to read, not for search engines to index or a social network to market. They are after all just websites. I have read many websites, still active to this day that predate those and will still be there afterwards.
I am not one to shun others for the way they communicate. We've seen great art, ways to communicate and social movements come out of this interconnection but I believe they came in spite of the platforms on which they were hosted. People a lot more articulate than I am have expressed the ills of these platforms better than I could do, so I will leave it at the fact that I do not wish to encourage those walled gardens to flourish. Come on, make your own blag, it's fun. Your background could be blurple (Yes, I'm aware the color indigo exists, don't fight me on this, just accept it).
The second feature I chose not to have, or to be more precise not to use is inline pictures. It's trivially easy with the variant of markdown that Astro uses but I simply do not see the point. I like writing and reading. Words are the blood of this blag why would I want clots? I'm harsh, jokingly so, but I had a need for illustration pictures in two of my articles so far. In that case, people can click on those links if they feel the picture will add to what they're reading or they can ignore them, undisturbed.
Words must flow. (Probably not Frank Herbert)
What does it not have that I wish it had?
Less dependencies. Using any Javascript (or most other languages) library comes at a cost. Ecological, security, maintenance, you name it. My needs aren't much, I could write all that I need myself, it would just take a lot more time (and bugs).
Why not use something simpler?
I did, then stopped. The first blag I hosted was running on Wordpress. Even back then, it was a lot, so I started used Dotclear. I found one in the wild yesterday! That made me smile that they're still up. Then I tried other things.
I have no recollections what this blag was running on when I first started it. The Wayback machine tells me I was using Textpress. I don't remember what I liked or disliked about it. That was a decade ago! Then I switched to a static site generator whose name I can't find on the archived version. Then, finally, I moved to Coleslaw. It was great, fun, and then updating it to get the new features after a major version got released became a quagmire, at least in my mind. So here I am with my new Astro-based version.
Why do we do the things that we do? Why be efficient when you can have fun? Hey listen, the plan was to re-write it all in Lisp.
By the way, why blag?
A simple wine workflow
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.
Install
You'll need a few tools. Lets' start with wine.
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 already includes wine. Just install it. ;)
OSX
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 somewhere (defunct link removed), or Macports.
Windows
Why would you want to do that? Because Wine has a better compatibility list than any individual version of Windows.
Winetricks
Winetricks is a script that allows you to get Windows resources 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 on their github release page.
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 mySuperSoftware.exe
That's about it. Of course, 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.
Prefixes
Wine prefixes or bottles are basically your fake windows installation used by one. They contain your registry, your installed programs, your configuration 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 mySuperSoftware.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.
Winetricks, again
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 readable. 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:
#!/bin/sh
#Variable section
export WINEPREFIX=/home/rei/.wine-mySuperSoftware
#Always cd into the right folder
cd "/home/rei/.wine-thief/drive_c/Program Files/Steam/mySuperSoftware"
#Finish with the program call
wine mySuperSoftware.exeAlways 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 issues and a few comments and you'll have a good idea on what to do.
A few words about mono
I've briefly mentioned 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.
tl;dr
I don't really have a conclusion. Try using wine. It's cool and relatively simple ;)
On ebooks
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 personal 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 e-readers are a reality. It has been the case for a few years actually. For the price of 17 books, you can get an e-reader 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
First, let's talk about how ebooks are awesome, especially with an e-reader (a non electronic paper e-reader is not an e-reader, it's a tablet). They are simple and structured. You never lose your page, since the bookmark is saved inside your e-reader. 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 ?
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?
(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
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 ?
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 ?
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 ?
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] 1 contains thousands of public domain books, regarding US [Laws] 2. Most countries, especially European ones have better polices so you shouldn't worry a lot.
- The [Project Gutenberg Australia] 3 considers that fact most countries do not [let] 4 Disney set their copyright laws, and have a more realistic Copyright (or [Author's right] 5) duration, like 70 years (it's also the case in the European Union).
- The [Roy Glashan's Library] 6 seems to be based on the same idea.
- [Wikisource] 7 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] 8 also have free texts.
- I don't know much about [Many books] 9 except that they're free.
- Feedbooks has a few free [Public Domain] 10 and [Original] 11 books.
- [Books should be free] 12 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.
- Ebooks Gratuits
- Nos livres
- Bouquineux
- Livres pour tous : Sorry about the terrible encoding.
- Bibliothèque électronique du Quebec
- ABU : la Bibliothèque Universelle
- In Libro Veritas
- Bibliothèque Russe et Slave : Translations
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.
- Publie.net : 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 on their Defective by Design website : I strongly advise you to look into it. It is interesting.
E-readers
So now that I've talked about files, I'm going to continue with the physical part : e-readers. 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 e-reader. 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 e-readers, 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
The ebook situation is mess, full of evil DRMs, thanks to evil publishers and evil platforms. Most e-readers 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 e-readers, 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.
How I clean built Arch packages for a while
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 explicitly 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 synchronize your pacman databases 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.
Sources
Mostly Arch's Wiki, pacstrap --help, and man machinectl
Batch Document Conversions with Libreoffice: when pandoc is not enough
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 information 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 magnificence of libreoffice's documentation, I invite you to read the list I previously gave.
May the Force be with you.
Running 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 accomplish 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
-env:UserInstallation="file://path/where/you/want/your/profile/to/be"
For example, this will create a hidden .libreoffice-alt folder in your home :
-env:UserInstallation="file://$HOME/.libreoffice-alt"
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 service
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 :
--accept="socket,host=127.0.0.1,port=PORT;urp;StarOffice.Service"
Continuing the example :
libreoffice --headless -env:UserInstallation="file://$HOME/.libreoffice-alt" --accept="socket,host=127.0.0.1,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=127.0.0.1,port=8\
100;urp;StarOffice.Service"
[Install]
WantedBy=default.targetUnoconv
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
tl;dr
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.
Bibliography
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
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.
Checkpoints
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 choice-less 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
Cutscenes, 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.
tl;dr
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 : Shadowrun 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 game saves
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 structure 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.
Passwords
NEVER USE THAT! NEVER! DO YOU HEAR ME? NEVER!
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.
Checkpoints
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.
tl;dr
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.
Edits
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 monotony 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).
tl;dr: the return
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.
A grand introduction to my blag
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 beginning 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.
Prefer reading by tag?