PL/SQLFeed

Giving thanks to the inventor of 71D


71D - the digits and letter have a beautiful ring to them - because I just [well, over a week now - I just remembered I had not posted this entry!] flew back from Sydney on a massive A380 passenger jet, and I was not able to upgrade to business class.

Adjustments made, adjustments planned, playoff approaching

I just finished the adjustments for "very fast answers" for the period 15 August to 31 August. You will see some changes in the rankings soon. This is my least favorite part of the PL/SQL Challenge: to have to even imply that maybe some players are violating rules. I hate it, but what else can I do? If your pattern of play is indistinguishable from someone who cheats, I must taken action to protect the credibility of the daily quiz.

So please: take your time, read the questions and choices thoroughly and carefully. Enjoy and learn!

Massive Confusion by Steven regarding 30 August quiz

Seeing as I am in Puerto Rico right now, I will blame my lack of clear thought (and the resulting impulsive actions) to Hurricane Earl.. :-)

Sigh. Yesterday, I received a report of a mistake in the 30 August quiz and rather than think it through carefully, I too quickly accepted that I had made a mistake (which says something about my personality), went through my re-scoring process, had some problems with that (which several of you have reported), wrote a blog posting on the mistake, rewrote a blog posting and finally went to bed.

Questions regarding 30 August Quiz and ALL_PLSQL_OBJECT_SETTINGS

The 30 August quiz asked you to choose options that would stop a program unit from being usable if the optimization level for that unit was < 2 (the current default level of "aggressive" optimization).

One choice, scored as correct, was:

Penalized for playing for "thrill and points"?

A player sent this note to me today:

Answer question without testing?

A player asked this question today:

"Am I supposed to be able to answer these questions without actually running the code and testing it? :)"

Excellent question! When I take my own quizzes to establish "minimum reasonable time to answer" (which I then use to make adjustments for very fast answers), I rarely actually write code to verify the choices I make.

But I cannot imagine how, for many of these quizzes, you could not take the time to do this, if you wanted to really be certain that your choices were correct.

Advance Notice: "Very Fast Answers" adjustment coming up

After the end of the month, I will be running my "very fast answers" algorithm and adjustment for the period 15 August through 31 August.

To recap: for each I record the amount of time it takes me (author of the quiz and PL/SQL expert) to answer the quiz.

This then becomes the baseline for analyzing the time taken by players.

If your total time is below mine (with a grace period thrown in), I increase your "time to answer". I then re-score and re-rank. And then I pick the winner for "Most Correct of the Month."

Problems with 27 August quiz - undocumented features, ambiguous wording

The 27 August quiz tested your knowledge of the ALL_PROCEDURES data dictionary view, which gives you information about stored program units on which you have EXECUTE authority.

There were a few problems with this quiz:

"No commit!" observed several players re: 25 August quiz

Three players wrote with a concern: the code in the 25 August quiz question inserts three rows into a table, does not commit and then asks:

"Which of the following blocks display "1" (without the double quotes) after execution?"

Here is the most thorough comment submitted on this:

"Today's quiz is somewhat questionable as its 'create/populate' section does not contain COMMIT after inserts and it is not specified explicitly that PL/SQL blocks in question are executed in the same session."

Summer’s all but spent

Summer’s almost over and it time to start blogging again. It’s strange to think that Oracle OpenWorld is only a month away, and MySQL and JavaOne are all in the same event. I’m looking forward to it! As I did two years ago on my MacBook Pro, I’ll blog during the event on my iPad. [...]

Feedback on idea for comments and tracing from newsletter

In my latest PL/SQL newsletter (if you don't yet receive it, visit www.stevenfeuerstein.com and enter your email in the yellow box on the left side of the home page), I passed on a tip I got during a training, namely:

Tech Tip: A New Place for Your Comments?

I just gave a two-day, "Best of Oracle PL/SQL" training to a team of developers in Winona, MN, home of the Sugar Loaf Bluff, which I climbed after the first day of training.

PL/SQL Challenge players finds doc bug in STANDARD package

The PL/SQL Challenge recently (6 August) offered a quiz on the INSTR function. I showed everyone the header of this function from the STANDARD package in which it is defined:

-- Find nth occurrence of str1 in str2 starting at pos
function INSTR(STR1 VARCHAR2 CHARACTER SET ANY_CS,
STR2 VARCHAR2 CHARACTER SET STR1%CHARSET,
POS PLS_INTEGER := 1,
NTH POSITIVE := 1) return PLS_INTEGER;

PL/SQL Challenge Live event in Melbourne, Australia

Quest Software and AUSOUG sponsored a PL/SQL Challenge Live quiz at the Insync 2010 conference on 16 August (which took place just 3 hours after I arrived from a very long odyssey from Chicago). This is the second live quiz I have done (the first was at ODTUG's Kaleidoscope conference in June), and it went much smoother than the first, since I built a PL/SQL procedure to automatically compute winners (manual processes really are things to avoid whenever possible!).

A question re: TRANSLATE from player

I received this email last week:

Steven, would you mind giving me a explanation about how TRANSLATE works. The two blocks do not seem to work in a consistent way:

DECLARE
   my_formatted_number   VARCHAR2 (100) := '00001233.056';
BEGIN
   DBMS_OUTPUT.put_line (TRANSLATE (my_formatted_number, 'A0', 'A'));
END;
 
Output: 1233.56

DECLARE
   my_formatted_number   VARCHAR2 (100) := 'Example';
BEGIN
   DBMS_OUTPUT.put_line (TRANSLATE (my_formatted_number, 'Ee', '98'));
END;

Output: 9xampl8.

Read Those Assumptions!

I just received this note from a player:

PL/SQL Challenge was unavailable for 3 Hours on 19 August

Hardware problems at the datacentre hosting the PL/SQL Challenge site led to three hours of downtime, from approximately 6 PM Perth, Australia time to 9 PM. Well, that's where I (Steven Feuerstein) am right now, so that is my point of reference....

We apologize for any inconvenience. Our policy is to void the quiz if it is unavailable for four or more hours, so the quiz is still on for today.

Official Announcement: Forgiveness and Corrections Policy

I will be implementing this policy in the coming weeks, but I wanted to inform you now, because as of today, I will no longer make any manual adjustments to scores due to mistakes or errors. It is simply not possible for me to spend the time to do this. You will see this same text on the Rules page very soon. So here goes....

Forgiveness and Corrections Policy

It is sometimes difficult for developers to play the quiz every day, especially when they go on holiday. Players worry about a significant setback in their rankings.

PL/SQL Challenge Live event in Melbourne, Australia

Quest Software and AUSOUG sponsored a PL/SQL Challenge Live quiz at the Insync 2010 conference on 16 August (which took place just 3 hours after I arrived from a very long odyssey from Chicago). This is the second live quiz I have done (the first was at ODTUG's Kaleidoscope conference in June), and it went much smoother than the first, since I built a PL/SQL procedure to automatically compute winners (manual processes really are things to avoid whenever possible!).

Live PL/SQL Challenge event at Insync 2010 in Melbourne, Australia

Quest Software and AUSOUG sponsored a PL/SQL Challenge Live quiz at the Insync 2010 conference on 16 August (which took place just 3 hours after I arrived from a very long odyssey from Chicago).

Forty-two developers played the quiz and I am pleased to announce that Jeff Kemp, currently ranked #5 in this quarter on the daily quiz, took first place with a score of 37 points out of a possible maximum score of 43. He wins a $100 giftcard from Westfield Mall. Here is list of the top 20 scorers in the competition:

01 Player JEFF KEMP = 37

Adjustments for very fast answers made on 14 August

For the past several weeks, I have posted entries on this blog regarding plans to make adjustments to scores and rankings for players who answer in an amount of time that is far faster than even I can answer my own questions.

Today, I applied my "very fast answer" algorithm, and as a consequence you will see changes in the rankings of players.

Some players moved up, some moved down.

Rescoring performed for 13 August Quiz on INDICES OF BETWEEN

The 13 August quiz asked you to answer this question:

"Which of the following statements regarding the BETWEEN clause of the INDICES OF feature are true?"

We scored the following choice as correct:

"The values in the BETWEEN clause can be any valid PLS_INTEGER value."

Several players, led by Sergey P., objected, pointing out that you could use, for example, 1.5 (which is clearly not a PLS_INTEGER value) for either of the expressions in the BETWEEN clause.

Fall 2010 Webinar Series Sponsored by Quest Software


I will be conducting a third series of webcasts for Quest Software that will put you on the fast track to maximizing your understanding and use of Oracle PL/SQL. Here are lots of details and links for registration. I hope to "see" you there!

Session 1: Programming with Collections

Questions about the INSTR quiz of 11 August

A few players wrote with concerns about the INSTR quiz, which tested your knowledge of the impact of using a negative value for the POS argument to the function. Here we go:

Quizzes missing text in Firefox 3.6.3 (or other browsers)?

We have received occasional but persistent reports of players not able to see all the text for a quiz. Here are some typical descriptions:

"Hi Steven Yesterday (9th) was a very easy quiz but for answer 2 and 5, I just saw the boxes, but there was absolutely nothing in the corresponding Choice/Explanation field, so I haven't any reason to check the box (with nothing you can't do nothing. Unfortunately, now with the answer, I see what it should have been and that I have 2 mistakes because of that."

Questions about the 9 August 2010 Quiz

The quiz on 9 August asked the following question:

"Which of the following functions can you use to change the case of a string?"

We then listed UPPER, LOWER, INITCAP, NLS_INITCAP and REVERSE_CASE. We scored the first four as correct, the last as incorrect.

We received emails raising the following concerns:

Proposal for Forgiveness Policy

Several players have requested a way to avoid being penalized heavily for missing quizzes or for making a silly mistake or for Internet failures that result in long delays is submitting responses. This issue has come up quite a bit lately, given the summer months and the tendency of normal human beings in the northern hemisphere to take holidays during this time.

In addition, I now manually make adjustments to scores when players report a problem. This is very time consuming and simply not sustainable or scalable (as we add more players).

1.5 Version of PL/SQL Challenge Now Available

We've upgraded the PL/SQL Challenge to 1.5, with the following new features and changes:

* New sponsors framework: we have upgraded support for sponsors so that we can have different kinds of sponsors. A part of this upgrade also implements a much more flexible foundation for defining competitions and awards for those competitions. This will mostly be transparent to players, but we thought you'd like to know.

Bioinformatics Conference

This week I attended the first ACM conference on Bioinformatics and Computational Biology in Niagara Falls, NY. It was interesting to note who’s using what technology in their research. Here’s a breakdown: Databases: MySQL is the de facto winner for research. Oracle for clinical systems, mostly Oracle 10g implementations. That means moving data between the [...]

Only use code-based quizzes?

I received this email today from a player:

LATEST WHITEPAPERSWHITEPAPERS RSS

Whitepaper Search Results:

Whitepaper Search Results:

Whitepaper Search Results: