More evidence for my thesis that programmers treating parsing as black magic is a pervasive problem

hot take:

All GSoC projects should be research to create 0days for all the popular blockchains.

Maybe we can buy GPUs again that way and avoid the massive waste of electricity.

Literate code is good, but only because the reader can see the actual code too, like the writer

Doc comments are bad in general. You're in a different mindset when writing them than the person who reads them, so you can't write them well.

@natecull @jonathanccast @lanodan
If I was to version control a Linux system, I'd keep package definitions (eg. PKGBUILDs, RPM specs, etc.) in one git repo, /etc/ in another, and /var would probably stay unversioned but be rather small compared to the rest of the system.

/usr, which is all derived files (as opposed to source), could be always thrown away and rebuilt from package definitions.

Try to do the same with smalltalk.

@natecull @jonathanccast @lanodan
I think the main benefit of OOP is that it's easier to verify invariants, because it can be done locally - nothing outside an object can modify its fields, so if the methods don't break the invariant, nothing else can.

But what I don't like about smalltalk is that the whole system is one soup of stateful objects, persisted on disk 1:1.


@wolf480pl @natecull Need a GUI for Unix which will display program output and let you edit program input. Dis-associates program input/output from display, making machine-readable syntax more reasonable, and allows program logic to be taken out of the GUI and put in pipeable programs instead.

So, Monday, in the middle of the blizzard, DoorDash was offering +$10/order.

Today, with the snow clearing, they're shutting down the service in the evenings 'for the safety of dashers'.

Way to be on the ball, there.

@alcinnz yes I've seen it. WHATWG quickly advanced the-web-as-an-application-delivery-platform at the expense of the-web-as-the-web and the-web-as-not-controlled-through-the-tight-fist-of-a-few-large-corporations

A thing I hate that nobody cares about except for people who have spent *way* too much time sitting in standards meetings: that the URI struct in Racket is called "url"

A strong preference for #GPL is a pleasant surprise and show how different the fediverse crowd is from github and other places

I'd appreciate it if my phone screen could please stop flashing while I'm not using it

There is something that all internet users should agree, regardless of the political ideology anyone has.

The corporate centralization of the internet, both in software and hardware infrastructure, is harmful for everyone. You can see that happen in lots of ways, like in various ways of censorship, data being sold to the advertising corporations and hoarding of lots of addresses that could be used by people, to name a few issues.

We must eliminate this cancer on the internet as much as we can.

Please remember: functional cookies (login session, shopping carts) do not need user consent. So every time you see one of this oversized cookie banners someone is trying (often through dark patterns) to make you accept the whole tracking and spying as well. Don't be mad at the legislative for creating the need for tracking consent. Be mad at the websites that are trying to stir you up against that law by annoying you with those banners.

LibreOffice is free software - but that's means more than just zero cost. It's about having the freedom to use, study, change and share the software. Learn more here: (Oh, and how many free software project logos do you recognise in this image?)

@alcinnz Isn't throw/catch faster than Either, though? (If you can use it.) Either implements what I believe is the slowest exception mechanism used in any programming language, both in terms of cost of throwing exceptions and in terms of overhead for non-throwing executions.

A memory is basically a mutable map from addresses to values. An address thus functions as an arbitrary number that lets you get and store a particular value: hence identity. What objects fundamentally have is identity and state. Hence the value of memory allocation for object creation. In a database, sequences do the same job and rows with a particular value in them provide state.

Show older

For people who care about, support, or build Free, Libre, and Open Source Software (FLOSS).