Mystery of the FIRST_ROWS hint
I've always been intrigued by the FIRST_ROWS hint, so I paid special attention when we reached it in the 11g SQL Tuning class. But I'm still puzzled.The course notes said that although you shouldn't be...
View ArticleThe No-Output Debugging Technique
I run into this situation now and then by accident. If I could just figure out how to bottle it, all the world's software problems would be solved!Here's the scenario:- Notice a slight bug in some...
View ArticleDon't Be Cruel
Ran across this old paper from Edsger Dijkstra, discussed on Slashdot:On the Cruelty of Really Teaching Computer Science, as a PDF of scanned handwriting or the text transcript.I'm not going to attack...
View ArticleReformatting in vim
Things never really change. Even with XML, sometimes long lines are a big hassle. For example, if you have a wide code example that runs off the side of the page, and your formatter doesn't offer a way...
View ArticleThe Humble COUNT( ) Function
Here's another ode to a small but fundamental aspect of Oracle, following the same theme as The Humble IF Statement. This time, let's look at the COUNT( ) function. I think when you look at it the...
View ArticleCoding Horror: Hardware is Cheap, Programmers are Expensive
You've probably heard both sides of this argument: throw hardware at performance problems, no no, improve the code. Jeff Atwood at Coding Horror comes down on the "more hardware" side in this...
View ArticleOracle PeopleSoft hosted docs
Just in time for the new year! The Oracle PeopleSoft group now have their docs on Oracle.com in HTML format, hooked up to a Tahiti search:Oracle PeopleSoft Enterprise Hosted PeopleBooks
View ArticleYou've Got to Fight for Your Invoker's Rights
This post is about a PL/SQL feature that doesn't get enough respect, "invoker's rights".First off, what's its real name? Depending on the source, you'll see the feature name spelled "invoker's rights",...
View ArticleComic-Based Communication
These days, there are as many styles of documentation as there are of programming. Structured docs (waterfall model), topic-based writing (object-oriented development), less formal styles based around...
View ArticleDeconstructing the iPod Shuffle UI
The new buttonless iPod Shuffle, which moves all the controls onto the headphone cord, is taken to task in this article:The new iPod shuffle: Button, button, who's got the button?Now, I'm a recent...
View ArticleWhen Backwards Compatibility Goes Too Far
I couldn't help but notice this new article, about holdovers from the earliest days of DOS and even CP/M still showing up in Windows-based development:Zombie Operating Systems and ASP.NET...
View ArticleThe Humble PL/SQL Exception (Part 1) - The Disappearing RETURN
Exception handling in PL/SQL is a big subject, with a lot of nuances. Still, you have to start somewhere. Let's take one simple use case for exceptions, and see if it leads to some thoughts about best...
View ArticleThe Humble PL/SQL Exception (Part 1a) - The Structure of Stored Subprograms
As I said in my previous post, The Humble PL/SQL Exception (Part 1) - The Disappearing RETURN, there are a lot of nuances surrounding exception handling. That post attracted some comments that I...
View Articlevi, Still Relevant
I thought this was a good summary of why vi (or more accurately vim) is still a good choice for editing today:Why, oh WHY, do those #?@! nutheads use vi?One trick I learned from this article that I...
View ArticleThe Humble PL/SQL Dot
Like many other languages, PL/SQL has its own "dot notation". If we assume that most people can intuit or easily look up things like the syntax for '''IF/THEN/ELSIF''', that means that first-timer...
View ArticleDeconstructing "Everything is UNIX"
From Linux magazine, an article by Jeremy Zawodny: Everything is UNIX.For me, this is an example of the "Miller meme" from Repo Man. "Suppose you're thinkin' about a plate o' shrimp. Suddenly...
View ArticleTen Years Gone
I've been pretty quiet lately, because I'm in a transitional period. After 10 years on documentation for Oracle Database and other enterprise server products, I'm switching to the InnoDB group that...
View ArticleSnow Leopard upgrade
I finally upgraded the main iMac to Snow Leopard. For the first time ever, an upgrade actually resulted in more free space, an extra 6 GB worth. The main features that I notice are fairly minor -- the...
View ArticleMore on Single-Action UIs
In my post Deconstructing the iPod Shuffle UI, I talked a bit about the notion of a limited UI where you really only do one thing -- in that case, click the button on the headphones.Every now and then,...
View Article