Most people are going crazy these days talking about the most recent gadget announced by Apple. They’ve seen the video, they went to the announcement conference, they are wondering when will they get one in their hands. They simply can’t wait.
Meanwhile I am enjoying a similar experience. Somebody noticed out there that there are many of us with an iPad already (kind of). The iPad nano has been around for a couple of years now but with another name. And I recently got one and I am delighted with it. Why going crazy about the new one when you can have the nano version which fits in your pocket, has a camera and makes phone calls too!

iPad nano
Now seriously, after using the iPhone for some days I understand why people are crazy to experiment with its big but younger brother. Touch screens are seriously redefining how we interact with computers and from a developer standpoint it’s amazing the whole new set of possibilities that arise. And it’s not only touch screens and multi-touch, but also the ability to make a program adapt to different orientations of the device, to be able to access hardware services like a compass, accelerometer, GPS, etc.
Categories: Programming, Whatever.
Tags: ipad, iphone
By ernesto
—
February 3, 2010 at 12:54 pm
I’ve tried. I swear that I tried. But I can’t make Safari my main browser. It’s the simple things that keep me from liking it. But most of the time simple things can (and do) make the difference.
There’s no way to make it open links by default in new tabs in the background. And no, I do not want to be doing ⌘-click to achieve this. And I do hate browsers opening new windows unless specifically told. Tabbed browsing was invented long ago and most browsers do it fine (read Opera, Firefox and Chrome). At the very least they give you enough options for you to control how you want it to behave. Safari gives some options, but they’re not enough. I know this is Apple’s way of doing things, and most of the time they get it right, but in this case their lack of options and their selection of defaults is not good for me.
And finally, to make things even worse, I cannot see the URL of a link when I hover it. I do not need Safari to have a permanent status bar. It could adopt Google Chrome’s way to do this, which is to show a small tooltip in the place where the status bar would be, but only for the time I am hovering the link.
Google Chrome would be the right choice, and I do use it a lot, but why on Earth does it lack Gears? How is it that Google supports its plugin on Firefox and Safari but not on their own browser??!! I cannot live without Gmail Offline, so that’s why I haven’t been able to dump Firefox completely.
Categories: Internet, Software.
Tags: browser, gmail offline, google chrome, google gears, safari, tabbed browsing
By ernesto
—
February 1, 2010 at 10:49 am
I always wondered why Rails developers on the Mac keep adding those .DS_Store files into the .gitignore file of their project repo. It just doesn’t feel right. When I cloned some of these repos in ubuntu I always wondered what the held that file has to do with me. I also felt bad every time I added my nbproject folders and *.kpf files to my .gitignore list back in the days when I used Netbeans and Komodo to program in Rails. People interested in my projects need not be seeing this when they clone my code. Continued…
Categories: Programming.
By ernesto
—
December 18, 2009 at 4:31 pm

Google Chrome running on Leopard
I received with great joy today the news that Google’s web browser, Google Chrome, has been officially released for Mac (and Linux), even if it is still tagged as beta.
Since its first appearance in the web browsers scene more than a year ago, Google Chrome has been a source of innovation the area, with isolated processes per tabs, a revolutionary javascript engine, and the great news that its source code would be freely available as open source.
Sure that many were worried by its controversial privacy-violation practices, but the openness of its source code will always allow anyone with the know-how to modify it to their own needs, and that of the worried ones (me included to some extent, I’ll give you that). Indeed there’s a project called Iron which offers precisely that: Google Chrome for the privacy fanatics. Continued…
Categories: Internet, Software.
Tags: browser, gmail offline, google, google chrome, google gears, linux, mac
By ernesto
—
December 9, 2009 at 6:01 pm
If you are a programmer and you already know something about git, mercurial, bazaar or some other modern distributed version control system, you should give AMP a try. And no, it is not a VCS in the most strict sense of the concept, but a meta-tool for VCS ease of use.
Currently it works as a Ruby interface to Mercurial, but they are aiming high. According to their own definition, “[their] goal is to produce a piece of software that lets you forget that you’re working on git project one moment and a Mercurial project the next.” A sort of meta-interface for most modern distributed VCS’s out there, so that you can use them all with the same set of commands, or maybe even interact between different VCS’s. Although I haven’t had the time yet to truly play with it, It appears to be highly customizable.
BTW, they also mention svn and cvs as VCS’s they want to support, but I can’t see why to drain out resources into these dinosaurs. I still don’t get why people still use centralized-only VCS’s if they have the choice of distributed version control. But anyway, I wish them good luck with the project overall, and I will sure keep an eye on it for a while.
Categories: Programming, Software.
Tags: bazaar, distributed vcs, git, mercurial, ruby, vcs
By ernesto
—
November 30, 2009 at 1:59 pm
I love Picasa. I really do. But what I recently discovered something that is almost unforgivable. Picasa does not automatically rotate your images in disc, and when you manually save changes (rotates included) it forcefully saves the original picture, consuming valuable disk space.
I am bothered with this for a reason. I recently acquired a MacBook and I dumped iPhoto after just a few minutes of using it because it attempted to hide the actual pictures from me via any other application. You’re stuck with iPhoto when you use it, and I like to access my pictures directly with my file manager or even with other applications (Photoshop, Gimp, whatever). Then I started looking for alternatives and Picasa popped up in no time as a very good one, and free (as in beer). I remember I used it on Windows but never committed fully to it, but now I have been happy with it for while on the Mac, and have invested a considerable amount of time tuning my very dear pictures collection, mostly in terms of organization and fixing rotations, because I prefer to do other editing tasks in more professional programs. In terms of organization it got even better just few weeks after I started using it, when it introduced facial recognition technology, allowing me to organize and browse my pictures by the people appearing on them, and with a minimal effort. It was all a sweet honey moon. Continued…
Categories: Software.
Tags: face recognition, iphoto, picasa, picture management
By ernesto
—
October 22, 2009 at 9:57 am
I’ve started to dwell into iPhone’s data persistence world, and I have to say it’s a very diverse one, for such a small-device platform. We developers have four basic approaches to save our application’s data (property lists, archiving/nscoding, core data and sqlite), not to mention that preferences get stored and saved outside our app, and that we also have the low level approach of reading and writing directly to files on disk (but who needs that?).
However, I am spoiled by my Ruby on Rails background, and I started to think about ORM and ActiveRecord in no time. It turns out that, as I expected, I found a few blog posts and projects out there for this. Nothing surprising, since I’m not the only one coming to the iPhone from Rails, and I have just recently started programming for this platform. Several people have been struggling with it for some time now.
One of the most promising and wonderful projects I found is called SQLite Persistent Objects. It’s like ActiveRecord for the iPhone written in Objective-C (of course), but even better in some respects. You don’t write you data schemas first, but your classes instead. It’s the objects the ones that create the database and tables in the background as needed. It even features dynamic search methods too!
If you’re programming for the iPhone, I really recommend it (although I haven’t tested it thoroughly yet). The article above gives a link to a download, but the project seems to be hosted on google code, so ti would be presumably better to download it from there.
Update (2009-10-23): Coincidentally today the author of SQLite Persistent Objects posted in his blog that after deciding to discontinue development, another developer took over, so the project (which I didn’t know was dying) is alive again! He also links to a great presentation that get you started very quickly.
Categories: Programming.
Tags: activerecord, database, iphone, orm, persistence, sql, sqlite
By ernesto
—
October 20, 2009 at 5:23 pm
I have always loved Picasa for the way it manages my huge (~14gb) pictures collection, and yesterday it went even better. Picasa 3.5 introduced facial recognition technology, allowing me to easily tag pictures with the people in it. The program automatically scans all my pictures in the background to find faces in them, and allows me to tag the people those faces represent. It even goes beyond that, by actually grouping similar faces automatically so that I do not have to tag each individual face by hand. When the similarity is not so conclusive, Picasa puts face tags to your consideration, and I can confirm or reject these suggestions. This all has a margin of error of course, but by the time I am writing this, it has scanned over 80% of my collection and there have been almost no mistakes, all of which I have been able to correct by hand in no time. Picasa was rapidly able to get to know most of my relatives and friends. Continued…
Categories: Software.
Tags: artificial intelligence, face recognition, geo-tagging, google, iphoto, mac, picasa, picture management
By ernesto
—
September 24, 2009 at 12:22 pm
I have a new toy occupying most of my computer time, and since I am new to this platform and I feel totally attracted to it, I have not much time for anything else, including this blog.

My new MacBook seen from behind
I finally ended this mac envy that has been consuming me for the last few months. Being a Ruby on Rails developer for some time now, all those screencasts and tutorials always based in MacOS X and Textmate have had an effect on me. Although it seems that I’ll be playing mostly with xcode instead of Textmate for some time, but it’s sexy to have Textmate just an inch away in case I need it.
PS: For the couple of friends of mine that already had a Mac, my envy was not malicious.
Categories: Whatever.
Tags: mac, textmate, xcode
By ernesto
—
September 18, 2009 at 4:31 pm
Don’t worry, you can still take a nap on the train. This post is not about resting while traveling on rails, but about the use of the REST architecture in the Ruby on Rails web development framework.
Rails has to be credited for introducing RESTful design to so many people, including me. I bet most web developers out there first knew about it from Rails, particularly from its 2.x release series, that have adopted resource-oriented design more seriously. The main benefit of adopting a REST-like architecture is that there’s a relatively easy and straightforward way of adding an API to our applications without developing an extra backend.
But Rails didn’t get it completely right, perhaps intentionally, with the outcome that there are so many people out there thinking they are developing RESTful applications.
To understand why, let’s review the original concept of REST, something I never did when I took it for granted from the Rails implementation. Continued…
Categories: Internet, Programming, Web programming.
Tags: api, best practices, rails, rest
By ernesto
—
August 6, 2009 at 3:59 pm
Recent Comments