Respect the work of your peers, and those who came before you.
— Read on baus.net/you-cant-impress-developers/
What the History of Math Can Teach Us about the Future of AI – Scientific American Blog Network
— Read on blogs.scientificamerican.com/observations/what-the-history-of-math-can-teach-us-about-the-future-of-ai/
Typing is one of the most important aspects of my professional career. That’s why, a month ago, I decided to change my keyboard layout to Colemak.
The first hurdle I faced was switching in December, what a weird time to switch right? I was supposed to be scaling down and focus on relaxation, but I thought the switch to be such a huge challenge, that It wouldn’t matter when I did it.
The second hurdle: I went cold turkey. I simply switched, printed out the new layout, gave it a solid glance and memorized all the new positions and kept it next to my desk. I watched my typing speed go from 35 WPM(words per minute) to 9. And my frustration levels go into the red.
I started to use this at work immediately. I warned my team mates and just jumped in. A good thing this sort of thing is encouraged at Automattic.
The two things that helped me the most during the first month was Type Fu and a supportive team.
With Type Fu you repeatedly type similar phrases until you “master the keys. At this point, you move on to the next level with more variation. It also has a setting to select the keys you battle with and only focus on them.
My current speed is 30 WPM. I use it as my default layout and I’m way more confident than I was a month ago. My main take away is that, if I can go from 9 -30WPM in a month then I’ll be more productive as time goes on.
I hope to increase this as I continue to practice every working day.
I’m switching to Colemak. It’s an alternate keyboard layout that allows you to type while your fingers travel shorter distances. You can read more about the reasons this is better than QWERTY here: http://chetansurpur.com/blog/2012/11/colemak.html
My main reason for switching is that so many others at Automattic made the switch and had only good things to say. For me it came down to comfort, speed and the joy of trying something new.
I was considering the impact that this will have on my work as a programmer, but figured there will never be a good time to do this. There will always be deadlines, things to get done and communication to be had. So now is the best time.
Also, it’s time to try something new as QWERTY hasn’t done me much good. My current typing speed and accuracy is terrible and I experience pain in my wrists. I pathetically type 30wpm with 77% accuracy. My goal is 100wpm with at least 90% accuracy.
I hope to improve accuracy and typing speed and so my productivity and reduce fatigue in my fingers.
I’ll write more about my journey.
An “oldie”, but a good article on Computer Science vs Software Engineering and how the two compliment each other.
I’ve tried many editors, but with each of them, I found a few things I didn’t like. I always knew about VIM and I knew how to exit vim ( link for the pun ), but never thought it serious enough to work in until I saw how magically other people were using it. That’s when I started thinking about trying it out. I’ve been using it for little over a month now and this week marks the end fo the first week of using it at work.
I started googling around for the best guides on where to start. This led me to the book called Practical Vim. This is the only book a beginner needs. It covers all the most important things you need to know. It also gives you a great foundation from which to grow your very own .vimrc.
The IDE rabbit hole
On making the switch I realised that I’m seriously going to miss PhpStorm if I don’t figure out how to use VIM effectively.
Enter plugins, the magical stuff you drop in to give VIM super powers. Then enter plugin managers. The first one I tried was one called Pathogen. It worked like a charm, but then I realised I needed to add git submodules for each new plugin. The thing with vim is that you want to version control all the things so you can easily take your environment with you when switching machines. So I’ve got a plugin manager and I have that under version control, but adding so many submodules was not working out especially after the 5th plugin. I eventually switch to something that only keeps a few strings in your config called Plug.
Side note, if you want the best way to keep your dotfiles on GH see this: https://news.ycombinator.com/iterThem?id=11070797
Now that you have all the vim niceness you’ll soon realise you need a better way to manage the terminal. You need tabs, panes or some sort of split window system. There are many, many options. I looked at a few and decided on Tmux, the main reason for doing so is that it is terminal based and works on many platforms. I’m totally happy with this.
I hear that people use this editor for years and still learn new things. I’ve seen from using it for a month that you’re alway tweaking your workflow. There’s always something new that you can add or change in your .vimrc. The best thing about VIM is that no two people use it in the same way. It should become an extension of your thoughts so that the editor gets out of your way. I’m not there yet, but I can see how my muscle memory is forming day by day.
I can now freely move between machines and take my editor with me. I has dot files: https://github.com/dwainm/dotfiles
In PhpStorm, Cmd + L gives you this magic wand that fixes code indentation a common coding standard issues. I miss it so much. I need to figure out how to do this in VIM.
Another struggle I have now is that I’m constantly pressing the wrong keys. This will probably get better with time. I found that I can use the numbers keys at the top fo the keyboard because I don’t know where keys 4-7 is in the dark. I’ll have to learn this.
Lastly I the struggle is just to adjust to a new workflow. One where I’m constantly tweaking things to better my productivity. I believe this will pay off over time and I’m excited about my new vim adventure.