Hacker Newsnew | past | comments | ask | show | jobs | submit | more aninteger's commentslogin

The best example I can think of is the Win32 controls UI (user32/Create window/RegisterClass) in C. You likely can't read the source code for this but you can see how Wine did it or Wine alternatives (like NetBSD's PEACE runtime, now abandoned).

Actually the only toolkit that I know that sort of copied this style is Nakst's Luigi toolkit (also in C).

Neither really used inheritance and use composition with "message passing" sent to different controls.


Vibe coding in the 90s was probably like learning C and pointers for the first time and then deciphering strange errors when you couldn't figure out how scanf worked, so you added asterisks and ampersands to the code until it compiled.


This is pretty close. I once spent 4 hours in college (circa 1997) looking for an error in a C++ program. The compiler's error messages were rubbish.

It ended up being a missing semicolon in an odd spot and the compiler was just confused.

I remember walking homing thinking, "hey, if I can survive that, maybe I can just hack this CS thing..."


I once spent a couple hours debugging a perl cgi script. Nothing worked. Called in my colleague. Looks fine. We both were tearing our hair out. Sent it to the line printer, ordered pizza, and one of us read the code while the other typed it in. Couple hours later we finished and it worked.


C compilers will still shit themselves and give meaningless error messages if you forget a semicolon after a function declaration in a header file.


Oof. Microcontrollers? LLVM and Clang has improved the situation somewhat for the rest of the world.


Look how far we've come! Now we add random .unsqueeze(-1) and .permute(-1,-2) until our PyTorch models run without shape errors!


There seems to be at least 2 lcc forks (lcc-win32/win64, and pelles-c) that have their own small communities. Although maybe they are dead.


Very tiny small communities, what product is being shipped with them?


I guess https://github.com/jart/cosmopolitan might just be the WebAssembly for the command line then.


AFAIK Cosmopolitan is missing the sandboxing features of WASM runtimes which would allow to run untrusted code safely, and for x86 vs ARM it uses the universal binary approach (e.g. you'll either have the x86 or the ARM code as dead weight in the executable).


For some reason I pictured this software as a system for developing memory or CPU constrained software. Like granting only 1 mb of memory and maybe having functions executed in a certain number of "clock ticks"


> Less controversially, when you write C, you write for a virtual machine described by the C spec, not your actual hardware.

Isn't this true for most higher level languages as well? C++ for instance builds on top of C and many languages call into and out of C based libraries. Go might be slightly different as it is interacting with slightly less C code (especially if you avoid CGO).


The article also mentioned the size of the dependency (over 400 mb)


On Fedora this installs 187 MiB. Surely not small, but everything has dependencies and can have issues with them. It is a trade-off. It was an interesting article, though my solution was simple and worked for me.


I guess it's time to print out those "I did this!" stickers of Trump and put them next to the price tags.


There's always John Walker's OG

  The One, The Original, The Prophetic (July 1990), The Authentic “Evil Empires: One down, one to go…” bumper sticker, anticipating the obsolescence of railroad era continental-scale empires in the information age.
https://www.fourmilab.ch/evilempire/

Too soon?


Haha yep, I designed one when he announced the tariffs the first time but never got around to printing them.


Would you mind sharing the design?



> If you are on Ubuntu 18.04...

Probably best to use a slightly newer Ubuntu.


Haven't looked at the code nor tried it yet, but my guess is that the old code requires old base software.


I wonder if something like this might make a comeback for workers that are blocked from using wsl/hyperv on their corporate laptops. For me I've been using msys2 as an "alternative" since I'm unable to use wsl. It's not the same but it's all I got.


As a non-admin, you cannot access kernel mode in Windows, which this requires. If WSL/HV isn't appealing, this would be even less so.

https://colinux.fandom.com/wiki/FAQ#Q0._Do_I_need_Administra...?


I use WSL1 on my work PC everyday, because I can't run HyperV. I don't have a GUI, but a coworker said he was able to get VNC running on WSL1 and was able to VNC into it from his Windows environment.


At work when I work on Windows (currently stuck using Mac for the first time in my career at work), but on Windows I would use https://gitforwindows.org/ which also uses msys2 and that is a very popularly supported free product using msys2 on Windows. If you ever forget the URL, search for "git bash for windows".


Expect to see something in this space eventually - I'm currently working on a cross-platform userspace port of Linux.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: