Thank you.
It's big features are that the cert generation can entirely be controlled from the command line, config, or environment, or any combination of the above, and it has tooling for the situation where I have an existing cert but want to add or remove a name from it. It also has pre/post scripts so I can have it do things like add it to the Ansible repo, vault encrypt it, and commit it. Beats the 10+ year old script that didn't work with Subject Alt Names.
https://iterations.sprkwd.com/
Iterations is a new way to help you generate ideas.
Creative methodologies usually combine divergent thinking (applying a stimulus to generate potential outcomes) and convergent thinking (bringing facts and data together and applying logic).
Iterations help divergent thinking by giving suggestions on how to process the output. They work as a set of guitar effect pedals to your process. There is an input, a set of ambiguous instructions that can be applied to this input, and an undetermined output created by these effects.
Yes, like Oblique Strategies.
Import-Xlsx and Export-SQL
They do what they sound like. The first command will run even on Windows Server Core and Linux, and doesn't need Excel installed. It's only slightly slower than the 64-bit C++ compiled MS Excel executable at parsing multi-gigabyte files, which it can do in constant memory (streaming mode).The purpose of this is to enable spreadsheet-driven bulk provisioning tasks where there are a lot of distinct-but-similar parameters. I added some niceties such as the ability to trim off leading or trailing spaces and blank lines to prevent objects being created with names such as "xyz ".
The Export-SQL is the twin, which dynamically adds missing columns to a table and similarly allows streaming input. Simply pipe anything from the command-line to get it into a database for indexing and querying. This will work as expected:
Get-AzVM | Export-SQL -TableName 'azurevms' -Database 'Reports'
For general purpose queries over medium amounts of data, nothing really beats the performance of SQL Server on an 8-core laptop with modern SSD and 64 GB of memory.I planned to open-source and publish both utilities, but there remain a couple of bugs that I could never be bothered to fix, and I'm not comfortable publishing tools that could potentially lose or corrupt data. That could make someone else's day very bad.
- [Track your feelings throughout the day by picking emotions from a colour wheel and annotating](https://huemotions.vercel.app)
- [Monitor public transport in Budapest in real time](https://bkv-dashboard.vercel.app)
- [Plan roast chicken dinners to finish all on time](https://chicken-dinner-timer.vercel.app)
- [Reduce meat consumption by building your own farm](https://csb-fmkth.vercel.app)
- [Use GPT-3 to improve handwriting recognition for Rocketbook notes](https://notesvac.vercel.app) - currently not working because I don't want to pay for GPT-3.
- [Track availability and presence in a distributed team](https://team-are-online.vercel.app) (designed for call centre staff to be able to communicate their break/availability status when the pandemic hit and we didn't have a good solution for sharing dashboards yet)
- [Mostly broken recipe and shopping list preparation app](https://tastine.vercel.app)
- [Family photos app](https://photos.innes.hu) for private photo sharing with magic links etc. for less technically capable family members.
https://ajuc.github.io/outdoorsBattlemapGenerator/
It can export to .dd2vtt files that can be imported by Foundry VTT that we use to play online.
• "BatchPrint" : Standalone Applescript app with GUI front-end; allowed a designer to perform a query-based batch print of InDesign files. For example, "print all color ads running in tomorrow's New York Post to the 4th floor large-format inkjet"
• "GridMaker" : Applescript for InDesign; had a little bit of business logic in it to take an image frame in InDesign and split into a grid, following certain layout restrictions (specific gutter width, tag the boxes with metadata for FileMakerPro integration reasons, etc)
• "Filewrangler" : a publicly released Objective-C app for the Mac from before the launch of the Mac App Store (though it was on the store day one); batch file renaming using a custom visual filename "builder". Horizontal blocks in a chain combined to form a template for the new file name pattern, where each block represents one discrete chunk of text. Some 15 years later I still get email about it, asking if it will ever be updated for modern systems (no, it won't).
• The real workhorse tool, still in daily production use by my employer, is a shell script that turns Xcode Server into a lightweight CI system. It monitors for Github activity and creates and destroys XCServer bots as needed. With multiple servers, each can be assigned an "ID" which effectively allows them to load-balance. Only one bug report in 6 years. Alas, Xcode Server has been deprecated so we're migrating to CircleCI, which makes sense given the growth of the company.
• "Nuke the Metadata" : simple little shell script to run on files before posting them to public forums
• Various little shell and CMD scripts for Mac and Windows to do git checkout/prune trees/update submodules/etc all in one shot; return a project folder to pristine after running builds (for example)
- https://hw.leftium.com/ is HN the way I want to read it (https://github.com/Leftium/hckrweb)
- Unique format for weather forecast (with historical data): https://github.com/Leftium/ultra-weather#readme
- Pretty veneer over Google sheets/forms for my dance club: https://www.modu-blues.com/
- Quick way to view formatted TaskPaper files: https://plaintext-press.leftium.com/https://www.dropbox.com/...
- User-friendly UI for PwdHash: https://ph.leftium.com/
- POC app my real-estate friend keeps asking for: https://hyunwoo.leftium.com/
- Beat-aware video player: https://phrasier.leftium.com/
- Search for images on multiple sites at once: https://is.leftium.com/
- Custom fork of oTranscribe: https://otranscribe.netlify.app/
- CLI tool to convert YouTube transcripts for oTranscribe fork from above: https://github.com/Leftium/otrgen
- Quick converters/calculators: https://cc.leftium.com/
- Update perpetual calendar event with notifications (for a game I used to play): https://ff.leftium.com/
- Visualize some data (for same game): https://orbs.leftium.com/
A lot of acquaintances have been begging me to turn this into an app, so I may give it a go later this year :)
The other I just got to useable POC last night - making process control Cause and Effects diagrams 'executable' straight off the PDF's.
Both cases I used a mix of python, PyQt, numpy and OpenCV, primarily.
I am an electrical and control systems engineer that primarily analyses and/or designs and delivers control and safety systems.
When I noticed https://jsonformatter.com domain was not used I sent an email to the owner and he actually agreed to host my app since it was open source.
There are other people using it right now, but I enjoy using it every time I need to make a json more readable.
I built PackageMap to help me visualise the codebase, and see where the natural seams were -- or should be.
I use the tool to build a directed graph of the type and method usages, and to see which code is grouped into which packages. The code is rendered in a graph diagram that I can see, query, and filter. It really helps me when I'm doing code review or working on a part of the code I'm not too familiar with.
I can re-deploy this if anyone is interested, I just took it down since it's pretty expensive (couple hundred bucks a year) to put an app on the app store I made exclusively for myself.
GTA:SA car physics editor gui in pygtk.
Batch upscaler using magick, realesrgan and rembg in node. Pre-resizes to 1mp, converts to webp.
html-to-m - convert html into mithril m() expression indented to my taste. Works as a vim filter.
Few AHK scripts (god forgive the syntax).
Few variants of update-these-vpses via sh/ssh/coreutils. Needed it because had no devops. Trying to learn terraform and ansible instead.
A dashboard for ERP software that made our life much easier when I worked at a warehouse (as a keeper, non-dev). It presented today’s tasks in a detailed list, created multiple cascades of documents with select-and-click, allowed to query qtys through omnisearch and to store cell addresses in unused fields for faster inventory. Our “terminal” was one of the quickest in a company, but nobody up there gave a fuck about some boy’s code. It was actively used by other employees for 17 more years after I left, also they asked to fix it a bunch of times after ERP upgrades. Proud.
A local webapp for doclinks, plans, motivation, remote project control. Sort of a self-launch dashboard. Most procrastinated WIP right now, wish I had it to implement it faster.
I had a grand vision for how it could look with different APIs, and might still pick it up later to work on. For now it scratches my itch.
A tool for turning diffs into location-prefixed changed lines. Allows me to feed that to grep and then put the results in my vim quick fix buffer.
Also great if your team is distributed - no more 7am/7pm meetings with your team in India!
Needs some love now I have a fair amount of data! Wanted to see car depreciation and appreciation rates but couldn't find anything.
Old school server side java web app as I'm 47 :S
since all other Cortex debuggers sucked in some way or another (not scriptable, took too long to support new chips, too expensive, pain in the ass to use, etc)
Copy/paste between hosts using Gitlab Snippets as a backend.
Built it to automate my e-commerce ops
a tool to retrieve specific flight info from scraped flightaware pages
lots of automation around capturing expenses from receipts and bank alerts.
i thought of one just the other day that works kind of like a link unshortener but for sengrid/mailgun/tracking URLs
Android app for saving webpages for offline viewing.
Also build so many now dead projects, its a cementary :D
https://hackerer.news HN viewer (source[0]): I use daily so I can see today's top stories in reverse chronological order with mainstream topics grouped at the bottom, leaving niche/deeper stores at the top.
Qwickly[1] keyboard layout: I use all the time as an easier to learn and more comfortable to type than Colemak/Tarmak. Made macOS and Windows packages. Linux I didn't do as I'd need to do 2 for text and graphical (X11) and didn't learn how. If anyone has simple instructions I can follow, link me.
SafeQL[2]: Java type-safe SQL expression composer that reduces constant expressions and eliminates N+1 queries loading associations by always operating on set relation or array of models.
Moja[3]: Composable computation pipelines for Java: Async, Lazy, Option, Try, Result, Multi (List), Stated, Reader, Logger, Writer.
Gitgrep.com[4] Opensource SaaS version of etsy/houndd (now called hound-search).
StatusPages.me: Status page aggregator with dynamic javascript for scraping each source using selector expressions.
movies to watch aggregator: with links to sources to watch. It was hard at the time to get 3rd party deep links into streaming services so included some torrent magnet hashes. Got a DMCA phone call, so took it down. Combined thumbnails, summaries, actors(?), imdb ratings, links.
Java2cpp: Translate a moderately sized java app with test suite to C++, not 100% required final manual fixups.
Swift2java (or maybe it was java2swift, it's fuzzy now): translate Swift to Java obviously, using ANTLR4. Not 100% required final manual fixups.
Gui2log: Write an ASCII rendition of on-screen GUI widgets into an application log file when form submitted, so users couldn't complain that they saw X, but got Y.
some basic stats/ML algorithms: k-nearest neighbour, RNN back-propagation, etc?
Java in-memory DB: Small SQL-like memory tables with indexing/searching.
wwwsqldesigner: This exists as opensource and I extended it to infer foreign key relationships based on naming conventions used in a MySQL schema. It was great for zooming around a large ERD.
Quicklog: combination of distributed microservices parent/child span logging and generated high level events shown as a sequence diagram. Integrated with Loggly for full/verbose logs of selected high-level events.
Pcl2bmp downscaler: Reduce high resolution HP LaserJet (PCL5) printed to file to lower resolution bitmap pages for screen display (before retina DPI was common). It aimed to shrink same-color areas and preserve black/white transitions while reducing.
[0] https://gitlab.com/karmakaze/hackerer-news
[1] https://github.com/qwickly-org/Qwickly
[2] https://github.com/karmakaze/safeql
The command "list" to find stuff in the current directory, recursively. Basically "find | grep". Works if you have the Python module or Java package name / path, since "." will match any character, including slashes :-)
#!/usr/bin/env sh
if [ "$1" = "-h" ]; then
exec cat << EOF
Usage: $(basename "$0")^ [--] search_string
List paths having search_string in them.
Note: options are passed to grep.
EOF
fi
if [ "$1" = "--" ]; then
shift
fi
find -type f | grep "$@" | grep -v '.pyc' | fgrep -v /target/
And "fkt", which will open the files returned by list with your preferred editor (f for find, kt for kate, because that's my editor and didn't find any fitting name for this command) #!/usr/bin/env sh
editor=kate
if [ "$FORCE_EDITOR" ]; then
editor=$FORCE_EDITOR
fi
help () {
exec cat << EOF
Usage: $(basename "$0")^ [--] search_string
Open files with paths having search_string in it.
\$FORCE_EDITOR can be used to give the name of the editor to use
current default editor: $editor (edit $0 to change)
Note: options are passed to grep.
EOF
}
if [ "$1" = "" ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
help
fi
if [ "$1" = "--" ]; then
shift
fi
if [ "$1" = "" ]; then
help
fi
list -- "$@" | while read line; do
printf "open with ${editor}? %s [Y/n/q]: " "$line"
read confirm < /dev/tty
ok=""
while [ "$ok" = "" ]; do
if [ "$confirm" = "" ] || [ "$confirm" = "y" ] || [ "$confirm" = "Y" ]; then
ok=y
"$editor" "$line"
elif [ "$confirm" = "n" ]; then
ok=y
elif [ "$confirm" = "q" ]; then
echo "bye"
exit
else
echo "wat? "
fi
done
done
Turns out, I use "list" dozens of time per day, I forgot a bit about fkt but I might get back to it thanks to this post because I often copy-paste results from list to open them. I had forgotten about adding this confirm prompt :-)I'm sure there are existing, better, tools for this though.
(I've never tested them on non GNU systems, there might be GNUisms in them)