824 karma · joined April 22, 2020
Pocket Casts was originally developed by a South Australian startup, Shifty Jelly. Sold to a consortium of public broadcasters which included NPR. Then there was a change of heart the the public broadcasters decided that they actually don't want to be in the game, so was divested in a firesale.
Automattic has picked up a few of these assets for peanuts, Tumblr and Pocket Casts are amongst them. All are assets which were once much more high flying, but still have a core of dedicated users/fans.
But even if I don't personally use WP, the fact that something like 25% of the web runs on software which this lunatic has this much control over, is problematic in itself.
A couple of years ago I got tired of dealing with OpenWRT and various Tomato based firmware or hunting down compatibility between ARM and MIPS based routers. I finally took the plunge and bought myself a mini pc with an Intel N100.
The thing has 4 cores (no SMT), a 6W TDP and boosts to 3.4 GHz and can support 16GB of ram. The mini pc I bought cost me $200, includes the processor as well 4x Intel 10Gbps Ethernet ports. At 6W, it needs no fan, and the whole chassis is metal and specifically designed to act as a heatsink, which means 0 noise and 0 moving parts.
I ran a power virus on it for a few hours to test the thermals, and on a warm day in Melbourne, after hours of having all 4 cores running full throttle, CPU temperature never exceeded 90 C and the chassis barely hit 55 C.
The best thing about it? Full upstream support for any Linux distro and FreeBSD. No more wondering if this particular Broadcom chipset needs a weird binary blob, no more being hostage to an OEM and having to run old forked kernels.
I installed OPNSense on it, VESA mounted it behind our TV, and it hasn’t been seen or heard since. Not only has it been the most reliable router I’ve ever had at home, it’s providing various other services such as DNS server, apt cache, WireGuard server and client etc for my homelab.
I’ve been waiting for ARM to get here since ARMv8 was announced in 2011, but it just hasn’t happened.
Long live x86.
Mind you Gemma 4 is still Gemma 4, but the speed was really eye opening. Like a glimpse into the future of AI
It can be argued that it’s Docker that is reinventing the wheel and doing its own bespoke process management, journal management etc when all of these are solved problems on Linux. Podman is instead reusing the platform which exists, Quadlets are just reusing systemd, so as a sysadmin I can manage, control and monitor docker containers using the same standard tooling that I already use to manage, control and monitor all the other processes which are running on the system.
Architecturally I find the above argument attractive. The problem is chronology. Docker and docker compose came before systems was ubiquitous and long before Quadlets, so it’s natural to think of Quadlets as reinventing the wheel.
Personally I wish docker had not rejected composition/integration around systemd. Would have made everyone’s job a lot easier in the long term.
So far I have to say I am really impressed. Clients are all open source, really configurable, and speed and reliability seems as good as Mullvad.
Will I find out tomorrow that their founder is also a fascist? Hopefully not.
These words don’t mean what they use to anymore. Newspeak is in full swing. Words still sound the same and are written in the same way but now mean something completely different. If Mao and Stalin were alive, they would be nodding approvingly.
I’m lucky that I’m in a team which is hands on and does a lot of very interesting things. From building CRUD apps which are used in management and response to bushfires (wildfires) to more interesting things like building a datalake which amalgamates and stores weather data from multiple sources to building near real time CDC pipelines and making our transactional data available to our in house team of data scientists who then use that data to do fascinating stuff that eventually results in for example making sure that our response to bushfires takes into account the impact and safety of endangered species.
And when I look at the underlying data and the trends and and projections of just how bad bushfires are going to get in the next 30 years and how we must be so much nimbler and smarter just to survive, the work takes on a whole new level of meaning.
Don’t get me wrong, there are times the internal bureaucracy absolutely drives me mad. And I am aware that I could be earning much more in the private sector. But I get to work with a team who are really passionate and enthusiastic about their job, and I get to sleep at night knowing that unlike my previous jobs, this time I am not just making someone who is already uber rich, richer.
If you had told the teenage Utilitarian me that I would one day work for, and enjoy working for, government, I would have thought hell must have frozen over.
If you don’t, do you really get to complain about ads?
It turns out, long after Rome had become an Empire and was only a Republic in name only, most Senators still thought of it as a Republic and that this extraordinary state of affairs with the Senate just being a glorified rubber stamp body would soon come to an end and that, they will very soon restore the Senate to its former rightful place, just as soon as this current very limited crises was over.
As it turns out, they were never able to do that again.
It’s so interesting to me that nearly all of the Founding Fathers had read Tacitus and were keenly aware of this and explicitly tried to design a system to prevent that from happening. To their credit, their system lasted a good while.
Pascal inspired syntax
Ada inspired type system
Lisp inspired templating and Macros
Compiles to C
The language has well defined syntax, strong types, and I turned up the compiler strictness to the max, treat all warnings as errors etc. After a few hours I put the agent aside, committed to git then deleted everything and hand coded some parts from scratch.
I then compared the results. Found one or two bugs in the AI code but honestly, the rest of our differences were “maters of taste” (is a helper function actually justified here or not kind of things).
And yet none did. Because they listened to their security chiefs and advisors who would tell them, Iran is a highly complex multiethnic geographically complex country. If you can contain it with diplomacy, that’s preferable.
When listening to “experts” becomes taboo, there will be consequences.
The inhabitants of the Iranian plateau have been the subject of the ire of the military superpower of their era quite a few times. Alexander the Great conquered them and set their capital and their sacred books on fire and yet a mere 70 years later his Hellenic dynasty was gone. They were conquered by the Arabs and were forced to give up their religion but somehow, unlike Egypt and Syria/Lebanon and many other ancient places, these guys somehow kept their language and distinct culture intact. They were decimated (maybe even worse ) by Genghis Khan and followed quickly by Tamerlane and yet, it was their Turco-Mongol rulers who ended up adopting their language and culture.
The inhabitants of this land have deep memory of knowing how to suffer, to endure and to survive. It wasn’t that long ago that from Constantinople to New Delhi, the language of the Imperial Court was Persian.
BeOS came up with “Binder” for doing inter process communication. Just before Be Inc. was acquired by Palm, some Be engineers somehow convinced management to release Binder as open source, which came to be known as OpenBinder.
After the Palm acquisition many Be engineers moved to a startup called Android Inc, and adopted OpenBinder for IPC. And the rest as they say, is history.
If it’s payments to continuously verify National Security protections, it’s all good.
I developed my own Android ROMs from 2009-2011, complete with my own tuned kernel. I ran the local Android developers MeetUp group and evangelised Android development. When Honeycomb launched I helped OEMs test their beta firmware. For free.
But as Google has become certified Evil, the direction of Android has been very clear. In practice I honestly can’t say it’s now any more open than iOS. Except it has a lot more avenues for Google to mine your data to sell ads. And the quality of third party apps on it is decidedly worse.
I thought long and hard about getting a Linux phone. But I need a good camera on my phone to take random snaps of kids/pets/etc. And the Linux phones just aren’t there.
I hate the shitty duopoly we have ended up with. But I now realise that the openness of x86 and pc as platform really was an accident of history.
For centuries, Romans had grabbed land and defeated enemies mostly by projecting immense power and using shock and awe tactics. Hannibal of course learnt a lot about Roman tactics from his father, Hamilcar, and the “treachery” with which Rome had taken Sicily off Carthaginians. But he also grew up in Spain, in close proximity to Romans, and studied them and their methods for years.
He knew he needed to have an instrument of shock and awe himself, something the Romans had never seen before, and elephants were perfect for that.
For those interested, the Rest is History podcast did a 4 series on Hannibal last year which is highly engaging and informative
I have a friend who refuses to use anything other than CDE and still manages to compile and run it on modern Linux distros.
https://learn.microsoft.com/en-us/dotnet/fsharp/tutorials/ty...
SQLProvider is probably the most well known one: https://fsprojects.github.io/SQLProvider/
It’s really beautiful. You get type safety with SQL. If your code compiles, you guaranteed to have valid executable both F# code and SQL. Also you get to create composable queries.
And there are other, thinner/leaner type providers as well. My favourite Postgres one is: https://github.com/Zaid-Ajaj/Npgsql.FSharp
This simple sample executes query and read results as table then map the results
open Npgsql.FSharp
type User = { Id: int FirstName: string LastName: string }
let getAllUsers (connectionString: string) : User list = connectionString |> Sql.connect |> Sql.query "SELECT * FROM users" |> Sql.execute (fun read -> { Id = read.int "user_id" FirstName = read.text "first_name" LastName = read.text "last_name" })
Typescript’s types are far more adaptable and malleable, even with the latest C# 15 which is belatedly adding Sum Types. If I set TypeScript to its most strict settings, I can even make it mimic a poor man’s Haskell and write existential types or monoids.
And JS/TS have by far the best libraries and utilities for JSON and xml parsing and string manipulation this side of Perl (the difference being that the TypeScript version is actually readable), and maybe Nushell but I’ve never used Nushell in production.
Recently I wrote a Linux CLI tool for managing podman/quadlett containers and I wrote it in TypeScript and it was a joy to use. The Effect library gave me proper Error types and immutable data types and the Bun Shell makes writing shell commands in TS nearly as easy as Bash. And I got it to compile a single self contained binary which I can run on any server and has lower memory footprint and faster startup time than any equivalent .NET code I’ve ever written.
And yes had I written it in rust it would have been faster and probably even safer but for a quick a dirty tool, development speed matters and I can tell you that I really appreciated not having to think about ownership and fighting the borrow checker the whole time.
TypeScript might not be perfect, but it is a surprisingly good language for many domains and is still undervalued IMO given what it provides.
But with the ridiculous tax incentives here in Australia (at least while they last), my new car turned out to be an EV. Specifically the Hyundai Ioniq 5 N. And let me tell you, while the logical part of my brain knows that the gear shifts and the exhaust notes and everything about it is “fake”, when I’m driving it around a track or a challenging B road, every part of my body is fooled into thinking it’s real. And reluctant as I might be to admit it, it might just be the most fun car I’ve ever had
Is it perfect? No. I wish it was 10cm lower to the ground. I wish it was at least 600kg lighter. But it has completely disabused me of the notion that electric cars can’t be fun.