Older blog entries for prla (starting at number 96)

1 Feb 2006 (updated 10 Feb 2006 at 09:58 UTC) »
Geocache Me

Tiago became acquainted with Geocaching a few days ago and today him, Rui and myself went out hunting for our first two caches ever.

If you love being outdoors, Mother Nature is for you a good companion but you never heard of Geocaching before, I strongly suggest you spend some time around Geocashing.com, particularly its FAQ page. For us, it’s been a real thrill, we’ve been having jolly good fun and best of all, one can actually breathe out there in the field. Looking for the “cache” itself is cool, but the way I see it, it’s just a means to an end. And the end is enjoying a good walk, a good sight, a good laugh along the way.

I’ve documented our first two quests in my Geocaching page, complete with the pictures we were able to shoot using our mobile phones (no digital cameras available this week, unfortunately). Because the only thing we have available is pretty much the GPS coordinates of the cache site - and possibly sparse and less than helpful hints - we usually are pretty much clueless as to what the setting looks like. Today was such a pleasant surprise that it’s hard to put it down into words. Paradise lost? Maybe. The pictures speak for themselves, I guess. Each cache contains a logbook so anyone who finds it can write a few words to actually log the feat. It was fantastic to sit down and read logs from people coming all the way from Spain or Holland, for instance.

Oh and if you’re interested in Geocaching in Portugal, you might want to check out the Portuguese geographic distribuition of caches (via Tiago). Wouldn’t it be nice to use the Google Maps API for this, too? ;)

Finally, one thing I was happy to learn about the Geocaching community is how aware of the environmental problems they seem to be. There is a pretty cool initiative called Cache In, Trash Out, which basically supports the idea of cleaning up whatever trash one may find in the cache site.

So for tomorrow, we’re planning to go out and find at least another one, a few miles away from where we live. And if you’re interested, you can always check out the aftermath in my geocashing page.

<update> Update: Bruno Rodrigues has written in (see comments) providing a really interesting response to my “disguised” plea for a Google Maps interface of the geographic distribution of caches. Check it out! (from Geocaching@PT)

Technorati Tags: geocaching google

#

Subversion Basics

Earlier today I’ve taken some time to write a short introductory text on basic usage of Subversion (SVN). It’s not meant to be advanced by any means, just a quick overview of the basic set of commands that enables you to use SVN just fine for developing small-to-medium sized projects. For example, it does not make use of the branching features.

Find this primer on the internal Subversion page.

Technorati Tags: subversion

#

Running Around Senseless

A day that didn’t turn out quite as expected but left me gasping for air nonetheless. Finally catching up with the news in the evening and there’s actually a lot of jolly good stuff making the rounds. So, I’ll try to be short and sweet:

  • Following yesterday's post, Guido van Rossum has written in again telling us of his experiences now putting Django and Cheetah head to head.
  • With the GPLv3 tentatively scheduled to go final by 2007, we’re all in for a long discussion, flame war and other assorted mischief. After Linus spoke against it on behalf of the Linux kernel, Alan Cox takes the opposite seat in a recent interview. Basically it all boils down to the different perspectives in which they see the DRM issue. Honestly, I’m not sure on this one, so I’m not taking any sides. Not that it matters, right?
  • Someone has decided to use the Google Maps API to present the Web 2.0 Innovation Map basically geographically pinpointing dozens of recent Web 2.0 applications stateside. Looks neat, doesn’t it?
  • It took them a long time, but they’re finally realizing the shift into Web-based applications. There are now rumors that Microsoft Office Live is just around the corner. I’ll be looking forward to check this out, because I’ve always been of the opinion that the Office applications are the best in their field bar none.
  • A list of must-have software for the Mac. Looking at it, I regularly use Adium and… that’s it. Oh well. I should check out Quicksilver sooner rather than later, though.

Oh, and Tiago? We need this ;-)

#

31 Jan 2006 (updated 31 Jan 2006 at 10:42 UTC) »
Back to Work Mode

Half of my short vacations before getting into the next term are now gone. One week to go. Had the chance to catch up with some movies - I especially recommend The Woodsman for a great Kevin Bacon performance.

Other than that, one of the things I’m involved in is starting to get some traction again and will demand my full attention over the next few weeks. More on this as it develops.

As it is, the picks from my usual nightly web browsing are particularly geared towards the kinds of technology we’ll be using…

Finally, there’s a really interesting article in John Carroll’s blog about GPLv3 and the influence of Richard Stallman. I agree with most of his points and find the whole piece to be very insightful and clear-minded - something RMS himself seems to be having trouble at. Carroll debates key issues and I found this part especially funny. Quoting Stallman, when asked about how influential the community can be on the GPLv3 development:

No. I will still be making decisions. The committees are going to take all the comments and boil them down to issues. Then they will start addressing the issues and looking at the various options. They will also try and decide how to deal with these issues, but ultimately I will be making those decisions. And, of course, if the community has found a good solution, they make that job easy.

To which Carroll says:

In other words, your input is all very nice, thank you very much, but I am king and will decide what goes into the GPL, though it would be nice if you agreed with me. That’s democracy under a dictatorship.

Funny. But true. And ultimately one of the reasons that may well lead to the demise of free software as we know it.

And oddly enough, while others, like Linus Torvalds, are positioning themselves and their projects away from GPLv3, others feel like now is the time to get their feet wet. Of all times.

#

29 Jan 2006 (updated 29 Jan 2006 at 13:54 UTC) »
Quick Round-Up

Results of this morning’s news hunt:

  • Color Schemer is a very nice lightweight color picker, particularly geared towards web development. This would have come in handy last night, but, alas, I only found it this morning.
  • Computer generated images just keep getting better and better. These are just stunning. Jaw-dropping. Unbelievable. When will games look just like this?
  • After all the Windows-on-IntelMac hype cooled down a bit, there are the first rumours about the iBooks also getting to make the switch - complete with the mandatory black version gossip.
  • Parts 1 and 2 on the future of HTML, by developer Edd Dumbill.

And in the mean time, it seems it is snowing in every part of the country, except here. Damnit!

#

Trimming the TODO

You know when you do a lot of little things but somehow the total amount of work done is less than the sum of its parts? That pretty much tells you how my evening has been. However, it also means my short-term TODO list is now way shorter than it was a few hours ago.

For what it’s worth…

  • Upgraded to Firefox 1.5. I’ve been using Safari as my main browser ever since I bought my iBook, but a couple of days ago I’ve finally switched to Firefox - which had been my choice for a good while before I went Mac. Importing the Safari bookmarks was a breeze and the only thing that bothers me is how the shell-like shortcuts (namely Ctrl+A and Ctrl+E for beginning and end of line respectively plus Ctrl+K to nuke lines) somehow don’t work. This bites particularly hard when I’m writing in text forms, like this post right now. Oh, and no spell-checking. Any ideas on these, anyone?
  • Finally figured out how to have my customizations really stick across different sessions on Aquamacs. I just had to click ‘Save Options’… no comment. I blame the years using Emacs on Linux and all the complicated manual configurations, via .emacs and the like. I should just blame myself, though.
  • A long overdue filesystem cleanup took place. Despite being an obnoxious piece of junk, Finder didn’t get much in the way this time, and it took me only about twenty minutes to clean up all the accumulated cruft inside my home folder and below.
  • Fixed all the link color craziness around here, the colors now being uniform across the site. This was due to the CSS merge between Wordpress and DokuWiki, because of the markup plugin. Speaking about it, I should clean it up and make a new improved release with all the latest goodies we’ve been hacking into it recently.
  • Signed up for a Technorati profile. From now on, each post here will have a set of tags associated with it, as you can already see on the bottom of this one. I’ve automated the process in a way that for generating these tags, all I have to write is:

<technorati>
<tag>firefox</tag> <tag>safari</tag> ... <tag>technorati</tag>
</technorati> 

Humm, in hindsight, I guess I was busy afterall. No wonder, it’s 4:30 in the morning.

Last but not least, in the most warm-hearted spirit, I’d like to pay a little tribute to a buddy of mine who’s been the best possible companion for the last four years. Today he passed away but I refuse to feel sad, as he left nothing but fond memories and good times and because he himself was never sad, always full of joy to the very last of his days. The pet heaven has just become an even better place.

We’ll never forget you, matey!

**R.I.P. "Blue"**

#

29 Jan 2006 (updated 29 Jan 2006 at 04:35 UTC) »

Just a while ago, I bumped into this piece comparing a few popular programming languages - BASIC, C, Java and Python - in terms of how appropriate they are as a first language for teaching computer programming. It raises a few interesting points and I generally agree with its conclusions. I remember that it was back in my sophomore year at university that I also started believing Python would be the definitive and proverbial first programming language. Unfortunately, as Patrick Ariel states in this article, people tend to be sadly dismissive of interpreted languages stereotyped as mere scripting tools. I couldn’t disagree more.

In my time, it was Haskell, a cute functional language that I despised back then. As far as I could gather, it was meant to act as some sort of tabula rasa - 99% of the freshmen would only have a minor C/Pascal background, so getting hit right in the face with a language belonging to a completely different paradigm would have everyone starting from zero and scratching their heads. I know I did.

One thing I liked about this article is that despite being entirely unscientific, so to speak, it uses a very important metric: how many things and concepts a student has to know in order to write simple programs. I’m no seasoned programmer by any means, but I’ve been programming long enough to be genuinely surprised now at the insane amount of stuff you have to learn in order to write a simple program in C. I mean, understanding pointers just to get input from the user? For crying out loud, I never stopped to think about it, yet it’s true. Good golly, miss Molly.

And don’t even get me started on Java. I’ve written some code in it and I do appreciate its huge class library but I also do think it tries to simplify things a little too much, turning programming into something like getting the jigsaw puzzle pieces together. Not that I believe programming should be hard per se, but the most powerful concepts are certainly not expressed in the way Java allows you to. Not in my book, anyway. I’m talking logic and functional programming here. Simple to write yet sometimes not easy to get your head around as the reasoning may be hard, but the language should not get in the way. Java’s “Hello World” speaks for itself in that department, I guess.

But I’m getting carried away and deviating from the point here. Believe it or not, as far as first languages go, I think Python’s most recommendable features are:

  • mandatory indentation, simply because it forces young programmers to write properly structured code. And if that practice comes right at the beginning as the first language they pick up, then all the better. Obviously this alone doesn’t add up to better code, but it is a notion not many people seem to grasp. I’ve seen entirely too much ugly code in my time. And I’m still very young, mind you.

  • perhaps even more importantly is the way Python allows reasoning-to-code translation in different paradigms. It does OO well enough, but does not enforce it, it allows for functional style programming, but does not enforce it, and it allows you to write purely imperative code a la C, but certainly does not enforce it either. Whatever the paradigm emphasis is, Python is there for you.

Mostly, I think the point is, again, that the language itself should never get in the way as clearly Java does (ever tried writing regular expressions code in Java?). C does that to a degree but I think its alibi of having its roots on systems programming and being a language from hackers to hackers is a good one. Nowadays, I don’t think it makes sense to use it for anything else other than writing device drivers and core operating system code. Python, on the other hand, is simple, elegant, well supported, well documented and has a huge community surrounding it that spans different arenas. Despite being slow, as an interpreted language, that’s certainly not something to bother the inexperienced wanna-be programmer.

Damn, I sound like a crazed and deranged Python groupie, don’t I? That’s too bad. Believe it or not, I don’t think I’m biased as I always try to use the right tool (language, in this case) for the job. Python just seems to be the best tool for the “learning programming” job.

Gosh, this was supposed to simply be a heads-up on Patrick’s write-up. I’m truly sorry, but if you’ve gotten this far, then congratulations. You did way more than I expected you to. And while we’re at it, why not leave a comment with your opinion on what the first programming language should be?

#

After the craziness of the last couple of weeks, it’s good to finally get my feet back on the ground, pulse beating at a regular place and actually get in touch with the outside world, in particular the almost gone taste of going through my feeds. Nothing earth-shattering is going on, but these have definitely caught my eye:

  • FeedLounge - I’ve been using NetNewsWire since I got into Mac-land after a short spell using Gregarius as my web-based feed reader. I wish I had found this one before though, the resemblance to NetNewsWire is uncanny, problem is, the subscription costs you five bucks a month. I doubt this is a profitable business considering the free offers out there, but it’s good-looking nonetheless.
  • If you’ve skipped your Computer Architecture classes and are left wondering what Big and Little Endianess means, check out Daniel Jalkut's insightful write up about it.
  • Junklog is a cool site where you can post your reviews on anything you’ve read, watched, listened to and played. It’s still really rough around the edges, nothing previously unseen, but it works and is kinda cool.
  • Linus has spoken about GPLv3 and the verdict is: guilty. Or, how the new GPL won’t get into the Linux Kernel anytime soon.
  • Despite some aggravating reports, I’ve upgraded to Mac OS X 10.4.4 today and so far so good (but is it just me or the font rendering is a little funny?). Only to find out that Apple already has 10.4.5 in the works. Oh and I do like the black Dashboard calendar.

Incidentally, despite the frenzied pace of these last few days, I still managed to hack on Wordpress a bit more. So now these blog entries also appear on my Advogato public profile courtesy of XML-RPC.

#

Nah, not dead yet. Just overwhelmed with work for the past few days. Thankfully, bar some unexpected twist, I’m done for the term at university and so, for a couple of weeks, I can actually, you know, breathe.

Not that I don’t like working for my degree, because I do. It’s just that the pressure to get things done can sometimes be really disruptive to your motivation. Fortunately, my partner in crime on this particular undertaking has been a great companion, which I will miss dearly from now on. But this loss comes for a good reason, because he almost graduated now and the very last pending subject for him is something I’m already done with.

Anyway, yesterday was a semester wrap for us and, as we both acknowledged, we made a good team, at least it definitely worked for both us. Of course we could have done better here and there (particularly me if I hadn’t had my mind on a bazillion things at once), but overall it was a raging success. And a fun trip, to begin with. I guess the real test and metric for anything you do in life is simply how fondly you remember it later. I’m sure we have nothing but fond memories of this semester (even hacking madly in near ecstasy-turned-zombie-mode past 6am just recently). Other than that, I’m confident both of us have learned a bunch in the process, be it in terms of actual programming, doing presentations or writing decent reports.

Yeah, I think we’re better people now than we were six months ago.

#

87 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!