« May 2005 | Main | July 2005 »

June 23, 2005

Lazy bum

Until I get something better, I added a new field to the comment form: site name. Just type simplicidade in there and all will work out well.

Until I get a decent anti-spam system, this one line patch to MT::App::Comments will do. I need some time to install a system like the one Carlos pointed out recently.

Technorati Tags:

Long day, good ending

Day started at 5:15. Almost 5 hours of downtime of my service, pure stress. It's fun to debug distributed systems, closed source, with lousy debug and lot's of threads. It's not fun to find out that a stupid NLS_LANG can cause so much trouble. I hate Oracle sometimes.

Called a night around 22 hours, just in time to catch a movie.

If you ever get to watch a movie this month, choose this one: Sin City. One word: wow! It's so nice to see Jessica Alba again, the beautiful Manticore-engineered Max.

Going to bed now. The day starts at 5:30 again tomorrow.

Technorati Tags: , ,

June 14, 2005

Back from Reboot

Back from Reboot to find my MoveableType spammed to death. Around 400 spam comments and around 20 valid one (including some from Nuno which seems to think this was on purpose).

It should all be ok now.

I'll take this time to remmember you to check the feed that you subscribe me from. I recommend that you use the this one, which includes comments, so that you can track my replies.

I'll try and post some thoughts from Reboot in the next few days. The think that I want to write the most is the Subethaedit experience.

Now, back to work.

oh! before I forget: on the right hand side, you'll find a small box courtesy of plazes.com with my location. It's an experiment, and it should be updated whenever I open up my laptop.

June 11, 2005

Greetings from planet Earth

Nuno, I'm at Reboot, which I think it's still on planet Earth (although you could argue that some people here have fallen from some other place), so no time to pretty graphics. But let me show you something:

  • Microsoft: Market cap 274.75B
  • Apple: Market cap 29.51B

Now, which one do you think is the company that is innovating the most right now?

Size does not matter, it's what you do with it.

AMD would be a better choice to Apple if they had a better technology than Intel, and right now, they do in terms of x86-64. After reading the ArsTechnica article, we are told that Intel seems to have a better roadmap than AMD.

It's not only about cost per cpu. Apple already sells their gear at a higher price point than the rest, so a difference of x amount of dollars, if they had a better technology with it, would not be a problem for them. One could argue that this was the reason to keep PowerPC for so long: better CPU, albeit more expensive. They only changed their CPU when the roadmap of the competition was better. So it seems that Apple prefers technology over price (for reasonable differences between prices, of course).

I would bet that if AMD had a better roadmap than Intel, they would choose AMD.

Now, the point of Ars Technica article is a good one, and for now I find it acceptable to my question (Why Intel?). But I think that the main reason is the roadmap, not the size, nor the market cap (which is meaningless).

And now back to Cory Doctorow, preaching the good word: broadcast flag in Europe.

June 10, 2005

Notes from the conferences

There is a wiki page with all the notes taken collaboratively with SubEthaedit here.

Check it out.

Technorati Tags: ,

Dina Mehta – Social Tools for Research and Collaboration

Just left the conference of Dina Mehta – Social Tools for Research and Collaboration.

It the best one so far. She talked about the blog/wiki/network collaboration that grew out of an collaborative effort when the December 2004 Tsunami hit. They had a chaotic environment and operation but from that, order slowly become apparent.

The most interesting point for me is that the reason she thinks it worked was that people were helping out in the fields of expertise they had. Each person felt the pressure of responsibility and that made them keep on their respective fields but with a will to share.

The main problem she had was about classification: with so much information coming in, how do you classify all of it? They solved by keeping the points of entry of information low (3 public emails on the homepage) and then having those three persons pass on the information to the correct task force.

This pyramid scheme worked well for them, and kept the information flowing.

The tools used where blogs, wikis, IM, and a lot of Skype.

On other news, this talk was edited by 8 people in Subethaedit. The pace of the talk was enormous but it was possible to keep up. It was interesting to see a talk about collaborative tools being transcribed or annotated in real time.

Technorati Tags:

Subethaedit at work

See

Subethaedit

Yesterday, we had 5 people cooperating on the same document, at Building of Basecamp. At the end of the day, 1400 lines where written by us.

Last night I wrote about that the old way, pen and paper, so I have to copy that into here sometime later, about the rules you could use in those situations.

Bonjour to you too

Check this out: Screenshot 01

Amazing the list of people here... 450 persons from all over... Just starting.

June 09, 2005

Let's try this again

Nuno, let's try this again: both two posts I wrote about this minor issue (the one you quoted in your initial article and my response to that article) are not against x86. Please re-read them.

It's about Intel. Not x86, but Intel. That's what I'm skeptical about (and thanks for the explanation about British and American spellings).

It's not that I don't like x86, I use them every day of my life, in all the servers I buy, or the servers I recommend buying.

You quoted the second part of a paragraph. Let me quote the first part of my own article

I'm not skeptical about x86 choice by Apple.

Is there any subjectivity in that statement that eludes you?

I really hope not.

Regarding the volume argument, I'm not so sure yet, although I agree that it is a very big bonus. I'll re-listen to the webcast in search of that Jobs explanation of the reasons for the change. I do agree with the power angle. It is very useful to Apple to have a chip that runs cooler than the G5s with a equivalent performance.

In the meantime, I'm still waiting for my dual-core G4... :)

June 07, 2005

Sharing the pain

The new PowerBook saga continues. What will I do next? Well, I really don't know. For now, I'm sharing the pain with others.

Questions to be answered:

  • how long after Mactel shows up will Apple support PowerPC hardware?

Will see.

It's not about x86, Nuno

Nuno didn't read my posts closely enough, it seems:

Some people (lots of them in fact) seem to be sceptical of this and wonder why the heck would Apple switch from a so far successful hardware architecture.

I'm not skeptical (ant not sceptical, according to Mac OS X spelling check) about x86 choice by Apple. I'm skeptical about the choice of vender of x86 architecture.

My feeling is that Intel is not innovation in the last years and they don't seem to have a strategy to x84-64 (compare Itanium sales to Opteron). That is my whole point.

Yes, I do understand your point about volume, but I'm not convinced yet. IBM will be increasing its production in huge amounts, now that they are powering Xbox 360, PS3 and the Nintendo Revolution. Of course, AMD is not there yet, but in high-end processors, they are cheaper than Intel (which kind's of makes a dent in your point about volume == cheaper).

Anyway, Nuno, I welcome the change, if that gives me a better laptop than my current TiBook. And that is not clear to me yet.

Another thing, in your comments, you write:

What defines an Apple product isn't the hardware - it is the design, OS and applications. Users don't give a damn for what is under the hood.

As an Apple user, I'm sorry, but that is not my opinion. I say that the hardware is a very important part of this, because having to use Apple-sanctioned hardware makes the experience more complete and reliable. Apple "just works" because the hardware is engineered to work together with the software. And that is, to me, the most important part of the Mac: the fact that, on average, it just works. That is the reason I bought a mac, and it's the reason that I don't mind to pay the extra, to have a machine that was designed to "just work".

Questions needing answers

Going forward, I'll see lot's of talk about Apple and Intel. As Rui as told you, as long gcc runs, I'm ok. I use my Mac mostly in UNIX-mode, so I'm not in too worried.

Now, the only thing that is still unanswered in my mind, is why Intel. Why not AMD. Also the 32bit question. So I decided to keep a log of my questions (and hopefully answers):

  • Why did Apple decide to go with Intel and not AMD? The best reason so far is form ArsTechnica - branding. Intel brand is much stronger than AMD, although technically they are inferior. Also, check out the last two paragraphs, where a "Intel needs Apple" topic is explained. Also a nice point of view.
  • Is the choice of Apple to use Pentium-class chips? I'm not sure about this, but they are 32bit, right? The G5 is 64bit, so using 32bit Intel chip's is going back in time.
  • What is the chip choice of chips for x86-64 that Apple will make?
  • Do they use the classic PC BIOS? Well, according to ArsTecnica, they will not use Open Firmware...

Now, let's wait a week or so and collect all the answers.

Personally, I would love to see Apple going the Opteron route, but that seems unlikely now.

June 06, 2005

Mac + Intel = Free Softcore porn

Well, at least will get softcore porn out of this deal...

I will post pictures of me naked on top of my car in broad daylight if Apple moves to x86 chips. Seriously.

:)

June 05, 2005

Why Intel?

Let's say that I buy into all this stuff about Apple switching to x86 chips. I don't, but let's assume I do.

Why Intel? Why? Why not Opteron? It's a superior architecture, and the PowerMacs already use HyperTransport...

Well, will soon find out what this is all about. The only sure thing I know, is that Jobs does not announce the switch to x86 chips next week, CNet and other will have a lot of explaining to do to it's readers :).

June 04, 2005

Ruby on Rails, and Catalyst

So, after having learned a bit about Ruby, the next logical step for me was to try Ruby-On-Rails.

A bit of background: before going to work at Sapo in the XMPP Messenger product, I was a lead-developer at Novis. My main task there, was to build websites and provisioning systems, and the glue that ties billing systems with technical databases. We used a framework that was developed internally since '99, and in it's latest generation was called Apache::WAF. It was a MVC-style framework, with a strict separation between code and layout. The View was Template Toolkit, but it was extensible to other technologies (we used Mason a lot also). The Model where our own provisioning system libraries and other stuff. Apache::WAF allowed us to build the Controller very quickly. Also, it was pretty fast, using mod_perl.

So using MVC-style frameworks in web development is nothing new to me.

Except that Ruby-On-Rails is much more than that, and in a extremely clean package. You can get up-to-speed in no time, thanks in part to the generation of code that is the base of RoR, and also to the Screencasts available at the Ruby-On-Rails website.

Also, having a clean and powerful language behind it, it sure helps.

It's not perfect. The part of mapping URLs to controllers could be better. RoR uses the same setup that Apache::WAF uses: you register URL namespaces on a special config file and associate them with controllers. The main advantage I see with this approach is that you can look at this single config file and know all the URLs of your app, so clashes are less likely.

The Model part of RoR is just excellent. As far as I can tell, there is no Perl equivalent to ActiveRecord. Yes, yes, I know about Class::DBI and Alzabo, and the others. But those solutions solve the CRUD problem: creating, retrieving, updating and deleting one object at a time. They all have solution for forging relations between tables and objects. But ActiveRecord does all that and more. It's the first framework (and I really expect and would love to see some perl guru to jump on me on this one and say "Have you looked at X on CPAN?"...) I've seen that solves the 1+100 queries problem efficiently.

The 1+100 queries problem is simple to understand: suppose you have a Books table and a Authors table (for simplicity, a book can only have one author), and you want to list all the books with the respective authors.

With a basic CRUD framework, you do a Books->find_all or Books->search to get all the books and for each one, you do something like $book->author->name to get the author name. If the first query for books returns 100 books, you'll then do 100 queries for authors. Yes, yes, you could cache ID->name of authors, but that really is not the point. The point is that something that should be done with a simple join at the database level with a single query, is now being done with multiple queries (and if you write to me saying that "Yeah, but my MySQL is fast enough you wont even notice", I'll warn you right now that I'll verbally abuse you. Real world is a lot different).

ActiveRecord is able to solve this. You can say that "Please give me all the books, and also their respective authors" and with a single query to the database, you'll get a list of Book object with the author method returning a pre-created object. You can even specify which fields you need from author.

It's very very good! The Model in Ruby-On-Rails is for me the part that makes the most difference to the other MVCs I've used in the past.

Ruby and Perl

I've been learning Ruby for the last couple of weeks. I bought the book some time ago, and I've been reading and rereading it several sections.

Ruby is a very very good language. Blocks are one of the most productive features I ever used in a programming language.

Yet, I use Perl everyday. I'm a Perl user since 4.something patch level 35 or 36, and I really like perl5. Also, at work, I need Perl and POE to build XMPP components. It's a very productive setup. Also, after more than 10 years in Perl-land, you get to know the language, the modules and the community very well, and that helps.

But I can't stop thinking that Ruby would be useful in a lot of situations at work. Right now, I think there are 4 or 5 people there looking at Ruby, but all with a "Wouldn't it be great to use this?" type of thinking, and no "Let's use this right now". I understand exactly why we think like that, it's a very big company, a long-lived project, with a lot of legacy, and frankly, the right project for Ruby doesn't seem to have emerged yet.

I've been looking for XMPP stuff in Ruby. There is Jabber4R which is very good to do a bot in a hurry, but I lack a event-driven framework like POE in Ruby so that I can write my external components.

So I'll keep using it for small things, to keep the language alive in my brain. I'll try to figure out how to achieve critical mass around me to start using it in a big way.

Of course, I must also think about perl6. But I'll confess: for a long time perl5 programmer like me, perl6 is more scarier than Ruby. It seems (I haven't read that much about it, I just keep up with the Mailing list summaries) very powerful, but I think that the language is getting more cryptic. I don't know if that's a language feature, or the current perl6 guru's showing off the power and expressiveness of the language. Anyway, for me, it's scary. I've been fighting the last 4 or 5 years to write and teach other people to write good maintainable perl5 code, and I haven't seen examples of maintainable code in perl6.

This year I'll be attending YAPC::EU and probably YAPC::NA later this month. And my main goal is to see what perl6 is all about, and if it is as scary as it seems.

Quick startup to Apache bliss

So you need a Apache setup with PHP or mod_perl, and you need it fast.

Head on over to ApacheFriends website, and download XAMPP. It's a pre-compiled version of Apache with all the best and most useful modules already compiled and configured.

They have four distributions: Linux, Mac OS X, Windows and Solaris. All the versions are stable except the Mac OS X. They are still ironing out the last details on that one.

The Mac OS X version includes:

The distribution for Mac OS X contains: Apache, MySQL, PHP & PEAR, SQLite, Perl, ProFTPD, phpMyAdmin, OpenSSL, GD, Freetype2, libjpeg, libpng, zlib, Ming, Webalizer, mod_perl, phpSQLiteAdmin.

Very cool stuff.

Got my ticket to Reboot7

Got my ticket to Reboot7 today.

I'm going with André and Pedro next week.

I'm assuming that we'll have some network connectivity, so you can expect some notes about each conference I attend.

Iconize me!

After waiting almost 5 months for my order, I finally received my Iconize me! order this week. It was worth the wait!

You can see the result on my blog homepage, also on each archive page.

I choose the premium package, and I got a small .GIF useful to be used in webpages, a monstrous JPEG (2000x3000 something 300DPI), and a PDF version, vector version of it. Sweet!

New backpack

After carrying the same backpack for 3 or 4 years now, I was given a new one yesterday, as a birthday present.

Anyway, I decided to switch to the new one today, I can use the new one, it has more pockets. And I have a lot of stuff.

A lot of stuff. Those that know me personally know what I'm talking about. I carry with me around 10Kg of stuff always.

Anyway, I decided to document the contents of my backpack. You can find the result at my Flickr page.

Thanks, Cristina, this was a great present.