Feel free to use these, they’re all free! You can credit me if you want, or don’t. I just want to see them implemented. If you do happen to do them or they already exist, let me know.
Easy “Job’s complete” API that integrates easily and freely with a mobile app. Example: I am running a long python script, maybe an ML program that’ll take order of an hour and I’m blocked on it’s progress. I want to go to lunch and be back shortly after it finishes, but I’m unsure if it’ll be 30 minutes or 2 hours. I should be able to just add
import notify
...
notify.register()
...
notify.alert()
and then maybe I get a QR code on matplotlib that I can scan with my phone and a self-hosted server will ping my phone when the code trigers the notify.alert()
line. Even better would be if I could write arbitrary notifications like notify.alert("50% done")
.
A better task manager. Research is hard, and it’s often not easy to see all the subtasks of a project and difficult to estimate task duration when it’s the VERY first time you’ve done something. Often, in hindsight, you should have broken one to-do list item into 2-10 subtasks for better organization, but you don’t know that until later on. What I’ve been doing lately is “checking out” tasks that I need to do and logging when I complete subtasks, so post-facto I have a nice to-do list of progress. This might seem useless but since I have to take breaks for sleeping and eating, it’s nice to know what progress I’ve made so far on the project. A to-do manager should therefore have the following abilities:
1. subtasks
2. binary insertion sort new tasks as priorities
3. categories or projects like folders to keep certain task sets separate
4. check out existing tasks and record how much total time you've worked on them
5. keep notes for tasks as you are working on them
6. task dependency (e.g. need to complete tasks B && C before A can be completed)
I imagine the workflow would be something like: get out of a meeting and learn I have a few more todos, add them and use a binary insertion sort for priorities like the Beli app (e.g. is new task more important than XXX?) Then I would check out the most important task that has no blockers from the current working project and take notes as I work on it. If I realize subtasks should have been added, I can easily make (and maybe instantly check off) subtasks from the currently checked out task. Finally I can check it back in as either complete or stopping for now, probably keeping a pomodoro-like timer for each task to maintain focus.
A better forum/chat messenger: Reading a forum thread in current year is miserable. Reddit at least has a better tree-like feature that lets you see single parent replies and 4chan has references with the >### command, but you have to scroll or click-to expand each comment. I think, ideally, forums should be structured like a directed, acyclic graph. They’re directed because each comment should be referencing at least one other comment (topic, OP, or reply) and it’s acyclic because each new message appears chronologically, giving a timestamp ordering to new posts. This would be super nice to view as a tree like structure in a 2D manner, where you can scroll and focus on comments and replies. Also, reacting with emoji is a huge improvement of modern messengers instead of having to waste an entire reply on “+1!” that I have to scroll past.
- For a wishlist item, having it be R9K enabled would also be nice,
to further prevent wasted messages like "+1!".
SMT solved calendars: There is no reason why it should still be difficult to set up a meeting with people. Modern calendars like Google or Outlook make scheduling a bit better by showing you other people’s availabilities but it’s inherently flawed because it’s only a snapshot of their availability at the time of scheduling. This gives credit to the wisdom of “schedule something important early on” because there’s a huge first-come first-serve bias to calendars. For example, say 4 people are trying to meet for 1 hour this week and all have 1 hour free, but they all have calendars full of entries of solo work or meeting 1 on 1 with each other, then there still is a time all 4 can pick to meet together but with regular calendars this probably won’t occur. This is a perfect kind of problem for an SMT solver to fix.
1. You give the SMT solver a list of meetings people need to be at and a
time frame in which they need to occur (e.g. Alice needs to meet with Bob
for 1 hour this week)
2. plus people's default availability (Alice works from 8-4, Bob 9-5)
3. the SMT solver either tells you an example that satisfies the current
constraints (possibly moving around existing meetings!) or tells you that
you cannot meet with the current constraints provably.
People would need to get used to reguarly checking their calendar since it would shift significantly more frequently but it would be so much easier to set up meetings with others.