8 ms·
Fast Software, the Best Software (2019)
- FrankRay78 2mo agoSlop or not, I enjoyed reading it. And could relate.
- HelloUsername 2mo agoPrevious discussion in 2019 https://news.ycombinator.com/item?id=20517144 https://news.ycombinator.com/item?id=20517144
- gsu2 2mo ago[flagged]
- ManuelKiessling 2mo agoThe article is from 2019.
- arcanemachiner 2mo agoThe slop is breaching temporal containment!
- aetherspawn 2mo agoMr. Robertson: That's the way it has to be. That's the way it's always been. You should understand that better than anyone. Temporal GPT: The snake that trains on its own tail, forever and ever?
- stcg 2mo agoWhat makes you think it is slop? The emdash?
- robjimgreen 2mo agoThis is definitely not slop. I’ve followed Craig Mod’s work for a long time and he’s a prolific, talented, and very human writer.
- nubg 2mo ago> EDIT: I didn't say _AI_ slop Ahahaha holy cope
- sgarland 2mo agoI think the author has a certain writing style that you apparently dislike, which is fine, but it’s hardly slop. I agree that the comparison between Sketch being somewhat unreliable but fast undercuts the claim that speed and reliability often go hand-in-hand — though one could argue that the modifier “often” saves it. I’ve found that writers who self-profess to have ADHD often write in this way, with multiple, seemingly disparate points being made that can tie together if you squint. As an ADHD person who enjoys writing, it makes sense, and at least in my head, these points always connect; I’m just not great at demonstrating how they connect. I’ve no idea if the author is neurodivergent, but it’s one possible explanation.
- mtsolitary 2mo agoCan’t think of a less sloppy writer than Craig Mod…
- fmajid 2mo agoNo, no software is the best software. BTW, the title should say "(2019)".
- embedding-shape 2mo agoBest solution is no software, or as little code as possible. But that the best software is no software isn't very practical or actionable :)
- fmajid 2mo agoExample: I only buy basic Logitech B110s wired mice. No vendor software needed to activate mostly useless extra functionality, compatible with every single OS, including OpenBSD which doesn't support Bluetooth. In this case, no (driver) software is the best software.
- dan_i 2mo ago[dead]
- thunderbong 2mo agoNo code is faster than no code
- sfn42 2mo agoFaster at doing nothing?
- benj111 2mo agoYes. If you want to do foo. You don't need framework bar to load baz or call home to qux. That's all added complexity that isn't inherent to the task. So we aren't talking about not doing bar. We are talking about not doing all the other things that aren't for the benefit of the user.
- coldtea 2mo agoYes. Code doing what you need && nothing else is better than code doing what you need && 10 other things you don't need but have to take a perf/memory/clutter hit for.
- rossant 2mo agoI fully agree. I loathe slow software. I hate bloat. I love fast software. As a developer, I'm completely, even irrationally, obsessed with speed, performance optimization, and profiling. I wish more developers felt the same way.
- jonhohle 2mo agoThere are dozens of us! Dozens!
- sota_pop 2mo agoWe understand more than you’ll never know.
- coldblues 2mo agoIrrational how? What higher values does it undermine for you to make fast software?
- didgetmaster 2mo agoOP is probably referring to many engineering managers who think it is irrational to spend an hour in order to speed up a computing task that only shaves a few milliseconds off. Even when that software is widely used so the few milliseconds add up to thousands of hours in collective time savings. 'We don't pay for user's time, only your's', is the attitude. Again 'irrational'.
- Sesse__ 2mo agoThe sad part is that most employers don't care particularly about performance optimization skills (the economics don't work out, they can often just fix the problem cheaper with more hardware—and even if they can't, they mostly don't bear the cost themselves). The fun part is that when your employer _does_ care about software optimization, few people are actually good at it and your skills are more exclusive :-)
- jimbokun 2mo ago
- Ygg2 2mo agoHonestly, I'm in partially disagree camp. What matters is how much time it saves. A good WYSIWYG editor will run circles around the fastest text editor. Even if WYSIWYG is a bit slower to open. It would be preferable for software to be more focused and faster over time, but that doesn't attract people to it.
- jdw64 2mo agoFast and efficient software varies depending on the local context, but for me, I think I'd be fine with something slower as long as it's convenient enough. After all, once it passes a certain threshold, I can barely even notice the speed difference anyway. I wonder what OP's thinks of IDEs like VSCode. Would they see it as heavy and not great because it's Electron-based? But I find IDEs convenient.
- deleted 2mo ago[deleted]
- jimbokun 2mo agoDidn’t ask me but I’ve been enjoying Zed and finding it a big improvement over using VS Code.
- ungreased0675 2mo agoI run headless Alpine Linux (a minimal distro) in my homelab and it’s fast AF. The lag in Windows Explorer is sad when something like cd folder/folder is instant in Linux.
- prodigalknight 2mo agoTo be fair, cd folder/folder is also instant in a command line in Windows, it's just the GUI aspects that are slow. Comparing Windows Explorer to a terminal is comparing apples to oranges.
- bayindirh 2mo agoI don't think so. Windows is a GUI first OS, and Linux is a CLI first (or even CLI native) OS. You can't open a command line window in Windows without loading more than half of the desktop stack. In that sense, when a terminal (running on a desktop environment) in Linux is faster than Windows Explorer, it's a shame. When a big file explorer like Dolphin drives circles around native file explorer of Windows, that's a big ole embarrassment.
- pjmlp 2mo agoExplorer used to be fast, when it was a pure Win32/COM application. Then came the rewrite to adopt WinUI elements, and WinRT as well,.....
- bayindirh 2mo agoI know. I used to spend countless nights on older Windows versions, you know, when I was young(er). Now I know better and don't use that thing as a daily driver for... 20 years now? :D
- sgarland 2mo agoI don’t think I’ve ever noticed a difference in speed on the terminal between distros. Shells (or more accurately, plugins / frameworks - I recently gave up oh-my-zsh in favor of zimfw for that reason), yes, but not the terminal itself.
- pgisapedo 2mo agoNo way I wanna chat with my oven
- mike_hock 2mo agoGot any burning questions today?
- jagged-chisel 2mo agoMaybe a few half-baked thoughts.
- ivanjermakov 2mo ago> Google Maps has gotten so slow When it comes to navigating (except public transit), hiking, and route building, Organic Maps[1] is very good. OSM data and offline-first is the way forward for detailed and _fast_ map experience. For cycling route building I have to mention BRouter[2], which allows you to write a custom cost function that is used to tweak your route preferences. [1]: https://organicmaps.app/ https://organicmaps.app/ [2]: https://brouter.de/brouter/index.html https://brouter.de/brouter/index.html
- titanomachy 2mo agoCool! I'm guessing no traffic data in organic maps? I'd still install it to use as a backup.
- deleted 2mo ago[deleted]
- hansvm 2mo agoI remember an engineer I talked to recently saying that OSM didn't have sufficiently up-to-date data for their routing use case -- new roads, closed roads, traffic data, etc. Is that the case?
- rurban 2mo agoNo. It's their route function which sucks compared to Google maps. Their data is better and newer.
- dmurray 2mo agoIsn't OSM the data layer, and people are free to build apps on top of it? "The data is better than Google maps, it just needs a better routing algorithm" should be catnip to a certain class of OS dev. If it's really true, I'll take a crack at it myself!
- 2mo ago
- deleted 2mo ago[deleted]
- wseqyrku 2mo agoI think it's the different feeling you get from using an end-to-end streaming service (compute, not videos) versus the one that does a lot of intermittent buffering. It's quite subtle actually. Using a vanilla language model can feel like that if it's also sufficiently small but they are going towards the opposite direction very rapidly now because cloud.
- countWSS 2mo agoThe neglected part here is latency, speed itself can be masked by progress bars/animations, but having visible lag ruins the idea of speed and users treat it as slow vs animated loading bar.
- archargelod 2mo agoMaybe it's me who's weird, but I find animations as much worse - it's basically pointless and wastes slightly more time (even when program is fast enough!). The interface without animations feels snappier even if sometimes it takes a second to load. I disable any and all animations in software that I can - particularly in Android (via developer settings) and Linux (i3+vim vs something like KDE+VScode).
- qup 2mo agoAs a kid I liked the interfaces that lagged badly, but still accepted input perfectly. It felt like I was racing. Type the whole message before the screen updates? Check. I miss AOL sometimes.
- kazinator 2mo agoSome tiny amount of animation is needed to show that the system has responded. I regularly use a website in which a submit button does not change state in any way. It is indistinguishable from the click having gone to /dev/null. And the completion of the action takes a copule of seconds. It's literally, "no response ... few seconds ... oh, done!" If the button simply responded in the usual way, like 3d poppin in and out effect, it would be better. The UI can change state also to show some "wait ..." text. These are examples of animations, just not progressive/persistent.
- TeMPOraL 2mo ago> I regularly use a website in which a submit button does not change state in any way. It is indistinguishable from the click having gone to /dev/null. And the completion of the action takes a copule of seconds. In the good old days, you'd have the request sent by that button reveal a small, transient status bar showing the target URL at the bottom, plus the "Refresh" button in the browser toolbar would change to "Stop" instead; both effects lasted for the duration of the network roundtrip. It was enough of an indicator, and since it was not controlled by the website, it wouldn't break or lie to you.
- giovannibonetti 2mo agoShout-out to PowerSync for making it easier to develop fast offline-first mobile apps. It pushes data from Postgres/MySQL/SQL Server subscriptions to a SQLite into the user's mobile device, avoiding the need for many loading animations when the data is there ahead of time. My company is a customer and we recommend it.
- MomsAVoxell 2mo agoYes, there are so many examples of this .. a recent one for me, is iStatMenu .. it just got to the point that waiting for it to start, alone, was sufficiently boring enough that I sought an alternative .. and of course, I realized, there's no reason not to use the Linux tooling I'm accustomed to, and so I have btop where iStatMenu used to live, kinda. btop doesn't get in the way, doesn't phone home, doesn't check a registration key, isn't harvesting key clicks, and .. so on .. its just small, light, and fast. Well, with the encumbrance of it living in a terminal window, but I also live in the terminal window even on MacOS, so its a feature not a bug. Point is, I wouldn't have this to say about it if iStatMenu had just been a little more discrete about its loading times ..
- satvikpendem 2mo agoStats is the open source version I use
- williebeek 2mo agoI will read this entire article tomorrow while I wait for the Cursor UI and Visual Studio to finish loading.
- jimbokun 2mo agoI’m really enjoying Zed. Definitely much more responsive than VS Code.
- sylware 2mo agoRemove the specter and friends mitigations from your linux kernel, and your system will be significantly faster.
- mwkaufma 2mo agoShout-out: Voidtools Everything on windows. Lightning fast file search.
- nvms 2mo ago[flagged]
- kazinator 2mo agoIf the software is fast as a byproduct of being simple, that tends to align with correctness. If it is fast because it is optimized, then that does not align with correctness, because optimizing something that works only adds risk.
- snek_case 2mo agoSimple software is also easier to optimize. The simpler it is, the less weird corner cases you have to deal with.
- mikebs1 2mo agoIn production operations this plays out concretely. The systems that hold up under incident pressure are almost always the simple ones. Clever optimizations are the first things to behave unexpectedly at 2am.
- RetroTechie 2mo agoOne could say that (for whatever reasons) many software makers do a poor job of keeping non-essential stuff out of their software. And/or do a poor job of taking the shortest route from user input -> result. Never mind UI design. Similar thing is happening with web sites. Lately I've done "view page source" on eg. news sites I visit. Common pattern: 100s of KB html, loads & loads of meta tags, then a mountain of CSS junk, embedded scripts etc, and at the very end: maybe 3..5 paragraphs of text (a few dozen words each) with actual content. That's not counting images, video or external scripts, stylesheets, fonts etc. Oh and images not from the actual subject discussed, but 'random' sample illustration from an image library. Ok sure, you want to add some meta-tags to html documents. You want a page to look good, and run a couple of scripts. But do you need a MB+ of that to provide a few KB of text to your visitors? NO YOU DON'T. >95% of that is non-essential crap that shouldn't be there in the 1st place. There's little doubt in my mind that (most) software development works the same way. Bad incentives -> crappy software.
- aetherspawn 2mo agoJust because something doesn’t perceive to be lightweight doesn’t mean that it isn’t. Many modern web frameworks are extremely lightweight (ie Svelte), but it’s complicated how they achieve it, and the source code looks like sludge.
- rurban 2mo agoAlso called: "Death by PM" Esp. known from Microsoft, Adobe, Google. Should be added to the Antipatterns repo
- roncesvalles 2mo agoOn this note, (from a web dev perspective) I think we've overdone making the static build as lean as possible and pushing everything into the backend. E.g., if a 2MB dataset will make a search/select bar return results instantly instead of having to roundtrip an API, just send up the whole dataset with your initial load. After gzip it's nowhere close to 2MB anyway. Also, I think suspense is an anti-pattern now. We've all been conditioned to groan every time we see suspense animations because it means the website must be slow. It's better to just have a little circling loader or just freeze.
- esafak 2mo agoWhat do y'all do and use for performance testing in CI, given that host speed can fluctuate?
- iLemming 2mo agoFree and open-source software is certifiably best. Even when the proprietary alternatives have better features and are faster. I've been using computers for decades, and have used dozens of paid products, but not a single paid option stuck with me forever, while tons of open-source tools are literally irreplaceable - and not because I'm just used to them, but specifically because they give me control to customize them just the way I need.
- arikrahman 2mo agoRapidRAW offers a good lightroom alternative nowadays.
- purple-leafy 2mo agoSlow software sucks and simple is good. I’m making browser games and my core idea is that they must be fast as hell and light as hell. Such that they can run on a potato! Unfortunately this means cutting non essential animations lol. And testing on throttled devices (low end mobile) and respecting thermal throttling A recent win for me for performance was: - 8192 simultaneous entities on screen path finding, checking reward functions, making strategy decisions with zero frame drops - sub millisecond average frame Time (more like sub 0.5ms) with 256 entities on screen (logic and rendering) - “compressing” game replays from 100KB naive to 1KB
- deterministic 2mo agoA typical problem with software is that development continues after the software has already reached its peak. Instead of making it better, new features and changes gradually make it worse. Eventually, enough users leave that it is no longer worth paying a team to keep working on it. And then the cycle starts again.
- bryanrasmussen 2mo agohttps://medium.com/luminasticity/on-premature-optimization-in-entertainment-development-d2f66083cb26 https://medium.com/luminasticity/on-premature-optimization-i... wanders a bit around the premature optimization history, but later has >Nowadays almost all development is for things that are not necessary. Pretty much all modern development is for things that are entertainment....The difference between things that are necessary and entertainment is that you will wait however long it takes to do the necessary thing in the reductive view of the article everything that is not necessary is termed entertainment. But I have noticed this. I often drop useful things because it just isn't worth it to wait. So the argument really is, in today's world, speed is almost always the most important factor anything accessed through the computer can have.
- winrid 2mo agoPretty proud that after six years fastcomments is still only about 30kb I should probably work again on getting that down some :)
- zombot 2mo agoThe best software is correct and safe software. Rating "fast" more important than that is what started all this "worse is better" mess in the first place. Just not enshittifying and not using Electron should be fast enough if you don't write dumb code.
- Self-Perfection 2mo agoI am mulling the idea that we need a day of fast software software to spread the [culture?] of loving fast low-latency software. Like a programmers day or sysadmin day. That is a special celebration of fast software. To celebrate one should find faster alternative to some of his usual tools, try to switch and spread the word. Or maybe avoid opening Jira for a day at $job.