Who is Xavier Shay?
I make computers do wonderful things, swing dance, enjoy exercise, rock climb, live vegan, and I teach others how to do the same.
I am in my mid-twenties and live in Melbourne, Australia.
I write a personal development blog with my brother at http://two-shay.com
I write about code at http://rhnh.net
Where and when did you start programming?
GWBasic and logo on a 286 when I was 8. No idea how I was introduced to it. I remember copying program listings out of a book, except for the last chapter because it was THREE PAGES LONG and that was too hard. I made an airport management simulator but didn’t know how to seed the random number generator so you always wanted to buy big on turn three when everything was cheap.
Visual Basic from grade 6, started getting into C++ game programming and a bit of assembly later in high school, Java at university, then discovered Ruby.
It doesn’t get in my way, and it has a strong community with a commitment to good practices such as automated testing and readable code. Being able to jump into framework code (such as rails) and just change things to figure out what is going on is a big win too.
You favorite Languages/Frameworks?
Aside from the obvious Ruby and Rails, I am a big fan of DataMapper over ActiveRecord. It isn’t used widely enough that it doesn’t have issues, but the code base is so easy to patch though that I still use it where possible.
What does your typical day look like?
Today I was up at 6:15am and got stuck straight into some programming practice, which today was the last chapter of “Seven Languages in Seven Weeks” (Haskell!). It’s a solid book, you should buy it. I made myself an orange, banana and lime smoothie. I forgot to put mint in it, which is unfortunate since our garden is overflowing with it. Whittled my email down to inbox 0, then went for a 10km run before sneaking in some juggling practice.
Made a protein/almond/banana/cinnamon shake. I didn’t forget to put spinach in it, I just haven’t been shopping recently. Made a tofu/avocado/tomato based sauce over brown rice which I’m about to eat for lunch. Actually it is more of a brunch since it isn’t even close to noon yet. I’m doing this interview while it cooks. I like food.
Normally I would do random “work” things for the afternoon, which at the moment is mostly maintenance on open source libraries I contribute to. Today however is Australia Day which means I have to be patriotic by going to a mate’s house and drinking beer. This evening I will likely go dancing for a while, before coming home and reading myself to sleep, at which point it will likely be 10:30pm.
What do you do in your free time?
All my time is free. See last answer. I do that every day. Even weekends.
Current favorite apps?
Not much. I don’t even carry a phone. Do MacVim and git count? Actually xtdo is rocking my socks at the moment, but maybe I’m not allowed to nominate it because I wrote it.
What OS do you prefer?
OSX. It Just Works and I get pretty fonts. I have also used Linux in the past and would be happy on that again. Anything that isn’t Windows, really.
Small picture for your Workplace?
Name something that has inspired you recently?
“The 4 Hour Body” and “The Ascent of Humanity”, two books at completely opposite ends of the spectrum that both inspired me in very different and often contradictory ways that are proving quite difficult to resolve.
What do you prefer (and why)? Freelance work or full time employment?
Freelance. You can scale up and down as needed. If I want to go climbing in the mountains for a week, I don’t need to worry how much “leave” I have left.
The “security” thing with a full time job is bullshit. Security comes from a strong mind and a strong community, not money. Besides, if you are good at what you do, you’ll never have any problems getting people to pay you for things on your terms. You can’t buy more time.
What are your personal projects and goals for 2011?
I will discover a new post-rails web framework.
I will build up Vegan Month, my vegan mentoring program, to be running every month.
I will invest regular time into my climbing.