Hi engineers of HN, I’m interested in building software to help boost your productivity, particularly when using your computer.<p>Therefore, I was wanting to ask the two following questions.<p>If I get enough answers back, I’d like to write this up into an article, which I will post back to HN once done. You are welcome to answer the questions in the comments below, or using the Google Form I’ve set up here, whichever you’d prefer: https://forms.gle/BQTbdYbjcNhzUVuD9<p>Question 1: It is my assumption that there are lots of repetitive keyboard actions you have to do in your day-to-day, both with highly specialised engineering software (database management, CAD, fluid modelling, stress analysis) and also when working with reports, spreadsheets and email.<p>For example, changing snap sizes in AutoCAD or formatting reports in Word. Is this an accurate assumption or do you generally find no repetitive keyboard actions in your computer work? Specific examples of the tasks and the software it occurs in would be excellent!<p>Question 2: If the above assumption is true, how do you overcome this repetitive computer work? Do you script your own macros, do you have a USB gadget to automate some of the process or do you use some existing software?
Of course, you may do none of these and just get on with it – that’s a perfectly valid answer.<p>Thank you for your insight, if you’re interested in the software I’m developing, you can see what it’s about here: http://numpadsuperpowers.com<p>Cheers,
Robin
I do software development and have to also fill some tedious forms now and then. I have a good experience of these three things to boost my productivity:<p>Shell scripts and Python based automations are good to perform repetitive tasks. Python 3 is everywhere and easily installable, which makes it a good base for writing automations.<p>Cron helps ensuring the automations are executed on time. This is nice for some backup activities.<p>Automator (on OSX) is a good tool to connect key events to your automations.<p>"Say" (the shell command to perform text-to-speech synthesis) is nice way to stay up-to-date on the executions.<p>I also utilize macro capabilities of editors when working with larger data files.<p>The trend is that the existing tools are continuously being made more and more powerful which also reduces the need for extra scripting on top of them.<p>Finally, I'd like to mention that the company I work for, Softagram, <a href="https://softagram.com" rel="nofollow">https://softagram.com</a> is also offering a tool to boost productivity when working with larger or more risky code changes. The tool automates dependency/risk analysis and offers the output in nicely integrated visual report right to the comment field of pull request in GitHub, GitLab, etc. systems.
I'm in software development too. Tend to setup and use keyboard shortcuts extensively to avoid the mouse as much as possible.<p>I don't use an external mouse at all and only use the trackpad of my laptop for quick swiping between full-screen views, back/forward in browser and for selecting text in random apps. This has saved me both time and the health of my wrist.<p>As someone who works a lot in Linux/Unix/OS X environments, maybe one of the biggest daily productivity improvements for me was learning the Vim motions. It began with the innocentish question "So, which one do you prefer: vim or emacs?" from my ex-colleague at F-Secure, on the first day in my then new job. I have to admit I hadn't thought before. I'm happy I chose the correct one :D<p>I even used to have Vimium in my Chrome so I could browse in command mode 8-)<p>Many modern IDEs have great refactoring features and stuff not provided readily by the more ancient tools. A tool that really understands your code <i>does</i> make sense. Whenever I start using a new IDE or other development tool, though, as the first thing I'll check if they provide vim mode.<p>Often times you'll get the job done easily with just plain vim, grep and sed. You cannot install your IDE everywhere. These oldies are almost universally available everywhere in the nix world. They have a learning curve, for sure, but it makes <i>a lot</i> sense to learn them.<p>Also, isn't it kind of cool to work with a tool that was invented before you were even born?
In an effort to be as unproductive and productive as I could, I built a robot once that just pressed the 5 button on my mousepad avery ~1.2 seconds or so. This let me, over the course of 30 days of straight button pressing, successfully accomplish a goal in a video game without triggering their macro detection. It also burned out a few LEGO motors and gears, but that's a minor thing to pay for not having carpal tunnel.<p>But to actually answer your question, I have a mouse set up with a few macro buttons. One is alt+tab and the other is alt+tab+tab, which lets me switch between the last 3 visited windows very quickly. Usually I'm using it to switch between a project program and its documentation. The last one is bound to windows+lshift+s, for quick screenshots.
To get the ball rolling, I'll share my personal experience. When I was studying engineering, we had to do a load of AutoCAD drawing. I found it a nightmare because you constantly had to type commands like "snap 10", "fillet radius 20", "fillet radius 10" etc.<p>It's worse because you have to move your right hand back and forth between typing commands on the keyboard and clicking the mouse.<p>At the time, I programmed an Arduino with a lot of the common pieces of text I was typing, and then wired the Arduino to a keypad so I could press a key and get it to type the text for me.<p>Have you had a similar problem in your engineering job? If so, how did you try to solve it?
Documenting how things are done, establishing simple processes, and creating good training have been the most productive activities for me and my team.<p>When you have an order of magnitude more people wanting something from your team, these are by far the most helpful.