Monday, 24 July 2006

Dinner at Musashi

Vivian’s birthday today, so she picked me up from work in the evening, and we went to Dining Bar Musashi for dinner tonight. And thanks to Amanda who baby-sit for us :)

It was surely a popular Japanese restaurant. When we arrived there were already people queuing up outside. Here’s what we have ordered:

Chicken, Tofu and Udon Vivian and Food
Icecream

(Teriyaki chicken, tofu steak, seafood udon noodle and green tea/sesame icecream)

Yum!

Category: General | 4 Comments
Thursday, 13 July 2006

Holiday on the Coast

Plane took off at almost 9am, and landed on the Gold Coast before 11am.

Holiday!!!

I will be off on the coast for 10 days enjoying my holidays here, with Vivian and Anna. Weather here is great — sunny, warm with slight sea breeze.

Category: Life | 6 Comments
Tuesday, 11 July 2006

Windows Update Removes Commonwealth 2006 DST Changes

A new Windows Update applied this morning, which according to this knowledge base item, it “remove the Australian daylight saving time 2006 912475 update”.

Daylight saving time changes to standard time on last Sunday of March, 2007. Therefore, computers that have the KB 912475 update installed will not show the correct 2007 daylight saving time transition date for the affected time zones in Australia. These computers will change from daylight saving time to standard time a week late, on April 1, 2007.

I have previously blogged about that KB 912475 change, which was caused by Commonwealth Game 2006 in Melbourne finished on the same day of DST change. Apparently Microsoft Windows is not capable of managing DST change exception just for one year. Therefore in order to display the correct time in 2007, Microsoft is pushing out another automated update to revert back to the old behaviour.

I think it must be very confusing to software packages that keeps internal data in GMT/UTC, and apply the local time when it needs to be displayed. For example a diary/event scheduler. An event created between 26 March and 2 April 2006 will have the correct local time offset with KB 912475 applied — but after KB 913670 has been applied it will use the wrong offset.

I guess it is not uncommon for MS to break one patch with another patch.

At least Linux timezone file is unaffected as it takes care of the exception years.

Category: Uncategorized | 0 Comment
Monday, 10 July 2006
Friday, 7 July 2006

Dick, Jane and Ecclesiastes

Fun with Dick and Jane We watched Fun with Dick and Jane (FDJ) on DVD on Tuesday. Haven’t had an opportunity to watch a DVD for a while, and I actually felt quite privileged to be able to just relax and joy the show. FDJ is indeed enjoyable — what do you expect when you have Jim Carrey acting mad! Well, actually I won’t say FDJ is one of Jim’s “better movies” (Bruce Almighty, Eternal Sunshine, etc). The performance is “okay”. Jokes ain’t all that funny. However, although the story line can be kind of exaggerating, there seems to be a bit of relevance to those who have gone through the bubble and burst.

Continue Reading »

Thursday, 6 July 2006
Wednesday, 5 July 2006

Firebird 2.0 RC3 Released

Firebird 2 Release Candidate 3 has just been released, and you can now download binaries for major platforms here. For Windows the FB 2 setup exe comes with both classic and super-server.

We actually have been deploying only super-servers, on beefy boxes with 2x dual core with 2x HT each (8x processing unit in total), because of our lack of experience in classic servers. Well, those server boxes do run other applications so you don’t get CPUs sitting there doing nothing, but I still wonder which one will be more suitable — one single super-server with shared page cache pool that can only utilise one CPU core, or multiple classic server instances that have their own page cache. However we do have up to 160 concurrent connections to the database on some of our boxes. Not sure how Win2k3 will perform with this kind of process count. Damn! Wish we can deploy them onto Linux boxes.

Well, we know that Firebird 3.0 will solve the super-server concurrency issue. When it that coming again?

Now onto Firebird 2 — it has not stopped to impress me with its improvement over FB 1.5. I was helping M resolving one slow query this afternoon. It looks something like this:

SELECT rows FROM table1 t1
 INNER JOIN table2 t2 ON t1.id=t2.id
 WHERE t1.id IN (v1, v2, v3, ..., vn)

Both table1 and table2 are large tables — both around 250,000 rows each. In Firebird 1.5, it will do a NATURAL (a sequential search basically) over the smaller of table1 or table2 and use the index on id column for join, even when n is small — like 20. So in order to return 20 rows of data, Firebird has to scan through at least 250,000 rows, which totally kills the performance. Actually it stalls the FB a couple of times this week on a production site to a point which we need to restart FB server to bring it back to sanity.

Whereas in Firebird 2, it will try to use the index for v1, v2, …, vn instead, if n is small (seems to be around 130 mark). It is much faster when the table size is large. Yeah! Problem solved by just upgrading the DB.

Except all our production servers (except one) still use FB 1.5, and probably will not switch until FB 2 final is out. Besides upgrading 40+ DB servers plus converting 200+ DB to 2.0 ODS will be painful. Also it won’t work all the time for us, as our n can be up to a few thousand. Problem of pulling data out from one SQL Server, and try to use it to perform queries on another DB…

Of course we can also build a temporarily tables and do a inner join. Now I just need to work out how to make thousands of temporary insertion fast

Category: General | 6 Comments

Elastic tabstop that ends the holy war?

Via Joel on Software, Elastic Tabstops is an attempt to use expanding/elastic tabstop characters to solve the tab-vs-space issue.

Yup. Tab or space. Or in the case of “space” — how many space characters? Also recently debated on wp-hackers mailing list when Matt released the WordPress coding style, every single programmer seems to have his/her own style. For me, a Python programmer who follows PEP 8 religiously, I like my code to have 4-space shift and every single line has to fit into 80 columns. Somehow it also affects me when I code in other languages…

Now back to elastic tabstops. It is basically trying to create “tables”, and it introduces the concept of “columns” together with “rows” or “lines” of text. A <TAB> character puts the following text into the next column on the same row, so that text in the same column aligns properly vertically. A new line character basically starts a new table with a different set of column width. Very neat.

Don’t think it is going to work too well with older editor that has fixed tab width. Not sure how it handles complex situations like “column-span” to allow omitting a tab or two.

I’ll stick with my Vim 7 for now :)

Category: Uncategorized | 6 Comments

New Theme

Playground v2 I have updated Playground to a new WordPress theme. It’s pretty much derived from the old theme, 100% hand coded. These are the things I want from a new theme.

  • Simple one column layout. White background, dark gray fonts, and nothing fancy.
  • Bigger text font. Probably better for those who do not have 20-20 eye sight, but it also looks better with a wide one column layout with no sidebar.
  • Fixed 728px column. That’s about 50 pixels wider than the old theme, so I can fit a 728×90 leaderboard across the top :)
  • Breadcrumb at top. I find them helpful for navigation, also tells the visitors where they are.
  • Extended footer. All the guts on the sidebar (actually I did not even have a sidebar before!) are now moved to multiple columns in the footer.

Everything else pretty much retained from the old theme — quickies on the home page, gravatar integration, etc. I am still tuning the layouts and fixing bugs, especially those browser incompatibilities.

Category: Uncategorized | 1 Comment