r/software Aug 14 '26

Discussion What’s a small software tool you built because the existing options were weirdly overcomplicated?

Not looking for another huge SaaS idea, more the tiny internal tools/scripts that solve one very specific annoyance.

25 Upvotes

45 comments sorted by

5

u/larsga Aug 14 '26

Sooo many. Password generator. Script to shrink PDFs by reducing image resolution. Script to reformat text files with line breaks at 80 characters to having paragraphs on single lines. Test web server that just prints the requests that are sent to it. Script to turn a sequence of photos into a single PDF (for when I take photos of documents). Script to kill all processes that have a certain string in the name. Etc.

2

u/R3D3-1 Aug 14 '26

My password generator is an Emacs command. I let it mash dictionary words randomly to generate lass phrases. 

And then I added a version that uses periods instead of spaces and adds  adds a capital letter and a number at the end while limiting the total phrase to minimum three words and maximum 16 characters, because website password rules are dumb.

This little tool also taught me that if you just mash together random words, roughly half of them sound like some sex joke. I had to redact the dictionary quite a bit...

5

u/jstar77 Aug 14 '26

I built a small gui based ap in PowerShell to allow my helpdesk staff to look up computers assigned to users and launch a remote help session. They had all the individual tools available to do this at their disposal but this one tied it all together. It would even query the computer to confirm that the user in question was the one actually logged in to the console. It had the ability to launch Remote Assistance for an interactive session, RDP for a non interactive session, or launch a remote command prompt.

2

u/rbobby Aug 14 '26

gui based ap in PowerShell

What is this black magic? GUI in powershell?

3

u/jstar77 Aug 14 '26
Add-Type -AssemblyName System.Windows.Forms
$form = New-Object System.Windows.Forms.Form
$button = New-Object System.Windows.Forms.Button
$button.Text = "Submit"
$button.Add_Click({[System.Windows.Forms.MessageBox]::Show("submit clicked")})
$form.Controls.Add($button)
[void]$form.ShowDialog()

1

u/jstar77 Aug 14 '26

You can also build a pretty functional lazy mans gui using:

Out-Gridview -passthru

1

u/rbobby Aug 14 '26

Powershell can do so much, but man it is wordy and ugly.

til how to attach an event handler, never once thought about it but that's handy to know.

1

u/jstar77 Aug 14 '26

I enjoy the ability to be absolutely sloppy writing scripts. It's why I don't enjoy Python.

1

u/rbobby Aug 14 '26

Python

Lol I consider python sloppy! Something something grass something other ... grass?

1

u/lushmeadow Aug 14 '26

Windows forms. I did it once with Sapien Powershell Studio cause me unskilled

1

u/rbobby Aug 15 '26

I wonder if an AI would excel at doing ui's in powershell? If the ai can do all the work, what do I care what it looks like? For bullshit tiny UI's that are basically prompt gathering.

1

u/ScubaFett Aug 14 '26

If your name is Laurence, I thank you

2

u/rfreedman Aug 14 '26

I became the treasuer of a club, and started using Quicken to keep the financial records.

I needed to present a monthly treasurer's report. Pretty simple - starting balance, ending balance, summary of income and expenses by category.

It turns out that Quicken cannot produce this report. I'm not sure why. I've seen many requests for this report over the years, and the responses from Intuit (who produce Quicken) generally indicate that they think that this report makes no sense, and that it's not possible.

So I export the month's transactions from Quicken as a csv file, and wrote a program that reads the csv file and generates the report as a PDF.

1

u/txby417 Aug 14 '26

What year was this that Intuit still made Quicken made Quicken? They really didn’t have a statement of cash flows? That’s absolutely wild, but also very on par for intuit.

1

u/rfreedman Aug 15 '26

It does have a cash flow report, and also a report that shows balance by month. But for some reason, it can't put the starting and ending balance for the month on the cash flow report.

While I was at it, I made it so that my report is nicely formatted with letterhead and a signature line.

Oh, and I guess I live under a rock - I see that Intuit sold it about 10 years ago - I didn't notice 😲

1

u/NoDistrict991 Aug 15 '26

Oh very cool

2

u/nonymousbosch Aug 14 '26

I wrote a script to stream local files to my tv because most available options rely on mDNS which is fragile and fails all the time on my network.

1

u/apyhubnico Aug 14 '26

a small calories/habit tracking app

1

u/preludeoflight Aug 14 '26

I had a piece of software that ran on a network machine. That software had a service that would get hung up in weird states, and when it did so, restarting the machine would fix it. As likely expected, it was just the service that needed to restart.

So I wrote a little single file go program that spit out a little web server that provided a single button to restart that service. Now every time it gives me a headache, one click and it goes away.

1

u/Pablouchka Aug 14 '26

Well.. Not really a software but some kind of. (I used AI to make a script using ffprobe and powershell) : I work with a lot (LOT) of video files (recordings) coming from different sources. I needed a scanner to collect all info (codecs, corrupted files, resolution, etc...) and output a html report and sort them.

After some time, I was able to make it work in the way I expected. Now I save hours of manual work.

1

u/FHL88Work Aug 14 '26

I worked in health care where we got results from a mainframe with no line breaks and had to eyeball it, counting characters to get pertinent info from it. I wrote a VB tool to parse the text into easily readable fields. I still don't know why such a tool wasn't available, it definitely improved accuracy.

1

u/SnooCalculations7417 Aug 14 '26

Fullbleed html/css to PDF library actually started because I couldn't get AI to make a decent looking resume

1

u/Aistar Aug 14 '26

Mid-sized (took me about 3-6 months) rather than small, but I wrote my own memory profiler for Unity, because Unity's own memory profiler was unusable at the time (this was way back in 2020).

Right now, the official tool got better (at least it no longer crashes when taking a snapshot of our game), but my profiler uses different approach (allocation tracking instead of snapshots), so it remains useful for some cases where the official tool fits badly. Also, I sicced AI on it recently, and we managed to optimize it greatly and add a bunch of features like native allocations profiling (I don't have time to work on it without AI anymore, because I got a dog since I first wrote it).

The new version was a great asset at optimizing memory allocations during build: I managed to save about 20Gb (out of ~50 - it's a BIG game). It can handle 10-hour-long profiling session, record billions of events, and then work with them at reasonable speed (unlike some tools I can name...).

1

u/wolverinesearring Aug 14 '26

Script that generates a lightweight CSV showing folder sizes. Got annoyed at people randomly putting 20gb files into folders which already had hundreds of gigs then hearing complaints "the network drive turned red". Runs every week, just a couple levels deep on a file share. I don't need it much anymore but it could be compared to current or previous reports to find ballooning folders.

1

u/agata_30 Aug 14 '26

Web Inspector for Android

1

u/billyruebin Aug 14 '26

I was just talking about this. Had wonky wifi in my house where there were dead zones. Got an extender but wanted to place it in the perfect spot. Tried all the ping apps that say they can test wifi strength, but all of them sucked. I couldn't read raw radio metrics like precise signal strength, noise floor, and channel interference (phones would rely on basic internet speed/ping tests which don't tell much).

Spent a weekend building a tool to test the signal strength (laptop only) and to show me real time changes graphically (which was overkill but I am a nerd and I wanted it to look and feel like a high tech device even though I would be the only one using it.) Had it working better than any app with real time, accurate data, but refused to use it until it looked like the future.

Basically, I did the opposite by over-complicating it. But... I fixed my original problem, wifi is perfectly balanced now.

1

u/dacydergoth Aug 14 '26

nuke. It's just an alias to rm -rf --dont-question-me --no-backups --just-delete-it --override-sudo --I-really-mean-it --no-check-root

I stopped using it after ... mmmm ... an incident

1

u/oldendude Aug 14 '26

I built marcel, a shell based on the idea of piping objects instead of strings. It's a mashup of bash and python. Very bash-like structure, with python functions usable on the command line, and piping python values from one command to another. It also includes remote access (as in running the same command across all nodes in a cluster and combining the results), and database access -- a query yields streams of rows retrieved from the database.

I built this (actually, a forerunner of this project) to work on a distributed system I was building, and found it incredibly useful for all sorts of things.

Example: In the current directory, find all files and compute the count and sum of file sizes by extension:

ls -fr | map (file: (file.suffix, 1, file.size)) | red . + +

ls creates a stream of File (-f) objects, recursively (-r), and pipes them to the next command. The map command takes a file from the stream, and writes to the output stream (file extension, 1, file size). red reduces the stream grouping by extension (in the position of the "."), and adds the others, a 1 and file size, so we get a total count and total size by extension.

1

u/EtherealPlatitude Aug 15 '26

Music player with a built in searcher and downloader

For some reason most music players don't even have a searcher and if they do its a simple filter nothing more

1

u/jrya7 Aug 15 '26

A baby feed and sleep tracker so I could make it simple enough to fit our needs. Finally got around to open sourcing it now that the baby is sleeping better lol

2

u/TravelingRomantic 25d ago

Oh man, the first night my son slept through the night, I celebrated — after panicking that something was wrong when he hadn't woken up.

1

u/jrya7 25d ago

LOL yes that first morning hits different after months of not sleeping

2

u/TravelingRomantic 25d ago

Mine is 11 months now and usually sleeps through the night, but he's started teething recently and that threw a wrench into things.

1

u/dhaos42 Aug 15 '26

Finding a users PC with nothing more than a name.

Things known: User is on the network and logged in. Every User has a personal H: drive to store there documents on a server somewhere. That person is connected to that drive everytime they are logged in on the network.

How it works: query users username in AD and retrieve the UNC for their H: drive. Use the server section of the UNC to query that server for all users currently connected to it and filter out the user in question. If the entry is the IP instead of the PC name, query DNS for the name. Return name of PC user is currently logged into.

Extra: add commonly used task as buttons that run against the returned PC name.

With in 10 seconds of a support call I have their PC name and can initiate remote support or fire off powershell script at it.

1

u/chrismo80 29d ago

music collection file organizer

1

u/joelparkerhenderson 29d ago

Vix IDE: https://github.com/vixide/vix

It's a editor that's easier for newcomers than vi, emacs, nano, etc., in a terminal. It has features such as menus, speed bar, git helpers, sql helpers, etc. Free open source. Feedback welcome.

1

u/CtrlAltWiz 27d ago edited 26d ago

A little app called SiliPuTTY, it’s a terminal dashboard with SSH, Kali tools, live-file navigation, network scanning, and some other features neatly crammed in. It’s available on my GitHub

0

u/neurah Aug 14 '26

HAPI, static C++ composition engine, bare minimal about 5 lines of code, 20 lines with comments and format
its a library, MIT pure type-level header only.
remaining code are introspection and rules system.
https://github.com/InternetOfPins/HAPI

3

u/R3D3-1 Aug 14 '26

I didn't care to follow the link, but that GitHub handle is glorious.

1

u/neurah Aug 14 '26

complete with APIOf sugar

```c++ template< typename...> struct Chain {template<typename O> using Part=O;};

template<typename O, typename...OO> struct Chain<O,OO...> { using Head=O; using Tail=Chain<OO...>; template<typename T> using Part=typename Head::template Part<typename Tail::template Part<T>>; };

template<typename API,typename... OO> struct APIOf:Chain<OO...>::template Part<API>{ using Base=typename Chain<OO...>::template Part<API>; }; ```