Ask HN: What are some tools / libraries you built yourself?
Many times you just want to plug something in. PostgreSQL, Node.JS Express, Java Spring, numpy, Three.js. There's many examples where the already existing solution fits well.
Sometimes that's not good enough tho. What are some tools, libraries or services you built, are they open-source and why weren't you satisfied using what already existed?
616 comments
[ 3.0 ms ] story [ 335 ms ] threadI literally started coding Quepid next to a colleague complaining about search so I could help them. It’s basically a kind of test driven approach to continually tuning and proving you’re not harming existing use cases too much. The first version that day was super hacky :) but it worked: it was a “single page server side application” ;). Just dumping a huge HTML page from flask about how our search was doing based on stakeholder feedback.
Nothing out there existed that did what I needed. Tooling around search engines for relevance just wasn’t great. In part because it wasn’t paid as much attention to ~10 years ago when I worked on creating these tools.
In London, the annual Search Engine Solutions meeting (each autumn/fall) organized by the BCS IRSG (Chartered Institute of IT's Information Retrieval Specialist Group) provides a forum for search practitioners to exchange best practices.
Here's the report from the 2020 meeting: https://irsg.bcs.org/informer/2021/01/search-solutions-2020-...
Talk proposals, demo proposals, tutorials etc. welcome.
[0]: https://github.com/MH15/neanderthal [1]: https://matthall.codes/ [2]: https://kwest.haus/
The story goes like this....
I was writing a book called "Hands-on Blockchain for Python Developers" in 2018. At that time, the only Pythonic blockchain development framework which supported web3.py and Vyper (a smart contract language that has syntax similar to Python) was Populus. A week after my book was published, Populus was killed by its developer.
So I decided to create one to support Vyper language.
However, I need to tell you that there is another blockchain framework that supports Vyper and web3.py which is more popular than my framework. It's Brownie-eth. If this tool existed in the first place, I wouldn't create Mamba. But hey, such is life. Now I have to raise my child, Mamba. ;)
[0]: https://chronver.org
The reason sem-ver is better for libraries is that it indicates the compatibility of different version's API's. It doesn't matter when the version was released, just if it has breaking changes, or is just a patch release. Sem-ver is the simplest solution to this problem.
For people on large teams or orgs, this merging of SemVer and ChronVer would probably be best: https://twitter.com/grin_io/status/1390747474780901380
I may replace the branching model I have in the current spec with this.
Used only on Redshift and Postgres, but it should work with other DBs with minimal changes.
The company I was working for had staging, transformation and reporting layers in their warehouses, but no nice way to illustrate the objects in documents. Support was manged offshore so the interactive diagrams helped with handover.
The redshift space is really lacking capable tools, which is why I decided to create this.
I was so fed up trying to debug lambdas and the other AWS offerings that a tool like this to see program output in near realtime is indispensable. I use it all the time.
Is it bug free? No
Did i write tests for it? Also no.
Is it useful? Yes.
I have issues with the way the pytest fixture system works (parameter names matching function names), the readibility of the output, and some other things.
It started as a little learning experiment and has turned into something I've been building into what I hope will (and already is in some aspects) be a viable contender to pytest.
I don’t like nginx because managing the config files is a hassle, it’s complex, and there’s a lot of copying redundant config files over and over again.
https://github.com/garagescript/myproxy
I haven't open sourced them because I doubt anyone would care about those old MS-DOS/TP7 tools now, and I'm not up for maintaining them.
Maybe not a huge audience but I bet the people needing them would be hugely grateful. I use a couple old tools that I gladly contribute ( money ) to because despite being old they work great and there is no alternative.
By default Rails issues a cache network request per call with the built-in view fragment cache helpers. It does allow multi-fetching in some situations but not when you have multiple cache calls in the same view.
I had the idea bumping around for years but finally mangled it into working and I'm oddly proud of how weird the solution is.
Out of the box, it builds something compatible with most browsers made since 1995, with and without JS, CSS, Unicode, and optionally supporting dynamic elements like commenting and private-key-backed user accounts.
It's nowhere near 0.1 yet, but I'm enjoying building it publicly.
https://gitlab.com/stavros/harbormaster
It allows you to run Docker Compose containers from a simple git repo (no Docker registry), and to specify all the Compose apps you want to run in a straightforward YAML file. It'll take care of automatically pulling/restarting/deleting everything for you.
I love it.
https://github.com/njhofmann/arXivist
https://github.com/cagataygurturk/global-load-test
(NB: once the project was determined to be useful we moved it to the Appium org and it has seen lots of contributions from others, not just me)
Solves a common problem in the enterprise world - you have a big monolith UI stack with multiple apps, and starting it in dev mode gets slower over time. Lots of companies just allow you to start one of the individual apps, or they start splitting up the stack. This speeds up starting the stack for a developer, since all the apps get "browserified" on their own thread.
all the other stuff is in my bio :)