Code Retreat

Last weekend I participated in the Global Day of Code Retreat here in Austin. I was impressed at the diveristy of participants, the overall good nature of those there, and what I was able to learn even while pairing with relative beginners. When I got there, there were 3 women and 3 men in the room. By the end of the day there were about 6 women and 10 men. At least 6 of the participants grew up in foreign countries. It was, for a computer meetup on a Saturday, a fairly diverse crowd. I was impressed. ...

December 19, 2013 · 2 min · Mark Simoneau

Different Pairing Styles

Pairing is hard, but to me, the hardest part about remote pairing is not technology or even logistics, it’s collaboration and problem solving together. To that end, there are multiple pairing styles that are worth looking at when you’re trying to pair with someone knew. Each style facilitates collaboration differently and knowing how they work helps. Driver / Navigator Fundamental Idea One partner “drives” at the keyboard, focusing on implementing. The other partner “navigates” verbally, focusing on big ideas, questions, typos, and conventions. ...

November 16, 2013 · 2 min · Mark Simoneau

Firming Up before Moving On

As developers, we have a tension that we almost always deal with, the tension between writing the best possible solution and the fastest possible solution. Usually we end up somewhere between them, sacrificing a bit of quality for speed. I’ve yet to hear of a developer that would say they sacrificed a bit of speed for quality–but isn’t that what we want to do? For myself, I’ve always struggled with this balance. What we want is to continually improve quality and deliver features quickly and readily. Can we do both? ...

November 12, 2013 · 2 min · Mark Simoneau

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