94 pointsby hronecviktor12 hours ago25 comments
  • programjames9 hours ago
    Where is the "tab" autocomplete?
  • eqvinox11 hours ago
    This seems to be largely devops stuff, not developer. (Or plain ops.)
    • jascha_eng10 hours ago
      It used to be that DevOps was the movement of merging Ops leftwards so that Devs own the Operation of their software.
      • interf4ce5 hours ago
        THANK you![1]

        Calling anything ops "DevOps" is right up there with calling JSON APIs "REST."

        I know it's silly to let it bother me, but man does it get under my skin.

        1. https://imgur.com/gallery/thank-you-lNUh0uV

        • JohnMakin5 hours ago
          it’s a meaningless term that can define dozens of roles
      • JohnMakin8 hours ago
        and devs almost universally end up not wanting to do that
        • Yiin8 hours ago
          in the age of agents I found myself loving frontend again, loving devops again, loving email servers again, you name it, I suspect in most cases those roles will merge into one (excluding the ones needing extreme competency and trust).
  • raincole10 hours ago
    Only slightly related, but what increased my code typing speed the most is this (AutoHotKey 2):

    ; CapsLock + J/K -> ( )

    CapsLock & j::SendText "("

    CapsLock & k::SendText ")"

    ; CapsLock + U/I -> [ ]

    CapsLock & u::SendText "["

    CapsLock & i::SendText "]"

    ; CapsLock + L/: -> { }

    CapsLock & l::SendText "{"

    ; SC027 = physical ;/: key on a US keyboard

    CapsLock & SC027::SendText "}"

    ; CapsLock + O/P/M/E -> _ + - =

    CapsLock & o::SendText "_"

    CapsLock & p::SendText "+"

    CapsLock & m::SendText "-"

    CapsLock & e::SendText "="

    • SoftTalker9 hours ago
      I've tried this sort of thing but then your muscle memory works against you when you have to use a "normal" keyboard.

      Even remapping Cap Lock to Control, which I do, trips me up for a few minutes when I need to work on any other computer that has not been set up that way.

      • hronecviktor9 hours ago
        Dont even have to remap anything to cause issues. Case in point: we wanted to try mob programming with 2 colleagues.

        I was using a 106 with US layout

        Colleague #1 was using 60% with russian layout

        Colleague #2 was on catalan layout

        90% of the time we were just hunting for special chars

        • 9 hours ago
          undefined
    • godd25 hours ago
      Dude, just use vim.
      • raincole2 hours ago
        I literally use vim. But if I can customize something system-wise instead of app-wise I'd always do that.
  • Bender9 hours ago
    "Movie Hacker" should perhaps include nmap and sshnuke [1] despite being a real command and a real skiddie exploit [2]. When that that first played in the movies (The Matrix) people in the bay area theaters were standing up and cheering. People not familiar with the tools were very confused as to what was going on.

    [1] - https://nmap.org/movies/

    [2] - https://blog.doyensec.com/2025/03/04/exploitable-sshd.html

    • jedberg8 hours ago
      And they even bumped the version number so it would be “in the future”. I remember watching it in the Bay Area and having the same reaction.
    • hronecviktor9 hours ago
      Ahh, core memories
    • snozolli9 hours ago
      Unrelated, but I saw a movie in the early 2000s while visiting San Francisco. One of the trailers was for the Ben Affleck movie Paycheck (2003). When the trailer voice dramatically announced, "Michael Jennings is the best reverse-engineer in the business," the entire audience erupted in laughter. I felt like I had found my people. I moved to SF shortly after.

      https://m.youtube.com/watch?v=rkE5I9nFqrI

  • lucb1e10 hours ago
    There's a highscore system but considering it's a matter of time before that gets cheated, the first run where I didn't struggle with backspacing into a previous command (which is blocked):

    60s | Basics category | 79 wpm | 100% acc | 38 cmds | QWERTY | Logitech K200 (membrane keyboard from like 2007)

    Fun idea, I like the categories and the option to specify keyboard+layout in the highscore, and the page layout/design is very clear. Thanks for making!

    • hronecviktor6 hours ago
      You cant really backspace into a command you already ran IRL, can you? :)

      Thank you

  • absoluteunit15 hours ago
    Nice! This is a fun one!

    Give https://typequicker.com a try as well. For typing code practice, try typequicker.com. Supports most programming languages, and you can create your own custom snippets as well

  • gurjeet5 hours ago
    I believe the real test would be if this accounted for (at least) people's aliases, and perhaps functions. So parse their .bashrc, .zshrc, .profile, etc. and expand the commands using those aliases to see if the eventual command executed matches the one that is expected here.
  • abhaynayar11 hours ago
    Something I realized with the new LLM tools is that learning how to type plain English words fast i.e. without capitalization or punctuation, and even typos is not that big of a problem anymore. And so it follows that code-specific typing is even less important if you can just type in normal words fast and then just check it's output. Although yes for stuff this small i.e. super small terminal commands I feel there does still exist an advantage.

    Also, another observation I've had is sometimes I just don't feel like speaking, so voice as input to LLMs is really not an ALL time replacement in my personal opinion. In fact, I find myself preferring to type fast and with typos in lowercase much more than anything else.

    • jghn9 hours ago
      I'm not sure. And to be honest, typing speed was never that big a deal. By the time I got out of college a few decades ago I was in the 110-120wpm range.

      However as I progressed in my career as a developer what I found is that both my "working" WPM and then my "normal" WPM dropped over time. Once I moved out of truly junior, pure code grinding roles, I spent more and more time thinking, talking to people, etc than I did typing. At that point, what does it matter if I'm at 20wpm or 200?

      Likewise, in day to day life, it's not like I'm sitting there typing a novel. I'm mostly clicking buttons, writing short messages, tweet,s and the like. My day to day typing speed has also decreased. I'm sure it's still up around 80-100wpm, but it's rare that I'm sitting there typing long enough to matter.

      Same with LLM. Who cares if it takes me 10 seconds or 20 seconds to type in a prompt, when it's going to sit there and spin for a minute anyways?

      • rgoulter3 hours ago
        To an extent, but not to that extent.

        There's a significant difference between (say) 20wpm and 100wpm. -- Your comment is 150-200 words; so that's the difference between spending two or three minutes vs ten (just typing it out, not counting the time it takes to think).

        If you limited your typing throughput to 10wpm, how long of a comment are you really going to reply with? Probably not a long one. -- If someone types at 160 wpm, are they going to type a better comment than someone typing at 80 wpm? Maybe? Maybe not? Probably not twice as long / twice as good.

        I still think "typing speed is about latency, not throughput" is the key perspective. (Followed by diminishing returns. I think around 80wpm is fine). -- There are some cases where I'm doing the activity so infrequently that the cost of improving outweighs any benefit I'll see.

        • fragmede3 hours ago
          There is a thing about getting to 120 though. Like, being able to connect at that speed with everything working perfectly in sync.
          • jghn2 hours ago
            As the GP, I've been there. And my point was that it really hasn't been useful in my career. To the extent that my wpm has dropped over time.
      • LtWorf7 hours ago
        I'm pretty sure that also people who write novels aren't held back by how fast they can type.
        • jghn7 hours ago
          Probably not. It was a euphemism.
        • TZubiri7 hours ago
          But it's a pretty good indicator of skill level. High wpm means they write a lot.

          It's also helpful as a burst speed. It doesn't mean you are always cranking at 120wpm, but you can hit 120wpm when the words in your mental buffer is overloaded and you can empty that fast.

          Try writing on pen and paper, you'll find that your mental buffer fills up quickly and you aren't able to hold all of your thoughts, so you have to drop some. It has its use cases, sometimes you have to think more and write less. But in general high entropy write capacity is a valuable spec to have.

    • jwpapi11 hours ago
      I’m seeing a lot of people that having that train of thought. I think that is a fallacy. I can understand that some LLM execution can be faster, but definitely not all. Agents need to explore, grep and get back up to speed to get context, if you have a good mental model, you can do changes or adaptions in <7s with a bunch of shortcuts or commands.

      One could argue to find the <7s commands in your head takes you more mental power than to just wish it in to the LLM and whilst its running you can wish something else in another session, but I’m thinking that the cost of context is more important than the actual execution time for your task. Every extra task gets more expensive. It’s not a ressource where you have a limit, right from the 2nd task the cognitive load increases.

      Therefore I’m thinking one task that can be done in one context window without switching is worth a load in these days of constant distraction.

      • ashu146110 hours ago
        I get your point but I do prefer delegating almost all of the things to the LLM.

        A lot of times human commands are prone to errors / edge cases as well. Example a simple git pull command usually would take < 7 seconds, but then LLM can take care of resolving merge conflicts etc as well.

        A simple git push is usually instant but that comes with an overload of some un intended changes being pushed, which LLMs take care of removing themselves.

        When LLM is doing its thing, we can spend the same time in writing the next prompt.

        • KronisLV8 hours ago
          > A simple git push is usually instant but that comes with an overload of some un intended changes being pushed, which LLMs take care of removing themselves.

          In my experience it can often be the opposite - AI would commit a lot of slop comments and sometimes unnecessary stuff, whereas if you can review things in GitKraken or another program with diffs, things are closer to what you want. Writing commit messages and PR descriptions (maybe change summaries, the intro less so) is easily outsourced to the LLMs though.

  • BrenBarn11 hours ago
    Realistically, to measure a lot of this stuff, you need to model tab completion.
    • jugg1es11 hours ago
      especially for directories
    • umvi9 hours ago
      When I was typing "ssh-copy-id" I typed "ssh-c" and then hit tab... I was disappointed
  • murat1247 hours ago
    "You check out guitar George, he knows all the chords"

    I suppose knowing what commands to type has precedence over just typing fast.

  • stfnon11 hours ago
    Your connection is not private Attackers might be trying to steal your information from haxxorwpm.0s.is (for example, passwords, messages, or credit cards). Learn more about this warning net::ERR_CERT_AUTHORITY_INVALID

    this is what happens when you dont have always on ssh box for your agents

    • hronecviktor11 hours ago
      It's on a VM running behind caddy + bog-standard Let's Encrypt DV cert. It apparently works for nearly everyone, but I did have one user in the past that reported that *.0s.is domain doesnt work in his browser. Could not get enough info about what his setup was, if you could share what OS/Browser + versions you got that would be much appreciated
      • mashlol9 hours ago
        For me, Firefox on desktop (Windows) and mobile (Android) both give the SSL warning. Although mine appears a bit different than the parent comment:

            An error occurred during a connection to haxxorwpm.0s.is. SSL received a record that exceeded the maximum permissible length.
        
            Error code: SSL_ERROR_RX_RECORD_TOO_LONG
        • lucb1e8 hours ago
          No issues here with Firefox on Linux or Android 11 (installed from F-Droid in case that matters). Strange. I wonder if it's a network difference rather than the workstation setup
  • amarant9 hours ago
    I like how our very own Bobby Tables is ranking near the top in several categories!

    Go Bobby!

  • rlv-dan10 hours ago
    The speed that I type is not related to the quality of my code. I think then type.
    • hronecviktor10 hours ago
      I can code real fast. It doesn't compile, but it's fast :)
    • yuuu10 hours ago
      nobody asked
  • wazoox10 hours ago
    There is no autocompletion, that's not realist. I never type "apt-get install nginx" I type "apt-g<tab> ins<tab> ngi<tab>"
    • dijksterhuis9 hours ago
      use plain apt, fewer letters ;)
    • LtWorf7 hours ago
      apt-get is kinda old, "apt" is the new thing. It unifies some commands like apt-get, apt-cache, and probably something else but those are the only 2 I use :D
      • hronecviktor5 hours ago
        apt-get / apt-cache is one of those things that I simply cannot get out of my muscle memory. It's probably an alias under the hood by now, but I hope they never get rid of it.

        Ofc stuff that is actually deprecated is a different story.

        When I see some kind of tutorial or whatever from 2025 by a young dev and he is using ifconfig instead of ip or similar stuff... I am having a hard time holding myself back not telling them ifconfig was deprecated before they were even born :)

        On the other hand sometimes when my brain goes full autopilot it still defaults to writing

        /etc/init.d/someservice restart

        Like sysV wasnt out for a decade by now

  • riddley7 hours ago
    >grep -R "error" logs

    Why is error in quotes?

    • hronecviktor7 hours ago
      These are all courtesy of AI of course.

      Still, I may be a little anal about this but I align with this. I quote everything in bash. In this case I would do single quotes as it's a literal. You never know when someone with lesser bash knowledge will modify your script and put a variable in there. Shell expansions are nothing but footguns everywhere. Proper quoting hygiene and `--` goes a long way

  • faitswulff9 hours ago
    I wish this had some code or pseudo-code tests!
    • hronecviktor8 hours ago
      I added python, bash (script style) and Postgres.

      Also for the masochists among us - obfuscated perl, IOCCC style C and Malbolge ;)

  • Cider99867 hours ago
    Not bad, 135 WPM.
  • arjunvrofficial12 hours ago
    Cool initiative, UI can be improved.
    • hronecviktor12 hours ago
      Thanks, if you have any specific ideas about the UI, I would love to hear them
      • lucb1e11 hours ago
        Switching categories does not restore scroll position to top, so you start to type what shows as being on top and the whole list changes to "you've got the first command wrong and here is a completely new list to type". I didn't understand what had happened at first

        The scroll position of the whole page (including the field where I'm typing) changes when you press enter with the first three commands, until until the current command is centered within the commands list

        WPM is a strange measure when some words are -h and others are "user@example.com" including the quotes. Not like language doesn't have long and short words but especially with needing shift etc., this feels kinda weird and like it would depend a lot on which words you get randomly assigned. You can pick the longer duration to even that out, but you could also just switch to CPM and get more reliable results faster -- or so I'd expect

        The highscores don't show the run's duration, aka the error margin

        Theoretically this would have to use readline or whatever input mode the person is used to. Ctrl+P would put the cursor at the end of the previous command, Ctrl+W then erases the last word (until the previous whitespace), Alt+Backspace is similar but erases until the previous punctuation, etc. Not sure if that's all possible on web. For some reason it also didn't bother me though, although I'm a very heavy user of these and e.g. web KVMs and chat input fields (when writing a command to a nerd friend) keep tripping me up. I guess it just feels like a typing test and not "real". But it makes me wonder what "real" would do for typing speed

        Going back to the previous command (with (ctrl+)backspace I think mainly) is something I kept trying to do though, also tripping up 3 commands in a row (notice typo -> autopilot-mode fixing it: backspace to undo the enter, type correct character, enter again -> now you have 2 lines wrong). Maybe backspace (or also arrow keys?) being able to go back to a previous command could be a setting so people are free to choose whatever is faster for them

        The input field defocuses at the end, so then the default browser commands start triggering as I'm typing the remainder of the command (mostly that's just searching on the page and the scroll jumps to some random spot, but can also be leaving the page with backspace). Maybe the fix can be as simple as restoring the box' previous value onkeyup and coloring it as though it's disabled

        Highscores are probably more fun if you see (or can toggle between) the latest submissions as well as the top month/year/all-time. More of a long-term thing, for now I lead one of the categories so I know the submission worked and that I'm amazing *pats self on back* (there is only one other person in that category for now :P)

        I wonder how long it takes for everyone to get kicked out by a cheater though. Maybe there should be a cheater category that shows up once you hit >1.5×max(leaderboards), because people will want to try autotyping but you also don't want to give them ideas. Then they have some place to submit to without breaking the other highscores. I know that a lot of cheaters won't care but... I would :shrug:

        Choosing e.g. Debian does not include Basic commands that I can tell, whereas of course on Debian it's not like you never mv a file. Maybe multi-selecting categories would enable people to combine it however they want, but then the highscore system is difficult so hm.

        To reproduce... actually, I wonder if you can guess my browser and OS family based on the above :D

        None of these are a blocker or big bother for me btw, it's just that I saw the invite to report UI issues/ideas and I can't help myself. I had fun using it, thanks for making!

        • jdiff8 hours ago
          > The highscores don't show the run's duration, aka the error margin

          Different durations have different high score lists.

  • sudo_cowsay9 hours ago
    Bitdefender: "Phishing page blocked for your protection"
  • TZubiri7 hours ago
    Similar to: wpm.silver.dev
    • jdiff5 hours ago
      Similar, but with better typography and responsiveness. I like actual code being present here but the majority of the challenge is just reading anything, especially when zooming does absolutely nothing.
  • dmos629 hours ago
    Expected this to be speed typing of AI prompts.
  • malux858 hours ago
    Typing speed only really matters for juniors and going into intermediate developers, after that point thinking methodology - abstraction design, data structures, system design, complexity isolation, matter way, WAY more.

    50% because by the time you get to this your typing speed has crossed a threshold of no longer being the bottleneck and 50% because you are experienced enough not to make all the silly little mistakes and your unit of work is larger and more complex

  • samso2611 hours ago
    This is fun lol. typing tests but for terminal commands instead of regular words is such a niche idea but it actually makes sense. every dev has typed git pull origin main so many times their fingers do it on autopilot, so measuring that muscle memory is a cool way to track terminal fluency.

    The leaderboard angle is smart too,people love competing on pointless metrics and wpm is the perfect one for that.would love to see a mode for specific tools tho, like a docker-only round or a vim escape sequence speedrun. The git rebase one would genuinely stress test people lol.

    • ashu146110 hours ago
      Is WPM really pointless ?
  • arikrahman10 hours ago
    [flagged]
  • efitz10 hours ago
    My typing speed is measured in tokens per second…