A reflection on the engineer's quest| A journey into a wild pointer
Beyond Blind Trust| A journey into a wild pointer
A few months ago, a video of a private tech conference leaked online. The speaker was Eric Schmidt, discussing tech entrepreneurship, his past experiences, and how to make money today. The transcript of the video can be found here. Frankly, the conference was painful to watch, not because of technical issues, but because of the terrible advice and ideas Schmidt shared. This isn’t the first time I’ve heard such pronouncements from (ex-)CEOs and managers, especially those from Silicon Valle...| Posts on Journey into a wild pointer
Summary by the author… …to avoid wasting energy (and money) on summarization algorithms. " I don’t share the same enthusiasm as the tech world about the current generation of Artificial Intelligence (AI) products because: most of them do not bring value to people (beyond the ’tech enthusiasts’ world), unrealiability and instability are still unsolved issues, they primarily profit big — and often unreliable — companies, they consume excessive energy, ethical and legal challenges ...| Posts on Journey into a wild pointer
Last Saturday, after logging on Twitter X, I came across two tweets from two great programmers I follow. *** Deeply Negative Tweet Alert!!!!!! *** My ASUS Rog Strix G16 super hyper gaming laptop has lasted approximately 1 year before destroying itself. For about a month it has been in a mode where it's impossible to sleep it (and there is no Hibernate option in Windows any more,… — Jonathan Blow (@Jonathan_Blow) May 18, 2024 I bought a Macbook a third of the price of my expensive Windows ...| Posts on Journey into a wild pointer
This blog post reflects my thoughts as a (European) software / apps developer, after the response of Apple about the EU’s DMA. My blog is followed by tech people, and I suppose everyone here knows the subject and just want to read my old thoughts about “what iz goin’ on in da’techie world?!”, but let me summarize briefly what happened recently in the latest episode of “Apple and the DMA”…| Posts on Journey into a wild pointer
I wanted to write about modern graphics APIs at first, how exclusive they are depending of the platform you are developing on (and for), and how difficult to use they are. However, after (over-)thinking about this blog post, I came to the conclusion that this problem could be generalized to all software. This is a very pessimistic view of some people call “modern software engineering”, observed by a 10 years professinal experience engineer and 20 years programmer.| Posts on Journey into a wild pointer
If you know me since a while you know my love for the macintosh and the Apple Silicon chips. Actually my main daily driver is an Macbook Air M2 and I have a Steam Deck next to me which I bought to play Windows games in an handheld format. But, sometimes, I just want to play “old” games on the mac device, which may not be compatible with macOS x86/64, so no Rosetta 2 translation available…| Posts on Journey into a wild pointer
In my last year’s blog post I wrote 2022 was a strange year for everyone I think. I do think, as game developers (or just computer developers), we can agree that 2023 was way worst than 2022, maybe one of the worst year since a long time actually. Despite records sales in the video game industry, and record earnings, the number of layoffs in the field was incredibly high (more than 6000 jobs lost in 2023 only so far, recorded from January to November 2023). Also, E3 communicated a few weeks...| Posts on Journey into a wild pointer
The demoscene The tunnel effect is a pretty old-school effect in graphics programming, coming directly from the demoscene. If you take a look at pouet.net you may find many (many many) examples of a Tunnel effect for different hardware configurations, like this one using 3D raycasting. In this collection of web demo effects you can find and experiment with this effect: https://seancode.com/demofx/. In one of the most well-known demos ever, “Second Reality” from Future Crew, the team prese...| Posts on Journey into a wild pointer
Almost one year ago I posted my advances on “Frame”, a custom game engine wrote in Swift with SwiftUI, and Metal as a backend. From August 2022 to August 2023, I made a journey into two different graphics libraries: Vulkan, and Metal. The new project I definitely wanted to take a deep look into Vulkan for multiple different reasons: i) it is cross-platform, and ii) Vulkan begins to be widely used as a “standard” for game engines rendering backend, iii) I needed to get deeper for my wo...| Posts on Journey into a wild pointer
Last week I heard about a weird behaviour of a C++ program on Twitter. The code is: #include<iostream>intmain() { while (1); } voidunreachable() { std::cout <<"wait... WHAT?!"<< std::endl; } Pretty simple, right? Two functions, one infinite loop, and the unreachable function that is never called… As you might expect the program will run until the user forces the program to quit, without any standard output, no catch at all.| Posts on Journey into a wild pointer
2022 was a strange year for everyone I think. To me, it was a year full of reconsideration, of reflection on myself, the World, and my family’s future. People tend to think that 2020 was the worst year to live recently, I don’t agree at all as I think the worst may come “soon”… Anyway. The blog posts statement I published nine posts this year (10 if you include the one you are reading):| Posts on Journey into a wild pointer
Whoever worked on system programming know that data alignment is very important to save memory space, or avoid runtime crashes casting from a specific type to another. After some months on porting games to console systems, I noticed how data alignment could be, sometimes, a source of errors and a lack of knowledge. I wanted to discuss about data alignment in this technical article. Note: This is the technical stack I used for this article:| Posts on Journey into a wild pointer
Today I wanted to share my advancements on Frame, a game engine I began almost two years ago, for Apple devices only. In December 2020 I played a bit with Swift, SwiftUI, and Metal, on a custom game engine called “Frame”. At that time I was not yet a father, and I had a lot of spare time (too much maybe) to spend on this project. I dropped the project a year after, in December 2021, as it became very difficult for me to focus and spend my spare time on this kind of difficult project.| Posts on Journey into a wild pointer
[10th of August 2022 - Article Update] A friend of mine told me he would not used the word “instructions” talking about the size of a binary program, as there are not only instructions but the ELF structure, the imports, etc. After its review, I changed the word “instructions” to “lines” (even if I don’t really like the word “lines”…). Thanks Eric for the review! :) After going to famous orange website I noticed an article claiming that ‘“Hello world” is slower in C+...| Posts on Journey into a wild pointer
Among all the computer subcultures that exist, the demoscene subculture is, without a doubt, the one that impresses me the most. The demoscene is composed by demomakers, a worldwide network of very creative minds involved in the making of (non-commercial) demos, just for fun. But was is a demo? A demo is a technical and/or aesthetic achievement made by demomakers - most of the time by groups of demomakers -, to show off their programming, visual and musical skills through an innovative comput...| Posts on Journey into a wild pointer
Working in a creative work environment is what I wanted to get into, since I was a kid. First, I wanted to be a movie director (and a screenwriter), writing my own movies screenplays and directing actors to translate the words into images. But, then, I discovered Computer Science and something I would not imagine possible before 2005: I could make money programming video-games… Video-games have seen me grow up, from my first console (the sega game gear) to the last one I bought (the nintend...| Posts on Journey into a wild pointer
Apple Silicon chips on the mac changed everything… except the gaming industry (yet). Even though M1 chips (M1, , M1 Pro, and M1 Max) have been sold a lot (+25% this January compared to January 2021, which had already broke all the records for mac sales), a very few companies updated their actual games to run on M1 chips. Even if a few solutions exist to run windows games on the M1 mac, running a windows VM using Parallels, or translating at runtime all the API calls via Crossover, those pro...| Posts on Journey into a wild pointer
Since a long time now I was interested in learning computer graphics and “do stuff” with computer graphics APIs. I began to work on a very simple Game engine in Swift / Metal last year but I began to switch to a Windows machine a few months ago, and Swift / Metal is not compatible with Windows (and will never be I think). Here, I wanted to go further in exploring OpenGL and / or Vulkan, for multi-platform GL. I choosed OpenGL because I am prototyping with GameMaker Studio 2, and writing s...| Posts on Journey into a wild pointer
Warning This post contains very toxic and negative thoughts about software and “the Industry” in general… Content Last week, I was “congratuled” for having done shit: making a project with a few human resources, a very very very short deadline, no tests at all (because testing is failing “lol”), and a few extra hours to spend in weekends and public holidays to “make it done”. The project does not run well, developers and project managers are all burned out… and this is wha...| Posts on Journey into a wild pointer
People tend to critize developers a lot, but it is not (always) their fault when something goes wrong. I experienced recently very bad adventures with leadership… not me as a leader, but me as a follower. After years and years as a software developer, and a few small experiences in leading interns and a very few software engineers, I would like to draw up a list of advices to beginners / young leaders, not only in software engineering but in overall.| Posts on Journey into a wild pointer
I just discovered a very good dotfiles that contains a lot of hidden features in macOS, or to manage you system through the console. Please check it out here if you are interested in. Thanks to Mathias Bynens for this!| Posts on Journey into a wild pointer
I am a long time Rust user/fan - since 2014 - and I still have some troubles to follow the community in terms of RFCs, or accepted features to be included in an upcoming version of the language. Most of the time, checking for the new features, I have the feeling that I don’t need to use them for my current & past projects… like a purist C / C++ developer who uses the strict minimum of the features to make something great. And sometimes I am wrong.| Posts on Journey into a wild pointer
People tend to believe that free and open source softwares (FOSS) are way more trustable than proprietary softwares… and I want to believe this idea. Unfortunately, the idea behind this blog post is that it is not because a software has a free or open source licence that someone already checked and validated its full source code (including the dependencies)! As an example, how many times did you put a star on a github project without checking the code at 100%? Doing this, you can unfortunat...| Posts on Journey into a wild pointer
This is truly the end of some good indie games… and a security threat. Even with the effort to preserve flash projects, Flash on it's own was a stepping stone for a lot of people, And it paved way for content creation on the internet pre-youtube days. Thanks Flash pic.twitter.com/iBRMvHHAIT — FABINO (@KinoFabino) December 31, 2020| Posts on Journey into a wild pointer
Last week, a very good blog post has been published about how Linux by default is “not a secure operating system”… (kernel actually). I agree with most of the ideas and methods explained in it, but this article has a big issue: the target is absolutely not defined. Unfortunately, this has been posted on hackernews (oops) this morning (iich) and, as expected (ouuh), it has created a lot of comments and criticisms (oh my…).| Posts on Journey into a wild pointer
2020 is nearly over, finally! And what an awful year… The end of 2020 is going to mark a new decade, which often comes with the assessment of the previous decade, but also the common list of soft and strong desires (and illusions) for the next ten years. I have been thinking about what the young me (let’s call him “Young Me”) imagined of 2020 ten years ago… Young Me was in college at this time, in Biology classes, 100% sure that he will spend the rest of his life in a BioComputing r...| Posts on Journey into a wild pointer
The last 30th of November, DeepMind published on their website an article about AlphaFold 2, an Artificial Intelligence that solves with 92.4 GDT, on simple protein structure, a 50 years old grand challenge: the protein folding problem. DeepMind released the first version of AlphaFold in 2018. This first version achieved a score of 58 in the Global Distance Test (GDT) at the Critical Assessment of Structure Prediction (CASP) competitions, which was the highest score at that time. For this occ...| Posts on Journey into a wild pointer
EDIT (15th of November 2020) I made a mistake in explaining that OCSP send in its request the hash binary, which is not correct, and I am sorry for that. Indeed, OCSP send out the hash of the app developer certificate, as explained in this great blog post. Apple released it’s new mac operating system update - macOS Big Sur - yesterday night, a version that introduces a new design, closer to the iOS / iPadOS interface, new security updates (goodbye hacky kernel extensions…), new features &...| Posts on Journey into a wild pointer
if “macintoshgarden” doesn’t give you a smile on your face, I’m pretty sure you don’t know this site… macintoshgarden is an abandonware archive dedicated to supporting the Macintosh computer platform, from the Symantec THINK C 5.0 compiler, to Quake II and the original Snow Leopard build for PowerPC. This website is organized into different categories, according to the categories of softwares you are looking for (development tools, utilities, visual arts graphics, games, etc…), ...| Posts on Journey into a wild pointer
In 2019, I read an average of three books a month, including comic books. Unfortunately, during the lockdown since March, it was difficult to read new interesting books, due to several reasons: no new release; physical bookstores close their doors; people ordered a lot of books to avoid boredom, which has sharply reduced stocks (and the choice of books as well); parcel and mail delivery has been greatly impacted too, and delays have been extended from two days to one month. This strange situa...| Posts on Journey into a wild pointer
As Microsoft last year, the Chromium project team, responsible for the Chromium browser (which is the base of many open source and proprietary projects like Chrome, Brave, or Visual Studio Code), released a blog post last week about memory bugs in Chromium. The analysis The analysis has been based on both past and present 912 high or critical severity security issues, since 2015. Based on those bugs, the observation is clear: The Chromium project finds that around 70% of our serious security ...| Posts on Journey into a wild pointer
WSL, or Windows Subsystem for Linux, was, in my opinion, a game changer for developers, in order to run GNU/Linux utilities on Windows 10. In 2019, Microsoft released a new version of WSL (in insiders builds): WSL2. WSL2 changed a lot of things: instead of emulating Linux system calls, WSL2 proposes a real Linux kernel in a light and very optimized virtual machine running on hyper-V. This enables great file system performance (at least, better than first version of WSL), as well as full syste...| Posts on Journey into a wild pointer
There is a myth in IT. The myth of the “super code monkey”. The “super code monkey” is an expert in everything, in every situation. The “super code monkey” does not introduce bugs when he writes code. The “super code monkey” sleeps at least eight hours every day. The “super code monkey” is young, has a social life, and practice sport each day to keep in shape. The “super code monkey” is an expert in Android and iOS apps development, he knows how to write excellent code...| Posts on Journey into a wild pointer
Last week, Ibrahim Dursun published an article about zero-cost abstractions in Rust. Unfortunately, except for a subpart of the article, this article did not reflect, in my own opinion, correctly what are zero-cost abstractions. Indeed, zero-cost abstractions, or “zero-overhead”, can be difficult to understand and to separate from other compiler optimizations, and can be easily misunderstood. In this blog article, I discuss about this specific feature, and give you an example of how Rust ...| Posts on Journey into a wild pointer
This is for sure the most intimate blog post I ever made on this website, and this blog post was absolutely necessary. Since I was in middle school, I suffered a few years from anxiety, mental depression, but also impostor syndrome. The path was hard, but thanks to my family and my friends, I am feeling a lot better now. Recently, after talking with people in real life or in the internet, reading blog posts, or simply scrolling on Twitter, I do feel that anxiety, depression and impostor syndr...| Posts on Journey into a wild pointer
Thanks to https://github.com/egonelbre/gophers for this sketch Go is known for it’s strong type system, and explicit type conversion. For example, if you have to compare two different values of different types, you will have a compiler error: package main import"fmt"funcmain() { var x int = 0var y int32 = 0 fmt.Printf("%+v", x == y) } If you try to compile this code sample, you will have to deal with the following error, reached during compilation:| Posts on Journey into a wild pointer
If you work a lot with APIs in Go, it may happen you have to work with complex JSON responses… Ok, let’s talk about that using a simple example. Imagine you have to work with the following data structure, which represents a Person data structure (like a real person, no trap) with the following characteristics: the name of a Person object: a string; the dog’s name of the Person object (if it exists): a Dog structure that contains only a string, which is its name; the age of the Person ob...| Posts on Journey into a wild pointer
I became fed up with my electronic materials. The way we evolve, as city dwellers, implies sometimes to adopt a non-minimalistic approach to live: to have one device to make only one thing, to have different devices that can be used to make the same thing, to buy expensive things based on good ads, to buy expensive things based on what you can do (and finally things you will never do), … In 2019, I want to adopt a new approach in my life, which can be simply resumed as: do more, with less.| Posts on Journey into a wild pointer
When you are writing go code, and try to make it more flexible, most of the time you are looking for interfaces. A go interface is a good solution to make your code more flexible, or scalable, and is also a way to achieve polymorphism. As the official go documentation discusses about interfaces, interfaces are “named collections of method signatures”. So, to implement an interface on different structs, you have to implement each interface’s method for a given struct.| Posts on Journey into a wild pointer
Generally, when you want to package your go app, you are creating different packages, inside the same project. The problem is, if you want to use a single internal package, you simply can’t, because you have to import the entire package in order to user a single and very simple feature inside. But, sometimes, you don’t want to use a single extenal package. Indeed, you just want to use a certain number of packages to do a task, and all compatible between them. And this become more complex...| Posts on Journey into a wild pointer
Update 16th of February 2025 I just found out that two articles are pointing to 404 pages: “Déployer une app Phoenix sur Heroku, sans connaître Phoenix”, and “Cinq fausses idées sur le Big Data”. The article about the Julia programming language is still available, but might be outdated. Original article I wrote a few articles for DernierCri about Big Data and Software Development on Medium in 2016 and 2018. Those blog articles has been written in French. This is the list of the blo...| Posts on Journey into a wild pointer
Credits to @ashleymcnamara Recently, I started to use termui in order to build and run a modular dashboard on the terminal. This dashboard will display my daily todo list, some informations about my git projects/repositories, some daily news, etc… I use everyday: a macbook pro, and a GNU/Linux laptop - so, two different operating systems. Even if macOS and GNU/Linux share similar parts, those systems are strictly differents, and I will have to compile the dashboard for each one. No problem ...| Posts on Journey into a wild pointer
XKCD - Artificial Intelligence The more I listen AI enthousiastic people, the more I can differenciate them in ‘10’ very different groups: people who think that AI is a synonym of “strong black magic”; people who are amazed by AI because “come on dude… it’s just maths!”. There is something wrong with “Artificial Intelligence”… I don’t speak about some tech, just the term. Let me explain why, in three different points.| Posts on Journey into a wild pointer
Credits to XKCD I write Python code each day, for personal and professional projects. As I am working on multiple Python projects, old and fresh ones, I have to use different Python versions for those projects, from 2.7.2 to 3.7.0. Also, I want to switch the Python version of my projects very easily and quickly, in case of we have to upgrade the Python version of the software. I am a macOS user, and I use a lotHomeBrew. Unfortunately, HomeBrew is not a great solution to keep a trace of multip...| Posts on Journey into a wild pointer
It’s on - my first blog post for 2018! All my best wishes for this new year, about love, health, and love (quoting Patrick Sebastien, “love is everything”). Ok, let’s talk about something more serious… Today, I want to talk about Rust. Yes, Rust, again. But this time it’s not about something I discovered, implemented or anything along the lines… You know, during the two last years, I tried to “promote” this programming language everywhere, because I strongly believe in Rust....| Posts on Journey into a wild pointer
RustFest is an European event to attempt general talks about Rust, and to meet people from the Rust community. Rustfest 2017 badge RustFest is a two-days event. The first day is a series of talks from the Rust team (in Mozilla) and, predominantly, the Rust community about: the past and the future of the programming language, POCs, how to deal with macros, awesome new projects like 3D games, a gently introduction for developing 2D games (and how easy is it), why a company choosed to move their...| Posts on Journey into a wild pointer
I started my PhD two months ago, on automated ways to classify documents, and I begin to be depressed… Since I started University in Computer Science, I wanted to do a PhD in biocomputing, combinatorial optimization, or machine learning. In CS class, Machine learning was the area I enjoyed the most - so it was natural to look for a PhD in ML. For me, research activities conduct to new innovative techniques, or tools, which have to be tested on real world examples.| Posts on Journey into a wild pointer
Happy new year ! I hope that 2016 has been great for you. For me, 2016 was mixed: good (my internship at Montreal, my graduation and a pretty cool job) and bad times (many assassination attempts and, obviously, the election of Trump). This year, we increment (again) the counter, and pass from 2016 to 2017, and I hope that this new year will be full of love, tolerance and respect. In this blog post, I show you my personal resolutions for 2017. Because, as you know, a new year comes new resolut...| Posts on Journey into a wild pointer
I’m wondering myself about the title of this post, 2 days ago… The first title I chosen was “I’m finished school… and I’m scared!”, but it was not really geeky, and pretty pessimistic. The next I chosen was “The Legend of k0pernicus: A New Scary Adventure”, which was pretty geeky but also pessimistic (again). Finally, “I’m finished with you, Charlemagne!” refers to the end of my school period and, depending on who is reading this post, might be felt as a pretty good th...| Posts on Journey into a wild pointer
I’m a programmer. I use in daily life four main programming languages: Python, Rust, Golang and Ocaml, and I’m very happy to use my Macbook to develop softwares everyday. As text editor, I use NeoVim everyday, and I hate programming languages with dedicated GUIs (like Pharo for example). As daily softwares, I use a lot Docker, Opera, Keybase, AirMail, Dropbox and Flux. I use The Evil (little tribute to trolls…) everyday: a beautiful early-2013 Macbook Air, 8Gbytes of RAM, 128Gbytes SSD ...| Posts on Journey into a wild pointer
Note: These observations are reported in my research report here, and a research paper is currently drafted on this. The source code of this approach is visible in Github. During my final internship at LATECE in Montreal, I developed an approach, supported by a Python framework, to evaluate the energy consumption of Android bad practices, using the source code of the app. This approach is called Hot-Pepper. Hot-Pepper helped us to find that 3 popular Android code smells may be considered as e...| Posts on Journey into a wild pointer
During undergraduate school, I completed 4 research internships and one research project. I learned a lot during those, especially how to reason in order to resolve a science problem. Most of my friends are continuing in PhD. I don’t. Not because I’m fed up but unfortunately for personal motives. Research projects are great for major things like: diversity, creativity, no pressure to develop a working prototype, to be part of the dynamic and awesome scientist community… Really guys, res...| Posts on Journey into a wild pointer
In my previous post, I talk about my joy to program my first operating system from scratch (arOS), using assembly and rust code. Steve Klabnik, initiator of the intermezzOS project, hasn’t explain his own solution to display some text on screen, easily and using Rust. The current code to display some text on the screen is the get the address of the VGA buffer (0xb8000), and to add manually our characters, one by one…| Posts on Journey into a wild pointer
My fascination with computers turned faster as an obsession. I’m obsessed with my machine. Really, I’m not feeling all right if I don’t clean up my machine physically every week, and if I don’t reinstall a new clean operating system each 6 months. Obviously, before each clean install, I overwrite my entire hard drive with zeros… which takes me a full day for a 1 TB hard drive. When I was using a GNU/Linux OS, and before installing a new operating system on my computer, I always look...| Posts on Journey into a wild pointer
Nim is a powerful programming language, developed by a strong and skillful community. Since my post on Twitter 2 days ago, I wrote between 2 and 4 hours a day to program in Nim, and it’s wonderful! I love Python - especially since I discovered the book “Fluent Python”by Luciano Ramalho. Python is a great programming language when you understand how it works, and some useful tricks like list comprehensions. Nim inherited the syntax of Python and the performance of C.| Posts on Journey into a wild pointer
I love watching movies. I see almost four of five movies per week, without any subject restriction. One of my favorite movie director is David Fincher. He is the director of Se7en, Panic Room, Fight Club or Gone Girl. But, above those ones, for me, David Fincher is the director of The Social Network. The Social Network takes part of my ten prefered movies ever. The direction is awesome, actors are awesome, music is awesome and… it talk about tech! I love movies which talk about tec...| Posts on Journey into a wild pointer
In my personal life, I am very inquisitive, and I try to contribute a maximum to free and open source projects. Since I was 15 years old, I’m contributing to a few Mozilla’s projects, like the Firefox web browser, the Firefox operating system or the Rust programming language. I was a free translator (English to French), motivated to make the best documentation as possible, web and software developer, beta-tester, etc… and it was just awesome! So, as I am studying software optimization...| Posts on Journey into a wild pointer
We, computer developers, have to develop our knowledge ourselves every day. This practice allows developers to keep ourselves informed about new technologies, new solutions and security issues. For the majority of developers, this “update” is not a pain. We have choosen to work with computers due to our passion with these awesome machines, and this “update” thing is just the best thing to do to maintaining this passion. You can, every day, consult some great tech news like HackerNews,...| Posts on Journey into a wild pointer
Abstract Skynet is a technology reached by the Terminator franchise. In this saga, Skynet is an artificial intelligence which thought that the Human race is malicious, and has to be exterminated (pretty optimistic…). This artificial intelligence has been developed by engineers to help Humans for some difficult situations but, obviously (we are in a science-fiction movie), the artificial intelligence has developed itself and became aware of itself. People who are afraid of artificial intel...| Posts on Journey into a wild pointer
Abstract Tay is a teen-talking chat bot, built to discuss with people on the internet, specifically on Twitter. This bot is a creation of Microsoft’s Technology & Research and Bing teams, and was released eight days ago. A few hours after the release, this bot has been known as a crazy and racist bot, an Hitler-loving and a feminist-bashing troll. Tay is now off for several days/weeks or maybe months. First, I’m not agree to injure and make some troubles on social networks, or everywh...| Posts on Journey into a wild pointer
Brainfuck > ALL| Journey into a wild pointer
Don't let AI erode your focus.| Journey into a wild pointer
The Vulkan did not explode (yet?)| www.carette.xyz