Mike's Blog

Notes to myself, shared with the world. A collection of projects, thoughts, and ideas — mostly about computers.

See all my blog posts, sorted by year, in my blog archive.

Subscribe
Computer Shopping: The Ultimate Developer Laptop

Computer Shopping: The Ultimate Developer Laptop

Recently, I bought a new computer. My goal was to find the ultimate developer laptop! Well, maybe that’s a bit of an exaggeration… I actually set a fairly reasonable budget for myself. So maybe the ultimate affordable developer laptop™ is more accurate. In any case, I put a lot of thought and research into what my ideal machine would be like, so hopefully my research and experience can help you find the computer of your dreams too!

Continue reading…
Why Short Feedback Cycles Lead to Great Software

Why Short Feedback Cycles Lead to Great Software

I think most software developers love short feedback cycles, whether they realize it or not. And it makes sense! Really short feedback cycles are one of the first things most developers experience when they write their first “Hello, world!” program. A lot of developers get hooked when they see that any change they make to the code is reflected immediately in the output. This feedback cycle is nearly instantaneous, and many developers love that about programming.

Continue reading…
5 Tech Talks Every Web Developer Should Watch

5 Tech Talks Every Web Developer Should Watch

I enjoy listening to tech talks from expert software engineers. When you listen to a good tech talk, you’re given the opportunity to learn from someone else’s experiences, and this is really valuable in such a fast-moving industry. A lot of tech talks from big developer conferences are posted online for free, and I’ve kept a list of some of my favorite tech talks from the last several years. These are the five tech talks that have had the most influence on me personally, and I think that anyone who’s a web developer should listen to them if you haven’t already. Although most of them are several years old by now, I think the ideas presented in them have already stood the test of time. So while some technological details might change, the big ideas presented are still relevant and will continue to be for a long time.

Continue reading…
KeePass vs Bitwarden: A Comparison of Free Password Managers

KeePass vs Bitwarden: A Comparison of Free Password Managers

It’s been nearly 2 years since I originally wrote about How I Manage Passwords with KeePass. That blog entry was inspired by Troy Hunt’s post, “The only secure password is one you can’t remember”. Using KeePass was a wonderful experience, and I’m thoroughly convinced that everyone should use a password manager. The ease of use and level of security a password manager provides is way better than anything else you could do to remember your passwords. One of the most common ways a person can be hacked is by reusing the same password on many websites. The problem is that if any website has a data breach, all the websites you used that password on are compromised. And a password manager solves this problem by using a different password on every site.

Continue reading…
5 Reasons to Contribute to Open Source

5 Reasons to Contribute to Open Source

It’s October, and Hacktoberfest is in full swing! It’s a great time to contribute to open source. I love open source software and the open source community, and I think contributing to open source software has lots of benefits for professional software engineers. Here’s 5 reasons you should contribute to open source software.

Continue reading…
Make Your Source Code Developer-Friendly

Make Your Source Code Developer-Friendly

Is your source code developer-friendly? Developers talk about user-friendliness of applications all the time, but don’t often think about whether their own source code is user-friendly. Code tends to rot over time. The documentation gets out of date, configuration files change, little “hacks” are put into place… Eventually, it gets so bad it takes days for a new developer to get his environment set up. And along the way, he has to talk to two or three gurus that know all the little tricks to make things work right. As code ages, it becomes less developer-friendly. As developers, it’s our job to counteract that tendency.

Continue reading…
LogRun: A Running Log in Google Sheets

LogRun: A Running Log in Google Sheets

I made a training log in Google Sheets!

Even in the age of Fitbit, GPS running watches, and Strava, a training log in a spreadsheet is a useful tool. Because it’s a spreadsheet, it can be used to analyze data in ways that websites and apps can’t. Also, it can be incredibly motivating to set a goal and record your progression over time.

Continue reading…
Code Reuse and Simplicity

Code Reuse and Simplicity

The Myth of Code Reuse, a quick video by Iain Lowe, became quite popular on Reddit in /r/programming a few weeks ago. I think the reason for it’s popularity is obvious. Lowe talks about the amount of time developers invest in making code “reusable” with interfaces and abstractions, only to watch that code be replaced a few years down the road. Many professional developers have worked with legacy code bases that frequently use these types of abstractions (designed for “future-proof” code), but found the code to be more complicated than necessary and difficult to work with.

Continue reading…
Tips for a Great Resume

Tips for a Great Resume

Your resume says a lot about you. Perhaps more than you think. I’ve looked at a fair amount of resumes and when I read a resume, I’m not only interested in the experience that’s listed. I also look at how well the person communicates their ideas in a clear and concise format. A well written and easy-to-read resume can make a good first impression, and a poorly written resume can definitely hurt you.

Continue reading…
6 Questions to Ask When You Interview for a Software Development Position

6 Questions to Ask When You Interview for a Software Development Position

I recently completed a job search where I had the pleasure of interviewing at several companies. Throughout the process, I developed and refined a list of questions to ask the companies I interviewed with.

I’ve also spent a lot of time on the other side of the interview process, and I’m often surprised when the candidates I’m interviewing don’t have any good questions prepared to ask me. They should want to know how we do things here! Asking good questions during the interview process helps both parties find the right fit, so I decided to share some of the best questions I’ve found.

Continue reading…