Months Archive January 2008

 
 

A Question for Apple Users

A talk with a co-worker of mine left me wondering just what it is about Apple Computers that drives people to love them so much. I’ve always wondered this actually, and since the usual response isn’t too helpful for someone as clueless with macs as me, I’m wondering if anyone can help me figure this out.

I wouldn’t consider myself emotionally attached to my operating system. I use Windows Vista on two computers at home — my desktop runs Vista Ultimate and streams videos and DVDs to my Xbox 360 via MyMovies and my 3 year old laptop runs Home Premium very well, although I don’t do anything to intensive on it. That being said I haven’t stuck with Windows out of necessity or any devotion to Microsoft, but because it had the major features I was looking for — namely a media center server and an OS with decent development tools available for it. Although I’m not looking for a new computer at this time, when my laptop does eventually die I’ll be looking for the best laptop for my needs rather than the best operating system laptop for my needs.

So what it is that makes Mac OS X Leopard more of a draw than Microsoft Windows Vista and keeps people coming back over and over? I’ve heard that the interface on Vista is more cartoony and less uniform than Leopard, which from what I’ve seen I’ll have to agree with, although I go like the look of Vista more than XP. Another difference people note is the helpfulness of keyboard shortcuts on Leopard. This might be a little hard to understand for those of us not using them, but what shortcuts directly in the OS are so effective? Or is this a program specific advantage? As far as Mac only programs, the only one that stands out to me is Textmate. Although I would love to have Textmate on Vista, E Text Editor seems about the same, and even uses Textmate shortcuts and themes. I’m sure there are differences of course, but I’ll have to dig deeper to get there. What else draws you to Macs? Low viruses? Unix based? A default setup that works? The small product line means stronger individual products?

As someone who hasn’t spent any serious amount of time on Mac, is there any way to figure this out without just using one for a few weeks?

Pownce and Adobe Air?

Pownce Logged In ScreenPownce made it’s public debut tonight after quite a few months in beta and heavy speculation. Despite all the talk those of us without beta invites (or the immediate need to get one) were left wondering exactly what the deal was. Pownce is a way to keep in touch with people and share stuff with them. That, to me, is too general a definition.

What is Pownce though? I’d call a landing page for your web 2.0 online presence with a dash of Twitter. You have the ability to post text posts without the 150 character twitter limits, post links (which is just the same as a text post, but with a button at the bottom), send files and post events. If a lot of this information sounds like it could be marked up in familiar forms, you’re right. If you have the Firefox Tails Plugin installed, you’ll see a few microformats on there including vevent, vcard and more.

As for technology, Pownce is extremely open about those used which makes things fun. Even though the main site is in Django, which I’ve heard great things about but haven’t had a chance to look into, they’re using a load of other familiar ones. After the Flex 3/Air Tour in Orlando last night, it was great timing to see a nice looking Air app while still fresh in my mind. The desktop client for Pownce does just about the same stuff as the website, but a little quicker since it’s just talking to the Pownce API rather than reloading pages. It also automatically checks for updates. It’s actually a lot like the Twitter app I did for the November Adogo Meeting, except, well, pretty and with more features.

Do you see yourself using Pounce? Or more do you think of it as a passing fad? I’m certainly not convinced that it’ll keep my attention, but for Twittering I would prefer to use Pounce instead. It has more beautiful and customizable interface, and is the kind of implementation people dream of when they have ideas for websites. For a “place to keep in touch with people” I don’t see how it stands out from other social networks though, aside from the fact that you can import friends from other services you use and it’ll try to find Pounce accounts for them. To me it feels more like a Tumbleblog with some links on it that’s perfectly executed.

Rails Plugins Recommendations

One of the niceties about working with Rails is how most plugins just work. Since plugins are tied to the framework, and just about everyone that works for web development uses Ruby, it gives a huge base of helpers and code to get you started unlike anything I’ve seen — outside of Java. ColdFusion has a very strong community, with many projects at RIAForge and many more added every week, but what makes Rails stand out is the common ground under which they’re implemented and integrated. All ColdFusion frameworks have their own ways of creating helpers/plugins/services/whatever like this, but there’s no one “ColdFusion Way”. There are a few Rails plugins that evem me, a Rails novice, have been able to implement and reap the benefits in a relatively small time frame. What plugins am I using so far?

ActionMailer TLS – Have you ever gotten annoyed needing to install a local email server to do your testing? With this plugin you can use Gmail for all your outgoing mail. There’s a 500 email limit or so, but for testing purposes it makes it easy to get setup — especially if you’re alternating between multiple computers. Another option would be to set this up to use Dreamhost or something of course. The advantage of using Google though is it’ll save all your outgoing mail as well, so you’ll be able to see exactly what was sent during testing without digging into logs.

GeoKit - Google Maps plugin for Rails. This one has a lot to it. You can create entire maps without knowing the Google Maps API, with overlays of map popups and all that, run calculations on distance between points and geocode addresses (physical or IP) into latitude/longitude very easily. It answers questions like “Get all restaurants within 15 miles of the logged in user” with simple code like Restaurant.find(:all, :o rigin => @user_address, :within => 15). Imagine that returning a query with a “distance” column which has the distance in miles between the two.

Acts As Rateable – If you have locations you’ll need to rate them right? Chances are there’s other things on your site that need rating as well, so this cleans up some of the code for this. It’s something that could be done without a plugin, sure, but adding “acts_as_rateable” to a model is all you need to get going.

ResourceController – I only recently found this out, but it’s cleared up the repetitive code in some of my controllers. The idea is that it’ll setup all the boilerplate code in RESTful controllers, making it that much easier to get started. If you have nested resources in particular this cleans up the code for it quite a bit by providing helper functions for where in the execution chain of nested controllers the current call is at.

Restful Authentication – This seems to have to replaced ActsAsAuthenticated as the most used authentication plugin. Today I was going though a Restful tutorial to expand on my current restful authentication setup. In not too long I had a nice roll based authentication system with email driven activation, reset and change password sections. Not bad for an afternoon.

Will_Paginate – Easy Pagination! What makes this pagination plugin great is the ease of use. If you’re returning an array of activerecord objects, like with Model.find(:all), then you won’t have to change anything in your view to keep things working. Will Paginate also returns that same array — well sort of. The array that it returns can be looped over in the same way, but is also contains the pagination data, such as current page and results per page. Add this into a will_paginate @games which generates those all too familiar numbered pages and you have pagination. The only thing that needs to be done is changing the find(:all) call to use the new paginate method.

Any common Rails Plugins you can recommend?