by joshbochu on 5/2/22, 2:47 AM with 408 comments
by cedws on 5/2/22, 6:00 PM
Their devblogs are really nicely written and you can tell they are extremely passionate about getting things right. In my experience that's a rarity now.
And of course, it's a brilliantly addictive game.
by throw10920 on 5/2/22, 8:27 PM
Forth, Lisp (Scheme, in particular - I love CL but it's the C++ of Lisps), and Lua - three languages that take a small set of elegant primitives and synthesize them to give you incredible power.
Remember the Milk is a task-tracking SaaS that is one of the few pieces of software that I actually like, which is especially impressive given that it's proprietary. Cheap, fast, effective, and with a UI design that continually impresses me with its mix of intuitiveness and ergonomics.
by mikewarot on 5/2/22, 5:29 AM
Nothing since is anywhere near as productive. Lazarus is ok, but the documentation is horrible, (almost non-existent, only doc-strings in many cases) which makes the system far less useful.
by m-p-3 on 5/2/22, 11:48 AM
by jrm4 on 5/2/22, 6:27 PM
As someone who very much enjoys tinkering with Linux and such, but also likes trying to onboard other people who aren't as techy, Syncthing is such a killer example. It's almost depressing because I want other free and open source stuff to be this good, though I know the economics (and proprietary interference, perhaps?) make that tough.
by bajsejohannes on 5/2/22, 9:14 AM
by tjstebbing on 5/3/22, 5:40 AM
Vim's entire command model is based on the simple composition of motion and action.
Until you understand this you will never 'get' vim. You may be able to use it, even efficiently, but you will never understand how these two simple concepts when fully understood are a force-multiplier.
Motion indicates a range, of characters or lines, there are motion keys that will get you: to EOL, to EOF, to next matching char, to braces, to function / class blocks, to predefined marks.
An action is something that applies to that range, these can be anything from auto-formatting, changing case, calling out to another process, anything you can imagine.
When you understand this suddenly g=GG, ct(, y$ become: reformat document, cut to next paren and copy till EOL respectively. Does that sound horribly esoteric? that's only because you don't yet understand vim motion composition.
I'm happy to argue that if anyone fully understands this concept they cannot help but agree that vim is at it's heart seriously elegantly designed software.
by pyjarrett on 5/2/22, 6:22 PM
It's almost like Git + Gitea, all in a single application. Code + tickets + wiki + notes all version controlled and capable of hosting the server itself. Also, the repo is just a SQLite database, so backup is easy.
by Centigonal on 5/2/22, 11:44 PM
The game is beautiful, performant, and almost entirely hand-written assembly by one guy.
Plus, the parks themselves can look very elegant (kind of like factorio factories).
https://www.pcgamesn.com/rollercoaster-tycoon/code-chris-saw...
by jeppester on 5/2/22, 9:32 PM
I'm aware that the concept can be difficult to grasp and that the cli commands seem weird at first.
Once it clicks however, it's an absolutely fantastic tool. I'm still often amazed by what is possible with selective resets, diffs, greps, and most impressively interactive rebases. It makes a lot of otherwise difficult tasks much easier, and more elegant.
Git is IMO one of the most important pieces of software made in the last couple of decades and should be celebrated more for it.
by hatchnyc on 5/3/22, 1:18 AM
For obvious reasons it is much more common to see this level of design in physical, life-critical systems like aerospace or automotive technology, but you do see it sometimes in software. Well designed services that under heavy load, various kinds of infrastructure failure, attack, or other kinds of scenarios well outside the bounds of normal expected operations intelligently compensate while signaling alerts with precise, useful information, and attempt whatever kind of recovery is possible.
This is hard to anticipate and often thankless to build in advance. It's always a stressful time when this behavior is visible, but it gives me a feeling of admiration for the perhaps long gone employees who built it.
by biorach on 5/2/22, 8:52 PM
by gordon_freeman on 5/2/22, 7:26 PM
by blenderdt on 5/2/22, 8:56 PM
It's architecture, the window manager/system, the UI, how it is built by and for the users, how the API is integrated and how fast it is compared to other software.
by iwebdevfromhome on 5/2/22, 8:00 PM
Some time ago I spent a good amount of time looking for a development stack that allowed me to just build stuff. I ended up trying and deciding on Laravel Jetstream with InertiaJS https://jetstream.laravel.com/2.x/stacks/inertia.html. Laravel was easy enough already to just pick and do things, now this solves the backend+frontend projects for me by allowing me to just put vuejs components on top of my laravel app and jetbrains already comes with Auth stuff setup solved.
by superasn on 5/2/22, 7:17 PM
I run 4 monitors on 2560 resolution on two separate amd cards and everything runs flawlessly. I have all the software for free and most OSS is just as good if not better for my work (except games and Photoshop but photopea is a good alternative for that, and it can be easily my second nomination for this thread).
I know linux has evolved a lot and it's the effort of millions of volunteers which has made Linux what it is today, but for me personally Linux Mint really combines all the great things about linux into an amazingly elegant software.
by emschwartz on 5/2/22, 6:45 PM
They did a really nice job of building thin layers up the stack from byte buffers (bytes), to async-friendly logging (tracing), basic IO (mio), async runtime (tokio), generic request/response services (tower), HTTP (hyper), and a web framework (axum).
Each of the layers are useful independent of the other layers above, and every one is has a thoughtfully designed, pragmatic interface.
by Stampo00 on 5/2/22, 8:35 PM
Non-trivial graphs will make it produce hard-to-read output, and you can try fiddling with it forever to get better output. But it's still the first thing I reach for when I have to make a graph.
by Gualdrapo on 5/2/22, 6:32 PM
Another example might be my favorite text editor, vis[1].
[0] https://www.openbsd.org/ [1] https://github.com/martanne/vis
by GiovanniP on 5/2/22, 7:42 PM
by 13of40 on 5/3/22, 12:33 AM
by yewenjie on 5/2/22, 6:20 PM
by whoibrar on 5/2/22, 6:47 PM
Simple. Free. Open Source. E2E encryption. Basically, No frills.
Their idea is to make software not with most features but the one that stays until the next century.
They have a great blog on this philosophy. https://standardnotes.com/longevity
by jjice on 5/2/22, 8:28 PM
Pipes in Unix as a concept are also a great abstraction. A bit dated, but still every powerful today.
Files in Unix as well. Some people have gripes which are fair, but the idea that a device, a file, and a socket are all accessed via the same API is fantastic. Of course there are issues, but it's generally worked really well for me.
by pixelmonkey on 5/2/22, 5:47 PM
Graphite for "simple" time series storage:
https://www.aosabook.org/en/graphite.html
HLL datatype (PFCOUNT, PFADD, PFMERGE) in Redis for counting unique items in a set:
Data structures and algorithms that make Lucene & Elasticsearch fast (video):
by ohiovr on 5/2/22, 8:55 PM
by madjam002 on 5/2/22, 5:55 PM
by ashton314 on 5/3/22, 12:01 AM
Can’t find original pub; here’s someone’s host of the original paper though: http://webyrd.net/scheme-2013/papers/HemannMuKanren2013.pdf
by _virtu on 5/2/22, 8:08 PM
by _vdpp on 5/3/22, 2:25 AM
Visual Basic (cue the hecklers). Yes the language is awful. But the tool was great. I wish Microsoft (or somebody) would release a new version for full-stack apps with a drag-and-drop UI with js event handlers, easy backend framework, and a one-button “deploy to cloud” button for testing. Then a “publish” button that sets up your CI pipeline for production deployments. I feel like we’ve raised the white flag in terms of what software development should look like in 2022. Writing yaml feels like banging rocks together compared to possible alternatives.
by jasfi on 5/2/22, 7:23 AM
by laserbeam on 5/3/22, 4:04 AM
I've used it to:
- batch edit columns copied from excel files.
- wget/rename/run cli commands on dozens of inputs without having to worry about how for loops are written in bash/bat/powershell by just typing commands on a hundred lines and concatenating them with &&
- extract data from various text files without writing parsers or even thinking about regexes
This is one keyboard shortcut, with one of the smoothest learning curves ever. Pure elegance.
by jdauriemma on 5/2/22, 6:48 PM
by kettunen on 5/2/22, 7:56 PM
Of course the current/latest version of it has took a life of its own in size and complexity (but of course with performance and reliability too) but the initial version still shines through!
by phoehne on 5/2/22, 5:51 PM
by Mister_Snuggles on 5/2/22, 8:48 PM
They're games, and relatively short/easy, but it's beautiful and elegant.
by leobg on 5/2/22, 4:10 PM
by sidcool on 5/2/22, 5:24 AM
by carapace on 5/3/22, 12:50 AM
Prolog. There's a reason it's been king of the Logical Paradigm for decades.
Oberon OS.
Turing Drawings. ( https://maximecb.github.io/Turing-Drawings/ )
procmail ( https://en.wikipedia.org/wiki/Procmail ) one of the most beautiful (yet hideous) programs I have ever read.
by dusted on 5/2/22, 8:09 AM
by archielc on 5/2/22, 8:30 PM
by nikivi on 5/2/22, 10:38 AM
by j-pb on 5/2/22, 5:56 AM
Although one might argue it to be a case of really elegant documentation and literate programming.
by Sohcahtoa82 on 5/2/22, 3:59 PM
A full-featured IRC client for Windows that includes an entire scripting language and yet it consumes less RAM than calc.exe.
by dragontamer on 5/2/22, 7:11 PM
Some of the best C++ code written. Extremely clear and concise. Chess-AI is a bit complicated but the source-code + comments seems to inform the programmer where all the problems are.
by kretaceous on 5/2/22, 7:49 PM
Kitty, the terminal emulator by Kovid Goyal
wouter, a minimal JS routing library
espanso, a text expansion program
KDE Connect
Tailscale
The last 2 together
curl
by centur on 5/3/22, 2:51 AM
by oxley on 5/3/22, 3:43 AM
If you're ever in Paris, get a front-row seat on subway line 14 and feel the magic.
by lukasb on 5/2/22, 8:39 PM
Very simple, instant search, and having the same UI for searching and creating notes is genius - way fewer duplicated notes, for one thing.
by xupybd on 5/2/22, 9:47 AM
by paulgb on 5/2/22, 8:04 PM
by wrnr on 5/2/22, 8:15 PM
Geometric algebra for any R{p,q,r} dimensional space. Has it own custom JS to JS transpiler so the literal number "1e10" becomes a bivector. The code is just around a thousand lines while it lets you do amazing things like this right in the browser:
https://enkimute.github.io/ganja.js/examples/coffeeshop.html...
by rkagerer on 5/2/22, 8:41 PM
It's written in C# and the design seemed clean and approachable (at least a few years back when I tailored it a bit for my own use).
by PascLeRasc on 5/2/22, 8:51 PM
by mym1990 on 5/2/22, 9:46 PM
by zelon88 on 5/3/22, 4:41 AM
I used this to show my kids how computer games work. I started out by showing them Unreal Engine 4 so they understand the modern tool chain, but that still leaves the mystery of how the game is represented inside the computer. Within minutes you can have some code drawing things, real graphics, on the screen. I cannot adequately describe how easy it is.
The experiment I did with them (young kids) was define some variables, draw a counter on the screen, start a loop, and then increment the counter. After they saw how that was represented to the computer it was easy to get them to imagine a character with all of his stats assigned at the beginning and then updated on every iteration of the loop as events take place. But with kids you've gotta move fast or they lose interest. PyGame makes creating games so fast you can literally pick it up and start teaching it to kids without knowing it yourself. It's that good.
by linkdd on 5/2/22, 11:18 PM
It allowed me to implement a mini OTP framework in Python[1].
by sirodoht on 5/3/22, 1:59 AM
> Abstract: We show that it is Scheme, of the Lisp family, the language that deterministically emerges when one opts for elegance.
by AlanYx on 5/2/22, 5:47 PM
by spacechild1 on 5/2/22, 9:16 AM
by morelandjs on 5/2/22, 1:48 PM
by andrewmcwatters on 5/2/22, 7:15 PM
I'm not sure what other protocols exist today for tracking a list of servers, providing information on them, and are as up to date as the frequency of the heartbeats from those servers, but I suspect there are similar protocols out there, and I'm just not familiar with them.
Unfortunately despite how elegant the QSpy protocol is, most modern video games no longer provide server browsers as first-class features, eschewing them in favor of matchmaking services or publisher provided dedicated servers.
by spindle on 5/2/22, 4:05 AM
by orsenthil on 5/3/22, 1:42 AM
The language design of python made almost everyone learn programming.
by tigerlily on 5/2/22, 6:22 PM
Altium
Comsol
Proprietary yes, but I’ve used all three over the last few years and found them each to be very streamlined, productive, and elegant after a fashion.
by heavyset_go on 5/2/22, 6:24 PM
by throwawayboise on 5/2/22, 6:50 PM
by alexose on 5/3/22, 3:45 AM
OurGroceries, a lovely little free app to share grocery lists with your family FooBar2000, an early windows-based media player uTorrent (or at least the very early versions, before it became bloatware) Snapchat (again, the early versions when it was 5x quicker than any other mobile photo sharing platform)
by type0 on 5/2/22, 1:27 PM
by rodgerd on 5/3/22, 1:15 AM
It's very focused on the task of writing - novels, short stories, screenplays. It pares away the parts of e.g. a word processor that are distracting (layout and the like), adds the functions of a database for tracking characters, locations, research and so on.
The underlying implementation is also storing as plain files in directories, so you can be comfortable that you'll be able to retrieve your writing if Scrivener no longer exists.
by uhoh-itsmaciek on 5/3/22, 12:23 AM
Also, at any point in time, it's likely to have zero open issues and zero open pull requests, which is pretty impressive for a project of its size.
by nderjung on 5/2/22, 6:32 PM
by smm11 on 5/2/22, 10:12 PM
To be fair, my job lend itself toward this at the time, the WWW was nowhere near what it was a few years later, and everything-tied-to-everything was miles away. But this blew my mind.
by spacemanmatt on 5/2/22, 9:16 AM
by anthk on 5/2/22, 7:59 PM
- CWM
- Music On Console
- Sfeed+sfeed_curses+xargs+wget+MOC
- Entr
- Mit-Scheme + Edwin + SICP. It doubles as an IMAP client. Use Stunnel for TLS.
- UDFClient
- NNCP
- S-Nail. It can be easier than Mutt.
by djmashko2 on 5/2/22, 7:14 PM
by ibejoeb on 5/2/22, 6:21 PM
https://www.oreilly.com/library/view/beautiful-code/97805965...
by ju-st on 5/3/22, 11:57 AM
by aasasd on 5/3/22, 5:11 AM
by Helmut10001 on 5/3/22, 3:36 AM
Their Setup for the Docker stack [2] is not only well documented, but also suitable as a blueprint for any persistent software setup with Docker. They also have a mentality for documentation as a firct class member, which is really important for OSS and self-hosting. You'd have to look hard to find any outdated piece of information or lazy written part in the docs. Lastly, the interface is just beautiful, simple and elegant. I finally enjoy listening to my music library again.
[1]: https://funkwhale.audio/ [2]: https://docs.funkwhale.audio/installation/index.html#availab...
by saikatsg on 5/2/22, 6:52 PM
by pddpro on 5/2/22, 10:53 PM
by ibiza on 5/2/22, 7:43 PM
https://en.wikipedia.org/wiki/History_of_the_Berkeley_Softwa...
by reacharavindh on 5/3/22, 11:39 AM
Scrubs
Distributed parity
Hot spares
Encryption
Snapshots
Compression
Quotas
All in an intuitive way that led to an almost cult like following in the Unix/Linux admin world.
by throwaway_dcnt on 5/2/22, 9:27 PM
by memorable on 5/3/22, 12:06 AM
by crispisulcans on 5/2/22, 9:52 PM
by eimrine on 5/2/22, 3:23 AM
by spogbiper on 5/2/22, 7:44 PM
by libraryatnight on 5/2/22, 11:07 PM
by hadrien01 on 5/2/22, 6:40 PM
by phkahler on 5/2/22, 10:00 PM
https://solvespace.com/index.pl
A single executable of about 6MB with pretty significant capability.
The source code is pretty clean as well.
by LargoLasskhyfv on 5/3/22, 6:23 AM
by xtiansimon on 5/3/22, 11:53 AM
If yes, then I’ll offer an oldie but a goodie: Adobe Photoshop.
Many of its tools are intuitive. As a photo artist you don’t want the application getting in your way. It’s easy to learn how PS organizes multi-color/layer/channel images. You can do a lot with a little bit of knowledge of the application, so you can do the simplest things easily and quickly. With more application skill you can produce the highest quality images necessary for _any_ static image project.
by nicbou on 5/2/22, 7:13 AM
OwnTracks is an app that logs your position and sends it somewhere else. It has been running on my phone for like 2 years without issues, and talks to a server I wrote myself.
FolderSync syncs folders on my phone to remote storage. It's super flexible and generally just works. The conditions for syncing are highly configurable. I lament the lack of a similar utility on Mac - basically an rsync+cron UI.
by movetheworld on 5/3/22, 5:30 AM
I tried many alternatives, then finally found XYplorer. It is so easy to use, well structured, but when needed it is also a power house full of soo many tools you otherwise need another app for. Really loving it and many kudos to the only(?) developer from Germany who constantly improves it.
by HermanMartinus on 5/2/22, 10:57 AM
by pphysch on 5/2/22, 5:51 PM
Match this, do that.
by Tao332 on 5/3/22, 3:28 AM
The first thing that comes to mind as elegant compared to the alternatives is k9s for managing/monitoring kubernetes.
by leobg on 5/2/22, 4:12 PM
by version_five on 5/3/22, 12:55 AM
by nabaraz on 5/2/22, 7:14 PM
by cnees on 5/2/22, 9:19 PM
by elihu on 5/3/22, 12:01 AM
Rustc.
Pov-RAY (for creative interpretations of "elegant").
Diff and patch.
The original Starcraft and BroodWar.
Battle for Wesnoth.
Bittorrent.
Probably one not many people have used or heard of: CoCreate Solid Designer.
by caraboga on 5/2/22, 9:14 PM
by dhash on 5/2/22, 11:14 AM
- Propellerheads Reason, a sweet DAW
- emacs, a text editor so elegant it’s a real OS
- Procreate, the nicest iOS drawing app
by ur-whale on 5/2/22, 7:40 PM
by drunner on 5/2/22, 6:08 PM
by commonalitydev on 5/4/22, 9:10 AM
Microsoft SQL Server 7 or later
NextStep
BitTorrent (more the protocol, but could also apply to any good implementation)
JetBrains software (pretty much any of it)
Think Pascal
ZFS
OS/firmware in Nokia “slab” phones from the late 90’s
StarCraft II, original Tetris, original SimCity (since all the cool kids are suggesting games)
by f0000 on 5/2/22, 9:58 PM
https://vega.github.io/vega-lite/ https://altair-viz.github.io/
by nope96 on 5/2/22, 10:26 PM
even on an ancient laptop, it runs smoothly. I had no idea a javascript game could look/play this good. I've spent 100 hours on it since I first saw it posted here on HN
by protomyth on 5/2/22, 9:27 PM
PFE back in the day. Simple macros and templates that made life much easier in a small package. Some editors today don't even bother with macros or have all of PFE's options.
by usr1106 on 5/3/22, 5:46 AM
by MichaelMoser123 on 5/3/22, 4:42 AM
by otikik on 5/2/22, 9:40 PM
by dustractor on 5/2/22, 8:48 PM
by ubadair on 5/3/22, 3:55 AM
by RubberMullet on 5/2/22, 8:19 PM
Macromedia Director, it was amazing how quickly you could create an interactive standalone app or CD-ROM.
by orhunp_ on 5/2/22, 6:49 PM
passwordstore.org
by iroh2727 on 5/3/22, 2:07 AM
by weef on 5/3/22, 12:08 AM
by bradwood on 5/2/22, 8:20 PM
by xhrpost on 5/3/22, 4:23 AM
by d08ble on 5/2/22, 9:22 PM
by hulitu on 5/2/22, 7:38 AM
by jansc on 5/2/22, 5:58 PM
by sparker72678 on 5/2/22, 9:43 PM
by chrisweekly on 5/2/22, 9:14 PM
by SeanLuke on 5/3/22, 12:47 AM
One of the most beautiful spreadsheet programs ever designed.
by blame-troi on 5/3/22, 1:50 AM
by modinfo on 5/2/22, 8:02 PM
by Zecc on 5/3/22, 7:41 AM
by annowiki on 5/2/22, 7:05 PM
by rad_gruchalski on 5/3/22, 11:56 PM
by Stampo00 on 5/2/22, 8:37 PM
It's not everyone's cup of tea, but given the limitations it has decided to work within, it really is a wonder.
by spacemanmatt on 5/2/22, 12:20 PM
Telix
QEdit
by felipemesquita on 5/3/22, 1:22 AM
by hnarayanan on 5/2/22, 7:43 PM
by smokeyfish on 5/2/22, 9:47 PM
by massprogrammer on 5/2/22, 11:04 PM
by ents on 5/2/22, 11:16 PM
by pasttense01 on 5/3/22, 6:42 AM
by mshaler on 5/4/22, 4:55 PM
by nathias on 5/2/22, 8:27 PM
by Xenoamorphous on 5/2/22, 8:04 PM
by constantinum on 5/2/22, 5:58 PM
Adobe Indesign
Monodraw
GNUcash
Django
Beeminder
by mackrevinack on 5/3/22, 3:46 AM
by rwxrwxrwx on 5/2/22, 10:26 PM
by rubyist5eva on 5/2/22, 8:11 PM
by hamandcheese on 5/3/22, 4:21 AM
by macampam on 5/3/22, 4:35 AM
by stillblue on 5/3/22, 4:12 AM
by bennysomething on 5/2/22, 9:11 PM
by uberwindung on 5/3/22, 7:52 PM
by boban_dj on 5/3/22, 1:52 AM
by MrScruff on 5/2/22, 9:58 PM
by pipeline_peak on 5/2/22, 6:41 PM
by 2143 on 5/2/22, 6:14 PM
by secwang on 5/3/22, 2:19 AM
by phonon on 5/2/22, 8:35 PM
by 1vuio0pswjnm7 on 5/2/22, 8:22 PM
by walrus01 on 5/3/22, 4:07 AM
Does exactly what it promises
by enriquto on 5/2/22, 10:00 PM
Being able to just plot sin(x) blew my mind.
More seriously: cholmod
by chordmemory on 5/5/22, 1:48 AM
by ducktective on 5/2/22, 9:35 PM
by hnxs on 5/2/22, 9:25 PM
haha just kidding!
by dvh on 5/2/22, 6:43 PM
by ravish0007 on 5/3/22, 2:36 PM
by Parker_Powell on 5/3/22, 6:23 AM
by hatware on 5/2/22, 6:18 PM
Incredibly easy to host open source network video recorder with object tracking and hardware acceleration support. You have to install hardware and know what you're doing to hook things up, but bespoke systems that do these things cost tens of thousands for hardware/licensing alone and don't do them half as well.
by SemanticStrengh on 5/3/22, 12:48 AM
by pcurve on 5/2/22, 6:19 AM