I've actually read quite the opposite a few times.
If you focus on the end-goal you can easily get frustrated once you don't see any results, specially on such long-term goals such as graduating, improving your career or becoming buff by doing exercise.
Supposedly it's actually better to just try and find meaning and joy in the process itself, enjoy lifting/studying regardless of the end results.
Obviously none of this is an exact science so each person might think different.
Not to say he's unproductive, because he's a beast, but I don't think he's a good example. Carmack got to work on really cool things which he loved (games) most of which were in his own company so he also had a stake on that.
Afterwards he had money to work on other stuff he was passionate about (rockets, VR, etc.) in his own terms.
It's much harder to draw motivation to meaningless work.
Hmmm here at least in my uni in Argentina, we have an obligatory computer architecture class and we implement a protected-mode x86 (32 bits) kernel with interrupts, paging, etc. We obviously get some guidance but it's not that hard if you read the docs, nowadays you don't even need to go deep into the Intel manuals probably since osdev wiki has a lot of content.
Besides it's much easier nowadays, if something's wrong you can feed ChatGPT your GDT definition for example and find out if you misplaced a value, which used to be a PITA to debug.
As the parent comment says, I think the path to a booting usermode kernel has long been beaten, it's not trivial but it's not that hard either, I believe the impressive stuff is once you get out of "tutorial land" and implement a network stack, or a UI stack, etc.
When I was a kid I used to play a bit with Celestia, but I remember I was pretty scared whilst using it... there was some kind of dread/anxiety I felt just looking at the vast void of space and something giant like Jupiter or Saturn next to it, I always thought an UFO or something was gonna pop out of nowhere.
I don't know if this feeling is common or not but I do remember reading about someone here on on Reddit feeling a similar thing, I believe it to be similar to thalassophobia.
This. While it wasn't Celestia (I was playing around with Orbiter), I ran into a very similar, very specific scenario. In Orbiter, you can fly to planets using orbital mechanics a la KSP but on a true scale. Frustrated that I was having trouble getting to Saturn using a Hohmann transfer, I eventually said fuck it and just input coordinates that put me just a little ways outside of Saturn's atmosphere.
Upon hitting the button to warp to the coordinates, I was presented with an entirely flat, beige plane. Thinking I had screwed up the coordinates, I began zooming out. Since Orbiter renders to scale rather than the scaled down planets in KSP, I began to realize that there was no mistake, and just how small my ship was relative to Saturn. It literally gave me a shiver. It's so hard for us humans to really perceive how mindbendingly big things are in space in a direct sense.
Same! I lost days looking for the most distant galaxies and traveling to them. I always felt the same anxiety of the emptiness thinking why the universe doesn't give us a way to explore it, why I was born so early or in a _lame low tech planet_ (in a lame low tech country) or how incredibly diverse could be the life out there. I remember being fascinated by the sheer number of galaxies and then "wait, this app doesn't even zoom _into_ galaxies", which is another level of infinityness, and that was just overwhelming. Man, I feel depressed now.
If you want to fly around galaxies and feel insignificant, Space Engine is pretty good for that. It's not a true simulation, as most things are procedurally generated unless an addon is installed, but it certainly captures the scale of things.
I thought the whole point of Gleam is having a statically typed lang running in the BEAM VM? If you want something similar outside of it you probably want Scala, Rust, OCaml, etc.
I've found the JVM really gets in your way whenever you want to do something interesting with Scala. Rust is fantastic, but a lot of what I want to do can afford the overhead of a GC so that I can avoid lifetimes, borrows, etc...
I've not written any OCaml, but I've heard tell of its reputation of being hard to pick up.
I find Swift to be a nice, less Rust-y Rust. It uses automatic memory management by refcounting (I would call it a GC’d language but people start flame wars about it). Alas ecosystem is small and oddly shaped.
Like with Rust you can write very imperative code full of mutation and thingies with tons of methods, or you can write very functional code passing around immutable struct values types. It also has decent async story, and newly got “actors” and is heading towards optional rust like borrow checking.
I really _want_ to like Swift, but the development experience was so abysmal that it turned me off the language entirely.
I have been entertaining the thought of writing an LLVM frontend for Gleam, though. (I don't know what I'm doing, I don't know if this is doable, etc.)
I’ve been thinking about Fil-C as a compile target for high level language implementations that want decent performance with LLVM optimizations. You get GC for “free”, source compatibility with a large fraction of existing C/C++ libraries, and lots of control over memory layout and allocation. You’d still have to build the green threads / process runtime though. Maybe go would be an easier pathway since you get their green threads and GC for free.
Well as far as I'm aware and also from my little experience, Claude Code is quite better and it seems simpler to use than Cursor, it's also IDE/editor agnostic. So it's not about using CLI applications it's about the fact that these last batch of tools happen to be CLI applications.
Me personally I'm not a fan of CLI applications and would rather have a nice but simple UI with nicer text rendering, pusheable buttons, etc. but probably these companies wanted something quick to get running. However for this use-case it's not that bad, it works just fine.
> probably these companies wanted something quick to get running
I've been wondering about that. Assuming that's the case, it seems like eventually CLI will be replaced with a nice UI-based editor.
I would assume sooner or later you're going to end up in the Intel Developer manuals or the equivalent for whatever architecture you are interested in. The Intel ones are very complete at least.
> I would assume sooner or later you're going to end up in the Intel Developer manuals or the equivalent for whatever architecture you are interested in. The Intel ones are very complete at least.
I can vouch for this. I'm no virtualization expert but I did stumble upon some intel developers manuals (truthfully, i fell into the rabbit hole) and just skimming it made everything make much more sense.
The link above explains how the VMX extension work on intel processors. Any software doing hardware-assisted virtualization (so no binary translation, no full-system-emulation) will likely be using those instructions.
The AMD Processor Programming Reference manuals are also good for this, if you like complete and detailed. They complement the Intel manuals. Much the material is duplicate because the processors are so similar, but written in a different way.
Wings3D is a 3D modeller written in Erlang so I would assume you could use Gleam for that as well given that it's the same runtime. Although I think it's probably not the best tool for the job.
If you focus on the end-goal you can easily get frustrated once you don't see any results, specially on such long-term goals such as graduating, improving your career or becoming buff by doing exercise.
Supposedly it's actually better to just try and find meaning and joy in the process itself, enjoy lifting/studying regardless of the end results.
Obviously none of this is an exact science so each person might think different.
reply