Adam On Life http://www.adamfortuna.com Rants on software development, Ruby on Rails, Javascript and UI Design. Wed, 11 Jun 2008 23:19:19 +0000 http://wordpress.org/?v=2.5.1 en Local Developer Events in Orlando http://www.adamfortuna.com/2008/06/11/local-developer-events-in-orlando/ http://www.adamfortuna.com/2008/06/11/local-developer-events-in-orlando/#comments Wed, 11 Jun 2008 23:19:19 +0000 Adam Fortuna http://www.adamfortuna.com/?p=256 SHARETHIS.addEntry({ title: "Local Developer Events in Orlando", url: "http://www.adamfortuna.com/2008/06/11/local-developer-events-in-orlando/" });]]>

Even though BarCampOrlando is a few months behind us, there’s still plenty to do this summer for us developers. It seems like in the past 2 years or so more and more events are springing up in town — exciting stuff. Finding new events can sometimes be a little tricky though. There’s a few ways to make this a little easier.

Gregg Pollack from Rails Envy maintains a Google Calendar titled Central Florida Tech Events which is probably the easiest way to stay up to date. You can search for it within Google, or just add it there (or to iCal) and always know what’s coming up. For a one single stop for what’s on the agenda is does most the work for you. As the Orlando community is getting more organized though, there are a few other places that also have listings. Doterati, taglined Central Florida’s Click (I still stand by statement that you need more kerning in the word click), is was recently started as an open network for usergroups and various other IT and computer related groups in the Orlando to gather together. Florida Creatives has a wiki for some events and local resources that aren’t listed elsewhere, but overall it needs more adoption to make it work.

So what events am I looking forward to?

  • Probably Orlando Ruby Users Group tomorrow with talks on Rails security and Git.
  • Adobe Developers of Greater Orlando meeting on July 1st where we’ll be continuing the code session from last time which turned out to be a great success
  • IZEA Devasaurus on July 2nd should be a lot of fun and hopefully bring a lot of passionate people together.
  • IZEAFest 2008 should be another one just around the corner. It’s still a little ways off — Thursday, September 11, 2008 at 07:00 PM - Saturday, September 13, 2008 at 09:00 PM. 3 day conference for bloggers and advertisers with quite a few speakers I’d heard about.
  • Ruby Conf has also been announced to be in November, and once again in Orlando. Not sure if I’ll be able to make it, but definitely going to try for that one. It’ll be

Know of any other big events in Orlando that are worth checking out? Or other places to find out what’s going on?

ShareThis

]]>
http://www.adamfortuna.com/2008/06/11/local-developer-events-in-orlando/feed/
A New Look at Development http://www.adamfortuna.com/2008/06/05/a-new-look-at-development/ http://www.adamfortuna.com/2008/06/05/a-new-look-at-development/#comments Fri, 06 Jun 2008 03:56:20 +0000 Adam Fortuna http://www.adamfortuna.com/?p=255 SHARETHIS.addEntry({ title: "A New Look at Development", url: "http://www.adamfortuna.com/2008/06/05/a-new-look-at-development/" });]]>

One thing on my mind more and more recently was the idea of getting a job in what I do during my part time. While working at Westgate much of my spare time at home I’d been slowly learning Ruby on Rails, and liking the core concepts as well as the Ruby language in general. After running into Peter Wright at BarCampOrlando, the idea seemed even more exciting. So I applied, interviewed and was happy to be added to the IZEA team starting last week! That’s the short story of how I ended up here.

Prior to starting at IZEA, most of my exposure had been through PayPerPost, Techcrunch and Rockstartup which don’t show much in the way of life for a developer, or the group as a whole. It’s a dedicated, passionate bunch across the organization though, and with SocialSpark just launching into beta in April there’s a lot to do. Between their company blog, forums, twitter, videos, social networks like ning, flickr and other sites they’re really taking advantage of the Social Web to get the word out. It’s exciting being a place that’s embracing that on so many fronts, and open to trying things out.

The idea of developing professionally in something new (but that you enjoy doing) might seem a little daunting if it’s you’re not at a high level at it. When it comes to programming though, what matters is problem solving, core programming concepts and most of all passion. While staying up to date with what interests you may not be hard, most would agree it’s incredibly time consuming. If you’re staying up to date in ColdFusion, Ruby, Rails, Java, Air and Flex — chances are you’re not spending much time getting things done! I think that was a gap that I feel into a few months back. Clear out your RSS reader of those feeds you’re not interested in (or that just post too often)! Read the headlines of areas you’re interested in, while reading in depth articles for the things you’re passionate about will probably leave you happier. If you honestly don’t see yourself going forward in an area don’t feel like you have to follow it as aggressively. Trim it down to the cream of the crop and you’ll get all the information you need. I felt a little guilty doing this at first, but it was just too much reading. What matters more is finding your own sweet spot in terms of how much information you want from every interest, and constant re-evaluating it. If your interests change, your news intake should change. Don’t rule out changing jobs — it’s all about finding what you enjoy after all!

ShareThis

]]>
http://www.adamfortuna.com/2008/06/05/a-new-look-at-development/feed/
Groups know better than Google http://www.adamfortuna.com/2008/05/24/groups-know-better-than-google/ http://www.adamfortuna.com/2008/05/24/groups-know-better-than-google/#comments Sat, 24 May 2008 06:11:15 +0000 Adam Fortuna http://www.adamfortuna.com/?p=253 SHARETHIS.addEntry({ title: "Groups know better than Google", url: "http://www.adamfortuna.com/2008/05/24/groups-know-better-than-google/" });]]>

How do you filter out what’s important to you? For knowledge that flows towards you, you have a lot more control over this. Through our feed readers we have precise control over what we follow, and through email we can filter out spam and label all mail automatically. When we go out searching for something though things aren’t quite as controllable.

An earlier podcast on StackOverflow talked briefly about this problem and their human driven solution to solving it. The problem is simple — there’s a lot of information out there so how do you cut through the stuff you don’t want so that you only see what’s worth seeing? Slashdot has been doing exactly this with their comments for as long as I can remember. Each comment to an article on Slashdot can be rated (1-5) as well as have a reason attached to it (funny, informative, insightful, etc). This enables the average user to glance over the comments and see those that stand out the most. Digg has a similar system based on up/down votes for comments, which seems to be the route StackOverflow is headed as well (which means they probably won’t have 50 options for displaying comments, but I can live with that).

I’m a fan of this kind of system. It’s the same thing Digg or Tallyhoh use, just on a micro scale — that of user exchanges. But it doesn’t solve the bigger problem: everything not submitted. Everything Google finds, for example, it finds on it’s own by using spiders to explore every available link. The only data available about a given page is right there, on pages that link to that page and possibly on the DNS record for the domain. That’s not too much to go on when you’re trying to evaluate the importance of one site over another.

Eric Sink mentioned this in a very good article titled Baptists and Boundries. Apparently he out Eric’d a number of other much more recognizable Erics throughout history (lots more to that article by the way, and worth a read). The same problem exists in the Adam-verse as well:

First Page:
Adam (bible)
Adam Curry (geek)
Adam Lasnik (geek)
Adam Kinney (geek)
Adam Trachtenberg (geek)

Other Notables:
#15 Adam Savage (Mythbusters)
#21 Adam Baldwin (Firefly, The man they call Jane)
#23 Adam Sandler (Actor, Comedian)
#39 Adam West (Batman)
#100+ Creation of Adam (Michelangelo)

It makes me wonder how many people searching for “Adam” would actually be looking for geeks. Based on the results on Google’s first page, 4 are geeks, 4 are technical topics and the other two Wikipedia articles for the biblical Adam. To be fair, the Wikipedia Adam is much more relevant to what people would actually want to find, and is grouped much more logically. The problem with the two is that the Google index is created automatically while on Wikipedia the entire set of results was created manually by someone to resolve such ambiguos results.

Googles solution is to use search engine optimization practices to determine who’s on top, coupled with Pagerank and incoming links — but that’s obviously flawed. They also order based on some personal preferences (if you’re logged in) which might help focus results to your interests. The blogs in the top might have semantic HTML, proper title tags and a decent amount of incoming links from similar geeky sites, but I wouldn’t say their more important than the Sistine Chapel. Microformats might help to give context to some of the results, but it doesn’t do anything for order. I wonder if it’s time for Google to start leveraging group think for order. Having a Google system that can be that easily gamed is a recipe for disaster, but I wonder if there’s a way the two could be merged to fixed problems like this.

Maybe Google really thinks geeks are that important. After all, Penn said it best:

Google doesn’t seem to fuck up much. - Penn

ShareThis

]]>
http://www.adamfortuna.com/2008/05/24/groups-know-better-than-google/feed/
Getting Started with Slicehost http://www.adamfortuna.com/2008/05/12/getting-started-with-slicehost/ http://www.adamfortuna.com/2008/05/12/getting-started-with-slicehost/#comments Tue, 13 May 2008 03:12:51 +0000 Adam Fortuna http://www.adamfortuna.com/?p=252 SHARETHIS.addEntry({ title: "Getting Started with Slicehost", url: "http://www.adamfortuna.com/2008/05/12/getting-started-with-slicehost/" });]]>

There comes a time in everyones life when they have to setup a linux computer from scratch. OK, so maybe not, but if you’re a web programmer you might well be faced with the problem of putting out a colocated server, just a VPS where you have full control over the box. With full control comes full responsibility though, so I hope you’re willing to learn a little on your feet.

For the new rails site I’m putting together, I decided on Slicehost. Why Slicehost? For cheap, respectable rails hosting with a load of support it just kept coming up. You have all the default features — the ability to upgrade your account at any time, a variety of operating systems. For someone just getting started, you might also want the ability to rebuild your system at anytime, which is possible from the Slicehost web panel. If you decide you want to switch from Ubuntu 7 to 8, or from CentOS to Fedora, it’s just a matter of selecting the option (well, and then rebuilding your slice from scratch). You can also restart of course.

What really sold me was the wealth of information available by other Slicehost members. There’s a wiki with some details but the technical article repository is a fantastic source of knowledge for getting a fresh install up and running for just about anything you’d want.

I’m still in the process of getting this setup, but I’ll post about my experience at Slicehost more as I use them. If you’re looking for a quick start with Rails from scratch, whether you’re experienced in setting a box from scratch or not, Slicehost offers some very useful tools.

ShareThis

]]>
http://www.adamfortuna.com/2008/05/12/getting-started-with-slicehost/feed/
9 Rules Accepting Submissions Today Only http://www.adamfortuna.com/2008/05/07/9-rules-accepting-submissions-today-only/ http://www.adamfortuna.com/2008/05/07/9-rules-accepting-submissions-today-only/#comments Wed, 07 May 2008 16:06:18 +0000 Adam Fortuna http://www.adamfortuna.com/?p=251 SHARETHIS.addEntry({ title: "9 Rules Accepting Submissions Today Only", url: "http://www.adamfortuna.com/2008/05/07/9-rules-accepting-submissions-today-only/" });]]>

If you’ve ever noticed that little leaf on my sidebar, you’re probably familiar with 9 Rules. 9 Rules is a community of bloggers focused on, you guessed it, 9 Rules. These are available in their about page, but the focus is to Love what you do and Never stop learning. If you’re even reading this blog you’ll probably qualify for both of these. If you have a blog, why not submit it to 9 Rules this round? I’m amazed at some of the new blogs that have been accepted this round already including Zen Habits, Unclutterer and Smashing Magazine — 3 blogs I already follow. Don’t think you need 100,000 RSS subscribers or even 100 to join though — they accept based on content and dedication. I’m looking forward to seeing if I stay in in what looks like a very fast growing and dedicated blogosphere.

ShareThis

]]>
http://www.adamfortuna.com/2008/05/07/9-rules-accepting-submissions-today-only/feed/
A Good Way to Catalog Movies? http://www.adamfortuna.com/2008/05/06/a-good-way-to-catalog-movies/ http://www.adamfortuna.com/2008/05/06/a-good-way-to-catalog-movies/#comments Tue, 06 May 2008 05:15:43 +0000 Adam Fortuna http://www.adamfortuna.com/?p=238 SHARETHIS.addEntry({ title: "A Good Way to Catalog Movies?", url: "http://www.adamfortuna.com/2008/05/06/a-good-way-to-catalog-movies/" });]]>

Why is so difficult to find a good, feature rich way to catalog movies? It seems like there are two camps applications focus on — either ownership or viewership, but few applications do both well. On one side there are applications like Delicious Library that allow you to scan in barcodes with a webcam (very nifty feature) but lack some of the usefulness for movie application. On the other side things like FrontRow are glorified directory browsers. What else is out there?

There are some applications that come strikingly close to this actually. If you’re on Windows, and you have an Xbox360, you might be amazed by how feature rich My Movies is. It’s an app that ties in with Windows Vista Media center and adds a new menu to media center extenders (like the Xbox 360). From this menu you can browse movies you’ve added by title, director, actor, category, rating — basically anyway you’d want. Through the setup you can also link a movie to a folder. If the movie is played it’ll play all video files in that folder. Simple enough setup, but enables you to have an in depth movie management system.

This sounded great to me for a while, and it was! I had a few hundred movies of mine cataloged, I was able to browse them to see what to watch, but at that point I’d have to slip in the DVD. Not the clearest line of thought. So I tried the next logical step, ripping some DVDs and associating them for playback on the Xbox 360. The problem is, my 360 and my computer doing the streaming are both hooked up wirelessly. If you’ve ever tried streaming HD content in this way you’re familiar with my problem. Unfortunately it’s not just HD content. Even compressed divx movies aren’t able to handle this setup although my network bandwith is only slightly below the “acceptable for HD content” bar in the diagnostics.

Honestly though, the 360 has a few issues with streaming content - as does any console or the Apple TV. You’re limited by what you can stream to it, and when it comes to files with subtitles (like mkv files) you’re probably out of luck regardless. Unless you setup an entire media PC.

So, a media PC. I’m not talking about a PC that acts like a DVR so that all TV you watch go through your computer, but a computer whose sole responsibility is storing and playing media in a way that makes it easy to find what you need. It also would have to be down by the TV in my case, unless I opt to run some wires through my walls (which sill wouldn’t fix the issue with a 360 and invalid media formats). But what to use?

Since I’ve been gravitating towards macs recently I’d probably opt for that as my media center machine. Mac Mini’s are capable of outputting in 1080p (unless I’m mistaken) and with very respectable sound output as well. For a living room PC it’s hard to get much better than that. It would cost quite a bit more than an AppleTV unfortunately, but the flexibility might just be worth it.

As for software there’s either FrontRow, CenterStage (once it’s complete), or XBox Media Center for Mac OS X (XBMC OSX). FrontRow is pretty slick and responsive. It also works well with the mac remote which is a plus. Xbox Media Center is currently blowing everything else out of the water though. If you’ve never checked it out it’s worth a look. Although I don’t find the interface to have that mac touch, you can update the look and with with different skins. I’m no expert in XBMC just yet, but I’m impressed by just how many features are available, as well as the essentials I’ve been looking for. Subtitles aren’t on the sidelines with XBMC, they have plenty of settings and options for this. You can even configure the color, font and position of them to your preference. With FrontRow you’re unable to change the subtitle during runtime, but with XBMC this isn’t a problem. XBMC also has a few tricks up it’s sleeve before version 1, such as MAME integration.

Where are all these files going to live? Ideally I’d have a local network attached storage device somewhere in my house (probably next to my router) that all machines in the house could access. But since it’s the HD over wireless that got me into this mess, it make sense for whatever HDs I have to sit by my media pc in my entertainment center. For this I’ve been looking into external hard drive cases that hold multiple drives. For this the idea so far has been Drobo, a surprisingly feature rich not-quite-raid device that holds 4 sata hard drives. I say not-quite-raid, because it has it’s own raid like system. It’s better to watch the videos on the Drobo site than listen to an in depth explanation, but this satisfies my cautious side by not having a single point of failure for the entire library. At $499 for a Drobo and another $199 for a network device though, Drobo isn’t cheap. The downside is that it’s limited to USB at the moment, so speeds are somewhat slow compared to esata. If you’re wanting to read some reviews (both good and bad) about Drobo, check out Neweggs Drobo Product Page. The nice part of having Drobo with a network adapter though is that it could always be on, and on the network, but my media PC could be shut down when not in use. The Drobo drive could always be shared through the media PC, but having that computer always on doesn’t seem like an ideal solution.

At the moment I don’t have a mac mini, a media center pc and or a Drobo. This is just the ideal media center setup that my research has led me to. I’m curious if anyone has any suggestions for improvement on this, or sees any gaping holes in my setup? I might just start piecing this together bit by bit over the next year. As hard drive capacity increases it’s becoming increasingly possible to throw an entire collection of DVDs/Blu-Rays on a single server. It’s fun to dream.

ShareThis

]]>
http://www.adamfortuna.com/2008/05/06/a-good-way-to-catalog-movies/feed/
Adogo Meeting Tomorrow! http://www.adamfortuna.com/2008/05/05/adogo-meeting-tomorrow-4/ http://www.adamfortuna.com/2008/05/05/adogo-meeting-tomorrow-4/#comments Tue, 06 May 2008 03:44:16 +0000 Adam Fortuna http://www.adamfortuna.com/?p=250 SHARETHIS.addEntry({ title: "Adogo Meeting Tomorrow!", url: "http://www.adamfortuna.com/2008/05/05/adogo-meeting-tomorrow-4/" });]]>

Interesting in going to an Adogo meeting? Tomorrow night we have two great talks — Maxim Porges with his cf.objective() talk, “Flex - No Frameworks Required”, along with Steve Gongage presenting a Flex ap he’s worked on with some tips and suggestions from his experience. It should be a fun, Flex filled night. If you’re going please do us a favor and register. Gives us a good idea of if there’s enough interest for the talks or if we should just skip them and meet up at BJs for some beers.

ShareThis

]]>
http://www.adamfortuna.com/2008/05/05/adogo-meeting-tomorrow-4/feed/
Design Books for Developers http://www.adamfortuna.com/2008/04/17/design-books-for-developers/ http://www.adamfortuna.com/2008/04/17/design-books-for-developers/#comments Fri, 18 Apr 2008 01:33:10 +0000 Adam Fortuna http://www.adamfortuna.com/?p=246 SHARETHIS.addEntry({ title: "Design Books for Developers", url: "http://www.adamfortuna.com/2008/04/17/design-books-for-developers/" });]]>

Designing the ObviousDesigning the Obvious is a book I ran into at Books a Million a few months ago. Usually when I head out to bookstores I grab a handful of books and end up scanning over them for tips, maybe reading a few relevant chapters, then putting it back. Very rarely do I end up reading through the entire book at one sitting at the bookstore. That’s just what happened with Designing the Obvious. After reading through the entire book I put it back on the shelf as usual. On a second trip to the same bookstore later I ended up reviewing most the book, gleaming new shreds of information from each chapter. Rarely have I spent so much time on a book, better yet seen relevant bits a second time through. Eventually I ordered it from Amazon and have re-read most of it since then. If you want to check out a sample chapter from the book, it’s available for free on the authors website.

Designing the Moment The author, Robert Hoekman, Jr., also has a second book coming out just this week called Designing the Moment which seems to pickup with more concrete examples and run with them. Obvious was more general in what you want the user to think and what you want to convey in your app, while Moment seems to be more about analyzing actual examples. Anyone interested in creating kick-ass interfaces that people love to use should consider reading both of these. Moment comes out this week, so it’s a good time to grab one or both if it’s a topic you enjoy. Like Obvious, there’s a sample chapter on the authors website.

ShareThis

]]>
http://www.adamfortuna.com/2008/04/17/design-books-for-developers/feed/
Harnessing GameFaqs with Ruby on Rails and Hpricot http://www.adamfortuna.com/2008/04/14/harnessing-gamefaqs-with-ruby-on-rails-and-hpricot/ http://www.adamfortuna.com/2008/04/14/harnessing-gamefaqs-with-ruby-on-rails-and-hpricot/#comments Tue, 15 Apr 2008 01:14:54 +0000 Adam Fortuna http://www.adamfortuna.com/?p=245 SHARETHIS.addEntry({ title: "Harnessing GameFaqs with Ruby on Rails and Hpricot", url: "http://www.adamfortuna.com/2008/04/14/harnessing-gamefaqs-with-ruby-on-rails-and-hpricot/" });]]>

One of the things that’s most annoying when making sites that rely on external data is keeping them in sync. Although this usually means importing some sample data during development, eventually you’ll have to do it the right way. This evening I hit that point on a project where I needed to get a list of all arcade games from GameFAQs. Keeping these updated manually is completely out of the question, especially considering there’s over 3500 of them.

I decided to turn to Hpricot, which I’d heard about on Peepcode as well a number of other blogs. Hpricot is a very simple HTML parser for ruby.

To get started, just install the hpricot gem…

$ gem install hpricot

After that you can require it in your controller and go wild. I needed to get a list of all arcade games available on GameFaqs for this, so that means hitting 27 different pages and parsing the results (26 letters + all numbers). My Games table is extremely simple at this point with just an ID, name and gamefaqs_id. Since all I really need is to update my local games table with the data from GameFaqs, I also want to make sure I don’t insert duplicate records. One thing to note though: GameFaqs has multiple names for the same game. You might pull back 3 different games with a specific id. In my case I’m just using the first one I find, but you could switch this up easily enough.

So where’s the code?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
require 'hpricot'
require 'open-uri'
 
class GatewayController < ApplicationController
  before_filter :check_administrator_role
 
  def update_games
    letters = ('a'..'z').to_a << '0'    
    letters.each do |letter|
      page = Hpricot(open('http://www.gamefaqs.com/coinop/arcade/list_'+letter+'.html'))   
      page.search( "//div#container/div#content/div#sky_col_wrap/div#main_col_wrap/div#main_col/div[@class='pod']/div[@class='body']/table/tr" ).each do |g|
        a = g.search( "//td:first/a").first
        name = a.inner_html
        link = a['href']
        gamefaqs_id = link.match(/[0-9]+/)[0]
 
        # Create this game if it doesn't exist
        if !Game.find_by_gamefaqs_id(gamefaqs_id, :select => 'true')
          Game.create(:name => name, :gamefaqs_id => gamefaqs_id)
        end
      end
    end
    render :template => "games/update" 
  end
end

Not too bad for 29 lines in Rails. The letters variable contains all possible endings for the URL, with a pair of loops to do the work. The main work goes on in the page.search() part, which generates an array of td elements containing the information we need. From this you can grab the a element and then the gamefas_id and game name.

ShareThis

]]>
http://www.adamfortuna.com/2008/04/14/harnessing-gamefaqs-with-ruby-on-rails-and-hpricot/feed/
CSS Naked Day #3 http://www.adamfortuna.com/2008/04/09/css-naked-day-3/ http://www.adamfortuna.com/2008/04/09/css-naked-day-3/#comments Wed, 09 Apr 2008 15:43:11 +0000 Adam Fortuna http://www.adamfortuna.com/?p=244 SHARETHIS.addEntry({ title: "CSS Naked Day #3", url: "http://www.adamfortuna.com/2008/04/09/css-naked-day-3/" });]]>

Once again it’s CSS Naked Day, a time to strip your site bare and see how good it looks without all that CSS. If you’re using Wordpress, you can grab the CSS Naked Day Plugin and not have to worry about disturbing your layouts once the day is through. So far I’ve been extremely happy with this theme, which although I’ve only done minor tweaks with, it’s been easy to expand upon while keeping the same tone and color. I didn’t notice until now though that the comments are above the posts themselves which does look a bit odd.

ShareThis

]]>
http://www.adamfortuna.com/2008/04/09/css-naked-day-3/feed/