Friday, October 27, 2006

Do you believe in God?

Well, I don't believe in God. I DO believe in Gods, indeed a fan of polytheism. I pray to lots of Gods day and night. And here is Their response.



Finally, somehow I think the ADSL line is uncapped or losing it's control and my Bittorrent download speed reaching 185KB/s, which is so cool (Well, just don't compare to the 8Mb line in Japan or elsewhere)

And Gods, I praying to You still. Please grant me a 8Mb line and forgive this tiny little greedy mortal.

My Preciousssssss (Will it be Ruby?)

Ok, here's the question.

Which one of the following is programmer's best friend? (See hints)

a. Ruby
b. Java

Hints:


Java's logo

Ruby's logo


Answer:

Well, it's sort of depends on whether you as a programmer like to drink coffee, especially Java type, or you rather earn more money (by selling Ruby?) and eventually afford to drink more exotic coffee than Java. For me, I think it's no harm to do both things at the same time, and why not. :p

Thursday, October 26, 2006

Enable Commenting (Comments)

An excerpt from Alphablox 8.4 documentation:


CommentsBlox allows you to provide cell commenting (also known as cell annotations) functionality to your application. In addition, you can use CommentsBlox for general commenting that are not tied to any other Blox. For example, you can allow users to add comments to a site, an application, a report, or a Web page.

Comments are stored in a JDBC accessible relational database. Supported databases include IBM(R) DB2(R) UDB, Sybase, Microsoft(R) SQL Server, and Oracle. This data source needs to be defined to DB2 Alphablox. DB2 Alphablox provides a Comments Management page under the Server link in the DB2 Alphablox Administration tab that lets you specify the relational data source to use for storing comments. From that page, you can create "collections" (data tables) to store comments. For cell-level comments, you will need to specify the multidimensional data source used in your GridBlox, the cube to use (for Microsoft Analysis Services), and the dimensions to include. For general comments, you only need to specify the name.


Here is what you need to do to get a feel of the built-in CommentsBlox in Alphablox.

First, go to Alphablox Administration Site, by default should be accessible from http://yourserver:9080/AlphabloxAdmin/

From the Administration main tab, you should be in General paage by default. There is a Runtime Management section, amongst others. Click on the Comments link under this section. A pop-up window should appear that refer to http://yourserver:9080/AlphabloxAdmin/comments/commentsAdmin.jsp.

Here you gotta define the comments collection (sort of like a repository to store a particular set of comments) and maybe customize the set of fields used for commenting.

Choose a data source that you already defined elsewhere, enter the security credential and click Connect button. All existing collections should appear in the list provided.


Click Create button, since you want to create a new collection. You need to fill in the details for the form provided, particularly you need to specify the dimension to enable the comments and the fields required for the comment entry.



Click Save once you done.

Ok, you have done with the necessary configuration.

In your Blox programming, you can do the following:

1. Enabling Commenting for GridBlox
...
<blox:data><blox:comments collectionName="YourCommentCollectionName" dataSourceName="TheDataSourceUsedForCollection" /></blox:data>
...

...
<blox:grid commentsEnabled="true" />
...

Then when you right click on your grid cell, an option called "Comments" will appear.


2. Use com.alphablox.blox.CommentsBlox and related com.alphablox.blox.comments.*

This allows you to implement Commenting feature for your relational reports or any other general usage. Requires programming though.

How to enable your UBUNTU to play RMVB media files

For UBUNTU distribution of Debian/Linux, it is often easier to obtain and install the software applications you need from reliable sources.

The GUI Based of package management tool (Synaptic Packager Manager) alleviates the prerequisite of understanding and using apt-get, wajig and other similar kind of utilities.

Here, I presented a step by step guide on how to setup your UBUNTU box to enable it to play RMVB (A famous media file format, usually used to share video on BitTorrent network in Asia).

Step 1:

From the taskbar, access Application then Add/Remove Applications.



Once activated, the program need to conduct some checks on installed components and their dependencies and etc. You just gotta wait.




Step 2:

Click on the Advanced button on your bottom left corner of the Add/Remove Applications window.




Step 3:

Then you will be in Advanced mode.

Note: The system might prompt you to enter password for authorization.


Step 4:

You need to add a new entry to the repository. Activate the repository settings screen through Settings -> Repositories from the same window.




Step 5:

Add a new channel, by click on Add button.



Make sure you select all the options on the Add Channel screen. and click Add.



Step 6:

Once added, you click on the Reload button on your top left corner to refresh the list of programs. Then You can start to search for this software called "mplayer".

Click on the Search button on the menu bar, and enter "mplayer" and hit search.

The search results should be displayed on the pane at your right handside.



Step 7:

Once searched, click "Apply" on the same menu bar like Search. It will prompt you a list of to be installed programs.




Step 8:

Your system might not have the CODECS requires to play RMVB files. repeat the steps again, but this time search for "win32codecs". Good luck.

Saturday, October 21, 2006

How do you pronounce IT in geek?

Adapted from WhatIs.com

1. While data has at least two alternate meanings, in computer science it's information that has been translated into a form that is more convenient to move or process. How do you pronounce data correctly?
a. "DAH-tuh"
b. "DAY-tuh"

Answer : b


2. If you work with databases, you're sure to come across SQL. But how do you pronounce it?
a. like "sequel" as "SEE-Kwill"
b. "ess cue-ell"
c. A & B

Answer : c


3. Schema derives from a Greek word for "form" or "figure." If you work with relational or object-oriented databases or programming languages, you may be familar with schema as the organization or structure for a database. How do you pronounce it?
a. "SHE-mah"
b. "SKEE-mah"

Answer : b


4. Debian is a popular and freely-available computer operating system that uses the Linux kernel and other program components obtained from the GNU project. How do you pronounce it?
a. "deb-ee-an"
b. "dub-eye-an"

Answer : a


5. The word "cache" comes from the French, though the meaning is quite the same in either language: to store something where it can be easily retrieved for future use. It's also a noun, referring to that store itself. How is "cache" pronounced in common English usage?

a. "catch"
b. "cash"

Answer : b


6. VoIP use has proceeded rapidly over the past few years. Services like Skype and Vonage have attracted millions of users. Cisco products are increasingly being implemented in call centers. How should you be pronouncing it?

a. "voyp"
b. as its acronym, like "vee - oh - eye - pee"
c. A & B

Answer: c


7. If you've used a wide area network (WAN), you've probably encountered the sysop, often a tech-savvy employee who receives a small stipend for trouble-shooting computer-related problems. How do you pronounce sysop?
a. "SIZZ-ope"
b. "SISS-op"

Answer : b


8. Linux was named by Linus Torvalds, who developed the kernel for the operating system at the University of Helsinki in Finland. Linux is everywhere now; adopted by government of Brazil and showing up in "skinny" versions in smartphones and other devices, notably the "$100 laptop." So how do you pronounce the name of the OS correctly?

a. "LIHN-nix"
b. "LIE-nooks"
c. "LEE-nooks"

Answer : a


9. Acronyms are everywhere in information technology - or should we say "IT?" An acronym is an abbreviation of several words in such a way that the abbreviation itself forms a word. Techies love them. BASIC, SIP, HTML, ASP, VoIP, ISP, SaaS, SOA, LILO; the list is goes on and on. We try to help you make sense of them in our daily IT Alphabet Soup trivia questions, but have you stopped to learn how to pronounce acronym itself?
a. "ah-KROH-nihm"
b. "AK-ruh-nihm"

Answer : b


10. In information technology, canonicalization (sometimes spelled canonicalisation) is the process of making something canonical -- that is, in conformance with some specification. To canonicalize (as well as the slightly less tortured variant to canonify) is to ensure that data conforms to canonical rules, and is in an approved format. Canonicalization is also a bit of a tongue twister - how do you pronounce it?

a. "ka-NOH-nihk-uhl-LIE-ZAY-shun"
b. "KA-nahn-nihk-uhl-ih-ZAY-shun"

Answer : b

Tuesday, October 17, 2006

IBM DB2 Exam 000-700

I did it in the reverse way. I took the exam 000-705, yet I still haven't take 000-700. It's time now to bridge the gap and to obtain the official title of BI Designer.

Following are the steps I took for the preparation:



1. Read DB2 Family Fundamental Guide from IBM

6 chapters guide. Clear and concise to help you pass above 75%.

2. Read eLearning Crammer Course Material from colleague

Consists some sample questions and added notes for task 1. If you read this, 80% and above shouldn't difficult.

6 chapters guide. Clear and concise to help you pass above 75%.

3. Read a 400 pages book

DB2® Universal Database™ V8.1 Certification Exam 700 Study Guide
By Roger E. Sanders

Must read if you plan to get 85% and above.

4. Use DB2 whenever possible

SQL section constitutes 31% of exam. Practice makes perfect. I wouldn't need to do this step since I'm already quite good in it. :p

Must do if 90% and above is your target

Note: No. No advanced SQL covered in the exam. No recursive SQL you bet!



My result sheet




Some of the questions are pretty tricky. I shall not put the real questions here, but just to give you some clues, here is a similar one:

(Not REAL questions)

1.) If you gotta build DB2 application on XXX OS and it need to access YYYY OS DB2 Server when deployed, which of the following DB2 product is the minimal you need?

a. DB2 UDB Personal Edition
b. DB2 UDB Personal Edition with DB2 Connect Enterprise Edition
c. DB2 Personal Developer Edition
d. DB2 Universal Developer Edition

Answer is C. Because you need to build DB2 application, you need the SDK toolkit and at least a DB2 UDB PE for testing, therefore C is the minimal. D can be the answer is the question is not on MINIMAL because DB2 UDE includes every DB2 PDE components. A and B is definitely not the answer since it doesn't include SDK in the package.

and another typical kind of question.

2.) What should you catalog for a client to access a DB2 host database?

Answer: You need to catalog the remote server in the NODE directory, the remote database in the System DB directory AND remote database in the DCS directory since you need to use DB2 Connect to access host database. You need to understand the parameter use in these CATALOG statements.


Good luck for you folks that taking this exam.

IBM DB2 Exam 000-705

To earn the title as IBM Certified Business Intelligence Designer, I got to get myself pass in two exams. 000-700 and 000-705. I already passed the 000-705 BI exam during IBM Malaysia sponsored workshop (It's free for IBM business partner).

Here is the summary of the 000-705 exam preparation and experience.


1. 3 days of IBM DWE V9 bootcamp

Hmmm, not that relevant to the 705 exam, more like IBM try to equip its' business partners presales skills on the new DB2 DWE. It covers topics like the new Design Studio, Intelligent Miner, Cube making and etc.

2. 1 day of 705 exam workshop

It is like a last minute top-up of the knowledge pertaining to the 705 exam objectives. The instructor covers the test objectives one by one, and goes through some sample questions.

3. Self study

Got myself the copy of study guide from IBM web site for BI Designer exam version 7, most of the concepts and theories are still applicable.

Found a few excerpts from the book
"Business Intelligence for the Enterprise",
ISBN: 0-13-141303-1

This book is only 240 pages and it tells you general "stories" of Business Intelligence. Personally, I found it not that useful for the exam, but still something interesting to read about.





Scored a 87.5% or answered 49 questions correct out of total 56 questions.
Hit major bumper in the section "Business Intelligence Data Sourcing/Movement", which mostly the questions on replication and types of data warehouse processing (full, incremental, snapshot, etc).

705 is not a technical paper. If you have decent experience in data warehousing and business intelligence, then questions in the terminology, requirements and architecture are piece of cake.

Again, it is easy to pass, but hard to score and excel.

Saturday, October 14, 2006

DB2 How to Empty a Table

In data warehouse environment, usually there is a need to clear out the contents of staging tables to prepare for a fresh set of extracted source data. You might also want to housekeep some historical aggregation according to some predefined schedules, which involves copying data from a table to another and subsequently removed all data from the copied table. These are just some of the examples that boiled down to the need of efficiently "truncate" a table.

Microsoft SQL Server and Oracle DBA are definitely enjoying the luxury of built-in table truncation functionality, through command like "TRUNCATE TABLE YourTableName".
Ok fine, but does IBM DB2 UDB, the so-called most scalable and performing RDBMS provide such option?

Before that, let me evaluate some of the options of removing rows from a table.

Option A:

DELETE FROM YourTable

Well, you can delete all rows using this statement. However when involving lot of records, transaction logging causes significant performanc degradation. Still, this option is acceptable if your application requires recovery of deleted rows.


Option B:


(Assume this is within the same transaction)
ALTER TABLE YourTable ACTIVATE NOT LOGGED INITIALLY;
DELETE FROM YourTable;


You managed to escape the bad luck of doing a lot of transaction logging. But wait a minute, constraint checking are still in force (Check yourself by doing explaining a DELETE FROM statement).


Option C:


(Assume this is within the same transaction)
SET INTEGRITY FOR YourTable OFF;
ALTER TABLE YourTable ACTIVATE NOT LOGGED INITIALLY;
DELETE FROM YourTable;


Again, you managed to skip the logging and check constraint and referential constraint checking, datalink integrity checking, and generation of values for generated columns. Primary/Unique Key constraints still enforced.

Option D:


LOAD FROM /dev/null of del REPLACE INTO YourTable


This is by far the most common workaround that I have seen for table truncation. It basically uses the LOAD utility on /dev/null for simulating the loading (replace) of no-data into the designated table. The same concept works for Windows environment.

You can also use similar IMPORT FROM /dev/null of DEL REPLACE INTO YourTable. There are some differences between IMPORT/LOAD.

Option E:

With a little bit of guts, you can drop and recreate the tables. This can be tedious if you got to recreate every constraints/views/etc that dependent on the "new" table.

Option F:


ALTER TABLE YourTable ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE


This is by far my favorite way of doing "TRUNCATE Table" in DB2.

Which ring suits you? You decide.