Tag-Archive for » rails «

Wednesday, August 11th, 2010 | Author: renaebair

I met my husband 11 years ago. I was carrying my guitar into my dorm room on freshman move-in day at the University of Southern Maine. I saw him eyeing my guitar with great interest. When he knocked on my door and introduced himself, he said, “Hey! I’m Adam. I live across the hall. I’m a computer geek!”

It was a bold move on his part. Being a computer geek ten years ago wasn’t exactly “hot” and he was either socially ignorant to this fact, or he just didn’t care. Regardless, I was in love. I wasn’t even a computer geek myself at the time, but I was smitten with his forwardness and his apparent lack of concern about his own geekery. Finding out that he also played guitar sealed the deal. Fate would have it that he lived directly across the hall from me.

In the following weeks, months and years, he was able to hold my attention as he ranted about hardware specs for his gaming machines, his god-like status in Unreal Tournament matches, his ColdFusion senior project application, and his long explanations on programming theory. I sat and watched in amazement as he built and tore down PCs. I listened to him talk through programming problems and watched him build websites. All the while I was planning some vague career with political science and english, but I was nonetheless interested in Adam’s life.

It was no accident that years later I knew that “Ruby” wasn’t just July’s birthstone and that “Ruby on Rails” wasn’t a rebellious act of sacrificing precious gems on railroad tracks in hipster neighborhoods. I spent years actually being engaged in his interests. And when he fell in love with Ruby in late 2005, I was supporting him all the way and knew exactly why Ruby was incredible. Several years later, when I decided to learn Ruby, I came out with a post on my blog about the Ruby community. A lot of people were confused as to how a Ruby newb could already understand the Ruby community so well. Truth was, I had been following the community for quite some time before I ever decided to learn to program in Ruby. I knew all the big names, the trends, and the history before I ever opened up TextMate and saved a .rb file.

Do you get that glazed, faraway look in your eye when you partner starts talking about a programming problem, or the newest testing framework? There’s no need to be bored. Ask questions, try to understand! When I meet women today, I don’t avoid talking about the work that I do, my love for pc gaming, or my fascination with D&D and other such geekery. Often I’ll get a response along these lines: “Programming? My husband does something like that I think.” To which I always inquire, “Oh really? What language does he work with?” Their response is always the same: “Language? huh. I have no idea. There’s more than one? I don’t really know what he does. I don’t pay attention to that stuff.”

This always blows my mind. You’re married to someone, and you aren’t interested enough in the person to know anything about what they do with nearly 40-50% of their time, aside from their job title? Is it dangerous to draw a correlation between high divorce rates and the lack of interest that people have in their partners lives? It’s easy to fall in love with the “idea” of a person when you first meet them. But I think it would be hard to endure a lifetime of ups and downs, trials and tribulations and the everyday challenges that life throws at two people, if those partners didn’t have a truly vested interest in each other’s passions and life’s work. And if you don’t have even a basic understanding of what your spouse does with 40+hours of his/her week, then you’re not on a team.

I’m not suggesting that you give up your own individuality and personal interests when you meet someone special. But open your mind enough to experience the world through your partner’s eyes. I admit there were occasions when Adam would be on his third diatribe of the evening on meta-programming, and my mind would start to wander. But I was generally engaged in his interests. And why wouldn’t I be? Falling in love involves getting to know a person. And getting to know a person usually involves talking about and understanding each other’s personal interests. Adam certainly had to endure hundreds of hours listening to Ani Difranco, Dar Williams, and Iron & Wine albums, along with my absurdly psychotic analysis of all of the lyrics. He learned to play tennis at my prompting, although I have to swallow losing nearly every game to him now. He watched my ballet performances in college, and even knew how to pronounce a few of the positions. Below is a photo of Adam and I embarking on a hike up Tumbledown Mountain. It captures Adam’s willingness to step away from the computer for a day and partake in my interest in the outdoors. He was a trooper.

hiking up Tumbledown Mountain in Maine

hiking up Tumbledown Mountain in Maine

It should not be hard to be engaged in your partner’s interests. If it is that hard, you might want consider the possibility that you might be full of yourself. Even amongst my friends, I make a concerted effort to listen and understand their individual interests and passions. I always learn something new, and sometimes I get to discover a new passion for myself.

Professionally, I wouldn’t be where I am today, if I had daydreamed my way through Adam’s geek rants. Our relationship resulted in thousands of hours of video gaming, late-night programming tutorials, brainstorming sessions for new apps, some camping trips and lots of folk music. Even if you don’t follow a similar career path as your spouse, being interested in their work and their hobbies can open up other doors for you. It broadens your world view and helps you to suck less as a human being. It’s about being part of a team that works together. I don’t professionally program like Adam; I’m not built that way. I understand programming, but unfortunately I wasn’t given Legos to play with as a child, math skills were never encouraged in school or at home, and the engineering/problem-solving side was never nurtured. So, while I enjoy programming, it comes a lot harder to me than it does for others. But writing is a strength, and programming and technology is a huge interest of mine - so scoring a gig as Intridea’s Community Manager really rocked my world. I keep my eye into the world that I love, my finger on the pulse of it, and the work that results is always rewarding and fun.

So if you’re with someone new, find a way to be interested in the the things they like to talk about. And if you’re with someone old, rediscover the love of your life by asking about their work and listening to their response. Don’t feign interest. And please, don’t be one of those girls that doesn’t know what language her husband programs in. Be the cool wife that surprises her husband’s dorky friends when she knows Java is, and can engage in a short discussion on the evangelicalism of the Ruby community without asking, “Honey, I didn’t know you were a jeweler!”

Wednesday, December 02nd, 2009 | Author: renaebair

I think it’s fairly common for programmers to build applications to meet a personal need. When I found out I was pregnant with our third child this past May I didn’t intend to spend my pregnancy writing a Sinatra application for naming babies, but I’ve had so much fun and have really grown as a programmer by doing so.

At the beginning of the pregnancy I was using a google spreadsheet to create a list of name ideas for the baby that friends and family could add suggestions to. You can view it here. It worked ok for a couple of weeks until I realized it would be nice if people could add comments and share their opinions about each name. I also thought it would be better if people could rate each name so I could see the general popularity of the individual names. I could not find an application that already offered this service in a simple, straightforward way.

For anyone that’s ever had the experience of expecting a baby, they’ve gone through the process of trying to come up with names, receiving lots input from friends and family, and probably felt overwhelmed at trying to keep track of all the great (and not so great) ideas. Thus, I figured this must be a solved problem, yet, I couldn’t find a nice, simple solution for it. Alas, NamingTogether.com was born!

From the start I wanted this to be incredibly simple; the expectant mother or couple goes through a very minimal signup process; with just a few graces of your fingers across the keyboard you’re ready to go with your own name list and a unique link to provide to anyone that you want input from. I wanted the user’s friends and family to be able to add name ideas, leave comments, and rate names without having to login to the site or go through any nonsense.

Simple interface for adding and rating names

Simple interface for adding and rating names

I decided to use Sinatra for this application. Previously, I had only coded a few small projects in Ruby and had not learned Rails or Sinatra yet. I figured that since the application was going to be rather small and succinct, Sinatra would be a good fit. As Adam and I delved deeper into the development process we discovered that using Rails would have made our lives a lot easier, but we stuck with Sinatra nonetheless. We’ll be working on a really thorough post about the development process very soon, and we’ll cover the challenges we faced using Sinatra on this project.

I spent the first several weeks learning Sinatra and DataMapper and writing some very basic functionality, and when my demands for the application far outgrew my knowledge-base I turned to Adam for assistance. He really helped to pull the application together. He hadn’t played with Sinatra before either, so he got to learn something new by working on Naming Together.

Being married to a programmer certainly has its benefits; after our two kids are put to bed in the evening, we get to sit down together on the couch with our laptops and hack away at things together. Adam has always been a great teacher, so the craftsman and apprentice relationship works out really well for us. I have great memories of late night programming sessions together during the last several months.

This experience has enlightened me on the process of working with other people on a project, creating tickets, closing tickets, and holding myself accountable to get things done when I commit to them. I also have a more thorough understanding of git, and even got to use Heroku for this project.  I would not have gained this level of understanding in Ruby and Sinatra without working on an application that truly benefited me in some way.

As a stay at home mom to two young children, at the end of the day, I often have very little energy and motivation to hack away at random projects or to push myself to learn something new. And since I don’t program professionally, I don’t get that working experience that really helps new programmers to become great programmers. Working on this application was what pushed me to keep learning new things and to become a better programmer. I was so excited for the kids to fall asleep each night just so I could implement some new functionality, or look at Adam’s commits from the night before to make sure I understood what he had implemented.

Choosing a name for the application was also a pretty fun process. I had a textmate doc filled with random words, phrases or ideas that came to me throughout the process of writing this application. One day as I was staring blankly at the document, feeling rather hopeless about coming up with the perfect name, I asked myself for the hundredth time, “What is this application really about, at its core?” All of a sudden, the name just dawned on me as I answered, “It’s about naming our babies, together.”

After months of evening coding sessions, the application is now live and ready to be hammered on. I’ve got some open issues that we’re going to be working on soon, like pagination, options for sorting names, option for parents to veto names altogether, etc. I would love feedback about the application, as this is going to be something that I’m going to maintain and support, even after a name is decided for our own baby bundle, due this December.

Monday, April 27th, 2009 | Author: renaebair

Well I finally have something to write about. I guess it takes some porn and a solid rift in the Ruby/Rails community to jostle me out of my mommy bubble. I’ve spent the last two days reading about Matt Aimonetti’s talk at GoGaRuCo and the reactions from Ruby developers and drama queens alike and I must say I’m underwhelmed at their reactions. It’s a good mix of the typical “Oh my god I’m a girl and I’m so offended, like, didn’t feminism cure us of this?” and, “Man, I’m a guy and that shit ain’t cool. I’m offended.”

I want to whine about two terms that are trolling around: “offended” and “professional”.

First of all, I have a hard time believing any man in that audience was offended at the sight of hot chicks. They might have been caught off guard, bemused, or confused at the boldness of the speaker, but they were not offended, not even chivalrously. And I’m sure most people there had a good chuckle at Matt’s attempt at humour. 

Was it “professional?” “Professional” is one of those words that is thrown around by people in big empty suits that are afraid of lawyers, and by people that want to be wearing big empty suits and wish they were in a position to fear lawyers.

When you pack up for a weekend at a fringy Ruby event you expect to be getting comfy with a raw, fringy crowd. You expect to hack in hotel lobbies, play Werewolf in the hallways, drink lots of scotch and Bawls, check to see if there are any hot dev chicks around and eat some tasty treats.

You don’t go to a Ruby conference wearing a big black suit, carrying a briefcase. You don’t go expecting to be bored to tears by a talk on J2EE. You don’t meet for drinks after presentations with potential business partners. No. No. No. You fucking hack, talk shit, play games and eat.

So big fucking deal if Matt Aimonetti showed you some chicks in thongs to make a somewhat amusing point. YES, Matt’s slides gave me major douche chills. It was odd and I didn’t quite like it. But I was not offended, nor did I care how professional/unprofessional it was. 

Also, I’m annoyed with all this banter about how Ruby & Rails will never be taken seriously if people put porn in their presentations. If anyone cared whether or not Rails would be taken seriously we would all be boycotting RailsConf Las Vegas. Anyone who goes to that sellout of a conference has no right reaming on Aimonetti for his porn. At least in his case, “the people voted for it.” 

I definitely think Matt was misguided. Where I think he went wrong was in assuming that the audience would get something valuable out of his talk after he distracted them with hot bodies. Generally hot chicks and processing data on an intellectual level don’t really go together that well.

Using hot chicks to grab the attention of your audience is just elementary. It’s the cheap and easy way to draw an analogy and get a laugh. In this case, I can see the correlation between the images and the message he was trying to deliver, but he could have been more clever by being less transparent. The whole thing seems more like a risky high school presentation (teehee!) than a thoughtful Ruby presentation.

Besides, porn is something we watch when we are alone; when we can convince ourselves that we’re normal, as we’re watching hot, wet, slippery bodies bump each other. Porn isn’t something we like to share with other people, strangers notably. 

But seriously, porn just doesn’t belong in a Ruby presentation. A Java presentation, maybe. They need something to invigorate and distract them from their tired reality. But Rubyists are already pretty damn happy people. We don’t need our presenter to try and make us feel good. Matz already has us covered. 

Matt might have had a better chance at wowing his audience and drawing them in had he used gaming references for flavor instead of bare skin. Know your audience, Matt! Hackers are geeks! Maybe then you’d have earned some geek cred, instead of creep cred. Ouch.

I’ve done a little reworking of his slides to show you how his presentation could have gone better:

 

Frag Star

 

I don’t think the Ruby community needs to submit to supporting PC rhetoric. Leave that to folks that wear the suits. Matt was misguided and a bit trigger happy, but what’s really wrong with his slides is his inability to connect with developers in a meaningful and fun way. We don’t like to share sexual experiences with our peers, especially on large projector screens. We like code and video games, maybe even a good ol’ game of Fluxx. It’s not a matter of offensiveness or professionalism, it comes down to not being a douche bag.

Thursday, March 19th, 2009 | Author: renaebair

All of this focus on a Rails Maturity Model has me wondering, what about Rails or Ruby Conservation? How do we take what has been so good about this language that we are all so passionate about and ensure that it doesn’t get side-swiped by the brooding enterprise transition? 

I went to my first Ruby User Group this evening and I’m still floating. I left thinking, “this is what the Ruby community is all about!” I feel like I’m finally getting it. This little community rocks! I get why Rubyists were outraged over RailsConf moving to Las Vegas. I get why Zed was so fucking pissed off in his ghetto rant. I get why Giles calls out Chad Fowler. I never really understood the understated awesomeness of the Ruby/Rails community until I actually sat at a user group and then had drinks with fellow Rubyists.

I cannot even begin to imagine what it would be like to sit in a .NET or a Java User Group. Do they even have those? I can picture it, though it pains me: lots of men in business suits, wielding expensive pens and dumb heavy Dell laptops. They talk in loud, booming voices, each trying to exert his own self-importance. They pretend to be interested as they listen some verbose mucky muck presentation, then they sit around in the office talking about their development environments and their enterprise software.

Tonight I sat in a room for 2 hours and I watched, I learned, I laughed. I had more fun than I’ve had in a long time. I watched an awesome guy wearings jeans and a t-shirt do a very informed presentation on state machines; he was even able to incorporate Batman into his slides! Then I saw a web designer give a whimsically animated presentation on Proce55or. And finally, a soft-spoken math guy showed us benchmark testing he wrote to compare Ruby 1.8 and 1.9.  Ruby itself affords its community a level of intimate camaraderie that many languages cannot offer. It’s natural to get excited about and attached to a language that is actually fun to use. It’s worth promoting, it’s worth preserving.

When I read that Rails was moving to Vegas it didn’t sit right with me. And I’m not even a legitimate Rails dev. Despite the organizer’s outright denial, it certainly is an omen that Rails is moving to the enterprise scene, and apparently they have no problem pairing that transition with “steaks and strippers.” And yes, realistically Ruby/Rails enterprise should make most devs happy because that ultimately means more job opportunities and probably higher salaries.

But, it’s bittersweet, because I have to wonder what the community will be like 5 years from now. Will it be this tight-knit and this organic? Will a total newb like myself receive tons of help and direction from people that I’ve never met, just because I share a passion for the same language? Will there be as much passion? Will there still be people working hard to offer fringe conferences like Ruby DCamp, and RubyFringe as alternatives to the Rails whore house that RailsConf is becoming?

It used to feel as though Ruby and Rails was led by the open community that it spawned, but now it seems that the future of Rails and Ruby lies in the hands of a scant few that appear to be empty suits.  I’m not naive enough to sit here and claim that Ruby shouldn’t go enterprise. It happens to all intrinsically good languages, in due time.

Ruby and Rails enterprising doesn’t have to be ghetto. RMM, for example is something that I think helps to setup a space for Rails in the enterprise world but at the same time declares it sacred. RMM will help improve the Ruby experience on the client side of things; anyone who has seen the horrific crimes that are committed against clients might agree that RMM might actually be a good idea. It allows a client to hold a few cards in their hand, and a balance of power isn’t a bad thing in a business transaction.

While there are people out there like Obie working to create a good space for Rails enterprise, we still need more people working to preserve the open, organic community space that attracted and kept so many of us here in the first place. 

So, thank you to the people that are working so hard to preserve the “niceness” of Ruby and Rails; like the guys that organize the user groups, plan the small local events, offer help to people on forums, contribute to open-source projects, and to people like Mike Gunderloy that invited me (despite my newbness) to work on his project in order for me to get some experience. And a big thank you to companies like Intridea and other small shops that let their Ruby developers, like my husband, work from their home offices or coffee shops. It’s all about being happy and doing things the right way. That’s what I love about Ruby, that’s what I love about Rails, and hell no I won’t be going to Vegas to witness the perversion of something beautiful.

Monday, November 24th, 2008 | Author: renaebair

 

Being unstable and bitchy is all part of my mystique

Being unstable and bitchy is all part of my mystique

I’ve been a rubyist for three weeks now and it’s my turn to rant.

Only a few years ago it was “fringy” and incredibly cool to be a rubyist. There was an underground camaraderie/elitism between fellow Ruby pioneers. They realized they were onto something so discreetly awesome that they would have an oportunity to claim fame and fortune as this language was introduced to the masses over the next few years. And claim their fame they did. But alas, now that the language has become significantly mainstream and generally accepted as legit, these expats (Java devs enjoying a more trendy and carefree life in ruby_land) are now hurriedly disclaiming it before anyone has a chance to notice that they are doing something mainstream.

The Rails community is just as bad. It has a larger market share of ranters and they are especially prissy. Shitting on Ruby and Rails is coder couture and everyone’s jumping on the bandwagon. What most of them fail to realize is that Zed Shaw beat them all to it. They aren’t the first to disown rails, though they proclaim their hatred with such shocking fervor that you’d think they were. The ranters that followed him are just callously ripping apart the very language that freed them from their boring (insert crappy language) jobs and offered them the beauty of a minimalist coding atmosphere. They are acting like petulant children that were spoiled for 18 years by adoring and forgiving parents, only to turn around and rebel for the sake of rebellion.

I understand there are shortcomings in both Ruby and Rails. Neither platform solves all problems nor do they claim to; sure, some of their frontmen would have you believe it does and it’s been marketed as such in many cases, but most programmers realize that Ruby isn’t the end-all of programming languages. Ruby isn’t the answer to all programming questions. There are plenty of great languages out there and more will inevitably be created. The most frustrating thing about this is that both Ruby and Rails are open source. Any one of these trendy haters could learn some C and make it all better. But who wants to spend time contributing when there’s no money to be made or fame left to be had?

In the Rails community I think the issue of elitism has been the cause of a lot of friction and lashing out. Those who have been unfairly excluded from the Rails lunch table seem to be especially vigorous in their attempts to bring down the popularity of the language. Then there are those that come to Ruby or Rails on the promise of the language being the universal remedy and they are disappointed, hurt, confused, even a bit ashamed once they realize that this is just another programming language/framework. They act as though they are waking up naked in cold shower after prison sex. First comes shame, then outright rage.

I don’t care if these assholes left decent paying java jobs for this “revolutionary” ride and were disillusioned. They should have had the foresight that there is no panacea of greatness. There is no single solution. What ruby does offer is a more intuitive way of coding. Its form is simple. It’s full of grace. Ruby is succinct. It’s not the messiah of languages though it attracts many messiah-figures and their fanboy prototypes. There is a market for it, there are people that love to code it, and that’s about it. I don’t want to hear you rant on about it like some burned lunatic just because you think we all need turn around and follow you on your way out the door.

There should be healthy discussion about the shortcomings of programming languages. It draws a landscape for new ideas and solutions. It gets a community thinking and working together. But what I am so annoyed with are the reformed evangelicals that are all of a sudden declaring that “this shit ain’t cool no more” and expect everyone to throw up their hands and say “Oh wow great leader, you’re right. Let’s just go learn [Scala, Erlang, Clojure, Whatever].”

I’m aware I’m just as uncool for ranting on the topic even though I’m ranting about the ranters. But I’m not attempting to be cool, no one reads my blog anyway, and I’m a mother of two babies who spends her time wiping poopy butts and scraping peanut butter out of carpets. The biggest decision I have to make on any given day is whether or not it’s ok to serve them a piece of chicken that’s not organic and then hope that the growth hormones won’t give my daughter porn-sized boobs three months from now. I play video games, I code a bit here and there, but I have no claim to fame. I’ve been writing Ruby code for three weeks. Seriously.

Ruby gave our family a launch pad for success. My husband was a quiet early adopter and he’s worked happily with the language for a few years. He’s been able to find a job with a sweet company that lets him work from home. Which means that he gets to work in his boxers and t-shirt, is able to have PB&J’s with us at lunchtime, and is always home for dinner at 5pm. I am quite enjoying the solace that comes from not being neck deep in the rat race.

For myself, I’ve been learning to program with a language that doesn’t make me want to cry. I remember doing C++ and Java homework in CS classes in college; I do believe I have post-traumatic Java syndrome. It’s unbelievable even to me that I have dared to get into programming again. But Ruby is making it easy; even fun. I’m happy to code with it, and I’m happy to be enjoying the amenities of the lifestyle it has provided for us. I’m sure I’ll have qualms with some aspects of it someday. And it will be ok to voice them. It’s ok to bite the hand that feeds you. Just don’t bite it off.

Category: Uncategorized  | Tags: , , ,  | 64 Comments