markjgsmith

2023/11/24 #

Spirit of computing - Programmer James Sumers' piece A Coder Considers the Waning Days of the Craft from last week laments how quickly the world of computing is changing, and he wonders what computing skills he should try to teach his children. He concludes that skills will most certainly be out of date very quickly, so perhaps the thing to teach is spirit. I like the idea, and it got me thinking wouldn't it be great to have a list of things that coallesce together form the hacker spirit?

What sort of things would be on that list? The first things I though of were things like everything is a file from Unix, but that's probably too specific. I guess we are talking more about philosophy, so like the tenants of open source software. But there are likely a bunch of web specific things. What would be on the list? #

Wasm browser cli - I've been trying to figure out how to run wasm apps in the browser. There are many apps being ported to run on web assembly, and it would be really cool to be able to run these in the browser, because you always have a browser. On the command line it's quite obvious, but in the browser you don't really have a cli. There is the javascript console, but that's not really a cli, and in any case it's not accessible on many (most?) mobile devices.

There are apps like ffmpeg which can be used to manipulate video, but there is also recently many LLMs that run on wasm. I want my static site generator to run in the browser, maybe wasm is the way?

According to MDN's Loading and running WebAssembly code, you have to write some javascript code to fetch and then execute the wasm module. It would be cool if it was easier to run wasm modules in the browser. Perhaps we need a special wasm cli that you can easily load in the main browser window? #

Today’s links:

  • Git branches: intuition & reality - There's definitely confusion in this area, but for me it isn't around the concept of a branch. I'm happy with my mental model of a branch. However I've always been confused by the concept of a rebase, while I'm happy with the idea of a merge. Though the article was looking at it from a different angle than I would have liked, the diagrams midway through that compares a simple rebase with a simple merge make a lot of sense. The rebase basically squeezes in all the latest commits from main, shoving them below the common ancestor, thus re-creating the base that the feature branch is built on. Presumably this results in a branch that has a more full history, whereas a branch updated via merge has loads of code appearing all in one go at the merge point. The article doesn't go into that, which is a bit of a shame. I'm going to continue favoring merges, for now I'm still not convinced that rebases are worth the trouble. jvns.ca #

For enquiries about my consulting, development, training and writing services, aswell as sponsorship opportunities contact me directly via email. More details about me here.