This is sort of a follow up to this post:
I am curious to what tools people have built that you use either locally or in production that helps you be more efficient. From automating, to building, code generation, scheduling/reminders, or anything else.
Even if you never released it (you should!) I would be interested in knowing what non well-known tools people have made to make their own developer lives easier
Oldest comments (13)
I love this post idea!
I've made myself a tool to run tests for my SPA because I had a hard time with jest-puppeteer, and mine works fine for my use cases. I've abstracted the maximum to only specify what I want to test (the title of the tab, a click navigation, ...). It only uses puppeteer, assertions are done by test type (title, expected url, ...). I am thinking of remaking it to be more robust, and publish it for the community.
Another tool I launched recently, still for my web apps, is browser-worker, to work easier with service workers. It is still in development, I try to keep up with the maximum of use case.
What about you Shawn? :)
Oh Boy. My Time To Shine:
Ctrl + Pon order invoices and then closes the page, counts days since order date, click to copy order numbers, etc.I've found I'm pretty good at identifying inefficient processes and then learning what I need to do to make them better.
Edited to add: I'm also super lazy and hate doing repetitive things over and over. Take out as many steps as possible and it'll save you boat loads of time.
I've built
Color book - A one stop resource for UI color schemes, material design color palettes and gradient color generator.
Feel free to contribute here github.com/liyasthomas/colorbook
Marcdown - A lightweight realtime markdown viewer and editor. Create, open, view, edit and save markdown files on the go.
Feel free to contribute here github.com/liyasthomas/marcdown
Banner - A simple and clean banner generator for blogging sites such as DEV.to, Medium, etc.
Feel free to contribute here github.com/liyasthomas/banner
node-ftpsync: Does incremental file sync to a FTP (ex shared hosting).
Wrote a static site generator that generator that uses GoogleAppEngine for templating.
A tool to generate clean install VMs of Windows, OSX, Linux for VirtualBox
A tool that generates PDF documentstion from a fillable PDF form and GoogleSheet as a data source.
A scraper that crawls a site and locates all broken links.
And probably a dozen others I can't think of off the top of my head.
I wrote a tool in bash that sets up a simple no-framework web page file structure. It gives the option to start a git repo, a package.json and launches VS Code and Live-Server right off the bat.
A long time ago I wrote the original version of Latexmk which is still used out in the world to automagically produce your latex documents.
Erudite pulls articles from Instapaper or Pocket and add to your ebook library.
Clementinemonitor is a small python script to monitor what is currently playing in your Clementine music player, by hooking into the relevant dbus signals to detect state change.
Movieschedule to track Australian movie release dates. Sends emails if dates change, and keeps a google calendar up to date.
Sitesync which can mirror folders that are either on local file system, FTP or SFTP. It keeps track of file modified times and sizes to detect changes on either side and allows you to rationalise. Originally wrote it to help me maintain some web-sites without clobbering changes that other contributors were making at the same time. Think of it as unison that doesn't need the program running at each end (but hence, isn't as robust).
Well, I have built two tools that I used while developing my first game ever published.
The first tool was a localization editor. Since I made the game on a budget of basically zero dollars, I couldn't afford a fancy localization tool from Unity's asset store, so I made my own which works with key/value pairs. Although I don't have a link for it, I made a tweet about it right here: twitter.com/CharlExMachina/status/...
My other tool was a pattern editor. Since my game uses patterns to spawn elements in a match, hard-coding those patterns was VERY cumbersome and resulted in a code file of almost 2,000 lines. So I made a custom editor where I could add patterns with a graphical interface and that's how I've been working with patterns ever since then. I never tweeted about it but it's such an integral part of the game that made the development feasible and ended up in a published game.
aws-creds: Makes it easier to use multiple AWS accounts when you don't have SSO available. You can easily save multiple profiles, and then log into them with an simple set of commands.
I built it after being sick of modifying my ~/.aws/credentials file constantly and working with environment variables.
I deal daily with many projects, and even the things I authored are more than what my poor memory can hold, which is why I built broot which helps me make sense of a project structure and find the file(s) I'm interested in.
Random trick for vi users: making
:ean alias to your editor,:qtoexit, etc. This reduces the cognitive load when you deal with a lot of terminals and editors.I do a lot of automation/integration in my work. So I write a lot of Python or PHP (cli) code.