Items tagged with: c
52 years ago on November 3, 1971, Unix saw its first edition released.
Initially a single-tasking system, the system was dubbed "Unics" "Uniplexed Information and Computing Service" or "eunuchs." Unix's influence grew as it made its way to other institutions, such as universities.
Continuous enhancements led to increased portability, with ports to various machines like the Interdata 8/32
I'm looking for a new job, or contract work, for the first time in a while - boosts appreciated!
I'm a polyglot programmer, with a wide range of experience behind me, from developing firmware that runs on 8-bit AVR, to highly distributed systems across hundreds of nodes, I covered pretty much the whole landscape.
I had my fair share of Ops experience too, and worked in (technical) Customer Service aswell.
I'm a #Linux guy through and through, and have very little experience (or desire) to work with anything else, save maybe for the BSDs. I worked with containers, databases (relational and otherwise); in the cloud and on premises. I can debug, I can mentor, I can teach, and build, and integrate (continuously, even!). I'm not afraid of
git rebase, nor of a crowd to speak in front of.
I live in Hungary, and am seeking remote work. I cannot relocate.
If you are someone looking for something like that, or know someone who is, please get in touch. My CV - with contacts - is available here.
@leonerd is offering to help you learn.
Also, he's written a tutorial on how to contribute a core feature: https://leonerds-code.blogspot.com/2021/02/writing-perl-core-feature.html
On September 9, 1941, 82 years ago, Dennis Ritchie, the brilliant mind behind the C programming language and a key developer of UNIX was born.
C, which he wrote the book for it with Brian Kernighan, became the source for countless software applications and operating systems. UNIX, developed alongside Ken Thompson, laid the groundwork for modern computing.
Despite his passing on October 12, 2011, at the age of 70, Ritchie's legacy lives on
Mergesort For Linked Lists
Mergesort takes the input list and treats it as a collection of small sorted lists. It makes log N passes along the list, and in each pass it combines each adjacent pair of small sorted lists into one larger sorted list. When a pass only needs to do this once, the whole output list must be sorted.
The story of what drove ex-criminal Wyatt into retirement — a heist that went pear-shaped, resulting in his family’s death — comes into focus as the ex-con finds himself on the run from a deadly cult called the Sons of the Salton Sea. Intent on recapturing Silver, a young boy with a mysterious connection to the cult,...
#awa #Ed Brisson #C.P. Smith #comics #comic books #sins of the salton sea
Content warning: How are Unix pipes implemented?
This article is about how pipes are implemented the Unix kernel. I was a little disappointed that a recent article titled “How do Unix pipes work?” was not about the internals, and curious enough to go digging in some old sources to try to answer the question.
#c #programming #retro #systems #unix
Content warning: A 35-year-old bug in patch found in efforts to restore 29 year old 2.11BSD
Larry Wall posted patch 1.3 to mod.sources on May 8, 1985. A number of versions followed over the years. It’s been a faithful alley for a long, long time. I’ve never had a problem with patch until I embarked on the 2.11BSD restoration project. In going over the logs very carefully, I’ve discovered a bug that bites this effort twice. It’s quite interesting to use 27 year old patches to find this bug while restoring a 29 year old OS...
#c #programming #retro #swtools #text
Content warning: Logging C Functions
The Cosmopolitan Libc _start() function starts by intercepting the --ftrace flag. If it exists, then it opens and sorts of the symbol table from the elf binary. Then it changes the protection of memory so it’s able to iterate over the program’s memory to look for nop instructions it can mutate. Those NOPs were inserted by GCC. It’s easy to self-modify them in memory, since they have the same byte length as the CALL instruction. Think of it like a mini linker. It just relinks the profiling nops. Once they’ve been rewritten, functions will start calling ftrace_hook() which is an assembly function that saves the CPU state to the stack. That means ftrace kind of acts like an operating system kernel. Once the assembly saved the CPU it can call the ftracer() C code that acquires a reentrant mutex and unwinds the RBP backtrace pointer (via __builtin_frame_address(0)) to determine the address of the function that called it. Once it has the address of the function, it passes it along to kprintf() which has a special %t syntax for turning numbers into symbols.
#c #investigation #programming #systems