Live data from Hacker News

Using computers more freely and safely

akkartik.name

41–50 of 70 posts

Re: Using computers more freely and safely

#41
post #37

Earlier quoted context omitted.

Thank you. Words commenters aren't focusing on: * Prefer * "Gravitating away" * "even one of these suggestions" * "better than nothing" * "This isn't always possible. Sometimes we have to use software with millions of users. But I think it helps to rely on small-scale tools as much as possible, and to question tools for large crowds of people at every opportunity." (I'm the author.)

>But I think it helps to rely on small-scale tools as much as possible, The problem is that your presentation is not covering the various downsides of choosing "small-scale" software. There are tradeoffs and if you don't explicitly highlight them, it's a disservice to readers. E.g. You mention that large-scale software for millions is "expensive". But small-scale software is also expensive in different ways. (Softwar…

It's quite possible I'm too far captured by my own belief system, because it seems not a contest. Perhaps someone else needs to write the rebuttal, and defend mainstream software with constant bugs, vulnerabilities that stay unpatched for months, and unaccountable "feature" additions.

I'm not saying we should use situated software everywhere. I'm saying we should _try to_ use situated software everywhere. I think of this as evolutionary adaptation advice. Akin to, "you're evolved to climb trees, avoid plains." My hope is to stimulate demand for situated software, with cascading improvements in availability and convenience.

Situated software has costs of convenience. To that I say, "suck it up." It's good for you. With the full knowledge that most people will ignore me.

It's important to weight the costs on both sides by the impact when costs occur. That's a big part of why I think it's not a contest. One 0-day pays for thousands of problems on the other side.

Re: Using computers more freely and safely

#42
(bit of a rant here, you've been warned)

As someone who could've developed an IT/programming career, but didn't because I felt things were already bloating back in the '00s, I agree with the majority: "harvesting your own food" can be rewarding but also a tedious and thankless job. It's certainly not for everyone, but if it works for some people then it is (let's put efficiency aside for a moment) perfectly valid. In fact, being more of a H/W guy I find myself gravitating towards this approach more often than not. Leanness and reproducibility is key for my workflow (I went the RF-world path), I can't afford different end results when a dependency changes/breaks something.

IMHO, keeping up with the modern paradigms for S/W development looks like a never-ending nightmare. Yes it's the modern way, yeah it's the state of the art. Still, I didn't feel it was a wise investment of my time to learn all those "modern dev" ropes, and I still feel that 20 years later. I'm nowhere near antiquated and I'm on top of all things tech (wouldn't read HN otherwise), it's just...

I see former friends/classmates that went this way, and they're in a constant cat-and-mouse game where 50% of time they're learning/setting up something dev-chain related, the rest 50% doing actual work, and 98% of it feeling way too stressed. I see modern Android devices with their multi-MB apps, bloated to hell and beyond for a simple UI that takes ages to open on multi-core, multi-GHZ SOCs. I see people advocating unused RAM is wasted RAM, never satisfied until every byte is put to good use, reluctant to admit that said good use is just leaving the machine there "ready" to do something, but not doing anything _productive_ actually.

And yet.

Without that bloat, without the convienience of pre-made libraries and assist tools for almost every function one could desire, we wouldn't be where we are now. Imagine for a moment doing AI-work, 3D movie rendering, data science etc. with a DBless approach on single-core machines with every resource micro-managed to eke out the most performance. It's simply not feasible, we would still be on the 90s... just a bit more hipster.

This article resonates so well with me. And at the same time, it feels so distant.

Re: Using computers more freely and safely

#43
post #42

(bit of a rant here, you've been warned) As someone who could've developed an IT/programming career, but didn't because I felt things were already bloating back in the '00s, I agree with the majority: "harvesting your own food" can be rewarding but also a tedious and thankless job. It's certainly not for everyone, but if it works for some people then it is (let's put efficiency aside for a moment) perfectly valid. In…

Imagine for a moment doing AI-work

In many ways it's still the same. Transformers use matrix multiplication is their main operation, the underlying matrix multiplication libraries have mostly seen incremental performance improvements over the last two decades or so. Most other ops in eg. core PyTorch are implemented using C++ templates and are mostly familiar to a 2008 C++ programmer. Most of my work is largely C++/Python/Cython as it has been the last 1-2 decades. Sure, the machine learning models have changed, but those are relatively easy to pick up.

Re: Using computers more freely and safely

#44
post #42

(bit of a rant here, you've been warned) As someone who could've developed an IT/programming career, but didn't because I felt things were already bloating back in the '00s, I agree with the majority: "harvesting your own food" can be rewarding but also a tedious and thankless job. It's certainly not for everyone, but if it works for some people then it is (let's put efficiency aside for a moment) perfectly valid. In…

I was trying to square the same tension in my mind when I made OP. And the compromise I arrived at was, "try to find people with complementary interests to organize with." That's really what "software with thousands of users" boils down to. If programmers who can take the lead when software is still small and approachable, and non-programmers coalesce around their forks rather than upstream, we might slowly evolve towards the hazy societal organization I'm vaguely pointing in the direction of.

But an essential component of this plan is for non-programmers to articulate early and often their desire to migrate away from the current monopoly they are forced to use.

Re: Using computers more freely and safely

#45
post #37

Earlier quoted context omitted.

Thank you. Words commenters aren't focusing on: * Prefer * "Gravitating away" * "even one of these suggestions" * "better than nothing" * "This isn't always possible. Sometimes we have to use software with millions of users. But I think it helps to rely on small-scale tools as much as possible, and to question tools for large crowds of people at every opportunity." (I'm the author.)

>But I think it helps to rely on small-scale tools as much as possible, The problem is that your presentation is not covering the various downsides of choosing "small-scale" software. There are tradeoffs and if you don't explicitly highlight them, it's a disservice to readers. E.g. You mention that large-scale software for millions is "expensive". But small-scale software is also expensive in different ways. (Softwar…

[deleted]

Re: Using computers more freely and safely

#46

Earlier quoted context omitted.

Pity you stopped reading there because that point has some pretty solid support: https://danluu.com/input-lag/

Dan Luu's post, which I also read months ago, is very detailed, has a lot of data, but fails to make sense or come to a helpful conclusion in the end. Like so many of his posts. With helpful conclusion I don't mean just stating the facts or comparing transistors or input latency with network latency. As if developers stopped caring and created crappy software on purpose. The post compares an Apple 2e, which is a sing…

> The post compares an Apple 2e, which is a single-tasking OS that just displays the pressed key in the basic interpreter on the screen, and modern devices, where it is not always clear, what kind of app or setup is being used. But we know, that it's plenty of layers of GUI and OS code, that most people don't want to miss. Not to mention, that mot of the higher input lag is not detectable by humans in normal work conditions.

You can do an experiment for yourself along these lines. A few years ago, I pulled out an old laptop that had Gnome 2.x installed as part of an Ubuntu release from circa 2009. In every respect, the hardware from this machine (which itself had been a budget laptop when it was purchased in 2006) was worse than the hardware I was using in my daily life. I was struck (almost startled), however, by the difference in how immediately it responded to my input compared to my daily driver at the time—to the point that it distracted me from the original reason I booted it up in the first place.

A system capable of running Gnome 2.x is no pre-Mac, pre-multitasking system. In fact, it has all the capabilities/affordances that you'd expect and need from systems today. So your characterization is less than kosher (basically a motte-and-bailey).

Re: Using computers more freely and safely

#47

Earlier quoted context omitted.

> But we know, that it's plenty of layers of GUI and OS code, that most people don't want to miss. You're missing the main point: you're just assuming that we must trade those features for improved latency, but this is just not true. The properties he measured are a result of particular architectural and abstraction choices, but other choices could be made that don't necessarily require such sacrifices. For instance,…

I'm not assuming that we must trade those features for improved latency. It is a possibility, but there are always alternatives. Unfortunately in IT you always trade one set of problems for another. And clean architectures have to be watered down with time to stay practical. Nobody is smart enough to predict all pros and cons accurately. We're always smarter after the fact. When we have finished a transition and gain…

> Now you have to target highly mobile devices with small batteries traveling at high speed in metal tubes connecting to unreliable networks.

In another comment[1], I called your earlier characterization a motte-and-bailey[2]. I'd wager it was probably not deliberate in that case. I have to think, though, that you're at least aware of how intellectually dishonest this move is.

Compare like for like. The existence of my phone, running a completely different system and set of applications, has _no_ bearing on how responsive to input an entirely separate machine in a traditional laptop/desktop form factor is or explain why the state of things should have degraded over the last ~10–20 years.

1. https://news.ycombinator.com/item?id=36115622>

2. https://en.wikipedia.org/wiki/Motte-and-bailey_argument>

Re: Using computers more freely and safely

#48

Earlier quoted context omitted.

I read the whole thing, they have a section called "the punchline" that restates those bullet points. If the point isn't "the punchline", and the text certainly supports that is indeed the point, I'm not sure what is. What do you think the point is?

Everything is monolithic by accident. Source code used to be able to be shared and compiled directly with little effort. Now we have created tools to create entire systems dedicated to running source code. We have literally codified a poorly designed, middle-manager riddled organization into our current systems.

> Source code used to be able to be shared and compiled directly with little effort.

At what point was your "little effort" claim true? Compiling random OSS projects has never been particularly easy. You've always needed to hunt down all the compile-time dependencies and get those compiled/installed.

Re: Using computers more freely and safely

#49
post #22

I am not technical. I come from a science background so I am somewhat limited in regards to software development. I used to try a lot of APPS to produce documents and scruture my mind. Notion, google docs, word, calc, excel... It was fine but it I agree that some times is a pain. Google docs run very slow in my computer, Windows overheats in my laptop , etc. Finally I discovered Emacs. I am pretty bad with elisp but…

> Finally I discovered Emacs. Do you mean Emacs with Org-mode? Or just plain Emacs? I'm curious, because I don't know much about Emacs but I heard a lot of good things about Orgmode.

Yes, Emacs with org-mode. In fact, I got into Emacs because I wanted to try org-mode.

Org-mode it's just a mode, Emacs has a ton of modes, major and minor. The GNU Emacs Distribution, the Vanilla Emacs, already comes with org-mode.

It was six months ago. org-mode blown my mind. It was a transcendental experience, I was thrilled. It had everything I wished and much more. Thanks to it I discovered Emacs and I love it, it makes my life easier. What's great about Emacs is that you can solve any question you have with the manual, it's awesome, mind-blowing.

But It has a steep learning curve. I got through vim tutorial in less than an hour. Going through Emacs tutorial took me 4 afternoons, one our every day. It was 4 days because it's too much for one sitting. I almost gave up, I am happy I didn't. You have tot taking it slow, there are a lot of crucial key bindings you have to learn.

If you like writing or ordering idea, notes, etc. I recommend it, at least try it and then decide for yourself. But you have to put some time to get familiar with the Emacs ecosystem. Take it like a pianist, slow and steady makes you learn twice faster.

I am just a novice but this summer I want to try to learn more elisp and try to make one package. I hope this is not off topic. Emacs fits the description of the article, right?

Re: Using computers more freely and safely

#50
post #35

> Humanity didn't get good at building houses by building the same house a million times. The amount of quality variation that we are willing to accept in our houses is much greater than what we are willing to accept in an automobile. The quality of the automobile is BECAUSE we make millions of the same car over and over again.

> The quality of the automobile is BECAUSE we make millions of the same car over and over again.

I guess that explains why things like modern refrigerators are so much more reliable and durable than the ones that were made 20 years ago. /s

By that reckoning, modern cars should be just about perfect, modulo certain modern expectations like not emitting greenhouse gases?

Post reply on HN