How to Interview Well

There are lots of skills a developer has to have, but one of the ones you really need to have if you ever want to make a living is being able to interview well. There are lots of things that make interviewing a challenge, but if you interview well you’ll learn something at the least and get a job offer at the most. Let’s talk about how to interview well. ...

October 17, 2013 · 5 min · Mark Simoneau

Exercism.io - Refactoring and Reading FTW

A New Way to Level Up? A few weeks ago at LSRC, Katrina Owen mentioned exercism.io as a site she set up for people to go learn new things, get feedback and head toward better code. I was intrigued. I have always loved small, easily finishable exercises that allowed me to think about things OTHER than the exercise itself. I tried a few and quickly became hooked. But the thing that really surprised me was not just how hooked I was on leveling up on the exercises, but how hooked I was on reading other people’s code and providing feedback on it. It was fascinating to see how many different ways someone else solved the same little problem. Little differences like naming to big differences like Functional vs. OO approaches to problems become easy to evaluate. It also becomes clear where certain solutions shine and where they don’t. ...

August 15, 2013 · 3 min · Mark Simoneau

Pairing Post Mortem - @piisalie - Emacs and Exercism.io

The other night, I got to pair with @piisalie to learn some Emacs and work through a little exercism.io. Paul is a relatively new developer, but he’s been studying under the tutelage of @jeg2 and getting ramped up very quickly as a result. It’s neat to see people who are able to absorb so much so quickly. Setup Google+ Hangouts TMUX + Emacs (Ahhhhhhhhhhh!!) Paul was pretty familiar with Emacs and did a good job showing me around. We worked on a small exercise and I tried to do as much of the editing as possible as he guided me when I said “how do I move up and down again?” ...

August 9, 2013 · 2 min · Mark Simoneau

Adventures in Elixir

At the Lone Star Ruby Conference, Dave Thomas talked about Elixir to everyone. I found it kindof interesting that there were no loops and the use of if was discouraged. It was neat to see that everything was idempotent and that pattern matching made certain problems incredibly easy to solve with very little code. So when I found exercism.io and saw that they had an Elixir track, I jumped on it. What I’ve noticed is that solving problems in a functional way changes the way that I code in an OO language. It doesn’t mean I want everything to be a function and never have state, but I want each method on an object to have no side effects and to require an absolute minimum of internal state to function. ...

August 5, 2013 · 5 min · Mark Simoneau

How To VIM+TMUX

Chris Hunt gave a great presentation at LA Ruby Conf about VIM+TMUX. There, he shows you a bunch of cool things you can do with VIM and TMUX. But he doesn’t tell you how to do them. So here, I’m going to list each of the things he does and give you the keystrokes/information you need to do what he’s talking about. TMUX For these shortcuts, the prefix is mapped to C-b (i.e. Ctrl-b) – though I believe it is much faster and more comfortable to map it to C-a. Chris even maps his to C-j so you use two different hands. ...

August 5, 2013 · 2 min · Mark Simoneau

Automating Distraction-free Work

I’ve followed the Pomodoro Technique for a few years now. I’ve tried several different tools to get it where I want, but in the last few months I’ve begun using AppleScript to automate things that I want done in my environment every time I start/finish a Pomodoro. I use Things as well to keep track of my tasks. I think GTD and the Pomodoro Technique are a wonderful marriage where GTD gets to keep track of the What and the Pomodoro Technique motivates to to actually make progress. It’s all too easy to feel like you’re making progress by simply moving tasks around and “getting organized.” ...

July 24, 2013 · 3 min · Mark Simoneau

Lone Star Ruby Conf 2013

This last weekend I went to the Lone Star Ruby Conference 2013. It was a good conf. Of course, there were some weak talks and bad wifi issues, but overall, it was the most enjoyable and useful conference I’ve been to. Highlights Sandi Metz’s keynote looking at the history of writing and tech - Always great to hear that you’re going to be obselete and thus, you need to remember what your priorities are. Dave Thomas’s talk on Exlir - Showed off the power of the language by live-coding and having a good time doing it. Brandon Hays’ talk on Ember.js and Rails - perhaps the best beginner talk I’ve ever seen. Great combo of funny, interesting, informative and technical enough to be useful. Sarah Mei’s talk on fostering creativity and problem solving - Just a great talk–well delivered and interesting. Best soft talk of the conf. Nell Shamrell’s talk on RegEx - Super informative, well delivered and highly technical without alientating anyone. 200 devs paying attention to every word she’s saying about how a RegEx parser works. That’s mad skills. Sam Livingston-Gray’s talk on Refactoring - Wonderful talk that dove deep enough to give you an idea of HOW to refactor something. I always forget that it is one small thing at a time. Getting to meet and visit with people I had only known on twitter before like @_zph and @avdi. Getting to meet lots of people interesting in #pairwithme. Bryan Helmkamp: “Your goal is to make refactoring invisible. It should happen every time you touch the code. Little improvements here and there.” Getting to give my Lightning Talk on #pairwithme Overall a great conf. It seemed like the best and most interesting talks weren’t focused on Ruby–with the exception of @geeksam’s talk on refactoring. Nearly every talk worth it’s salt was either talking about broadening your horizons or improving your code quality. That’s a tall order, and it’s a great thing that the Ruby community embraces it. ...

July 22, 2013 · 2 min · Mark Simoneau

The #pairwithme Progression

I gave a quick lightning talk on how to have a good #pairiwthme session at LSRC this year. I still had a question on how to get started in pairing afterward. I came up with a basic set of steps, which can be combined as needed. Get a pairing session scheduled and established. Share a screen. Type together. Sometimes this takes longer… sometimes it’s just a few minutes. Work on the simplest possible setup you’re comfortable with. Usually this is Google+ and ScreenHero, but YMMV. Work toward an optimal setup you’re comfortable with that maximizes responsiveness and communication. Typically this is low bandwidth (i.e. Audio Only (Skype?) and terminal sharing (tmux)) You may be able to get all the way to step 3 in your first session, or you may take 3 separate sessions to get all the way there. Either way, you’ll get there, and then you’ll be comfortable enough to take someone else through it. ...

July 20, 2013 · 1 min · Mark Simoneau

Pairing Post Mortem - @jnanney - OAuth

I finally got a chance to pair with @jnanney tonight. He had a project dealing with the OnStar API that needed OAuth Authentication, so we took a stab at implementing it. Setup Skype - TIL Skype 6.x turns off your video if you connect to a Skype 2.0 client–but the audio still works! TMUX+VIM on a slice (not local) Experience We started by making some large, rough ideas about what we wanted to accomplish and then began looking up some things on OAuth2 to help us accomplish them. Pretty quickly we stopped driving everything via tests and started exploring via IRB. ...

July 18, 2013 · 2 min · Mark Simoneau

Pairing Post Mortem - @willpragnell - Mute Pairing with VIM

Last week I had the opportunity to pair again with @willpragnell. He had just moved and didn’t have internet access, so I suggested that we try a “mute” pairing session from a coffee shop, where all our communication happened through VIM. He was game, so we started off with a quick chat session on Google+ to get set up, and then switched to a VIM+TMUX setup for the rest of the time. ...

July 9, 2013 · 3 min · Mark Simoneau