6 ms·
Linux is an interpreter
- shevy-java 7mo agoWell - Linux is kind of like a somewhat generic interface to have actionable, programmable tasks. One could use Windows for this too, but IMO Linux is in general better suited for that task. The only area I think Windows may be better is the graphical user interface. Now, the windows interface annoys me to no ends, but GNOME annoys me and KDE annoys me too. I have been more using fluxbox or icewm, sometimes when I feel fancy xfce or mate-desktop, but by and large I think my "hardcore desktop days" are over. I want things to be fast and efficient and simple. Most of the work I do I handle via the commandline and a bit of web-browsing and writing code/text in an editor, for the most part (say, 95% of the activities).
- ux266478 7mo ago> The only area I think Windows may be better is the graphical user interface. Nah. You're right about Gnome and KDE, but Windows is even worse because you can't exactly escape away from microsoft's insane labyrinth or awful wm. Frankly, not a fan of the Xerox bloodline of desktop interfaces in general. mpx/mux heritage is the one I like. 9wm, cwm or dwm. Closer to Engelbart and just generally all around better.
- chickensong 7mo ago> I want things to be fast and efficient and simple. Sway + foot with keybinds to provision each workspace to your liking is pretty nice. No desktop, but really flies for your use case (mine also). Bind window focus to your most comfortable keys.
- TZubiri 7mo agoFrom earlier in the series. "Okay, so the reason I initially did this was because I didn’t want to pay Contabo an extra $1.50/mo to have object storage just to be able to spawn VPSes from premade disk images." I think there's a sweetspot between " I spent 50 hours to save 1.50$/mo" and "every engineer should be spending 250K$/mo in tokens". Host employees still need to eat, if we can't afford 1.50$/mo, then we aren't really professionals and are just coasting on real infrastructure subsidized by professionals that pay for the pay-as-you-go infrastructure. It's still possible to go even further to these extremes, there's thousands of developers that just coast by on github pages and vercel subdomains. So at least having a VPS puts you ahead of that mass competitively, but trying to save 1.50$/mo is a harsh place to be. At that point I don't think that the technical skills are the bottleneck, it's more likely that there's some social work that needs to be done, and that obsessing over running doom on curl is not a very productive use of one's time in a critical economic spot. I write this because I am in that spot, but perhaps I'm reading a bit much into it.
- astralbijection 7mo ago... I think you're reading a bit much into it. It's less that I couldn't afford to pay that, and more that I didn't want to pay that, and iterating on the solution I used to dodge that led me down a giant rabbit hole of learning more about Linux while solving stupider and stupider problems posed for myself.
- jcul 7mo agoThat four part blog was one of the most entertaining things I've read this year, thanks. Really in the spirit of "hacker" news IMO. I get the motivation, it's less avoiding the 1.50 per month and more like a challenge to work around it!
- jmalicki 7mo agoI like the term host employee, carrying the LLM parasite as it uses us to embody itself and reproduce into the singularity.
- deleted 7mo ago[deleted]
- GranPC 7mo agoI think they meant employees from the hosting company. But that's a funny interpretation!
- cardanome 7mo ago> it's more likely that there's some social work that needs to be done, and that obsessing over running doom on curl is not a very productive use of one's time in a critical economic spot. It can be a problem but it can be also just a human following their special interests that give them joy. For me as a ADHD person engaging with my special interests is a hard requirement to keep my mental health in check and therefore a very good use of my time.
- PhilipRoman 7mo agoThat sounds like something I would've done... When I was a kid, the 5€/month for a VPS was a massive expense, to the point where I occasionally had to download my 10GB rootfs to my mom's windows laptop, terminate the instance and then rebuild it once I had enough money. Eventually I got an old Kindle that was able to run an app called Terminal IDE which had a Linux shell with some basic programs like busybox, gcc. Spartacus Rex, if you're out there, thank you for making my entire career possible.
- vatsachak 7mo agoIsn't every OS an interpreter for machine code with kernel privileges?
- astralbijection 7mo agoThis one is an interpreter for CPIO files.
- BenjiWiebe 7mo agoNo. The OS's software doesn't individually read each instruction and decide what to do with it. It passes it off to the hardware (CPU) which runs the instructions.
- lolsowrong 7mo agoMost of the time. But sometimes, no. See ATL thunk emulation (last I checked, still alive in the windows kernel) and ntvdm handling of the BOP pseudoinstruction. See also: Jazelle DBX. Hell, on modern x86 processors, many “native” instructions are actually a series of micro-ops for a mostly undocumented and mostly poorly understood microcode architecture that differs from the natively documented instruction set. It’s turtles all the way down.
- saagarjha 7mo agoJazelle and micro-ops are not interpreters, they are executed in hardware.
- lolsowrong 6mo agoI believe only some parts of Jazelle are handled in hardware, though I don’t know if anybody has got their hands on any of the bits of the software side. I do know there’s documentation on handling unimplemented instructions. I don’t know how I feel about micro-ops being executed in hardware - I mostly agree, but also, microcode updates exist…
- fc417fc802 6mo ago
- tosti 7mo agoThis article was painful to read because of all the misconceptions. A cpio archive is not a filesystem. Author uses initramfs, which is based on tmpfs. Linux can extract cpio to tmpfs. An archive of files and directories is in itself not a program. Just because something looks similar doesn't mean it's equivalent. Binary programs are executed on the CPU, so if there's an interpreter involed it's hiding in the hardware environment. That's outside the scope of an OS kernel. If you have a shell script in your filesystem and run it, you need to also provide the shell that interprets the script. Author omits this detail and confuses the kernel with the shell program. Linux can easily be compiled without support for initramfs and ramdisk. It can still boot and run whatever userland sits in the filesystem. "Linux initrd interpreter" hurts my brain. That's not how it works. Edit: should've read further. Still a backwards way of explaining things imho.
- commandersaki 7mo agoAt least it isn't AI slop!
- daveguy 7mo agoI dunno, sure seems like "AI research" at least.
- saidnooneever 6mo agomight be, i wouldnt be sure but i would encourage author to dive a lil deeper based on some comments in the thread. Theres obviously lots to explore. Anything that goes into this topic is likely to make omissions, have some ,wrong viewing angle' or such things. its not a phd paper so thats fine!
- astralbijection 7mo ago> An archive of files and directories is in itself not a program. Okay, but you can make the same argument to say that ELF files aren't programs in and of themselves either. In fact, some ELF files are dynamic libraries without an entrypoint, and therefore not actually executable in any meaningful way unless connected to yet another program. If you can accept that some ELF files are executables and some aren't, then you can also accept that some CPIOs are executables and some aren't. What's the difference between ld.so unpacking an ELF file into RAM and running its entrypoint, and the Linux kernel unpacking an initramfs into RAM and running its entrypoint?
- ryguz 7mo ago[dead]
- lstodd 7mo agoman ld.so: ... (in which case no command-line options to the dynamic linker can be passed and, in the ELF case, the dynamic linker which is stored in the .interp section of the program is executed) note how the ELF section is named.
- novachen 7mo ago[dead]
- qubex 7mo agoTuring’s Theta Combinator
- ogghostjelly 6mo agoHow is Turing's theta combinator related to the article? I'm not very familiar with functional programming concepts.
- qubex 6mo agoΘ()= (Θ)
- djmips 7mo agoEverything is an interpreter?
- tsoukase 6mo agoYes, except compilers.
- tnwhitwell 6mo agoAren’t they the most interpretery of interpreters? Just the languages aren’t Spanish and English, but C and machine code
- imtringued 6mo agoThey're ahead of time interpreters.
- Roshan_Roy 7mo agoI think the article works better as a mental model than a literal claim. “Linux is an interpreter” feels wrong if you define interpretation strictly at the CPU instruction level, but it becomes more reasonable if you look at the kernel as something that interprets executable formats and environments (ELF, scripts with shebangs, initramfs, etc.). In that sense it’s less about instruction-by-instruction interpretation and more about orchestrating how different representations of programs become runnable. Maybe the confusion here is mixing those two meanings of “interpreter”.
- pugchat 6mo ago[dead]
- unit149 6mo ago[dead]
- ssyhape 6mo ago[flagged]
- kevinbaiv 6mo ago[flagged]