Skip to main content

A Handwritten Message or Why It Paid to Write a Book (and homage to Richard Bolz)

A month ago, Miguel ordered a signed copy of my book from my website. So I wrote him a message, signed it, and shipped it off.

I soon after received the following handwritten letter:

Dear Steven,

I spent last week on vacation, and right before leaving, I put in an order for the newest "Oracle PL/SQL Programming" book. I was happy to get back home and find the book package on the front porch. Yeah!!!!!

When I opened the book I noticed your handwritten note on tyne first page and I felt very special. Not even my mother sends me handwritten messages anymore --- your message made me feel special, and I am still happy to this day when I think of it.

Thanks for the message and for sharing your knowledge and experience with us. Your enthusiasm, views, attitude and energy makes me think about the most important mission every software developer has - do what is right, with responsibility, quality and respect to others.

When I moved to the United States in February 1999, I was lucky enough to join a team that was taught PL/SQL by Richard Bolz. His teachings, not only the language, but life in general, made me think differently, and pushed me to design and implement solutions that I as and am still proud of.

Because of Richard Bolz, I started studying PL/SQL, read, studied and practiced with your book, attended a few seminars where you were the presenter and had the opportunity to meet you in person.

So it is my turn now to write you a message - a handwritten one - to say thanks for impacting and changing my life through PL/SQl. I have been living in Indianapolis, Indiana, for the past 15 years, and have been successful doing consulting work for clients, using PL/SQL, Oracle Forms, Oracle Reports, and sometimes supporting Oracle Enterprise Business Suite Solutions, thanks to the Knowledge tI have acquired ion PL/SQL.

Thanks for everything you do for PL/SQL developers!

You are most welcome, Miguel, and I am honored that my message meant something to you.

Now, as for the sub-title for my post: Why it paid to write a book.

I have been paid big time for writing Oracle PL/SQL Programming (1st edition 1994, now in its 6th edition) and (a few too many) other books. Now, certainly, I mean - in part -  that I have received a decent amount of money from royalties on sales of those books. But the real payoff for my writing comes when I hear about how my work has improved another person's life.

For one thing, that probably means that I have indirectly help bring more happiness and health to lots of kids (children of my readers). I really like that idea. Beyond that, well, I don't know, call me un-American or old fashioned, but I don't think that corporations are people, too. I like helping people more than I like helping corporations.

But, don't worry, I'm OK with helping companies, too.

I also wanted to publish this letter so that more developers can be introduced to the name Richard Bolz.

I've known and worked with Richard for years, sadly (for us, not him) he's retired now. Richard was involved deeply with the Ada language. In fact, back in 1978, as Associate Professor of Computer Science at the Air Force Academy, Bolz taught the very first course on the Ada programming language. He also did a presentation on Ada to the folks at Oracle when they were deciding which programming language would serve as the model for PL/SQL. So it is likely that we can, at least in part, thank Richard for the wonderful decision to build PL/SQL based on Ada.

Richard was one of the finest trainers I have ever met. The level of professionalism he brought to both his training materials and his presentation of them shamed me with their quality and polish (I hate to prepare. There, finally I've admitted it). He was totally devoted to his students and co-workers, which was reflected by their admiration for and loyalty to Richard. He received the ODTUG Best Speaker award in 2002 for his presentation titled "An Overview of PL/SQL".  

If any of my readers ran into Richard or was trained by him, I'd love to hear from you!



Comments

Popular posts from this blog

Quick Guide to User-Defined Types in Oracle PL/SQL

A Twitter follower recently asked for more information on user-defined types in the PL/SQL language, and I figured the best way to answer is to offer up this blog post. PL/SQL is a strongly-typed language . Before you can work with a variable or constant, it must be declared with a type (yes, PL/SQL also supports lots of implicit conversions from one type to another, but still, everything must be declared with a type). PL/SQL offers a wide array of pre-defined data types , both in the language natively (such as VARCHAR2, PLS_INTEGER, BOOLEAN, etc.) and in a variety of supplied packages (e.g., the NUMBER_TABLE collection type in the DBMS_SQL package). Data types in PL/SQL can be scalars, such as strings and numbers, or composite (consisting of one or more scalars), such as record types, collection types and object types. You can't really declare your own "user-defined" scalars, though you can define subtypes  from those scalars, which can be very helpful from the p

The differences between deterministic and result cache features

 EVERY once in a while, a developer gets in touch with a question like this: I am confused about the exact difference between deterministic and result_cache. Do they have different application use cases? I have used deterministic feature in many functions which retrieve data from some lookup tables. Is it essential to replace these 'deterministic' key words with 'result_cache'?  So I thought I'd write a post about the differences between these two features. But first, let's make sure we all understand what it means for a function to be  deterministic. From Wikipedia : In computer science, a deterministic algorithm is an algorithm which, given a particular input, will always produce the same output, with the underlying machine always passing through the same sequence of states.  Another way of putting this is that a deterministic subprogram (procedure or function) has no side-effects. If you pass a certain set of arguments for the parameters, you will always get

My two favorite APEX 5 features: Regional Display Selector and Cards

We (the over-sized development team for the PL/SQL Challenge - myself and my son, Eli) have been busy creating a new website on top of the PLCH platform (tables and packages): The Oracle Dev Gym! In a few short months (and just a part time involvement by yours truly), we have leveraged Oracle Application Express 5 to create what I think is an elegant, easy-to-use site that our users will absolutely love.  We plan to initially make the Dev Gym available only for current users of PL/SQL Challenge, so we can get feedback from our loyal user base. We will make the necessary adjustments and then offer it for general availability later this year. Anyway, more on that as the date approaches (the date being June 27, the APEX Open Mic Night at Kscope16 , where I will present it to a packed room of APEX experts). What I want to talk about today are two features of APEX that are making me so happy these days: Regional Display Selector and Cards. Regional Display Sel