Curious to hear what HN is building for private use.
[1] https://twitter.com/marckohlbrugge/status/1786658603769991375
I use this little script https://github.com/jmacc93/paste-to-tmux-script daily. Its for pasting your current clipboard item to a target tmux session, along with very simple dsl for controlling which tmux target to send to, opening the tmux target, killing tmux sessions, etc. It makes a vastly, vastly better and more productive repl for me. The workflow for using it looks like typically is like: use `@sw name_of_target`, `@open`, `name_of_executable`, then move my cursor to something I want to evaluate, use ctrl-c to copy the line, and ctrl-. to send it to tmux
I think I've changed stuff around since I last updated that repo, though, but the general idea and skeleton is there, if anyone wants to use it / hack on it. And I'm gonna do a rewrite of it soon, I think, so that instead of using a dsl (the `@...` forms above) it uses `!...` or some similar form to execute arbitrary shell commands
I'm hoping to (soon hopefully) integrate it with my https://github.com/jmacc93/noca notebook canvas program as well
Was lots of fun. I still do write "personal productivity software" (never call it that way, though). But the truth is - most of these issues are either already solved today or don't exist as a problem in the first place, provided you can afford paying for a solution and value you time more. Which is a good thing, but slightly less fun.
Main repo: https://github.com/comperical/WebWidgets/
Open core install guide: https://github.com/comperical/WebWidgets/tree/main/server/sc...
Home page (currently rehabbing): https://webwidgets.io/
* Some janky scripts to download photos from my camera's SD card and upload it to my Backblaze B2 for sharing: https://github.com/dllu/pupphoto
I also have a personal "new tab homepage" with links to my favourite websites, forms for my favourite engines/search etc, the current weather where I live (with temperature in Kelvin), and the current date/time.
I happen to write in an obsidian-friendly markdown syntax but it's not enforced. Day and year headers are added automatically and each entry is timestamped.
- https://github.com/rochus-keller/CrossLine
- https://github.com/rochus-keller/FlowLine2
- https://github.com/rochus-keller/WorkTree
- https://github.com/DoorScope
The first one I'm still using every day and there are several hundered downloads each month.
When I created Bartib I tried too keep it as simple as possible which meant for me a CLI tool. Choosing a plain text file with a really simple structure meant I didn't need to implement all features right away but could always fall back to edit the file in vim.
https://github.com/LeeU1911/try-pomodoro/tree/master
Unfortunately it no longer runs on herokuapp a while ago but still could be use locally very quickly if one has `node` and `grunt` installed
It is called Black Screen for Windows. With it, you can make your screen black by pressing a key combination.
I set it up to make my screen black for 5 – 7 minutes after every 30 minutes of work. It forces me to take periodic breaks, not to sit at the computer for too long.
It is a cool tool to refresh attention too.
Feel free to check it at https://blackscreen1.com/
- https://github.com/telotortium/anki-note-saver - Chrome extension to save articles to Anki
- [telotortium/anki-math-ocr: OCR Anki images using Google Gemini Pro](https://github.com/telotortium/anki-math-ocr)
- [telotortium/anki-year-delay: Reschedules Anki notes with a certain tag into the future.] (https://github.com/telotortium/anki-year-delay)
- [telotortium/anki-articles-to-org: Export Article notes in Anki as individual Org-mode files to a directory](https://github.com/telotortium/anki-articles-to-org)
- [telotortium/pockexport-to-anki: Create Anki cards from your Pocket saves](https://github.com/telotortium/pockexport-to-anki)
- Terminal UI for GTD-like task management, backed by a Logseq database [2]
- Simple CLI for querying Kagi (Google Search alternative) [3]
[1] https://git.sr.ht/~bsprague/gpt4-tui
I love OmniFocus, it's good software, but my current job is really paranoid about third-party apps that phone home in any capacity. While I'm aware that you can point OmniFocus to a custom WebDAV server, there's always a risk that I forget to do that, end up sending something mildly proprietary to a third party and then getting in trouble. If I code it up myself, I do not have to worry about that; it will only send data to places where I tell it to.
OmniFocus also has the disadvantage of being Mac+iOS only. I currently only have an iPhone and a Mac so that works well enough, but when I had an Android phone for about five months last year I really ended up missing it.
Obviously there are millions of TODO apps out there, but I really like OmniFocus' project layout and reminders and the like, and it actually fits the ClojureScript + Re-frame model reasonably well.
Right now I'm just doing some Electron stuff, but I will probably start working on a port to React Native when I do the phone port, if I can get that working with ClojureScript.
I have added an undocumented option (--ical URL) to my script `mai3bar` that by default displays CPU, RAM and HDD usage alongside a wall time clock. When the `--ical` parameter is added, it detects whether there is an appointment within the same working day and counts down the minutes to it. Once the event is 15min away, it turns yellow and then red at 5min to go. This way, I can attend the events without having any distracting prior ”notifications”. Just occasionally glance the colors in the status bar... <https://masysma.net/32/i3bar.xhtml>.
Another productivity measure was to write down many of the “vector workflow” commands that I use to pre and postprocess various graphics, including making aliases for hard-to-remember syntax of commands (rsvg-convert ... -> svg2pdf here: <https://github.com/m7a/lp-conf-cli/blob/master/svg2pdf>). The vector graphics stuff is collected in a long, searchable document here: <https://masysma.net/37/vector_workflow.xhtml>.
My start page “Information and Links” helps me to quickly access the accurate and applicable documentation for some programming environments that I work with and allows keeping a list of links in the same UI <https://masysma.net/32/ial.xhtml>. Complete with VI-inspired key bindings :)
https://codeberg.org/mister_monster/tab-manager/
I also wrote a little script for converting Firefox open tab export text files into HTML compatible with this tool, I haven't published it yet, I want to implement doing that with chromium based browsers as well before I do, but it will basically enable you to import your open chromium and Firefox tabs as sessions in tab-manager in qutebrowser, and it's not limited to that, since it's just HTML you can open it in any browser you like. If you care about that just check my codeberg in the future some time and see if it is there.
I used this to write papers by putting in how many words I needed to write and how many words I had written into a web app that I made for pacing. I made a widget for my watch that shows me if I am on pace with how many steps I want to take every day. And the big one, using it to pace out when I spend time on distracting apps on my phone. If the amount of time I have spent on distracting apps is behind the pace, then I can use the app otherwise it kicks me out.
I'm sure they are more applications I haven't thought of. I haven't made the code public yet, but I could if people are interested.
I read a lot of books on my Kobo e-reader and I wanted a way to retrieve the highlights of each book (a highlight is the result of gesturing over a piece of text, locally saving it on the device). But a given sentence could flow over to the next page, or a highlight could have been poorly taken (due to the previous reason, or sausage fingers, etc.) — and so I needed to retrieve context for each highlight as well.
Since I use TiddlyWiki for my personal "second-brain", I created a simple tool (using Textualize, a terminal user interface framework for Python) that retrieves highlights, provides context and allows for live-manipulation of context to achieve the correct highlight to save; it then makes a tiddler out of it. It's neat!
Here's the github if you want to have a look. It's not really anything professional, but it has been doing the job for me.
I uploaded the docs to share the details with friends and it can be downloaded [1], but at this time it's not productized in any way. The public-facing docs are incomplete (there are more that I have private), it doesn't commit to backwards compatibility, it needs to be faster to compile scripts and I'd need to improve the IntelliJ plugin etc.
Every so often I think about open sourcing it so I can use it in more contexts than just private use, but running open source projects can be a lot of work, it depends on some libraries that would have to go first, and I have customers to attend to so I just end up not getting around to it.
I also built an android launcher (https://github.com/nkitsaini/nkit-launcher/) that has a single page grid of big icons as home page. I keep all non time consuming things on home-page and everything else I need to search for. I never see original icons of the app in my launcher.
The one that had the most impact on my physical life: many years ago when I had RSI, even clicking the mouse button was a pain. I wrote a utility that looked at mouse movements, and when the mouse stopped and remained still for a second or two, automatically "clicked the mouse button". So I only had to move the mouse and wait a little, and clicking became automatic. It was pretty straightforward to implement on X11, my environment at the time. Later I wanted to have the functionality on Windows but never found anyone who knew programming that platform that well (I don't even know whether it's possible).
https://github.com/JoshuaEstes/CheatSheets was used to help me learn different shortcut keys for different programs and apps (tmux, vim, mutt, git, etc.). It's just a collection of what I found useful or found myself always looking up the same stuff. Now it's mostly used as a reference from time to time.
It's still early, and since I'm still learning Python and Gen AI/LLM in general, it's a bit difficult. But I've got too fascinated to learn experimenting on building my own AI Agent or just Chatbot, that could helps me, first to learn, secondly to help me with learning about new models capability and LLM landscape.
And I also open source it, fully on GitHub.
My mantra is learn by doing, and by doing, I also want to share with everyone in the open source community since most stacks and resources I use to built it is from GitHub.
I still edit it a little but it saves time and means I never forget about stuff unless ofc it's not tracked by git.
For example, convert Word to Markdown… https://www.takeymakey.com/convert/files/word-to-markdown/
Or this quick anagram checker… https://www.takeymakey.com/calculate/text/anagram-checker/
--- https://RTCode.io is my real-time web playground with 2-way IO sync.
(Check out the multi-device remote sync video on the home page!)
I created this playground while working on https://try.WebPDF.pro PDF web components. It allowed me to view and edit the light DOM state of my components without reloading the page and losing the DOM state.
---
https://RTEdge.net is the edge network where the playground deploys code.
You can code an in-editor service worker on RTCode.io (which works inside the editor and keeps its internal state until you edit it again) that deploy to the edge with a single click. Edge workers are paired with enterprise-grade storage options KV, R2, ...
See https://new.rt.ht → Backend for more details.
Deployments can be edited by appending '?' at the end of the pathname: <https://new.rt.ht/?>
Code Versions is a new feature I am working on that gives users full history, diffs, rollback, and a whole lot more!
---
Both the web playground and the edge network will launch publicly in 2024 (around Christmas?), after being in closed alpha for over a year.
(I say closed but anyone can Sign in with a provider and start deploying code today. Editing does not even require sign in.)
They have already proven to be incredibly useful for several teams who appreciate the power and simplicity of web standards.
Upon launch, these platforms will position themselves between CodePen and Vercel, offering superior features while maintaining laser-sharp focus on speed, efficiency, and the discipline to say no to bloat, hype, and complexity.
My latest one is a minor mode called markdown-notebook [1]. It lets you add and execute python codeblocks into markdown files. The results of the codeblock are inserted just below the codeblock. It's a reasonable way to add code examples to your readme or github wiki without having to copy and paste things from the terminal.
Still need to do some work to get it to paste images (say from matplotlib) into the markdown document.
[1] https://gist.github.com/abdullahkhalids/83055b1abbd2cdf2416a...
2) llm use utility, so I can have llm conversations by editing documents (need to update this for llama3-70b btw, it works pretty well, and it's very reproducible. Or rather I made it reproducible)
3) my website, to help my kids through their classes. Half the pages/exercises were made by the LLM utility from point 2.
4) something to check the school website and get grades and ... of my kids, to help them pass the year (they've had to change languages multiple times in the past 2 years)
5) an attempt at automating something I like to do for my kids: create stamps with 3d printing
Somewhat earlier, expiring tabs for Chrome https://github.com/rberenguel/bestBefore
Most of my projects are in one way or another scratching my own itches.
The next feature is to start pulling down jobs from LinkedIn and other job boards and apply very specific filters based on my wants, experience, etc. The filters on most websites never seem to be good enough for my needs.
- type (string)
- value (string, mostly float numbers)
and 3 datetime cols: - start
- end
- created
https://github.com/atlaslib/atlastweet: https://twitter.com/__tosh/status/1783904471212335366
The coolest feature is probably the dynamic SVG in the favicon that shows the daily progress.
I wrote it to motivate myself, but in reality it was actually a fairly significant demotivator unless I actually met the target consistently - then it suddenly became very motivating to keep the streak going.
- Battle Objectives (demo in the README) a web app to automate generating battle objectives in the tabletop game Gloomhaven. https://github.com/tristanpendergrass/battle-objectives
- A script that syncs my work calendar to my private calendar.
- A GUI app to manage my Jira worklogs in a calendar view, after my company decided to ditch the Jira plugin providing that functionality as it was expensive and unstable. https://github.com/marczellm/NWork
1) An auto-start manager for i3/Sway. A script around a structured config... with things I want to run on-login, under certain circumstances.
When a work day, when the weekend, etc. Conditional automatic setup of my apps, windows, and their arrangement
2) A note taker/organizer, run by the first thing. Basically a wrapper around 'vim' with a calendar week per file/tab. I open this week and the previous week by default
An advanced TODO list app with calendar and development-oriented features: https://github.com/DexterLagan/todo-master
A MySQL database manager: https://github.com/DexterLagan/database-master
A CSV->SQL tool: https://github.com/DexterLagan/csv-to-sql
A one-click invoicing tool: https://github.com/DexterLagan/invoicer
A photo folder organization tool: https://github.com/DexterLagan/picture-mover
A photo dupe killer (fixes botched Adobe imports from SD cards and cameras): https://github.com/DexterLagan/delete-duplicate-pics
A Hosts file installer for winhelp2002: https://github.com/DexterLagan/hosts-installer
A tax filing helper: https://github.com/DexterLagan/tax-helper
A CSV file analyzer for programmers: https://github.com/DexterLagan/csv-analyzer
A tiny Web browser meant to automatically search for text on the clipboard: https://github.com/DexterLagan/auto-search
A clipboard dashboard-type app: https://github.com/DexterLagan/paster
A Gnome .desktop file generator: https://github.com/DexterLagan/launcher-maker
https://garden.simonsarris.com/
A few people have asked me to make it generalized so they can use it too, but that might take some time. Maybe in the winter.
I'm often glad I wrote it to print out the command it's going to run before running it, because none of my coworkers want to use my helper script, but they've many times asked me to for some obscure command that I encapsulated in it and don't actually remember myself.
Edit: I forgot I also wrote a JS utility called SJS that encodes a JS object to a base-64 encoded and encrypted string and then decodes it back to a JS object, using my own cipher (it’s similar to symmetrical encryption). I use it professionally and on personal projects.
I created my own static site generator. It allows me to work faster, fully offline, with version control and on slow hardware (at the time, a 12" Macbook). It made my work much easier than when I did updated content through a CMS.
Aside from that, a lot of small optimisations. Sublime Text build systems, shortcuts to switch between projects, SSH aliases, clever dotfile functions, deploy-on-push, and so on.
An example is my Rift Valley Timer[0] app. I use it all the time, but it isn't very popular with others.
I just believe that everything I do, I apply myself as if it was a shipping product.
This lets me use this for tracking efficiency, not just structuring the day. I also find it excessively rigid to force myself to stop a work segment on precisely 25 min tick.
1 and 2 are publicly available. Apart from tweeting once about the second app, I didn't post links anywhere so it almost satisfies the "just for yourself" criteria.
Now arguably filtering Twitter isn't the apex of productivity software, but if I can get my news and out without wasting eyeball juice on trolling, that's a win :)
This solution lets me just quickly read them in to the default voice recording app on the iPhone.
You can select a text on any app and activate a tooltip to do things like jumping to a URL using that string, converting epoch millis to date. I used it possibly hundreds of times a week when I worked at Stripe, mostly for object lookup.
Here: https://apps.apple.com/us/app/universal-tip/id1495732622
The difference between this tooltip and other tooltips like PopClip is that the tooltip runs in App Sandbox, doesn't request any permission, and doesn't see anything except the selected string that you use for activating tooltip. It's extremely privacy-focused.
Then, I also built a mouse utility, so I can activate the tooltip using a mouse button: https://apps.apple.com/us/app/noo-mouse/id1514904040
I moved from iTerm2 -> Wezterm and missed itermocil. So, I wrote a replacement specifically for Wezterm called weztermocil.
printodos.com
it’s open source
Just need to find the time to finish it and release open source.
Keeps sticky note off desktop for quick notes and easy reminders. Win/win.
The most recent "from scratch" app is used to track my projects. I never felt the existing solutions did a good job. Writing my own let me customize it just for my needs (also no public repo, and really not likely to be interesting to anyone else).
I know HN sometimes dislikes relenteless self-promotion which this comment will be so I wanted to give a shoutout to two productivity apps I have no affiliation with - Inbox When Ready which lets you search Gmail without being distracted by new emails, and Unhook which lets you search Youtube without seeing recommendations, both of which I find useful for avoiding distractions.
So I made an ultimate habit tracker personalized for my desires. But I feature creeped it to death with features I want and nobody else wants. So one of the "habits" I optimize for is getting enough focused work done on any given day, which I use a time tracker for. And I like to take notes on my work as I do it so I can focus. This is called "interstitial journaling". So I refactored just the time tracking and journaling app into a new app called Interstitch
This app _completely_ flopped on Product Hunt and Reddit as well, despite being free, for a few reasons but one is that people think "interstitial journaling" is more about journaling when its' really more time tracking.
However, it was a double-edged sword because the Reddit post I got 2 upvotes on is now the #2 Google Search result for "interstitial journaling app" which gets me about 5 new users every week. (useful lesson to be learned that sometimes the best SEO is not on your own website).
Most time tracking apps really focus on the invoicing or employee time market, understandably since it's more B2B, but I prefer my app because it's more focused on personal productivity. If you want to lose weight, track what you eat, if you want to focus more on work, track how much time you spend focusing, it keeps you honest and unveils trends. I'm also a big believer it's a helpful tool for ADHD people because "time boxing" / "calendar blocking" is very prescriptive, whereas journaling what you actually did lets you be more flexible with your specific task but still keeps you honest about your overall productivity.
Specifically, my gripe with habit trackers was:
1) They are usually optimized for tracking just a few things. But I have a _lot_ of habits I want to track - health habits, work habits, hell, giving my dog a monthly bath habit. It's not even about perfectly doing everything, it's about gathering the data so that you can view insights and understand yourself. This is also called "life logging" or "the quantified life".
2) They were too prescriptive instead of descriptive. So in my habit tracker, you can just set a goal to say "exercise every day", then if I track that I specifically lifted weights, it "bubbles up" to say that I exercised, since weight lifting is a child of exercise in a big DAG. In this big DAG, I have a bunch of "views" of different sub-trees, so my dog has his own sub-tree that reminds me to get him baths and bring him to the vet, but that's not in my daily core view.
3) I want something with both a good web and mobile experience, though there's a few other apps that do this such as Everyday, none of them also do 1) and 2). My real dream is also super slick Apple Watch integration which I started but it was too much work to build SwiftUI for mobile and Typescript for web and integrate them nicely.
So the app is called Navigoals ( https://navigoals.com ) . For reasons I still can't explain, YC actually gave me an interview to pitch it but the pitch went about as terribly as it possibly could have. Because of aforementioned feature creep, I closed signups and if I build on anything it would just be Interstitch which is simpler and more polished but Navigoals does have a Youtube demo on its landing page.
I want to say that people love to dunk on programmers building another TODO-list apps or habit tracker. I do think it's going to be a bad business strategy the vast majority of the time unless you have top notch design and marketing skills. But, I think it's a fantastic way to do things like learn a new tech stack or design stack and the end result is a tool that's optimized for your own use case. Productivity tends to be a very personalized thing without good "one size fits all" solutions , even things like Notion which try to be the kitchen sink don't have basic things like real features you need for a great habit tracker, so I highly encourage people to ignore the naysayers and build the best tool for themselves.
I can say personally that Navigoals and Interstitch both forced me to be a lot more honest about some bad habits I had and how I spent my time. For example, I was in huge denial about the impact of marijuana use on my productivity but seeing the days I used it and the clear decline in other health and focus metrics in the week I used it made me realize I had to quit partaking in it if I wanted to achieve my other goals.