Writing my very own libc to work in the environment I need is a tempting task, but I think I'll pass.

@tfb the fun thing is, the error isn’t even related to that particular code. It’s due to GMP headers not being found and the code in that place lacking some macros.

Did I say I hate C? I hate C.

@amiloradovsky ah.. never used it as well. I don't have a photo in a suit to put there.

@amiloradovsky what's LI?

Anyway, some of us don't really have a choice. My current employer uses GitHub for their projects, including closed source stuff.

I guess, this is the biggest evil that Microsoft carries. Not surveillance, not predatory practices like EEE, but that it turns everything it touches into an overengineered unusable corporate-looking piece of shit.

Show thread

The story of GitHub becoming a hellish corporate nightmare must be studied as a cautionary tale.

@fgaz but this isn't the same feature, because it fails to provide overrides. I can't just say "Hey, use that set of packages, except I want this library overridden to version 1.2.3".

This is why I'm still stuck with stack, among other reasons.


It’s been a year since yet another proposal to add snapshots support to Cabal. And just like the last time, this is nowhere near being implemented.

Cabal seems like a joke :akko_unamused2:

@tfb what do you mean “enterprise”? Go build just downloads packages according to the specified version ranges. That’s about it.

@minoru I was thinking about removing the limitation of having just 65k services and also getting rid of port scanning altogether. Tired of having your SSH bombarded by chinese bots? Just bind it to /awesome_ssh_1337.

Fixed offsets are already not a thing since IPv6 allows optional headers and stuff, so your TCP/UDP header might just be wherever. Not really a huge problem for end servers, and routers only care about IPs.

Clients can also use arbitrary strings for service ids, I don't see how this is a problem, really.

Since both port numbers and subdomains are often used for multiplexing services run on the same physical or virtual server, is there any reason to have both?
I'm thinking, it would be pretty cool to just use domain names for that, dumping port numbers altogether. Since pretty much every service uses TLS now, employing SNI seems perfectly reasonable.
The only downside I can see right now is information leak through DNS.
Alternatively, replacing port numbers with arbitrary length strings seems cool as well.

I unapologetically use Maybe (NonEmpty a) instead of [a] in many cases. And my coworkers hate me for this.

@curtmack @lunarised generic-cl seems like it desperately needs to be the default, because it contains the behavior I would expect

@curtmack @lunarised what if I just want to write some abstract code without even thinking what kind of values it will work with? In Haskell, I can write just this:

f :: Eq a => a -> a -> IO ()
f x y | x == y = putStrLn "Equal"
| otherwise = putStrLn "Not equal"

How do I do the same in Common Lisp? Exactly..

@curtmack @lunarised I think I'll just pass on Lisp again, thank you. Equality operators is just one of the problems. There's just too many things missing in CL (and often in other lisps) that I take for granted in other languages.

For example, I've just discovered that Quicklisp doesn't support pulling dependencies from git. Where in cargo or stack or literally any other language-specific package manager I can just specify git url and commit hash, in Lisp I need to perform some sort of magic.

All of this is just too much.

Show older
Functional Café

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!