HACKER Q&A
📣 shakezula

What small library or tool do you want that doesn’t exist?


The smaller the better! What small, sharp tool do you wish existed but doesn’t or does but isn’t up to the quality you’d expect?


  👤 eligro91 Accepted Answer ✓
I wish I had a tool which measures the trend of every line code in my codebase in production, and shows me on IDE on the background of each line of code which code is mostly used (dark green background or such) and which code is barely used (in light green), and in gray unused code in production (based on the trend of last few months.

The benefits :

- I will understand during development which code is mission critical, and I should be careful with it, as well as invest more time in optimizing this code and document it better.

- I will understand what the customers do, which flows they use and which flows they avoid, so seeing code which I've developed recently but not used yet - will help me understanding that I'm wasting my time on writing unused features or we did not really understood the customers expectations.

- I will be able to cleanup dead code easily on the go.

It's like a theme park manager walking around in the park and watches which rides has long lines of people and which rides have no lines.. helps the manager understand where to put effort and which rides to remove / replace.


👤 scrollaway
I wish VLC, plex, video players in general had the ability to automatically sync subs to audio. (automatically, not manually)

We have the technology; everything we need to do this exists. It's just not done automatically, and when using slightly off-sync subs, you have to fiddle with sub timing for ages until you find the right sync. Even more so when the subtitles have different off-sync issues for the whole movie/episode.


👤 azalemeth
I would love a small conversion tool to read in medical imaging dicom files and output a volumetric vdb dataset. I've nearly written this on several occasions. Most, but not all, dicom files encode a 2d or a 3d scalar field and vdb files are the graphical effects industry standard format for those, usually used for fog, fire, or similar effects. They can also usually be converted to polygon meshes through a variety of algorithms.

The reason why I want to do this is because 3d tools for artists -- blender, cinema 4d and the like -- have a large amount of easy-to-use and highly complex tools for subsetting volumes and making things look pretty.

Most medical imaging software is the opposite of this. You cannot change the data and the tooling is intentionally limited. Mostly this is a very good thing. Sometimes, however, and particularly for complex anatomy or pathology from a patient, you really just want to make a beautiful image for a paper with an anatomical structure manually removed, highlighted, or coloured differently -- something that would be very easy in e.g. Blender. The fact that Blender is python-scriptable is also frankly amazing and it's natively cross-platform too.

The reason I have written a tool like this is entirely because both file formats are very complex with lots of edge cases -- e.g. most ultrasound dicoms are little more then a screenshot with a lot of metadata, UI overlay and all. It's a lot of work and fundamentally isn't my job (I'm a medical physicist and should be making images with novel physics, not making images look pretty for presentation purposes).


👤 teleforce
The top of the list is an open-source library toolbox for higher-order spectral analysis including time-frequency in a compiled programming language (C, C++, D, Rust, etc) for real-time applications.

This is an example of an old third party higher-order spectral analysis toolbox in Matlab but now Matlab has built-in toolbox due to its increasing popularity in signal processing of communication, biosignal, etc [1],[2].

The next generation communication systems (e.g. WiFi 7, 6G) will probably utilize this form of signal analysis for higher bandwidth and efficient communication [3]. The modern biosignal analysis (ECG, EEG, etc) is already moving toward time-frequency analysis and to have an open-source real-time time-frequency toolbox will be a game changer [4].

[1]Higher-Order Spectral Analysis Toolbox for use with Matlab:

https://labcit.ligo.caltech.edu/~rana/mat/HOSA/HOSA.PDF

[2]Time-Frequency Foundations of Communications:Concepts and Tools:

https://www.mins.ee.ethz.ch/pubs/files/SPMAG2013.pdf

[3]The OTFS Interview – Implications of a 6G Candidate Technology:

https://www.6gworld.com/exclusives/the-otfs-interview-implic...

[4]Analyzing Neural Time Series Data: Theory and Practice:

https://mitpress.mit.edu/books/analyzing-neural-time-series-...


👤 dandare
A library of person-to-person communication snippets for those of us on the spectrum like this tool https://news.ycombinator.com/item?id=31224996 but curated by well intentioned community.

👤 bazhova
AWS has their own crontab syntax, slightly different from regular Cron. But there is no validation tool before you submit something. It just rejects it. I want something like crontab.guru but for cloudwatch syntax. It's such a small usecase but it'd be great.

👤 CGamesPlay
Almost every data exploration tool requires a date range to work, and yet there's no standard language for expressing these. I want a parser that:

- Undertands simple ranges (e.g. "2022-04-01 to 2022-05-01").

- Understands relative ranges (e.g. "4 weeks ago to 2 weeks from now").

- Understands ranges to be expressed by omitting components (e.g. "2022" means "2022-01-01 to 2022-12-31").

- Has equivalent parsers for other human languages (e.g. switch to 'es_ES' and parse "hace 2 semanas").

The implementation of this would be programming-language specific, but the grammar of this language isn't even standardized, as far as I know.


👤 codecutter
The issue I face is that the TV volume suddenly increases when they start playing advertisements on TV. It is probably done to attract user's attention, but it is very annoying esp. for old people.

I wished that there was some way (maybe an app on the phone) that will automatically control volume level at a set limit. The phones already have a way to measure decibals (sound meter app) and also a way to control audio receiver volume (remote control app). If we could combine these 2 in a single app, that will be great.

I can set the volume level in the app. It will monitor sound level say every 3 seconds. If it exceeds say 10%, then automatically reduce the volume. Someone, please build such an app. I will buy it or consider sponsorship/financial help. The loud commercials are driving me crazy. Thank you for listening to my request.


👤 Hamcha
A Linux (maybe FOSS?) version of Cloanto's Accenti software [1]

I know dead keys, I know compose, but they all seem wayyy too unnatural to me, I got used to Accenti's system, ie. just type e' and it becomes è, but context-aware so perche' becomes perché instead of perchè, and pressing ' further cycles between all the other options (èéê..), it even supports user-configurable macros (eg. I have made so I can write "\deg" to become °) It's just very hard for me to consider anything else since this is the most natural I've ever typed, and it's Windows-only.

Another perk of a tool instead of a keyboard system thing I can white/blacklist apps.

---

[1] https://italiantext.com/


👤 jhiant
NAME

  swizel - takes csv input, selects columns and arbitrarily selects output order
OPTIONS

  change the field delimiter (default comma)

  handle trimming whitespace per field (or an arbitrary set of chars, e.g. quotes)

  ignore or transform a prefixed one-line header or comment (default #)

  [bonus points] handle numeric fields (e.g. precision or float/int conversion)
OBLIGATORY

  while all of this can already be done with a combination of cut, sed, tr and/or awk, it's a common task when working with columnar data and could be made more intuitive and less error prone. transforming columnar data mostly boils down to clean up and basic sanity checks. good karma on this one.

👤 dane-pgp
I sometimes find myself wanting a Unix timestamp, or to convert one into a human-readable date, and usually it's simpler to go to an online tool than use time(1).

It might be nice to have a command line tool which can guess from the arguments what you want it to do. For example, if you run it with no arguments, it would output the current timestamp (to multiple levels of precision, listing the languages/platforms that typically use each one).


👤 jonathanstrange
A cross-platform command-line tool + C library with permissive license that makes compressed file-deduplicated snapshots of directories with accompanying indexed metadata. It should be foolproof, use a fast compression algorithm like snappy or LZO, and be optimized for fast multicore creation and extraction (but with optional CPU-limiting). Metadata could be stored in an sqlite database.

👤 mihvoi
The main thing that keeps me using Windows and not Linux is a tool to index folders and files from all my DVDs and external hard disks. It also accounts for total size of each folder and browse the archive.

I only use the search file/folder name feature, I don't even need any content indexing that this tool has. It just needs to scale to Terabytes size (like millions of files/folders) and optionally do de-duplication.

If you know such tool on Linux, it would really help me to be less dependent on Windows. Or maybe someone you can build such a tool on Linux. I tried to create my own tool in Java but it took too much DRAM to index the many files I have. This Win tool indexes all my files and folders in a file of 1-200MB and searches all in 10-30 seconds. No server/database in involved, just a standalone tool.

I share the tool just for reference. The tool didn't had any update for years, I hope the programmer is still alive and healthy. https://www.whereisit-soft.com/


👤 haidrali
I was looking for a tool to post video tweet threads. I couldn't find any so I built my own https://clippost.io/. Currently, its very basic tool to convert YouTube, Instagram, TikTok videos to twitter video tweet thread. If I get some users i will definitely add more features to it.

👤 moffkalast
A tool that checks your broken python/pip install and fixes it properly.

https://xkcd.com/1987/


👤 YPPH
Software that enables me to cue and play out video and image output to a projector, without playback controls, the Windows UI, or Windows sounds getting in the way. And which enables me to quickly flick off to a black screen.

Closest I've come is VLC with a split video interface in full screen, but it isn't perfect.


👤 rvieira
I would love a "better Doxygen", or more accurately a nice multi-repo, multi-language documentation generator. It would have almost zero config to get started, but highly customisable. It would support (or be open to easy extension) both "classic" as "modern" and/or niche languages, from Java, C, JS to Python, Go, Nim, Haskell and Crystal. The generated documentation should look modern and exportable to both static HTML for online hosting and to some agnostic format, like JSON for further processing.

👤 sheeeep86
A tool to quickly collaborate on an email response, like googöe drive but for a short period of time and throw away.

We used to ise etherpad and pther tools and drive for bigger emails, bit they are both not ideal.


👤 macropin
It wish a tool existed that could keep boilerplate up to date. ie a tool that will find all files it manages and synchronise them with a canonical source.

Use cases include keeping common (CI, Make etc) configurations up to date across multiple Git repos.

Even better if it doesn't require configuration and can identify files it manages using a magic comment eg # Source: http://github.com/my/repo/file.txt


👤 hawski
Structural regular expressions awk as described here: http://doc.cat-v.org/bell_labs/structural_regexps/se.pdf But maybe it is not that small...

I would like to have a simple app that would let me define a time, a beep sound and a pattern. So I could have a one beep timer [1] and an interval timer [2]. I use those for exercise, but I'm not entirely satisfied. Bonus points if the beep sound could be configurable to notification sounds, sfxr UI [3] (maybe it could be be another simple application) and speech synthesizer.

Something that would crawl GitHub and look for Android play store links in READMEs, then it would offer a search over repository name, description and the README. I would use this first to search for Android apps. I know about F-Droid, but I'm lazy and there are things in the play store that are not in F-Droid. Also it would be easier for me to find apps to recommend to my family/friends, who will not install F-Droid.

[1] https://play.google.com/store/apps/details?id=com.thrvg.beep... - like this, but without this introductory screen and single button to reset and restart the timer

[2] https://greggman.github.io/interval-timer/ - I use this, but I would just want to set a single parameter: time between beeps and let it play in a loop until I stop

[3] https://sfxr.me/


👤 rhn_mk1
Something to convert from one date to other, but with timezone names used by humans. For example:

"today 17:00 Pacific in UTC" should be accepted.

There are other time zones too: I've seen "PDT", "Mountain", and so on. The `date` tool doesn't always understand what those are. That's a bummer because neither do I, and that's why I need this tool.


👤 a_square_peg
I wish there was a click-bait headline filter.

Too many news headlines are either hypothetical question with no real information content, telling me to re-evaluate everything that I know, something sensationally misleading designed to make some alarm bell go off in my head etc. I worry how some of these might still manage to creep into my head.


👤 pomatic
A ‘cherry picker’ that allows me to select specific commands from my recent history and put them in a text file, in order to document any manual processes (or turn them into a reusable script - perhaps also identify parameters automatically and allow them to be supplied as arguments).

👤 snisarenko
Disk usage history.

Like the du command, except it shows the size of directories over time. Doesn't have to be precise, daily historical snapshots of directory sizes isfine.

When your disk is almost full, you want to know which directory grew the most recently, not which directory takes up the most space


👤 jiehong
A better man page reader (man tool) allowing to:

- show a table of content with a key press - jump to next section with a key press (like what woman does in emacs) - on a given flag, generate examples using that flag gathered from like GitHub


👤 ycuser2
- In Visual Studio (not VSCode) I want to be able to go through all changed lines like I can go through all bookmarks.

- In Visual Studio I want a tool that shows me show many "hops (calls)" a C# method is away from another method.


👤 vodou
A very simple tool for transferring files between two computers. Linux <-> Windows should just work, uPnP handling, etc - just a crazy simple way to transfer a file without setting up Dropbox, ftp servers or whatnot!

👤 mikewarot
An ANSI/UTF-8 Reference Counted strings library for C.

In Free Pascal, the AnsiString type is a reference counted string, which can contain up to 2 billion characters, and you never have to allocate/deallocate them. These strings can contain any binary data, including nul, with the length of the string being counted as well. If you modify the string, it first checks the reference count, if it's 1, nothing needs to be done, if more than 1, it copies it first.

There is an equivalent WideString type as well as traditional pChar, etc.

C could really use a modern string type.


👤 WanjohiRyan
Some form of a meme search (and recommendation) API.

Currently everyone around (I included) scraps memes from reddit, and then displays them on their website, app or chatbot.

I would love to have some API do the heavy lifting by:

- indexing memes from reddit and other social media sites. Where I can search with text or an image.

- recommending memes directly to my users, based on their like(s) or dislike(s).

(bonus) a text to meme creator. A user inputs text on the front end, I send it to the API, it returns a nice full meme.


👤 EliRivers
Stateless, functional XML and XQuery handling functions in C++.

I just want to hand a function a string of the XML, and a string of the XQuery, and get back a string of the answer.


👤 makapuf
Given four .wav filenames, wait for me to say one of those and prints its name on stdout.

    $ listen hello.wav stop.wav next.wav 
    next.wav

👤 andybak
"Geometry as a service". An API endpoint that takes a compact description of various 3d shapes and returns a GLTF file. I'd start by maybe wrapping the various tools from https://www.antiprism.com/ but there's scope to create a more friendly set of tools for generating generally useful simple meshes.

👤 b3lvedere
I would like (and pay some small amount) for a nice easy small webinterface to configure and manage samba on a little debian vm, something like the Synology UI has, but only for samba.

I know about Webmin as well as lots of other weird (outdated) gui's. I also am aware about the Xigmanas and nas4free projects. They serve lots of purposes at once and i'd like one just for samba.


👤 jimlikeslimes
I use MS SQL Server a lot at work. I interact with instances via SSMS usually. I'd love a tool that would log to file every query that I execute. Including a customisable comment line with info including when it was run and the server/db it was run against.

I'd move to a command line tool, e.g. a sqlcmd variant or shell voodoo, if it could do that.


👤 Simon_O_Rourke
A Postgres (or other SQL) add-on that would let you filter out country specific public holidays from queries. We do it now, but through a join on a pretty expansive date dimensional table. Would love to see something like this possible,

SELECT DATE, SUM(DAILY_REVENUE) FROM TABLE_X WHERE DATE <> PUBLIC_HOLIDAY(USA,GB,MX,DE) GROUP BY DATE;


👤 nickreese
A faster way to bulk delete or upload S3 files. The cli given by AWS is awfully slow for static sites with 100k files.

👤 whinvik
I want a VSCode extension that has some simple geometry features for obj files, like viewing, slicing etc.

👤 LVB
A timer that counts up/down only when there is sound (ideally there could be some smarts as to what constitutes sound). This would help me with with my two younger kids who practice piano but are up and running around for what seems like half their slot.

👤 tonyoconnell
A simple app (e.g. a wordpress plugin) that would load some nice elements of a web page above the fold ... then load the rest of the web page after ... something that would lower time to first byte, first contentful paint and time to interactive.

👤 smcleod
A simple reddit client that de-dupes posts (across subs and over multiple sessions)

👤 sert121
Would love to schedule whatsapp messages using some cli/web based tool

👤 ggeorgovassilis
A tool which I can train on the conventions used in a media library file structure (directory, file names) and then use it to change the file names of new files to the library convention.

👤 j_not_j
Some way of automatically applying 'less' to shell commands when the output exceeds a limit (like 40 lines) but is otherwise invisible.

(There may be issues with automatically not doing this when piped.)


👤 vaporup
Something like https://whoosh.readthedocs.io for Crystal-Lang, Go-Lang, or as a CLI tool

👤 kevinmalone
The ability to export the call hierarchy from VS code for all typescript files in a directory. Doesn’t have to be pretty or interactive.

👤 antifa
ag is pretty cool, but imagine if you could search for files including regexA but only if the file is not a match for regexB.

👤 K33P4D
It's 2022, I just want to make a website that runs everywhere. some input boxes| some video| some whoosh

👤 JettChenT
A tool that allows me to create and manage aliases(permanently) without editing .zshrc every single time.

👤 mihvoi
An intuitive and simple Phone application/theme on Android smartphones - especially for old people.

👤 once_inc
I'd love to be able to append to a mdb file with mdbtools.

👤 paulk3mp
(rip)grep S3 super fast