Skip to main content


Showing posts from 2005

I Always Feel Like Somebody's Watching Me...

It's not just a one-hit-wonder from the 80s; its true!

Sure, we've all seen where we and others live via Google Maps. But this time, Microsoft has stepped it up a notch with its new "Windows Live Local" site.

Now, as this is a Microsoft product, it doesn't always quite do what it says. For insatnce, it's not "Live", as my house is still occupied by the former owner as evidenced by their cars in the driveway, the salmon-colored siding (which was replaced in 2003), and the new construction at the end of the street had not started yet. However, the fact that WE can see this level of detail makes you wonder what "THEY" can see, and how "live" it really is...

The level of detail is stunning, even though the pictures are a couple years old. You can even rotate the image to view it from all 4 directions!

For example:
My old office
My Least Favorite Airport (Notice the sign on the Parking Garage)As much of the White House as they want you …

function HappyHolidays

Simply pass your religion & nationality to this function to get the politically correct greeting from me. :)

create or replace function HappyHolidays
(p_religion in varchar2, p_nationality in varchar2)
return varchar2
l_result varchar2(255);
if p_religion like '%christianity%' then
l_result := 'Merry Christmas';
elsif p_religion like '%jewish%' then
l_result := 'Happy Hanukkah';
elsif p_religion like '%pagan%' then
l_result := 'Happy Winter Solstice';
l_result := 'Seasons Greetings';
end if;
if p_nationality != 'Chinese' then
l_result := l_result || ' and Happy New Year';
end if;
return l_result;
end HappyHolidays;

New Oracle HTML DB Wiki

A new HTML DB-specific Wiki has been launched at

John Scott from was kind enough to lend the server, and John, Colin Sheppard and Carl Backstrom from Oracle have gotten the ball rolling by creating the first pass of content. As soon as I have a spare moment, I'll also be adding & editing content.

It's great to see that any and all members of the HTML DB community can easily contribute and share their tips, tricks and insight on Oracle HTML DB. I, for one, am anxious to see what others will add, as I'm sure that there will be some excellent tips that I can learn from.

I am Officially part of US History

Well, at least that's what the United gate agent told us before we began to board our flight from Washington Dulles to LAX this past Tuesday. You see, we had some "very special guests" on board. United Flight #197 was officially re-named to TURKEY-1. I'm not kidding - every Air Traffic Controller from Dulles to LAX referred to our flight as this, most with bewilderment.

I've been flying on United for over 10 years now, and I've seen some pretty dumb things, both on the part of them and their passengers alike. I've had 5+ hour delays for no apparent reason, seen drunk passengers denied boarding, even saw an older man punch a woman. I thought I'd seen it all. Wrong.

As I was checking in, I asked if my upgrade had gone through, with little hope as it was the Tuesday before Thanksgiving in the US, one of the busiest travel days.

"No, sir, I'm sorry, first class is checked in full. With 2 turkeys."

"I'm sorry, but I think I just h…

Happy Turkey Day

Tomorrow, I'm off to Los Angeles for the remainder of the week to visit with my wife's family for Thanksgiving. While LA isn't exactly my favorite city, it should be a good time catching up with her family & friends. We're going to see a taping of the Jimmy Kimmel show on Wednesday, so that should be interesting. Amy Smart is the guest, and Def Leppard is performing outside – that alone is a reason to make the trip!

I'm putting the finishing touches on my MAOP Keynote and technical session. I've also changed the topic of my Technical Session to Integrating Oracle HTML DB with the Oracle eBusiness Suite. I simply didn'y have time to get the Oracle Forms presentation in order, hence the last minute change. At one of my current contracts, I've been working extensively with the eBusiness Suite and HTML DB, so I think that this will make for a good story, with lots of advise and best practices.

If you plan on attending the Keynote on Friday, I will s…

Best Widget Ever!

If you haven't already tried it, give Konfabulator a shot. It's basically Apple's "Dashboard" for the PC (and Mac). (Konfabulator actually came first) It used to cost $20 or so, but since Yahoo! purchased them, it is now free.

Most of the "widgets" are borderline-useless, with a few exceptions:
Calendar - nothing like always having a small calendar on your deskWeather - Complete with the forecast, its the next best thing to being outsideWireless Network Status - a meter which shows the signal strength of your WiFi connection There are many, many more - from dozens of clocks to your favoritemoviecharacters who will say their funniest lines when clicked.

But perhaps the most useful one I have discovered is Knut August Johansen's iTunes Companion. This one stands out above the rest, as it truly automates a tedious task - it fetches album artwork & details from and imports it into iTunes for your existing songs. It will also optionally fe…

MAOP Conference Presentations

I'll be presenting the Keynote Presentation at this year’s MAOP Annual Training Conference on Friday, December 8th at George Washington University. My topic will be "The Best Free Tool That You're Probably Not Using" and will obviously mention Oracle HTML DB a couple of times.

I'm very excited, as this will be my first keynote presentation. I've seen my share of them, and understand that the topic needs to be more business-focused as opposed to technical. As this year's conference theme is "Leveraging your Oracle Investment", I figured that would be a good theme for my presentation as well.

I'm also going to be doing a technical session: Making the Switch: Migrating Oracle Forms Applications to Oracle HTML DB.

Before the flame way starts, let me say that not all Oracle Forms applications should and must be migrated to anything. The point that I will attempt to convey is that Oracle HTML DB is a viable platform for some Oracle Forms migrat…

Migrating MS Access to HTML DB Article

My article "Migrating to Oracle HTML DB" was just published in the Nov/Dec issue of Oracle Magazine. It talks about the high-level steps required to migrate from MS Access to Oracle HTML DB.

To summarize: Oracle HTML DB is one of the best platforms to use when considering migrating MS Access applications to the web. However, there is no "silver bullet" approach – each MS Access application should be examined and then migrated (or not) to HTML DB accordingly.

Oracle 10g eXpress Edition

LotsofactivityaboutOracleXEoverthepastcoupleofdays! I figure that I just wouldn't be "cool" if I didn't weigh in on the topic, so here goes: Brilliant!

Here's why: Pure simplicity. Take the situation which happened today: I download Oracle XE and go to install it on my laptop. Download took about 1 minutes, install another 4-5, and I'm was up & running, HTML DB and all.*

My officemate, at about the same time, decided to install Oracle Enterprise Edition and HTML DB on his laptop, just so he could learn HTML DB and perhaps close a piece of our production environment. Needless to say, the download of 10gR2 alone took longer than the install of XE. I was gleefully clicking away, while he sat there, counting the bits as they flew by.

This is one of the largest benefits of Oracle XE – small, compact size with most of the power of the Oracle Database. While Oracle software has always been available for anyone to download, what was the use if you know that legall…

Bad Customer Service, Part II

It happened again. Poor customer service is the norm these days, but I feel that I have to take a moment to mention exceptionally poor customer service.

Some quick background: A few months back, I bought a file cabinet. The bottoms of the drawers were made of a cardboard-like material that could support about 1 or 2 pounds for a few weeks before buckling and splitting in two. Having this knowledge in hand, I proceeded to put about 10 or 15 pounds in each drawer and hope for the best.

Well, this weekend, the proverbial straw finally broke the camel’s back and my drawer's bottom. I was sort of expecting this, so I knew that when the time came, I'd simply go to Home Depot, get some sort of panel board, and re-build the bottoms of the drawers. So off to the Depot I went, thinking this would be a simple, uncomplicated trip. Wrong, wrong, wrong…

Upon entering the store, I make my way over to the wood section, gawking that they already have Christmas trees on display! I quickly …

Game Reset

Fans of NCAA Basketball will understand what I mean by a "Game Reset". For the benefit of those who don’t, let me take a moment to explain: As the game proceeds on into the 2nd half, the last few minutes typically take longer than the rest of the half. This allows the corporate sponsors ample opportunities to remind us which SUV(s) we should have, why Miller Lite tastes better than Bud Lite or vice versa, and why we should refinance our house for the 4th time this year.

Since the networks are sensitive to these breaks, and we have such short attention spans these days, when they come back from commercial, they will typically put up a graphic entitled "Game Reset". This graphic will show the current score, time remaining, number of fouls, and any other relevant statistic (such as 3 players with 4 fouls). It basically allows the viewer to become reacquainted with the game that they left for 60 seconds or less.

I like this concept, as sometimes you’re not always pa…

AJAX Select List Code Generator

Carl Backstrom has provided some truly amazing HTML DB AJAX & DHTML examples on his demo page on Most of them are documented, but they assume that you have more of a technical background than not.

With Carl’s blessings, I took one of his examples – AJAX Process on Demand – and created a working example of an AJAX-based Select List. The example is quite simple: select an Employee Name, and the Job field will automatically be populated with the corresponding Job from the EMP table. This is a common behavior in Oracle Forms (when a user select one thing, another field is auto-populated) and will make the transition for those coming from a Forms environment a bit easier.

To take it one step further, I created an AJAX code generator of sorts. Give it the required six fields, and it will automatically generate the PL/SQL Application Process, the JavaScript Event and the JavaScript function. Now you can harness the power of AJAX (or at least this one simple example) wit…

MAOP Tech Talk: Oracle HTML DB

I'll be presenting at the first MAOP (Mid-Atlantic Association of Oracle Professionals) TechTalk on Friday, October 21st, at the Federal Trade Commission in Washington, DC at 1pm. My topic will be: Oracle HTML DB: Where Does it Fit?

In my presentation - which is my first public speaking engagement since leaving Oracle - I will be discussing all of the places that I have seen HTML DB used by a wide variety of customers - from Federal Government to Commercial, and everything and anything in between. I'll also spend some time going over what's new in Release 2.0.

If you're going to be in the DC area that Friday, please feel free to attend. NOTE: If you do plan on attending, please RSVP to in advance, otherwise you will not be allowed into the buidling.

Generate PDF files from HTML DB w/out Java!

The question: How do I print PDF documents with HTML DB?

The answer (maybe): PL/PDF

Looks like the folks at PL/PDF have some instructions on how to set it up in an HTML DB environment. For only $300, it seems like a good deal. It's not WYSIWYG, but the code for a complex master-detail report, which contains page breaks and headings on each page, is not that bad.

If you host your HTML DB site with Revion, PL/PDF is even included as a part of their package.

I have not tested this out yet, but am anxious to do so, as I'm sure it will come in handy!

Manipulating Images with the... Database?

A recent thread on the OTN HTML DB Forum asked about how to determine the width & height of an image stored as a BLOB in an Oracle table. I mentioned in that thread that I have some code to manipulate an image stored in a BLOB column. This is particularly useful if you’re going to let users upload images, and you want to re-size them to display as a thumbnail.

Thanks to Oracle interMedia, it is trivial to manipulate the width, height, and other attributes of images stored in an Oracle table. I’ve created a sample application here which demonstrates Oracle interMedia and HTML DB in action. Feel free to have a look. You can download this application from HTML DB Studio as well.

Basically, this application allows you to upload images and perform an operation on the image as it is inserted into the PHOTO_CATALOG table. There are two places where some PL/SQL code is required: an After Submit process on page 2, and a procedure to display the images.

Here is the PL/SQL for the After Submi…

Forming an LLC

DISCLAIMER:I am not an attorney, nor have I sought the advice of one for creating an LLC. The steps which I outline below may be incomplete, erroneous, or just plain wrong. They are meant for informational purposes only, and should not be used as a guide in any way.

A few days and $100 later, the first of several steps required to start an LLC in the Commonwealth of Virginia is complete:

I have officially filed with the State Corporation Commission of the Commonwealth of Virginia – which ironically, I have demoed several Oracle products to. I can say with almost 100% certainty that this is not one of them.

Once I hear back from the SCC, it’s off to to get an EIN. After that, I have to fill out a form for the Virginia Department of Taxation, check with my county & town governments, and then I’m officially in business!

I also ordered QuickBooks Pro so that I can keep my own books. This is not something that I’m 100% comfortable with, but I have used Intuit’s TurboTax before, and…

Stupid Rollover Tricks

One neat little trick which I have found that users like is the ability to highlight a cell as you mouse over it. In HTML DB 1.6, the Highlight Row feature was introduced as a part of Themes. With just a couple of small changes to your report template, you can take things up a notch, and provide your users with the ability to change the cell color as they mouse around an HTML DB Report.

First of all, create a report based on any table or view. Be sure to use the "Standard" Report Template, not the one with "Alternating Color Rows." If you want to use an Alternating Color Row template, you’ll have to make the changes below for both Odd and Even rows.

Once you have created your report, edit the Report Template which is associated with it. If you edit the page that your report is on, you should be able to see a link to your Report Template under the Shared Components: Templates section of the Application Builder.

Scroll down to the Before Each Row section and replace wha…

A Better View of Your Trees

I’ve been playing around with Trees over the last couple of days. One of the requirements dictates that I render a Tree based on a sub-set of a larger hierarchy of data. Luckily, the data is already in the correct format (ID, PARENT_ID, DESCRIPTION) for an Oracle HTML DB Tree, so I don’t have to make any changes to the data structure.

Due to the large size of the table, it was much more efficient to create an HTML DB Collection based on a subset of the data, and then use that Collection in my Trees. Sounds simple enough, but you cannot easily create a Tree based on a Collection, as the view HTMLDB_COLLECTIONS does not show up in the Select List of Tables/Views that you can base a Tree on.

The solution to this was almost too simple: Create your own View for HTMLDB_COLLECTIONS. This killed two birds with one stone: I could now select my view from the Select List when I created a new Tree, and I could also rename the columns to reflect those of the base table, rather than be forced to use …

Using an eBusiness Suite Responsibility in HTML DB

In a previous post, I mentioned that I was using membership in an eBusiness Suite Responsibility as the basis for an HTML DB Authorization Scheme. It’s really quite simple to set up, and even easier to manage.

Note: This assumes that you have already integrated HTML DB with the Oracle Single Sign On server. See this How To for detailed steps on how to do that.
Create a new Responsibility in the eBusiness Suite
Once created, note the RESPONSIBILITY_ID. You can obtain this via SQL*Plus or from the Help : Examine : Item menu in the eBusiness Suite.
In HTML DB, create a new Authorization Scheme. Select Exists SQL Query as the Scheme Type, and enter the following as Expression 1:

select 1 from apps.fnd_user_resp_groups ur, apps.fnd_user u
where u.user_name = :APP_USER and u.user_id = ur.user_id
and ur.responsibility_id = 50280
Be sure to use your RESPONSIBILITY_ID in place of mine (50280).
Associate this new Authorization Scheme with an Application by editing the Application Attributes and se…

First Day at the New Job

It’s Wednesday night, and I’m already ½ way through the first week of the new job. If I had $1 for each time I said “we” – meaning Oracle – I would be able to take the rest of the week off! I guess it will take some time before I can refer to Oracle as “them”.

Being on the outside is very different. No longer can I pop into MetaLink to look up a TAR or Bug. I can’t access any of the internal sites which I used to do on a daily, if not more frequent basis. Call it separation anxiety, but I guess daily habits take some time to break. It was especially weird not being at OpenWorld this week. From what I heard, it was going well with a ton of interest in HTML DB, as well as BPEL & Fusion.

Speaking of OpenWorld, I have also been reading about Oracle Raptor on Brian Duff & Wilfred’s blog. I’ve known about this project for some time, but obviously couldn’t comment until it was made public. I think that it’s about time that Oracle entered into this market. I remember back whe…

Dude, I'm getting a Dell!

I’ll admit it – I’ve been spoiled for the last 9 years or so. Oracle has always provided its employees with a laptop or desktop (or both) system. Every couple years or so, you can typically convince your manager that you need an upgrade. Once your manager agreed and approved it, you could go to a web page, click on a picture of a laptop, and typically 2 or 3 days later, it would show up on your desk. Not bad!

My most recent machine was a Toshiba Tecra M2. I loved it – it had awesome battery life (could easily make the trip from Dulles to San Francisco), didn’t weigh a ton, and just worked well. Unfortunately, I couldn’t take it with me, and since my new job requires me to own a laptop, I had to purchase one ASAP.

As someone who designs software and applications, I was shocked to find that almost every major PC company’s Laptop/PC configuration site was way too complicated and cluttered! There are simply too many choices to make configuring a laptop an efficient process. Sure, there is a…

Leaving Oracle

As many of you may know by now, I am no longer with Oracle. After almost 9 ½ years, Last Friday was my final day.

I’m going to be working on a contract with the US Marine Corps in Tysons Corner, VA – just a quick ride from where I live. There, I will be using HTML DB (naturally) to build a web interface to some Oracle eBusiness Suite applications. I’m anxious to get started, as I’ve long thought that using HTML DB as a one-off for eBusiness Suite applications is an excellent use for the tool which can save both time and money.

In addition to that, I am going to be doing some HTML DB & Oracle consulting on the side. I’m in the process of forming my own LLC – Sumner Technologies. While I admit that the website isn’t much to look at today, I plan on offering HTML DB consulting and training as my time permits.

So the focus of this blog is going to have to adjust accordingly. I’ll still be blogging on HTML DB related topics, but I am also going to blog on what it’s like to leave a…