[HN Gopher] Ask HN: Tools you have made for yourself?
___________________________________________________________________
Ask HN: Tools you have made for yourself?
I am looking for tools that you might have built to scratch an itch
or quell a regular annoyance. My main motivation for asking is to
looking a different things people may have built and a secondary
motivation is to learn how they went about it. I'm also interested
in tools which are small scripts or a bunch of commands piped into
one another that have boosted your quality of life. Thank you.
Author : themantri
Score : 204 points
Date : 2021-06-12 07:29 UTC (15 hours ago)
| LightG wrote:
| Drove / automated a currency trading application using
| https://www.autohotkey.com/
|
| The amount of error handling probably made it more worthwhile to
| learn the actual automation language, but it worked.
| linehk wrote:
| gwebp can recursively convert images in the specified directory
| into webp of the same name. https://github.com/linehk/gwebp
| thangalin wrote:
| Here's a shell script template that helps parse command-line
| options and informs its users of any missing commands that are
| required to run the script successfully:
|
| https://dave.autonoma.ca/blog/2019/05/22/typesetting-markdow...
|
| Example script that includes the template:
|
| https://github.com/DaveJarvis/keenwrite/blob/master/installe...
|
| A more recent version of the script template is available at:
|
| https://github.com/DaveJarvis/keenwrite/blob/master/scripts/...
| kryptn wrote:
| Most recently, this websub-listener[1] to subscribe to websub
| feeds, mostly just to catch spacex launches. just sends a message
| to some slack channels, but could be extended to do a lot. Still
| really happy with how it's working out, maybe I'll extend it with
| RSS later.
|
| I've had some annoyances with Insomnia and wanted to take a shot
| at making my own tool. so here's http-client[2].
|
| [1] https://github.com/kryptn/websub-listener
|
| [2] https://github.com/kryptn/http-client
| whatsakandr wrote:
| Almost trivial, but I built a little jig out of sheet metal that
| came with breadboard to cut hookup wire exactly the length I
| needed it. Saves tons of time.
| wheatzies wrote:
| I've been leaning pretty heavily on Discord during COVID to stay
| in touch with friends. I play D&D with some of them and wrote a
| Discord bot for dice-rolling since we already used Discord for
| audio/video during our sessions. It's not very complex, but it
| was good practice for using the Discord bot API, and I can host
| it on my Raspberry Pi in my apartment.
|
| https://github.com/micahpress/discord-dice-roller
| zrail wrote:
| Oh lots. The ones that readily come to mind are my suite of tools
| for working with ledger-cli data.
|
| The one that I work with most is my reporting tool, which ingests
| ledger-cli formatted files, dumps the resulting CSV into
| PostgreSQL and then provides a structure for writing reports.
|
| Most recently I wrote a tool that consumes a spreadsheet
| generated by Tiller and appends transactions to my ledger files.
| This has allowed me to automate my ETL process down to just
| invoking an update command.
|
| https://github.com/peterkeen/ledger-web
|
| https://github.com/peterkeen/ledger_tiller_export
| mrjivraj wrote:
| Not sure whether this meets your "definition of a tool" but I
| started tracking my investments publicly a couple of years ago
| here
|
| https://docs.google.com/spreadsheets/d/1tBrZEMFK9XNWxiqOxE8o...
|
| The GoogleFinance Function has been a great way to help me
| "visualize progress" in a very different way compared to default
| visualizations provided by stock brokers
|
| I have also tried to keep track of analytics more manually but
| hope to find some time to automate later (if you wanna help, lmk
| :)).
|
| Basic metrics like the following: Hit Rate: % of investments that
| had a profit / Loss Rate: % of investments that had a loss / Size
| of Avg Winner / Size of Avg Loser / Expected Value of Investments
| / Win to Loss Ratio / Avg Holding Period / Opportunity cost
| analysis (eg: what is the stock price say 12-24 months after I
| sell?)
|
| These basic things would help the individual investor get a lot
| more insight than they can easily get today.
| hentrep wrote:
| This is really neat. Love how you've segmented separate
| portfolios based on risk/investment hypotheses. Thanks for
| sharing!
| mrjivraj wrote:
| Thanks.
|
| Yes, I believe that many investors are in a hurry to
| concentrate their investments. I prefer taking a large number
| of bets with high upside potential, thereby getting the
| benefits of diversification but also a decent expected value.
| eclectus wrote:
| I made https://eclect.us/ it's basically a collection of scripts
| ran with jenkins that summarizes SEC 10-Q and 10-Ks as they're
| published using BERT and decision trees trained on the
| performance of the underlying stock after a filing.
|
| There are other services that do this better but I just wanted
| something clean that didn't have a cramped UI, and wasn't a paid
| service.
| codingclaws wrote:
| I built up a web dev stack over the years while working on
| personal projects and client projects. First it was all together,
| but now it's separate libraries and a template app:
|
| db: https://github.com/ferg1e/pajamaSQL
|
| views: https://github.com/ferg1e/corn-wand
|
| form validation: https://github.com/ferg1e/bouncers-book
|
| misc: https://github.com/ferg1e/paper-cello
|
| template user-based app: https://github.com/ferg1e/screen-name
| UnnoTed wrote:
| My last tool is WireGUIrd, a wireguard gui client for linux.
|
| https://github.com/UnnoTed/wireguird
| smoldesu wrote:
| Looks great! It's always awesome to see another GTK developer
| out there doing their thing in the wild!
| doctordesh wrote:
| I wrote this (at work) to update versions in our projects from
| one place, and even partial versions. Saves me some headache and
| mental space every time. I know there are competitors but none I
| found was just simple, everything else was bloated with Git-
| integration or regex search instead.
|
| https://gitlab.com/MaxIV/app-maxiv-semver
| tvst wrote:
| ttymidi http://www.varal.org/ttymidi/ Written around 2004 to
| allow me to make custom MIDI devices with Arduinos.
|
| NiftyPlayer http://www.varal.org/niftyplayer/ Made in 2000ish to
| play mp3s on a friend's website.
|
| Cardapio https://launchpad.net/cardapio Made around 2010 to
| replace the app menu in Gnome to support search, ability to
| navigate folders, and plugins.
|
| TomatoInTheSky http://tomatointhesky.com/ Pomodoro timer with the
| ability to pause (which goes against the technique). Made in 2010
| for my wife to study for dentistry classes while working in
| hospice care.
|
| FiveHeadlines http://fiveheadlines.com Reddit reader that pulls 5
| headlines from my favorite news subreddits, so I don't browse
| Reddit for too long. Made around 2014.
|
| And now my joint project with some friends is where I work every
| day! Started in 2018 https://streamlit.io
| pietre wrote:
| Tool to generate a random order of a popular food delivery
| service in The Netherlands. Wanted to discover new local
| restaurants instead of eating the same 3 things always.
| http://thuisbezorgdroulette.nl/
| jacobmischka wrote:
| The first one that comes to mind is a super simple (and hideous)
| app to stick images together in the layout of your multiple
| monitors in order to create a spanned wallpaper with a different
| image on each display. I created it ages ago when Electron was
| relatively new, and I still use it every month or so.
|
| https://github.com/jacobmischka/wallpaper-adhesive
| jjgreen wrote:
| Sushi: Ruby script which generates a stub for a 1-file C project
|
| https://gitlab.com/jjg/sushi
| travisjungroth wrote:
| Better habit support for Todoist: https://habitsfortodoist.com/
| and https://github.com/travisjungroth/habits-for-todoist
|
| Algorithm practice: https://github.com/travisjungroth/algo-drills
|
| A tiny script that adds articles I want to see again onto my todo
| list:
| https://github.com/travisjungroth/boomerang/blob/master/boom...
| t0astbread wrote:
| A few months ago I wrote (and expanded over time) two simple
| scripts for note-taking and time tracking at work (because our
| official time tracking tool is kinda lackluster). They're really
| nothing special, just editing some Markdown files stuck in a Git
| repo, but they're a vital part of my daily toolbox.
|
| I've pulled them out into a separate repo and published them
| here: https://github.com/T0astBread/sticky
| oezi wrote:
| Lol, my little project is scratching the same itch. I also
| wanted a easy way to get a clean state to start the day / next
| section of a day.
|
| Since I focus on todos, I wrote a editor which creates a new
| section (as your daily script) and copies over all unfinished
| entries.
|
| https://github.com/coezbek/rodo
| rokobobo wrote:
| Every night at midnight, I have a script that sends me a blank
| email with a smiley face as subject. It's a nice way to very
| quickly distinguish emails from today, yesterday etc. and also to
| stunt my prior that every email I get is going to be stressful.
| modeless wrote:
| Decoder Ring: https://james.darpinian.com/decoder/ to look up
| error codes. Started with OpenGL, then added Windows error codes,
| Linux, HTTP, and Vulkan.
|
| I was a bit frustrated always pasting error codes into Google, as
| it doesn't always come up with the best result. You often have to
| extract just the code from a larger message, and potentially
| convert to/from hex or signed/unsigned, e.g. Windows error codes
| like "-2005270521". My tool handles all that for you. Just paste
| an error message containing codes in whatever format and it'll
| find them, and it's incredibly fast.
|
| I also made https://aqi.today during the California wildfires. I
| was frustrated by other air quality sites that load way too
| slowly and don't emphasize the one number that matters.
| Airnow.gov has improved since I made this, but but I still prefer
| mine for the simplicity, speed, and much better data sourced from
| Purpleair. Airnow.gov sensors are typically 5+ miles apart, and
| data is delayed by an hour or more, while air quality can vary on
| a block-to-block and minute-to-minute basis. Purpleair has far
| better sensor coverage and data is delayed only 10-20 minutes.
| jrhawley wrote:
| I've been learning rust recently and trying to make a few
| CLIs/TUIs for simple tasks.
|
| I have a simple CLI for handling the `$PATH` environment variable
| [0].
|
| And I have a simple TUI for keeping track of financial statements
| for various accounts [1].
|
| [0]: https://github.com/jrhawley/pad-path
|
| [1]: https://github.com/jrhawley/quill
| csbartus wrote:
| 1. A design system, to create web sites on the fly.
|
| 2. A content-as-code framework, to help me writing complex
| articles, mini-books. The ideas are visualized as a directed
| graph, so I'm sure I'm sticking to them, and the result is
| complete.
|
| 3. A color scheme generator for web sites, to help me creating
| themes with accessible typography.
|
| 4. Gravity point calculator, to help me localize the focus point
| of a web page / slide, to make sure the message is delivered.
|
| 5. Art directed images, displaying the same image in
| portrait/landscape, depending on the device/orientation.
|
| 6. Hand made web decorative elements, to make uniquely looking
| web sites.
| nickjj wrote:
| A whole bunch of little things, mainly command line tools.
|
| Most of them are open source and also have extensive
| documentation and a screencast video going over them.
|
| Here's a few examples:
|
| - https://github.com/nickjj/notes
|
| - https://github.com/nickjj/invoice
|
| - https://github.com/nickjj/wait-until
|
| And a few recent scripts to optimize very specific workflows:
|
| - https://nickjanetakis.com/blog/using-ffmpeg-to-get-an-mp3s-d...
|
| - https://nickjanetakis.com/blog/a-shell-script-to-keep-a-bunc...
|
| - https://nickjanetakis.com/blog/bash-aliases-to-prepare-recor...
| winsbe01 wrote:
| I build a cli music player that can handle both local mp3s and
| Spotify tracks in the same playlist, because I wanted that. I
| also recently built a tool to help me keep track of my books
| (what I own, what I want to read, what I've borrowed, etc).
| banana_giraffe wrote:
| A small Todo git repo. Well, it started as a simple git repo with
| a text file, but now it has a web front end, and a lambda/cron
| thingie that can automatically add tasks based off a description
| of frequency. For me, having a todo task list I can use wherever
| I have a shell or browser means I'll actually use the dang thing.
| One of these days I'll clean up the code and put it somewhere
| public, I suspect others might find it useful.
|
| The other thing I've done that I'm sure lots of people have done:
| A small git repo that has some random tools I've made from time
| to time. I put it in my path on any machine I use frequently, so
| I have my little toolbox handy. One of the tools in my toolbox
| spits out a command line to download and run any other tool
| without writing it to disk, or needing any credentials locally,
| so I can paste the runner on a machine I'm on, but don't want to
| copy all the tools or otherwise setup. That can be handy, and
| prevents me from polluting any machine I touch.
| linkdd wrote:
| In the category of old unmaintained tools: -
| https://github.com/linkdd/manyssh : Before discovering
| ansible/puppet/etc... - https://github.com/linkdd/i3tools :
| For when I was using i3wm -
| https://github.com/linkdd/xautostart : Also for when I was using
| i3wm without a Display Manager
|
| For more recent projects: -
| https://klifter.datapio.co : Easy GitOps -
| https://klander.datapio.co : Kubernetes Compliance as Code
| mmastrac wrote:
| I made stylus to manage my home network with a Raspberry Pi. It
| requires barely and resources [!] any can manage anything that
| can be talked with via a shell script (including SNMP).
|
| https://github.com/mmastrac/stylus
|
| [!] I run it on a Pi0 and it takes negligible resources on that.
| garyfirestorm wrote:
| I along with 50ish colleagues use a software that has ole object
| which can be pasted in PowerPoint. The object contains plots
| which can be modified for axis and zoom etc. Our reports mostly
| contain these plots which explain acoustic/vibration events in a
| car. Making a complex presentation is a difficult task
| considering when you paste these they don't exactly occupy the
| space you want them to occupy. I made a neat ribbon toolbar using
| VB.net (vsto addin) that even updates over network path after
| PowerPoint bootsup. The toolbar let's you resize an object and
| place it on the slide in a click. It also 'activates' the object
| at certain zoom level, so that they are look better.
|
| P.s. I'm not comp sci guy so forgive me if im not using the right
| words here.
| samanator wrote:
| I wrote a program to help me archive my google mail. You can
| query it like a database (group by senders, subjects, etc.) and
| perform the archive operation.
|
| Useful for when the inbox gets to 1k unread messages.
| tormeh wrote:
| Wrote this for diagnosing OOMs on our Hadoop cluster at work:
| https://github.com/mbrtargeting/oom-monitor
| nicolashahn wrote:
| I built this image differentiation tool to automate comparison of
| images generated by two different (one legacy, one replacement)
| image processing services: https://github.com/nicolashahn/diffimg
|
| Seems to have become useful for a lot of other people, which I
| didn't really expect.
| lucasmelin wrote:
| I came across this library just the other week when looking to
| do some basic screenshot diffing as part of some automated
| regression testing. Super useful, thanks for your work!
| DarrenDev wrote:
| I built a tiny Windows desktop app to hide files on my lap top
| from anyone who might be using the lap top briefly - visiting in-
| laws, friends who wanted to check email, etc. Building it was
| triggered by a nosy but technically un-savy sister who was always
| poking around.
|
| This was about 8 years ago and I use it on all my machines since,
| even work ones. It 'hides' files by randomly renaming a folder's
| contents and removing the file extension. Simple, but
| surprisingly effective.
|
| I called it Cloak My Stuff.
|
| https://badwolfsoftware.com/cloakmystuff.html
| jonseager wrote:
| I have a couple of projects that I've used over the years. My
| favourite is probably Architect, which is yet another Arch
| installer configured with a little bit of YAML and all in bash
|
| https://github.com/jnsgruk/architect
|
| It supports a couple of different options for partitioning,
| encryption, flicker free boot and some other nice bits :)
| snisarenko wrote:
| emailmynotes.com (the backend is down right now, working on
| moving to cheaper hosting)
|
| Send yourself notes from an untrusted computer, without entering
| passwords.
| philovivero wrote:
| I wrote an in-terminal histogram tool[0] because... that's
| when/where I always need histograms.
|
| [0] https://github.com/wizzat/distribution
| asdw wrote:
| Wow, I didn't know I needed this but after looking at it I
| realized I do.
| tasuki wrote:
| This is the best thing since sliced bread, but it doesn't work
| for me on a recent Ubuntu. Tried with both Python 2 and 3.
|
| Compare: $ sudo du -sb /etc/* | sort | uniq |
| sort -rn | head -10 2897355 /etc/brltty 436966
| /etc/java-11-openjdk 402728 /etc/ssl 251196
| /etc/apparmor.d 244732 /etc/ImageMagick-6 219185
| /etc/X11 170093 /etc/fonts 144084
| /etc/java-8-openjdk 131407 /etc/init.d 117524
| /etc/systemd
|
| With: $ sudo du -sb /etc/* | distribution
| Key|Ct (Pct) Histogram 9795
| /etc/ssh|1 (0.40%) -----------------------------------------
| 97442 /etc/speech-dispatcher|1 (0.40%)
| ----------------------------------------- 9592
| /etc/sysctl.d|1 (0.40%)
| ----------------------------------------- 9461
| /etc/update-manager|1 (0.40%)
| ----------------------------------------- 9438
| /etc/locale.gen|1 (0.40%)
| ----------------------------------------- 9376
| /etc/libreoffice|1 (0.40%)
| ----------------------------------------- 92
| /etc/host.conf|1 (0.40%)
| ----------------------------------------- 91
| /etc/networks|1 (0.40%)
| ----------------------------------------- 9077
| /etc/libblockdev|1 (0.40%)
| -----------------------------------------
| 9074 /etc/pm|1 (0.40%)
| ----------------------------------------- 9013
| /etc/bluetooth|1 (0.40%)
| ----------------------------------------- 890
| /etc/gshadow-|1 (0.40%)
| ----------------------------------------- 890
| /etc/gshadow|1 (0.40%)
| -----------------------------------------
| 8894 /etc/skel|1 (0.40%)
| -----------------------------------------
| 887 /etc/rpc|1 (0.40%)
| -----------------------------------------
|
| The indentation is all janky. And it's not sorted how I'd like.
| scriptnull wrote:
| I wrote a small utility that helps me to kickstart writing blog
| posts.
|
| https://github.com/scriptnull/sblog
|
| (Been saving me a few minutes ever since)
| dcminter wrote:
| That's neat. I love ideas like this that remove small amounts
| of friction from useful behaviour.
| axarydax wrote:
| Back in 2006 I had a side job as an IT journalist. I wanted to
| draft my articles while away from the computer on the Pocket PC,
| as laptops were really out of my reach, and back in the day the
| localized input methods (touchscreen keyboards) were paid and
| expensive apps.
|
| I ended up with a text editor supporting various formats and
| inpit languages, implemented in quite dreadful verbose C#, as I
| didn't know any better.
|
| https://sourceforge.net/projects/ppc-edit/
| hashamali wrote:
| I made https://paymewith.xyz to share my social payments faster.
| Got tired of the "do you have Venmo/Square Cash/Paypal" dance.
| app4soft wrote:
| It seems like an alternative to https://linktr.ee
| irthomasthomas wrote:
| I made this for fun after watching some breathless microsoft
| video about AI in VS code which amounted to autocomplete sorted
| by popularity. I told a friend I could knock out something more
| useful (at the time) in half an hour. It's a ahk wrapper of
| howdoi designed to find code snippets from stack exchange and put
| them right into the code file you are editing. It is so simple
| but I actually found it pretty useful for learning new languages
| or for getting a quick reminder how to do that thing you don't
| use often. https://github.com/irthomasthomas/helpmecode
| oezi wrote:
| Can you explain what it searches for? Is it the 'I feel lucky'
| first code block from the first match of the search term?
|
| How does it know the language? Window title?
| epakai wrote:
| I wrote hbr (handbrake runner) [0]. It takes a global config, a
| per-file config, and individual outfile sections then calls
| HandBrakeCLI to encode video. I use it to encode movies/series
| from optical media.
|
| Additionally there is hbscan.py to generate a list of potential
| outfiles from handbrake's --scan argument. One day I'd like to
| integrate it with hbr (in C) using peg/leg [1]. Currently using
| pyparsing.
|
| This is still a lot of manual work, but it saves doing it twice.
| When you find a mistake in an encode there's a log with the file,
| and it's easy to go back and modify the keyfile and re-encode it.
|
| [0] https://github.com/epakai/hbr
|
| [1] https://www.piumarta.com/software/peg/ (not mine)
| iteratorx wrote:
| I wanted a way to keep track of my expenses so I built a mobile
| app in Flutter to do just that. App data is stored on device, no
| cloud, no tracking, no third parties, and I use SQLite files for
| storage and export. I made it available for free:
|
| - for Android
| (https://play.google.com/store/apps/details?id=ro.lansator.ba...)
|
| - iOS (https://apps.apple.com/us/app/banii-mei/id1436417739)
|
| Great experience learning Flutter and publishing the app in both
| stores.
| foepys wrote:
| Looking at the Android app in the play store and it says it's
| not available in my country (Germany).
| iteratorx wrote:
| Thanks for letting me know!
|
| I hadn't published it for Germany, so I did it now, should be
| available.
| saimiam wrote:
| I hate blogging using markdown/wordpress so I built myself a
| blogging platform which lets me post via gmail. I've [Show HN]-ed
| it a few times now that I decided to productize it but it didn't
| get too many eyeballs.
| fatboy93 wrote:
| Can you share the link?
| saimiam wrote:
| https://moogle.cc/ - thanks for asking.
| username91 wrote:
| Made something really similar to apple's recently unveiled
| "universal control," but from Windows -> Mac. Lets me have the
| mouse wander off the side of the screen if "pushed hard" and it
| "pops out" on the mac. It has some issues with modifiers sticking
| and it's hard-coded to my network IPs and screen resolutions,
| PLUS it requires an unrelated tool I made to actually build the
| thing; it's on my "open source someday" list but it's not very
| other-programmer-friendly.
|
| Made lots of other things but that's probably my fave and the
| strongest one for productivity.
| fraetor wrote:
| Synergy does this really well https://symless.com/synergy
| username91 wrote:
| Nice! I can feel less guilty about not trying to finish mine.
| :j
| smw wrote:
| And barrier is a fork of synergy before it went quasi-open
| source that actually works!
|
| https://github.com/debauchee/barrier
| davchana wrote:
| https://apps.bydav.in
|
| ssl is sketchy working on some of these because of gitlab and or
| cloudflare settings.
|
| The one I use everyday is a html javascript form hosted on gutlab
| pages and sending data to google sheet via apps script, to record
| my timesheet data.
|
| Since coding, I have used the gotp app, which is Google TOTP
| impory export & backup before Google Auth itself implemented.
| Still, their way is to start from scratch only, whereas mine one
| can be used to add accounts. https://spa.bydav.in/otp.html
|
| I used a mix of gmail filters, app script & sheets to download
| every email I received as eml file & save it in drive folder
| named as year, & eml named as yyyy mm dd hh mm ss ttt nn
| subject.eml
| maxrev17 wrote:
| I have an augmentation of clickup via their api which lets me
| report in different ways on subcontractors and
| tasks/projects/clients over different time periods and calculate
| overall/historical profitability. Works quite nice :)
| nergal wrote:
| When wunderlist was shutdown i had to find an alternative. I only
| used basic features of wunderlist and wanted something similar.
| But all options was just too much. So I built it myself. I've
| used it every day since. For shoppinglists and work tasks and any
| household tasks. It's perfect for what I want. It even looks a
| bit like wunderlist. Https://github.com/lallassu/doit
|
| Then I also wanted to read my news from the shell in a simple
| manner. And I knew what I wanted but no existing rss client had
| the feeling I wanted. So I built Gorss. I use that every day as
| well. Https://github.com/lallassu/gorss
| mrami wrote:
| A tool that will read your Java REST endpoints, and make
| TypeScript interfaces and invocation functions, so you can
| pretend your React front-end is using DCE again like it's 1999.
|
| https://github.com/BlueCircleSoftware/bluecircle-json-interf...
| mathgladiator wrote:
| Not small, but myopic in a way.
|
| I've been tinkering on and off with my own programming language
| for the last couple of years: http://www.adama-lang.org/
|
| The key motivation is dealing with the complexities of managing
| all the state between people as they play a game with a strong
| boundary for privacy.
|
| I am debating what my next steps are with what I've learned. Do I
| focus on growing things around it, or do I abandon yet another
| project and do something that might actually achieve success.
| xpe wrote:
| Do you have a community of people to bounce ideas off of?
| BoardGameGeek perhaps? Other niche language developers? Sounds
| cool. Feel free to ping me if I can help. I've made a few board
| games and computer games. (Contact info in my profile)
| jazzychad wrote:
| I made https://xbm.jazzychad.net as a simple online XBM image
| editor for use in various Arduino projects that use those little
| oled displays. It was also an excuse to learn React a few years
| ago.
| brundolf wrote:
| I made Strainer, a CLI utility for finding duplicate lines in one
| or more files: https://github.com/brundonsmith/strainer/
|
| My original use-case was looking for copypasta across a CSS
| project, but more recently I dug it back out to strip duplicate
| entries from a set of enormous EasyList (https://easylist.to/)
| files I was working with
| verdverm wrote:
| Code generator based on CUE
|
| https://github.com/hofstadter-io/hof
| rcurry wrote:
| Sounds dumb but I go camping a lot and still want to access
| various informational APIs when I'm in limited cell reception
| areas so I built a bridge that allows me to hook my APIs up to
| text messaging. I just send a text like "news" and get the latest
| headlines over sms. It works pretty well even when I don't have
| data access I can still usually get the text messages back.
| RileyJames wrote:
| Very cool. When I was travelling around Canada I also wanted a
| sms 2 api gateway.
|
| 3G/4g data was expensive and reception limited. But sms was
| free and unlimited, and more widely available.
| rcurry wrote:
| I'm working on turning it into an online service - shoot me
| an email to recurry@outlook.com and I'll give you a free
| unlimited account if you'd still like something like that.
| fb13 wrote:
| I always bookmark these idea mining threads, has anyone ever made
| use of them?
|
| My though, because I haven't, is that if you want to essentially
| work on someone else's idea then go be an employee, otherwise the
| first actually passionate person will steal the show as soon as
| they show up.
| ondrek wrote:
| https://www.npmjs.com/package/bebusy
|
| Seven years ago I needed time for finishing a school project and
| wanted to look busy at work. The packages prints random messages
| to terminal, so you look like you are are in middle of some
| deployment job or npm install.
|
| Still works as far as I know.
| InputUsername wrote:
| I built a music "scrobbling" program called rescrobbled to submit
| music I listen to Last.fm. I was sharing a Spotify account so I
| couldn't use Last.fm's Spotify integration -- which is pretty bad
| anyway, in my experience. Rescrobbled has served me well (and a
| few other people too, apparently).
|
| https://github.com/InputUsername/rescrobbled
| simonbarker87 wrote:
| Oooh, so many: - finance tracker for my wife and I when saving
| for our first house. JQuery and PHP, my first "real project" -
| had a great domain name: spentby.me - stock/production management
| script in Python for my business that I eventually rewrote and
| released as my first iPhone app (StockControllerapp.com - still
| sells a few copies a week after 5 years) - stocks/shares analyser
| script in NodeJS to show industry and company weighting's to show
| if we are over indexed on a holding/sector - Instagram post
| creator in React so I can make educational coding carousels in
| the style my account has without having to faff about in figma
|
| Pretty much everything I build is to solve a problem I have for
| myself and I just don't like the existing options (I always looks
| first and if I find something I like I use that, if not I roll my
| own)
| ficklepickle wrote:
| I have so many of these things that I use daily.
|
| I made a CLI password manager in Bash. It grabs random bytes from
| /dev/urandom, filters out the non-ASCII, then GPG encrypts with
| my key. Months later I realized I had reinvented the common
| utility 'pass'.
|
| I made a utility to type accented characters on Linux. I learned
| to type French on an English keyboard under windows as a kid
| using Alt + 0NNN where NNN is the decimal character code. I made
| a delightfully hacky solution: when I press Alt+0 a tiny window
| is popped for a fraction of a second to capture the next
| keystrokes. If they are 3 digits, it spits out the relevant
| character into the active window. This one is also in bash.
|
| The car share service I use got rid of their web interface. I
| reverse engineered their android app and created my own
| unauthorized web app so I can find available cars.(evofinder.ca)
|
| I built an embedded device that connects to the door buzzer in my
| apartment so I can let myself into the building. It's built with
| a cheap esp8266 dev board and programmed with the arduino IDE,
| yet it has been running reliably for years.
|
| I built a mobile trivia game web app that is simple and
| lightweight with no ads or tracking. I made it pre-COVID to kill
| time when I was out and about. (Justtrivia.fun)
|
| If you want more info about any of these, check out
| https://jeremypoole.ca/posts
| mkaic wrote:
| I'm in the middle of building an ML model to make it so I don't
| have to use green screen anymore when making my short films! It's
| based off of some recent research at the University of
| Washington, pretty fun stuff. Maybe 75% complete, starting to get
| semi-reasonable results finally.
| aloisdg wrote:
| Recently I released a webapp to fix a problem I faced. I can
| paste any image from my clipboard (mostly screenshot in my case)
| to get its base64 version so I can integrate it directly in any
| markdown: https://paste64.vercel.app/
|
| It was also an excuse to try out Svelte with TypeScript:
| https://github.com/aloisdg/paste64
| bool3max wrote:
| Seems like a fun learning project, but in the real world it's
| very counterproductive. You can obtain the base64
| representation of the current clipboard contents very quickly
| using a single terminal shell command.
| jacobmischka wrote:
| This is an incredibly weird reply. "Very counterproductive"?
|
| You hit ctrl+v and click a button using the app, that is
| roughly equally, if not more, convenient than switching to a
| terminal and entering a command.
| jlkuester7 wrote:
| We must have very different definitions of
| "counterproductive". Sure, if you have mental space to
| remember the commands to generate the base64 via a terminal
| then more power to you. For the rest of us that would rather
| store a bookmark and/or might not always have access to a
| *nix environment for running shell commands this seems like a
| great solution. Either way it is far from
| "counterproductive".
| tonyjstark wrote:
| https://codingfriends.github.io/Tincta/
|
| While studying a friend and I used a text editor called Smultron
| for all our VHDL and HTML/JS scripting. The developer stopped
| supporting it for a while and we got annoyed by unfixed bugs. In
| the end we missed having this little, easy to use tool so much
| that we wrote Tincta. It was heavily inspired by it. It doesn't
| get enough love nowadays but I still use it for short notes.
| pretzell wrote:
| I set up wifi on 130 acres on a mix of solar and grid, wired
| Ethernet, "wireless" Ethernet, and mesh wifi. We have two shakey
| ISPs. I ping all network devices every ten minutes and plot the
| results over time. Has helped me tremendously when
| troubleshooting
| jatins wrote:
| During last lockdown in March, it became really hard to get
| grocery delivery slots online. And everything offline was, well,
| mostly shut.
|
| The delivery slots would run out within 15 minutes of being open.
| So I hacked together a script that'd poll for delivery slots and
| notify me on whatsapp whenever there were slots.
|
| This year I had to do the same for vaccine slots. In fact,
| getting a vaccine slot became a bit of a hackathon in India due
| to limited slots with multiple GitHub repos and hosted tools
| coming up to notify you of available slots.
| otagekki wrote:
| As a Wikimedian who used to spend sleepless nights editing on the
| Malagasy language Wikipedia and Wiktionary, I have been
| developing botjagwar (https://github.com/radomd92/botjagwar) on
| and off for the last 10 years. More details at
| https://github.com/radomd92/botjagwar/wiki/Backstory
|
| It's mostly bot scripts written in Python. Data is stored in a
| self-hosted PostgreSQL. In addition to a backend I'd written
| myself, I also use PostgREST. A rather rustic front-end was
| written in 2020 (https://github.com/radomd92/botjagwar-frontend)
| as a COVID lockdown side-project. Other scripts also use Redis as
| a page cache to speed up operations involving a large number of
| page reads.
| acj wrote:
| A tool for visualizing log file volume over time in your terminal
| [1]. Useful for quickly getting a handle on traffic patterns
| during a production incident. This began as a scratch-the-itch
| project and was also the first useful thing I made in Rust. Two
| itches scratched :)
|
| A tool for visualizing ping latency as a heatmap [2]. My
| Macbook's wifi had developed a severe latency stutter every
| ~500ms that was driving me nuts when using interactive tools like
| SSH. It was very satisfying to visualize it and see the pattern,
| and it helped to narrow the list of possible causes.
|
| [1] https://github.com/acj/krapslog-rs
|
| [2] https://github.com/acj/pingrok
| cturtle wrote:
| Just yesterday I wrote a command line tool I called "slice" that
| acts like Python list slicing for lines in a file. It's a bit
| simpler than piping head to tail, and I've needed it enough times
| this week that I went ahead and wrote it in Zig. Haven't used it
| yet in practice, but I'm excited to!
| maxwells-daemon wrote:
| I often want to run small "experiment code" many times with
| different inputs, but don't like wrapping everything in a big
| framework to do it. So I wrote a little tool that calls any
| command-line program multiple times with different inputs
| according to a template and a search strategy [1].
|
| Another upside is that most parameter search programs seem to
| assume you want either grid search (which is hideously
| inefficient for large search spaces) or bayesian optimization
| (which can be overkill and comes with its own caveats). I wanted
| to make it easy to use quasirandom search [2], which is basically
| always the right choice for small searches where you just want to
| understand the parameter space better.
|
| [1] https://github.com/maxwells-daemons/argsearch [2]
| https://en.wikipedia.org/wiki/Low-discrepancy_sequence
| EthOptimist wrote:
| I made a command line tool in Golang to get your current IP
| address along with the Google Maps link to the exact GPS
|
| https://github.com/claytonblythe/myip
| nethunters wrote:
| Whilst learning classical Arabic it was a pain when reading to
| search through the Hans Wehr dictionary by first extracting the
| root letters of the word and then looking up the root and then
| finding the correct form.
|
| So I put together a frontend [1] to search a scanned version I
| found of it. It has now evolved in to an offline PWA, which you
| can search from Arabic to English and English to Arabic, convert
| numbers in both classical or modern Arabic form, stem words etc.
| When searching in Arabic it removes affixes, prefixes, suffixes
| and also uses multiple stemming algorithms to obtain the root if
| an exact match is not found.
|
| It's pretty neat and makes reading so much easier no matter what
| device I'm on. It's also used by other professors, teachers,
| students and friends who are also in the classical Arabic field.
|
| [1] - https://dictionary.ilmwaa.ml/
| ammar_x wrote:
| Great! Adding it to my favorite dictionaries.
| nethunters wrote:
| Let me know if you've got any feedback, suggestions or
| feature requests.
| ammar_x wrote:
| I couldn't find results for the Arabic verb: y`yb or its
| past form `b. It means something like criticize. Any tips?
| nethunters wrote:
| Well you've found an `yb in the dictionary! Currently it
| uses a single dictionary, Hans Wehr, which doesn't
| contain that word (I've checked in my physical copy
| also).
|
| In my backlog is adding additional dictionaries to fill
| in where Hans Wher is lacking, with next in line Lane's
| Lexicon. Hans Wehr is a good dictionary for students and
| contains approximately 90% of the words they will
| encounter in their first few years of studying. The issue
| I'm having at the moment is that both dictionaries are
| structured differently and it requires some manual work
| to unify their structures.
|
| When searching a verb you can either search the root
| letters, or any other form even with affixes attached and
| the stemming algorithms should get the right root word.
| ammar_x wrote:
| :)
|
| Great. Good luck with adding new dictionaries and thank
| you for your efforts.
|
| By the way, have you seen the work of Taha Zerrouki. He
| has produced many open source tools to deal with Arabic
| language [1]. Thought you might be interested.
|
| [1]: https://github.com/linuxscout?tab=repositories
| nethunters wrote:
| jzkm llh
|
| My website was originally a Flask web app which used his
| Arabic number converter, Arabic stemmer, Arabic
| normaliser and other modules. But in order to use offline
| as a PWA I end up porting these to JavaScript. I will
| release the source code once tested properly and porting
| is completed.
|
| Also just going through your blog, enjoying the summary
| of Abul Hasan Nadwis book. Keep up the good work!
| Anonymous4272 wrote:
| That will definitely be useful for students, especially some of
| my classmates.
|
| Is this open source? If so i may contribute where possible
| Also, a feature request (if your taking them) is a vocabulary
| learner and a way to test yourself and mark your progress.
| nethunters wrote:
| Not open source at the moment but may do in the future.
|
| That definitely would be useful and something I'll hopefully
| add.
|
| You can email me at dev [at] dictionary ilmwaa ml
| rognjen wrote:
| I made an editor for markdown front matter. Useful if you're
| building sites using Jekyll and similar.
|
| https://github.com/ognjenio/front-matter-editor
| iso1210 wrote:
| == killUnusedTerminalsAndBC.sh ==
|
| This kills off any open bc instances I have, and then any open
| rxvts I have which aren't running another program
|
| After a day or so I can easilly have 100+ rxvts in the
| background, some of which are running vim, some sshed into other
| servers, but many of which are just old windows I ran to do
| something briefly but never killed off
|
| == another config differ == Someone else on the team had a nodejs
| based config checker (a script which every 10 minutes logs into
| -- like rancid, but looking nice). It broke after some minor
| change in one of the 456,914 imported scripts, so I bashed
| together my own and dragged in a visual diff tool.
|
| I looked at rancid but it felt rather cumbersome, and I didn't
| want to store stuff in an VCS, it was quicker and easier just to
| do it myself
|
| == vlc multiviewer == I wrote a VLC wrapper in python using a VLC
| Gtk widgit to give me a multiviewer so I could monitor multicast
| RTP streams and easilly mute/unmute from a touchscreen
|
| == continuous pinger == Just a program to sit in the background
| pinging a list of servers continuously, traceroutes every 10
| minutes, and storing them, then a webpage to show the results and
| summarise them (highlighting any losses and pinpointing the exact
| second, etc)
|
| == multicast test tools == A couple of quite python multicast
| send/receive tools to check connectivity. The receiver can also
| dump out an output and generate a jpeg from the contents (using
| ffmpeg), and ties into monitoring to ensure that the streams are
| all working and we haven't had something like pim dying on a
| router (which has happened in the past)
|
| == cheese.sh == Loads up mplayer to cheesefm and logs what's
| played (ICY Info lines) to a text file (having first rotated the
| last one)
|
| == sshold == To ssh into old cisco switches. Barely a script
| ssh -oHostKeyAlgorithms=+ssh-dss -oKexAlgorithms=diffie-hellman-
| group14-sha1 $@
| tasuki wrote:
| > killUnusedTerminalsAndBC.sh
|
| How do you ever _find_ anything if you have 100+ rxvts open? Do
| you just open new terminals all the time and never go back to
| the old ones? (Have you heard about terminal multiplexers?)
| barrkel wrote:
| At least rxvt can run in daemon mode so you don't pay a full
| penalty for each instance, but it's still a bit OTT. Why not
| tmux for your ad-hoc terminals. Less likely to forget about
| them and they're easily managed.
| yabones wrote:
| I made a little script for quickly spinning up KVM virtual
| machines on my testing rig. It just grabs a minimal Ubuntu image,
| preseeds it with a ssh key, clones a VM on the default NAT
| network, and sets up the disk size/CPUs/memory allocation. It's
| not meant to replace orchestration or config management tools,
| just for quick and dirty VMs.
|
| https://github.com/noahbailey/kvmgr
| rootdevelop wrote:
| When tasked to do some e-mail template development at work
| without access to a mail server I developed a small cli tool[1]
| that converts HTML to EML so I could send it as an attachment to
| the test devices.
|
| [1]: https://github.com/rootdevelop/html2eml
| 627467 wrote:
| Not my tools, but been following 100r long enough to know why
| they build their own tools: https://100r.co/site/home.html
| rcarmo wrote:
| I wrote Piku (https://github.com/piku) to do all of my
| deployments. Easily the most bang for LOC I ever did.
| destructionator wrote:
| I wrote my own terminal emulator stack. I was annoyed that the
| colors were often unreadable on others and that shift+page up
| wouldn't work to scroll from inside gnu screen that I used to
| use. So I rewrote the whole thing from scratch, my own terminal
| emulator and my own replacement for gnu screen. The terminal has
| both a custom palette and refuses to display certain combinations
| (if you ask it to do white on white, for example, it will do grey
| on white instead) and forwards various things like the shift+page
| up keys all the way down (and on the other side, commands like
| clipboard paste request all the way too), so when I ssh to the
| desktop and attach the session, all my habits still work.
|
| I know it sounds like overkill but it just really bugged me to
| strain my eyes and have to hit different weird keys depending on
| where I was.
| phreack wrote:
| A friend and I always develop small scripts to generate stuff
| that's really boilerplatey in Android, basically writing text to
| files with node.
|
| I've also made my own autoclicker for grindy Android games that
| otherwise detect in-OS clickers by basically using batch and adb
| to click certain spots randomly in a while loop.
|
| Also a few batch scripts for a musician friend who's 0% technical
| to separate mp3 songs into instrument tracks (to rehearse and
| have fun) with spleeter by just dragging the file into the .bat.
|
| Oh and a bunch of mini scripts to pull and merge stuff from one
| git branch to another and push it all (like dev to staging) to
| trigger a CI flow.
| amar-laksh wrote:
| Got tired of having to pause/resume media while watching food,
| made a script to automatically pause/resume media if I'm not
| focusing on the screen. https://github.com/amar-laksh/focusTV
| (the code was not great but it works)
| greenyouse wrote:
| I wanted frontend debugging in prod so I've been halfway through
| building a source map injection browser extension for a while.
| The problem is that source map comments don't work well when the
| same artifact is deployed across prod and multiple staging
| environments. For each env at work we have different asset paths
| which need to be generated. Each server already serves up its
| source maps behind a firewall (for other reasons). The main work
| of the browser extension is to inject the source map dynamically
| at runtime when the page is loaded in the browser.
|
| It can do this by taking a mapping of regex asset paths for each
| server in each env and the url of the source map location. Then
| it fetches the source maps internally, injects them using a
| SourceMap header with the chrome devtools network api, and that
| attaches the source maps in chrome's sources panel.
|
| We used to get hit with production issues during oncall shifts
| more often. This came out of thinking about ways I could make
| debugging under pressure a bit easier for myself. If it helps I
| also automate common debugging steps with chrome snippets to save
| time.
|
| We haven't been dealing with prod issues that need debugging for
| most of the last year so I haven't really needed it. It's not
| super hard to build though. If anyone wants to you should go for
| it!
| compacct27 wrote:
| Oh hey, I've been thinking of doing this too. Do you have a
| repo or anything?
|
| I took frontend bugging in a new direction for me as well--
| decided to add the file name as a prop to every element on the
| page (in dev only, just takes adding a Babel loader for it).
| Helps with unfamiliar areas
| dcminter wrote:
| Despite its numerous shortcomings this dictionary bash script was
| pretty useful to me at a recent abbreviation-heavy gig:
|
| https://github.com/dcminter/define/blob/master/define
|
| I am pleased with the utility:simplicity ratio but slightly
| ashamed of its limitations.
| HKH2 wrote:
| I have an unorthodox system of things which is all quite
| interdependent. I prefer to just adjust things as I go. I know
| I'm reinventing the wheel at times, but I would rather a more
| personal UX than a UX for the lowest common denominator.
|
| I have a variable loader that I can use in scripts/programs so
| that I don't have to hardcode filepaths and so I can change
| settings quickly. Variables can refer to other variables, even in
| parts of them. I can quickly insert references to those variables
| into scripts/programs with a shortcut key.
|
| There is a note taker: a shortcut key immediately opens a blank
| file (which is named the date + time + a short unique ID to avoid
| any clashes).
|
| There is also a note reviewer: It shows the next note to refine.
| I can postpone any that are uninteresting yet incomplete for
| whatever duration, and archive any which are complete and can
| show up as relevant matches elsewhere in my system. This stage
| allows me to deal with bits and pieces at a time, and review
| things I'm still working on. It avoids hierarchical constraints
| on purpose, and it breaks things down into tags instead.
|
| I have a sort of data representation in which I can note how
| things/concepts are linked, and also express doubt, references,
| references to references and so on, to allow expressive
| representations of thoughts including incompleteness or
| ambiguity.
|
| I have a music player that devalues a track every time it is not
| played in its entirety. The faster it gets skipped the more it
| gets devalued (and there are meta keys to add more weight). If a
| track's rank doesn't meet a random threshold then it gets
| skipped. It basically stops the listener getting too used to a
| track even though they may like it.
| fdw wrote:
| I missed an emoji picker for Linux. I couldn't find anything that
| was not integrated into Gnome/KDE or maintained. So I set out to
| write one myself, just a simple Python script with rofi. I
| uploaded it to Github, because maybe someone else also wanted
| that. That was several years ago, and now [rofimoji] can do all
| UTF-8 characters (and custom ones), works on Wayland and is
| packaged for some distros. I'm so happy how my tiny project
| turned out and how many people helped with PRs and issues.
|
| [rofimoji]: https://github.com/fdw/rofimoji
|
| Professionally, I (and the whole team) lost track of our deployed
| artifacts, as we're not on a release schedule but also not really
| on continuous deployment. Mainly, we released when someone
| noticed that a release has been running stably on staging for a
| while. We also needed a way to ensure our configurations were
| correct and to track API versions. So I started hacking together
| a small React app (new for me at the time) to collect and display
| all that information. It had a good welcome in our team, and so a
| colleague and I improved it a lot, added an actual backend and,
| for example, integrated it into our CI so that you can now see
| which commits happened since the last deployment and deploy
| through it, with just two clicks. We also automated a lot of our
| previously manual checks for larger deployments. It's become the
| main tool for that stuff, even for our not-so-technical PO.
| gravypod wrote:
| I have not found a good ebook reader that keeps my state on edge
| devices and syncs to a server my position. When I had more time
| to read manga I built this:
| https://github.com/gravypod/ComicReader
|
| It takes a folder of webp files and remembers your page on local
| storage. It's not perfect but it's ok. It also prefetches the
| next 10 or so pages which is fine for reading on a train.
|
| Another, tool that sends wake-on-lan packets and shutdown packets
| to a windows machine that allowed me to steam stream from a
| dedicated windows machine:
| https://github.com/gravypod/SteamStreamScripts
| bckr wrote:
| I have thousands of images of journal entries & notes about
| things I want to make (music, stories, software) collected over
| the last 8 years. I'm currently organizing it all with tags and
| metadata using a Django web app. It's fun, even addictive, and
| I'm finally getting the insight from my own personal records that
| I've been hoping for.
|
| What this looks like is gathering my data, spinning up different
| views and templates based on what I want to do next, using and
| iterating on the page while I use it, getting a new idea, rinse &
| repeat.
| motyar wrote:
| https://mark.show so I can present ideas quickly.
| porter wrote:
| This is really great!
| asdw wrote:
| amazing.
| mxstbr wrote:
| I write Raycast[0] scripts to automate small, common tasks I do
| daily, for example:
|
| - Connect my AirPods to my Mac - Count the characters in some
| text - Create a new text expansion shortcut with Espanso[1] -
| Start/stop a Focus[2] session - etc.
|
| Because they're in Raycast, they're super accessible to me -- I
| simply hit CMD + Space, type the first word of what I need and
| hit Enter. Loving it!
|
| [0]: https://raycast.com [1]: https://espanso.org/ [2]:
| https://heyfocus.com/
| zdwolfe wrote:
| I wrote a tool that reads numbers from stdin and outputs the
| percentile statistics of those numbers.
|
| https://github.com/zdwolfe/zstat
|
| https://pypi.org/project/zstat-cli/ $ cat
| nums.txt 456 366 695 773
| ... $ cat nums.txt | zstat p0 =
| 56 p50 = 366 p90 = 773
| p95 = 773 p99 = 826 p99.9 =
| 826 p100 = 826
| spoiler wrote:
| A basic resume/CV generator out of JSON resume, it also supports
| inline SCSS: https://github.com/omninonsense/resume-stylist
|
| I'd generally "print to PDF".it before sending it out. I was in
| the process of automating PDF generation when 1) I got hired and
| 2) Chrome was changing up the API in the next release so I just
| kinda... Lost motivation I guess, especially since I didn't need
| it anymore either.
|
| https://github.com/omninonsense/spotlight-thief
|
| This saves the windows spotlight images (on lock screen) to a
| folder that I use for randomised background images. I manually
| filter out the ones I dislike. It runs automatically on Linux
| (it's wrapped though).
|
| Interesting that they're both in Ruby. I guess Ruby is my go-to
| scripting language, even though I usually never write Ruby. Maybe
| it's the language's ergonomics or something.
| rognjen wrote:
| 1. I wrote a thing that logs the currently active window
| primarily for Ubuntu. Useful if you bill hourly and want to track
| total time spent.
|
| http://sentried.ognjen.io/
|
| 2. I use markdown files to keep notes. So i made a couple of
| scripts to keep that organized. It can quick add new notes and
| create indexes.
|
| https://ognjen.io/markdown-notes-improvements/
|
| 3. No longer live: I made a printable forms builder. In a
| previous company we had to make custom paper forms for
| registration for every client so I made a thing that made nice
| printable forms.
|
| 4. A thing for estimating Trello cards. You would import a board.
| Then invite people. Then everyone could estimate all the cards
| without seeing other estimates. The owner would then see
| everyone's estimates and could accept an average and
| automatically tag all the cards with something like "effort: 3".
|
| If you're interested in 3 or 4 email me and I can dig them out.
|
| 5. I made a few customizations to Jekyll including being able to
| publish posts from external folders.
|
| https://ognjen.io/categories/jekyll
| diimdeep wrote:
| calculate movie rating from imdb review votes, I would like to
| think that is more sane than blackbox rating [1]
|
| [1]: https://github.com/diimdeep/sane_imdb_rating
|
| > diim
| sokoloff wrote:
| I built a small (borderline trivial) script that I put at
| ~/bin/update on my regular user account on every server. Its
| purpose is to do whatever I've decided is most appropriate to
| keep that server up-to-date.
|
| For most Debian-based servers, it's approximately:
| sudo apt update sudo apt upgrade uname -a
| prompt me to hit y if I want to reboot that server now. (This is
| what uname is for: to orient me to where that window is connected
| to prevent downing a server I don't want to.)
|
| This pattern means I can customize it for any given server
| without having to remember what/why for each. (This context is
| for my home network; I don't claim that this is a great practice
| for production workloads, but it's nice and handy for my home
| network.)
| romes wrote:
| I did a calculator TUI to visualize binary and hex while
| developing an emulator :) https://github.com/alt-
| romes/programmer-calculator
| sentinel wrote:
| http://www.micktagger.app
|
| I have a lot of Spotify playlists and I wanted an Alfred like
| tool to quickly add songs to my Spotify playlists, mostly using
| my keyboard. There was none out there that I was happy with, so I
| built it myself.
|
| Fast forward to today, I've added a few more features I wanted
| for myself - auto removal of songs I skip often, auto like of
| songs I listen 100% and a smart playlist feature that gathers new
| songs from playlists I select into one separate playlist, every
| Monday.
| m12k wrote:
| I made a handful of ruby scripts to automate exporting
| subscription transaction data for my SaaS from Stripe, piping it
| into my accounting tool and reporting to the authorities. There's
| a script to validate that all paying customers are assigned a
| "VAT zone" (same country as me, EU or "rest of the world") and
| help me assign one if they don't (it's a command line tool that
| provides links to their email domain and Stripe customer data, to
| help me figure out where they are located). Then there's one to
| make sure I have a verified VAT number for everyone in a zone
| where that is a requirement (and warn me if I got a payment where
| the tax wasn't set up accordingly). One to pull all transactions
| from a given quarter, by default the last finished one. One to
| download invoice PDF's for all these transaction and upload them
| to my accounting tool. One to upload the rest of the transaction
| data to the accounting tool, categorizing things correctly by vat
| zone and linking up with the already uploaded PDFs. And finally
| one to generate a CSV of EU "reverse charge vat" customer
| transactions to be uploaded to the gov't for reporting purposes.
|
| It started as a single script and has grown into a little suite
| of related scripts that function a bit like a pipeline, each
| operating on the same list of transaction data one after the
| other. All told I've probably spent a week coding and improving
| them, and they've certainly saved me several months of manual
| work in the last couple years.
| d1str0 wrote:
| You may have already seen this, but Stripe is now offering
| "Stripe Tax" as a beta and it might be up your alley.
| MarcelOlsz wrote:
| I am building a remote job listing aggregator and have been
| working on it this entire year so far. I want one central place
| where I can view all listings by a certain company across all
| aggregators, or disable certain aggregators, etc.
|
| I found it annoying to be browsing like 10 different top remote
| sites, but having no real way to filter out duplicates, keep
| track of the listing, save listings and progress them to custom
| stages a la kanban etc. I've put wayyyyy too much time into this
| but I'm excited to launch soon. Manually using excel is a PITA
| too.
|
| I'm focusing really hard on accessibility, mobile UX, and in
| general usability. The backend is pretty beefy in that it
| essentially runs itself without any manual work on my part.
|
| Some screenshots:
|
| [0] https://i.imgur.com/PZMtTkq.png
|
| [1] https://i.imgur.com/qfKAaZG.png
|
| [2] https://i.imgur.com/ZDwEzS8.png
|
| [3] https://i.imgur.com/NSreYUN.png
|
| [4] https://i.imgur.com/XbFMQC0.png
|
| [5] https://i.imgur.com/hcVSFSz.png
|
| [6] https://i.imgur.com/tEoDukn.png
|
| Another app I'm working on after this is one to introduce the git
| branching model to other types of work. Instead of
| commits/pr's+issues/branches, its tasks/conversations/topics. The
| idea is to get a birds eye view of what your team is working on
| and an easy way to publish your events to your team. Opening a
| PR, or an issue, or anything really takes many clicks and
| interactions and greatly disrupts my process so I built a native
| tool like spotlight where you can log a task, conversation, or
| start a new topic, in only two interactions.
|
| Even as a developer there are many side things I'm doing in a
| given day that are not accurately reflected by git, and using
| slack/discord to publish "yesterday / today / tomorrow" is
| something that can definitely be easily automated.
|
| I'm focusing on productivity tools that solve pains I've had at
| various points in my career.
| lukaszkups wrote:
| https://www.npmjs.com/package/tavuelo - I've created own Vue.js
| table plugin because I was so annoyed with customizing another
| table from UI library for the 100th time to achieve similar
| result so I've created a dedicated solution that will cover most
| common problems/requirements I need to develop at work.
|
| https://github.com/writteli/writteli - I've created static site
| generator because I've wanted something that suits my needs for
| 100% and I won't need to "fight" with the 3rd party solutions to
| achieve what I want. Also I've wanted to learn something during
| the process. I'm using it on daily basis to maintain my website
| (https://lukaszkups.net) and also now I'm working on a desktop
| app that will be compatible with it.
|
| https://github.com/mrmnmly/scaffolder - I was sick of creating
| boilerplate code over and over again when I was doing my baby
| steps with Meteor.js so I've created a stupid simple bash script
| that will generate it for me.
| lostintangent wrote:
| I wrote a GitHub Gist management experience for VS Code, since I
| wanted an extremely easy way to capture notes, docs and code
| snippets throughout the day: http://aka.ms/gistpad.
|
| It completely transformed my behavior of writing and sharing, and
| I ended up expanding the experience to support GitHub repos as
| well, so that I could access and edit any of my "knowledge
| bases", regardless how they're stored in GitHub.
| maccard wrote:
| I have a widget on my home screen that powers on my PC, syncs to
| latest, compiles my work code base and sends me a push
| notification when it's done (10-15 minutes most mornings). I use
| that time to make coffee and breakfast.
|
| It's a flutter app using Firesbae for state and push
| notifications. I have a smart power strip, and my PC powers on
| when it received power, and logs in if the yubikey is attached to
| it (which I leave in at night). I have a golang service on my PC
| that runs in the background and listens to firebase for certain
| events and runs the commands and posts results back
| _Understated_ wrote:
| I built a kanban board with two goals:
|
| 1. Dark mode by default
|
| 2. Dead simple
|
| I am looking to make a couple of WPF projects over the next
| couple of years and wanted to track them but found all the online
| Kanban tools missed the mark by miles in one way or another: in
| particular, they were all far, far too complicated.
|
| So I built my own: https://allthetasks.com
|
| It's not long up and missing a bunch but it works and scratches
| my itch :)
|
| Edit: Oh, almost forgot. It was also to use some of the stuff I
| don't get to use in my day job... we tend to just build something
| and ship it as fast as possible (development speed, not
| application speed) so I wanted to make something as small as
| possible and fast as possible too!
| tofukid wrote:
| I built https://sumi.news so I could read RSS, Twitter, and
| newsletters peacefully. It started as a local app to fetch RSS,
| and transitioned to a web app to enable reading newsletters. It's
| written in Haskell and hosted on Linode.
|
| I also wrote my own classless UI library. I can drop in a single
| style sheet and write plain HTML, no classes or anything, and get
| beautiful cross-platform UI that is accessible and functional
| out-of-the-box. I use this for a lot of my projects. I plan on
| polishing it, open-sourcing it, and selling it in the future.
| Jiro wrote:
| The Perry Rhodan series was translated into English in the 1970s,
| but the series is very long and the translation stopped very
| soon. I can find Perry Rhodan ebooks and upload to Google
| Translate. However, converting the ebooks to text does not put
| them in a format useful for translating--the sentences are broken
| by newlines and there are specific problems like page numbers and
| the letter M embedded at a page break.
|
| Thus, wrote a tool to convert such converted ebooks to have full
| sentences and to do a couple of other odd things so Google
| Translate and the particular ebook reader I am using handle them
| better.
| dumbfoundded wrote:
| I run an e-commerce site with our own manufacturing and
| fulfillment. I created a small program to sort shipping labels
| into piles based on our needs. We used to do this sorting by
| hand. It's not much but saves 30min a day, 6 days a week.
| bootlooped wrote:
| Scraper to check for covid 19 vaccination appointments for my
| dad. Never had to use it as his health care provider proactively
| got him signed up.
|
| Scraper to check Target for PS5 stock every 90 seconds. Never
| returned any hits in a week, which I believe reflected reality,
| then I found one at Best Buy.
|
| Daemon to repeatedly check internet speed and spit out a cab,
| which I then graphed. Point was to see if I was getting sub par
| speed and ask for a credit; turns out the speeds were fine.
|
| Just for fun daemon that spammed my friends' WordPress blog
| message form. Involved using OCR to break the (very weak)
| captcha, which was fun. Sent over 100k snippets of various
| garbage fan fics. I don't think they ever checked wherever the
| messages go.
|
| Scraper which looked for chair massage appointment openings and
| emailed me when it found them. We used to get massages at work,
| but the slots went quick. Worked great.
|
| TODO: I found out some of my photos in Google Photos are of
| interior quality. I want to write something to compare my local
| copies to their internet counterparts and indicate which are sub
| par. I'll then upload the higher quality versions somehow.
|
| TODO: scraper to enter all my financial account balances in a
| spreadsheet daily. I currently do this manually twice a month.
| ttctciyf wrote:
| Firefox udpate script based around:
| /usr/bin/wget -nc --trust-server-names \
| 'https://download.mozilla.org/?product=firefox-latest-
| ssl&os=linux64&lang=en-US'
|
| which retrieves the latest release. After downloading, it's
| unpacked to a new directory named after the firefox version,
| under opt: FFFILE=`ls -tr ./firefox-*bz2 | tail
| -n 1` NEWFFDIR="/opt/"`echo $FFFILE | perl -pe
| 's/.*firefox-([0-9\.]+[0-9]).*/ff-$1/'`
|
| and then linked to a standard place (/opt/firefox)
| /usr/bin/sudo /bin/ln -s $NEWFFDIR/firefox /opt/firefox-new
| /usr/bin/sudo /bin/mv -T /opt/firefox-new /opt/firefox
|
| /usr/bin/firefox is already a link to /opt/firefox/firefox.
|
| Old /opt/ff-XYZ dirs are culled manually.
|
| This is easier for me than manual update from the browser, or
| relying on the distro's firefox updates. It also allows me a
| backout option while I acclimatise to new Firefox "features."
|
| It took me about 30-40 manual updates before I got around to
| writing the script :)
| TT-392 wrote:
| Wrote some tools to convert a bunch of kanji (japanese,
| originally chinese characters) stroke diagram (diagram on how to
| write the character) csv's I got from some open github database
| into png's with nice colors per stroke. Which I then added to a
| kanji anki deck for learning japanese. Maybe not quite the kind
| of thing you were asking for since it is not a tool I run
| regularly, cause you only run it once. But I use the results on a
| daily basis.
| raggi wrote:
| A lot of the tools now in fuchsias fx started life as personal
| standalone scripts later exported to the team. Nowadays contrib
| contains tons more, some of which also started similarly. These
| all now have a long history from many contributors. You may be
| able to glean the historical process stuff from the git history.
|
| https://cs.opensource.google/fuchsia/fuchsia/+/main:tools/de...
| udia wrote:
| I wrote a small Python script that will SSH into my remarkable
| paper tablet, copy all of the raw files to my desktop, and then
| convert the binaries to pdf. I use this tool on a daily basis to
| offline backup my handwritten notes.
|
| https://github.com/awwong1/remarkable-cli
| edoceo wrote:
| Thank you!
| rakshazi wrote:
| I built entire service [0], because I wanted to chat in matrix
| (protocol [1]). It's quite hard to selfhost it properly, so I
| ended with lots of automatization, based on open source stack.
|
| Now I can setup a homeserver in ~20 minutes with lots of
| additions and customizations.
|
| [0] https://etke.cc
|
| [1] https://matrix.org
| bradleyjkemp wrote:
| As part of my job, I report a lot of phishing sites. This gets
| very annoying very quickly.
|
| As well as reporting to SafeBrowsing, etc. for each site you also
| need to look up the domain registrar and hosting provider (via
| WHOIS) and email them.
|
| Rather than do this manually every time, I wrote a small CLI to
| automate the lookups and even open pre-templated emails:
| https://github.com/bradleyjkemp/abwhose
|
| I'm now redoing this as a web app so that I can do the entire
| reporting process without leaving the browser:
| https://phish.report
|
| Kinda fun trying to "speedrun" the process down to as few clicks
| as possible.
| sandreas wrote:
| _m4b-tool_ - merge, split and edit audio books
| (https://github.com/sandreas/m4b-tool/)
|
| This one has become pretty popular in the meantime - did not
| expect that :-) ---
|
| _graft_ - file transfer utility with regex, mdns and sftp server
| (https://github.com/sandreas/graft/)
|
| Designed to have tools like find and copy also on Windows - not
| maintained any more, since I found sfk, rclone and others...
| ---
|
| _look_ - a log file watcher (https://github.com/sandreas/look)
|
| Designed to have tail on windows, not maintained any more,
| because its ready for my use case. ---
|
| _pilabor_ - a hugo blog to manage my personal notes
| (https://pilabor.com)
|
| Started as an experiment a few month ago for organizing my
| personal notes in a hugo project. Worked out pretty well so far.
| cube2222 wrote:
| I've built jql[0] as a much more uniform and simple to use
| alternative to jq, with a lispy syntax.
|
| It may seem dead, but it's not. It's just finished, and I'm using
| it daily.
|
| [0]: https://github.com/cube2222/jql
| dusted wrote:
| I like to make my own things when I can, for me, that's a big
| part of being a computer user.
|
| Hadware+Software - I built finalkey.net to manage my passwords,
| at the time I made, the mooltipass and other solutions were not
| yet available, and didn't fit my idea of what a hardware password
| manager should be.
|
| Software - I made a tool for catching the video and audio coming
| out of my Ultimate64 Commodore 64.
| https://github.com/DusteDdk/u64view because none was available
| for Linux at the time.
|
| Software - I wrote SDL-Ball because DX-Ball didn't work well in
| WINE.
|
| Hardwaer+Software - I made a
| https://github.com/DusteDdk/RacingGpsTracker because I wanted to
| make GPS overlay for my dads road-racing videos. I later updated
| it to use the GPS data from the GoPro cameras when their GPS got
| fast enough.
|
| Harware+Software - I made a controller for my wood-burning boiler
| because I disliked having to wait for it to heat up before I
| could set the "out of fuel" temperature limit.
| https://github.com/DusteDdk/boilerController
|
| Software - I wrote a static image gallery generator for quickly
| making picture galleries for sharing with friends and family.
| https://github.com/DusteDdk/chromogen
|
| I've made lots of other things, but then they're usually scripts
| or programs used once or twice for something specific and then
| thrown away.. Like the console-based ticker client I wrote for
| krakens api, to show me how poor dogecoin is making me.
| L0g4n wrote:
| Approximately a year ago I wrote my first program in Rust as an
| introductory project to extract assets from Renpy archive files
| [1]. Basically it's for ripping assets [2].
|
| [1]: https://gitlab.com/L0g4n/unrpa_rs [2]:
| https://blog.l0g4n.me/unrpa-rs/
| smaon wrote:
| Hope this fits the request, I created two simple tools recently:
|
| - The Simple Password Manager (https://www.tspm.ch), a "password
| manager" that generates a password from an easy to remember
| passphrase. I created that for myself and to make my friends stop
| using the same password everywhere.
|
| - Pokerplan (https://www.pokerplan.ch/), a scrum Poker tool that
| I made for me and my co-workers for our scrum pokers during the
| pandemic.
| nicolasrusso wrote:
| tspm might be useful as a chrome extension, wherever you type a
| specific password it converts it. Although maybe that comes w/
| other security issues
| krysp wrote:
| Near our work there is a single public tennis court that in
| normal (pre pandemic) summers is heavily contested for bookings.
| So I wrote a script to book in whatever set of sessions me and my
| colleagues wanted to play for the following week. It was pretty
| consistent, would still miss a few though - other people were
| either staying up to midnight, or they'd written their own bot!
| arbuge wrote:
| Built https://addue.com for conversion tracking and traffic
| routing purposes for my ad agency. Later decided to make it into
| a SaaS tool.
|
| Similarly I built https://Classient.com to take class bookings
| online for some classes my wife was teaching at the time. Made it
| into a SaaS tool this year.
| thescriptninja wrote:
| Wrote a VS Code extension to solve a very minor inconvenience.
| All it does is that it adds a shortcut to add the current date.
| Needed this as I use VS Code for journals, notes. Midway, I found
| another tool that already did the same, but was too excited to
| build my first extension, so did it anyways :)
| https://github.com/parth-paradkar/ClipDate
| donohoe wrote:
| I work in media and have been pushing to improve web page
| performance for a variety of reasons (better UX, lower bounce
| rate, load ads faster, higher ad CPMs, etc.)
|
| I created a tool to show how my org (at the time) was doing
| relative to others, and also to apply a bit of friendly
| competition to motivate for improvement's:
|
| https://webperf.xyz/
|
| At the time I started, I was at The New Yorker and we were in the
| top 20, with a Speed Index closer to 8,000. Now its in the 40-50
| rank with a Speed Index around 25,000 :(
| kontxt wrote:
| I made https://kontxt.io to highlight, share, organize, and
| discover the best parts of the World Wide Web.
|
| People I share articles with now know the exact parts that are
| relevant and they can quickly skip between the highlights and we
| can discuss inline to maintain context. It lets me and other
| people publicly share what we highlight in an easily searchable
| way so you can find quality content from trusted sources. Want to
| see what resources other people like you, in this case
| programmers, found useful and shared. Boom! Now you can. Starting
| to look into something new that you're unfamiliar with, say
| investing, wouldn't it be great to see what resources other
| investors previously found useful? Boom! Now you can. Now imagine
| having this tool at work with all your super smart go-workers?
| Boom! Now you can. It works for PDFs, too. It's just a wonderful
| research and planning tool to save, share, organize, and discuss
| digital information, which is a huge time saver and productivity
| booster. Step 1: Google, Step 2: Kontxt, Step 3: Success. :)
|
| It's really a multi-purpose overlay for the entire World Wide Web
| with unlimited use-cases. And I've recently gained access To
| OpenAI and have some cool AI stuff coming for preemptive
| highlights and auto generated reading lists based on interests
| and past reading history.
|
| I built this tool for myself. I'm an avid reader always looking
| to grow my skills. If this is you, too, sign up and let's learn
| and grow together.
| jjjbokma wrote:
| A static blog generator [0] which generates https://plurrrr.com/
| for me.
|
| [0]https://github.com/john-bokma/tumblelog
| axelf4 wrote:
| Spotify playlists are great but I would like to be able to
| shuffle from a combination of them. Playlist folders do not cut
| it because then all combinations must form a tree. So I made a
| shell script to create those combined playlists [1]!
|
| [1]: https://github.com/axelf4/nixos-
| config/blob/da60a70680984769...
| indiantinker wrote:
| I usually print books I buy as PDFs and then bind them myself as
| well. The process is very nice and meditative. So, I wrote this
| script[0] that converts a pdf in seams of 16 pages that can be
| printed directly in correct order on a normal printer. So, I can
| just send the PDF to a printer without worrying about anything
| and fold and bind them later by hand.
|
| [0] : http://rohitg.in/2018/05/30/Spreadmaker/
| k2enemy wrote:
| Probably not the kind of tool you are asking about, but I made a
| pair of woodworking planes that cut a quarter inch wide, quarter
| inch deep groove a quarter of an inch from the edge of a board.
| This operation is commonly needed for drawer bottoms and raised
| paneling. Two symmetric planes are needed so that you can always
| work with the rising grain of the wood.
|
| You can buy adjustable grooving planes and old molding planes
| that will do this, but it was fun (and much cheaper) to make my
| own pair.
| Kaibeezy wrote:
| I made an extra long wrench socket for field repairs of a heavy
| duty pivoting contraption by cutting a normal 1-1/4" socket in
| half and welding the wrench and handle sections to either end
| of a 6" length of steel pipe. The pipe had a smaller outside
| diameter than the socket halves, but big enough for the
| threaded rod.
|
| Imagine the hijinks the first time I put that through an
| airport scanner. Good thing it was 2000 and not 2002.
| deckard1 wrote:
| The amount of woodworking jigs and tools people develop on
| their own is fascinating. Some of these woodworkers on youtube
| spend more time creating jigs than actually building things.
| Matthias Wandel for example is a wizard. It's really similar to
| programming tools. Often, tinkering is more fun than finishing
| large projects.
| vsto wrote:
| The guy from "Aging Wheels" at YouTube, who by the way is a
| former software engineer, has a second woodworking channel
| channel called "Under Dunn". The last video was about a DIY
| Centrifugal Dust Separator [1]. It was a pretty cool video.
|
| [1] https://www.youtube.com/watch?v=n2OStvRteRE.
| glaberficken wrote:
| Was going to post something of the same type as you =)
|
| Also made a wooden tool to check bicycle wheel dish that is
| used when lacing my own wheels by hand.
|
| I don't have photos of mine right now, but it is inspired on
| this template:
|
| https://www.wheelpro.co.uk/support/dishing-tool.php
| scambier wrote:
| SIM Notes, a wysiwyg markdown notes taking tool, based on
| Notational Velocity. It's a tool I literally tailored to my
| needs: 100% flat markdown files, in-place rendering, no
| structure, no tags, but a powerful and fast search. It's my own
| perfect zettelkasten.
|
| Unfortunately I had to stop working on it when I had a burnout,
| so it's still buggy but good enough for me to use it every day.
|
| I'm very slowly working on a v2, with a simple localhost daemon
| and no Electron.
|
| https://github.com/scambier/SIM-Notes
| SinghCoder wrote:
| I keep on bookmarking things and those get lost in the huge pile
| I already have. So I ended up doing this: Created a Google form
| which takes two inputs: URL I want to save, and a comma separated
| list of tags. Then when it's submitted, an apps script gets
| triggered which inserts the URL+list of tags as array into mongo
| dB. Then I query for URLs containing atleast one of the tag of
| form submission, and email myself those URLs saying hey you
| previously have saved these related links, check if you wanna
| read them. It helps me to easily query whenever I want to see
| things I've saved for a particular topic/tag
| snwfog wrote:
| I built a Reddit desktop client called `rdddeck`. It is compact
| like Tweetdecks, and supports multi-accounts. It gives me an
| overview of all my subs at a glance.
|
| It also works on mobile device, and looks amazing on an iPad.
|
| - https://rdddeck.com
|
| Motivation: I dislike Reddit's modern UX. It is difficult to
| navigate, large negative spaces (wasteful), pop-up like behavior
| when opening a discussion, etc.
| corny wrote:
| I wrote a command line journal called 'did' that shows me what I
| did on this day over the last five years (like a 5 year diary). I
| enter a ton of items every day which all end up in text files.
| Only items including an asterisk will be repeated back to me in
| future years.
|
| Inspired by: https://news.ycombinator.com/item?id=17538697
| oezi wrote:
| Do you have it public somewhere?
| tjchear wrote:
| I made a webapp (sheetUI) that turns a simple google sheet into a
| beautiful webpage. I used it when I was apartment hunting,
| amongst other things. I tabulated the data of each apartment I
| found (fb marketplace, craigslist, etc), along with images, into
| a google sheet. Then I used my tool to display them as a grid of
| cards. There were auto generated filters on the top of the
| webpage that I could use to filter the cards by whatever criteria
| I choose.
|
| I made it public last year and it's quite enlightening to see
| what people have been using it for. E-commerce, contacts, work
| check-ins, image gallery, inventory, workshop listing, etc.
|
| It's not the best tool, and I don't make a lot of money from it,
| but I'm happy I'm providing value to others. I still keep the
| free version around since plenty of people are relying on it.
|
| I'm working on a new version catering to business's internal use
| cases now, with read/edit/permission control capabilities. Hoping
| to get it out soon :)
|
| https://sheetui.com if you're interested.
| spcebar wrote:
| That's extremely impressive.
| drummojg wrote:
| I have never contributed much to open source, but my high water
| mark was writing reportdhcp, the first available tool to report
| the status of DHCP pools. I wrote it because I needed it and none
| existed that I could find anywhere. It got packed into a few
| distros. After only a few years it was replaced by better tools
| (and in fact, I was even proud of the fact that the author of one
| specifically called out that it was better than reportdhcp). Got
| written up in Linux Magazine and one other publication at the
| time. I'm no superstar like many of you luminaries, and in fact I
| wrote it with the Llama Book sitting in my lap, but it was great
| to contribute the open source ecosystem to which I owe a large
| chunk of my career.
| atum47 wrote:
| I wrote a dictionary generator so I can get WiFi from business:
| back then I was too poor to pay for it.
|
| I know now that there are many options out there, but I think my
| tool addressed my needs more efficiently.
|
| I've noted that business in the town I lived back then used some
| sort of telephone number + name of their business combination for
| their wifi password.
|
| The script actually gave me a 60% rate of success. Went through 4
| years of college without contracting a ISP.
| smoldesu wrote:
| I wrote qlip [0], a stupid-simple shell utility written in 5
| lines of Rust that prints your clipboard as a QR code to stdout.
| I used it as a clipboard sharing utility before KDE Connect fixed
| their universal clipboard feature. It should compile for any
| platform that supports Rust, and you can install it to your
| system in a few seconds using `cargo install`.
|
| [0] https://github.com/toasterrepairman/qlip
| franze wrote:
| My SEO Live Test Framework
|
| https://chrome.google.com/webstore/detail/franz-enzenhofer-s...
|
| Runs a lot of SEO checks (including Google Search Console Data)
| over your websites Static,Rendered and Idle DOM
|
| Built it cause I can and put lots of my technical SEO edge cases
| knowledge in there.
| walshemj wrote:
| Nice I will have to have a proper look at this when i get back
| to work on Monday
| alhirzel wrote:
| I built a program that lets me parse the saved files from my
| camera (an old Nikon), including the read-only file attribute set
| using the camera UI, into Darktable. This also lets me assign
| ratings and manage files accordingly (i.e. 1 = delete both, 2 =
| keep jpg, 3/4/5 = keep both files and organize into folders
| according to priority). It's just a simple Python script but it
| has saved me so much time!
| frankohn wrote:
| I made the "little library helper", lhelper[1] in short to help
| me compile C/C++ libraries on Windows for my applications, using
| gcc or clang. Later it turned out so nice and useful that I got
| it working also on macOS and linux.
|
| I made it out of despair because compiling stuff on Windows was
| so painful. Now with lhelper it is a pleasure.
|
| It contains recipes for downloading and building libraries and
| install them in a virtual environment with only a few, useful,
| options.
|
| In some way the fact that people love and use for header-only
| libraries is because they don't have lhelper.
|
| [1] https://github.com/franko/lhelper
| svilen_dobrev wrote:
| "tell me what tools you've made and i'll tell you who you are."
| Really.
|
| Probably i make one sw tool per month - whatever annoys me enough
| to go over the lazyness treshold.
|
| Most of my toys (made last 25+ years) stay at
| https://github.com/svilendobrev/svd_bin
|
| https://github.com/svilendobrev/svd_util (python stuff)
|
| apart of the bigger ones there with own repos
|
| most used stuff seems:
|
| * shell wrappers/configs to make using terminals a more
| humane+repeatable thing. A system (="language") of plenty of
| aliases and shortcut keys, for many combinations of
| x-terms/shells, so regardless of which one it is, it gets same
| human interface. Remember 4dos? there. F2 is dir/ls..
|
| * similar thing for vim. F2 for save. ctrl-f for find. etc..
|
| * vcs.sh - similar thing for 5-6 revision control systems
|
| ...
|
| * sound files searching/cutting/diffing - searching one record
| within another - think recognizing start and end signals of some
| radio show, cutting it out from several alternative recording
| sessions - e.g. digitized analog vs http/rtmp streams; and
| diff'ing the results ; the timeline can be warped a lot (Wow and
| flutter, yes, with some charts out)
|
| * hundreds of others.. some of them i dont remember anymore what
| they were for :/
|
| have fun
| bostonsre wrote:
| I wrote a tool to copy stdout from a remote machine to my windows
| clipboard. I alias ssh to ssh with port forwarding to a static
| port that isnt used anywhere, run a flask site locally on my
| laptop that has an endpoint for accepting base 64 encoded posts
| for copied data and an endpoint that has some bash function
| definitions for doing a curl post of base64 encoded piped data to
| the port that was forwarded over ssh. I have a terminal hot key
| which does a curl get of the bash functions and imports them.
|
| so this on a remote machine:
|
| some_remote_machine> echo hello | cb
|
| Will base64 encode hello, post that to localhost:1234 on the
| remote machine which gets forwarded to my laptop flask site, it
| base64 decodes the text, then since im in wsl, the flask site
| runs powershell to write it to my windows clipboard.
|
| It's good for note taking and sharing output in slack easily. I
| also have an alias for cbc or clipboard with command which
| prefixes the text with the command used to generate the output.
| shawnaxsom wrote:
| I've been working on a todo app built on todo.txt. It's a fork of
| another app, Todour, which I've heavily enhanced. It's a work in
| progress, it is ugly but very functional.
|
| https://github.com/shawnaxsom/inizio
|
| Being an engineering manager, a good todo system is a must. I
| need to be able to write to it quickly in an organized manner. I
| need it to filter quickly, being able to tell it "Show me all of
| my highest priority tasks that don't have anything to do with
| person XYZ who is out-of-office, hide learning tasks".
| justhw wrote:
| I got tired of firing up an image editor every time to create a
| simple open-graph/social image for my blog posts and built
| https://thumbnail.ai
|
| It's been a great time saver and a handful of people use it
| daily.
| instance wrote:
| I was annoyed by the seemingly over-engineered tools for screen
| tracking, so I wrote one myself in ~50 LOC, which simply uses
| ffmpeg to create a screenshot every X seconds in a very low
| resolution:
|
| https://github.com/instance01/mac-screenshot-tracker
|
| It's super hackable and gets the job done.
| LazyGrizzly wrote:
| - Emacs mode for compilation bookmarks - A rss2maildir python
| script, that one never worked satisfactory due to atom/rss being
| shitty standards - A discord bot that gives daily reddit updates
| - Concerning bash a bookmark system for common directories, so I
| can do 'j dir' to jump to said dir.
| sagarpatil wrote:
| Got tired of paying for SSL certificates on WordPress. Built a
| plugin that generated free SSL from Let's Encrypt: SSL Zen
| <https://wordpress.org/plugins/ssl-zen/> It's now used by 50,000+
| websites.
| Spidler wrote:
| I wrote a bot for GitLab that can do a few different things:
|
| * Nag (Comment) on Merge Requests to tie it to proper release
| milestones and labels, something that is easily forgotten, or
| simply ignored by their UI due to the "never consistency" method
| of Javascript frontend.
|
| * Create ChangeLogs from a Milestone, by traversing all the MR's
| merged during the time window, or associated with the milestone.
|
| * Generate Wiki pages with above ChangeLog, as well as generating
| markdown templates with release notes as well
|
| * Tag projects for release, automatically using above ChangeLog
| to generate a correct list of changes that has happened.
|
| All this assumes a certain workflow, in our case time-based
| releases where multiple projects get tagged regularly for
| release, and development for a release is tracked in a milestone.
|
| The tool is FLOSS, but it's fairly specific to my usecase.
| ______- wrote:
| Not really a computer program, but a list of all the best sites
| to visit that all spawn from a single folder in Firefox. It's
| opinionated, and one of the links is of course Hackernews, but
| also other sites like lobste.rs and old.reddit.com/r/programming
| etc Firefox lets you spawn a bunch of tabs and it saves me from
| having to manually click each link's URL. I use it very heavily.
| I am very thankful for the `Open all in tabs` feature.
| huydotnet wrote:
| A web based code editor [1] that supported a small set of
| languages (C++, JS, Go, Python and Rust), it also supported Vim-
| key binding (thanks to CodeMirror), came with a localStorage
| based "file system", so you can save multiple file in your
| browser. You can get the source on GitHub [2]. To host it on your
| server, you'll need Docker for the runtime btw. It's pretty
| helpful to code when I only have access to the iPad during the
| weekend.
|
| [1]: https://kodes.app [2]: https://github.com/huytd/code-
| playground
| milkbikis wrote:
| I wrote https://github.com/banga/git-split-diffs mainly to
| scratch an itch about not having side by side git diffs in the
| terminal, then ended up adding more fancy features like syntax
| highlighting and it got somewhat popular.
| gizdan wrote:
| Looks awesome! Also worth looking at is Delta diff.
| c0l0 wrote:
| I have several networking devices around the country with OpenWrt
| on them (for example, at my mom's house). They serve different
| needs, with different selections of packages installed, and are
| not of the same hardware, so keeping them up to date proved a
| hassle eventually. I chose to wrap some primitive Python around
| OpenWrt's excellent ImageBuilder that helps me keep a declarative
| build configuration around in an INI-style file, and (most of the
| time, when point releases are released) only dial up a single
| version number variable to rebuild all images in parallel. The
| flashing afterwards I haven't automated, but that might be too
| much of a footgun anyway.
|
| If you feel like taking a look, here's the source:
| https://johannes.truschnigg.info/code/openwrt_autobuild/
|
| ---
|
| While I was responsible for running the internal CAs at $prevjob,
| I wanted to give (human) users a convenient and secure means to
| generate and submit CSRs. I implemented a browser-based CSR
| generator based on the great work if https://pkijs.org - a demo
| variant of this internal portal is online at
| https://johannes.truschnigg.info/csr/ and might actually be of
| use to someone else :)
|
| ---
|
| Several years ago also at $prevjob, I was looking for a reliable
| way to do PostgreSQL WAL archiving without the clunky
| shellscripts floating around in documentation and on Wikis, and
| implemented a little C program to do that job. While today you're
| probably using something like wal-g or other advanced tools that
| consume the WAL for replication and DR purposes, you may still
| want to have a program that does one thing, and one thing well,
| and that is making sure WAL segments get copied from location A
| to location B, without much overhead, period.
|
| That would be it:
| https://johannes.truschnigg.info/code/pg_archive_wal_segment...
| gdiegel wrote:
| I used to write Java tests for of asynchronous operations such as
| sending emails and waiting for them to arrive in a mailbox. In
| order to poll the mailbox I wrote a small routine that would
| support retrying actions with configurable intervals. At some
| point I extracted it into a separate project called retryJ and
| recently released it as open source on Maven Central [1].
|
| [1] https://github.com/gdiegel/retryJ
| agency wrote:
| A couple years ago I moved somewhere where my only internet
| option is satellite (HughesNet). The data caps are pretty low (50
| GB per month) but if you use data on the "bonus zone" (midnight
| to 8am IIRC) you get an additional 50GB quota, so I wrote a tool
| that lets me queue up YouTube videos to download in the middle of
| the night. It's a pretty simple collection of scripts that shell
| out to youtube-dl. I wrote it in TypeScript just because that's
| what I was writing at work at the time:
| https://github.com/dylanscott/downlater
|
| I'm still using it often a couple years later, though I'm hoping
| my Starlink pre-order will come through soon and render it
| obsolete.
| cheschire wrote:
| There's a lot of anecdotal evidence that starlink isn't ready
| for prime time. If you have trees, forget about it.
| montenegrohugo wrote:
| I'm super forgetful - so i made a simple website [1] to remind
| myself of stuff. It's useful! I plan to open source it soon too
|
| The other thing I've built for myself is a tool to find domain
| names [2] (all the obvious ones are taken). It uses a ML model in
| the background that I trained to generate suggestions, scores
| them on a few metrics and calls the whois api to check if they're
| available. I also want to put this one online, for fun & profit.
|
| Hope you like these little projects!
|
| [1] https://www.remindy.me
|
| [2] https://www.namehunt.dev
|
| Edit: ah, i actually found the remindy.me domain name with the ml
| model, thought it was cute and that's how the website was born
| gmac wrote:
| Really simple mouse gestures for macOS (after xGestures became
| unreliable for me). Right-drag to the left to go back, or to the
| right to go forward. Only a few hundred lines of Objective-C.
|
| Then I cleaned it up a bit and submitted it to the Mac App Store,
| and was pleasantly surprised it was approved. I think it's the
| only mouse gestures app on there.
| mattkevan wrote:
| This isn't anywhere near as impressive as some of the examples
| here, but anyway:
|
| I run an Etsy store that sells artwork. One of the most time-
| consuming tasks was creating the mock-ups for product listings,
| so I wrote a shell script that used Imagemagick to automatically
| generate all the images.
|
| I was pretty pleased as I'd never written a Bash script before
| and it saves hours and hours of work.
|
| I also wrote a Ruby script that uses the Etsy API to generate a
| fully-working Jekyll e-commerce site from my Etsy store's
| listings. Much better that paying Shopify plus a bunch of other
| apps for pretty much the same thing.
| bharani_m wrote:
| I wrote a simple app to send interesting articles and web pages
| to my email inbox - https://www.emailthis.me
| psacawa wrote:
| I wrote a 10-line script to interactively query JSON documents
| using jq from vim in a tmux pane. Like jid[1], but better. Here
| it is: jq-repl () { local query_file
| json_file new_pane_height nodemon_cmd change_aucmd jq_args
| query_file=$(mktemp) json_file=${query_file}.json
| cat /dev/stdin > $json_file new_pane_height=5
| jq_args="$@ -C -f $query_file $json_file"
| nodemon_cmd="clear; jq $jq_args | less" change_aucmd="au
| TextChanged,TextChangedI <buffer> write" tmux split-
| window -l$new_pane_height $EDITOR -c "$change_aucmd" -c "set
| ft=jq" $query_file nodemon -q -d 0.3 -w $query_file -x
| "$nodemon_cmd" }
|
| dependencies: vim, tmux, jq, nodemon
|
| [1] https://github.com/simeji/jid
| oezi wrote:
| I have recently developed my own terminal-based UI for todo/task
| tracking [1] in markdown files because I was sick of rearranging
| todos in other tools.
|
| The main advantage is that you can "migrate" all unfinished todos
| to a new page/day and thus get a clean start each day. This idea
| comes from bullet journalling.
|
| To get it done I had to dig a bit into ncurses, which turned out
| more interesting than I thought. For instance, Windows Terminal
| just gained support for bracketed paste a couple of months ago
| and my tool supports it.
|
| [1] https://github.com/coezbek/rodo
|
| Stack: Ruby, Curses, Markdown
| riekus wrote:
| On a different note. I made my own laptop stand out of carbon
| fiber because I wanted specific things that I couldn't get out of
| the store. I am a digital nomad and finally build the thing after
| 4.5 years of country hopping. Got lots of interest and now
| working on a production run: https://www.fiberstand.com :)
|
| Software wise, mostly scrapers for classified ads ect.
| jffry wrote:
| I wrote a small script, executed with a cron job, which adjusts
| the color temperature of all my Philips Hue light bulbs
| throughout the day.
|
| The Hue device bridges have a simple HTTP api available over the
| local network, and with a combination of curl and jq it was easy
| to retrieve the IDs of lights that are currently on, and then set
| their color temperature.
|
| I've since moved the functionality into a small service I wrote
| in Clojure that runs on a Raspberry Pi, as part of an effort to
| consolidate a few different things under one roof.
| ammar_x wrote:
| I wanted a way to compare fonts easily and quickly so I built
| Pair & Compare [1].
|
| [1]: https://www.pairandcompare.net/
| version_five wrote:
| I have a lot of poorly engineered curl | grep |
| tr | awk
|
| pipes written into a loop in a bash script to scrape web pages
| and pull out text or data. I find if I'm just doing a one of, I
| can usually identify some feature of the html to pattern match
| one that lets me strip out the data in a very simple script and
| not have to use beautifulsoup etc.
| js2 wrote:
| About 18 months ago I started using Letterboxd. Also, I like
| Roger Ebert's reviews. I wanted both in one place.
|
| So I wrote some code to scrape his nearly 8000 reviews from
| rogerebert.com and then import them to letterboxd:
|
| https://letterboxd.com/re2/
|
| (I only put the first two paragraphs of his review on letterboxd
| then link to his full review on his site.)
|
| The hard parts of this were:
|
| - Extracting the text of his reviews correctly from his site's
| HTML. That wasn't too terrible though.
|
| - Matching his reviews to the correct movies on TMDB. This just
| required a bunch of trial and error and about 20-30 manual
| corrections. I employed various strategies to match by using
| movie title, year of review, year of movie release (if on his
| review, but often off by a year or two), director, producer, cast
| if on his review.
|
| I also built this for myself:
|
| https://github.com/jaysoffian/eap_proxy
|
| I should put my bin directory full of random scripts up on
| GitHub. I tend to build them as I need them. They're often very
| simple things like:
|
| - jqpaste -- which is just "pbaste | jq"
|
| - jsonl [jq|gron --stream] which takes it input and if it isn'v
| valid JSON, converts it to a JSON string so that I can paste
| random log output which is sometimes a mix of JSON and not into
| jq or gron.
|
| Those are just a couple off the top of my head.
| DamnInteresting wrote:
| I operate a long-form nonfiction website, and back in 2012 we
| wanted to introduce a podcast episode version for each of our
| articles. I started tinkering with making recordings, but I
| suffered from the cringe of hearing my own voice, which was
| amplified by hearing every mistake and retake.
|
| I finally got past this problem by rolling my own audio recording
| software. I paste in the script, and the software highlights one
| sentence at a time. I tap a key to start recording that sentence.
| If I make a mistake or I'm not happy with how it sounded, one key
| press discards the audio and restarts the recording. When
| satisfied, one key press moves it to the next sentence.
|
| When I'm done, I can download all of the recordings into one
| merged WAV, and I never have to hear any bad takes (it also trims
| 0.1 seconds from both ends of each sentence's audio so the key
| press noise is removed).
|
| It's a little clunky, being home-grown and all, but it works
| great. Recording stuff is pretty easy now. I keep thinking about
| making it available to the public, but it's not yet polished
| enough for that.
| serjester wrote:
| Agreed this is really neat! A couple months ago I had to make a
| product demo and it took way too long because I kept having to
| re-record bits.
|
| Really hope you opensource it.
| rcurry wrote:
| This is a fantastic idea. I've found that nothing is more
| annoying than to get through like five minutes of a take when
| recording a video and then having to redo it because I slipped
| up. I would love to be able to write a script, be prompted a
| few sentences at a time and then have it stitched together
| seamlessly. You need to refine and market this. If you could do
| this with video you'd kill it.
| toast0 wrote:
| > it also trims 0.1 seconds from both ends of each sentence's
| audio so the key press noise is removed
|
| If you wanted to, you could probably use something to wait for
| sound level to drop, and then cut until the silence ended.
| Although a fixed cut probably works fine, too.
| OJFord wrote:
| Or trigger on key up? Though I suppose maybe there's a slight
| sound still when the cap hits it's maximum travel if it
| releases the switch before that?
| dlivingston wrote:
| That's so cool. Any chance you'd be okay sharing the script?
| DamnInteresting wrote:
| This is a little embarrassing, but the tool is actually
| browser-based, powered by Javascript and PHP. I know that's
| not the ideal foundation, but those were the skills I had at
| the time. I do have a copy of it online that I used to demo
| it for a friend.
|
| Being browser-based is not really a problem for me, because I
| run it on my local dev server and everything is instant. But
| over the web it has to upload each wav file to the server,
| which can be slow depending on bandwidth. It does however
| indicate when uploads are in progress so you can avoid
| interrupting it.
|
| One of the ways the tool is unsophisticated is that it's
| designed for a single user. So anyone with the login can
| see/hear others' recordings, overwrite them, etc.
|
| Anyway, if you're still interested in seeing it, just email
| me at: alan at [my HN username] dot com. I can send you the
| URL, username, and password.
| mraza007 wrote:
| I created this tool for fun to experiment with my raspberry pi
|
| Its a tool that allows you to run server commands via text
| messages
|
| https://github.com/mtdevss/server-text
|
| Its a fun program to play around with
| deepserket wrote:
| the sms number can be easily spoofed, so don't use this for
| serious stuff.
|
| I created a similar tool, it works over telegram, but the code
| is old and bad... you can see an example here
| https://www.youtube.com/watch?v=NZiuGb-x3RQ
| mraza007 wrote:
| Yup I totally agree with you As I clarified this is only for
| fun/educational purposes Definitely not intended to run in
| production and for serious stuff
| shadycuz wrote:
| https://github.com/DontShaveTheYak/jenkins-std-lib A Jenkins
| shared library with a couple cool things like running GitHub
| Actions on Jenkins.
|
| https://github.com/DontShaveTheYak/cloud-radar Unit and
| Functional testing of AWS Cloudformation templates. The unit
| testing part allows you to test locally without needing AWS
| creds.
|
| https://github.com/DontShaveTheYak/sebs Stateful Elastic Block
| Storage was created so that you could make sure that a AWS ec2
| instance always had the same EBS volume mounted to it. Really
| handy for a Ec2 instance in an ASG with a count of 1.
| gizdan wrote:
| > A Jenkins shared library with a couple cool things like
| running GitHub Actions on Jenkins.
|
| Super cool, this can probably be turned into a plugin akin
| multibranch pipelines and that way it would just be automatic
| as opposed to having to invoke it from a Jenkins pipeline.
| kakadzhun wrote:
| Script to filter out records of a .jsonl file based on some
| property (e.g. only want records w/ a timestamp greater than
| 163623...): import sys import orjson
| import argparse if __name__ == '__main__':
| parser = argparse.ArgumentParser()
| parser.add_argument('expr')
| parser.add_argument('file', nargs='?') args =
| parser.parse_args() expression = compile(args.expr,
| '<string>', 'eval', optimize=0) if args.file:
| stream = open(args.file, 'f') else:
| stream = sys.stdin try: for line
| in stream: json = orjson.loads(line)
| if eval(expression, {}, json):
| print(line.strip()) finally: if
| args.file: stream.close()
| benfrancom wrote:
| A window sill-desk/laptop stand. I could place my laptop on this
| and look out the window at the same time whilst working. At the
| place I used to work we had some awesome views of the mountains,
| especially on the upper floors. I couldn't stand staring at
| cubicle walls, so I would take breaks to walk around and see the
| amazing views. Eventually, I made the sweet desk. I could have my
| laptop on top with a wireless keyboard, or put the laptop below.
| I cut it to the dimensions of my height and where I like to rest
| my hands. There were some silicone strips/bumpers underneath to
| keep it from slipping or sliding or scratching the wall. Pics:
| https://photos.app.goo.gl/VJLQqUhzHjPt4uCB8
| devinmcafee wrote:
| I built a weightlifting workout tracker. I did this because at
| the time I wrote it (2014) none of the current tools fit my use
| cases due to the fact that I compete in the sport of Olympic
| weightlifting and this was still pretty rare back then. I also
| wanted to be in control of my data and be able to run analysis on
| it as I saw fit.
|
| I began by writing a django app deployed via heroku. I then
| decided I wanted to rewrite it in ruby on rails because I had
| never worked with rails in my career and was already working on
| django professionally. I then wrote a react/redux SPA frontend,
| not for any other reason than to practice and learn those
| libraries. Finally, I decided to buy a VPS and manage deployments
| myself because I wanted to learn some basic devops stuff myself.
|
| Building and maintaining this project I got first hand experience
| on building a web application from scratch, designing UX and
| product requirements, maintaining my own infrastructure (Linux
| server hardening, supporting SSL, managing my own domain, etc)
| and got experience in languages I didn't work in professionally.
| Also I got a few friends to begin using my app and immediately
| found where my poor UX choices were, which was pretty
| enlightening.
|
| I think the experience really boosted my confidence as an
| engineer. I had to learn a whole bunch of new skills and become
| my own one person startup. In the end it helped me appreciate all
| that goes into building a software product and highly recommend
| the experience. I still track my workouts using the app and now
| have 7 years of data.
| jacobmischka wrote:
| I did something very similar using via a flutter mobile app
| when that was pretty new, and I also still use it every time I
| lift multiple times per week. Well done!
| culopatin wrote:
| I'm on the same boat. I'm building a library website for
| biologists after seeing my girlfriend's struggles. I have never
| built anything like this before, or anything at all really.
|
| I decided to use Spring boot because I want to boost my resume
| and my company hires Java devs. But I'm thinking I should've
| used something more trendy lol.
|
| I'm basically at the point of designing the REST API and I'll
| have to go through the same process you went through with the
| front end and everything else.
|
| It's a lot of work and the more I progress the more I realize I
| don't know, feels like running in a forever elongating hallway
| but it's rewarding.
|
| How long did it take you?
| vollmond wrote:
| https://day1of.com
|
| I got tired of having to think with date math, specifically
| determining the difference between "how many days between these
| dates" and "this is day x of span y", so I just made a tool
| specifically for that 2nd case.
|
| Eg, in my journal entries I make a note of which day of covid
| lockdown it is, by bookmarking this on my phone home screen:
|
| https://day1of.com/?startDate=2020-03-12&condition=COVID19+L...
| dcz_self wrote:
| I had enough of mounting and decrypting devices before and after
| doing offline backups, so I ended up writing a tool to automate
| "acquire and release" tasks that I'm a bit too proud of:
|
| https://dcz_self.gitlab.io/posts/blossom/
| geuis wrote:
| I needed some calipers that were large enough for a human head.
| Fairly expensive online, especially for a one use item. So I
| reviewed some classic manual types and designed my own 3D model
| and printed them out for cents vs lots of dollars.
| carapace wrote:
| It seems like a toy compared to most of the other tools in this
| thread, but FWIW I have a little script I call "did":
| grep "$1" ~/.bash_history | tail
|
| It just shows me the last ten commands that include a search
| term. E.g. "did foo" shows the last ten commands that include
| "foo".
| sirwitti wrote:
| This is going straight into my bash_aliases. Thanks!
| stonecharioteer wrote:
| I've made a lot of things for myself. Of the things that come to
| mind:
|
| 1. An Alexa Skill that allows me to ask my bookshelf for the
| position of a book. I've spoken at PyCon India 2019 about this.
| (https://stonecharioteer.com/2019/10/12/pycon.html) 2. A Discord
| bot (https://stonecharioteer.com/sarathi.html) to update my
| blog's TIL page. (https://stonecharioteer.com/til.html) 3. A
| shell script to connect to the right Wi-Fi at my office (useless
| now) 4. A script to set/unset proxies on my work laptop so I
| could download packages from external registries. 5. A script
| that would collect weather information to correlate with my
| migraines. This eventually ended up being a correlation is not
| causation situation. 6. A NAS using a Raspberry Pi 4 so that all
| TVs at home can stream from my movie/anime collection.
|
| I am in the process of building more things, as a way to learn
| Rust, and as a way to scratch the programming itch that I have.
| Do reach out if you want to discuss any of my projects. I will
| blog more stuff eventually. I use the same handle on Twitter.
| sirwitti wrote:
| I love this thread! Here's my list of tools that I actually
| use(d). I guess I have quite some itches that need scratching :-P
|
| Project-cmd [1] (current itch):
|
| A cli tool to standardize working on projects in different
| technologies. Think of package.json but for
| declaring/starting/stopping containers, creating db dumps,
| declaring data files (archives) to back up and restore and
| pushing db dumps + archives to a server via ssh and pulling them.
| Also editing the hosts file and jumping to a project's directory
| with a single command.
|
| TouchOsc Generator [2]:
|
| If you have tried to create complex TouchOsc [3] files things get
| repetitive and ugly very quickly. Touchosc-generator is a
| templating engine for TouchOsc files. You can create and reuse
| components and repeat + place them in grids via simple json
| files.
|
| Emailed invoices
|
| A simple node script checking my inbox for emails containing
| invoices simply regexing the sender and subject and automatically
| uploads them to the correct month's folder on my nextcloud
| server. Highly useful for accounting.
|
| Accounting
|
| A terrible meteor spa I wrote in 2015 for creating invoices and
| giving a simple accounting overview for my consulting business.
| It's quite crappy in some respects, but I created every single
| invoice since 2015 with it, so who knows...
|
| D39r
|
| My last flat had 2 levels and opening the door for the mailman
| meant running as fast as I could to the other end of other level
| of the flat. After opening up the intercom and finding that
| pushing the door button simply closed a circuit between 2 cables
| which in turn opened the door of the apartment building. An
| arduino relais, raspberry pi and a little bit of hacking later I
| could open the door via my smartphone. I used this as long as I
| lived there.
|
| Mushrooms
|
| I digitized a book about mushrooms with ~1200 pages by taking the
| book apart, scanning all the pages, writing a script to restore
| the pages order, using opencv to automatically detect blocks of
| text and images in the scans and mapping each image to the
| corresponding text blocks. Then used tesseract for ocr, manually
| corrected ~3000 paragraphs of texts with my girlfriend and
| developed several scripts to extract mushroom features for easily
| indexing/finding with a web app. Wouldn't/couldn't publish due to
| obvious copyright issues. This was a _lot_ of work and I loved
| it!
|
| [1] https://github.com/martinwittmann/project-cmd
|
| [2] https://github.com/martinwittmann/touchosc-generator
|
| [3] https://hexler.net/touchosc
| jetrink wrote:
| This is pretty trivial compared to some of the others, but I made
| a personal TV Guide for myself and my girlfriend using Trello and
| TVDB. (Screenshot below.) The purpose is to help keep track of
| what we're currently watching, since it's usually 5-10 things at
| once, and what we want to watch in the future, since that is
| almost infinite. Also, it helps keep track of shows that we set
| aside between seasons, but want to come back to (On Break).
|
| The part I built (the part that isn't just Trello) is not
| strictly necessary, but it was fun to make and it makes the guide
| more fun to browse. When you drop a new title on the board, a
| script grabs the description and cover image from TVDB and adds
| them to the card. Searching by title isn't foolproof, so in case
| it gets it wrong, the script temporarily embeds the other search
| results in the description. Marking one with an asterisk will
| trigger a fix.
|
| 1. https://imgur.com/a/hZlg7Rl
| antonkar wrote:
| I was frustrated with how slow the Apple Notes app was, so I made
| k for myself (https://getk.com). k launches instantly to your
| keyboard and camera, so you can take notes and photos in no time.
| I use it instead of Notes and Camera.
|
| It's 100% Swift and collects no data at all. k is my 3rd app and
| it took me 2 month to build
| fish45 wrote:
| My favorite is https://calcula.tech which I made to help with my
| physics and chemistry homework. I have a few other users, mostly
| friends from school AFAIK, but I'm hoping that it can become more
| useful for more people. I wrote the main interpreter in Rust
| mostly from scratch, and the site is built with elixir Phoenix
| and alpineJS.
| anonymouse008 wrote:
| This should be a monthly thread in the middle of the month -- to
| avoid overlap with the hiring/who's
|
| I've loved getting to know our community this way
| adrianmonk wrote:
| A few years back, my car was one of the millions with an airbag
| recall. For months, they sent letters saying it was my turn, but
| if I called to book an appointment, they'd say they didn't have
| the part in _for me_ yet, and I had to check a web site to see if
| it was _really_ my turn.
|
| So I wrote a script that would poll the web site using curl and
| notify me via Slack if the status had changed. I put that in
| cron, and every day it would give me the airbag report.
|
| One day it told me that status had changed, so I called and they
| booked the appointment.
| jacobmischka wrote:
| I did something similar for the Walgreens website for my mother
| when vaccines were new and appointments were hard to come by,
| it worked pretty perfectly and we were able to schedule her an
| appointment shortly after she was eligible.
|
| Though, somewhat humorously, very soon afterward eligibility
| was expanded to everyone in my state and vaccination
| appointments were much easier to find.
| JazzXP wrote:
| I had one a number of years back when I was writing an iPhone app
| to be whitelabeled for various clients, that would overlay a
| "Beta" banner on their icons for beta releases. I wrote it for
| fun (and so I could easily differentiate between beta and full
| release versions on my own device), and right as I was finished,
| it ended becoming a client request anyway.
| shafkathullah wrote:
| I made HackerCards(https://chrome.google.com/webstore/detail/hack
| ercards/ncblkm...) to easily skim over HackerNews on chrome new
| tab page.
|
| Another one is Hijri for
| Chrome(https://chrome.google.com/webstore/detail/hijri-for-
| chrome/m...), a Hijri date viewer that too made for myself for
| tracking ramadan fasting count.
|
| And yes my own Chrome theme 'Space
| Grey'(https://chrome.google.com/webstore/detail/space-
| grey/cohabkm...)
| tapvt wrote:
| I wrote `redis-del` [0] years ago while prototyping a queue for a
| web app forever ago. Wildcard redis delete. Still use it.
|
| [0] https://github.com/e9labs/redis-del
| eevahr wrote:
| A service i made to track my working time https://time-
| tracker.ivarlovlie.no
| eyelidlessness wrote:
| I had a major bike accident, shoulder dislocation that took weeks
| to recover and broken pinky.
|
| I couldn't type with my left hand, but I couldn't afford not to
| work. I looked into one-handed keyboards, found a variety of
| half-keyboards that mirrored the other half while holding the
| spacebar. These are patented, and I also couldn't afford them.
|
| Being patented, I was also unable to find software offering the
| same. So I learned enough Objective C to build it for myself. It
| was a hacky, crashy mess but I never intended it to be production
| quality... so I also built a monitoring app to relaunch it when
| it crashed.
|
| It wasn't anything special but it got me through that recovery!
| sturza wrote:
| why was Objective C the solution for the tool you built? can
| you explain more what the product/output is and how you use it?
| eyelidlessness wrote:
| Objective C because that was the most viable option for
| native Mac development at the time, and I needed access to
| keyboard events system wide for it to be useful.
|
| What it did was listen for keydown/up events on the spacebar,
| and swap the system keyboard layout to a horizontally
| reversed qwerty layout while the spacebar was held for some
| (arbitrary based on what felt right to me) duration. When
| released it would restore the normal qwerty layout.
|
| This made it relatively cognitively easy to treat my right
| hand as a reversed "left" hand and use my touch typing muscle
| memory while I was unable to type with my actual left hand.
| If I remember correctly, I took a typing speed test and it
| was ~70% my normal two handed touch typing speed, which was
| good enough to keep working while I recovered.
| TheCyberBasics wrote:
| Last year I was learning Node/React, and built a Certification
| tracker with the MERN framework to track certification renewal
| dates
| ssddanbrown wrote:
| I built a documentation platform [1] for work since I didn't want
| to worry about licensing costs (With something like Confluence)
| being a factor, limiting potential access, when it comes to
| documenting and sharing knowledge.
|
| I also wrote a simple little PHP script [2] to check HTTPS
| certificates (And email results) to help keep on top of things.
|
| [1]: https://github.com/BookStackApp/BookStack [2]:
| https://github.com/ssddanbrown/sslcheck
| wazoox wrote:
| A couple of tools that may be useful:
|
| Macs use a different UTF8 encoding for file names, that causes
| all sort of weirdness when sharing files with Linux / Windows
| machines, so I've made a tool to convert these:
| https://github.com/wazoox/utfmacmv
|
| I was constantly in need of cleaning my ssh known hosts list, so
| I've made a small script around "ssh-keygen -R" that removes both
| the lines for the hostname and its IP:
| https://github.com/wazoox/khc/blob/master/khc
|
| Also I've made a small CGI script running on my PC to scan the
| local network and identifying newly connected machines (because
| I'm building and testing servers):
| https://github.com/wazoox/PingScan
| Osmose wrote:
| I built a music player for videogame music formats because the
| only other player on MacOS that supported them had a terrible UI
| and didn't support all the formats I wanted. I consider it a tool
| because I use it a ton during work to play infinitely-looping
| songs to help me focus.
|
| https://www.mkelly.me/moseamp/
|
| The progression of me building the app was (over a span of maybe
| 7 years):
|
| - Prototype compiling GME[1] into asm.js, generating sound
| samples on a webpage, and piping them into the Web Audio API.
|
| - Turning that prototype into a desktop app in order to learn
| Electron.
|
| - Giving the desktop app a proper UI in order to learn React +
| Redux.
|
| - Switching to a native node.js addon to fix slowdown/memory use
| during playback.
|
| - Switching to musicplayer[2] so that I could play Playstation
| music.
|
| - Adding a Windows build so I could listen to music while coding
| on my Windows computer with the same UI as on MacOS that I had by
| now grown accustomed to.
|
| - Adding a visualizer to learn how, well, visualizers work.
|
| - Adding a piano-roll visualizer for NES music and rendering-to-
| video because my friends who make chiptune videos on Youtube use
| an old, inflexible program to make their videos.
|
| I would say the number one driving force is that I made a tool I
| use pretty much every day; tools I've made that are only
| occasionally used never really motivate me enough to bother
| fixing them up, but with Moseamp every fix is an _immediate_
| improvement in my day-to-day.
|
| [1] https://bitbucket.org/mpyne/game-music-emu/wiki/Home [2]
| https://github.com/sasq64/musicplayer/
| sogen wrote:
| Nice, any music suggestions to help focus?
|
| Something like EDM, but open to suggestions. Thanks!
| madduci wrote:
| A PCD to E57 file converter for 3D pointclouds
| dorkwood wrote:
| In an attempt to gamify my own fitness, I wrote a simple workout
| tracking app that used energy bars which depleted and refilled
| over time. If I hit a particular muscle group that day, the
| energy bar for that muscle group would deplete and take a couple
| of days to recharge. The idea was to keep all the muscle groups
| on cool-down. It was actually quite fun for a while. Kind of like
| looking at a simulated representation of your body recovering
| over time.
| jcelerier wrote:
| cninja, to enforce better CMake defaults, manage various
| configurations for CMake buildsystems and easily generate
| toolchains with a set of configurations / linker options / etc.
|
| => https://github.com/jcelerier/cninja
| seanwilson wrote:
| I built this web best practices checker (e.g. looks for broken
| links, missing titles, bad cache settings, insecure forms) that
| checks multiple pages at a time:
|
| https://www.checkbot.io
|
| I built it to scratch my own itch while doing web development
| work and spun it into a paid product.
| asicsp wrote:
| https://github.com/learnbyexample/command_help so that I can
| quickly get documentation for command options. Inspired by
| http://explainshell.com/ but wanted a cli tool.
|
| Fails for lot of corner cases, but still useful most of the time.
| Here's an example: $ ch ls -Gv
| ls - list directory contents -G, --no-group
| in a long listing, don't print group names -v
| natural sort of (version) numbers within text
| neolog wrote:
| https://github.com/tldr-pages/tldr
| d1str0 wrote:
| At my company we used to pass around a single wildcard cert for
| our corporate domain. All servers, including many internal
| servers, all had the same long lived cert.
|
| I made a tool to make it easy for us to deploy Let's Encrypt
| certs for internal only servers that would normally not be able
| to do an http challenge against LE.
|
| https://github.com/Imageware/TLSential
|
| One of the projects im most proud of. :)
| fishywang wrote:
| I wrote a tool that forwards selective Android notifications to a
| Telegram bot: https://github.com/fishy/notifbot
|
| I wrote two blog posts to explain the background context and the
| motivation: [1] & [2]. The tl;dr is that I have some home
| automations around the garage door that is not 100% reliable, so
| I'd like some notification on Android Auto that could give me
| some confirmation. The app sending those notifications doesn't
| support Android Auto, but Telegram's android app supports that
| pretty good.
|
| While that's the original motivation, after years of using it I
| also found other good uses of it: to convert notifications from
| some super annoying apps into something less annoying.
|
| [1]: https://wang.yuxuan.org/blog/item/2017/03/smartthings-myq-
| an... [2]: https://wang.yuxuan.org/blog/item/2017/05/notifbot-
| android-a...
| gandalfgeek wrote:
| I have a small YT channel [1] and I used to spend 30-40 mins
| recording and then 2-4 hrs editing to get a final 10-15 min
| video.
|
| Then I fully scripted my video editing using Python+MoviePy [2].
| The time savings are sweet. I just feed it my raw video and get
| the finished video a few minutes later. It cuts out all the dead
| air as well as the parts I don't want (which I indicate in-
| video).
|
| In general scripting video editing is faster and more scalable
| compared to mousing around and making tiny cuts in a graphical
| video editor.
|
| [1]: http://youtube.com/c/VivekHaldar [2]:
| https://youtu.be/Bdoi7BDhrWc
| flexd wrote:
| This is very cool!
| [deleted]
| cosmodisk wrote:
| I personally know a few people who could very likely be your
| customer,so I second other commenter: do release it as a
| product.
| gandalfgeek wrote:
| Thanks for the kind words.
|
| Script is open for anyone to use or adapt. Credit and link
| back would be nice :-)
|
| https://gist.github.com/vivekhaldar/92368f35da2d8bb8f12734d8.
| ..
| kmstout wrote:
| As an oldies station DJ from back home would say, this is good
| stuff! The use of screen color as an in-band indicator for what
| segments to keep or toss is especially elegant.
|
| One question: If you find yourself silent for some period that
| you want to keep (maybe while something happens on the screen),
| how do/would you inhibit the dead air filtering?
| gandalfgeek wrote:
| I've never thought about keeping silent parts in since that's
| just not my use case, but conceptually you could do that if
| you introduced a third marker (color other than red or green)
| to indicate "keep with silent parts".
| tumidpandora wrote:
| Nice! I built something similar with automating a movie making
| process by pulling gifs from Giphy, convert them to mp4 with
| ffmpeg, stitch, add a sound track, opening sequence and credits
| and produce a movie, all with just a keyword. Check out my code
| here
|
| https://github.com/mohapsat/auto-giphy-movie
| bradbatt wrote:
| "as well as the parts I don't want (which I indicate in-video)"
|
| How do you indicate that in the video?
| gandalfgeek wrote:
| Well, https://youtu.be/Bdoi7BDhrWc explains that with a demo.
|
| But tl;dr-- after a segment I want to keep, I switch my
| background to solid green; after a segment I want to drop,
| solid red. (Segment == clip between two solid red or green
| backgrounds)
| jacobmischka wrote:
| That's a really interesting and clever idea, well done.
| pm wrote:
| Have you used a ffmpeg wrapper like ffmpeg-python for dealing
| with video? If so, how does it compare? I remember seeing
| MoviePy briefly in my research but found there wasn't a lot of
| documentation.
| gandalfgeek wrote:
| I believe MoviePy uses ffmpeg underneath. Have not used
| ffmpeg-python, but MoviePy has nice higher-level abstractions
| like clips (both audio and video), time functions,
| transitions etc that you can then compose pretty elegantly.
| See some of the examples on their site:
|
| https://zulko.github.io/moviepy/gallery.html
| blamazon wrote:
| That is amazing. I have wanted such a thing for recording
| videos at work but had no idea how to articulate the idea that
| was so clearly laid out for me in this 4 minute video.
| ajonit wrote:
| Great idea! Develop this as a standalone solution. There is a
| huge market open for you.
| spcebar wrote:
| I was too lazy to learn how to use a packager so I built one in
| Node. It's dead simple and lacks features but works great.
|
| On my website: https://benergize.com/software/pyleon/ On
| git:https://github.com/benergize/pyleon
| phreack wrote:
| I love the disclaimer at the end of your Readme. It really
| symbolizes the spirit of it all!
| spcebar wrote:
| Thank you! I love reinventing the wheel but I'm very
| conscious that I'm doing it.
| hughrr wrote:
| I built a redis AOF rewriting toolchain to undelete keys at
| specific points in time because I was working with people who
| picked a storage engine without consistency guarantees without
| understanding the consequences. The tool will trace the lifecycle
| of a key through the AOF and all events attached to it so you can
| pick an event to "undo". The output is a bunch of commands to
| recreate the key in the state you need it in.
|
| I'm not publishing the source because it's extremely dangerous
| and not very well tested. In the wrong (or right but with
| misunderstood intention) hands it can make your day worse.
|
| It works by iterating through the AOF, filtering all commands
| related to the interesting key and replaying all commands except
| matching ones into a standalone instance of redis. Then it dumps
| the key that is left.
| SuperCuber wrote:
| I made my own dotfile manager:
| https://github.com/SuperCuber/dotter . With time, at least a
| couple other people started using it :D
| w4rh4wk5 wrote:
| I've built a tiny dependency installer targeted at old systems /
| clusters where you need to bootstrap modern libraries and tools
| from an old GCC.
|
| It's very small, just a few lines of Bash.
|
| https://github.com/W4RH4WK/DIFAS
| lbutler wrote:
| A webapp to help me calibrate hydraulic models of water networks.
|
| The original concept was in excel and VBA.
|
| I ended up pulling out the engine as a separate open source
| library which I've used on a few other projects.
|
| https://github.com/modelcreate/epanet-js#model-calibrate
| mikub wrote:
| I am currently learning SQL/Python, I often just wanted to know
| the headers and how many rows are in a CSV file, so I just wrote
| a small Python script for it. import csv
| import readline readline.set_completer_delims('
| \t\n=') readline.parse_and_bind("tab: complete")
| def csvOpen(file): with open(file, "r",
| newline='', encoding='utf-8-sig') as csvfile:
| reader = csv.reader(csvfile) i = next(reader)
| dRows = sum(1 for line in reader) print(f"You have
| {dRows} rows in the CSV file:\n" f"Your headers are:\n {i}")
| file = input("Please enter the filename to show the CSV
| headers: ") csvOpen(file)
|
| I also have an alias for it in my .bash_aliases.
| alias sqhead='python /home/user/Coding/Py-Code/sqlHead.py'
| Madeindjs wrote:
| This can be done using two lines of Bash
|
| - `head -n 1 <file>` to get headers - `wc -l <file>` to count
| number of rows
| gnomewascool wrote:
| Not really, not if the CSV contains quoted newlines.
| asdw wrote:
| what does sq in sqhead mean?
| softblush wrote:
| I guess the CSV files are SQL table dumps
| dahjkol wrote:
| My IT guys at work somehow keep disabling the show hidden files
| and folders feature in windows 10. So I wrote a program that
| checks every 5minutes and turns it back on lol
| mod wrote:
| You could update it to report when it had to actually switch it
| back, and perhaps find the source of the problem.
| foepys wrote:
| 99% sure it's just a group policy that somebody switched on
| because "I don't want users to delete config files by
| accident and call me".
| ekzy wrote:
| Your script could send your IT guys an email too, that might
| eventually fix the source of the problem...
| dahjkol wrote:
| Oh I have. It's a standard policy for everyone in my
| organization
|
| I don't work exclusively with programmers and it's a rather
| large bearucratic nightmare
|
| Try not to infer more than what is presented please.
| mfontani wrote:
| A bunch of shell scripts I've written over the years are
| available from https://git.marcofontani.it/mfontani/scripts
|
| Very useful ones:
|
| - h, to take the first line of output and output it as is, then
| running the command that got passed. Example: ps faxuww | h grep
| foo to show the "ps" first line (the header) then running "grep"
| on the rest
|
| - evenodd, to colorize the background of lines of text so it's
| easier to see which start of text corresponds to which end of
| text
|
| - time-rollup, to time the time it takes to run a given command
| and provide percentage-based statistics on the execution
|
| - a wrapper around "jq" to make it DWIM w/regards to gzipped,
| bzipped, and zstd-compressed files
|
| I've also put some full-fledged binaries on github:
|
| - https://github.com/mfontani/prettycrontab which is a crontab
| pretty-printer which parses a possibly specially commented
| crontab to give you an overview of what's coming up next
|
| - https://github.com/mfontani/tstdin to timestamp your stdin, and
| provide when the line was received, how long it was since the
| start of the command, and how long it was since the last line was
| received. Useful to add at the end of a pipe to both log and
| perform analysis on the output and time it took to do stuff
|
| - https://github.com/mfontani/rofixec to "sorta template" a rofi
| (a X11 runner) runner so it picks commands from a given list
| (provided as yaml or json configuration) and executes the picked
| item in a background job
|
| - https://github.com/mfontani/git-recent which helps you pick the
| most recent branches you've worked on, very useful when paired
| with fzf for picking
|
| - https://github.com/mfontani/los-opinionated-git-tools instead
| contains a ton of useful little git-related scripts, from one
| which DWIMs the master/main/blead branch name to one which helps
| you reauthor the last commit, to one (git-rr) which helps you
| perform a git rebase with context info about the commits you're
| rebasing: which files they touched, etc - to make it easier to
| fixup together commits which touched the same file... which is an
| operation I do so often I've created a "git-fixup" script, which
| automates fixing up the currently committed file to the last
| commit which touched that file in the branch
| weakty wrote:
| I built Firn[1] a static site generator for my org-mode oriented
| wiki[2]. I needed a system that could nicely handle publishing
| public information, and keeping private information private. In
| addition, I wanted something that accumulated my clocked time in
| org mode so that I could see how much I have worked on each
| project.
|
| [1] https://firn.theiceshelf.com/ [2] https://weakty.com/
| shajid wrote:
| Brandon Sanderson, my favorite writer, keeps some progress bars
| in his website to let the fan know what he's working on.
| Unfortunately, those progress bars aren't visible in mobile
| devices. So I made a website for myself to keep tabs on them. And
| also for the other fans. Link: https://bransan.vercel.app
| cturtle wrote:
| Thanks for this! That limitation of the mobile site always
| annoyed me. Slightly coincidental that I just finished
| rereading the Well of Ascension minutes ago.
| kevindong wrote:
| I use NYC's bike share system (Citibike) quite a bit.
| Unfortunately the app's map of bike/dock availability [0]
| requires a lot of scrolling and tapping to get info, in my
| opinion. It definitely looks pretty, but it's not so functional.
| So, I built my own version [1] that is far more information
| dense, but much uglier.
|
| [0]: https://apps.apple.com/us/app/citi-bike/id641194843
|
| [1]: https://github.com/kevindong/bbam
| fumblebee wrote:
| I once wrote a script to record the Tinder profiles I swiped left
| and right on, then fine tuned a CNN using the data and integrated
| it into an automatic swiper. It swiped right on my now partner!
| jgauth wrote:
| That's awesome, is the source available?
| neural_thing wrote:
| I am both impressed and horrified.
| sofixa wrote:
| Next step:
| https://www.removeddit.com/r/AskReddit/comments/1f607z/comme...
| ellis0n wrote:
| drive.py
|
| Disc comare tool
|
| https://github.com/web3cryptowallet/drive-py
|
| I made it to work with unstructured data with any amount of size
| bool3max wrote:
| I recently wrote a shell script bound to a keyboard shortcut,
| that pops up a window with a text input field that accepts LaTeX
| input, and immediately converts it to a JPG that is then copied
| to the clipboard. Super useful.
| fikama wrote:
| Sounds cool, but do you use it for anything other than math
| equations? I am just curious
| bool3max wrote:
| Not really, though I can provide any valid LaTeX input and
| get the appropriate result back. To be honest the setup is
| not ideal, as the input is first converted to a PDF file
| (that has to be saved in a temporary directory, along with
| other residual files, as "pdflatex" doesn't support
| stdout/stdin, for some reason), and only then to an image.
| Still though, it's much snappier than relying on online
| "latex to image" converters that basically do the same thing
| on a server somewhere.
| hbbio wrote:
| That would be https://github.com/hbbio/build
|
| The idea of build is not having to remember each command line to
| build some files.
|
| Just put in comment inside each file how to build it (including
| all options and specifics) and run
|
| build file.ext
|
| It does not pollute directories as it does not require any file,
| unlike Makefiles.
| jatins wrote:
| I really like this idea of build command living _inside_ the
| code it builds. Rather than a separate readme. I wish this were
| more common.
| nathell wrote:
| Skyscraper, my scraping and restructuring framework:
| https://github.com/nathell/skyscraper
|
| I've used it to build datasets for various research purposes, and
| also an archive tool for the now-extinct soup.io:
| https://github.com/nathell/soupscraper
| hnarayanan wrote:
| A long time ago, before Spotify had support for multiple devices
| where one could act as a remote and control the other, I wrote a
| tool called Shpotify: https://github.com/hnarayanan/shpotify . It
| is a simple Bash/AppleScript.
|
| The primary usecase for me was to SSH tunnel into a media centre
| Mac in my living room and control music on Spotify. I released it
| on GitHub and it has grown a lot in popularity amongst people who
| like to do a lot of their computing in the shell.
| ascales wrote:
| I use Shpotify to shuffle and play a playlist of
| eurotrash/techno during especially long builds. Pretty nifty
| thing you made!
| hnarayanan wrote:
| You're very welcome.
| lelandbatey wrote:
| I made a tool that takes a list of timestamps as input and
| outputs a histogram of the count of those timestamps grouped into
| bins of any size (default is 1 hour):
|
| https://gist.github.com/lelandbatey/58330f13a02e7b5a0af179d5...
|
| I've found this to be a HUGE help, as I frequently have data from
| all kinds of sources and I want to be able to ask questions like:
|
| "When did records matching this query start getting created over
| the last month?"
|
| "Have there been any big fluctuations in the trends of when these
| records are deleted?"
|
| On and on. It's an incredibly versatile tool to have access to
| and I was SHOCKED that there weren't existing tools for this
| case.
| edmundsauto wrote:
| I bought a Remarkable2 tablet, and love it. Unfortunately, there
| is no way to easily consume email on it (email newsletters, which
| don't require any responses). I built a service that gives me a
| unique email I can sign up with, which then packages the email
| body into an epub that I can read.
| moasda wrote:
| I wrote a wiki server to store important notes:
|
| https://gitlab.com/moasdawiki/moasdawiki-server
|
| I also wrote a Kanban tool to organize my personal tasks at work:
|
| https://gitlab.com/moasda/task-organizer
| stevekemp wrote:
| I bundled together a small collection of sysadmin/scripting-tools
| here:
|
| https://github.com/skx/sysbox
|
| Those are probably amongst the things that I use most often which
| are non-standard.
___________________________________________________________________
(page generated 2021-06-12 23:01 UTC)