Archive for February, 2008

Just registered for the MySQL Conference & Expo 2008

Monday, February 18th, 2008

I just registered for the MySQL Conference and Expo 2008. Note that early registration closes on February 26, 2008, so if you register now, you get a really nice discount. For what its worth, speakers were given a little discount code to give away  (20% off the conference price tag), and if you’re a blog reader, and the 20% discount will help you attend the conference, by all means drop me an email (firstname at mysql dot com).

Technorati Tags: , , , ,

LDAP vs. DBMS (or migrating to fedora directory server)

Monday, February 18th, 2008

Via the Fedora Miniconf, I attended Del Elson’s talk on Migrating to Fedora Directory Server. Interesting scripts, and glue code was presented, the slides (verbose, good) are online, but there’s no video :(

Tiny amount of notes:
LDAP vs. DBMS

  • directory has one schema, one “row” type (”object”). RDBMS has many tables
  • directory => optimised for reads, slow for writes
  • directory has an adaptable and mutable schema format - good for storing information about “people”
  • think about the fact, that people usually have more than one phone number…
  • access protocol - ldap vs. sql

Technorati Tags: , , ,

An introduction to ANTLR (sparse notes)

Monday, February 18th, 2008

I attended Clinton Roy’s excellent session titled An introduction to ANTLR: A parser toolkit for problems large and small. Now that the slides, and the video (1, 2) are online, I don’t know if my bits of notes are of any use (I made them while the tutorial was in progress), but they’re sitting on my desktop, and really should just get published. The files referenced below, you get via checking out the Antlr Tutorial Preparation wiki page.

Why use Antlr?
To parse configuration files, syntax highlighting, Domain Specific Languages (DSL), interpreters, translation/transformation.

Generates easy to follow code, LL(*) parsing algorithm. Bison is more powerful than Antlr. Compined lexer, and parser generator.

fun (int a, char b); <– as you do LL, till you hit the “;”, you have no idea if you’re dealing with a function or a declaration. Of course, there are look-ahead LL parsers too. An LL3 parser, which can see 3 tokens ahead, you still can’t see ahead enough, till you hit the ;. This is why, there exists an LL(*) - pick the smallest look-ahead, your grammar would need

Antlr, will help you get rid of using regular expressions.

Island grammars - one language, inside another (like HTML, inside PHP, or Doxygen inside C) are supported by Antlr.

Antlr Wiki is good, but hard to find things. Mailing list is great. The book by Terrence Parr is good, but out-dated, so go ahead, and get the online PDF version. A new cookbook/recipe list is coming out soon.

Using AntlrWorks. java -jar antlrworks.jar

conffile.g parses a = 1, b = foo.

IDENT   :       (’_'|’a’..’z'|’A’..’Z')(’_'|’a’..’z'|’A’..’Z'|’0′..’9′)*;
NUMBER  :       ‘0′..’9′+;
WS      :       ‘\r’ | ‘\n’ | ‘ ‘ {$channel=HIDDEN;};

The above are lexer rules. WS = whitespace. It reads from bottom up. White space, a number (0-9). IDENT will match foo, foo, foo1, but not 1foo (identifiers don’t start with numbers).

{$channel=HIDDEN;} <– IDENTs and NUMBERs get through the channel get through the parse. The whitespace, the parser sees them, but it will ignore them (i.e. hide them).

[-(byte@hermione)-(pts/6)-(11:21am:31/01/2008)-]
[-(/tmp/antlrworks)> l
total 248
drwxrwxr-x  2 byte byte   4096 2008-01-31 11:20 ./
drwxrwxrwt 44 root root 192512 2008-01-31 11:20 ../
-rw-rw-r–  1 byte byte    340 2008-01-31 11:20 conffile__.g
-rw-rw-r–  1 byte byte   8492 2008-01-31 11:20 conffileLexer.java
-rw-rw-r–  1 byte byte   4180 2008-01-31 11:20 conffileParser.java
-rw-rw-r–  1 byte byte     28 2008-01-31 11:20 conffile.tokens

conffile__.g - lexer file
conffile.tokes - tokens

CMinus.g takes input, which is a C program. Go to the interpreter, and you can then see the entire parse tree. Very impressive!

Technorati Tags: , ,

MySQL Miniconf videos, from linux.conf.au 2008

Thursday, February 14th, 2008

If you couldn’t make the MySQL MiniConf at linux.conf.au 2008, no worries - there’s recorded video!

For a full list of available miniconf talks that were recorded, check out what the LCA team has to offer. I’m surprised the LinuxChix talks never made it online (there was a really interesting memcache talk there…)!

If you download all the OGGs above, you’ll be down about 451MB. If you’re bandwidth starved, I have them on my laptop and will gladly share them on a thumb-drive.

Technorati Tags: , , , , ,

foss.in, day 2: A day of Sun

Thursday, February 14th, 2008

Day 2 for me started with watching Simon Phipps talk about Sun’s FOSS Philosophy and Strategy. It rained in the morning, so the talk started a little late, and there were hopes of better attendance. Nonetheless, the talk was interesting, and the announcement that there was money in it for FOSS developers, was just fabulous. I took away a few points, which I ended up Twittering:

  • There’s this idea of a global mesh nowadays, and its leading to a changing society. FOSS is all about it. And “Its Going Mainer Mainstream”!
  • Investment in skills is important for any country. There should always be a preference to invest in the local workforce. Simon mentions that all this allows you to keep the sovereignty of your country.
  • You cannot pirate free software. Want to avoid foreign interference, and all the worries of WIPO? Free software is the answer.
  • Simon Phipps thinks “software patents are bananas”. I tend to agree.
  • I also found out that the Sydney Opera House owns a trademark on all photos taken of the Opera House. That seemed retarded, and not long after, I found out this was similar with regards to the Petronas Twin Towers in KL. I can take a photo, but apparently, I can’t sell it on say, ShutterStock Photo or anything. Ridiculous.

I didn’t get to attend the next round of talks, mainly because I was giving my talk! The room was full, the questions were good, I was happy. I read a report, from Ditesh, so that’s a pretty good summary, I guess.

I really wanted to attend the Mozilla talk from Mitchell Baker (mainly because I’d have liked to have met her), however, I couldn’t resist going to the PostgreSQL 8.3 talk by Josh Berkus. It was an interesting talk, well rounded, with the occasional jab or two at MySQL. The attendance was about half full, and we had some unwelcome loud noises in the talk! I took away from it:

  • Contributors are full participants. PostgreSQL is owned and run by the community. Write a patch, and its accepted? Be prepared to write documentation.
  • CSV logging is now built-into PostgreSQL 8.3
  • I was introduced to Heat Only Tuples (HOT). Benchmarking, then seems to be skewed towards greater performance gains in PostgreSQL
  • MVCC: Overwriting model (InnoDB, Oracle) or the non-overwriting model (PostgreSQL, Firebird)
  • The attention to standards is great. Extending SQL, to create the SKYLINE feature, to power approximate queries, however, this was rejected for the core of PostgreSQL, and is available in their foundry
  • Release engineering in PostgreSQL is amazing. 6 weeks development, 2 weeks commit, and repeat.
  • There are doubts of an embedded PostgreSQL - this is what SQLite is for. I like the focus of the core team here.
  • You never want PostgreSQL running on handheld devices - heavy writes it has.
  • “There is no one size fits all solution, for databases” — Josh Berkus. I tend to agree
  • Why are few hosting companies providing PostgreSQL? Customers don’t ask for anything else? CPanel doesn’t run with PostgreSQL. pg_hba.conf (my.cnf equivalent) needs fixing, for controlling quotas (can be implemented via tablespaces), etc.

Next up, was the OpenMoko: What, why and how talk by Harald Welte. The talk was packed to the brim, and I didn’t learn much more than I’d have found out from their website. Its an interesting project, but with the upcoming Android, and the idea that I need a working phone now, I don’t know if OpenMoko is right. Besides, the battery life on that thing is horrid.


Colin Charles and Josh Berkus (photo, courtesy Josh Berkus)

Spent time talking to Josh Berkus, in the corridor, nearby the Sun booth about life, the universe, and everything. Then it was Lightning Talks, and dinner…

Technorati Tags: , , , , , , , ,

Life, recently

Thursday, February 14th, 2008

A lot has happened in the last couple of weeks…

  • I’ve moved. I now live on Chapel St. I had something like 16 boxes, and lots of furniture, which the efficient movers managed to move across within about three hours.
  • linux.conf.au was fabulous. I realise, I probably need to blog about it a lot more. All the scattered notes on my desktop, needs to go online, clearly.
  • I completed all my expense reports, and when I get paid, it’ll be a nice bonus :)
  • I flew a lot - I left Florida on Saturday morning, and landed in Melbourne on Tuesday morning for example. This after a 10-hour layover at LAX, and about 8 hours exiting the KLIA airport, to enjoy some of KL.
  • Chinese New Year, and the Year of the Rat beckons. I’m glad. 24 this year, is what it means for me, and I hope the Rat year is great for well, rats.
  • I caught up on sleep, a lot of it, and managed to veg out in front of the TV, because I just felt fried during the CNY break.
  • I’ve been playing around with Lua, learning it, wanting to write Proxy scripts with it, for instance.
  • There are a whole bunch of “book reviews” sitting on my phone, that need to be typed up (well, sent over Bluetooth, then cleaned up), and blogged.
  • I picked up a lot of Linux related magazines, with the urge that I want to start contributing to some of them in the near future. I’m hoping its a good ~AUD$60 well spent.
  • I played tourist, with Giuseppe in Melbourne, showing him around. Much fun.
  • I’m now uploading videos from my trips, to YouTube (quite naturally). You can view them. Quality is not fabulous, I hardly have the time to even narrate what’s going on, but they’re random snaps from my pocket camera.
  • Yes, I now own a pocket camera, which is probably why there are an increased amount of snapshots on Flickr now. Its a Kodak EasyShare M873. The irony is my first ever digital camera was a Kodak, and now I’ve gone back and picked up a pocket camera…
  • I’ve been submitting proposals to a number of conferences. There are a lot more to submit too. I’ve got to focus on Rails, period.
  • A nice big hello to my mother and father, who apparently read this blog.

MySQL, meets Sun

Thursday, February 14th, 2008

A lot of people have repeatedly asked me why I’ve not mentioned my thoughts on the Sun-MySQL acquisition (and this blog post, clearly comes almost a month later). I’ve just been pre-occupied and have not had the time to come up with a lengthy blog post. I can however, recommend the following video, created by Mike Lischke, of MySQL Workbench fame.



Naturally, you should also read the Q&A Session with Marten Mickos, that was mostly whipped up almost immediately after the acquisition. Editorial kudos on that one goes to Lenz Grimmer, Steve Curry, and Zack Urlocker. I pretty much had those thoughts that Marten answered really quickly, so I hope the Q&A is a good reflection.

But what does this all mean for me? Its too early to tell, right? Besides, I do know the Sun community quite a bit, having spent quite a few years working on OpenOffice.org (from the unofficial FAQ, to being a community marketing contact, to PowerPC and OS X porting work - heck, at the 2005 linux.conf.au, I was the Sun Regional Delegate, nationally within Australia which tacked on a great prize of going to OLS, and my first time meeting Simon Phipps), so I should be stoked, in general ;)

Thats not to say, I didn’t ask my colleague Lenz, seated next to me, if this was some kind of joke. He reassured me, it wasn’t. On internal IRC, Kaj then posted the link to his blog post Sun acquires MySQL, and at that point in time, I realised, it was all true. Monty was positive about it on internal IRC, and if its OK for Monty, it must be OK for the rest of us.

Here’s to the next chapter in MySQL’s story.

Technorati Tags: , , , , , , , , ,

The Eee PC: After a week

Sunday, February 3rd, 2008

After writing my impressions on Eeedora, it seemed only natural to write about the hardware. There are definitely some issues that I found with the Eee PC that I am not too happy about (and some that are just great).

For starters, who makes a laptop these days, without integrated Bluetooth? It just seems daft. This is a tiny sub-notebook, and how can I get on the Internet if I’m sitting in a train or a bus? The most natural thing would be for me to enable Bluetooth on my mobile phone, and use it as a modem. Oh wait, the Eee PC is missing Bluetooth, and its a WiFi only device. Sure, I can stick a USB Bluetooth dongle on it, but thats an external contraption, that I’ll have to make do with.

I was going through the fine print, and while ASUS provides a 2-year warranty on these laptops, the warranties themselves, seem to be limited to the country of purchase. These warranties, are not international. Who makes a laptop these days, that doesn’t expect the user to travel much? I can imagine that when travelling, the Eee PC can’t be my only laptop - I’m the kind of person that finds Dell’s next-day-onsite-business warranty pretty darn useful.

The keyboard, is tiny, but its expected for such a tiny laptop. I’m wondering why so much space is reserved for the speakers, and why not just give us a larger screen? I have a feeling its got to do with cost, and this can only get better in the future. I’ve noticed that the keyboard requires you to occasionally “jab” it harder, to get the key press that you want. Or its just that my fingers aren’t nimble enough, on this small thing.

The location of the left Shift key, is silly. In VIM, you occasionally tend to press the Up Arrow key, as opposed to the Shift key. I’ve seen people hack their Eee, to ensure that this stupidity is reversed. However, I’m not into moving keys around, to satisfy my needs at this stage.

The one button mouse, that does both right and left clicking is a very nifty feature. How do I middle-click? This is a very crucial feature in Unix land, and especially useful in Firefox (tabbed browsing).

The battery life, for something this tiny, sucks. It sucks even worse, when the WiFi is enabled (quite naturally). My dreams of it being used daily during a conference, or at a meeting, has clearly been shattered. To fix this, I might have to order an external battery pack, that outputs between 9-12V (apparently, 9V is too little to power this 9.5V device, but 12V is just fine).

I’m pretty happy with the performance of the SSD:

[root@Eee ~]# hdparm -tT /dev/sdc

/dev/sdc:
 Timing cached reads:   566 MB in  2.00 seconds = 283.05 MB/sec
 Timing buffered disk reads:    4 MB in  4.39 seconds = 932.40 kB/sec

[root@Eee ~]# hdparm -tT /dev/sda

/dev/sda:
 Timing cached reads:   566 MB in  2.00 seconds = 282.50 MB/sec
 Timing buffered disk reads:   66 MB in  3.07 seconds =  21.50 MB/sec

/dev/sda being the internal SSD, while /dev/sdc being a USB thumb drive (2GB, Sandisk Cruzer Micro).

The built-in video-camera, is pretty standard. Its resolution isn’t great, but it suffices for a video chat.

Sound, is OK. I installed VLC, to allow me to play video/audio, and realised that it was going to set me back, in total, about 21M, with all its dependencies. Hardly appealing, but I was going to have a more interesting time, bringing in Totem, for instance. I have managed to watch a DivX movie, without too much trouble. Will I be able to watch one, entirely, say, while on a plane (or train), I don’t know.

Yes, video, and DivX decoding, works fine on a 630MHz processor. Why has ASUS under-clocked the Eee, giving it a 300MHz performance slack? Did the difference, really save battery life?

There are many ways to hack an Eee. The many guides online, showing how and what one can do (from simple Bluetooth, to a GPS or a touch screen) is just amazing. I don’t plan on hacking my Eee (yet, anyway), and the most I’m going to do, is go get more memory- RAM is always a good thing.

Its small. I spent this week using the train and tram system quite a bit, and realised that even though the trips themselves were short, I was getting some work done (like finding time to write blog entries, and some code - I haven’t gone as far as installing a toolchain on the Eee yet, but if you can find some Internet access later, committing code is easy). Its OK that its cramped. And its OK that it works on top of my huge backpack. These are clear benefits of its size, and hopeful durability.

Its cheap. I had a colleague who’s laptop (a Macbook) died the night before he was about to give a talk. He could head a few blocks down, buy an Eee, and immediately start re-writing his talk again. I saw him deliver his talk, using the Eee and the stock Xandros that was installed on it. In the old day, if your laptop died, you just started to walk around with a notebook and pen,and you gave your talk informally, without slides :)

Anyway, enough rambling (I’m about to reach my stop). Next up, what powertop thinks of the Eeedora install, and re-spinning it.

Technorati Tags: , , , , , ,