Saturday, December 30, 2006

Happy New Year & the 100th post!

A happy New Year to you all! I hope 2007 will bring all the best for you... and many thanks for visiting my blog the last year.

This post is also very special, as it's the 100th post on my blog! In one year one hundred posts.

Friday, December 29, 2006

My new toy - HTC P3300

Yesterday I got my new smart mobility, the HTC P3300. My first experiences with this phone/pda are great. I love it. The sound of the phone is very good and although the processor is slow, windows mobile 5 is working very fast. This pda is unique due to the "ipod-kind" of navigation with the rotating weel (HTC RollR). Some people hate it, but so far, for me it's working nicely. Windows Mobile 5 is far from being perfect as Scott Spendolini posted so nicely, but you can get the job done although it won't be in the most user-friendly way.

I still have my IPAQ HP 4700hx, which I used happily for two years. The processor of the HP is far more powerful, but it doesn't have an integrated phone or gps. I'm not sure I will still use it in the future.

I doubted between taking a phone with (for ex. HTC TyTN) or without keyboard. I decided to take one without as I'll primarily use the pda as phone, gps and to search through my agenda and contacts. That the HTC P3300 wasn't as heavy and big as a phone with keyboard was an extra. Of course today I saw a post about the HTC phones for 2007 in this road map. Maybe the follow-up of the of the new HTC TyTN can be interesting too... as usual in IT, the moment you buy something, the next day a new and better one sees the light ;-)

Nevertheless I wanted to blog about this nice pda as I've spent a whole day playing with it and I really liked it.

Thursday, December 28, 2006

Follow-up comments with Cocomment

Did you already put comments on blogs? And did you find it also difficult to keep track of that reply or follow-up comments of others?
I saw some people came to my blog through cocomment and had a look what it was. It's a very nice utility to do exactly what I missed. It keeps track of the comments on the blogs you specify. You can find more information on the website of cocomment.

There's even a way to include it directly in your blog or in other words integrate cocomment as "one-click" for your visitors. Anybody did this with blogger? There're some example codes on the cocomment website, but I didn't try it yet.

DG Tournament updated with PW-Error Handling

Patrick Wolf and I exchanged some mails in the last weeks. I promised him to test his "ApexLib Framework" in my application.

As you can see on the picture, the package is integrated and works nicely. Patrick explains well how to integrate the package on his blog. I didn't follow the steps exactly like he wrote, for ex. I didn't make a region on page 0, but integrated a part in my template and a part in the page where I wanted to use the advanced error handling package. I also saved the javascript file as a static file in APEX.

You can't see this package working in DG Tournament for real, as I implemented this error-handling in the editor/admin part of the application. I didn't choose to implement it in the "Your Bets" page as I use (client side) javascript in that page to avoid "human"-errors. For ex. you can only type numbers in the score fields, so I don't need to check if a number was entered (and I avoid a round-trip to the server). But the picture shows you a nice error.

The ApexLib package is good, it shows very nicely what you can do and how you can improve APEX, but there's still room for improvement:
- check also if there's a number as value (now if you type 'A' the error isn't "right")
- more client-side scripting instead of server-side round-trips (but that also counts for APEX in general)

The page validation I used:
DECLARE
vMin NUMBER(3) := 0;
vMax NUMBER(3) := 99;
BEGIN
FOR i IN 1 .. ApexLib_TabForm.getRowCount
LOOP
IF ApexLib_TabForm.hasRowChanged(i)
THEN
IF ApexLib_TabForm.NV('HOME_SCORE', i) NOT BETWEEN vMin AND vMax
THEN
ApexLib_Error.addError
( pError => 'The score of the home team has to be a number between %0 and %1'
, pColumnName => 'HOME_SCORE'
, pRow => i
, p0 => vMin
, p1 => vMax
);
END IF;
IF ApexLib_TabForm.NV('VISIT_SCORE', i) NOT BETWEEN vMin AND vMax
THEN
ApexLib_Error.addError
( pError => 'The score of the visit team has to be a number between %0 and %1'
, pColumnName => 'VISIT_SCORE'
, pRow => i
, p0 => vMin
, p1 => vMax
);
END IF;
END IF;
END LOOP;
RETURN ApexLib_Error.getErrorStack;
END;

* Update 30-Dec:

If you specify a format mask for your text field, the error is as expected. In my case I had to specify for HOME_SCORE and VISIT_SCORE format mask 90.

Wednesday, December 27, 2006

Flashforward 2007

I'm not sure what 2007 will bring for me...

On professional life the goal is to promote Oracle even more as before.
I also love Application Express, so that will keep a place in my heart too. I also hope to work more on myself and explore new, unknown sides of myself.

My wishes in my private life; most important: to stay happy... but if I'm allowed to wish for more, we hope to find a house and maybe start a family.

Tuesday, December 26, 2006

Flashback 2006

When I look over my shoulder I can be an happy man. For me, 2006 was a fantastic year, both professional and private.

My highlights:

  • January, 18: Creation of this Blog and first post
  • February, 25: First public adoration for APEX on this blog
  • May, 30: Release of the World Cup 2006 APEX application to the world
  • June, 6: Tom Kyte's post about my application
  • June, 9: Start of the World Cup and the betting
  • June, 17-23: First time in the United States and first ODTUG conference
  • August, 11: Married with Kristel Geukens & honeymoon in Mauritius
  • October, 11: Launch of follow-up WC 2006 app, named DG Tournament
  • October, 21-28: First Oracle Open World in San Francisco (VS)
  • November, 10: Took decision to go for a new challenge in 2007
  • November, 15: Back to my old school to teach Oracle to new students
  • December, 6: Became Vice President of the IOUG APEX SIG

Of course not everything ran as smoothly as expected and I had also some doubts, but nevertheless I'm very happy with a year like this.

Thursday, December 21, 2006

Follow-up testing pre-tag with Blogger

I always had difficulties showing SQL statements on my Blog. At the blogger meet-up at OOW I talked with Eddy (Awad) about this and he told me to test the pre- and code-tag. So, finally, today I tested it (again) and apparently it works. Also thanks to Patrick Wolf to give me a css for the pre-tag.

I also noticed that Beta Blogger became Blogger (2). Great!

A statement without the pre-tag:

SELECT t.team_name, t.team_id FROM tdg_team t, (SELECT r.team_id, rank() over (PARTITION BY r.team_group_id ORDER BY r.points DESC, r.matches_won DESC, r.goals_difference DESC, r.goals_scored DESC) team_rank FROM tdg_match_rank r WHERE r.tournament_id = :TDG_AI_TOURNAMENT_ID) rt WHERE t.team_id = rt.team_id AND rt.team_rank IN (1,2);

A statement with the pre-tag:

SELECT t.team_name, t.team_id
FROM tdg_team t,
(SELECT r.team_id, rank() over (PARTITION BY r.team_group_id
ORDER BY r.points DESC, r.matches_won DESC,
r.goals_difference DESC, r.goals_scored DESC) team_rank
FROM tdg_match_rank r
WHERE r.tournament_id = :TDG_AI_TOURNAMENT_ID) rt
WHERE t.team_id = rt.team_id
AND rt.team_rank IN (1,2);
A statement with the pre- and code-tag:

SELECT t.team_name, t.team_id
FROM tdg_team t,
(SELECT r.team_id, rank() over (PARTITION BY r.team_group_id
ORDER BY r.points DESC, r.matches_won DESC,
r.goals_difference DESC, r.goals_scored DESC) team_rank
FROM tdg_match_rank r
WHERE r.tournament_id = :TDG_AI_TOURNAMENT_ID) rt
WHERE t.team_id = rt.team_id
AND rt.team_rank IN (1,2);

Testing pre-tag with Beta Blogger

A statement without the pre-tag:

SELECT t.team_name, t.team_id
FROM tdg_team t,
(SELECT r.team_id, rank() over (PARTITION BY r.team_group_id ORDER BY r.points DESC, r.matches_won DESC, r.goals_difference DESC, r.goals_scored DESC) team_rank
FROM tdg_match_rank r
WHERE r.tournament_id = :TDG_AI_TOURNAMENT_ID) rt
WHERE t.team_id = rt.team_id AND rt.team_rank IN (1,2)


A statement with the pre-tag:

SELECT t.team_name, t.team_id
FROM tdg_team t,
(SELECT r.team_id, rank() over (PARTITION BY r.team_group_id
ORDER BY r.points DESC, r.matches_won DESC,
r.goals_difference DESC, r.goals_scored DESC) team_rank
FROM tdg_match_rank r
WHERE r.tournament_id = :TDG_AI_TOURNAMENT_ID) rt
WHERE t.team_id = rt.team_id
AND rt.team_rank IN (1,2)

Wednesday, December 20, 2006

DG Tournament updated

I updated DG Tournament with the results of the drawing for the second round of the UEFA Champions League.

You can now start betting on the games of the 1/8 Finals! (see screenshot)

Some technical background about this update.
(you can't see the adaptation as it's in the "editor/admin" section of the application)
To add the matches of the next round I created a tabular form with dropdown lists of the teams.
I used an analytical functions to get the first two teams of each group:

SELECT t.team_name, t.team_id
FROM tdg_team t,
(SELECT r.team_id, rank() over (PARTITION BY r.team_group_id ORDER BY r.points DESC, r.matches_won DESC, r.goals_difference DESC, r.goals_scored DESC) team_rank
FROM tdg_match_rank r
WHERE r.tournament_id = :TDG_AI_TOURNAMENT_ID) rt
WHERE t.team_id = rt.team_id AND rt.team_rank IN (1,2)


I use analytical functions more and more. I find them really powerful!

Tuesday, December 19, 2006

Review of two J. Gennick books

In April I blogged about good books for my Oracle Team. One of the books was "Oracle Regular Expressions Pocket Reference" by Jonathan Gennick. Coincidence or not, but I met Jonathan at Oracle Open World this year! We went for a drink and had a really nice chat.
I find Jonathan a man with a lot of knowledge and he's a great story teller/writer ;-)
I also promised to write a review of two his books, so here we go.

SQL Pocket Guide (Second Edition)

Quoted from the Introduction of the book:

This book is an attempt to cram the most useful information about SQL into a pocket-size guide. It covers data manipulation and transaction control statements, datatypes and table creation and modification for the following platforms:

  • Oracle DB 10gR2 & XE
  • IBM DB2 8.2
  • MS SQL Server 2005
  • MySQL 5.0
  • PostgreSQL 8.1
I find it an excellent description what this book is about.
I would recommend this book to every DBA or Developer working on multiple database flavors!
You can quickly find how you can do something. For ex.: What Datetime Functions are available in Oracle or SQL Server or ...?
Not all implementations of SQL are the same in the different databases and not every SQL is available in the same way. This book not only tells you about SQL but it also proofs it on the hand of a sample schema. The sample schema can be downloaded from the O'Reilly site.
Next to the little "tips & warnings", I find this the biggest PRO for this book! THE PROOF! You can test and see the result yourself, which is important as things change... (although maybe for SQL a bit less)

Oracle Regular Expressions (Pocket Reference)

Quoted from the Introduction of the book:

This little booklet describes Oracle's regular expression support in detail. It's goal is to enable you to take full advantage of the newly introduced regular expression features when querying and manipulating textual data.

As above, I find it an excellent description what this book is about. The book explains the use of the regular expressions very well with clearly written examples.
For this book too, you can download a sample table with data to test the regular expressions yourself. I find regular expressions really powerful and one of the most underestimated/(used) features of the database. I used for example regular expressions to check for a valid email address in the registration page of the World Cup 2006 application.

Thursday, December 07, 2006

Apex Oracle User Group (or APEX SIG)

Is there an Oracle User Group specialized in Application Express?
Yes! It's called the APEX SIG: Application Express Special Interest Group

You can all make part of this User Group by registering on the IOUG (Independent Oracle User Group) website.
After the voting of the last weeks, yesterday, the APEX SIG leaders got announced. We're with a group of seven extraordinary people!

The seven people are:
  • President: Steve Howard
  • Vice President: Dimitri Gielis
  • Web Content Coordinator: Doug Gault
  • Web Master: Tony Jedlinski
  • SIG Officer: John Scott
  • SIG Officer: Scott Spendolini
  • SIG Officer: Vikas Agnihotri
Together with the others, I'm also looking forward to get this APEX SIG rock! Of course we can't do everything by ourselves, so you're input is really important! The purpose of the APEX SIG is to provide a centralised, cohesive resource for anyone and everyone involved with Application Express.

John Scott (JES) posted a nice thread on the APEX forum which explains the purpose of the SIG really well. His last paragraph:

On a final note, I want to stress again how important it is for us to have
your involvement in this, if you've ever sat and thought "I wish APEX did
this..." or "I hate the way it does that...", then please get involved with the
SIG, let's all make APEX an even better development environment because we'll
all benefit from that.

So go to the website and get involved into this APEX SIG!

Wednesday, December 06, 2006

asktom beta in APEX

I don't know if you already saw the "beta version of the new asktom interface"? I find it cool! You can see the new askTom here.

I've the impression that this askTom is more integrated into APEX and uses a lot more features that come "out-of-the-box" with APEX. For ex. the use of theme 18, tabs, breadcrumbs etc.

I really look forward to dowload this application from the "Packaged Application" page on the APEX OTN page. The application is called "Ask the Expert" and has following description:

Ask the Expert is an application based on Ask Tom (http://asktom.oracle.com/). Using this application, users can post questions to an expert and the expert can answer. The application is powered by interMedia for text search. The expert has the full power to control the application. They can limit the number of questions allowed and block new questions completely. If the question is found to be useful, it can be published so others can view it.

Friday, December 01, 2006

APEX - Application Migration Workshop

On OTN an evaluation release of a new feature of APEX 3.0 is released.

Donal Daly, one of the developers of the product, blogged about it here. He would appreciate it if you give some feedback about your first impressions using the tool.

What does the tool do?

APEX App Mig Workshop assists customers in migrating Microsoft Access Forms and Reports to Oracle APEX.

How does it work?

  1. Export MS Access Metadata
  2. Migrate MS Access database to Oracle
  3. Create an Oracle APEX Workspace
  4. Create a Migration Project
  5. Analyze MS Access Application
  6. Generate Oracle APEX Application
  7. Customize your Oracle APEX Application

Thursday, November 23, 2006

You shall NOT use Oracle

Did I change opinion? No way! I'm still an "Oracle brainwashed person"!
But I like the humor of Mogens and I found the title shocking! ;-)

David Litchfield published a (shocking) white paper about database security here (pdf here). Apparently M$ SQL Server beats Oracle on security?! I'm not the right guy to discuss this, as I'm too Oracle minded and I'm not a real security man. Pete Finnigan is more the appropriate guy to comment on this article.

Do I believe the article? No. But as I can't proof anything, I keep my mouth shut...

I hope some of you comment on this!

Teaching Oracle (Part 2)

The last two days I teached "Oracle Database 10g: Administration Workshop I" to another class.

I like to teach, I like to share my knowledge and help people... it gives me a warm feeling ;-) Maybe another reason why I like to give Oracle courses is because I can "preach" Oracle and tell the world about a wonderful thing! Sounds like Jesus, isn't it? ;-)

At the right, a picture of the students... When I first talked to them, I had the impression they weren't that interested in Oracle. I can understand them (although I've always been interested into Oracle!) when I heard they saw a lot of the Oracle theory for creating statements, procedures etc. The FUN part was a bit missing! I think I'm a bit different than a normal teacher. I try to show the students what they already "know" and make then the connection to the database. How does that look like into an Oracle database? Afterwards quickly explaining the slides (theory), to spent most of the time on hands-on exercises. I always learned quicker when I really saw what happened, so I try to teach like that. (But I also know not all people are the same, some need to read about, some need to hear about it, some need to see it working...)

I hope the students now know that Oracle can be FUN too!

Wednesday, November 22, 2006

APEX 2.2 - Manage Supporting Object

I downloaded some Packaged Application from the Application Express OTN homepage.

What are these Packaged Application?
Packaged Applications are fully functional (example) applications that you can view, use and customize. They can only be installed in APEX 2.2 or higher. If you know how it worked before (pre-APEX 2.2); this file contains everything needed to create a working application: from sql to create the tables till the actual data, files and the installation script to create the application in APEX.

What happens when importing a Packaged Application?
When you're in Application Builder - Click the Import button - Select the packaged application file and follow the wizard...
- Part 1: APEX will install the "Application" - screens etc. you see in your APEX - and
- Part 2: APEX will install the "Supporting Objects" - creation of tables, indexes, ... and the load of the data
- Part 3 and further: APEX will install css, images etc. (optional)

An example with the Aria application:
Download and install the Aria application (aria_people_search-0.9.zip): import the file (application), follow the wizard and install the application. I was surprised I got a message that not everything was installed successfully for this Aria application...
Investigation:
The application is created successfully, so part 1 went fine.
So the error must be somewhere in part 2 or further. Looking at the logs, you do this by clicking the "View Install Summary" in the "Supporting Objects" page. I saw that the load of "Seed HR Data" wasn't successful. This is the error I got: "ORA-01858: a non-numeric character was found where a numeric was expected".
This is what Joel of the APEX Dev team said when I posted my error on the APEX forum: "There is an updated version of this coming. Temporarily change your browser language to 'en' and run the installation, and it should work just fine."
So lets give it a try... you have two options:
1. to reinstall the Aria application: delete the full application with supporting objects and start over again
OR
2. as I know the supporting objects part failed, I only want to reinstall this part.
Go to your application (Aria people) - on the right hand click on "Manage Supporting Object Definitions" - Deinstall - and finally click the Install button. This will install only the supporting objects part. I tried it and yes it worked! Thanks Joel!

These Packaged Applications are really nice... Maybe some things aren't fully developed yet (it's still version 0.9), but it's nice to see some working applications.
I really look forward to the "AskTom" packaged application!

You can also make from your application a "Packaged Application"!

Monday, November 20, 2006

UEFA Champions League - Betting next round

Tomorrow there's a new match day in the UEFA Champions League (football)!
So, don't forget to bet!! The url is still the same http://www.dgtournament.com

Even if you're not a member yet, you can still register and play with us! (free of charge)

If you forgot your username/password (login info), there's a link on the login page where you can provide your username or e-mail address and you'll get a mail with a new password. The new password can be changed to the password of your choice in "Your profile" in DG Tournament.

Good luck with the betting ;-)

Friday, November 17, 2006

Teaching Oracle

Where can I find the Oracle Home?
... type in linux: echo $ORACLE_HOME
How can I get my sql statement again in SQL*Plus?
... type in SQL> ed (but make sure that you did in linux for ex.: export EDITOR=vi)...
I can't see the employees table when I'm logged in as SYSMAN?
... did you put hr.employees in the select or do you have a public synonym...
Why doesn't Enterprise Manager/iSQL*Plus work?
... did you start the services/processes (emctl)...
I can't login into the database and I'm sure I started it!
... is your listener running...
What's a public synonym?
...etc.

The last two days I had to teach an Oracle DBA Workshop in the school I graduated 7 years ago.
In the beginning it felt strange to be there... but the "school-feeling" was quickly adopted again, although hearing "meneer" (sir) instead of "Dimitri" is funny in the beginning ;-)

I really liked to teach although it was different then I imagined. You must be well prepared and to serve these guys (and one girl) asks a lot of energy... I hope they learned something useful for their later career, but mostly I hope they enjoyed the lessons. At the end, doing "Oracle" must be fun!

Giving a course once and a while can be good! Everybody needs to learn how to work with something... in the beginning of this post I included some questions I got during the exercises. I forgot that some things are not that evident when you're new to Oracle. I do things just like that, because I'm used to do it, but having these questions obliged me to think again why you need to do it. When I was explaining the "why?" and "how?" I remembered that it's important to know what you're doing. And like Tom Kyte says so often, things change!
The practical side of the course was very Enterprise Manager oriented. I was really surprised that EM10gR2 is so much better than before (9i, 10gR1) and has so much possibilities! Almost all DBA things are now possible with EM. The only thing I didn't find directly, and I think that is not yet fully included, is the auditing part. You can do some standard auditing, but I didn't find the possibility to do in dept Fine Grained Auditing...
It would also be nice if you could make EM more your "own"; adapt standard reports, show/hide regions etc. I know that 11g has some more advanced things! I look forward to see it...

Thursday, November 16, 2006

Vote for President!

Steve Howard opened the elections for the IOUG APEX Officers.

Voting will close November 23rd and the results will be one of the
considerations the officers will use as they determine the leadership
positions.

I am excited to announce that we have a great group of APEX people who
have stepped forward to offer their efforts as officers for the critical first
"term". Why do I say "critical"? Because right now we have a
structure, about 350 members and growing, but we haven't really done anything
visible to benefit the APEX community.

You find more information and the possibility to vote here.

Sunday, November 12, 2006

Recover password in Linux SuSE 10

After not using my root password for a long time, I needed it today.
But I couldn't remember it anymore! I could login with my regular user 'dgielis', but that was it... My user didn't have enough privileges to change system settings or do other "root" things. I was just a regular user.
I searched for changing my root password... and finally found it.
This is how I did it:
- On the boot screen (Gui Boot Loader of SuSE) type "init=/bin/bash"
- You get a terminal screen with almost nothing initialized or loaded (! attention keyboard lay-out can be different)
- Type at the bash prompt: mount -o remount,rw /
- To change the password, type: passwd (give a new password)
- This worked for me, if it doesn't work for you, this link can help you further.

Wednesday, November 08, 2006

SuSE - Microsoft (Part 2)

On the site of Novell more information is published about their SuSE partnership with Microsoft. You'll find the press releases, the webcasts, FAQ etc.

As I understand, the most important points of interest for creating this partnership, is due to "virtualization" and "patents".

I found the image on the right on this website - great image isn't it? Maybe some day it's for real!

Tuesday, November 07, 2006

IOUG - APEX

From April 15-19, 2007 in Las Vegas, COLLABORATE '07 will take place.
The Independent Oracle User Group (IOUG) is still searching for speakers... you can submit an abstract till November 17.
People interested in presenting APEX related topics can have a look in the APEX forum (see also below).

The APEX community needs your insight and guidance. We would like to have a number of APEX presentations at COLLABORATE '07 (April 15-17 in Las Vegas...). Some of the topics coming out of a brainstorming session at OOW (John Scott - jes, Dimitri Gielis, Doug Gault, Tony Jedlinski, and me (or is it I?)):

APEX and email
o Novice
o Advanced
Using a custom CSS in your APEX application
o Novice (get into basic CSS, what it can do, how to do it)
o Advanced (special CSS tips and tricks)
APEX and AJAX
o Novice (basics of AJAX, why Oracle uses it in APEX, what you can do with it, some sample simple examples)
o Advanced
APEX Dictionary
Authentication
o Novice (the basic authentication methods, how they work, how to implement, basics on customization and LDAP/SSO/SSL)
o Advanced
Documentation best practices

The APEX SIG also made the roundtable questions available on their site.

Friday, November 03, 2006

Switched to Blogger beta

I moved my Blog site from Blogger to "Blogger beta".
Everything should remain the same, but I should now have some more features that I can use...

Thursday, November 02, 2006

Oracle Linux against Microsoft Linux

I suppose everybody who read this blog knows that Oracle announced at OOW "Enterprise-Class support for linux"!
I found this article about Microsoft supporting (partnership) linux too! Oracle's choice was Redhat, Microsoft's choice is SuSE... or would you have expected something different? ;-)

Wednesday, November 01, 2006

IE7, update APEX packaged applications

I just updated Internet Explorer to version 7.
Although I'm a Firefox fan, I must admit that this version of IE looks good too... Tabbed browsing, a faster engine (compared to IE6) and a better look and feel are the first things I noticed.
An other version to test your APEX applications with! I tried DG Tournament in this version of IE and it looks good ;-)

The Apex development team released some more packaged applications during my stay at OOW. Following packaged applications are available:

Packaged applications are interesting because they're fully functional applications that you can view (what technique did they use), use (see what you get) and customize (make it your own).

Saturday, October 28, 2006

OOW Highlights and bye bye SF

For me, being for the 2nd time in America and the 1st at OOW, the highlights of this week:

  • Landing in San Francisco... oh! almost in the water
  • First meeting and drinks with John Scott... a really nice guy
  • Seeing SF city in a complete Oracle oasis... such a big city with Oracle everywhere
  • First time OOW registration... so many registration desks
  • First meeting with the APEX SIG panel... really nice people
  • Apex Sig panel... telling my experience with APEX and answering questions for many people at OOW
  • The Benelux Cocktailparty... enjoying together with my ex-colleagues and (ex-)customers
  • The Blogger Meetup... good time with my "virtual friends"
  • Appreciation Night... Elton and good food
  • Presentations of Tom Kyte... enjoyable to listen to
  • First presentation of and meeting with Jonathan Lewis... so much knowledge
  • Keynote speech of Larry Ellison... Unbreakable Linux
  • Oracle Database 11g... new features, even better
  • APEX meetup... being together with the developers of my favorite toy: APEX
  • Sight seeing with John... Alcatraz, Pier 39, boat, hills, ...
  • And the weather... nice and warm
I'm going for my last sleep in San Francisco (for this year ;-)) ...
Thank you SF, Oracle and all the people I met... I really enjoyed it!

OOW - Thursday - Last Sessions and WRAP-up

The sessions I followed on Thursday... the last day at OOW...

Putting the Express back into Oracle Application Express with AJAX (by Steve Karam)
You find more information about this presentation here. I liked it and it showed again that AJAX can be powerful and something which we should all use for web development in the future.
Especially AJAX can give you a better UI and allows you to give the end-user the experience of a "full-blown" application in a browser.

Unbreakable Linux: What's Next?
This was an other explanation of Larry's Keynote and afterwards a Q&A. You find all information here.
Although I followed the keynote speech of Larry yesterday, I didn't blog about it, as already a lot of people mentioned it.
You find all details and possibility to replay the keynote here.

Welcome to My Nightmare: The Common Performance Errors in Oracle Databases (by Michael Ault)
This presentation was based on Michael Ault's experience. He discussed the problems he had seen in the last years and how to resolve them. It was not really my style of presentation, but I can imagine that a lot of people liked it.

Database Worst Practices (by Tom Kyte)
Another nice presentation of Tom Kyte, again presented with a lot of humor. His presentation was based on the first ten results he found when typing into google "oracle tuning tips". It's a bit like the previous presentation about the things you think you know. A programmer has a given style and doesn't change it for many years, but the database or the product he's working with does change! I'm not going into detail about all the topics Tom discussed, you can download it shortly from his site or from the OOW site, but I wanted to mention his first point: "You shall NOT use Bind Variables!" ;-)

Wrap it up (party)
To finish this Oracle Open World a little goodbye party was organized. Compared to the other nights, this wasn't that big... But it was fine as I was tired from the busy week ;-)

My OOW and SF pictures
You find the pictures I took in San Francisco and OOW here.
You find other OOW pictures on Flickr and on different Blogs (search in google for oracle open world).

Friday, October 27, 2006

OOW - Wednesday - Sessions and APEX meetup

The sessions I followed on Wednesday...

Recent Enhancements in Oracle’s Cost Based Optimizer (by Jonathan Lewis)
This was the first time I followed a live presentation of Jonathan. Before I already read some of his work and I heard so many lovely words of him. He makes also part of the Oaktable, a group of people I respect for 200%! Jonathan describes Oaktable as "old men drinking club", which can be true after I saw the pictures of the DBF 2006. ;-)
I was really pleased with the presentation! I first thought it would be to difficult for me, as Jonathan's knowledge is so much higher than mine, but he explained very well, so everybody could follow. Maybe it's because he was a teacher before? ;-)
The content of the presentation can be found in his book about the Cost-based Optimizer.
Again, if you've the change to see a presentation of him, don't hesitate! Together with Tom Kyte, he must be one of the best persons knowing what's talking about.

Next-Generation Oracle Database Performance and Scalability: A sneak Preview (by Oracle)
This was a nice presentation about the performance improvements and scalability we can expect in 11g. Some of them they mentioned were:

  • Server side connection pooling: like with a webserver, but than for the database
  • Query results caches
  • Cache fusion
  • Enhanced native compilation
  • Faster Backup & Recovery
  • Secure Files
Recent Advances in Automatic SQL (by Jonathan Lewis)
As I really liked the first presentation of Jonathan, I went also to his second. I found it again a high quality presentation. It was about the automatic SQL tuning features in 9i and 10g and the pitfalls you can encounter when using them.

APEX meetup
As you could see previously on my blog, we arranged a meeting for all APEX enthusiasts.
So, At 7 pm in the bar across the Moscone Center, called "Fourth Street Bar & Deli", John and I arrived... of course our friend Steve Howard did already arrive as also Mike Hichwa, VP Oracle APEX! I find it wonderful that Mike took the time to join us. You should understand that being a VP doesn't necessarily mean to meet with a bunch of APEX lovers... but I think for Mike, APEX is his baby, and he treats it "special". As I also said before, Michael Hichwa is really motivated to let APEX succeed and he also wants to listen to the people!
But Michael was not alone, a lot others of the APEX Development team of Oracle joined us!
I really enjoyed being with the people who built the application I like most. It's nice to get to know the person who're working behind the scenes.
Next to having fun, we discussed about the APEX SIG... A communication about that will be made on the IOUG website in the near future. One thing is sure: Michael Hichwa and Joel Kallman really want to support us! If you would like to join the APEX SIG, feel free to do so, by going to the IOUG website and become a member (register).
Thanks again to all the people of that night and especially to Michael Hichwa, who also paied our diner! You're the best, Mike!
Anton Nielson and Sergio Leunissen were also present in the beginning of the evening, but when the picture was taken, they were already gone. And... Raj didn't want to be on the picture, so he took it ;-p
On the picture, from left to right, standing: Joel Kallman, Jason Straub, John Scott, Steven Howard - sitting: Marco Adelfio, Dimitri Gielis, Marc Sewtz, Doug Gault, Michael Hichwa

Thursday, October 26, 2006

OOW - Tuesday - Sessions, Blogger meetup and Elton John

It took me a while to catch up with my OOW blogging. A lot of presentations to follow, a lot of things to do in the evening and a laptop with a battery life-time of less than two hours.

The sessions I followed on Tuesday...

Things you think you know (by Tom Kyte)
As we can expect from my mentor, an excellent session! Although I already heard some of the things Tom said, it's nice to see him busy on stage. The charisma and the way of explaining the things on the hand of "the things you know" ;-p makes it understandable for everyone.
Basically it comes to: "It's not the things you don't know - it's the things you know that just ain't so" (quote TK). Of course all these "things" had an example and "proof".

This slide I liked most:

It ain't so much the things we don't know that gets us in trouble. It's the things you know, that just ain't so or just ain't so anymore or just ain't always so.

Real-World Performance Roundtable, Part 1 & 2 (by Oracle)
Don't really know what to say about it... It was a high-level roundtable with indebt performance and tuning questions.
The most appealing question came from Jonathan Lewis concerning free-lists and the "implementation" in ASM. One part of the answer was that it was a bug and is solved in the latest version of Oracle.

The Next-Generation Self-Managing Database: A sneak preview (by Oracle)
There were two things that got my intention and are in my opinion something I would use if I already had it:
- Database Replay: capture workload in prod, replay workload in test -> analyze & report
- SQL Replay: focus on impact of change on SQL query workload; capture sql in prod., replay sql in test -> analyze, tune & create sql profiles

CERN: Building Real-World Solutions with Oracle Application Express (by Giovanni Chierico and Joel Kallman)
This was a really good session about a company developing mainly with JAVA before and recently changed this to APEX for certain applications.
A junior developer built in six months a good looking application with sso integration, charts, reports, customized stylesheet for touch screen etc.
They also explained "the good" and "the bad". As a conclusion they said they were really pleased with APEX and they should do it again. However they won't use APEX for all their application as they find that at a certain time (complexity of the application) it's better to go for a "full-blown" thing as JAva with as one of the most important features the object orientation.

Blogger Meetup
On Tuesday evening the Thirsty bear got unsafe by a bunch of Oracle Bloggers!
I really enjoyed to meet the guys in real life. I read their blog's often, but that's just "virtually", it was nice to get to know them in real-life. And hey, the pictures they have on their blog's don't always reflect real life faces! ;-) Oh, the picture on the right shows what you see when you get drunk!
You can find some more pictures here. Mark also blogged about the meetup here.


Appreciation Night with Elton John
After a few hours spending with our colleague bloggers, some of us headed to see Sir Elton John in the Cow Center.
It's amazing to see such an old guy (;-)) giving himself on stage and give 22.000 people a good time!
There was also too much good food! I find it amazing the way Oracle organized all this! I'm in the States and everything is "big", but sometimes I just find it "unreal".

Tuesday, October 24, 2006

OOW - Monday - Sessions, Benelux Party and OTN Night

The sessions I followed on Monday...

I slightly changed my schedule as I'm getting more involved in the APEX "thing".

I should have followed "The future of Database Technology", but I changed it in "Oracle Application Express, Now and in the Future".
I'm glad I did as it was an excellent presentation and an opportunity to finalize our meeting of Wednesday 7pm.

Oracle Application Express, Now and in the Future (by Michael Hichwa, Marc Sewtz and Marco Adelfio)
It was exciting to see Mike presenting APEX with so much passion! You can see he really loves the product, works with it and listens to the people.
Mike gave an overview of the current features of APEX and what we can expect in 3.0. Here're some (but this can still change):

  • Microsoft Access Application Migration
  • Flash charting
  • XML Publisher Reporting Integration
  • More AJAX integration (for ex. WYSIWYG Drag and Drop Form Layout)
  • No need for Apache anymore (as it is with Oracle XE, EPG - embedded plsql gateway in the database)
Although I develop already a long time with APEX, I learned something new from the demo Marc Sewtz gave - use of the "Edit links": when you're in your form and run it and click the edit links button on the bottom of the page, you can immediately edit an item. I usually do it the old way, means Edit Form, change and edit item, run the form, edit it again etc.
As Tom Kyte mentions it a lot "I learn a new thing every single day" and "Things you think you know, can change".
APEX was also mentioned in the Keynote speech! Although Scott isn't at OOW he blogged about it, the information flow is going so fast these days! You can also read more information on John's blog.

Building Media-Rich Business Application Using Oracle interMedia and Oracle Application Express (by an Oracle presales)
He showed how you can integrate APEX with interMedia to for ex. stock your pictures and videos. There wasn't something really new in this session for me as I use this technique also in DG Tournament. Although he created a nice wizard to upload and download the images. He'll make it available in the next days, so that's something you can be interested in.

User-Managed Metadata: Oracle Application Express meets Oracle Warehouse Builder 10gR2 (by two people of Charlotte city)
Basically they showed how they used OWB for their data warehouse and how they integrated APEX for the cleansing part. As the data comes from a lot of different sources they had some problems with codes which meant the same but weren't for ex. FN for Finance in one system and FIN in an other. To solve this, OWB pushed the unknown codes in a table on which an APEX application was written to allow correcting the data in a user friendly environment.

Unleashing the Power of Oracle Streams (by Oracle)
This session showed the purpose of Oracle Streams and gave some examples how to use them. You should look at OTN if you're interested in this area as there's a lot of information about it.
I can't really write everything what was said as Oracle Streams is so "big". The only thing I can say is that it's really powerful and can be useful for everybody.

Benelux Cocktailparty at Bubble Lounge
Oracle organized a party for all people from the Benelux in the Bubble Lounge, near the famous building Transamerica Pyramid. This building was huge! The party was really useful as it's almost impossible to find each other in a crowd of more than 40.000 people!
In the Bubble Lounge we got some high quality snacks (sashimi, shrimps, ...) and champagne. I suppose that's why it's called Bubble Lounge ;-)
It was amazing to meet people I didn't see for years in San Francisco! As a consultant I come at a lot of customers, but meeting them again in SF is unreal!

OTN Night
After the Benelux party I went with some of the Oracle Belgium representatives to the OTN Night where I also would meet John. I didn't find John (Steve and he went to their hotel early) but I had a nice discussion with some other people concerning the use of APEX in their company. I also catched an Oracle t-shirt, I suppose I was lucky ;-) I didn't stay that long neither as I felt the tireness too. At the hotel I quickly read my mail and some blogs. I was to tired to blog myself, but I set the alarm early to catch up.

Monday, October 23, 2006

OOW - Sunday - First sessions and Welcome Party

The sessions I followed on Sunday...

ODTUG Development DBA Special Interest Group Meeting
We discussed about how this SIG could look like; what to expect from the SIG, what not.
More information and the notes will be published on the ODTUG website.

IOUG Oracle Application Express Special Interest Group Meeting
First Steve Howard explained the purpose of IOUG and the APEX SIG. Then a panel of four (I was one of them) answered the questions of the public. See also previous post and JES's blog.

Lunch break
I took a sandwich with tunafish... nothing more to say...
Afterwards John and I went to "Club Oracle Gold" lounge to have a coffee and check our mails.

Build a dynamic framework with APEX (by Tony Jedlinski)
Tony explained well how a tree based menu can be build in APEX, cross application. He even showed step-by-step how to build it. This shows once more that building an APEX application can be really fast. The explanation of Authorization and Authentication should have been useful for a lot of people. I found the presentation most suited for beginners.
The full source of the application can be found on the IOUG website or in the previous Oracle Magazine.

Everything You Need To Know About Collections But Were Afraid To Ask (by Steven Feuerstein)
As we could expect from Steven, a nice and clear presentation about the different types of collections, how they work and how to use them. To get really started with collections in your own company you should download the examples and ppt from Steven's website and play a bit with it.

Welcome Reception
It's amazing to see the organization of having food, drinks and entertainment for so many people. The music was nice, I only missed a bit of company as the people I knew where invited on other events (ACE's dinner, Partner events, ...).
I didn't stay that long as I was tired from not having enough sleep the days before.

Sunday, October 22, 2006

OOW - APEX panel - schedule APEX meetup

OOW APEX panel

Well, the really first APEX SIG meeting has taken place this morning! And I was in it ;-)
The room was full of enthusiastic people firing questions. The time went so fast that not all questions could be raised! BUT not to worry, we'll have some other sessions like these in the near future! I would like to thank all people who attended! I really enjoyed to listen to your questions... I hope you enjoyed it too.
You find some pictures of the meeting below. The questions and answers will be posted on the IOUG website by Steve Howard. As soon as it's available I'll put the link in the comments of this post.

Picture of the other side (the crowd - 7 minutes before we started, so not all people are included).


Picture of the APEX panel (from left to right: Steve Howard, Tony Jedlinski, Dimitri Gielis, Doug Gault, John Scott)


OOW APEX meetup

The registration is still open, even when you don't register, you're free to come.
The meetup will be on Wednesday 7pm in the bar across the Moscone Center "Fourth Street Bar & Deli". I didn't book a table, so we'll see how it goes. It's the bar where John and I had our 2nd drink, we already "APEX'ed" them ;-) so it should go smoothly!
We've all some great idea's about APEX, so lets discuss this with some beers (and food?) and even more important ENJOY!

OOW - Saturday - Registration

My first night in SF was short... Although I was exhausted from the flight, I couldn't sleep.

During the night I read some blogs and surfed the internet. When the sun rose I took my shower and went downstairs for breakfast. The breakfast was ok, but when I compare it to my honeymoon in Mauritius, this meant nothing.

I took the first Oracle shuttle to Moscone Center, where John and I would meet. In the bus I met some other Oracle enthusiast and we directly started to talk. The atmosphere is great in SF, we're all "Oracle" connected, maybe this is also called "FUSION"? ;-)
I can also understand Laurant Schneider, as he describes on his blog, I had almost similar feeling about the traffic in SF, although we didn't have an accident (but it was close to that).
On the way to Moscone Center you get literally Oracle brainwashed (although for me this isn't possible anymore, as I'm already 100% Oracle minded). The OOW logo is everywhere, busses are "Oracle" painted, buildings have the Oracle logo on it... it's pretty impressive!

We were lucky... We could register directly, no queue! This will be different on Monday!
The organization is amazing! The smallest detail is handled. I got a complete guide of OOW, some Oracle gadgets and magazines, a ticket to the Elton John concert on Wednesday, lunch vouchers and ... a 30Gb iPod! It was good ;-) I'm also part of "Club Oracle Gold" as I was one of the first 500 people registered for "Information Overload". This means some extra advantages as for ex. having a special area to have a drink.

John and I did a tour through the Moscone Center. It's nice to know somebody you like in the big city... we spent the whole day together. We had some nice chats and of course our second beer ;-)
It's amazing how "the same" John and I turned to be. For ex. we bought the same iPaq, the same Wireless Router and we're thinking about a lot of things the same way. We both are APEX promoters, so we also had chats about that and what we could do for the community... We've some plans... ;-)

In the evening we came together with the APEX panel (Steve Howard, Doug Gault, John Scott, Dimitri Gielis, Tony Jedlinski) of tomorrow, except for Tony Jedlinski, who couldn't make it.
We went to a nice and famous restaurant "Tadich Grill", Steve was knowing. The food was excellent. I can't remember the name of the plate I ordered, but it was a soup of seafood with garlic bread. I'll update this blog entry with the name afterwards.
We discussed about the APEX SIG and how we would do the APEX panel of tomorrow. They're all amazing people... I had a great time! Thanks guys!

Saturday, October 21, 2006

OOW - Friday - My flight to SF

Today was “travel day”. I don't know how Tom Kyte handles it, but passing all these security checks, just to go to the USA, is a real “pain in the ass”.

I left home (Leuven, Belgium) around 8 o'clock Belgium time. Arrived in Brussels at 8h50.
After waiting for about 15 minutes I arrived at the 1st security check: the “Security Officer”.
It seems that my electronic flight ticket and passport where fine. Ok, “please go to the second line”.
After 40 minutes I get to the lady who does the 2nd security check and hands over my boarding pass.
The 3rd security check: Duane – Passport control of Police – cleared - after waiting another 10 minutes.
I arrived in the airport shopping center... I thought, no time to lose now, I go directly to my gate, so I can start my blog entry about explaining the expanding thumbnail in DG Tournament.
The 4th security check: “screening”. You need to put all your metal, laptop and other belongings in a plastic bag which will be x-rayed. Your body needs to go through the metal detector. Did I say this line was also big? Another 20 minutes. If you think that was it, you were wrong...
For the States there's another security check!
Just before my gate, the 5th security check was a fact! This row of people waiting to get screened was even longer as all the rest... Again my belongings were x-rayed and my boarding pass and passport were investigated (twice).
Of course the next step is to go into the plain, and then the 6th security check is done! Boarding pass and passport. It took me more then 2 hours to get from the terminal into the plain!
The plain left at 11h10 a bit later as foreseen. I arrived in Chicago at 20h (Belgium time, this is 2 pm Chicago time). My connecting flight to San Francisco left two hours later... but the two hours were needed to pass all the security checks again.
Arriving in the States, means waiting a long time to pass the duane. They take your fingerprints and picture, of course you need to smile, but it's difficult when you had to wait for 35 minutes to get there. Next thing was searching my bag and checking it in again. Then take a train to Terminal 3, as this is the terminal were my next American Airlines flight waited for me. Of course I had to pass three other security checks before getting on my final flight to SF.
I arrived in San Francisco at 2 o'clock (night) Belgium time, that's 5 pm SF time.
My Friday, that was about it... a one day travel or not?

I checked in in the "Best Western Grosvenor" hotel SFO. At first sight the hotel looks nice (although my wireless connection is untrustable in the first hours I've been here!).

After unpacking my luggage I went to John Scott, who's staying in the Hintol Hotel in SF city.
We had a beer and had some typical American food ;-) At the end it was a lovely evening...

After 26h of "no-sleep", I'm heading to my bed.

Thursday, October 19, 2006

DG Tournament Explained (1) - Thumbnail Expander

This is a first draft, as some people asked me to publish it as quick as possible. If you see it's not working or I forgot some steps, put a comment. I'll update it when time allows, as I'm at OOW and don't have that much time.

While I'm blogging about the integration of the "Vevstein Thumbnail Expander" I see there's a new version available, called Highslide JS.

I initially used version 1.1.2 (free version) in DG Tournament but I recently upgraded to 2.0.4 (in my APEX dev environment - this version is free for non-commercial purposes).

You can implement the thumbnail expander in different ways. Having everything in the database (workspace_images), having it on the /i/ directory, ... I'll show the one I think it's the fastest implementation.

OS-level

  1. Download highslide 2.0.4 here.
  2. Unzip the file
  3. Copy the higslide directory to your /i/ or www dir. (for ex. oracle/product/10.2.0/db_2/Apache/Apache/htdocs)
APEX-level

1) in shared components create a stylesheet and put this in:

.highslide {
cursor: url(highslide/graphics/zoomin.cur), pointer;
outline: none;
}
.highslide img {
border: 2px solid gray;
}
.highslide:hover img {
border: 2px solid white;
}
.highslide-image {
cursor: poiner; /* opera */
cursor: url(highslide/graphics/zoomout.cur), pointer;
border: 2px solid white;
}
.highslide-image-blur {
cursor: pointer;
cursor: hand;
}
.highslide-caption {
display: none;
border: 2px solid white;
border-top: none;
font-family: Verdana, Helvetica;
font-size: 10pt;
padding: 5px;
background-color: white;
}
.highslide-display-block {
display: block;
}
.highslide-display-none {
display: none;
}
.highslide-loading {
display: block;
color: white;
font-style: 'MS Sans Serif';
font-size: 9px;
font-weight: bold;
text-transform: uppercase;
text-decoration: none;
padding: 3px;
opacity: 0.60; /* w3c */
filter: alpha(opacity=60); /* ie */
border-top: 1px solid white;
border-bottom: 1px solid white;
background-color: black;
padding-left: 22px;
background-image: url(highslide/graphics/loader.gif);
background-repeat: no-repeat;
background-position: 3px 1px;
}
a.highslide-credits,
a.highslide-credits i {
padding: 2px;
color: silver;
text-decoration: none;
font-size: 10px;
}
a.highslide-credits:hover,
a.highslide-credits:hover i {
color: white;
background-color: gray;
}


2) in your template reference the created stylesheet and the javascripts, for ex. put:


3) create a page and a region report. In the Image_id column add this as HTML Expression:


4) create an other region with this (necessary for the pop-up):


5) create the procedures to show the thumbnail and real image:


*) A full explanation copied from one of the examples provided with the zip file.


That should do it! (replace the <.br /> by a carriage return, for an odd reason blogger puts this in?)

JES - Apex Developer of the year

For the fifth year the editors of Oracle Magazine present Editors' Choice Awards to extremely accomplished candidates, people that best reflect the highest achievements and vision in their areas of expertise. You find the winners for every domain for the year 2006 here.

The title "Oracle Application Express Developer of the Year" goes to John Scott (also known as JES in the APEX forums). I would like to congratulate John, he's a well deserved winner!

In the beginning I only knew John from the forums, but in May he hosted my World Cup 2006 APEX application and we started to chat. In the meanwhile John also hosts DG Tournament and we'll meet at OOW. I'll be honored to be next to him in the APEX roundtable panel on Sunday.
But even more I look forward to just meet John in real life!

Tuesday, October 17, 2006

Firefox 2.0 RC3

Firefox 2.0 - also called 'Bon Echo' got a new release candidate.
Downloads can be found here, release notes (not yet updated to rc3) here.

I suppose I don't need to tell you Firefox is the best browser ;-)

On the picture DG Tournament in Firefox 2.0 RC3.

Friday, October 13, 2006

Oracle Tuning

This topic is staying to long in my drafts, so I decide to publish it, as is.

It has nothing to do with my new application "DG Tournament"... the application is "my free-time" ;-) during the day I'm a consultant doing mainly Oracle database things.

Today I had to do some database tuning... There won't be anything new in this thread, but if you don't know it, you can't use it.

You can tune a lot of different things. The most important thing are:
(0. think before, think "how" the application will work, do a proper design, test, test, test, ...) - but in a lot of cases I'm only involved when this is already finished ;-) - actually the smiley should be :-(
1. the Application (logic, how to do things, select statements, programming code, ...)
2. the Application Server
3. the Database
4. the OS and the Hardware (disks, cpu, network)

A lot of people have the reflection to shout add the dba and tell him "the database is working slow". We can discuss about this ;-)

Following I found useful in my tuning (tuning of application and database):
- SQL> set autotrace on
- Oracle Trace Analyzer, as Eddie describes in this great article: "TKPROF on steroids"
- YAPP, as Anjo describes it here, 10 years later
- Upgrading from 8.1.X to 9.X - Potential Query Tuning Related Issues: Metalink Note 258167.1 (yeah, some customers still go from 8 to 9!)
- Oracle Database 10g Migration/Upgrade: Known Issues and Best Practices with Self-Managing Database: Metalink Note 332889.1
- If I develop myself I "instrument" my application code and investigate what would be the best way to do things. Asktom and Q&A from Steven Feuerstein are great sources how you should develop PL/SQL code. This thread for ex. can be useful for developers.

Wednesday, October 11, 2006

Thanks...

Well, the first release of DG Tournament is online... in the following days I'll blog about the genesis of the application and the APEX features I used. In the meanwhile you can already give it a try. The registration is free.

I've first sent a mail to the people who were registered to the World Cup 2006 application, as they were my motivation to create the next version. I would like to apologize for sending the mail twice to some people.

I also would like to thank John Scott and Kristel Geukens for their help.

Enjoy DG Tournament!