HNHacker News
TopNewBestAskShowJobs

wbillingsley

868 karma · joined June 1, 2012

submissionscomments
wbillingsley··on StackOverflow now gets fewer than 1000 questions a month
When Attwood and Spolsky founded it, they commented on it being because Experts Exchange was hostile to users. https://news.ycombinator.com/item?id=3656581

If StackOverflow is being considered hostile now it's big ... well, Google the three stages of enshittification I suppose.

wbillingsley··on Singapore govt dating app uses Gale-Shapley stable marriage algorithm
Just removing the "another five'll be along tomorrow" effect of the way most dating apps work might help.

25 years married, so pardon my knowledge of modern dating being what I've heard on social media (which is always from people complaining about it, of either gender) as I'm not on any!

As I understand it, for a lot of young men, one of their preferences for settling down is that their partner's list of ex-partners is not longer than their own. (If so, there's is no point debating the gender-political rights or wrongs of their preferences because you're not going to be able to argue someone into falling in love or wanting to marry someone.) On swipe-dating apps, that creates an incentive for neither party to settle down. One party is so successful that the app keeps signalling they should keep their options open (here's more matches, why settle for this one). The other finds that matches pass their visible preferences for dating but not their invisible preferences for settling down with (because not being too successful at the dating game was one of their hidden preferences). The vitality of the market for dating kills the market for marriage.

wbillingsley··on The Life and Death of Direct File [pdf]
Profit motives in infrastructure are a bad idea. See Thames Water in the UK, for instance. It always introduces a perverse incentive where if the company in control of the infrastructure can extract an extra million in profit by making everything less efficient and costing everyone else involved a billion, it's still in that company's interest to do so.

This is a prime example of that. H&R Block, etc, benefit from there not being direct file by around $3bn in revenue or around $750m in profit. Rough sums on the time saved by direct file if everyone used it is 8h * average wage * taxpayers, which seems to be approximately $44bn. i.e. in axing direct file, it has "created" $3bn in economic activity to the private infrastructure-owner (the intermediary between you and filing your return), but at the cost of $44bn in lost time & therefore lost activity (the other things you could have been doing) to the rest of the economy.

Infrastructure is not the economy. Infrastructure is the thing the economy runs on top of / has to use. Given that it is the role of government to govern the economy, it is the role of government to ensure that the infrastructure is running well (be the custodian of the infrastructure).

wbillingsley··on The future of large files in Git is Git
Yes
wbillingsley··on The future of large files in Git is Git
What I used to recommend to my sofware engineering classes is that instead of putting large files (media etc) into Git, put them into the artifact repository (Artifactory or something like it). That lets you for instance publish it as a snapshot dependency that the build system will automatically fetch for you, but control how much history of it you keep and only require your colleagues to fetch the latest version. Even better, a simple clean of their build system cache will free up the space used by old versions on their machines.
wbillingsley··on Solving LinkedIn Queens Using Haskell
I set this as part of a Scala programming assignment for my second year undergraduate class at UNE (Australia) last term. However, during the working a square is not Queen | Eliminated but Set[Queen | NotQueen]

Largely so from a programming perspective it becomes a simplified version of Einstein's Riddle that I showed the class, doing in a similar way.

https://theintelligentbook.com/willscala/#/decks/einsteinPro...

Where at each step, you're just eliminating one or more possibilities from a cell that starts out containing all of them.

Queens has fewer rules to code, making it more amenable for students.

wbillingsley··on Why wordfreq will not be updated
I wonder whether future generations will be ingrained with a Truman Show fear that maybe only the few thousand people they meet are real and everything else is generated background noise.
wbillingsley··on The Later Years of Douglas Adams
I've never really understood the problems he had getting the Hitchhiker movie made - all the articles around before it came out talked about having to revise the script to make sense to an American audience (and the eventual movie ended up with a strangely different plot with a villain), but the original radio series is pretty much a road movie, which is almost an American trope.
wbillingsley··on Training of Physical Neural Networks
Sometimes. Foals are born (almost) able to walk. There are occasions where evolution baked the model into the genes.
wbillingsley··on When teaching computer architecture, why are universities using obscure CPUs?
We use ARM. Because then we can lean on some things (e.g. the ARMlite simulator) UK schools built for A-levels.
wbillingsley··on Oh My Git: An open source game about learning Git
That's a similar approach to the one I use for teaching git. First the sim, then the CLI.

https://theintelligentbook.com/supercollaborative/#/challeng...

(Albeit I made mine simulate how things like VS Code look while you're doing it a bit more)

wbillingsley··on Stuff that is backwards in Australia
The more obvious one is that Orion's standing on his head.
wbillingsley··on Stuff that is backwards in Australia
We do sometimes have an informal "Christmas in July". Which is a little odd, since 6 months on from Christmas would be June.
wbillingsley··on InVision design collaboration services shutdown
Sorry to see them go. I used them with students and they were always very helpful.
wbillingsley··on Can a pill prevent deaths from venomous snakebites?
It depends. e.g. In Australia, the snake most people worry about (the eastern brown - world's second most venomous and common in cities) is native, so yes it's important to an ecosystem in the broader sense. But its numbers around cities have gone up because of mice, most of which are introduced, so it's a non-native part of the ecosystem that's pushing the numbers up. Doing something to bring the numbers back down around urban centres wouldn't seem like such a bad idea. Brown snakes aren't a threatened or endangered species and though cities are large human centres, they're not a large portion of the Australian geography. (And are largely artificially maintained ecosystems anyway - those houses and roads didn't appear naturally.) There are probably other ways for dealing with mice than having the world's second deadliest snake hanging around town.
wbillingsley··on Cognitive ability and miscalibrated financial expectations
The elephant in the room in this study is how the UK economy has performed over the study period.

From a quick read, they are essentially asking people to predict whether they'll be better/worse off next year, and then correlating that with whether they were right in the next year's financial data.

Their study period looks like it's the period immediately post-GFC (2009 to 2021). As I understand it, the economy has performed better for those in professional roles, who are likely to score well on the tests of cognitive ability, than it has for lower-skilled jobs. And of course in the middle of that period, there's the Brexit vote that was pretty uneven in terms of who thought the economy (and their circumstances) would go well or badly.

It's an interesting data set, but I don't think I'd be game to make the same "causative" conclusions that they do ("Our findings suggest that these supposed consequences of optimism bias, may be a side product of the true driver, low cognitive ability").

wbillingsley··on I disagree with Geoff Hinton regarding "glorified autocomplete"
LLMs are very good at uncovering the mathematical relationships between words, many layers deep. Calling that understanding is a claim about what understanding is. But because we know how the LLMs we're talking about at the moment are trained, it seems to have more problems:

LLMs do not directly model the world; they train on and model what people write about the world. It is an AI model of a computed gestalt human model of the world, rather than a model of the world directly. If you ask it a question, it tells you what it models someone else (a gestalt of human writing) is most likely say. That in turn is strengthened if user interaction accepts it and corrected only if someone tells it something different.

If we were to define that as what "understanding" is, we would equivalently be saying that a human bullshit artist would have expert understanding if only they produced more believable bullshit. (They also just "try to sound like an expert".)

Likewise, I'm not convinced that we can measure its understanding just by identifying inaccuracies or measuring the difference between its answers and expert answers - There would be no difference between bluffing your way through the interview (relying on your interviewer's limitations in how they interrogate you) and acing the interview.

There seems to be a fundamental difference in levels of indirection. Where we "map the territory", LLMs "map the maps of the territory".

It can be an arbitrarily good approximation, and practically very useful, but it's a strong ontological step to say one thing "is" another just because it can be used like it.

wbillingsley··on Show HN: Lander, a lunar lander style web game
Give this one a go, you know you want to...

https://theintelligentbook.com/thinkingaboutprogramming/#/de...

(programmable lander)

wbillingsley··on Ask HN: Why isn't JSON-RPC more widely adopted?
> What's the big advantage of encoding whole requests into JSON blobs

If you're doing URL routing, you're at the mercy of your web framework

If you've got a data structure coming in, you're probably turning it into types in the programming language you used fast, and you're more quickly into the land of plain old programming, rather than routing configuration in a web framework.

wbillingsley··on Why hasn’t technology disrupted higher education already?
If I recall, the overhead of running a university (the fraction taken by the central institution to run campus and facilities, versus the amount coming into the schools to pay academics) is around two thirds of the student revenue in Australia.

Although that sounds large, it's not in corporate terms. Charging the customer 2.3 to 3 times an employee's salary seems about standard. And universities are notorious for casual using work to an underpaid "precariate".

That suggests there isn't a whole lot of margin for technology to capture in the first place.

After which, you find that degree-awarding is a regulated activity in most countries, offered by public institutions subsidised by government loan and contribution schemes.

Tech has had a massive influence on higher education in the last ten years, but it seems to go via universities buying more systems and services rather than "University of the Unregulated Start Up" suddenly sweeping the public-controlled market for education.

wbillingsley··on Fred Brooks has died
Hugely sorry to hear this. I met him when he was visiting Cambridge while I was a PhD student and he's a wonderful person as well as a computing luminary.
wbillingsley··on Peto’s Paradox
I've always been curious that old dogs often get cancer, despite "old" for a dog only being the early teens as well as dogs being smaller.
wbillingsley··on Most US professors are trained at same few elite universities
It would be very difficult to dispel the notion of prestige, because most output measures are highly influenced by input measures. Prestige inevitably flows into the measures.

E.g. an academic at a prestigious university has a healthy supply of able PhD students, post-docs, a "research environment" that will make applying for grants that bit easier, etc. Their publication and citation numbers will quickly diverge from their identical twin who has is less well resourced. Likewise, the PhD students at a prestigious university are more likely to be attached to well-funded grants, collaborators who have well-tuned paper mills, etc.

Academia is quite a social game. Network effects (which are one part of prestige) are a strong influence.

wbillingsley··on Scala isn't fun anymore
It seems (to me) less complex to have that as "just a library".

In most of my little projects, I don't use ZIO, I just have a tiny library I wrote years ago that lets me write stuff that works ok whether it's a Future[Seq] or a Seq[Future] or a Future[Seq[Future[Seq]]] underneath. https://github.com/wbillingsley/handy

If ZIO (or some other choice) were baked into the language, I'd be using their choice of async libnrary for everything whether I want to or not.

And I wouldn't be able to switch to the new-shiny-and-exciting-thing that comes out when I want to explore it because "sorry, X was what the designers chose when the language was written, so X it must be".

In Scala, I can use my little thing I'm familiar with, or I can try out ZIO, or Cats-Effect, or Akka Streams (before the licence change). I get to explore concepts very quickly and very easily without having to shift languages and learn a new set of build tools and syntax at the same time.

wbillingsley··on Scala isn't fun anymore
Although there are some complex libraries available for Scala, there's also a lot of very simple stuff.

It's a very expressive language, and sure that lets some libraries do some very powerful and complex things or find new abstractions that'll come across as really complex.

But it's also very good for expressing things simply. Earlier this year, I wrote some materials for teaching git in a little interactive OER I've been trying to build up. With Scala, I could write a little git simulation and embed it into my slides and it did not seem like a big undertaking.

Across these and the decks after it, there's quite a lot from simulating git, to visualising diff a simple diff algorithm, to doing git graphs that'll sit well in an interactive slide https://theintelligentbook.com/supercollaborative/#/decks/vc... https://theintelligentbook.com/supercollaborative/#/decks/vc... https://theintelligentbook.com/supercollaborative/#/decks/vc...

to letting students do an in-browser tutorial that tries to simulate a VS Code-like environment https://theintelligentbook.com/supercollaborative/#/challeng...

In the JS or TypeScript ecosystem, I think I'd have been hanging off so many libraries that I'd be dreading how fast my dependencies move. Here, I've got a dependency on one JS text editing widget and one JS Markdown parser, and one Scala dependency on (my own) little front-end framework ... and that's about it. The rest I could "just write".

Ok, my code ain't fantastically commented because I'm not expecting collaborators, but there's 15 commits in writing the whole darn thing, including the slide decks and interactive tutorial. https://github.com/theIntelligentBook/supercollaborative/com...

wbillingsley··on Scala isn't fun anymore
I sincerely hope Scala.js isn't "dead". Though I know use by academics isn't the use case you imagined, Scala.js has very much been the right choice for me publishing interactive Open Educational Resources that can include all sorts of little simulations, models, and programmable games. It's not the sort of thing I'd have time to do in any other language, but via Scala.js (and a front end framework I wrote) I can put together something that (though it's scrappy because I rarely get time to add the polish) works well enough very fast.
wbillingsley··on Age verification providers say don’t worry about California design code
Long-term, I expect identity-tracking legislation ("big brother bills") are unavoidable.

It's cheaper to generate fake content than real content. Arguably it's already cheaper to generate fake content than to read real content. At which point, the information battle gets very asymmetric. It becomes very cheap for an authoritarian regime to flood an open regime's electorate with fake content, but the authoritarian regime doesn't face the same problem.

wbillingsley··on Age verification providers say don’t worry about California design code
> For some higher risk use cases, the age check may involve a liveness test where the user must ... record a short video saying phrases requested by the provider.

I guess that'll be just in time for OpenAI or Stability Diffusion to have an app for that.

Somewhere inside a government department inspecting log-in videos "My goodness, have you seen how many websites Tom Cruise logs into each day!"

wbillingsley··on Non-Obvious Docker Uses
These do look a little like "an alternative use for a screwdriver is to use the handle to bang in nails". Yes, but it looks a little hacky and I suspect there might be another tool designed for that niche. I'm not convinced that the screwdriver development team will be prioritising its nail-banging feature long-term.
wbillingsley··on Show HN: Simple games ported to Scala 3 – Try them in the browser
If you're not using macros, moving from Scala 2 to 3 is pretty easy.

I have a bunch of 2d games I use in programmable learning environments. This is the commit that did a lot of the shifting from 3 to 3.0.0-RC1

https://github.com/wbillingsley/lavamaze/commit/0d9aca52e8e8...

A lot of it was just trivia like "it's required to put parentheses around lambda function parameters now", and "if the function is declared with an empty arg list () rather than no arg list, you have to call it with an empty arg list rather than no arg list".

If I recall, there's a compiler plugin they put out that could automatically make many of those changes, but I found it took little enough time just to do them manually that investigating the plugin wasn't necessary.

An example of one of the programmable games in action: https://theintelligentbook.com/thinkingaboutprogramming/#/ch...

Page 1 of 10Next →