Another set articles covers the code in more depths:
- https://cybergeeks.tech/a-technical-analysis-of-pegasus-for-android-part-1/
- https://cybergeeks.tech/a-technical-analysis-of-pegasus-for-android-part-2/
- https://cybergeeks.tech/a-technical-analysis-of-pegasus-for-android-part-3/
Source: @ebsauvage
A 40-page Bachelor’s degree thesis on the legendary bit-hacking Quake III Q_rsqrt() implementation:
Le sujet de cette conférence prend le parti d’étudier l’héritage du code libéré d’id Software [...]. L’héritage d’id Software a profondément changé le paysage, la libération du code a alimenté à la fois le monde universitaire et une passion vive chez de nombreuses personnes
la conférence [...] développe une réflexion plus large sur la nature d’un service, le besoin de développer des communautés, la place de la collaboration dans une communauté de logiciel libre, comment des choix de conceptions peuvent induire un état d’esprit qui nourrit la conception à son tour, etc.
En 2005 le code de Quake 3 fut libéré quand il était obsolète d’un point de vue économique. [...] Cette ouverture a permis de nombreux jeux libres, ou jeux avec un code source libre, de devenir des choses autonomes. Nous pouvons citer Tremulous sur lequel Unvanquished est fondé, World of Padman, Smokin' Guns, OpenArena et d’autres. Urban Terror a été distribué avec le moteur Quake 3 open source mais le code du jeu fut toujours propriétaire.
Avec une telle rétrospective, ce qui semble bizarre est découvrir que c’est parce que le code était mort, je veux dire tué, qu’il était possible de l’ouvrir. Donc d’un côté nous avons reçu un code libre et ouvert, mais de l’autre ce code était censé être mort et produire des morts-vivants (zombies).
Dwarf Fortress is one of those oddball passion projects that’s broken into Internet consciousness. It’s a free game where you play either an adventurer or a fortress full of dwarves in a randomly generated fantasy world. The simulation runs deep, with new games creating multiple civilizations with histories, mythologies, and artifacts. I reached out to him to see how he’s managed a single, growing codebase over 15+ years, the perils of pathing, and debugging dead cats. Our conversation below has been edited for clarity.
I reached out to Tarn Adams to see how he’s managed a single, growing codebase over 15+ years, the perils of pathing, and debugging dead cats. Our conversation below has been edited for clarity. If you want more, we also spoke with Tarn on the podcast.
The idea for SQLite actually came out of his frustrations with an existing database called Informix that was installed on a literal battleship
they said, “Well, do you have any pricing information?” “Well, look, I tell you what, let’s have a call tomorrow and I’ll get back to you on that.”
Of course, inside, I was like, “What? You can make money with open source software? How does this work? How do I price this? I have no idea how to do this.”Somehow or another, and I don’t know how this happened, Mitchell Baker, she’s the woman who runs the Mozilla Foundation, she got wind of this and called me up, says, “Richard, you’re doing this all wrong. Let me tell you how to set up a consortium.” She laid down the law, says, “Look, the developers have to be in control. Their decision is final. No voting rights on what gets to go into it. The companies that are using, they get the honor of contributing money, but you make all the decisions.” She was very adamant about this and she laid out everything. She’s a lawyer.
I actually started following some of their processes, and one of the key things that they push is, they want 100% MCDC test coverage.
That’s modified condition decision coverage of the code. Your tests have to cause each branch operation in the resulting binary code to be taken and to fall through at least once.I looked at Git, I looked at Mercurial, and I looked at my requirements and I thought, “You know what? I’m just going to write my own,” so I wrote my own version control system (fossil), which is now a project unto itself, and that worked out very, very well
Source : https://sebsauvage.net/links/
Perhaps the most popular (or infamous) example of a shell namespace extension is the Compressed Folders extension, which handles the exploration of ZIP files. [...] Unfortunately, the code hasn’t really been updated in a while. A long while. The timestamp in the module claims it was last updated on Valentine’s Day 1998, and while I suspect there may’ve been a fix here or there since then (and one feature, extract-only Unicode filename support), it’s no secret that the code is, as Raymond Chen says: “stuck at the turn of the century.”
Unfortunately, there are degenerate cases where the ZIP Folders support really is broken. I ran across one of those yesterday. [...] Windows spent well over a minute showing “Calculating…” with no visible progress beyond the creation of a single subfolder with a single 5k file within. Huh? I knew that the ZIP engine beneath ZIP Folders wasn’t well-optimized, but I’d never seen anything this bad before. After waiting a few more minutes, another file extracted, this one 6.5 mb. This is bananas.
After some small reads from the end of the file (where the ZIP file keeps its index), the entire 11 million byte file was being read from disk a single byte at a time:
Fizzlefade is the name of the function in charge of fading from a scene to an other in Wolfenstein 3D. What it does is turn the pixels of the screen to a solid color, only one at a time, seemingly at random.
antirez suggestion to use a different approach:
http://antirez.com/news/113
Linux load averages are "system load averages" that show the running thread (task) demand on the system as an average number of running plus waiting threads.
The origin of the expressions:
- Yoda conditions
- Pokémon Exception Handling. (you just Gotta Catch 'Em All)
UUIDs came from Apollo !
FROM: http://taint.org
Raytracing