He has a nice follow up which gets to the reasons why https://tonsky.me/blog/good-times-weak-men/ Another take: rewrites and rehashes tend to be bad because they are not exciting for programmers. Everything you re about to write is predictable, nothing looks Clearly better and it just feels forced. First versions of anything are exciting, the possibilities are endless, and even if the choices along the path are subop…
He hints at Electron in the end, but I think the real blame lies on React which has become standard in the past five years. Nobody has any fucking idea what’s going on in their react projects . I work with incredibly bright people and not a single one can explain accurately what happens when you press a button. On the way to solving UI consistency it actually made it impossible for anyone to reason about what’s happe…
Software Disenchantment (2018)
311–320 of 504 posts
Re: Software Disenchantment (2018)
#312Re: Software Disenchantment (2018)
#313Second the OS > VM > Docker > Kubernetes gripe. Soon no-one will know how to admin a sys. Companies like Hetzner ( http://www.hetzner.com ) are offering an 8-core VPS with 32Gb RAM for a mere $40 per month but all we hear about is AWS. It's insane. Facebook conqured the world on a fraction of that hardware back in 2004. Docker and Kubernetes were originally designed to solve problems managing massive fleets of server…
Re: Software Disenchantment (2018)
#314> Jonathan Blow has a language he alone develops for his game that can compile 500k lines per second on his laptop. That’s cold compile, no intermediate caching, no incremental builds. You don’t have to be a genius to write fast programs. The guy is most definitely at least a genius.
Depends on your definition of genius, but I definitely agree that these folks don't quite hold up the sentiment that "anyone can do it." I would put Martin Thompson, Raph Levien, and Jonathan Blow at least in the top 0.1% of programmers. They are great examples for his overall point though. It probably would've been better just to leave out the genius bit and talk about them as folks proving it can be done.
Re: Software Disenchantment (2018)
#315Second the OS > VM > Docker > Kubernetes gripe. Soon no-one will know how to admin a sys. Companies like Hetzner ( http://www.hetzner.com ) are offering an 8-core VPS with 32Gb RAM for a mere $40 per month but all we hear about is AWS. It's insane. Facebook conqured the world on a fraction of that hardware back in 2004. Docker and Kubernetes were originally designed to solve problems managing massive fleets of server…
My problem with that 8C/32GB machine as opposed to AWS is that that’s literally everything I want my VPC and direct connect.
Re: Software Disenchantment (2018)
#316Earlier quoted context omitted.
> Even worse, try using an OS running in a VM for an extended period of time... I do that for most of my hobbyist Linux dev work. It's fine. It can do 4k and everything. It's surely not optimal but it's better than managing dual boot.
Any hints? How are you getting any kind of graphics acceleration? What's your host/guest/hypervisor setup?
Re: Software Disenchantment (2018)
#317Earlier quoted context omitted.
Yes both appear to be a disaster. Vuejs is a bit better imo but i'm generally holding out for the next thing.
... which is https://svelte.dev
I like Svelte, the simplicity of programming in it is great, and it has several advantages compared to React. But I have no idea how it works, past a point of complexity. Like, yes: I can run the compiler and check out the JS it generates, same as I can do in React. For simple components, sometimes the compiled code even makes sense. But when I introduce repeated state mutations or components that reference each other, I no longer know what's going on at all, and I don't think I'm alone in this.
Svelte might be an improvement in ergonomics (and that's a good and much needed thing!) but it does nothing to answer the obscurity/too-far-up-the-abstraction-stack-itis that GP mentioned. The whole point of that is frameworks/abstraction layers that tell you "you don't need to understand what's going on below here" are . . . maybe not lying, exactly, but also not telling the whole truth about the costs of operating at that level of both tooling abstraction and developer comprehension.
Re: Software Disenchantment (2018)
#318Of course they’re going to accept that delay, even if adding a few million numbers together should really take less than a millisecond.
Re: Software Disenchantment (2018)
#319Long ago I watched a documentary about the early Apple days, when management was encouraging their developers to reduce boot times by 10 seconds. The argument was that 10 seconds multiplied by the number of boot sequences would result in saving many human lives worth of time. Edit: found a link with the same story: https://www.folklore.org/StoryView.py?story=Saving_Lives.txt The software world needs more of this kind…
I wish more companies thought like this in general. I often think about the nature of the work I'm doing as a developer and wonder if it's making society better off as a whole. The answer is usually a resounding no.
Re: Software Disenchantment (2018)
#320He seems to make a contradictory point... he complains: > iOS 11 dropped support for 32-bit apps. That means if the developer isn’t around at the time of the iOS 11 release or isn’t willing to go back and update a once-perfectly-fine app, chances are you won’t be seeing their app ever again. but then he also says: > To have a healthy ecosystem you need to go back and revisit. You need to occasionally throw stuff away…
Even with our priorities in order, there will still be contentious, hard choices (to deprecate so-and-so or not; to sacrifice a capability for consistency of interface or not), but the author's point is that our priorities are not in order in the first place, so the decisions we make end up being arbitrary at best, and harmful/driven by bad motivations at worst.