Archive for 2009

SQL Antipatterns

SQL Antipatterns is Bill Karwin’s presentation which not only covers the most common mistakes in database designing but also suggests several ways to solve them.

Android: SAT Vocabulary

Simultaneously with GRE Vocabulary I decided to release SAT Vocabulary. Applications have the same core and the same features. However SAT Vocabulary has its completed A-Z list of almost 5000 words.

At the same time GRE Vocabulary covers only letter A-D but already includes about 1500 words. I am still working on GRE words list and it looks it is going to be 10K+ words and definitions. But unfortunately downloads went extremely down – from about 200 on the first 24 hours it is hardly 20 per day now after 7 days on the Market.

Will see how it will work for SAT Vocabulary. It is already about 200 downloads in a few hours on the Market. Perhaps there are more people who is preparing for SAT rather than for GRE. Another advantage of SAT one that it has ‘all letters’ words.

In any way there is still a lot of work on some new features for both applications.

Update 7/12
: SAT Vocabulary appeared to be more popular than GRE one. It was downloaded almost 1000 times in a week on the Market which is already more than GRE Vocabulary after 2 weeks.

Android: GRE Vocabulary

Here I promised some experiments in software development.

And I’ve started one recently. A beta version of my first Android application was released early today. It is my first ‘production’ written on Java application too.

The application is simply called GRE Vocabulary. Its goal is to help to learn words required for verbal section of GRE exam which tests knowledge of words and their meaning. Unlike other similar applications it is free and going to contain comprehensive list of words – not just 50-100 ‘preview’ words. Current release has only letter ‘A’ words but it includes 475 (!) words and definitions!
There is no doubts that user interface is not perfect but it is only beta. I have a good list of future features. Hopefully user’s feedback will help to prioritize it.

GRE Vocabulary

Feel free to comment on this post or leave your suggestions at Android Market.

Update 6/30: about 350 downloads after 2 days on the market. Added 184 letter ‘B’ words. Working on a feature to mark words.

Girls rock a giant piano

Shiny Toy Guns – Major Tom

Another good song is introduced in commercial. This time it is 2010 Lincoln MKZ. Soundtrack “Major Tom (Coming Home)” is performed by Shiny Toy Guns.

Also the song can be downloaded for free on Lincoln’s site – http://www.lincoln.com/extras/asset/majortom.zip. Archive should contain a 10Mb file with a 320kbps encoded mp3.

Excuse me… Did you say something?

Excuse me... Did you say something?

Scrum In 13 seconds

Transformers: Revenge Of The Fallen

Looks like Michael Bay knows how to direct movies. 🙂

The Rock, Armageddon, Pearl Harbor, Transformers are followed by Transformers: Revenge Of The Fallen which may be the most awaited movie of 2009. Looking forward to June, 24!

MySQL: Add Leading Zeros

There might be many ways to force leading zeros to be displayed when string length is less than expected.

One of them is to use string function LPAD(). For example, the following query:

SELECT LPAD('1101', 8, '0');

returns ‘00001101’.

However, if string (first parameter) is longer than length (second parameter), the return value is shortened. For example:

SELECT LPAD('1101', 2, '0');

returns ’11’.

MySQL: Display Width Of Integer Data Type

Sometimes junior database developers are being confused by field types like INT(2). Does it mean 2 bytes or 2 digits only?

However it is just optional field width which in conjunction with the optional extension attribute ZEROFILL allows to replace the default padding of spaces with zeros. For example, for a column declared as INT(5) ZEROFILL, a value of 4 is retrieved as 00004.

Therefore the display width does not constrain the range of values that can be stored in the column, nor the number of digits that are displayed for values having a width exceeding that specified for the column. For example, a column specified as SMALLINT(3) has the usual SMALLINT range of -32768 to 32767, and values outside the range allowed by three characters are displayed using more than three characters.

But according to MySQL reference manual there is a possibility of problems when MySQL generates temporary tables for some complicated joins and larger values than the display width are stored in an integer column, because in these cases MySQL assumes that the data fits into the original column width.

« Previous PageNext Page »