« July 2005 | Main | September 2005 »

August 30, 2005

WTF?

I started this post at least four times now, and I still don't know how to write it.

I'm just going to point you to this article by Carla Schroder and abstain from making any more comments at this time.

August 29, 2005

4 minutes to assemble a PC

I found this very impressive:

With PC assembly time down to less than four minutes, the 30 seconds it can take to apply the ubiquitous security holograms and logos for Microsoft and Intel have become a significant manufacturing bottleneck. Talks are under way to eliminate what Dell production managers grudgingly describe as “other people’s advertising”.

Four minutes to assemble a PC? Impressive...

(Via Ars.Technica)

August 27, 2005

Forest fires in Portugal

Portugal is under the worse forest fire season that I have any recollection of. I think that statistically, 4 years ago we had a worse year, but I'm not sure. This year, even if the burned area is lower, they hit several villages and there was substantial property loss as well.

I live in Figureira da Foz, by the ocean, near Coimbra, and we have a big fire right now near some important paper factories. They called in three CanadAir planes to fight it, and they choose to resupply in the river here 500 meters from my office. This was the fourth time they passed over and they keep coming, 4 or 5 minutes between refills.

The videos where taken with a Sony CyberShot with Auto-focus, so you'll see the image blurring from time to time. Also some solar flash is present sometimes, but I think they are worth the download time.

Tips on how to make the videos smaller (and for future reference, better) are appreciated.

First video was taken from my office window, it just shows the refilling part of the flight.

MOV02948.MPG, 27,5Mb, 1'20

The second one, I moved over to the river bank, and shows the approach they do near (understatement of the year...) the bridge and the refilling part. The second plane is impressive in that only at touch-down, we curves to line himself with the river...

MOV02949.MPG, 40,6Mb, 1'57

The third focus only on the approach "near" the bridge.

MOV02950.MPG, 42,3Mb, 1'57

I don't know nor I care how much this guys earn for this job. It's not enough...

They leave Spain and Italy to come here and clean our mess, when our elected officials are taking a break at the beach, and there are really no words of gratitude that we can give them.

Thank you.

fixed: MIME-types are now fixed. update: all videos now available.

August 26, 2005

GMail invites

I've got a couple of GMail invites.

If you want to get an email account or try the Talk thing, get a Jabber client, create an account on a free server, and send me a Jabber message with your email address.

My Jabber ID is melo@simplicidade.org.

I'll send you your invitation.

I had though about doing this some weeks ago when I got them, but I forgot. Thank's to stpeter for the reminder.

Technorati Tags: ,

Week summary

No, I'm not going to talk more about Google Talk :).

I'm going to bed now, I've been up since 5am to do an upgrade to our XMPP server platform. It went pretty well, but we still have some glitches with S2S. They should be solved real soon now.

I wanted to talk you about the stack of perl books I have here, from Higher-Order Perl to Perl Testing going through Perl Best Practices, but it will have to wait until next week. I need to make them justice, they deserve it. It's really nice to see very good books about Perl being published.

I've also been reading the Programming Ruby and the Rails book. Yeah, I know, some of you think it's just a fad. Indulge me, ok? I'm still recommending anybody who wants to pick up a language, to try Ruby. I've collected some presentations about it from OSCon'05 that I'll link next week.

I've also finished my Trac setup, and it is now totally automated to keep me using darcs or, at work, CVS, and have all the niceties of the great Wiki, Tickets and Source browser integration. I'll be moving my lost projects to it in the coming weeks.

Finally, I updated my personal Jabber server to the latest Jive Messenger. I had been using ejabberd for some time now, but I wanted something that I could just install, run a script and be done with it. I can only say that I was able to do just that with Jive Messenger, I think it took me 15 to 20 minutes to have a fully featured XMPP server. The newest version, 2.2, it's the first one I can use since it's the first to have S2S. They don't have TLS, but it's not important to me right now: my client of choice, Psi (who incidentally also had a new release today, check the new Psi wiki, btw), does not support TLS for now. But if TLS is important to you, don't despair: adding TLS to Jive Messenger is a Google Summer of Code project.

Also, Moveable Type 3.2 is out, looking good. For those of us who still like to run and waste our time tinkering with our blog software, it's seems a worthy upgrade. I was very impressed with the upgrade demo. I was thinking on upgrading my software, lot's of bugs, and more trackback spam than I can read in a lifetime, and I was shopping around for software. MT 3.2 seems to be crawling back to the top of my list of choices, followed by typo and wordpress, in that order.

With all the Google Talk, I've been a bit away from Apple news. The IDF conference this week had a lot of cool stuff (my favorite, the end of the north bridge on Intel chipsets, you should check AnandTech site for all the goodies. I didn't have the time to read to much into it, regarding Apple future hardware offers, but it looks promising.

Yet, my interest regarding Apple news will grow in the coming weeks. The Apple Paris Expo is coming up in late September, and I would like to see a last rev of G4 Powerbooks coming out of Mr. Jobs keynote. I would be a happy camper to see a dual-core G4 17" or bigger Powerbook... But I'll try to keep my expectations low.

All in all, a fun week. My only regret is that my coding time is getting to be a lot less than it usually was. And now that it was getting to be fun again. I've been making an effort to do more developer testing, and so far I'm loving it. It can be hard sometimes, with the pressure of every day, but it's a great stress reliever for me. I should join Phalanx some day, I really should.

Have a nice weekend.

Technorati Tags: , , , ,

Rethinking IMAP

I've been using IMAP for the last 3 or 4 years now. I used the Mulberry client for quite some time, and then I moved to Mail.app.

I use 5 different IMAP accounts, my anti-spam is client-side, using the wonderful SpamSieve, and right now, all this accounts take 1.5Gb. Of those, 1.3Gb is a single IMAP account that I label archive and that I'm most likely trash in a near future.

I live in my laptop 100% of the time, all the other computers I own are servers of some sort of another. I don't have a laptop/desktop combo, and it's very unlikely I'll ever use such a combo.

Also, eventually, when I upgrade to Tiger, Spotlight will require that all my mail to have a local copy to index it.

The point of all of this is that my email experience is slow. I know that I don't have the world fastest computer (G4 800Mhz) and that Mail.app is probably not the smartest IMAP client out there, but this is getting ridiculous. It keeps "Synchronizing folders with server" and "Caching stuff" but even then it's slow.

So, I don't use any of the features IMAP provide and I'm paying a price for it. I'm going back to POP3...

Technorati Tags: , ,

August 24, 2005

Are we finally getting there?

It seems that Warner Music is launching a music label with only online distribution, no CDs.

At least from the environment point of view, I wholly welcome that. Nowadays, 90% of the music I buy is from iTunes Music Store, I prefer not to waste the packaging and CD, that will sit on a shelf somewhere after I rip them to iTunes...

Google Talk client is too simple = Great!!!

Guys, yes, I agree that the Google Talk client is too simple:

  • no offline messages;
  • no "spiffy" flash stuff and emoticons with gazilion skins;
  • no file transfer;
  • no multi-user chat;
  • etc, etc, etc.

That's great!

That only means that we can build our own clients, with those features, and compete. Imagine that, real competition in the IM world. The best client wins. I'm not letting go of my Psi, I can tell you that.

And Yahoo, AOL, Apple and Google will always be able to innovate and integrate services. There is no big risk to them, to provide extra services to their customers, using their clients.

The difference is that, like SMTP for mail, they will all be using a standard and open protocol.

That's the real issue about Google Talk: they are using something open and therefore, you can compete with them on the client side.

If you don't understand what I'm saying, try this:

The only thing for this to become a reality is server-to-server interop. :)

Join the XMPP world

There are a lot of servers that you can install and join the XMPP world. There is an up-to-date server list at the Jabber Foundation website.

My current recomendation goes to Jive Messenger. Very easy to setup and to manage.

Also, for a turn-key solution for your company, your should look at Jabber Now.

Things to discover about Google Talk

This is the current list of things to discover about the usage of XMPP in Google Talk.

  • What is the signaling protocol that they are using? They are using TLS so it's not just a matter of sniffing the packets, but it should be available somewhere real soon now :);
  • How are they advertising the Voice capabilities of each clients? This is another big one to deal with interoperable clients.

Updated as I discover all of this.

Google Talks, bullshit walks

Ok, it's out for real. First things first: question 15 of their FAQ, first paragraph, last sentence:

We can say this, though: we believe strongly in user choice and open standards, and we are committed to letting users access Google Talk using the client and platform of their choice, as well as to enabling our users to talk with users from other service providers.

Emphasis mine. The entire point is clearly stated in question 16 though: we are in business to open up IM networks. The developer FAQ is also filled with "service choice" questions and answers. But it's also filled with federation stuff. They want to balance openness with security. I'll guess we need to wait to see what that really means.

So although the SRV DNS records for server-to-server are still MIA, I suppose its just a matter of time. The subject of SRV recored is specifically covered in the developer FAQ.

I haven't downloaded the Windows client, being on a Mac myself, so I'll check the other reviews to figure it out some more. Main features seem to be: no ads, voice (SIP in the future, according to the developer FAQ, and we can speculate that the door was left open to IAX), Gmail address book integration.

For me, working at Sapo in the XMPP area, and being in the team that launched a XMPP/VoIP client last July, it's exciting to see some of our decisions validated by Google. Also, it's nice to see some of our regrets also validated by Google. They are not using SIP for signaling, they are using some custom made signaling protocol over XMPP. There is a rough standard to do SIP over XMPP called TINS, but Google seems to have taken their own route. We can only hope the they will honor the community by writing a JEP about this custom signaling protocol.

In terms of Codecs, we are compatible with Google using iLBC, and G711. They don't have Speex yet, though.

Some reviews, more to come:

  • Julian's take: no offline messages, also talks about the custom voice signaling protocol Google is using, and possible iChat integration in the future. This one seems a no brainer as long as Apple and Google agree to it: they are both using Jabber.
  • Nat's O'Reilly Radar entry: that get's the quote of the day so far: make MMS messaging on cellphone look like a W3C hot-tub party.
  • Russell Beattie about Y! and XMPP, we are all pulling for you, Russel
  • Download Squad: speculates to new features, we should see a lot of that in the future :)

Some first comments about the client from the reviews:

  • 900kb download (!!), that's impresive. Must check if it's just the installer or the real thing;
  • very clean interface.

Xgrid, infant, pre-teen or hormone-charged teenager?

Check out MacDevCenter article on Xgrid by Drew McCormack.

Xgrid is nothing terrible new, for those who where into distributed systems in collage. I was into them, and it was my favorite subject, the one I got the best grades.

What make me click about this one is the fact that for the first time that I remember, a full distributed computing platform is being distributed with a mainstream operation system. Every Mac that runs Tiger has this client installed (maybe not running, of course, but it is there).

The possibilities are endless, of course. But my radar will be tuned to two events:

  • the first mainstream application that makes use of this: I suppose photoshop or something like that. iMovie HD? I think Nuno would like that :).
  • the first integration of a Paypal-like system with Xgrid, so that you can rent your spare cycles.

The second one? That's an new economy right there...

Security issues, or blunders, as always will be the headlines first.

Google Talk is live

Google Talk service is now live although you still get a 404 at the site. I was able to connect with Adium using Jabber as the account type, and my gmail login.

Some notes:

  • this is NOT jabber, it's XMPP: Google Talk requires TLS for connection at port 5222;
  • Server-to-server is not yet operational, don't know if it will: SRV DNS records are still MIA;
  • Port 5223 is open and Psi with SSL can connect. I used "Allow plaintext password", but I'm not sure if it is required;
  • Disco queries and Jabber:iq:agents return 503 for now;
  • Gmail address book integration: your buddies appear in your contacts inside GMail;
  • The other way around: Gmail contacts with a @gmail.com address appear in your roster with subscription none. Current clients don't send the invitation automagically for now :).
  • 1:41 WET: got kicked, server restart or premature err... launch? :); 2:33 back on.

Some other articles about this:

My take: I've been following XMPP for some years now, and tomorrow it will be a big day for all of us who believe that it is a excellent technology for IM and presence applications.

Although the service is still pretty basic, we are still poking in the dark to see what is out there. The small Gmail address book contact is something that a lot of people have talked about, but it might be the tip of the iceberg yet. I personally can only think about a Google-scale pubsub service. Imagine all those Google APIs with a push model to your desktop, using your XMPP stream. Bob Wyman is also talking about this.

Also, notice that server-to-server connectivity is still not there. And that's the big one for me.

Will Google open up it's network? I really really hope so.

In the following days and weeks to come, I'm going to find it interesting to see Yahoo, Skype and AIM response. MSN will be fun to see, at best.

AIM already has a server-to-server XMPP connectivity, but only to Jabber.Inc customers and the price point is not something to brag about, I've been told.

Yahoo and Skype don't seem to have many technology barriers to implement a XMPP server-to-server gateway: all their clients share a single domain name under their control.

As for MSN, well, the only domains that they can open up to XMPP is the ones they control: hotmail.com. All the other MSN users that use their own email address to authenticate themselves into the MSN network are out of luck.

This new service, for those of us who work in the instant message area, is not a small issue, and it's not hype. IM networks have been for some time isolated, closed islands, in which the only ways to interop are reverse-engineered software bridges like pyMSNt, pyMSNt or pyICQ, to name just a few.

But having a big name such as Google opening up it's network, we get traction. Maybe enough of it to level the playing field.

It's going to be a hell of a ride...

Technorati Tags: , , ,

August 23, 2005

The future is here

If you don't have the time to keep up with all that going on in the perl6 world, you can get a taste of the language now. Rafael Garcia Suarez has written a IRC bot named Shakti.

August 22, 2005

Pastafarians are welcome here

This Wikipedia article is brilliant. A positively must read, and don't forget to read also the votes.

Via Rui

August 20, 2005

Trac + darcs = I'm in heaven

In the last couple of months, I've stumbled across Trac for several times. It seemed very nice, extremely well integrated, but it would only support Subversion as his SCM system, and as you may have read, I'm more a darcs kind-of-a-guy.

So I never payed much attention to it.

I did jump when Justus Pendleton announced a patch to add support for darcs some months back, but I've read somewhere (can't seem to find the post now) that this patch only supported a older version of Trac. There is some talk about support darcs and other SCMs natively sometime in the 2.0 milestone, but that seems way of. The ideas regarding expanding Trac to other SCMs are also mentioned in this thread.

Last thursday though, I had lunch with João Gomes (who seems to have misplaced his blog/homepage), who is working in his course final project, and he is using Trac to manage his work between him and his partner. He gave me the tour, and frankly, I was totally sold. I had to find a way to make it work with darcs, and also, try to make it work at work, where we use CVS.

After some hours thinking, searching and browsing, I had a plan: use darcs to manage your code, just export your changes to a SVN repository on a regular basis to make Trac work. This idea should also be applicable to other SCMs like cvs, monotone, git and the arch family.

So now I had this tasks:

  • install Trac and all it's dependencies;
  • install and learn how to use svn;
  • learn how to configure it and make all the features work;
  • export a darcs repository to a svn repository, with regular updates.

Installing Trac

The server had a Fedora Core 3 setup, so I figure it should be easy. Rui spend most of the day telling me that it would be a nightmare, because the last time he tried to install this, it was a mess with dependencies. I have to admit, I was bit scared.

Yet, it was pretty painless. I followed the instruction on how-to setup a Trac in a Fedora Core 3 environment at the Trac project website, and I was happy.

I add to manually install the SilverCity Python module to have syntax coloring in Trac. It was painless with the usual python setup.py install.

Also, I had to download a Trac post-commit hook for Subversion from the Trac project site. Use the original raw format download link at the bottom, but be careful: in my case, it added some HTML to the end of the script. You should only copy-and-paste the script up to the HTML Doctype declaration. Instruction on how to use this post-commit are at the top of the script.

Installing svn and learning how-to use it

The Trac how-to on Fedora Core3 included the Subversion installation instructions. They worked without any problems.

As I don't need or want a Subversion server, there is no setup of those components, just the creation of Subversion repositories with the svnadmin tool.

Learning to use it was also easy. The Subversion book is excellent. The command line interface of svn is essentially the same as CVS, which I use for quite some time. No problems there. The administrative side of Subversion, creating repositories, choosing data stores, and configuring post-commit hooks was also simple.

All in all, I browsed the first 4 chapter of the SVN book, and read chapter 5 with some care. It took me less than an hour.

Configuring Trac

My advise: start simple. You can read the Trac Guide in less than an hour, but don't change everything at once.

The thinks I changed where:

  • Set up the post-commit hook: allows you to comment and close tickets directly from commit messages;
  • Setup permissions with the trac-admin command to your self: I gave me TRAC_ADMIN privileges for now.

The Apache configuration was simply copy and pasting from other places. Eventually I arrived at this one

<VirtualHost *:80>
  ServerName mytrac
  DocumentRoot "/servers/sites/mytrac/docs"
  ErrorLog "/servers/logs/httpd/sites/mytrac_error_log"

  RewriteEngine On
  RewriteRule ^/$ /cgi-bin/trac.cgi [R]

  ScriptAlias "/cgi-bin/" "/servers/sites/mytrac/cgi/"
  <Directory "/servers/sites/mytrac/cgi-bin">
      AllowOverride None
      Options None
      Order allow,deny
      Allow from all
  </Directory>

  <Location "/cgi-bin/trac.cgi/login">
      AuthType Basic
      AuthName "trac"
      AuthUserFile /servers/sites/mytrac/etc/trac.htpasswd
      Require valid-user
  </Location>

  <Location "/cgi-bin/trac.cgi">
      SetEnv TRAC_ENV "/home/melo/sites/trac_instances/test2"
  </Location>

  Alias /trac /usr/share/trac/htdocs/
  <Directory "/usr/share/trac/htdocs">
      Options Indexes MultiViews
      AllowOverride None 
      Order allow,deny
      Allow from all
   </Directory>
</VirtualHost>

I had to copy trac.cgi to my local cgi directory making sure it was executable, and also I changed the ownership on the Trac environment to the user that Apache runs on.

Although the instructions say that you should also change the ownership of your subversion repository, I think that this is only required if you use the Berkley DB data store, which requires a writable repository even for read-only operations. I'm using the FSFS data store that does not have this restriction. I didn't change the ownership of my repository, and so far it seems to work ok.

After getting this to run, I also make the setup of the tracd standalone Trac server. You just need to create a htdigest password file with the htdigest command of Apache, making sure that you use the trac realm.

I think I'm going to use the tracd live instead of Apache, at least until I try the FastCGI stuff. I like the support of multiple projects that tracd has, it seems better than the Apache setup.

You can also mess around with the config.ini file of your Trac environment. I did it just to change the default_charset to UTF-8, and enable logging.

After this, I was up and running and I had a working Trac installation.

Exporting a darcs repo to a svn repo

Now the fun part: how to keep using your favorite SCM and use all the Trac goodness.

Enter the Tailor script: a almost universal bi-directional SCM converter.

I'm using the old version for now, only because I found some other people using the same setup, but my final setup is going to use the currently in beta tailor, that gives a lot more flexibility (my favorite feature of the new version is the ability to preserve the author and the date of the change-set when you sync from darcs to svn).

After a quick download with darcs get --partial http://nautilus.homeip.net/~lele/projects/cvsync/, and a quick read over the README, you let it run:

  1. check out your target svn repository;
  2. bootstrap your svn repo with the contents of the darcs repo;
  3. update the sync after each change-set.

I created a directory on my home directory, darcs2svn, to keep all the stuff to do this migrations.

mkdir darcs2svn
cd darcs2svn
svn co file:///home/melo/sites/svn_repos/test2/trunk test2
Checked out revision 4.
~/src/cvsync/tailor.py \
    --bootstrap \
    --source-kind=darcs \
    --repository=/home/melo/sites/darcs.simplicidade.org/docs/repos/darcs2rss \
    --target-kind=svn \
    ~/darcs2svn/test2

After this we have a single change-set in the svn repository and I'm able to see it from Trac.

This is not that good. The history is lost. I found two workarounds to this.

The first one is to use the --revision parameter of tailor.py. It allows you to specify a tag on the darcs repository. It will then import all the change-sets up to that tag as a single one into svn. Then, further updates will be imported one by one. It's not perfect, because if you don't have a tag early on in your darcs repository, you might lose a lot of change-sets.

A better way is to use a temporary darcs repo and then hack a bit the tailor status file. First you create a new empty darcs repo. mkdir x; cd x; darcs init. Then to prevent tailor from failing, you create an empty change-set. The best way to do it is to tag your empty repository with the darcs tag command.

Now you can run the tailor bootstrap command changing the --repository to point to the temporary darcs repository. It will create the initial bootstrap and state information.

Now you need to change the tailor.info inside your svn repository. You'll see that the 4th line is your source darcs repository (notice that I'm not using the latest betas of tailor, the format of the tailor.info might have changed in later versions). Just change it to your real darcs repository.

Whenever I do a new change-set in darcs, you just need to run ~/src/cvsync/tailor.py ~/darcs2svn/test2. All the change-sets that are missing from the svn repository will be imported, one by one.

To make sure that Trac is in sync with all this changes, run the following command: trac-admin environment_path resync.

That's all there is to it.

One small warning: after the import, you might notice that the number of change-sets in darcs is bigger than the revisions in svn. The tailor script tries to import darcs change-sets that the darcs tag command creates, but those change-sets don't change any files, so no revision is created for them. This means that the subversion repository will not have your darcs tags, but it explains the difference between the number of change-sets.

Things to improve

This setup works but it's still not perfect. I haven't figure it out how-to bootstrap the svn repository with all the change-sets from the darcs repository. Right now, he bundles all the darcs change-sets in a single one. I assuming that this is a limitation on my part. We'll see.

Update: You can use an empty temporary repository and some small hack to work around this and import all the change-sets. See above for detailed information.

Also, the author and date of the change-set is not kept between repositories. This limitation seems to be solved in the new version of tailor. I'll have to try it

Final Notes

Until Trac gets darcs support, this setup works very well for me. I'll be moving my projects to Trac in the next weeks. I'll probably wait a bit to use the new tailor script.

By the way, it took me more time to write this how-to than to setup up the entire system...

After I wrote all of this, I found this message in the Darcs users mailing list. Well, I never said I was the first one to think about this stuff, but I hope this helps others to use Trac with darcs or other SCM supported by the tailor script.

I'll keep this post updated as I refine my solution.

  1. 20050819: initial version
  2. 20050820: workaround to import all the darcs change-sets
  3. 20050820: spelling, some clarifications about number of change-sets

Technorati Tags: , , ,

August 19, 2005

Do you feel lucky, punk?

People are wonderful, they really are. The lengths they go to workaround some "problem" they have is just wonderful.

Look at the various ways to workaround the Microsoft warning about unsigned drivers.

Some other articles about this problem where published by Raymond Chen, one of the best blogs I follow. Recommended.

Just wonderful.

Technorati Tags: ,

August 05, 2005

20 cms is not enough anymore

Update: this post was based on a IM talk with Pedro, and I understood that the entire cable was 20cm. Apparently is 20cm over the length of an Apple Keyboard. And in that case, I really don't see any problem with it. I do not agree, however, that an extension cable is a solution for this. I don't care how much it costs. It's just not "right".

It seems that Pedro is no longer happy with 20cm, it's not enough. It's the first time I heard him complain about that :).

Anyway, let me clarify that he is talking about the Mighty Mouse USB cable. He has some valid points: 20cm is not enough if you plan to connect the mouse to a desktop computer. And I didn't find any mention of the cord length at the Apple site.

Yet, I think that if you have a Apple laptop, 20cm seems just right, just enough cable not to get your hand tangled with excess cable. On the other hand, some people (like me) use the laptop as a desktop replacement, and it sits high in the air, on top of a Griffin Technology iCurve.

I think the idea behind the 20cm cable is that you are supposed to connect your mouse to the USB port on your wired Apple keyboard. Of course, if you have a bluetooth keyboard, you're out of luck, but then Apple expects you to fork some euro more for the BT version of the Might Be Here Some Day Now Mouse.

Well see.

Technorati Tags: ,

August 03, 2005

Do you like your coworkers?

Well, just in case you don't, let me introduce to a pet project you can take: the Super Maul (any relation to Dark Maul?).

If you prefer a different model, check out the entire site about office guns.

Me thinks some people have too much time on their hands.

August 02, 2005

No words...

I have to agree: the best t-shirt... Not EU unfortunately.

I read the book twice now, I like it, but the t-shirt is just beautiful.

Contacts

melo@simplicidade.org (XMPP/email)
+351 302 029 050 (voice)
melopt (Skype)

IronMan challenge

Iron Man badge Are you ready to be an Iron Man? Join the challenge and find out! (what is the meaning of this little man?)

Moosaico

Junta-te!

Recent Comments

Powered by Disqus
Creative Commons License
This weblog is licensed under a Creative Commons License.
Powered by
Movable Type 3.2