Feed digilinux.ru [copy] http://digilinux.ru/feed/ has loading error: cURL error 22: The requested URL returned error: 403 Forbidden
Feed freepost [copy] https://freepo.st/rss/new has loading error: cURL error 6: Could not resolve host: freepo.st
I want to contribute to your project, how do I start?
I get this question a lot! The answer is usually… don’t. If you already know what you want to do, then the question doesn’t need to be asked.1 But, if you don’t already know what you want to do, then your time might be better spent elsewhere!
The best contributors are always intrinsically motivated. Some contributors show up every now and then who appreciate the value the project gives to them and want to give something back. Their gratitude is definitely appreciated2, but these kinds of contributions tend to require more effort from the maintainers, and don’t generally lead to recurring contributions. Projects you already like are less likely...
pkg.go.dev is more concerned with Google's interests than good engineering
pkg.go.dev sucks. It’s certainly prettier than godoc.org, but under the covers, it’s a failure of engineering characteristic of the Google approach.
Go is a pretty good programming language. I have long held that this is not attributable to Google’s stewardship, but rather to a small number of language designers and a clear line of influences which is drawn entirely from outside of Google — mostly from Bell Labs. pkg.go.dev provides renewed support for my argument: it has all the hallmarks of Google crapware and none of the deliberate, good engineering work that went into Go’s design.
It was apparent from the start that this is what it would...
The falsehoods of anti-AGPL propaganda
Google is well-known for forbidding the use of software using the GNU Affero General Public License, commonly known as “AGPL”. Google is also well-known for being the subject of cargo-culting by fad startups. Unfortunately, this means that they are susceptible to what is ultimately anti-AGPL propaganda from Google, with little to no basis in fact.
Obligatory: I’m not a lawyer; this is for informational purposes only.
In truth, the terms of the AGPL are pretty easy to comply with. The basic obligations of the AGPL which set it apart from other licenses are as follows:
Any derivative works of AGPL-licensed software must also use the AGPL. Any users of...Status update, July 2020
Hello again! Another month of FOSS development behind us, and we’re back again to share the results. I took a week off at the end of June, so my progress this month is somewhat less than usual. Regardless, I have some updates for you, mainly in the domain of SourceHut work.
But before we get to that, let’s go over this month’s small victories. One was the invention of the BARE message format, which I wrote a blog post about if you want to learn more. Since that article, five new implementations have appeared from various authors: Rust, Python, JavaScript, D, and Zig.
I also wrote a couple of...
March 2nd, 1943
It’s March 2nd, 1943. The user asks your software to schedule a meeting with Acmecorp at “9 AM on the first Monday of next month”.
[6:17:45] homura ~ $ cal -3 2 March 1943 February 1943 March 1943 April 1943 Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 ...Drew DeVault's blog
General-purpose OS, special-purpose OS, and now: vendor-purpose OS
There have, historically, been two kinds of operating systems: general-purpose, and special-purpose. These roles are defined by the function they serve for the user. Examples of general-purpose operating systems include Unix (Linux, BSD, etc), Solaris, Haiku, Plan 9, and so on. These are well-suited to general computing tasks, and are optimized to solve the most problems possible, perhaps at the expense of those in some niche domains. Special-purpose operating systems serve those niche domains, and are less suitable for general computing. Examples of these include FreeRTOS, Rockbox, Genode, and so on.
These terms distinguish operating systems by the problems they solve for the user. However, a disturbing trend is...
Feeling like Don Quixote
For some years now, I have been feeling like Don Quixote fighting against windmills. This is a multidimensional feeling that has its roots in both personal and professional circumstances. With regards to personal issues, I won't go into details as I want to keep this blog free from politics, society, and economics. With regards to professional circumstances, something that bugs me a lot is that I seem to engage in fighting wars that can't be won. Free software lost a lot of wars, most notably though in the mobile sector. As I have complained more than once before, over the...
Introducing the BARE message encoding
I like stateless tokens. We started with stateful tokens: where a generated string acts as a unique identifier for a resource, and the resource itself is looked up separately. For example, your sr.ht OAuth token is a stateful token: we just generate a random number and hand it to you, something like “a97c4aeeec705f81539aa”. To find the information associated with this token, we query the database — our local state — to find it.
Click here to skip the context and read the actual announcement ->But, increasingly, we’ve been using stateless tokens, which are a bloody good idea. The idea is that, instead of using random...