Linus Torvalds once wrote in a book that he created Linux just for fun, but it ended up sparking a revolution. Git, his second major creation, also an accidental revolution. It’s now a standard tool for software engineers, but its origin story wasn’t so much fun this time, at least for Linus.
“Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better.”
Many (and probably actually most) people are overconfident when predicting what other people think is obvious and often incorrectly assume that other people will think the same thoughts and find the same things obvious.
The companies building “DevOps” teams are going in the right direction, but they need to be moving away from infrastructure configuration management and towards platform engineering and enabling developer self-service.
The knowledge silos are good. The silos are a feature, not a bug.
Expertise is a good thing.
This surprising amount of detail is is not limited to “human” or “complicated” domains, it is a near universal property of everything from space travel to sewing, to your internal experience of your own mind.
Products seem to be made for users, but I think this might be an illusion; they are more like a medium for self-expression.
For many project team members, starting with the punch line can be disconcerting, but we have found that once they become accustomed to it, they truly enjoy the clarity of the message and the time saved in getting the point across.
A true story.
Henry Farrell and Cosma Shaliz argue that large language models have much older cousins in markets and bureaucracies
(Spoiler: trusting your contributors works)
This article discusses using CSS to make spinning 3D diagrams.
So Docker is an open-source software product, one that is basically free (as in beer and as in freedom) although hindered by a history of messy licensing situations. Docker is also a company, and companies are expected to produce revenue. And that's where other facets of the greater identity we call "Docker" come to light: Docker Desktop and Docker Hub.
In some situations, you come to realize that a whole bunch of bad things happen due to non-technical causes, and they are some of the hardest things that you might ever need to remove from an organization.
Why and how we continuously invested the team bandwidth to pay back tech debt and what were the results?
If you are considering a career in software engineering, be prepared to face these truths head-on and embrace the opportunity to grow.
This post will use the above question to explore DNS, dig, A records, CNAME records, and ALIAS/ANAME records from a beginner’s perspective.
Back in of 2020, my school used a few online learning platforms that allowed professors/teachers to assign homework to students. I, as a lazy developer, wanted to spend more time playing games and writing code, especially when everyone was spending their time at home because of lockdown. I started writing this post in January of 2022, but I put off publicizing it for a while. It has been long enough since this all happened, so please sit back and enjoy.
I love to have Linux as my main OS.
Yet, occasionally, my system malfunctions to a point it requires a significant effort to fix it.
Many open source projects are terribly under-resourced and under-funded. Some open source developers even have to sacrifice their financial security to work on their passion.
Some open source projects dream about going from a passionate hobby to a small but sustainable company. This post will look at the different ways these projects can be funded to enable small groups to sustain themselves by working on projects they care about full time.
That technological change can force localised unemployment is unsurprising. But similarly prescient is that those same forces that made so many jobless are snapping at something more fundamental: our ability to create content.
Winter is coming and Collapse OS aims to soften the blow. It is a Forth operating system and a collection of tools and documentation with a single purpose: preserve the ability to program microcontrollers through civilizational collapse.
Physical buttons are increasingly rare in modern cars. Most manufacturers are switching to touchscreens – which perform far worse in a test carried out by Vi Bilägare. The driver in the worst-performing car needs four times longer to perform simple tasks than in the best-performing car.
This was posted to USENET by its author, Ed Nather (utastro!nather), on May 21, 1983.
A recent article devoted to the macho side of programming made an bald and unvarnished statement.
At least I know what it does now.
That’s because SELinux doesn’t enforce my policies. I rely on the Fedora Linux project to develop and maintain policies for the software I rely on. However, I’m not familiar with the policies that are in place on my system. There’s no configuration file or reference tool I can check to see or modify the policies. They’re just there.
It uses good old VT100 instructions.
My written words are my most precious asset. They are also a history of my life. That’s why I only use plain text files. They are the most reliable, flexible, and long-lasting option. Here’s why.
Linux features a whole suite of tools to debug many different aspects from performance to correctness. And here I am assuming that the stutters are not inherent in the game logic, because the 32-bit version works correctly.
We don’t write things down to remember them. We write them down to forget.
It was the IT folks who brought UML to the table and took it away in a puff of smoke.
MySQL’s “utf8” isn’t UTF-8.
The “utf8” encoding only supports three bytes per character. The real UTF-8 encoding — which everybody uses, including you — needs up to four bytes per character.
MySQL developers never fixed this bug.
In 2015, I gave a talk in which I called Donald Knuth the Patron Saint of Yak Shaves. The reason is that Donald Knuth achieved the most perfect and long-running yak shave: TeX.
I figured this is worth repeating.
GTFOBins is a curated list of Unix binaries that can be used to bypass local security restrictions in misconfigured systems.
MySQL is a pretty poor database, and you should strongly consider using Postgres instead.
We have failed to build an operating system for people who are not like us.
Lot has been said about how the web evolved to become a kind of monstrous entity. The mail protocol has followed a similar evolution but it’s a bit more subtle and has often been summarised as « too much email. ».
The text-based environment in UNIX is incredibly versatile and powerful, programmers and system administrators who log into a UNIX server remotely will typically work exclusively in the console, working on a remote desktop (similar to TeamViewer in Windows) is just too inefficient.
But can a console really function as an everyday desktop? That is what this article will try to explore, and I think you will be pleasantly surprised at just how useful a text-based environment can be!
A miracle occurred this week. Everyone I have talked to about it, myself included, is shocked that it happened.
I did find that a disproportionally big amount of these bugs was reported by players using Linux to play. I started to investigate, and my findings did surprise me.
Asking about your attempted solution rather than your actual problem.
There might be a way of doing complex multi-participant tasks that is better than what's being done currently, but the incentives for each participant are not aligned.
Software Engineering is really frustrating because there’s basically never a “right” answer and so most decisions come down to “whatever the senior engineer wants.”
Software distributions are often volunteer-run and represent the interests of the users; in a sense they are a kind of union of users.
You have an incentive in modern companies to not be the problem person, but instead to ship new features today. Nobody gets promoted for maintenance or passing a security audit.
The title explains it all, you don't even have to read.
Take manual control of your Linux system’s DNS resolution and keep programs from interfering with and overwriting your resolv.conf file.
FOSS is what you make of it. You have the right to make the changes you need from the software yourself, and you are the only person that you can reliably expect to do it.
“Copyleft” or "Reciprocal"… a legal expert opinion.