5 ms·
Typing Speed Test, but for Developers
- arjunvrofficial 3mo agoCool initiative, UI can be improved.
- hronecviktor 3mo agoThanks, if you have any specific ideas about the UI, I would love to hear them
- lucb1e 3mo agoSwitching 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!
- jdiff 3mo ago> The highscores don't show the run's duration, aka the error margin Different durations have different high score lists.
- stfnon 3mo agoYour 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
- hronecviktor 3mo agoIt'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
- mashlol 3mo agoFor 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
- lucb1e 3mo agoNo 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
- hronecviktor 3mo ago[dead]
- BrenBarn 3mo agoRealistically, to measure a lot of this stuff, you need to model tab completion.
- eqvinox 3mo agoThis seems to be largely devops stuff, not developer. (Or plain ops.)
- jascha_eng 3mo agoIt used to be that DevOps was the movement of merging Ops leftwards so that Devs own the Operation of their software.
- JohnMakin 3mo agoand devs almost universally end up not wanting to do that
- Yiin 3mo agoin 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).
- interf4ce 3mo agoTHANK 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 https://imgur.com/gallery/thank-you-lNUh0uV
- JohnMakin 3mo agoit’s a meaningless term that can define dozens of roles
- saurik 2mo agoBut the whole point was that it wasn't a separate role: it was a re-distribution of work so the developers were doing operations. Instead, a lot of people entirely missed the point and just renamed their ops people to devops.
- abhaynayar 3mo agoSomething 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.
- jwpapi 3mo agoI’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.
- ashu1461 3mo agoI 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.
- samso26 3mo agoThis 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.
- ashu1461 3mo agoIs WPM really pointless ?
- lucb1e 3mo agoThere'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!
- hronecviktor 3mo agoYou cant really backspace into a command you already ran IRL, can you? :) Thank you
- arikrahman 3mo ago[flagged]
- raincole 3mo agoOnly 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 "="
- SoftTalker 3mo agoI'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.
- hronecviktor 3mo agoDont 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
- deleted 3mo ago[deleted]
- godd2 3mo agoDude, just use vim.
- rlv-dan 3mo agoThe speed that I type is not related to the quality of my code. I think then type.
- hronecviktor 3mo agoI can code real fast. It doesn't compile, but it's fast :)
- yuuu 3mo agonobody asked
- iLemming 2mo agoI'm honestly not even surprised by the number of comments saying how unimportant is the typing speed for a software developer. What a bunch of bullshit. What the heck you've been smoking, friends? Speed of reading and typing text it is absolutely the hallmark of a good programmer. Consuming and producing text is not only about code - code is nothing but structured text. Software development is not purely technological discipline, we deal with socio-technological problems all the time. That means we need to consume and produce far more plain text rather than just code. I mean sure, there are many facets to this and simply benchmarking and fretting about one's WPM won't magically make anyone a better programmer. But thinking it isn't important at all ain't right either.
- wazoox 3mo agoThere is no autocompletion, that's not realist. I never type "apt-get install nginx" I type "apt-g<tab> ins<tab> ngi<tab>"
- dijksterhuis 3mo agouse plain apt, fewer letters ;)
- LtWorf 3mo agoapt-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
- hronecviktor 3mo agoapt-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
- wazoox 2mo agoifconfig is still the standard on *BSD, MacOS and other Unixen. Plus its output is more readable on Linux than ip IMO, because it adds a blank line between interfaces.
- LtWorf 2mo agoI don't understand why downvote something 100% factual and correct. Please explain!
- efitz 3mo agoMy typing speed is measured in tokens per second…
- dmos62 3mo agoExpected this to be speed typing of AI prompts.
- amarant 3mo agoI like how our very own Bobby Tables is ranking near the top in several categories! Go Bobby!
- faitswulff 3mo agoI wish this had some code or pseudo-code tests!
- hronecviktor 3mo agoI added python, bash (script style) and Postgres. Also for the masochists among us - obfuscated perl, IOCCC style C and Malbolge ;)
- sudo_cowsay 3mo agoBitdefender: "Phishing page blocked for your protection"
- Bender 3mo 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/ https://nmap.org/movies/ [2] - https://blog.doyensec.com/2025/03/04/exploitable-sshd.html https://blog.doyensec.com/2025/03/04/exploitable-sshd.html
- hronecviktor 3mo agoAhh, core memories
- snozolli 3mo agoUnrelated, 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 https://m.youtube.com/watch?v=rkE5I9nFqrI
- jedberg 3mo agoAnd 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.
- programjames 3mo agoWhere is the "tab" autocomplete?
- BadBadJellyBean 3mo agoThis! Who types full commands?
- teravor 3mo agoor ctrl+r to bring up fzf history
- malux85 3mo agoTyping 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
- iLemming 2mo agoYou mean to say programmers deal only with machines (and therefore code and shell commands) or something? Of course typing speed matters - we deal with Slack, Teams, emails, documentation, comments, LLM prompts, etc., daily. Sure no one's saying you must achieve stenographer's velocity or you can't call yourself a programmer. Still, typing speed has certain importance, it just can't be painfully slow, that's all. But thinking it doesn't matter at all is a manner of hubris.
- riddley 3mo ago>grep -R "error" logs Why is error in quotes?
- hronecviktor 3mo agoThese 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
- lucb1e 2mo agoI found it reasonable because there's no need in this specific case but you do often use quotes and this could be a good middle ground of annoyance (line complexity) and getting the character distribution somewhat right ...but then you read the author's response about not having actually made this themselves and your head canon implodes
- Cider9986 3mo agoNot bad, 135 WPM.
- TZubiri 3mo agoSimilar to: wpm.silver.dev
- jdiff 3mo agoSimilar, 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.
- murat124 3mo ago"You check out guitar George, he knows all the chords" I suppose knowing what commands to type has precedence over just typing fast.
- hronecviktor 3mo agoThis is not specific to programming. https://youtu.be/Hy8kmNEo1i8?si=ttPK3z2mp0-5KyW7 https://youtu.be/Hy8kmNEo1i8?si=ttPK3z2mp0-5KyW7
- gurjeet 3mo agoI 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.
- absoluteunit1 3mo agoNice! This is a fun one! Give https://typequicker.com 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
- evanjrowley 2mo agoIs the site offline? Sadly it can't reach it.