• 2 Posts
  • 7 Comments
Joined 2 years ago
cake
Cake day: July 8th, 2023

help-circle


  • I’d be happy to test on android, I’ll send a DM

    If you make it manage ssh keys on desktop (create new ssh key, give them nicknames, set default key, etc) I would be thrilled. I’ve attempted to make my own, with Tauri specifically, but I just have too many projects.

    I have also come up with a way to compile the keepass crate to WebAssembly

    This is exciting. My only request here is: whenever it works please release a standalone wasm file somewhere (anywhere). So many projects either require building the wasm themselves, or instead of releasing a .wasm, they release a JS wrapper that auto-loads the wasm/wasm-imports. Its a pain to try to extract the wasm out of those projects.





  • Input speed is not “just” input speed.

    Note: I’m not about to argue for or against modal editors, I just want to answer: why is input speed really really really important, when (we agree) its not a big percent of total time.

    5min at 80mph over a bumpy dirt path is very very different than 5min of flat smooth straight driving. And not just because of effort.

    A senior and junior dev could spend the same amount of time to rename a var across 15 files, move a function to a new file, comment out two blocks, comment one back in, etc. But. When I try to have a conversation while they do that, or when I change my mind and tell the junior to undo all that, its a massive emotional drain on the junior.

    But effort isn’t the whole picture either: speed is a big deal because pausing a conversation/mental thought for 5 seconds while you wait to finish some typing, is incredibly disruptive/jarring to the thought-process itself. That’s how edge cases get forgotten, and business logic gets missed.

    Slower input is not merely input time loss, it also creates time loss in the debugging/conceptualizing stages, and increases overall energy consumption.

    If the input is already fast enough that there’s no “pauses in the conversation” then I’d agree, there’s not much benefit in increasing input speed further. BUT there’s almost always some task, like converting all local vars (but not imported methods) in a project to camel case, that are big enough to choke the conversation, even for a senior dev. So there’s not necessarily a “good enough” point because it’s more like decreasing how often the conversation gets interrupted.


  • Its a tough problem. You have to find something that you want to exist; like an app or a website or a game. For example, try making a GUI for managing SSH keys. You know, like the ones github makes you create in order to clone and push to a repo. Make a visual representation of those keys (stored in the .ssh folder), and tools to add/delete them.

    Along the way you’ll find tons of missing things, tools that should exist but don’t. Those are the “real” projects that will really expand your capabilities as a developer.

    For example, I was coding in python and wanted to make a function that caches the output because the code was inherently slow.

    • but to cache an output we need to know the inputs are the same
    • hashes are good for this but lists can’t be hashed with the built-in python hash function
    • we can make our own hash, but hashing a list that contains itself is hard
    • there is a solution for lists, but then hashing a set that contains itself is a serious problem (MUCH harder than hashing a list)
    • turns out hashing a set is the same problem as the graph-coloring problem (graph isomorphism)
    • suddenly I have a really deep understanding of recursive data structures all because I wanted to a function that caches its output.

    • I made this countdown website You know that meme of “The event starts at 2pm, and its 10:30am–which is practially 11am–which is practically noon, and its an hour drive so i basically need to leave now!” Well this website solves that problem for me. On desktop it turns the top of the browser tab into a countdown (it can work on mobile too but its rough atm since I only made it for me). Type “Mon,Wed,Fri 10:00am Class” into the text box and it’ll count down the seconds. Type “8:00am thing” and it’ll assume it happens everyday. Type 12/25/2020 8:00am and it’ll know its a one time event. The text will stick around even if you refresh the page, so you can bookmark it and enter everything once. One card can have multiple times, just make a new line and put another time on it. I usually have something like 8:40am leave, 9:00am class starts, 10:00am end of class all in one card. Then I have a separate card for the next event.

    • Using a sunlight alarm clock and a space heater to kickstart (and HEAVILY enforce) a morning routine

      • (Use a timer socket with the space heater to have it auto turn on)

      • It is incredible how effective this the combination is. You can go to bed at 1am and get up at 5a and still wake up in a decent mood, never pressing snoose, never dealing with a noise-maker. When it’s hot and bright, your whole body just tries to be awake instead of trying to keep you asleep.

      • Do the exact opposite at night to break hyperfocus (use the thermostat clock to make it cold and have lights auto-turn off using timer sockets) it’s difficult to keep working when it’s really cold.

      • If you really need to be awake, add a gradually-increasing-volume music alarm

    • For subscriptions, use Privacy.com to create virtual credit cards. I have 1 card for each subscription. If I’m doing a free trial, I limit the card to $1 so if I forget it’s not a big deal. When I want to stop a normal subscription, I don’t even bother with the website. I just one-click cancel the card.

    • An Alarm hack; to set an alarm that goes off in 5 days (without downloading a better app) use the weekly-repeat feature and just select the only one day of the week. Then cancel the repeat when it goes off (or be like me and sooze it for 3 weeks then delete it). Everything on my calendar becomes an alarm once it gets close enough.

    • Have a “gradient” of food. E.g. some food you really like, some that’s okay, and some that you won’t eat unless you have to. During finals/crunch-time when you forget to go to the grocery store, there will still be food available when you really need it.

    • I’ve used many different task systems. I agree you’ve gotta have one, but its gotta work for you. My tip is; be ready to evolve it, and dont be afraid to be simple. I had a conplex auto sorting spreadsheet that was perfect for 3 years, but, at a separate time, I had a little black notebook that was awesome. One day the spreadsheet just stopped being useful, same with the notebook. Life changes, and it doesnt mean your system is a failure, or that you are “falling off”. If anything it can mean you’re growing. So always be looking at other people’s systems to see if you can imagine adapting it to your own life. Also, be wary of the glamorous well-marketed overly-high-tech solution.

    Finally, there’s a general thing I call “their L, your W”

    • There are weird things, like keeping your shoes on, that can keep you in a working mood (different for each person). The tip is, even if others say “tracking mud all over the house is unnecessary and a definite L”, don’t merely ignore them; make it clear you’re intentionally taking their L–you’ll will deal with the dirty floor later. Then enjoy/relish your win of staying in a working mood. DONT think “well taking my shoes off shouldn’t™ matter”. If it matters to your brain, it matters for you. If people complain “that doesn’t make any sense”, well the placebo effect doesn’t make sense either, but its real. We’re not being petty or lazy, we are being pratical.
    • A funny one of these that works for me is having 1 plate, 1 bowl, 1 fork, 1 knife, and 1 spoon in the kitchen (extras are in the attic and intentionally hard to get). My sink is never full of dirty dishes, and I never put off cleaning them.
    • A really extreme example is; I got rid of my car. Best decision of my life. I never “try” to work out, I don’t need to; I bike everywhere. I get benefits of working out for free (no mental cost). I get so much more done after being active, and when I’m late I can actually just try harder and get there on time. Takes a lot of planning, picking living location, etc to be able to, but it’s worth it.