Xavier Shay is a DataMapper committer who has contributed to Ruby on Rails. He wrote the Enki blog platform, as well as other widely used libraries, including TufteGraph for JavaScript graphing and Kronic for date formatting and parsing. In 2010, he traveled the world running Ruby on Rails workshops titled "Your Database Is Your Friend." He regularly organizes and speaks at the Melbourne Ruby on Rails Meetup, and also blogs on personal development at TwoShay, and on more esoteric coding topics at Robot Has No Heart.

Xavier's articles

  1. RubySource: Code Safari: End of the Road

    This is my last post in the Code Safari series here on Ruby Source. I have really enjoyed writing it and trying out a new format which I hope you have found useful. For my concluding article, I want to leave you with some tips for planning your own safari since that is really what the whole series has been about: Not your typical how-to, but a glimpse into the work flow that I and many other developers use everyday to figure out how our tools work. Here are five practices that you should incorporate in to your day-to-day craft

  2. Code Safari: End of the Road

    This is my last post in the Code Safari series here on Ruby Source. I have really enjoyed writing it and trying out a new format which I hope you have found useful. For my concluding article, I want to leave you with some tips for planning your own safari since that is really what […]

  3. RubySource: Code Safari: Underscore Madness

    Last week I came across an excellent presentation from the Scotland Ruby Conference: “Literary Criticism for the Idle Programmer” by Roland Swingler . It introduced me to a crazy little ruby script that allows you to write programs entirely in underscores! # hello.rb require “_” ____ _ _____ ____ __ ____ ____ __ ___ ____ __ __ _ ______ _____ ___ _ _ ___ _____ ______ ____ _ _ ____ _ _ ____ _ ____ __ __ ___ _ ______ ___ ____ __ ______ ____ _ ____ ____ __ _ ____ _ _ ___ _____ _____ _ ______ ____ _ ______ _____ That’s a hello world app, right there. I scarcely believed it either. Roland steps through briefly how this code works in his talk, but given our previous obfuscation adventures , I wanted to dive in a little deeper

  4. Code Safari: Underscore Madness

    Last week I came across an excellent presentation from the Scotland Ruby Conference: “Literary Criticism for the Idle Programmer” by Roland Swingler. It introduced me to a crazy little ruby script that allows you to write programs entirely in underscores! That’s a hello world app, right there. I scarcely believed it either. Roland steps through […]

  5. RubySource: Code Safari: Forks, pipes, and the Parallel gem

    A few weeks ago, I wrote an article about splitting out work to be done into threads to improve performance of a URL checker. A commenter noted that the parallel gem could be used to achieve the same result, which got me all curious. I investigated the gem and found that not only can it parallelize into threads, it also supports splitting out work into multiple processes . I wonder how that works

  6. Code Safari: Forks, pipes, and the Parallel gem

    A few weeks ago, I wrote an article about splitting out work to be done into threads to improve performance of a URL checker. A commenter noted that the parallel gem could be used to achieve the same result, which got me all curious. I investigated the gem and found that not only can it […]

  7. Code Safari: Spelunking Selenium in Search of Sockets

    Randomly failing tests and specs are the bane of any developer’s existence. Sometimes, you just need to break out the spelunking tools and investigate the bugs yourself. In this week’s Code Safari, Xavier dons the safety helmet and explores the inner workings of one of the most popular Ruby testing tools—Selenium.

  8. Code Safari: Extending Ruby with C

    For those of us used to the plush comfort of Ruby land, dropping down to C is a scary prospect. The spectre of segfaults haunts the boundary, forcing unprepared travellers to turn back at the first glimpse of a semi-colon. Thankfully, Xavier is here to guide us into the murky depths with his latest episode of Code Safari