Show newer

Back on my bullshit (making more garden space with DIY terracing)

@danluu and Jane Street is in about the most competitive, intensely capitalistic market imaginable, and they are using….OCaml (and hiring CS.Ed folks to improve their ability to indoctrinate new OCaml devs)

@danluu hell, PHP used to top the charts and it’s highest profile user (Facebook) replaced it internally with a functional language (Hack) they built in house because CREATING A NEW LANGUAGE was less effort than writing correct PHP.

@danluu Anyone writing new code in JavaScript, C++, Java, Python today pretty much can just choose to live in a functional language up to the point that they run into legacy API boundaries. And look at the competition that has emerged: Rust, TypeScript, Swift, Scala are all successful and FP(tm), success of the latter 3 being almost entirely on subsuming library ecosystems from predecessors, and Rust because systems programming is just that hard.

@danluu As a FP nerd who founded a mixed Python/C++ shop, there are two things going on here:
(1) the productivity gains of not having to simply will correct code into existence (which has been largely pushed by FP community!!!) don’t hold up to productivity gains of not having to reinvent industrial strength library ecosystems from scratch
(2) almost every language that was successful a decade ago and is still successful now has imported features from FP land to stay competitive

Toddlers seem to have an innate grasp of Boolean logic that must get lost somewhere along the way to adulthood. When asked if he wanted to get out of the tub himself or for me to lift him out, ours responded “no”.

Sometimes there’s an invasive vine taking over just below your hard and there’s no choice but to cry havoc and let slip the mints of war

tfw the power goes out in the middle of bathtime and the toddler says “mom how about you turn the light on” 🤣

Unapologetically boosting this because it's a nice story about a kid who fell in love with computing through @PyretLang (which runs fine on 6yo computers) and now runs his own education program. Go Isaac!

pigeonholed.co/starting-bayris

Okay and nerd types - super excited that this airship MOC I worked on for a year is now up on Lego Ideas! If it reaches 10K supports, there's a chance for it to be made into a real Lego Set. Based on Terry Brooks's "Voyage of the Jerle Shannara" trilogy

ideas.lego.com/projects/0b565e

Can’t describe how excited I am to be making Watergate Salad myself for the first time this weekend. Green goop forever.

absolutely wild ride when you get Clarence Thomas writing an opinion that sounds like it was written by an EFF publicist.

People who doubt the power of programming languages can't explain why Erlang is taking Manchester City on a magical run this season.

(Before you at me, there's no `i' in Team, and there's no `i' in Erlang, either.)

Some of the and folks may have noticed that Google released all of Google Earth as streamable glTF 3D Tiles, which is an absolutely fantastic achievement, but the use-cases are limited by the nature of photogrammetry.

@geopipe uses inverse procedural modeling to get clean geometry at human scale *and* imbue the models with enough semantic information to plausibly see what the same scene would look like at a different time of day.

here's the spot: goo.gl/maps/sfvM5ets4NgzVjxW9

Note to self: speakersafetyd ALSA mixer interlock design:

Volume unlock is built on the mixer control exclusive lock feature (need to add an ALSA core callback to the kctl to implement this).
DVC volumes are initially capped at a safe volume known to be safe for the speakers for all possible audio signals (set kernel-side).
There is a special global watchdog/unlock control (takes an integer timestamp)
speakersafetyd must first lock the watchdog control and write the current timestamp (CLOCK_MONOTONIC) to it.
It can then lock the volume controls. This fails if the watchdog control is not locked or not up to date.
When a volume control is locked by the same PID as the timestamp control and the timestamp is up to date, it removes its volume cap.
The timestamp must be refreshed at least once per second while the playback PCM stream is active (== the feedback PCM stream is receiving samples). It is allowed to remain unupdated while the PCM is inactive (volumes remain set, but time since last update is cumulative while PCM runs, PCM becoming active does not reset the timeout).
If at any point the watchdog expires or the unlock control lock is dropped (indicating the daemon died), all volumes are again reset and capped to a safe level.
If an individual volume control lock is dropped, that individual control goes back to safe mode (only).

@lzg afaict every post on BlueSky right now is discussing Nazis or thirst traps.

@dev @regehr @steve horror stories of all kinds have go to be about an order of magnitude more prevalent in the lab sciences than math/CS

Show older
Mastodon

General topic personal server.