Older blog entries for prla (starting at number 112)

Could Google Dumb Us Down?

It’s been a while but for a good reason. We’ve been giving a lot of love lately to the shiny new web app we’ve been developing on and off for the past few months. And today I’m proud to have open its doors, albeit just a little bit, so a little of sunshine can go through. Suffice it to say, for now, that we’re still far from production mode and the next few weeks will be spent on some testing in our inner circles, desperately trying to iron the most obvious and silly bugs. More on this later, as I plan to write a series of articles documenting our experience while developing this app. I just couldn’t imagine this could be so much work, even if the tools available these days take a lot of the burden out of it.

Other than that, I guess I finally choked long enough in my own delirium and decided it was time to hit the books and actually get down to work, university-wise. The semester is quickly drawing to an end and there are still so many loose ends, it’s unbelievable. A lot of project works, at least one of them a bit, shall I say, tricky (writing a Prolog interpreter in Python, in this case) and others just plain boring. But a man’s gotta do what a man’s gotta do or so the saying goes. Come July, if all goes to plan, I’ll be able to catch my breath. Or not.

And into the title of this post, which pretty much boils down to this: these days, when I want to learn how to do something - say, the syntax to checkout a specific SVN repository revision - my first (and pretty much only) thought is simply hitting Google with the plain question. More often that not, I get the right answer right away. No thinking involved. What happened to the days when you actually had to read the manual or, God forbid, look into the source?

I leave that question hanging in the air.

Technorati Tags: google svn subversion prolog python


15 Mar 2006 (updated 22 May 2006 at 10:44 UTC) »
Paper Sketches

Ryan Singer:

Hereâ€[TM]s the most important thing about paper sketches: If they arenâ€[TM]t borderline indecipherable to anyone who wasnâ€[TM]t present while they were drawn, you wasted your time. As long as you know what the elements mean, thatâ€[TM]s enough. Youâ€[TM]ll be making the real screen in five minutes anyway.

Technorati Tags: 37signals


11 Mar 2006 (updated 22 May 2006 at 10:45 UTC) »
Google Life

I couldn’t go on without writing down this amazing piece on the ThoughtFix blog, entitled The Google Life Dream:

I am in New York on vacation. I’ve never been there before and don’t know where to go or what to do. I’m in the mood for a cup of coffee now, fine Italian meal tonight, and a concert tomorrow. I fire up my Nokia 770 tablet. It peers with my cell phone and pocket GPS receiver over Bluetooth, finds my location, and loads the Google Life site. I quickly tap in “coffee shop” and it suggests several coffee shops within walking distance. One is tagged with free WiFi access and has good reviews from other visitors, so I walk over. Once settled in, I disconnect the cell phone connection and attach to the free WiFi. While sipping my triple-shot Mocha, I look over concerts playing this weekend. It seems that there are tickets still available for one of my favorite musicians. I book the tickets and add the information to my calendar, then confirm my hotel reservations, decide on a restaurant for tonight, and see if there’s anything else interesting nearby. It’s my lucky day: there’s going to be a free Shakespeare play in the park a half mile away in about an hour. This mocha is REALLY good. I have some time to kill: I think I’ll write a positive review of this cafe.

Breathtaking. While there’s some 770 sales pitch going on aswell, I think the real lesson here is that if Google pulls off something like this - which is entirely not too hard to believe, many pieces are already in place - they’ll pretty much steal the proverbial show.

Thoughtfix says he would pay up to $50/month for this kind of convenience. How much would you pay for it?

Technorati Tags: google, gps, bluetooth, wifi


11 Mar 2006 (updated 22 May 2006 at 10:45 UTC) »
Power and Versatility

Many reasons are behind Ruby on Rails’ rise to the top of web app construction frameworks, not the least of them being the thoughts, beliefs and points of view of its creator, David Heinemeier Hansson. Something which gets reflected not only on Rails itself but also on 37 Signals entire set of products. Incidentally, they went on and squeezed their own fruit. The resulting juice is fortunately available for all to see (or read) in the form of the Getting Real book (available for $19 in online format, sample chapters on the website).

What led me to write about this (which isn’t exactly news, many have blogged about the book release a couple of weeks back) was one of David’s latest blog posts, entitled Distinguishing Power from Versatility, following a short critique he himself wrote about recent James Gosling's declarations. One quote I believe is revealing of particular enlightenment:

The greater the versatility, the higher the abstraction, the less useful for the specifics. Saying you’ll be everything to everyone, from “web presentations” to “interplanetary navigation” as Gosling puts it, is not free. You have to give up other desirable attributes to get that. Which is fine, of course. If your model of the world is that you’re stranded on a dessert island and you can only bring one tool. Or if your model of programmers are that they’re too busy/uninterested/dumb to to ever learn more than one platform.

Interesting how the views of a single developer can instil in me the desire of trying out different products of his labour. In particular, I think it’s high time I take a serious look at Ruby on Rails (no matter how much I’ve been loving TurboGears lately).

I know. I’m a year late.


9 Mar 2006 (updated 22 May 2006 at 10:45 UTC) »
Building Platforms

More work than I can muster, getting kind of overwhelmed around here but probably my organizational skills - as usual - are to blame. I should really make good on my TODO and check out some tools for GTD. But considering others blog every other day about how difficult it gets, I should probably not think too much about it and generally hope for the best. In Portuguese we have an expression that roughly describes what I feel like right now and it literally reads something like “everyone on a heap and faith in God”. And as with every literally translated expression, it just reads and sounds so foolish, especially to those who understand the original phrase. Feel free to write in the comments if you know the proper translation for this.

But anyway, there’s some degree of help provided by iCal and I’m generally getting by. Enough with the whining, already!

Great Reads

Despite the freak schedule I’m still trying hard to neatly separate days from nights, so I’ve been doing a fair bit of reading around the web most evenings leaving real work to earlier in the day when my brain fires up most cylinders, I find the web is burgeoning with really interesting insights from different necks of the woods and this new so-called Web 2.0 is just so damn innovative and exciting (I sound like it’s a completely new thing that has just come about. I know that’s not the deal, but if you’ve been following you know what I mean). So, that said, if you also feel these are exciting times, that we’re actually living through the dawn of an amazing new era and adding to that you have the entrepeneur in you, I suggest you take a look at these…

  • Five Things I May or May Not Know - excellent post by fellow Planet Tao poster, Daniel Jalkut in which he lets us in on a few insights he gathered from his own experiences in the technology business. Instead of feeling diminished by those who are so much better than ourselves, I believe we should be thrilled to have the chance to learn with them and we have the web to thank for it being so easy and accessible these days.

  • Entrepreneurial Proverbs - straight from O'Reilly's Radar yet again, Marc echoes some points he’s made on his “Entrepreneuring for Geeks” talk on this year’s ETech. Great quotes abound, but I found this one especially thought-provoking:

entrepreneurs too often worry about keeping their brilliant secrets locked away; we should all worry much more about springing a surprise on a disinterested market (anyone remember the Segway?). To quote Howard Aiken: “Don’t worry about people stealing an idea. If it’s original, you will have to ram it down their throats.”

This is something I’ve always been particular wary of, but deep down have always tried to think otherwise. I’m still not convinced, though. How long should you keep your shiny new app (regardless of its real value) secret? Too long and you’re wasting time you could be using to gather users. Too little and it’ll be too simplistic allowing others to easily build a better app on top of the exact same idea (assuming it’s a good one). Am I making sense here or am I just delusional?

  • Pattern Languages - thinking in patterns is not a new thing but it’s being rehashed quite a lot. This website is particularly interesting and provides dozens of patterns and common solutions to commom problems when developing web apps (again via Marc at the Radar).

  • The Art of the Start - by Guy Kawasaki. I haven’t read this one yet but I’ll surely get around to it sooner or later (if someone wants to buy it for me, don’t think twice, always on the lookout for gifts, ya know). Sure it’s self promotion on the author’s website but this particular quote struck me:

This book is a weapon of mass construction.

Awww. Sexy.

That’s it for now. Quick note to state that the app is coming along nicely and we’re soon opening it up to some testers. Currently there are some layout bugs that need to be ironed out, especially where it concerns IE and Safari (the first is the mess everyone knows about and the second is surprisingly broken when it comes to Javascript and Ajax requests).

There’s some discussion I’d like to ignite about real world web apps development - as my meager blog audience allows - but a quick glance at the clock tells me it’ll have to be left for tomorrow or some other time.

Technorati Tags: gtd, ical, web2.0, oreilly, etech, ie, safari, javascript, ajax


7 Mar 2006 (updated 22 May 2006 at 10:46 UTC) »
This and... That

As you probably already know from reading previous entries here on this website, I’ve been putting some effort into building a, shall we say, buzzword-compliant web application. Unfortunately this hasn’t left me much time to write here, not as much as I would want to anyway, and even my daily news browsing has suffered a massive blow.

No matter. Not that I want to make a big deal about it (because it isn’t), but soon we’ll unveil what we’ve been working on. We think it’s a cute little app that has the potential of enhancing people’s lives in some way or another. Also, we have a lot of ideas to build upon it but we’ll let the users speak their mind about that. One of the things that makes web apps truly beautiful is how you can just expand, improve or fix them at will and the users get the enhancements instantly. We believe that the so-called Web 2.0 has provided the tools to build really interesting and rich user experiences and despite our own inexperience (no pun intended), we’re taking the plunge and contribute our own bit from our own neck of the woods.

Bionic Software

Speaking of web apps, from reading O'Reilly Radar earlier on, there’s a cool little post from Tim on what he calls Bionic Software:

one of the things that distinguishes web applications from PC-era applications is the fact that web applications actually have people inside them, working daily as part of the application. Without the programmers running the crawl at Google, filtering out the spam, and tuning the algorithms, the application stops working. Without the users feeding the spiders by continuously linking to new sites, the crawl turns up nothing new. In a profound way, the users are part of the application. This turns out to be true in one form or another for almost every breakthrough web application.

This, I believe, is a definite departure from the way desktop apps work not only technically but organically aswell. Without the web, apps end up feeling like islands and you have trouble trying to contact whoever lives in the island - the software makers. In an interconnected world such as the web, things are much more personal. The web is a crowded place everywhere you go and in a web application that kind of feedback translates into comfort for the end user. In a sense, it’s much easier to let the developers know what bothers you as a user and in fact many problems with the app can be deduced in real time from its usage and user base behavior.

Fresh Looks

One thing we’ve been paying a lot of attention (or at least trying) to while developing this application is the way it looks. There’s certainly a trend of slick, uncluttered, light designs and we intended to stick with it. If we succeed or not, that’s something our users will have to tell us but while it’s obvious that if the subject matter sucks no one will pick the app up, I do believe a particularly good UI design and interface is a very big slice of the success pie. DropSend, Beagle and many other websites embody this quite well.

In the meantime, it seems both Google and Yahoo! are testing new designs:

I’m partial to the latter. I think it looks really cool. Google designs, on the other hand, have always striked me as too simplistic and this one is no exception. But hey, there’s a reason why it loads so darn fast, right? I don’t know how credible these screenshots are anyway.

Do Features Really Matter?

Reading one of Pedro Figueiredo’s latest posts, I wonder why audiophiles (like me, mind you) expect quality acessories for the iPod when the parent product doesn’t sound that good to begin with. And hey, I splashed a truck load of money on a Nano, by the way. But this reminded me of an article I got hinted at a couple of days ago, which argues that nowadays, features don't matter anymore:

The iPod was never sold on the grounds of its technical merits: Apple hit a gold-mine by marketing a cool new way of integrating music in your life. Even when Apple announced the iPod with video, it presented it not as the best multi-media player in the universe, but as a cool new way of watching “Desperate Housewives” and other TV shows.

As much as it saddens me that the world at large is increasingly driven by trends and flavors of the month, I wholeheartedly agree.


26 Feb 2006 (updated 22 May 2006 at 10:46 UTC) »
On Python and More

Paul Prescod has written an interesting article focusing on why he thinks Python is the way to go right now. He presents a lot of different reasons, most of which I identify myself with and despite the somewhat accented evangelical tone, I’m also a believer that Python is fundamentally the best language out there for most purposes. As for the other purposes, I think Paul nails some of them:

On the other hand, I can see a role for small, focused languages like ANSI C for speed, Python for ease and abstraction, Web template languages for Web delivery, and so forth.

I’ve been increasingly relying on Python lately (through heavy TurboGears usage - which, by the way, got itself a new alpha release) and even if I’ve only barely scratched the surface, it’s been one hell of a ride. Don’t you just love it when you’re writing code and the language insists in removing itself from your way while systematically getting the work done? I do. That’s one of the reasons why I’m constantly amazed - in a derogatory manner, of course - at people advocating Java for pretty much every conceivable purpose in the world. Repeat after me: Java is one of the most obtrusive mainstream programming language in existence. Don’t get me wrong, I don’t think Java is the reincarnation of evil. In fact, you can do pretty much everything you want to do with it. It’s just how painful it is most of the time that keeps me at bay.

Speaking of TurboGears, it seems there is work underway for allowing developers to use an ORM other than SQLObject, in this case SQLAlchemy. I confess that the former has never bit me during my development (maybe because in terms of database backend the app I’m working on is dead simple) but I’ve often read in various mailing lists that the latter does a much better job. The good thing here is that if you intended to develop using TurboGears, you can now use any of them with minimal fuss.

Finally, via Tim O'Reilly over at O'Reilly Radar, a very nice extension of Flickr usage called Zonetag straight from Yahoo! Research. With it, you can automatically tag your photos with the location they were taken at. All just by using your camera phone. Neat!


The Slightest Bit of Escapism

A few links I forgot to post last night, while I had my rant cap on…

  • Pre-orders for the new MacBook Pro are now reaching their respective owners and it seems dissecting them is a new favorite sport. These look incredibly slick, alright, but as somebody pointed out, there’s little point in paying good money to beta test it for Apple. On the other hand I’m considerably more interested in the upcoming Intel iBook, or some variation thereof.

  • Ever wondered how Google Earth does its magic? This article scratches the surface (no pun intended) in simple terms and goes some way to explain one of the tricks behind rendering the entire globe seamlessly on a regular desktop machine.

Back to the hacking bench, now.


Deceivingly Easy

Amidst trying to grok mathematical formulas and other assorted mischief from my university work, I came across this post commenting on how easy it is to install Plone on Ubuntu Linux nowadays and this got me thinking… so, let me put up the big red rant alert. You’ve been warned, now.

Despite all its virtues, Linux has always been known to not make things particularly easy for the end user when he’s attempting to install software. Traditionally, an operating system from hackers to hackers from day 0, desperately trying to adapt from the moment it perceived its own brilliance and how appealing to the layman computer user it could be. Surely this has improved over the years and perhaps I’m not even the best person in the world to talk about it considering all the years I spent using Slackware which is know for not having proper package management. That kind of spoilt me the wrong way, as I had this weird tendency to compile everything from source, frequently losing track of what I had - and had not - in my system.

Granted, nowadays software in Linux is becoming easier and easier to install:

  • Python applications are usually installed with minimal fuss simply by typing python setup.py install. More recently, setuptools even takes care of finding the most up-to-date package out there, downloading it, compiling it, if need be, and installing it in the appropriate location. All with a simple easy_install <package name>.
  • RPM-based distributions provide adequate package management and any given package is usually a breeze to install.
  • And of course, by now Debian and Debian-based distributions users are screaming bloody murder. sudo apt-get install <pkg> or its younger, more evolved cousin Synaptic pretty much rule their world.

I’m sure there are other kinds of apps that have entirely their own brand of easy installation. Now, this is all fine and dandy but I still see one slight itch: as with much else concerning Linux and the open source community in general, it lacks a unified view of what installing software should be. Afterall, the underlying OS is the same for everyone, is it not? Why then should installing different applications vary wildly, even if most are easy to begin with?

OK, I hear you say: “hey, I’ve been using Debian for so long and I just apt-get install everything the same way, be it Python apps, or anything else.” Sure you do, but then there’s a dozen other major distributions which do things their own easy way, which differs in subtle and often deceiving ways. Plus, Linux is not just Debian, though it properly includes it.

The point may be moot but honestly, coming from a Linux background I find that this is one of the biggest problems keeping it from seriously challenging both MacOS X and XP/Vista on the desktop. If the single most used aspect of any OS for the end user, which is installing software, can be enigmatic, how can the OS truly be from hackers to users and not just to other hackers?

Unfortunately, different installation procedures for different apps on the same operating system is just one of example of many such disparities - surely freedom and multitude of choice can be good things, but why are there so many full-featured window managers for Linux and none getting it fundamentally right after all these years?

This is not bashing any project in particular, not even the community in general. Like, don’t bite the hand that feeds you, in a way. The very nature of Linux, its development being highly distributed, instigates design by comittee which, more often than not, doesn’t yield optimal results - thus both GNOME and KDE being good pieces of software, but hardly posing a real challenge to the big players in their market. Obviously, this reasoning doesn’t apply to smaller pieces of software such as blog, wiki, chat or mail software - no one can beat open source on that in my book. I’m talking larger-scale engineering here, afterall the building blocks of the OS for the consumer.

So, it seems the problem is far from trivial - otherwise it would have been solved already, right? It seems the reason why the open source community has worked so well thus far is the very same that ultimately keeps it from truly conquering the real market out there in its many fronts. How can the open source community work towards this unified view I find lacking without losing its most valuable asset? Not tooting anyone’s horn, but one such example comes precisely from the Debian community: the DCC Alliance aims to unify Debian-based distributions into a cohesive whole while promoting independent development of its individual members. Shouldn’t an effort like this be amplified and applied to the community as a whole bringing together the best players in the different key areas while leveraging their own individual virtues at the same time?


Cleaning Out The Closet

And while we’re at it, there’s some things I’d like… me to know. And you too, possibly.

I used to follow the Linux Kernel development very closely (I’ve subscribe and unsubscribed to the Linux Kernel Mailing List countless times in the past, because either you follow it or you better unsubscribe considering the insane traffic) but since a couple of years ago my focus pretty much shifted. I still have a soft spot for operating system theory and implementation, though, so if you’re a major Linux distribution willing to splash, oh say a fifty grand per month, on a fairly average kernel programmer, by all means, drop me a line. ;-)

Anyway, the point here is that somehow I got to know that Linus has put out 2.6.16-rc4 and the release email to the list is hilarious:

The bulk of it is some SCSI driver updates (have you ever seen a diffstat without the qla driver taking the top spot? No? Neither have I), with a few architectures thrown in, and a number of mostly trivial fixes for good measure. (…) It is, as we say in the business, a “perfect” release. No bugs. No sirree. But just to verify that, you should all immediately download and test it. Since, quite frankly, what else do you have to do over the weekend?

The Linux Kernel humor can be quite twisted indeed - I need to find a collection of pearls from the LKML me and a friend put together a few years back and post them here - and probably this doesn’t really strike my meager blog audience as particularly funny. No worries. This is not public service anyway, now is it?

Other pointers tonight:

  • Time magazine has an interesting article on Google, which I was fortunate enough to get my hands on (thanks, honey). Early this evening I found out that the photos from that piece are up on their website, so you can take a peek at the lovely swim-in-place pool or other lovely areas that comprise the Googleplex.

  • Javascript development is gearing towards version 2 (ECMAScript Edition 4) and how lovely it is to see it looking like Python.

  • This is obviously legally loaded, but automatically downloading new episodes of selected TV shows via BitTorrent (pretty much like iTunes deals with podcasts) is neat.

And last, but definitely not least, it’s cool to see the birth of Tiago’s first Dashboard Widget: the GameKnot Widget. If you like playing chess but have trouble finding a challenger, GameKnot is the way to go. This widget allows you to follow your ongoing challenges from the Dashboard, see its page for more info. He also took the chance to write some lengthy but insightful documentation on coding for Dashboard. Much appreciated.


103 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!