Analog computation.<p>I don't mean just vacuum tubes or even electronics at all. Mechanical analog computing is <i>insane</i> when you get down to it. You have special shapes that move against each other and do <i>calculus</i>.<p>We make these mechanical models as <i>analogs</i> of more complex physical systems. We can turn huge calculations into relatively simple machines. That we can roll two weirdly shaped gears together and get an integral out says to me something very profound about the universe. I find it to be one of the most beautiful concepts in all of the sciences.<p>What's even more wild is that we can take those mechanical analogs of physical systems and build an electronic analog out of vacuum tubes. That vacuum tubes work at all is just completely insane, but it's some absolutely beautiful physics.<p>And yes, there are equally beautiful problems that can only be solved in the digital domain, but it just doesn't speak to me in the same way. The closest thing is the bitwise black magic like fast inverse square root from a special constant and some arithmetic. Besides, that's more a property of number systems than it is of digital computation.<p>I understand how and why digital took over, but I can't help but feel like we lost something profound in abandoning analog.
In case you don't fancy visiting all the links:<p>- Tarantool is some sort of in-memory DB with optional persistence<p>- Red is a programming language that has made the odd syntax decision to use {} for strings and [] to define scopes<p>- U++ is one of those all-encompasing C++ frameworks like QT<p>- Lazarus is a Pascal(?) IDE<p>- And FASM is a toolkit for building assemblers<p>I'm struggling to find the common thread across these links, apart from the OP probably being an enthusiast of obscure programming languages
NNCP, from <a href="http://www.nncpgo.org/" rel="nofollow noreferrer">http://www.nncpgo.org/</a><p>It's a protocol/tool for async file transfer, built for disconnected/intermittent connectivity amongst known parties (trusted friends as p2p), allowing even for sneakernet-based file transfer.<p>It's started as a modern take on usenet, but it boggles my mind how cool it is:<p>Want to send a TV Series to your friend? send it via nncp, and it will make it through either via line-based file transfer (when connection allows, pull or push, cronjob, etc), or even via sneakernet if there is "someone going that way".<p>Comms priority system lets you hi-prio message-checking via expensive network link vs bulk file transfer using trunk lines later.<p>It even can be configured to run arbitrary commands on message receive, to allow indexing/processing of files (like a ZFS-receive hook, mail/matrix ingestion...)<p>See all the usecases: <a href="http://www.nncpgo.org/Use-cases.html" rel="nofollow noreferrer">http://www.nncpgo.org/Use-cases.html</a><p>As with many of these cool techs, I just wish I had a good reason to use it =D
Most people know about MediaWiki even if they don't realize they do, because it powers Wikipedia, but I wish more people used it for documentation.<p>You can create highly specialized templates in Lua, and there's a RDBMS extension called Cargo that gives you some limited SQL ability too. With these tools you can build basically an entirely custom CMS on top of the base MW software, while retaining everything that's great about MW (easy page history, anyone can start editing including with a WYSIWYG editor, really fine-grained permissions control across user groups, a fantastic API for automated edits).<p>It doesn't have the range of plugins to external services the way something like Confluence has, but you can host it yourself and have a great platform for documentation.
Nix package manager's `nix-shell` is something I wish more people knew about. Nix is gaining some popularity, but people often think of using it has to be a really big commitment, like changing your Linux distro to NixOS or replacing your dotfiles with a Nix-based one (using the Nix package manager).<p>What I wish more people knew was that you don't need to do those things to get value from Nix. Create project specific dev shells that install the packages (at the correct versions) to work with that project can almost replace 90% of the docs for getting setup to work on a project.
GnuPG/PGP and the web of trust[0]. A lot of things I see blockchain being used for today (e.g. NFTs) seems like it would be better solved using standard OpenPGP signatures with no backing chain.<p>Additionally, as machine-generated content proliferates, I think having services use something like the web of trust concept for membership would be super powerful. The problem is, of course, the terrible UX of cryptographic signatures. But I think there's a lot of opportunity for the group that makes it easy to use.<p>[0]: <a href="https://en.wikipedia.org/wiki/Web_of_trust" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/Web_of_trust</a>
The Arcan display server is a really cool idea. Even if it doesn't manage to get popular, I think there are ideas here that we could mine to use them in popular programs.<p>- <a href="https://arcan-fe.com/2022/10/15/whipping-up-a-new-shell-lashcat9/" rel="nofollow noreferrer">https://arcan-fe.com/2022/10/15/whipping-up-a-new-shell-lash...</a><p>- <a href="https://arcan-fe.com/2021/04/12/introducing-pipeworld/" rel="nofollow noreferrer">https://arcan-fe.com/2021/04/12/introducing-pipeworld/</a><p>- <a href="https://arcan-fe.com/2020/12/03/arcan-versus-xorg-feature-parity-and-beyond/" rel="nofollow noreferrer">https://arcan-fe.com/2020/12/03/arcan-versus-xorg-feature-pa...</a><p>- <a href="https://arcan-fe.com/2021/09/20/arcan-as-operating-system-design/" rel="nofollow noreferrer">https://arcan-fe.com/2021/09/20/arcan-as-operating-system-de...</a>
Not sure if you're looking for things as "trifling" as programming languages, but I do wish more people knew about Nim. It's fast, statically typed, reads more or less like Python, has a great effect system, etc. It's a joy to use. I've been working through writing an interpreter in it:
<a href="https://youtu.be/48CsjEFzyXQ" rel="nofollow noreferrer">https://youtu.be/48CsjEFzyXQ</a>
Sphinx [1] gets my vote. It's the docs system that powers most sites in the Python ecosystem so it probably looks familiar to you.<p>I call it a docs system rather than static site generator because the web is just one of many output targets it supports.<p>To tap into its full power you need to author in a markup that predates Markdown called reStructuredText (reST). It's very similar to Markdown (MD) so it's never bothered me, but I know some people get very annoyed at the "uncanny valley" between reST and MD. reST has some very powerful yet simple features; it perplexes me that these aren't adopted in other docs systems. For example, to cross-link you just do :ref:`target` where `target` is an ID for a section. At "compile-time" the ref is replaced with the section title text. If you remove that ID then the build fails. Always accurate internal links, in other words.<p>The extension system really works and there is quite a large ecosystem of extensions on PyPI for common tasks, such as generating a sitemap.<p>The documentation for Sphinx is ironically not great; not terrible but not great either. I eventually accomplish whatever I need to do but the sub-optimal docs make the research take a bit longer than it probably has to.<p>I have been a technical writer for 11 years and have used many SSGs over the years. There's no perfect SSG but Sphinx strikes the best balance between the common tradeoffs.<p>[1] <a href="https://www.sphinx-doc.org/en/master/index.html" rel="nofollow noreferrer">https://www.sphinx-doc.org/en/master/index.html</a>
Magic Wormhole: <a href="https://magic-wormhole.io/" rel="nofollow noreferrer">https://magic-wormhole.io/</a>
An easy and secure file transfer program.
I use it almost everyday since I discovered it. Author has a very good video on it at pycon-2016: <a href="https://www.youtube.com/watch?v=oFrTqQw0_3c" rel="nofollow noreferrer">https://www.youtube.com/watch?v=oFrTqQw0_3c</a>
Asciidoc lightweight markup can be used in place of <i>ANY</i> complex XML-based CCS (component content system), i.e. DocBook, DITA, S1000D, 40-50-something MIL-STD "specifications". Asciidoc can do anything they can, and can do it cheaper, faster, and better. With standard tooling that's everywhere you have a computer.<p>I'm not sure I can type out, with trembling fingers, how many dollars have been flushed down the toilet of CCSs by businesses that either had no business experimenting with componentized content, or businesses that didn't have resources for training up staff, or vendors who literally evaporated like morning dew after they'd gotten their initialization fees. So just one single story: one prime aerospace vendor I worked with had started their road to S1000D publishing in 2009. Today - at the end of 2023, and more than twenty million dollars later, with a garbage truck full of sweat and blood - that system has not released a single publication to the end user. Not <i>one</i>.
Turn your Postgres database into a REST API: <a href="https://postgrest.org" rel="nofollow noreferrer">https://postgrest.org</a><p>Previous discussions on HN: <a href="https://hn.algolia.com/?q=postgrest" rel="nofollow noreferrer">https://hn.algolia.com/?q=postgrest</a>
Firejail is cool: <a href="https://github.com/netblue30/firejail">https://github.com/netblue30/firejail</a><p>Linux namespaces/cgroups but lighter than Docker.<p>I use it when I want to limit the memory of a Python script:<p>```
maxmem="56" #GB<p>firejail --noprofile --rlimit-as=${maxmem}000000000 python myscript.py
```
Since I generally have no clue what technologies are popular (other than the obvious big name projects) I'll just toss out some interesting links I've recently bookmarked in comments here.<p>- gron (Greppable JSON): <a href="https://github.com/tomnomnom/gron">https://github.com/tomnomnom/gron</a><p>- MarkDownload (Markdown Web Clipper): <a href="https://github.com/deathau/markdownload">https://github.com/deathau/markdownload</a><p>- Lean4 links:<p>-- Theorem proving: <a href="https://lean-lang.org/theorem_proving_in_lean4/introduction.html" rel="nofollow noreferrer">https://lean-lang.org/theorem_proving_in_lean4/introduction....</a><p>-- Natural Number Game: <a href="https://adam.math.hhu.de/#/g/leanprover-community/NNG4" rel="nofollow noreferrer">https://adam.math.hhu.de/#/g/leanprover-community/NNG4</a>
I don't know if they're "unpopular", but I think the BEAM family of languages, Erlang, Elixir, LFE etc. could be used more. I read more and more problems people have on here and just think that they go away on the BEAM.
Lithium Titanate batteries. Nothing else is lightweight, safe, currently available, and lasts 20000 cycles.<p>ESPHome. It's a framework for declaratively building firmware for microcontrollers, based on rules like "This pin is an input with debouncing, when it changes, toggle this".<p>Contributing to them has probably been the most fun I've had programming in years.<p>We just need power management, and a C++ implementation of the Native API client. It's so close to being able to replace most of what I'd normally code by hand in Arduino.<p><a href="https://esphome.io/" rel="nofollow noreferrer">https://esphome.io/</a><p>RealThunder's fork of FreeCAD: <a href="https://github.com/realthunder/FreeCAD">https://github.com/realthunder/FreeCAD</a><p>They fix so many issues. Linear patterns can duplicate other linear patterns!<p>Vorta: It's the best backup technology I've seen. Just an easy guided GUI for Borg, which gives you deduplication. I just wish they let you deduplicate across multiple repositories somehow.
Definitely Forth and Factor. Every programmer should get a little bit familiar with the concatenative style. 3 days ago i discovered a channel on YT which talks about Forth, even Chuck Moore himself did a talk there talking about GreenThreads and the like.<p>Given that webassembly is a stack language with no GC, i do expect a comeback of concatenative programming some time in the future.<p><a href="https://www.youtube.com/@siliconvalleyforthinterest1736" rel="nofollow noreferrer">https://www.youtube.com/@siliconvalleyforthinterest1736</a>
I really like ARM (automatic ripping machine)<p><a href="https://github.com/automatic-ripping-machine/automatic-ripping-machine">https://github.com/automatic-ripping-machine/automatic-rippi...</a><p>Put a DVD/blu ray in a drive and it automatically determines the title, starts ripping, then pops the disc out when it's done.<p>There's options for post-ripping transcoding also.
RDF and semantic web used to be my goto's for this, as I believe many of the core ideas are still valid and often overlooked and sometimes even poorly re-implemented. Which says something.<p>However, lately I've come to like llama.cpp and friends, yes it's not ChatGTP miracle whatever but how often do you /actually/ need that? Despite its tremendous popularity, it still seems like something more people should know about. For me, I've had great fun with running LLMs locally and experiencing their different "flavors" from a more "phenomenological" (what is it like to use them) perspective rather than a technological one.
* IPv6. A genuinely useful tool, in particular for homelabs: multiple globally routable addresses per machine. One address per service. No need for Host/SNI vhosting. Works well with containers. To get v6 support, either find ISPs/SIMs that do v6, or wireguard to a VM that providss a /56.<p>* SSH ForcedCommand. Lots of usecases here, for backups, file storage, git, etc.<p>* Verilog as a tool for software developers to learn digital electronics. VCS/code/simulation/unit tests are all a lot more familiar and expected for developers.<p>* Writing tools yourself. There's often decent stable libraries that do 90% of what you want, and the remaining 10% is less effort than dealing with awkward integration with off-the-shelf tools. This relies on having low overhead packaging/deployment, e.g. Nix/Guix/Bazel.
WinCompose¹, or more generally, use of a Compose key² to type all sorts of Unicode symbols or really any character (sequence) you like. People are used to thinking that they mostly can’t type what they don’t see on their keyboards, but a Compose key provides a universal method to type a large repertoire of characters through use of mnemonics.<p>¹) <a href="http://wincompose.info/" rel="nofollow noreferrer">http://wincompose.info/</a><p>²) <a href="https://en.wikipedia.org/wiki/Compose_key" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/Compose_key</a>
- Capability Based Security (NOT the permissions flags on your phone or "app") - Offers the possibility for honestly secure computing<p>- Data diodes (unidirectional networks) - allow you to monitor a network without allowing external control (or only submit info, never ever exfiltrate it)<p>- GNU Radio - you can play with your audio ports, and learn <i>instinctively</i> how do deal with all the stuff that used to require DSP chips... then apply that knowledge with a $30 RTL-SDR dongle.<p>- Lazarus - seconding the above... a really good Pascal GUI IDE. The documentation needs work, but it's pretty good otherwise.
Bottle.py: uber-fast and simple python web microframework, about 3x faster, saner, and more memory-efficient than Flask in my experience: <a href="https://github.com/bottlepy/bottle">https://github.com/bottlepy/bottle</a><p>Fossil: distributed version control and much more in a single executable, from the creators of SQLite: <a href="https://fossil-scm.org/" rel="nofollow noreferrer">https://fossil-scm.org/</a>
<a href="https://en.wikipedia.org/wiki/Pick_operating_system" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/Pick_operating_system</a><p>This has accounted for about 90% of everything I've built since 1985.<p>Pick code generates my side project: <a href="https://eddiots.com/1" rel="nofollow noreferrer">https://eddiots.com/1</a>
Vopono (<a href="https://github.com/jamesmcm/vopono">https://github.com/jamesmcm/vopono</a>):<p>"vopono is a tool to run applications through VPN tunnels via temporary network namespaces. This allows you to run only a handful of applications through different VPNs simultaneously, whilst keeping your main connection as normal.<p>vopono includes built-in killswitches for both Wireguard and OpenVPN."
Growing in popularity, but still not as famous as it should be: EdgeDB (<a href="https://EdgeDB.com" rel="nofollow noreferrer">https://EdgeDB.com</a>)<p>* Graph-relational database<p>* Queries return objects linked to other objects through properties, not rows<p>* ... But it's still Postgres under the hood<p>* Open source
Not sure if it's because of starting as a web/application developer and but I wish I was introduced earlier to:<p>- in-process databases (rocksdb, sqlite)<p>- FoundationDB<p>- C/C++ and low level programming in general (I wished I learned those instead of js when I was younger)<p>- State Machines, Actor Model (Orleans Net), Event Sourcing<p>- Bittorrent for other things than pirating (it looks like it's dying)<p>- Arduino and similar<p>- Seastar<p>- Arrow (ecosystem)
Unpopular, at least compared to cars: e-bikes.<p>- costs next to nothing to charge<p>- fast and fun to get around<p>- never pay for parking<p>- cheap maintenance<p>- hauls groceries easily<p>- good exercise
- D (the programming language). It's a lot like C++ if C++ were rebuilt around modern concepts like modules.<p>- Matrix. It's pretty popular but I see way too many open source projects still saying "join our Discord!" instead of "join us on Matrix!"
For some reason, the best note-taking tool ever made (Verbatim) was built rather quietly by a member of the American Competitive Debate Community. I literally made people in college jealous and upset when they saw how easy it was for me to take well structured notes using Verbatim: <a href="https://paperlessdebate.com/verbatim/" rel="nofollow noreferrer">https://paperlessdebate.com/verbatim/</a> (but then I showed them how to install it and they were happy)<p>A whole lot of innovation from the competitive debate community has quietly existed for decades now. Hopefully one day SV discovers all the cool shit debaters have been building for themselves.
The LV2 audio plugin standard[0], and related stuff like the Atom format[1] used to feed arbitrary data between plugins in realtime.<p>[0] <a href="https://lv2plug.in/" rel="nofollow noreferrer">https://lv2plug.in/</a>
[1] <a href="https://lv2plug.in/ns/ext/atom" rel="nofollow noreferrer">https://lv2plug.in/ns/ext/atom</a><p>Edit: Hydrocolloid blister plasters
Popular is a bit relative...<p>- I'd like Emacs/org-mode knowledge common at least starting from universities because we need the classic desktop model and Emacs is the still developed piece of software implementing it alongside with Pharo, but Pharo is usable only to play and develop while Emacs is ready to end-users usage with a gazillion of ready-made packages;<p>- feeds, in the broad sense, meaning XML automation on the net/web so I can get my bills just from a feedreader, all transactions digitally signed, so both party have a proof (ah, of course a national PKI is mandatory), news, anything in the same way making my information mine in my hands instead of wasting time in gazillion of crappy services;<p>- IPv6 with a global per host, so we can finally profit of our modern fiber-optics connections instead of being tied to someone else computer, i.e. "the cloud";<p>- last but just aside: R instead of spreadsheets for the business guys, so they do not produce and share anymore crappy stuff, LaTeX for similar reasons to produce nice looking pdfs...
Black and white film processing. It used to be taught in schools. Many schools still have their darkrooms and no longer use them. It is a practical application of physics, chemistry, and art.
Imba. The best web programming language ever made.<p><a href="https://imba.io/" rel="nofollow noreferrer">https://imba.io/</a>
For writing documentation: AsciiDoc [1] as fileformat.<p>For publishing documentation / to build the web site: Antora [2].<p>AsciiDoc has a bit more features compared to Markdown which allows for a richer and more pleasant presentation of the docs.<p>Antora allows you to have the project documentation in the actual project repositories. It then pulls the docs from all the different repos together to build the site. This also allows you to have the released product versions go in-synch with the docs versions. Antora builds each version of the product as part of one site. The reader can explore different product versions or navigate between pages across versions.<p>===<p>[1] <a href="https://asciidoc.org/" rel="nofollow noreferrer">https://asciidoc.org/</a><p>[2] <a href="https://antora.org/" rel="nofollow noreferrer">https://antora.org/</a>
Slack released a peer to peer overlay networking tool called nebula, which has gotten very little attention on HN.<p>It's a really simple alternative to something like wireguard.
- IPv6 - It's 2023 and it's still not deployed correctly and universally. Github, Github Copilot, Chromium-based browsers, and Amazon Alexa give up in the presence of IPv6.<p>- DNSSEC+DANE - It's half-assed deployed but there's a lack of end-user UX<p>- wais - search before gopher<p>- afs - distributed fs<p>- discard protocol - basically, a network-based /dev/null<p>- humans.txt - Not around as much as it was<p>- makeheaders - Auto-generated C/C++ headers<p>- man page generators - ronn and help2man<p>- checkinstall - The automatic software package creator<p>- bashdb and zshdb<p>- crystal - Compiled Ruby-ish<p>- forth - Powered the FreeBSD bootloader menu for many years and word processors (typewriter-like almost computers)<p>- ocaml - The best ML, used by Jane Street and Xen<p>- pony - A language built around an arguably better GC than Azul's C4 with arguably stronger sharing semantics than Rust<p>- prolog - Erlang's grandpa<p>- rpython - PyPy's recompiler-compiler<p>- pax - POSIX archives<p>- shar - shell archives - Self-extracting archives that look like scripts at the beginning<p>- surfraw - Shell Users' Revolutionary Front Rage Against the Web - founded by Julian Assange<p>- step-ca - A Go-based PKI server<p>- dmraid - Because it works<p>- X10 - Before WiFi and IoT, there was the Firecracker: a parasitic power serial port RF outlet controller<p>- FreeBSD - It's not unknown or obscure per se, but it powers many important things in the civilized world without getting much credit<p>- :CueCat - A dotcom era barcode reader that was given away<p>- Xen - If you need to run a VPS but can't ju$tify u$ing VMware<p>- KataContainers - k8s but with VM isolation<p>- stow - software management by symlinks<p>- habitat - similar philosophy as nix but not as clean and functional and almost like Arch PKGBUILD but with more infrastructure around it<p>- JTAG - debug all the things<p>- in-circuit emulators (ICEs) - hardware-based debuggers<p>- polarized light sources - easier to see things under the bi/trinocular microscope
Oh that's easy: Prolog. Have a look under 2023 here for unusual applications thereof: <a href="https://emiruz.com/" rel="nofollow noreferrer">https://emiruz.com/</a><p>and here for a book to learn it from: <a href="https://book.simply-logical.space/src/simply-logical.html" rel="nofollow noreferrer">https://book.simply-logical.space/src/simply-logical.html</a><p>I think it is the closest thing to a "tool for expressing thought" with a proof procedure, which presently exists.
<a href="https://github.com/webui-dev/webui">https://github.com/webui-dev/webui</a> is a lightweight alternative to webview/electron/tauri
My picks would be Zulip for messaging, and Adguard Home instead of pihole. And self host your email - if only to keep that skill alive.<p>The openSUSE build system is also great for building packages for a lot distros. It's not just for openSUSE.
I think a lot of people could make good use of a 2FA Mule:<p><a href="https://kozubik.com/items/2famule/" rel="nofollow noreferrer">https://kozubik.com/items/2famule/</a>
vidir from moreutils (<a href="https://manpages.debian.org/bookworm/moreutils/vidir.1.en.html" rel="nofollow noreferrer">https://manpages.debian.org/bookworm/moreutils/vidir.1.en.ht...</a>) and qmv from renameutils (<a href="https://manpages.debian.org/bookworm/renameutils/qmv.1" rel="nofollow noreferrer">https://manpages.debian.org/bookworm/renameutils/qmv.1</a>). They let you (mass-)rename files using your editor when your editor is not Emacs. If you happen to use OpenBSD, note that moreutils has an OpenBSD port but renameutils doesn't and does not build on OpenBSD.
Big fan of tusker (<a href="https://github.com/bikeshedder/tusker">https://github.com/bikeshedder/tusker</a>) for PostgreSQL migrations. Tusker takes a SQL-first approach; You write your schema in declarative DDL (I have my entire project in one schema.sql file) and when you edit it, tusker generates the sql code required to migrate. It uses temporary test databases to run both your declarative DDL and your step-by-step migrations to ensure they are in lock step. And it can connect to live databases and diff your schema/migrations against reality. I've never seen a better toolkit for schema evolution.
The Haxe programming language (<a href="https://haxe.org/" rel="nofollow noreferrer">https://haxe.org/</a>). It's insane how unpopular this is compared to its value.<p>"Haxe can build cross-platform applications targeting JavaScript, C++, C#, Java, JVM, Python, Lua, PHP, Flash, and allows access to each platform's native capabilities. Haxe has its own VMs (HashLink and NekoVM) but can also run in interpreted mode."<p>It's mostly popular in game dev circles, and is used by: Nortgard, Dead Cells, Papers Please, ... .
(1) Zulip Chat - <a href="https://zulip.com/" rel="nofollow noreferrer">https://zulip.com/</a> - seems to be reasonably popular, but more people should know about it<p>I’ve been using it for over 5 years now [1], and it’s as good as ever. It’s way faster than any other chat app I’ve used. It has a good UI and conversation model. It has a simple and functional API that lets me curl threads and write blog posts based on them.<p>(only problem is that I Ctrl-+ in my browser to make the font bigger – I think it’s too dense for most people)<p>(2) re2c regex to state machine compiler - <a href="https://re2c.org" rel="nofollow noreferrer">https://re2c.org</a><p>A gem from the 90’s, which people have done a great job maintaining and improving (getting Go and Rust target support in the last few years).<p>I started using it in 2016, and used it for a new program a few months ago. I came to the conclusion that it should have been built into C, because C has shitty string processing – and Ken Thompson both invented C AND brought regular languages to computing !!<p>In comparison, treesitter lexers are very low level, fiddly, and error prone. I recently saw dozens of ad hoc fixes to the tree-sitter-bash lexer, which is unsurprising if you look at the structure of the code (manually crawling through backslashes and braces in C).<p><a href="https://github.com/tree-sitter/tree-sitter-bash/blob/master/src/scanner.c#L1120">https://github.com/tree-sitter/tree-sitter-bash/blob/master/...</a><p>These fixes are definitely appreciated, but I think it indicates a problem with the model itself.<p>(based on <a href="https://lobste.rs/s/endspx/software_you_are_thankful_for#c_ynrelc" rel="nofollow noreferrer">https://lobste.rs/s/endspx/software_you_are_thankful_for#c_y...</a>)<p>[1] <a href="https://www.oilshell.org/blog/2018/04/26.html" rel="nofollow noreferrer">https://www.oilshell.org/blog/2018/04/26.html</a>
Everyone who wants to be a robust developer should get at least a little experience with some non-c-like languages.<p>Of course someone will reply with a more complete language, but I'll start by throwing out array-based languages, in the form of J: <a href="https://www.jsoftware.com/#/" rel="nofollow noreferrer">https://www.jsoftware.com/#/</a><p>Once you really get your head around composing verbs, really working with arrays, and using exponents on functions, it's mind-expanding.
Gomplate is a super easy templating tool that wraps golang's template library with some useful built in functions. It's not as extensive as starlark but it is dead simple to get going with.<p>Also, my company (VMware) has a really powerful YAML templating engine called ytt. I originally hated it and dunked on it constantly but have grown to love it. It makes creating composable and modular YAML really easy, which is extremely unfortunate that this is a real thing, but when you need it, you need it.<p>Lastly, Cucumber isn't _unknown_ unknown, but I wish it was more widely used. Behavior testing is really useful even if the program has great test coverage underneath. Being able to express tests in pure English that do stuff is powerful and can be a bargaining chip for crucial conversations with product sometimes if done correctly. I mean, yes, we have GPTs that can write tests from prompts written in your language of choice and GPT Vision can manipulate a browser, but Cucumber is an easy stand-in IMO that is cheap and free!
I wish Lua Server Pages (LSP) were more widely adopted. It's similar to PHP, but utilizes Lua instead.<p>I dream of a CMS akin to WordPress, but developed in LSP.<p>Lua is lean, with minimal syntactic sugar, and it feels like a 'complete' language. Therefore, we don't anticipate any additional bloat in the future.
When I was at school (a long time ago), they tried to explain computers to us by making an adder using beads and matchboxes. We didn't have classroom computers back then. I'd like to know how that worked.<p>I've always wanted to build a digital clock entirely running on fluids. It would use fluid gates, and present a digital display by pushing blobs of coloured immiscible liquids back and forth through glass tubes (perhaps arranged as a seven-segment display). The counter itself would be made using fluid gates (which I don't know how to make). It would be slow; but for a wallclock with minute precision, you hardly need nanosecond gates.<p>So I wish "fluidonics" were popular.
Grafana Loki for log aggregation.<p>If you have a distributed system, dont want to spend a lot of time on wrestling with ELK or fell out of your chair when opening the Splunk bill. Loki offers 90% of the features with OSS model and very simple deployment.<p>Complete game changer.
Very simple to understand data model, alerts on logs, extract and group data from structured or unstructured logs, combine logs across sources, scales to both small and big system.<p>It’s surprising other tools in the same space have such a hard time hitting the right balance between capability and cost+complexity. Logs are so essential you would think the tooling space around it was better.
A company I used to work for used to use the Versant OODBMS (object-oriented dbms).<p>It was truly interesting. Long story short, you stored your objects in the database, along with other objects. No object-relational mismatch.<p>Queries meant taking a subset of a graph (of objects). It was fast and performant, and fairly solid.<p>It's essentially the result of asking "what if database development had taken a different turn at some point?".<p>Of the owning company would release it under some kind of open source license (maybe open core, BSL or one of those new revenue-friendly licenses) it could probably get very very popular.
Relational modeling. 40+ years old, effective, simple, backed by math. No one wants to learn it anymore though.<p>(I only <i>wish</i> I was being sarcastic.)
MeteorJS - not popular anymore but still alive and I still love building stuff in it <a href="https://www.meteor.com" rel="nofollow noreferrer">https://www.meteor.com</a>
Chinese Text Analyzer <a href="https://www.chinesetextanalyser.com/" rel="nofollow noreferrer">https://www.chinesetextanalyser.com/</a><p>Tokenizes chinese text into "words" for learning purposes and then renders the text in a GUI where you can click on a word to get the definition. It's not perfect, but a LLM fine tuned for it will eventually result in much better "tokenization".
<a href="https://sunscreen.tech/" rel="nofollow noreferrer">https://sunscreen.tech/</a> works on post quantum FHE and ZKP.
<a href="https://www.edgedb.com/" rel="nofollow noreferrer">https://www.edgedb.com/</a> is pretty amazing. postgres queried with a modern language, you can treat relational data like graphs without dealing with joins... baked in migrations management and more...
sshuttle is really nice. Basically let's you use any server as a proxy through ssh. All you need is python installed.<p><a href="https://sshuttle.readthedocs.io/en/stable/" rel="nofollow noreferrer">https://sshuttle.readthedocs.io/en/stable/</a>
Don't know if <a href="https://inertiajs.com" rel="nofollow noreferrer">https://inertiajs.com</a> can be classified as unpopular. but I think it's one of the best web solution combining the best of the both worlds ssr and spa.
Honestly, yoga. I'm not talking about the stretching contests they do in most gyms, I'm talking about the real deal. When your sexual energy gets drawn up into your body as your nervous system is awakened you get a new definition for the word 'ecstasy'. It makes you want to jump up and down like a child. You laugh out loud spontaneously at discovering the best secret in the world.<p>A few people on HN are into Buddhist meditation - I read mentions of Culadasa's The Mind Illuminated or Ingram's book. Indeed I've done several Vipassana and Zen retreats, but they just aren't as integrated as yogas 8 limbs. They may lead to the same place eventually, but I think they take much longer.<p>If there was a device that made people feel as good as the awakening nervous system, the inventor would be a multi-millionaire, no question (in fact I think I heard a Western monk is involved in a startup to try to create one). It is truly unparalleled and something actually worth experiencing (from what I've seen so far).<p>For those interested in resources I've found helpful to experience these changes for myself here are 2 I recommend:<p>* <a href="https://www.aypsite.com/10.html" rel="nofollow noreferrer">https://www.aypsite.com/10.html</a><p>* <a href="https://morrismethodsandmore.com/schedules/" rel="nofollow noreferrer">https://morrismethodsandmore.com/schedules/</a>
Expose a MySql Stored Procedure via an Apache Module.<p><a href="https://github.com/codecando-x/peregrine">https://github.com/codecando-x/peregrine</a>
i tried to use u++ way back when, and bounced off really hard (and i've used lots of different frameworks and environments). perhaps things have got better documented since?
I'm thinking unpopular could mean the tech is polarizing or frequently dismissed/overlooked.<p><pre><code> * APL -- I haven't dedicated the time to learning in part because there's little support where I normally work. I'd love for APL to have be adapted like a domain specific language a la perl compatible regular expressions for various languages (april in common lisp, APL.jl in julia).
* regular expressions. https://xkcd.com/1171/
* bugs/issue tracking embedded in git https://github.com/MichaelMure/git-bug/
</code></pre>
But I'm more excited for things that fall into the niche/lesser-known side of of unpopular. I love finding the little gems that change how I organize or work with the system.<p><pre><code> * "type efficiently by saying syllables and literal words" https://sr.ht/~geb/numen/
* I use fasd[0] 'z' alias for jumping to previous directories in shell every day.
* Alt+. in shell (readline, bash) to get the previous commands last argument is another ergonomic time saver that I think is relatively obscure. I have a bash wrapper to combine that with fzf for quick any-previous-command-argument fuzzy search and insert [1]
* zimwiki [2] (and/or a less capable emacs mode[3]) for note taking has served me well for a decade+
* DokuWiki's XML RPC [4] enables local editor edits to a web wiki. I wish it was picked up by more editor plugin developers. (cf. emacs-dokiwki [5])
* xterm isn't unpopular per say, but I don't see sixel support and title setting escape codes talked about often. I depend on a bash debug trap to update the prompt with escape codes that set the terminal title [6]</code></pre>
* are clipboard managers popular? I get a lot out of using <a href="https://github.com/erebe/greenclip">https://github.com/erebe/greenclip</a><p>[0] <a href="https://github.com/clvv/fasd">https://github.com/clvv/fasd</a>
[1] <a href="https://github.com/WillForan/fuzzy_arg">https://github.com/WillForan/fuzzy_arg</a>
[2] <a href="https://zim-wiki.org/" rel="nofollow noreferrer">https://zim-wiki.org/</a>
[3] <a href="https://github.com/WillForan/zim-wiki-mode">https://github.com/WillForan/zim-wiki-mode</a>
[4] <a href="https://www.dokuwiki.org/xmlrpc" rel="nofollow noreferrer">https://www.dokuwiki.org/xmlrpc</a>
[5] <a href="https://github.com/flexibeast/emacs-dokuwiki">https://github.com/flexibeast/emacs-dokuwiki</a>
[6] <a href="https://github.com/WillForan/dotconf/blob/master/bash/PS1.bash#L48">https://github.com/WillForan/dotconf/blob/master/bash/PS1.ba...</a> -- bash debug trap to update prompt with escape codes that set the title to previous run command -- to eg. search windows for the terminal playing music from 'mpv'