Showing posts with label rails. Show all posts
Showing posts with label rails. Show all posts

Monday, September 17, 2012

SF Ruby Book Club!

I could jump for joy about this :).

For the past several months, I've been looking at the trove of books that I have been reading, considering, looking over, and occasionally reviewing, reconsidering, and otherwise just looking at when I need them. What's missing very often is the human interaction with others. When it comes to fiction, it's easier to find people interested in talking about the books they read and what they get out oif them. Technical books are a little more challenging, because of two major issues. First, it requires a group of people be interested in the topic and the technology. Second, there are many people who don't want to engage in these discussions because, honestly, they are afraid they will be found to be technically lacking. It's like the guy who snowboards and brags about his prowess, but somehow never gets the opportunity to go up and ride with you. Or on the other hand, you invite someone and they are not the "braggadocious" type; they're just afraid that they won't be able to keep up, so they decline or refrain from participating.

Well, the San Francisco Ruby Meetup Group is starting a Ruby Book Club, and I'm all for getting into it. What's more, I'll start with the following:

"I suck at programming. I can read code, I can see what it's doing, I can even make modifications to code that already exists. Put me in front of a blank text editor, though, and say "write something", and I'm toast!"

There, that wasn't so hard!

Now I've set the expectation. I'm no great shakes at this. I feel the same about Ruby as I do about Spanish and German, two languages I studied when I was younger. I learned the rules, I learned a lot of words, I learned how to extract out of the air what I heard and read and process it and get the gist of what it meant, but I struggled with the fact that I never got good at it, and never to the point where I could converse freely. Now all these years later, I'm having the same discussion when it comes to programming, and I've decided something. I can do better.

So to those in San Francisco, I hope you'll come out and participate with me in this little adventure. It seems well suited to the goals of TESTHEAD and what I've done in the past. The first title the Book Club is considering is "The Practical Programmer", which coincidentally, is a title I recently bought out of curiosity and a desire to understand "how the other half lives". Looks like it will be more than just a curiosity now. Who knows, I may just be able to make "five new friends" (or more) in this process, and maybe, just maybe, I'll be able to get from being a bystander who hears a little here and there to one able to be part of the real conversation.

Thursday, August 23, 2012

Live from San Francisco, It's SFRails Meetup!



One of the things that I like a lot about San Francisco is that you cannot swing an umbrella or a computer bag within three feet of you without hitting a Meet-Up, it seems. Due to other commitments, I've been away from the fun the past few months, but it feels good to be back out and seeing what's going on again. 

That, and Sidereel's hiring Rails developers, too :). So with cards and Sidereel branded bottle openers in hand, I've made my way over to The Climate Corporation, the group giving us their space to host tonight's meet up. What's really cool is that this meet up is just a short hop from where I work. One diagonal block! I can see my building from where I'm sitting.

7:00 Pizza/Beer/Networking

We're early into the program at the moment, hanging out, eating pizza, and talking shop. I'm having a good conversation with someone who is actually already talking with my company (or has been chatting with our hiring person). I also saw that a few other friends were expected to be here tonight a well. One of the great things about these events is that it doesn't matter if you have years, weeks or just days of experience, everyone here is really cool, very chill, and like talking about what they are up to and sharing their ideas, no matter how half baked or crazy.

Stay tuned as I update this space, and I'll be happy to share what I pick up this evening. For a really quick cheat sheet of what will be covered, see below (right now, this is just a repeat of the meetup blurb. I'll be updating with my take on these topics shortly):

7:45 First Talk

GemJars: Bringing Ruby Gems to Java with Andrew Kellor (ThoughtWorks)

The first talk out the gate is from Andrew Kellor, and he's here to talk about how to bring RubyGems into Java projects. While I don't particularly use JRuby for anything, I know there are people who do (HotSpot VM as an example). the ability to have native threads, and the ability to reach into Java libraries and the JVM. the opening question to the audience... who has worked in a polyglot code base? If you have, then you can understand the frustration with trying to get the left hand and the right hand to know what each other is doing. When dealing with multiple languages, you have tooling challenges, you have interoperability issues, plus compromises that have to be made to be effective in your production code. 

So what's a GemJar? It's what it sounds like. It's Ruby Gems inside of a Java jar file. this way, all of your dependencies are in one place, and you can call them if you need them. It helped in many ways, but it also had challenges (everything in the same place means that the possibility of conflict is high). gemJars.org is doing it differently. In their world view, only the gems appropriate or a particular area (say, RSpec) in included in the jar file. I have to admit, this is outside of my everyday work, but I can see the benefit for those who do find themselves working within Java and wanting to have some of the cool tools and ease of doing some things that Ruby allows. 

8:15 Second Talk

Maintainable CSS with Sass and Bourbon with Jonathan Mumm (TokBox)

This talk covered a number of tools and techniques so that the developer could make sure that they were doing as much as they could to keep CSS from becoming cluttered, repetitive and difficult to maintain. By demonstrating practices (good one in context ;) ) using SASS and a Ruby gem called Bourbon), the programmer can make sure that they are taking advantage of the options that both SASS and Bourbon provide so that code is uncluttered and not repetitive. 

Since I lost the network for a bit, i wasn't able to jot down these details, but there's some cool resources to get to know how to tweak these options, including the SASS Rails gem and the Bourbon Gem documentation options. The ultimate goal is to make it so that you can make your code clean, orthogonal, with minimal duplication (yes, I know that's part of what orthogonal means ;) ).

All in all, a pretty good night. A little bit of enterprise level stuff mixed in with some rudimentary details, so there was truly something for everyone. Also, the pizza was great and the company, as alwayys, was terrific. Thanks for a great night everyone. Til next time!





Thursday, March 29, 2012

RESTful Bundling - An #sfrails meetup followup

It's been awhile since I've been able to get out to a San Francisco Rails Group meetup, so I'm happy to be out tonight at Plum District, the company who is hosting what looks to be a very full and standing room only group (glad I got here a little early :) ). Not to be outdone, we even had a emergency alarm system go off during introductions. talk about a warm welcome!


Tonight's two talks were focused around Bundler and developing RESTful clients. Andre Arko (@indirect) led off the evening by discussing Bundler and where it came from, why it's here and where it is going. For those familiar with Ruby (and those who are not) libraries and compiled code modules are available through an  interface referred to as Ruby "Gems". Trying to keep track of all of the gems needed, making sure that the exceptions didn't derail your progress, and trying to figure out which gems your code actually uses.


Before bundler, there were various ways to try to solve this problem, some of which were quite painful and frustrating (lots of "gem install" in script files, etc.). Bundler solves this  problem by making sure that gems and their ordering are handled automatically, so that you are able to make sure you are running what you think you are running.


Today, Andre talked about Bunder 1.1 and some of the new features it has, such as github specific gemfiles (kinda cool :) ). You can now easily check to see if your gems are outdated. You can clean up old gems and remove the ones you are no longer using. Bundler 1.1 now supports subshell without bundler, and bundler now shows the absolute path to every gem in your bundle if you want to search for them. The big question, though, is "IS IT FASTER?!" The answer is "yes", by about a factor of four, but don't take my word for it, download it, install it, and check it out for yourself :).


Bunder 1.1 is a lot better, and they want Bundler 1.2 to be even better than that. To do that, the goal is shorter release cycles, creating ruby version check systems, and checking out local gems if set up to do so. One of the big goals is to get rid of "bundle exec". Overall, this looks cool and I'm interested in seing what we'll be offered down the road.


The second talk was focused on developing ReSTful clients, and explaining how everything fits together. Jack Lawson from Plum District talked about some of the chalenges he faced while implementing an API to build out a client, any client. These areas work for websites, mobile apps, tablets, etc. I have to admit, much of this is still fairly esoteric to me, but since I've worked through Learn Ruby the Hard Way, a lot of these conversations make a lot more sense now. I still have some holes to fill in, but they feel much less massive than in previous meetups I've attended. Building the API is just the first half of the battle. Actually getting everything to play nice is the other half. Backbone, CoffeeScript, and Mustache / Hogan.js were demonstrated so that we could see the steps necessary to progressively grow the client application. Pretty cool all told, though still a bit over my head in spots.

I'd be remiss to not say a hearty thanks to everyone who puts on these Meetups at regular intervals. We comment often that you can't swing an umbrella in San Francisco without hitting some kind of meetup. There's a wealth of talent and opportunity here. I need to remember to  not take such things for granted.