We are fortunate to have a Handmade event in Vancouver. The format is a mix of presentations and conversations -- if striving for great software is your thing, this is worth checking out.
Posts by Michael Labbé
Public companies needed to convince the world computers were friendly, legible and more efficient than their analog approaches or they would go out of business.
Computers are a given now so those needs are not prioritized. Now it’s about attraction over a competitor.
Printable Base89 LUT Encoding - Embed LUT indices in your utf-8 strings
www.frogtoss.com/labs/printab...
Whatever is next, this is playing messaging games with apps that people use for productivity. That doesn't feel good. affinity.serif.com/en-gb/
Steve Jobs: Part of what made the Macintosh great was that the people working on it were musicians, poets, and artists, and zoologists, and historians
Satya (interpreted): 30% of Microsoft's code is written by a computer that learned to generate code from reddit opinions and incomplete github repos
An educational use for LLMs would be to diff two compiles and explain the changes between them at a disassembly level. You could set up a start checkpoint and then work on making various changes and have it explain the impact of those changes on the code generation.
Late 90s Unix hacker, metal guitarist, competitive deathmatcher Mike has entered the chat!
My unpopular opinion on hidpi monitors is to put them closer to your face instead of using scaling. Now you have more real estate and the font size is the same after factoring perspective dimuntion!
If you are looking at this level of perf need, you are probably considering interning your strings in a precompile step. If your interned strings reside in a heap block of a precomputed size, it's a ptr range check to test if possibly literal.
I prefer the term “Europe One”
As in- “Europe one more country than you were before”
Why is it that there are these handy "Minecraft server operator moms and dads" that host game servers for their kids, but we need a 1.74 trillion dollar company to share our photos and videos with our family members.
The core value of the platform should be commoditized by now.
Some other things that didn't exist when I shipped this messageboard in 2000:
- blogs (this code fingers .plans)
- frontend, node
- remotely affordable multicore servers
- javascript that could update the DOM after page load
- best practices like not logging error messages to the browser
Compiling the L7-stateless http response server into the application code is so much better for maintenance than compiling the application code into the L7-stateless http response server though.
Main difference with Perl is with how we used it back then. CGI response times were >500ms because Linux COW fork() + program startup (even with Autoloader defferring) was slow. So we compiled Perl right into the web server and served requests without clearing global state. Yolo.
We were able to make a bit of money off of ads to keep it running while we worked on Capture the Flag, but missed the dotcom bubble by a hair.
Reviewing the code, it looks like I got the security things right, and this could still be used.
In 2000, I wrote a news posting/threaded forum software in Perl for threewave. At 5.5kloc of Perl, it ran well for 3 years. Things that did not exist back then:
- CSS
- Firefox
- The cloud
- CI
- Stable usb support in Linux
- SSL by default
- Python 2
- SaaS
"I have to switch languages because the one I invested time, knowledge, code and tooling in has a flaw and there is a better one"
Past a reasonable point, the flaw is not worse than the reset.
A good programmer can write good software in a bad language.
Stay the course.
Regarding the youtube/social media systems language wars:
Ship, don't quip.
my left hand while my right hand stays on the mouse. This appears eccentric but it is really comfortable to effectively have the same inputs on every debugger.
I jump between debuggers a lot (VS, Xcode, Remedy) and find the keyboard shortcut muscle memory to be a challenge. The 8Bitdo Micro controller has a mode where it is a bluetooth HID keyboard and you can emit any keyboard keys, so I do the usual step into/over/out/jump to location using it with
We'll probably never get back to the point where user friendly, exploratory, joyous introductions to low level systems exist. Eg. "See MIPS Run", but "The Design and Implementation of the FreeBSD Operating System" is a respectable rundown of how it all comes together.
I daily drove FreeBSD on the desktop for about 4 months in 2020 and it felt like Linux did circa 1996, where the codebases and teams were small enough that the projects were hackable. Linux has netted most of the free OS agendas, but the BSDs persist and are cleanly maintained.
A screenshot of my web browser checking out a Gamecube purchase in 2001 from Future Shop. The last time Nintendo boosted spec without drastically altering the core intent of the console!
Do you make games that have mouse move events? On MacOS, this event code is running up to 8,000 times a second on gaming mice, and you must do your own collation or suffer extremely high CPU both in the OS and in your application.
mastodon.gamedev.place/@michaellabb...
It would be cool if there was an indie-ran OST app that let you explore by composer, organize music by intensity, included stage-appropriate imagery and controlled your smart lights to match the game's visuals at the time the music played in-game. I would pay a monthly fee for that.
Microsoft has never really rang the division bell like they are here. In 1995, Win95 requirements were basically a protected mode 386 which was relatively easy to attain. This time they are EOL'ing computers with 16 and 32-core CPUs from half a decade ago.
This is not business as usual.
more-closed platforms and the continued adoption of ARM hardware, it makes sense for Valve to invest heavily in building support in this area.
Valve's most valuable asset, in my view, is their users' perception of the value of their Steam library. Given that, it makes sense for them to ensure as much of the Steam library works on ARM devices (and anywhere they can, really). Given Microsoft's handling of Windows, the emergence of
that broadly supports hardware and Windows applications.
My prediction for 2025-2026 is that gaming is going to push to non-MacOS arm desktop, and devices like Chromebooks and ARM PCs are going to receive more game library support.
It's likely Valve is aiming to ship SteamOS for a broader set of designated hardware by 2025, which could also play a role here. But it seems to make sense that effort would only be for targeting specific hardware, turning it into a console. Not a general purpose enthusiast OS