<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1410257230668722599</id><updated>2011-11-27T17:02:24.540-08:00</updated><category term='linux'/><category term='UNIX'/><category term='IBM'/><category term='Python'/><category term='Microsoft'/><category term='docs'/><category term='MySQL'/><category term='SQL'/><category term='vi'/><category term='Javascript'/><category term='C'/><category term='PL/SQL'/><category term='AJAX'/><category term='music'/><category term='Perl'/><category term='Apple'/><category term='Java'/><category term='Oracle'/><category term='Web 2.0'/><category term='Perl Javascript'/><category term='Google'/><category term='SQL*Plus'/><category term='OS X'/><category term='InnoDB'/><category term='PHP'/><category term='Fortran'/><category term='RSS'/><category term='Firefox'/><category term='iPod'/><category term='languages'/><category term='mp3'/><category term='review'/><category term='usability'/><category term='itunes'/><category term='database'/><title type='text'>Tahiti Views</title><subtitle type='html'>Opinions, examples, and the occasional rant about database and web programming.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>76</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-1262089315440536976</id><published>2010-04-01T10:44:00.000-07:00</published><updated>2010-04-01T10:46:40.537-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='InnoDB'/><title type='text'>InnoDB Plugin Doc</title><summary type='text'>The InnoDB Plugin manual is now available on the MySQL web site.</summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/1262089315440536976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=1262089315440536976' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1262089315440536976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1262089315440536976'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2010/04/innodb-plugin-doc.html' title='InnoDB Plugin Doc'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-13718256922925952</id><published>2010-03-10T18:30:00.000-08:00</published><updated>2010-03-10T18:49:53.911-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='usability'/><category scheme='http://www.blogger.com/atom/ns#' term='iPod'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>More on Single-Action UIs</title><summary type='text'>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, I rediscover the infrared remote that goes with my iMac, and realize that for many mundane tasks, the remote does everything I need. (Mira lets me assign different actions for the remote button for</summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/13718256922925952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=13718256922925952' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/13718256922925952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/13718256922925952'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2010/03/more-on-single-action-uis.html' title='More on Single-Action UIs'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-4387054893806594990</id><published>2010-02-15T08:25:00.000-08:00</published><updated>2010-03-07T14:19:56.940-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS X'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Snow Leopard upgrade</title><summary type='text'>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 ability to view stacks on the dock using a normal icon instead of the smashed-together icons of the apps in the folder; the ability to have the time announced every 15, 30, or 60 minutes by the </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/4387054893806594990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=4387054893806594990' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/4387054893806594990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/4387054893806594990'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2010/02/snow-leopard-upgrade.html' title='Snow Leopard upgrade'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-3283821215895800017</id><published>2010-01-12T22:51:00.000-08:00</published><updated>2010-01-12T22:52:53.068-08:00</updated><title type='text'>Follow me on Twitter</title><summary type='text'>I'm Max Webster there.</summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/3283821215895800017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=3283821215895800017' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/3283821215895800017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/3283821215895800017'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2010/01/follow-me-on-twitter.html' title='Follow me on Twitter'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-6896204022257253660</id><published>2010-01-12T22:47:00.000-08:00</published><updated>2010-01-12T22:50:51.541-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Ten Years Gone</title><summary type='text'>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 already works with MySQL. New development environments, new customers, it's an exciting time!A decade seems to be the right timeframe for me. It was 10 years at IBM before that. Check back in 2019, I'm</summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/6896204022257253660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=6896204022257253660' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/6896204022257253660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/6896204022257253660'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2010/01/ten-years-gone.html' title='Ten Years Gone'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-703857817350534982</id><published>2009-10-15T21:42:00.000-07:00</published><updated>2009-10-15T22:04:32.550-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UNIX'/><category scheme='http://www.blogger.com/atom/ns#' term='usability'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Deconstructing "Everything is UNIX"</title><summary type='text'>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 someone'll say, like, "plate," or "shrimp," or "plate o' shrimp" out of the blue, no explanation." You go through life thinking you'll find something better than UNIX. The man pages still have the same bad </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/703857817350534982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=703857817350534982' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/703857817350534982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/703857817350534982'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2009/10/deconstructing-everything-is-unix.html' title='Deconstructing &quot;Everything is UNIX&quot;'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-310473722043219719</id><published>2009-08-08T12:20:00.002-07:00</published><updated>2009-08-29T17:57:04.028-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><title type='text'>The Humble PL/SQL Dot</title><summary type='text'>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 users might quickly run into dots and want to understand their significance.The authoritative docs on the dots is in the Oracle Database 11g PL/SQL Language Reference, in particular Appendix B, How PL/</summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/310473722043219719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=310473722043219719' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/310473722043219719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/310473722043219719'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2009/08/humble-plsql-dot.html' title='The Humble PL/SQL Dot'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-3998329880958682680</id><published>2009-07-09T21:50:00.000-07:00</published><updated>2009-07-09T21:56:33.198-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vi'/><title type='text'>vi, Still Relevant</title><summary type='text'>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 hadn't known: keep the cursor on the same line, but position that line at the top, middle, or bottom of the script via 'zt', 'zz', and 'zb' respectively. I am always ending up with the cursor at the </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/3998329880958682680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=3998329880958682680' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/3998329880958682680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/3998329880958682680'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2009/07/vi-still-relevant.html' title='vi, Still Relevant'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-1644165586179089437</id><published>2009-06-21T21:52:00.000-07:00</published><updated>2009-06-21T22:49:20.401-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>The Humble PL/SQL Exception (Part 1a) - The Structure of Stored Subprograms</title><summary type='text'>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 thought deserved a followup post rather than just another comment in response.oraclenerd said (excerpted):I'm going to have to disagree with you on the internal procedure (in the declaration section) </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/1644165586179089437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=1644165586179089437' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1644165586179089437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1644165586179089437'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2009/06/humble-plsql-exception-part-1a.html' title='The Humble PL/SQL Exception (Part 1a) - The Structure of Stored Subprograms'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-2549078243632697233</id><published>2009-06-17T22:59:00.000-07:00</published><updated>2009-06-18T10:15:30.282-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>The Humble PL/SQL Exception (Part 1) - The Disappearing RETURN</title><summary type='text'>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 practices. (Hopefully, this is not the last post in this particular series.)One common pattern I find in PL/SQL procedures is a series of tests early on...if not_supposed_to_even_be_here() then </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/2549078243632697233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=2549078243632697233' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/2549078243632697233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/2549078243632697233'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2009/06/humble-plsql-exception-part-1.html' title='The Humble PL/SQL Exception (Part 1) - The Disappearing RETURN'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-3440768336125976926</id><published>2009-06-13T17:46:00.000-07:00</published><updated>2009-06-13T17:59:00.891-07:00</updated><title type='text'>When Backwards Compatibility Goes Too Far</title><summary type='text'>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 MVCPersonally, I really enjoyed working on the IBM C/C++ compiler back in the day, targeting Windows 95. They licensed the Borland resource editor and I adapted the RTF-format online help, with no RTF specs, </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/3440768336125976926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=3440768336125976926' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/3440768336125976926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/3440768336125976926'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2009/06/when-backwards-compatibility-goes-too.html' title='When Backwards Compatibility Goes Too Far'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-7605407555565213116</id><published>2009-06-01T08:36:00.000-07:00</published><updated>2009-06-01T09:48:09.024-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='usability'/><category scheme='http://www.blogger.com/atom/ns#' term='iPod'/><category scheme='http://www.blogger.com/atom/ns#' term='itunes'/><title type='text'>Deconstructing the iPod Shuffle UI</title><summary type='text'>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 purchaser of the previous Shuffle model, and intuitively I prefer the Play/Pause/Forward/Back/Up/Down controls of that previous model. But I like to take contrarian positions sometimes too, so let me </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/7605407555565213116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=7605407555565213116' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/7605407555565213116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/7605407555565213116'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2009/03/deconstructing-ipod-shuffle-ui.html' title='Deconstructing the iPod Shuffle UI'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-6585777057346925744</id><published>2009-01-14T22:33:00.000-08:00</published><updated>2009-01-15T22:50:18.434-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='docs'/><title type='text'>Comic-Based Communication</title><summary type='text'>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 wikis (agile coding). Another one that I haven't seen given a name, is what I think of as comic-based communication.If you grew up with comic books, fingers poised next to "continued on 3rd page", </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/6585777057346925744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=6585777057346925744' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/6585777057346925744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/6585777057346925744'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2009/01/comic-based-communication.html' title='Comic-Based Communication'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_aUgNMQ2wQTE/SXAqpkn2utI/AAAAAAAAApw/5R5Tok9KleU/s72-c/Page_6.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-3923277018373266368</id><published>2009-01-09T16:35:00.000-08:00</published><updated>2009-01-09T17:28:46.714-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>You've Got to Fight for Your Invoker's Rights</title><summary type='text'>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", "invokers' rights", or "invoker rights". That makes a difference -- you'll get different results in Google depending on what combination of singular, plural, and possessive you use. And to be </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/3923277018373266368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=3923277018373266368' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/3923277018373266368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/3923277018373266368'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2009/01/youve-got-to-fight-for-your-invokers.html' title='You&apos;ve Got to Fight for Your Invoker&apos;s Rights'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-2148258998598426448</id><published>2008-12-31T11:32:00.000-08:00</published><updated>2008-12-31T11:39:45.098-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='docs'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Oracle PeopleSoft hosted docs</title><summary type='text'>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</summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/2148258998598426448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=2148258998598426448' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/2148258998598426448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/2148258998598426448'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/12/oracle-peoplesoft-hosted-docs.html' title='Oracle PeopleSoft hosted docs'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-933467936046851953</id><published>2008-12-21T22:17:00.000-08:00</published><updated>2008-12-21T22:52:49.126-08:00</updated><title type='text'>Coding Horror: Hardware is Cheap, Programmers are Expensive</title><summary type='text'> &lt;!--"http://2.bp.blogspot.com/_aUgNMQ2wQTE/SU85HNSMTrI/AAAAAAAAAog/scDeVTgpYZA/s1600-h/Luxury_Tax.jpg" --&gt;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 post:Coding Horror: Hardware is Cheap, Programmers are ExpensiveUsually I agree with Jeff, but I </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/933467936046851953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=933467936046851953' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/933467936046851953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/933467936046851953'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/12/coding-horror-hardware-is-cheap.html' title='Coding Horror: Hardware is Cheap, Programmers are Expensive'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_aUgNMQ2wQTE/SU85HNSMTrI/AAAAAAAAAog/scDeVTgpYZA/s72-c/Luxury_Tax.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-8170999361127415157</id><published>2008-12-18T20:59:00.000-08:00</published><updated>2009-02-23T14:09:01.140-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>The Humble COUNT( ) Function</title><summary type='text'>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 right way, it opens up the whole story about database performance.What's the first thing you do when poking around an unfamiliar system? I'll bet it involves SELECT COUNT(*) queries in one way or </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/8170999361127415157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=8170999361127415157' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/8170999361127415157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/8170999361127415157'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/12/humble-count-function.html' title='The Humble COUNT( ) Function'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_aUgNMQ2wQTE/SUsqX6b2j1I/AAAAAAAAAng/4gucbqUfqlI/s72-c/Numbers.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-3288214813906245534</id><published>2008-12-16T08:39:00.000-08:00</published><updated>2008-12-18T22:15:59.626-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vi'/><title type='text'>Reformatting in vim</title><summary type='text'>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 to adjust the page margins for one element, or to auto-shrink the font size.I was spoiled back in the day by the ability of editors like XEDIT to apply formats to ranges of lines, so I hadn't </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/3288214813906245534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=3288214813906245534' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/3288214813906245534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/3288214813906245534'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/12/reformatting-in-vim.html' title='Reformatting in vim'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_aUgNMQ2wQTE/SUs8FvtKl2I/AAAAAAAAAno/XNvo_D1Ox5E/s72-c/Margin_Release.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-1359218510804190311</id><published>2008-12-02T08:30:00.000-08:00</published><updated>2008-12-18T22:18:47.602-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Don't Be Cruel</title><summary type='text'>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 or defend the overall thesis, but anyway this paragraph I will agree with:My next linguistical suggestion is more rigorous. It is to fight the "if-this-guy-wants-to-talk-to-that-guy" syndrome: never</summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/1359218510804190311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=1359218510804190311' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1359218510804190311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1359218510804190311'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/12/dont-be-cruel.html' title='Don&apos;t Be Cruel'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_aUgNMQ2wQTE/SUs8wYjSGhI/AAAAAAAAAnw/FpjuCGaNOPM/s72-c/Cruelty.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-6411148845435031608</id><published>2008-11-22T21:58:00.000-08:00</published><updated>2008-12-18T22:22:01.907-08:00</updated><title type='text'>The No-Output Debugging Technique</title><summary type='text'>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 program output (typically a web page).- Make the obvious code change, reload the page, bug is still there.- Make more aggressive code change, making code more modular. Still no dice.- Add several </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/6411148845435031608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=6411148845435031608' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/6411148845435031608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/6411148845435031608'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/11/no-output-debugging-technique.html' title='The No-Output Debugging Technique'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_aUgNMQ2wQTE/SUs9hWmOl0I/AAAAAAAAAoA/FqwGn4yuK20/s72-c/Debugging.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-7570191997239980856</id><published>2008-11-18T21:02:00.000-08:00</published><updated>2008-12-18T22:20:27.521-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Mystery of the FIRST_ROWS hint</title><summary type='text'>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 using hints generally, when you do, FIRST_ROWS is the most useful of the hints (in the form FIRST_ROWS(n) where you specify how many rows to optimize for).  Also that it's not effective when the </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/7570191997239980856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=7570191997239980856' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/7570191997239980856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/7570191997239980856'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/11/mystery-of-firstrows-hint.html' title='Mystery of the FIRST_ROWS hint'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_aUgNMQ2wQTE/SUs9JtIXk-I/AAAAAAAAAn4/vfJpibgW81Q/s72-c/Hint.jpg' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-7069820448653060137</id><published>2008-11-08T21:20:00.000-08:00</published><updated>2008-12-18T22:31:19.166-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Things That Make Us Go</title><summary type='text'>&lt;!-- http://4.bp.blogspot.com/_aUgNMQ2wQTE/SUs_eaEFKSI/AAAAAAAAAoQ/FUG8BLpXtF0/s1600-h/Speed_Highway.jpg --&gt;I've just finished taking the (EM-based) Performance Tuning course and the SQL Tuning course. It's always a strange feeling taking a course where I already have hands-on experience, or I was around in the early days when standards were being hammered out. Sometimes that odd feeling (I know </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/7069820448653060137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=7069820448653060137' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/7069820448653060137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/7069820448653060137'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/11/things-that-make-us-go.html' title='Things That Make Us Go'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_aUgNMQ2wQTE/SUs_eaEFKSI/AAAAAAAAAoQ/FUG8BLpXtF0/s72-c/Speed_Highway.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-1569614925446124614</id><published>2008-11-02T20:12:00.000-08:00</published><updated>2008-12-18T22:25:02.823-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Don't Fence Me In: All About Constraints</title><summary type='text'>Constraints are simultaneously one of my most favorite and least favorite Oracle Database features. They're great for keeping bad data out of the database. They're a terrible imposition on object-oriented, agile, or &lt;insert your favorite buzzword here&gt; coding style. They save a ton of repetitive coding, writing the same logic in different languages. Hey, we already wrote all that redundant code </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/1569614925446124614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=1569614925446124614' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1569614925446124614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1569614925446124614'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/11/dont-fence-me-in-all-about-constraints.html' title='Don&apos;t Fence Me In: All About Constraints'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_aUgNMQ2wQTE/SUs-OlueSlI/AAAAAAAAAoI/wp-x3O5mR_8/s72-c/Fence_BW.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-5936579446130329961</id><published>2008-10-30T23:12:00.000-07:00</published><updated>2008-10-30T23:12:31.479-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Local Angles from OOW</title><summary type='text'>TCHO, a San Francisco chocolate company, had a booth. As an East Bay booster, I have to stay loyal to Scharffen Berger, one of whose founders recently died, and Charles Chocolates. Both just down the street from me, both offering factory tours and sometimes free samples.Enterprising panhandlers stock up on conference swag. Hey, I think I saw one of those guys Wednesday afternoon in Moscone South.</summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/5936579446130329961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=5936579446130329961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/5936579446130329961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/5936579446130329961'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/10/local-angles-from-oow.html' title='Local Angles from OOW'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-1758824490610160227</id><published>2008-09-28T11:41:00.000-07:00</published><updated>2008-09-28T12:32:15.479-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Thoughts on Debugging PL/SQL Web Applications</title><summary type='text'>At OOW, I ran into Stephen Feuerstein after seeing him demonstrate Quest Software's "Quest Code Tester" product. Considering how I might use a product like that for testing web-based applications, I suggested a couple of enhancements.The biggest, most important procedures that I test in PL/SQL are those that generate entire web pages. For that kind of testing, you can't look at whether data has </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/1758824490610160227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=1758824490610160227' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1758824490610160227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1758824490610160227'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/09/thoughts-on-debugging-plsql-web.html' title='Thoughts on Debugging PL/SQL Web Applications'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-9054175965190399268</id><published>2008-09-27T13:00:00.000-07:00</published><updated>2008-09-27T13:02:17.819-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>HP Oracle Database Machine</title><summary type='text'>Here's the HP Oracle Database Machine talked about in Larry's keynote. On the way out, some audience members said they were drooling over it. I don't know if that's a good idea; didn't see anything about moisture resistance in the tech specs.I noticed that the box was about the same height as Larry. In the same way we talk about pizza boxes, 5U vs. 10U servers, etc., will we one day measure the </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/9054175965190399268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=9054175965190399268' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/9054175965190399268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/9054175965190399268'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/09/hp-oracle-database-machine.html' title='HP Oracle Database Machine'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-4043768377748756164</id><published>2008-09-11T21:45:00.000-07:00</published><updated>2008-09-11T21:50:29.773-07:00</updated><title type='text'>The Roads Must Roll</title><summary type='text'>I have this theory. It's a variation on the Sapir-Whorf hypothesis, which says that the language someone speaks influences their thought patterns. That is, if a language has lots of words for XYZ, the people who speak it might be preoccupied with XYZ. Science fiction fans would naturally glom onto the idea that Klingon has lots of words for war and fighting; but that would be the Sapir-Worf </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/4043768377748756164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=4043768377748756164' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/4043768377748756164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/4043768377748756164'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/09/roads-must-roll.html' title='The Roads Must Roll'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-8310710818947328880</id><published>2008-09-03T00:00:00.000-07:00</published><updated>2008-09-04T08:11:54.913-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>First Thoughts about Google's Chrome Browser</title><summary type='text'>I haven't tried Google's new Chrome browser yet. (Mac version if you please!)But that doesn't stop me from having opinions. :-) For me, the most interesting aspect is the "&gt;architecture behind the tabs. This whole issue has been driving me crazy for some time now. All the tabbed browsers have one shortcoming or another. Let's see if Chrome can fix some things.For example, have you noticed that </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/8310710818947328880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=8310710818947328880' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/8310710818947328880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/8310710818947328880'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/09/first-thoughts-about-googles-chrome.html' title='First Thoughts about Google&apos;s Chrome Browser'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-1938105728590548950</id><published>2008-08-24T20:35:00.000-07:00</published><updated>2008-08-25T10:55:21.376-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IBM'/><title type='text'>I'm Not Dead Yet...</title><summary type='text'>This piece on the always-dying-but-never-quite-dead mainframes led me down memory lane:Interop Systems -  The Open Enterprise - The mainframe isn’t dead after allMy earliest full-time job was at IBM, developing and publishing in a mainframe environment on VM/CMS. (TOROLAB4 to be precise.) Coming from a UNIX background at university, I knew there was something better. Then IBM tried moving off </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/1938105728590548950/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=1938105728590548950' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1938105728590548950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1938105728590548950'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/08/im-not-dead-yet.html' title='I&apos;m Not Dead Yet...'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-6063565211057705828</id><published>2008-08-16T22:23:00.000-07:00</published><updated>2008-08-16T22:32:49.350-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>How PL/SQL Could Be More Like Python</title><summary type='text'>In previous posts, I suggested a couple of syntactic or thematic items from Perl and PHP that I thought would make PL/SQL friendlier and more accessible. Hey, maybe Python has some things too!One thing to like about Python is the way its composite data structures build on top of each other. A list or a tuple can hold a bunch of numbers or strings in an array-like structure, but those things can </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/6063565211057705828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=6063565211057705828' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/6063565211057705828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/6063565211057705828'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/08/how-plsql-could-be-more-like-python.html' title='How PL/SQL Could Be More Like Python'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-1932160954565995148</id><published>2008-08-01T16:15:00.000-07:00</published><updated>2008-08-16T22:22:35.773-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mp3'/><category scheme='http://www.blogger.com/atom/ns#' term='music'/><category scheme='http://www.blogger.com/atom/ns#' term='itunes'/><title type='text'>Ruminations on Metadata</title><summary type='text'>Metadata is a great subject for web development and publishing, but when it comes to music, that's more a subject for my more personal blog. Thoughts here.</summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/1932160954565995148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=1932160954565995148' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1932160954565995148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1932160954565995148'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/08/inside-outside-metadata.html' title='Ruminations on Metadata'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-4527871754733273963</id><published>2008-07-14T21:01:00.001-07:00</published><updated>2008-07-14T21:08:17.107-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IBM'/><title type='text'>Feeling Researchy</title><summary type='text'>For some reason, lately I'm feeling a mood I can only describe as "researchy". Related trivia that caught my eye lately... I ran across a research group at UC Berkeley and attended one of their public seminars; found that former co-worker Kevin Stoodley from the IBM Toronto Lab is an IBM fellow;  and reminisced over some history on IBM's research group, with extra acronyms thrown in.</summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/4527871754733273963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=4527871754733273963' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/4527871754733273963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/4527871754733273963'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/07/feeling-researchy.html' title='Feeling Researchy'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-6477624651845822961</id><published>2008-07-12T15:09:00.000-07:00</published><updated>2008-07-12T15:10:59.503-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><title type='text'>Javascript Performance Considered as a Helix of Semi-Precious Hash Tables</title><summary type='text'>I had a discussion about Javascript performance the other day, which reminded me that the more things change, the more they stay the same.  Some of the things casual Javascript programmers are grappling with today, were big research issues for IBM'sTOBEY compiler technology a few years ago.  (And maybe still, for all I know.)Let's start with the basics.  Whenever you're referencing objects in </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/6477624651845822961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=6477624651845822961' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/6477624651845822961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/6477624651845822961'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/07/javascript-performance-considered-as.html' title='Javascript Performance Considered as a Helix of Semi-Precious Hash Tables'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-8759783004667737130</id><published>2008-06-21T21:45:00.000-07:00</published><updated>2008-06-21T23:34:50.416-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='usability'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>For Want of a %s...</title><summary type='text'>Today's post involves a three-way grudge match among usability, security, and inertia.One of the basic tenets of usability is to answer user questions clearly and concisely. One concrete technique is to use placeholder strings liberally in messages (typically coded in C-like languages as "%s" for strings or "%d" for numbers).This notion pops into my head whenever I'm doing anything significant in</summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/8759783004667737130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=8759783004667737130' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/8759783004667737130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/8759783004667737130'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/06/for-want-of-s.html' title='For Want of a %s...'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-6317624997147114803</id><published>2008-06-07T08:54:00.000-07:00</published><updated>2008-06-07T10:07:55.432-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IBM'/><title type='text'>The Goals of a Computer Science Education</title><summary type='text'>I'm far enough along in my UC Berkeley Comp Sci refresher podcasts -- 61A (Structure and Interpretation of Computer Programs), 61B (Data Structures), and most of 162 (Operating Systems) -- that it feels like time to make some blog posts about computer science in general.After all, one of the perennial topics for argum^H^H^H^H^H discussion is whether it's better to hire a Comp Sci major, a </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/6317624997147114803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=6317624997147114803' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/6317624997147114803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/6317624997147114803'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/06/goals-of-computer-science-education.html' title='The Goals of a Computer Science Education'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-5380411121256460033</id><published>2008-06-03T22:33:00.000-07:00</published><updated>2008-06-03T22:36:09.435-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL*Plus'/><title type='text'>How PL/SQL Could Be More Like PHP</title><summary type='text'>This is really a trick subject line -- PL/SQL already has the capability to be very much like PHP. PL/SQL Server Pages lets you write template HTML files including PL/SQL parameters, expressions, and blocks, and turn them into stored procedures that produce HTML output using HTP.P() procedure calls. The angle-bracket syntax around the expressions and blocks is very similar to that of PHP. And a </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/5380411121256460033/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=5380411121256460033' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/5380411121256460033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/5380411121256460033'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/06/how-plsql-could-be-more-like-php.html' title='How PL/SQL Could Be More Like PHP'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-1188197943519946551</id><published>2008-05-29T22:33:00.000-07:00</published><updated>2008-05-29T22:30:20.099-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><title type='text'>How PL/SQL Could Be More Like Perl</title><summary type='text'>An idea has been rattling around in my head for a while now. I know, I know, there's a lot of empty space so it makes a lot of noise. :-) Could PL/SQL become more popular and easier to use by taking a couple of points from the Perl playbook?I read a blog post about how scripting languages are or aren't gaining on Java. I think supporting curly-brace syntax would be a nifty way to encourage PL/SQL</summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/1188197943519946551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=1188197943519946551' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1188197943519946551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1188197943519946551'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/05/how-plsql-could-be-more-like-perl.html' title='How PL/SQL Could Be More Like Perl'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-649484175782605652</id><published>2008-05-27T09:09:00.000-07:00</published><updated>2008-05-27T09:25:48.141-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vi'/><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><title type='text'>Doubleplusgood vi Shortcut for PL/SQL Coders</title><summary type='text'>One thing that bugs me (no pun intended) about PL/SQL syntax is the lack of the ++ and similar operators. If you use long variable names, you're penalized by having to type them twice in a simple increment operation:rows_processed := rows_processed + 1;I use vim, a cross-platform vi clone, for editing PL/SQL code. vim has a lot of extensions that the old-school vi user might never realize. One </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/649484175782605652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=649484175782605652' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/649484175782605652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/649484175782605652'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/05/doubleplusgood-vi-shortcut-for-plsql.html' title='Doubleplusgood vi Shortcut for PL/SQL Coders'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-579140370380938068</id><published>2008-05-14T22:19:00.000-07:00</published><updated>2008-05-14T22:35:27.919-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL*Plus'/><title type='text'>Query vs. CREATE TABLE AS SELECT</title><summary type='text'>Half the time, I want to know some answer that can be determined with a query. The other half of the time, I want to start from that answer and use it as an intermediate step towards some larger solution. (That's not even considering the third half... :-)So, I have a bunch of .sql files that do SELECT statements. Sometimes, I end up editing those .sql files into new ones that do CREATE TABLE AS </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/579140370380938068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=579140370380938068' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/579140370380938068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/579140370380938068'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/05/query-vs-create-table-as-select.html' title='Query vs. CREATE TABLE AS SELECT'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-4928743091956527150</id><published>2008-04-21T09:23:00.000-07:00</published><updated>2008-04-22T11:58:34.261-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>A CASE of Functional Programming</title><summary type='text'>Chris mentioned in response to my post on functional programming that the CASE construct is useful in such situations. You can use CASE expressions either in PL/SQL subprograms or in SQL queries.I agree, although I'm not sure if my agreement is more because of developer convenience or the pragmatic (performance) aspect. When you use a CASE expression, you skip the step of putting the IF/THEN test</summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/4928743091956527150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=4928743091956527150' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/4928743091956527150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/4928743091956527150'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/04/case-of-functional-programming.html' title='A CASE of Functional Programming'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-2759816649803458394</id><published>2008-04-20T20:41:00.000-07:00</published><updated>2008-04-22T11:53:38.991-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>A Word about Functional Programming</title><summary type='text'>In all the back-and-forth about procedural programming and object-oriented programming, don't forget about another possibility: functional programming. It offers valuable lessons that can help with both hardcore SQL database operations, and the most modern and hip OO coding styles.In some quarters, functional programming has a bit of a stigma from the Lisp days. In its purest form, functional </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/2759816649803458394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=2759816649803458394' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/2759816649803458394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/2759816649803458394'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/04/word-about-functional-programming.html' title='A Word about Functional Programming'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-9095457726711798232</id><published>2008-04-12T12:40:00.000-07:00</published><updated>2008-04-12T22:01:37.321-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Deleting Data, Part 2</title><summary type='text'>In a previous post, I listed a few different techniques for deleting Oracle data. Just to recap:DELETE statement in SQL (or PL/SQL).FORALL loop construct wrapped around a DELETE statement in PL/SQL.TRUNCATE TABLE statement.Temporary tables.Different themes emerge. Some ways are more flexible (DELETE statement), some are faster for large amounts of data (FORALL, TRUNCATE), and some are more </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/9095457726711798232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=9095457726711798232' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/9095457726711798232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/9095457726711798232'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/04/deleting-data-part-2.html' title='Deleting Data, Part 2'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-5739072771529944743</id><published>2008-04-08T23:01:00.000-07:00</published><updated>2008-04-08T22:59:02.699-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Unlikely Combos: Deleting Data</title><summary type='text'>One of the challenges I see in understanding how the Oracle Database works is when features for similar tasks don't fall into neatly organized categories. It's obvious that this feature should be documented over here, and that one over there, but where can you discuss them side-by-side? Maybe the features are from different functional areas, and it's tough to find a single reviewer who can verify</summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/5739072771529944743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=5739072771529944743' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/5739072771529944743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/5739072771529944743'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/04/unlikely-combos-deleting-data.html' title='Unlikely Combos: Deleting Data'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-9205967896107184328</id><published>2008-04-03T22:31:00.000-07:00</published><updated>2008-04-04T09:38:46.772-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Rikki Don't Lose That NUMBER</title><summary type='text'>Everything you know is wrong. The more things change, the more they stay the same. Money makes the world go around. Let's see how many aphorisms I can spout while thinking about the Oracle NUMBER datatype.The Oracle NUMBER datatype has a couple of attributes, precision and scale, that can be hard to grasp. The documentation spends some time explaining how these attributes affect the storage </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/9205967896107184328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=9205967896107184328' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/9205967896107184328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/9205967896107184328'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/04/rikki-dont-lose-that-number.html' title='Rikki Don&apos;t Lose That NUMBER'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-2461869375644771875</id><published>2008-03-22T09:45:00.000-07:00</published><updated>2008-03-22T10:16:01.904-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>The Promise of OO</title><summary type='text'>Severin asked if I thought OO had fulfilled its promise.Well, that's a question that almost by nature is impossible to answer. Lots of colleges are teaching object-oriented programming right from the start, and lots of programmers adopted that style once they saw it becoming popular, so "widely adopted", sure.For "fulfilled its promise", what exactly is the promise? If we think of people 100 </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/2461869375644771875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=2461869375644771875' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/2461869375644771875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/2461869375644771875'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/03/promise-of-oo.html' title='The Promise of OO'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-4007394098253882240</id><published>2008-03-11T19:25:00.000-07:00</published><updated>2008-03-11T19:44:33.246-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><title type='text'>Can Your Programming Language Do This... Or That...</title><summary type='text'>Just wanted to point out this "Joel On Software" article, Can Your Programming Language Do This?. It's a nice concise opinion that summarizes why, given an arbitrary algorithmic problem, I'm personally more likely to turn to Javascript (or Perl or another scripting language with the same feel) than Java.The key for me with Java is this statement from Joel:Java required you to create a whole </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/4007394098253882240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=4007394098253882240' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/4007394098253882240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/4007394098253882240'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/03/can-your-programming-language-do-this.html' title='Can Your Programming Language Do This... Or That...'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-3371680175298149674</id><published>2008-01-18T22:53:00.000-08:00</published><updated>2008-01-18T23:17:59.933-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Relational vs. OO Databases</title><summary type='text'>I found this ACM Queue article interesting:A Conversation with Michael Stonebraker and Margo SeltzerThe most interesting part for me was the rumination on "Why did OO (object-oriented) databases fail?". I worked on the "Oracle Database Application Developer's Guide - Object-Oriented Features" back in 8i, and heard the mantras about how OO would kill off relational. Previously, back at IBM, I was </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/3371680175298149674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=3371680175298149674' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/3371680175298149674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/3371680175298149674'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/01/relational-vs-oo-databases.html' title='Relational vs. OO Databases'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-6460349528883039678</id><published>2008-01-11T21:36:00.000-08:00</published><updated>2008-01-18T22:51:47.764-08:00</updated><title type='text'>8 Things About Me</title><summary type='text'>I don't do a lot of blogrolling and haven't been tagged yet in Jake's Oracle blogger game of tag. So I'll seize the initiative and post my 8 +/ 1 things anyway.1. I'm Canadian, and in my time at Oracle have cycled through a special visa for Canadians, then the infamous H1-B, and finally a Green Card.2. I come from the most recent, and relatively little known, part of Canada: the island of </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/6460349528883039678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=6460349528883039678' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/6460349528883039678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/6460349528883039678'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/01/8-things-about-me.html' title='8 Things About Me'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-1244635024543987975</id><published>2008-01-07T22:16:00.000-08:00</published><updated>2008-01-07T22:23:20.286-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RSS'/><category scheme='http://www.blogger.com/atom/ns#' term='docs'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='Web 2.0'/><title type='text'>Search results as RSS</title><summary type='text'>Normally an Oracle doc search gives you a regular HTML (really XHTML) results page:http://www.oracle.com/pls/db111/search?word=web+servicesRecently a developer asked for an RSS-format equivalent, to consume the results as a web service. At your, er, service:http://www.oracle.com/pls/db111/search?word=web+services&amp;format=rssThe format/structure of the RSS feed may change. For example, Firefox </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/1244635024543987975/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=1244635024543987975' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1244635024543987975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1244635024543987975'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2008/01/search-results-as-rss.html' title='Search results as RSS'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-7028221454082916973</id><published>2007-12-30T17:22:00.000-08:00</published><updated>2007-12-30T18:45:38.517-08:00</updated><title type='text'>What Is Scripting, Anyway?</title><summary type='text'>[Some thoughts prompted by the article "Programming is Hard, Let's Go Scripting" by Larry Wall, father of Perl.]How to define scripting and scripting languages? For me, as a long-time delver into compiler details, there's one key distinction between scripting languages and other ones. Scripting languages bypass all the low-level conventions for interlanguage calls, and take the shortcut of </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/7028221454082916973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=7028221454082916973' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/7028221454082916973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/7028221454082916973'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/12/what-is-scripting-anyway.html' title='What Is Scripting, Anyway?'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-7503899996312315509</id><published>2007-12-28T20:58:00.000-08:00</published><updated>2007-12-28T20:48:22.095-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><title type='text'>Demystifying AJAX for the PL/SQL Developer</title><summary type='text'>Raise your hand if you haven't heard that AJAX is the web development buzzword du jour. Despite the word "Javascript" in the acronym -- Asynchronous Javascript and XML -- PL/SQL can play a role in the front and particularly the back end. PL/SQL developers have the kind of background that's needed to understand what's happening at the lowest levels of network requests, perceived performance, and  </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/7503899996312315509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=7503899996312315509' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/7503899996312315509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/7503899996312315509'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/12/demystifying-ajax-for-plsql-developer.html' title='Demystifying AJAX for the PL/SQL Developer'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-1762676915858078288</id><published>2007-12-28T12:21:00.000-08:00</published><updated>2007-12-28T12:28:54.190-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Alternative Firefox shortcut for Find In Page</title><summary type='text'>For a long time, I've used the Firefox option "Search for text when I start typing" to avoid having to type Ctrl-F / Command-F every time to find something on a page. But with more interactive Web 2.0-style pages perhaps using keyboard controls, now I've turned that option off.However, you don't have to do Ctrl-F / Command-F to activate Firefox's find-in-page dialog. The / key also activates it; </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/1762676915858078288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=1762676915858078288' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1762676915858078288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1762676915858078288'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/12/alternative-firefox-shortcut-for-find.html' title='Alternative Firefox shortcut for Find In Page'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-68128156298028001</id><published>2007-11-26T23:15:00.000-08:00</published><updated>2007-11-27T11:37:50.553-08:00</updated><title type='text'>Posting Reports from SQL*Plus</title><summary type='text'>It used to be that all you needed to do with a SQL*Plus report was save it into a file, then you had everything you needed. (Or maybe just transfer the file to a web server afterwards.) These days, with blogs, wikis, etc., you might have to be a bit more creative.For example, I was posting the results of a SQL*Plus report onto a wiki page. At the end of the SQL*Plus script, I had PROMPT commands </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/68128156298028001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=68128156298028001' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/68128156298028001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/68128156298028001'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/11/posting-reports-from-sqlplus.html' title='Posting Reports from SQL*Plus'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-7765642202017328327</id><published>2007-11-16T23:10:00.000-08:00</published><updated>2007-11-16T23:15:03.879-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>OpenWorld at 20,000 Feet</title><summary type='text'>I hadn't been to OpenWorld in a while until this year. Definitely a different tone than in years past. In the demo grounds, less "here are features we have in individual products", more "here are products built on top of those nifty features". Lots of demo booths from industry-specific acquisitions. Reminded me of IBM's SHARE conferences from the '90s, very customer focused.Plus, Tom Kyte has a </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/7765642202017328327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=7765642202017328327' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/7765642202017328327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/7765642202017328327'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/11/openworld-at-20000-feet.html' title='OpenWorld at 20,000 Feet'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-6663143579272567225</id><published>2007-10-24T21:59:00.000-07:00</published><updated>2007-10-24T22:23:09.723-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='review'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Why Keynote is Better than Powerpoint</title><summary type='text'>I had the opportunity to try Apple's Keynote for a presentation where I might normally have used Powerpoint or even OpenOffice.  Rather than do a lengthy review, why don't I just summarize why the results are better than I might get from Powerpoint? After all, that's the ultimate goal with presentation software -- to do something Powerpointish, but faster and/or higher quality.Let's leave aside </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/6663143579272567225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=6663143579272567225' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/6663143579272567225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/6663143579272567225'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/10/why-keynote-is-better-than-powerpoint.html' title='Why Keynote is Better than Powerpoint'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-1288162596380212422</id><published>2007-10-14T21:38:00.000-07:00</published><updated>2007-10-15T09:19:21.797-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Perl Javascript'/><title type='text'>Learn PHP In 5 Minutes</title><summary type='text'>Maybe you've noticed a theme in some of my blog posts, the idea of switching back and forth between languages, or quickly transitioning from one language to another.Recently, I found myself writing some PHP code after a long stretch of doing nothing but Perl, Python, and Javascript. I decided to make it more challenging by writing the syntax from hazy, long-ago memory, and only looking anything </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/1288162596380212422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=1288162596380212422' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1288162596380212422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1288162596380212422'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/10/learn-php-in-5-minutes.html' title='Learn PHP In 5 Minutes'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-7846059436804169528</id><published>2007-09-18T20:40:00.000-07:00</published><updated>2007-09-18T21:06:33.150-07:00</updated><title type='text'>Separation of...</title><summary type='text'>You hear a lot about the merits of "separation of X and Y", for many values of X and Y. Content and presentation. Church and State. Running people and scissors. I thought I would just touch on this subject briefly before delving into more detail on the PL/SQL APIs for web development, like the HTP and HTF packages.In web development generally, it's conventional wisdom that you want to separate </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/7846059436804169528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=7846059436804169528' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/7846059436804169528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/7846059436804169528'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/09/separation-of.html' title='Separation of...'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-5808563911217511625</id><published>2007-08-16T21:53:00.000-07:00</published><updated>2007-08-16T21:55:15.706-07:00</updated><title type='text'>Oracle Database 11g Released, Read All About It</title><summary type='text'>That would be in the Oracle Database 11g documentation, natch.</summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/5808563911217511625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=5808563911217511625' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/5808563911217511625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/5808563911217511625'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/08/oracle-database-11g-released-read-all.html' title='Oracle Database 11g Released, Read All About It'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-2912624004135749412</id><published>2007-07-20T21:56:00.000-07:00</published><updated>2007-08-02T01:45:37.768-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><title type='text'>PL/SQL Web Programming 1.0 - The URL is the API</title><summary type='text'>Back in the transition between 8i and 9i, I almost had the chance to write a book about developing database-driven web apps for Oracle. But with so much web stuff moving to Java and the middle tier, it was too big and amorphous of a subject. I wrote about specific features, like PL/SQL Server Pages, but not a whole soup-to-nuts treatment.Ironically, now that things are more sorted out, I know the</summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/2912624004135749412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=2912624004135749412' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/2912624004135749412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/2912624004135749412'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/07/plsql-web-programming-10-url-is-api.html' title='PL/SQL Web Programming 1.0 - The URL is the API'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-7374761612243876331</id><published>2007-07-06T08:53:00.000-07:00</published><updated>2007-07-09T17:54:21.126-07:00</updated><title type='text'>Search Engine Optimization for Programming Languages</title><summary type='text'>Why didn't language X take over the world? Why does language Y enjoy broad adoption despite clear shortcomings? While there are lots of factors, for example the degree of strictness vs. whimsy and how that matches up with the mindset of programmers, I am convinced that it largely comes down to how easy it is to search for sample code in a given language.For example, once Java became popular, if </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/7374761612243876331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=7374761612243876331' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/7374761612243876331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/7374761612243876331'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/07/search-engine-optimization-for.html' title='Search Engine Optimization for Programming Languages'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-2715819125057762478</id><published>2007-06-28T08:46:00.000-07:00</published><updated>2007-06-28T09:25:17.531-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL*Plus'/><title type='text'>Upgrading SQL*Plus Client</title><summary type='text'>Sometimes the old ways are best, sometimes not. I have some rarely-used machines where I had never bothered to upgrade my client installation, and so were still running the 9i SQL*Plus. The older SQL*Plus could still compile all my PL/SQL source that used the latest and greatest 10g features, so what's the big deal?As it turns out, there are a number of cases where having a downlevel SQL*Plus </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/2715819125057762478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=2715819125057762478' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/2715819125057762478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/2715819125057762478'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/06/upgrading-sqlplus-client.html' title='Upgrading SQL*Plus Client'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-5711342340457370523</id><published>2007-06-26T21:52:00.000-07:00</published><updated>2007-06-26T22:34:21.652-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='Fortran'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>What's the Capital of Abyssinia?</title><summary type='text'>Few subjects provoke as much passion as the question of how to capitalize programming code.You've got C-like languages where case is significant, but the discussion continues whether to string_words_along or JamWordsTogether. My own convention for PL/SQL is a bit idiosyncratic. I decide whether a particular subprogram is more procedural or more object-oriented, and use underscores or Camel case </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/5711342340457370523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=5711342340457370523' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/5711342340457370523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/5711342340457370523'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/06/whats-capital-of-abyssinia.html' title='What&apos;s the Capital of Abyssinia?'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-3549969801261066163</id><published>2007-06-24T20:58:00.000-07:00</published><updated>2007-06-25T08:38:41.328-07:00</updated><title type='text'>Why Is It So Hard to Print?</title><summary type='text'>A knock that seems to apply to any "enterprise"-class language is, why is it so hard to actually print anything? For purposes of this post, we'll consider PL/SQL and Java.In Java, a hello world program must call System.out.println(). That 3-level call is kind of verbose, plus in the CamelCased world of Java you might forget whether the second part is "Out" or the third part is "PrintLn".In PL/SQL</summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/3549969801261066163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=3549969801261066163' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/3549969801261066163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/3549969801261066163'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/06/why-is-it-so-hard-to-print.html' title='Why Is It So Hard to Print?'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-8269378250404067910</id><published>2007-05-31T01:25:00.000-07:00</published><updated>2007-07-05T22:00:22.465-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Less is More, More or Less</title><summary type='text'>Do you fret every time you declare a PL/SQL variable, that you've carelessly allocated a few unnecessary bytes, and that this wastage will be replicated thousands of times as your code is called from a bazillion sessions, and that that will be the straw that breaks the camel's back and makes your server thrash to a halt?Well, calm down.  It's not that bad.If you don't know exactly how much space </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/8269378250404067910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=8269378250404067910' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/8269378250404067910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/8269378250404067910'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/05/less-is-more-more-or-less.html' title='Less is More, More or Less'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-3412587399135380863</id><published>2007-05-18T16:40:00.000-07:00</published><updated>2007-06-13T14:38:16.957-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Quotable Quotes</title><summary type='text'>Spare a kind thought for the hard-working yet underappreciated quotation mark. Single quotes or double quotes, you ask? Exactly!If you're familiar with other languages such as Perl or Javascript, you probably intermix single and double quotes as needed. Double quotes around strings containing single quotes. Single quotes around Perl strings containing $ or @ characters, so they aren't </summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/3412587399135380863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/3412587399135380863'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/05/quotable-quotes.html' title='Quotable Quotes'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-7920230878632679092</id><published>2007-05-06T20:34:00.000-07:00</published><updated>2007-07-02T14:11:34.368-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>The Humble IF Statement</title><summary type='text'>If I have one piece of wisdom to impart, it's this: pay attention to your IF statements!Seems like the hardest part of knowing a dozen languages is keeping   track of the different syntaxes for simple IF statements. (I took a tour of an Internet startup pre-dotcom crash, and saw my PL/SQL User's Guide open on a desk -- not to BULK COLLECT or the exception model, but to the page for the IF </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/7920230878632679092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=7920230878632679092' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/7920230878632679092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/7920230878632679092'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/05/humble-if-statement.html' title='The Humble IF Statement'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-4767201160697860778</id><published>2007-05-05T22:44:00.000-07:00</published><updated>2007-05-17T23:15:27.517-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='languages'/><title type='text'>PL/SQL vs. LISP, Scheme, and friends</title><summary type='text'>Getting my Comp. Sci. degree from about as far away from Silicon Valley as you can get in North America, I was curious what the prestigious US schools teach that's so great. So just for kicks, I started going through podcasts for the CS courses at UC Berkeley. The teaching language they start out with is Scheme, a LISP-like language. Walking through the coursework in my head, I couldn't help but </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/4767201160697860778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=4767201160697860778' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/4767201160697860778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/4767201160697860778'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/05/plsql-vs-lisp-scheme-and-friends.html' title='PL/SQL vs. LISP, Scheme, and friends'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-6198092310233917815</id><published>2007-05-05T16:46:00.000-07:00</published><updated>2007-05-17T23:16:20.395-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='languages'/><title type='text'>Perl vs. PL/SQL: Regular Expressions</title><summary type='text'>One recent addition to Oracle's SQL dialect, and also PL/SQL, is Perl-like regular expressions.It's very convenient to declare a CHECK constraint as a regular expression, using the REGEXP_LIKE operator. The data has to match a pattern, or it doesn't get into the database. The pattern could be all caps or all lowercase, some set of allowed characters, alphanumeric values with certain patterns, and</summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/6198092310233917815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=6198092310233917815' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/6198092310233917815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/6198092310233917815'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/05/perl-vs-plsql-regular-expressions.html' title='Perl vs. PL/SQL: Regular Expressions'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-1651025733114289189</id><published>2007-04-21T16:16:00.000-07:00</published><updated>2007-05-17T23:17:54.938-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='languages'/><title type='text'>Perl vs. PL/SQL</title><summary type='text'>When I started learning PL/SQL, I was gratified to find that my whole Perl way of working translated easily into doing stored procedures.Most small Perl scripts that do transformations are built around a loop like this:@lines = ; # read entire contents of filefor $line (@lines){    # do some search/replace on each line    # print the result, or write to another file}PL/SQL has similar compact </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/1651025733114289189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=1651025733114289189' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1651025733114289189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1651025733114289189'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/04/perl-vs-plsql.html' title='Perl vs. PL/SQL'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-8930978313073056191</id><published>2007-04-21T15:16:00.000-07:00</published><updated>2007-04-21T16:09:34.289-07:00</updated><title type='text'>First thoughts about Python vs. PL/SQL</title><summary type='text'>I successfully ignored Python for a long time -- it has the curse of starting with the letter "P", and I already know too many languages like that! But Google uses it a lot, there must be something to it, they even hired its creator Guido van Rossum. So when I saw this post from a Googler with a spelling checker in 21 lines of Python code, I thought that would be a good starting point. Long ago, </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/8930978313073056191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=8930978313073056191' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/8930978313073056191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/8930978313073056191'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/04/first-thoughts-about-python-vs-plsql.html' title='First thoughts about Python vs. PL/SQL'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-5375825125864536348</id><published>2007-04-21T15:06:00.000-07:00</published><updated>2007-04-21T15:16:13.524-07:00</updated><title type='text'>Database Language Smackdown</title><summary type='text'>I've tried just about every language I could get my hands on, at one time or another. For the last decade, the big focus was usually to see how well they worked in conjunction with a database.My big epiphany was taking ownership of the Oracle Database PL/SQL User's Guide and Reference, which I owned for the 9i release and have since relinquished. At the same time, I was writing what now comprises</summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/5375825125864536348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=5375825125864536348' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/5375825125864536348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/5375825125864536348'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/04/database-language-smackdown.html' title='Database Language Smackdown'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-2027966905835656816</id><published>2007-02-10T22:31:00.000-08:00</published><updated>2007-02-02T18:26:51.863-08:00</updated><title type='text'>Separating PL/SQL Declarations and Assignments</title><summary type='text'>For variables with default or derived values, I'm normally a big fan of declaring and assigning it in one go. In PL/SQL, that looks like:create or replace procedure foo as    v1 varchar2(16) := 'hello';    n1 integer := 7;    cond1 varchar2(32) := case        when n1 &gt; 3 then 'greater than 3'        when n1 &lt; 3 then  'less than 3'        else 'exactly 3'    end;begin...(That last technique with </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/2027966905835656816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=2027966905835656816' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/2027966905835656816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/2027966905835656816'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/02/separating-plsql-declarations-and.html' title='Separating PL/SQL Declarations and Assignments'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-1159254414996952881</id><published>2007-01-18T13:15:00.000-08:00</published><updated>2007-02-17T21:49:14.161-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL*Plus'/><title type='text'>SQL*Plus Tip: Turn a File into a String Literal</title><summary type='text'>Consider for a moment this code, using SQL*Plus's '@' command to import a file:select'@foo.htm;'from dual;We've just turned the entire contents of foo.htm into a string literal. Of course, it won't work if foo.htm contains any single quote characters. No problem in 10g, using the alternative quoting mechanism:selectq'{@bar;}'from dual;Now we're OK as long as the file doesn't contain the sequence </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/1159254414996952881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=1159254414996952881' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1159254414996952881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/1159254414996952881'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/01/sqlplus-tip-turn-file-into-string.html' title='SQL*Plus Tip: Turn a File into a String Literal'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-8891170185759195379</id><published>2007-01-18T12:08:00.000-08:00</published><updated>2007-01-18T12:20:42.142-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL*Plus'/><title type='text'>SQL*Plus Tip: @ vs. @@</title><summary type='text'>I built huge amounts of PL/SQL code with SQL*Plus, using the '@' command to import source files, without ever running across the '@@' command. But one day I found a limitation in '@', and in one fell swoop changed all my SQL and PL/SQL scripts to use '@@' and have never looked back.You need '@@' if you ever want to compile source code by running SQL*Plus from a different directory. For example, I</summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/8891170185759195379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=8891170185759195379' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/8891170185759195379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/8891170185759195379'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/01/sqlplus-tip-vs.html' title='SQL*Plus Tip: @ vs. @@'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-611423824307177102</id><published>2007-01-18T12:00:00.000-08:00</published><updated>2007-01-18T12:19:49.925-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL*Plus'/><title type='text'>SQL*Plus Tip: Splitting Up Package Code</title><summary type='text'>With PL/SQL packages, I run into the perennial problem. Logically, a package works best as a single huge thing, grouping perhaps hundreds of related procedures together. But logistically, source code sometimes works better as small individual files.First up, always put the package spec and package body in separate files. That way, you can recompile the body without invalidating other procedures </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/611423824307177102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=611423824307177102' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/611423824307177102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/611423824307177102'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/01/sqlplus-parser-hack-splitting-up.html' title='SQL*Plus Tip: Splitting Up Package Code'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1410257230668722599.post-321327636303622880</id><published>2007-01-16T14:41:00.000-08:00</published><updated>2007-02-10T22:32:36.310-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='docs'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL*Plus'/><title type='text'>Tahiti Views, My Oracle Blog</title><summary type='text'>I figured I should keep my work-related blog posts separate from my personal ones, so here's my new Oracle-related blog, "Tahiti Views". Project Tahiti is the code name for my work at Oracle, hardly a secret anymore since tahiti.oracle.com debuted in 2000.Here I'll blog about all things Oracle, documentation, usability, web application development, and combinations thereof.As you might suspect, </summary><link rel='replies' type='application/atom+xml' href='http://tahitiviews.blogspot.com/feeds/321327636303622880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1410257230668722599&amp;postID=321327636303622880' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/321327636303622880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1410257230668722599/posts/default/321327636303622880'/><link rel='alternate' type='text/html' href='http://tahitiviews.blogspot.com/2007/01/tahiti-views-my-oracle-blog.html' title='Tahiti Views, My Oracle Blog'/><author><name>John Russell</name><uri>http://www.blogger.com/profile/17089970732272081637</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='http://photos-c.ak.facebook.com/photos-ak-sf2p/v81/30/56/853735528/s853735528_392422_8519.jpg'/></author><thr:total>0</thr:total></entry></feed>
