The Ksplice engineers wrote long technical articles on Linux kernel internals, executables, memory errors, and shell and Perl tricks.
Commenters remember it as a favorite blog of in-depth kernel articles and lament that it went down after Oracle's purchase moved it.
At least part of the "fun" on a loosely modern operating system is learning the nuts and bolts of the executable format and loading conventions.
I've never spent much time there, but some of the ideas are laid out well in this two part post:
http://blog.ksplice.com/2010/04/libc-free-world-2/
Doing it with _just_ a hex editor (ie writing out the ELF headers and sections yourself) may not be exactly what the commenter did, though. Cos that sounds really tedious.
I imagine that even writing "Hello, World" in the simpler way that you describe, on a simpler system (Apple IIe or so), would probably teach me something. I remember trying to write 6502 machine code in hex (no assembler) on my IIe when I was about 10 years old. It never worked then, I wonder if it would work now?
The article references some great modules for those actually writing perl code.
For those that never learn to write full apps in perl, there are still a few gem 1-liners that are worth tucking away. For instance,
perl -pi.bak -e 's/something/something_else/g' *.erl
would act as a global substitution with backups (any file changed would have an original x.erl.bak).
A list of some other useful 1-liners can be found here:
http://blog.ksplice.com/2010/05/top-10-perl-one-liner-tricks/
Can someone give some insight on the last line?
That's it. Simple. Now you can launch the hello program by entering ./hello. Look at the binary size -- surprised?
Without being able to compile the executable myself, is the binary surprisingly large or small? A few months ago, someone posted this article:
http://blog.ksplice.com/2010/03/libc-free-world/
Which leads me to believe that the executable is surprisingly large given the content. Am I understanding that correctly?
Looks like their blog is down too (http://blog.ksplice.com). This was by far one of my favorite blogs. Good, long, articles about kernel hacking. I hope it comes back up soon and isn't gone for good.
It's a shame Oracle moved Ksplice blog after its purchase. This move appeared to be slow and not complete. Part 2 was originally here: http://blog.ksplice.com/2010/04/libc-free-world-2/
Related: the Ksplice blog has a great post on disown and how to manage processes:
http://blog.ksplice.com/2011/03/disown-zombie-children-and-the-uninterruptible-sleep/