11 December 2012

Jokes/Quotes About Programming Wanted!

We plan to add a little "reward" for your taking a quiz by offering you a programmer joke or quotation afterwards.

Do you know of any jokes about software, hardware, programming, etc.?

We'd love to use them on the site (as well quotes that you think would be of interest).

To submit a joke or quote, drill down to Quiz Details page for any quiz (through the Library).

Click on the Take Quiz Survey button.

Then click on the Submit Joke/Quote link.

We'll make it easier to submit these soon....

10 December 2012

Where/When Do Players Play?

Throughout November, a poll at the PL/SQL Challenge asked: "We've noticed that, at least for the daily PL/SQL quiz, the bulk of answers are submitted by approximately 16:00 UTC. That makes an awful lot of sense for Europeans, assuming they play the quiz at work. But it is surprising considering all the players in the Americas.  We can see when you play your quizzes, but it's far less clear where you take the quiz. Please tell us which of the following choices most closely reflects where and when you usually play your quizzes?"

178 players took the poll, and answered as follows:

Over 600 people answer a quiz through the course of a month, so this response covers roughly a quarter of all active players and likely is an accurate representation of the larger group.

As you can see, the vast majority of players answer quizzes during work hours (which I was glad to see!) and almost a third play during work time - hopefully with the support and blessing of their managers!

25 November 2012

Upgraded to APEX 4.2 and....Goodbye Website!

Software is a funny thing.

It is, when you think about, a lot like playing god. You get to create your own world and invite people to inhabit it.

But creating (and maintaining) worlds can be really difficult.

For example, this weekend we upgraded to APEX version 4.2.

And after we were done with the upgrade, which occurred without any complications and resulted in successful upgrades for many of the applications running in this APEX instance, we found that the PL/SQL Challenge webpages had become, how shall I put this, blank.

Nothing visible on the page. No HTML to be rendered.

And, strange to say, at this point (22:00 UTC on the 25th of November) we do not yet know what is wrong or how to fix it.

I guess I don't have to tell you troubling it is for me to write the above sentence, but I must.

So as I board a plane to return home from a weekend in New York with my family, I hope that something happens in the next two hours and the website comes to life.

If not, we will just have to do without the PL/SQL Challenge for a little bit. My apologies to all of our devoted players.....

Steven Feuerstein

06 November 2012

Change Scoring Algorithm for Playoffs?

A player recently wrote the following to us:

I would like to share some thoughts about Playoff rankings. It is not about my own results, just some thoughts of how to make it more fair. Don't you think it is not too fair, for example, to answer 100% for 35 mins and finally lose to one having 80% correctness and a much shorter time (15 min)?

I know you the same system for the daily quiz as in the playoff, and a player can sometimes win with some errors if they are quick enough. But there is no time limit in the daily quiz, so it's OK there.

Regarding playoff, it is all quite different. Existing situation rewards very quick answers. Even if you make a lot of mistakes, you will probably be among the best. Conversely, if you used almost all the time available, even 100% correctness doesn't guarantee a first place showing.

Why not rank playoff with a very simple algorithm, like that shown below (unweighted_score is the score based only on % correct, independent of time taken to submit the answer):

select player_name, unweighted_score, time
from playoff_results
order by
unweighted_score desc, time asc

I see many advantages in this approach. Simplicity, fair, tendency to thoughtful answers. It will stimulate thinking and not guessing...but time still plays an important role. Do you see any limitations?

I would very much like to know what you think, especially players who have participated in a number of playoffs over the past few years. First, though, some background:

The quarterly playoff has changed quite a bit from its original form back in 2010. Originally, the playoff consisted of 10 quizzes to be completed in 10 minutes. The idea was that you should have no or very little time to write code to verify answers and certainly not much time to look up answers or consult with others.

This didn't work out so well. First problem is that it turned out to be very hard for me, Steven, to judge the amount of time needed for a player to read and think through a quiz. So many, many players ran out of time.

The second problem was that coming up with ten new and tough quizzes for the playoff was, well, a challenge.

The third problem had to do with a very hard to track down bug that causes errors when players did run out of time.The site was supposed to very smoothly and elegantly notify you that you had run out of time, and save all answers you'd entered. Ah, software...instead, players would encounter a variety of errors and in some cases, we lost answers.

We were never able to reproduce the error. So we took the following steps instead (to address both of the problems mentioned above):

1. Cut down on number of quizzes from 10 to 5. Ah, what a relief!

2. Extend the amount of time in which players can complete the competition. It is now up to 35 minutes.

3. Remove the countdown clock from the page. We theorized that the Javascript needed for the clock was somehow interfering with other processing on the page and leading to the errors.

And how did this work out for us? Pretty well. We haven't seen those errors since, though that may also be because fewer players are actually running out of time. But this also means that players have a lot more time to research their answers, as opposed to relying solely on their own knowledge and experience to answer the quizzes.

I am not terribly comfortable with the current situation in the playoffs; it's hard not to want to give the 1st place prize to the person with 100% correct answers. Yet I am also reluctant to assign prizes by unweighted score, using submission time only to break ties, at least if we give players 30 minutes to submit their answers.

So...what do you think?

29 October 2012

Results for Q3 2012 Championship Playoff

You will find below the rankings for the Q3 2012 playoff; the number next to the player's name is the number of times that player has participated in a playoff.

Congratulations first and foremost to our top-ranked players:

1st Place: Stelios Vlasopoulos of Belgium wins: Amazon.com US$250 Gift Card .

2nd Place: Frank Schrader of Germany wins: Amazon.com US$175 Gift Card.

3rd Place: Niels Hecker of Germany wins: Amazon.com US$100 Gift Card.

Congratulations to everyone who played in the playoff. I hope you found it entertaining, challenging and educational. And for those who were not able to participate in the playoff, you can take the quizzes next week through the Practice feature.

Steven Feuerstein

Note 1: Looking at the results below, you may wonder how two players can achieve the same % correct and yet the player with the slower time is ranked ahead of a person with a faster time. This can happen due to the fact that the % correct is cumulative across all quizzes in the competition, but you receive a higher score for correct answers on advanced quizzes, compared to intermediate and beginner quizzes.

Note 2:  Below the table of results for this playoff, you will find another list showing the playoff history of each of these players.

Rank Name Country Total Time % Correct Total Score
1Stelios Vlasopoulos (5)Belgium13 mins 53 secs96%3072
2Frank Schrader (9)Germany25 mins 06 secs100%2998
3Niels Hecker (9)Germany22 mins 14 secs87%2840
4Tobias Stark (2)Germany28 mins 53 secs91%2777
5Patrick Barel (1)Netherlands12 mins 35 secs78%2698
6Mike Pargeter (8)United Kingdom13 mins 40 secs83%2672
7Viacheslav Stepanov (7)Russia33 mins 05 secs96%2653
8Marco Siefert (2)Germany30 mins 15 secs91%2595
9kowido (7)No Country Set28 mins 51 secs87%2593
10Sean Stuber (6)United States33 mins 06 secs91%2583
11Giedrius Deveikis (2)Lithuania33 mins 24 secs87%2537
12Jeroen Rutte (2)Netherlands31 mins 58 secs91%2526
13Markus Langlotz (2)Switzerland25 mins 00 secs83%2520
14Justin Cave (7)United States27 mins 11 secs83%2476
15Jerry Bull (6)United States21 mins 29 secs83%2475
16Michal Cvan (6)Slovakia31 mins 57 secs87%2456
17Jens Petersen (2)Germany26 mins 42 secs78%2451
18Ivan Blanarik (3)Slovakia31 mins 20 secs83%2428
19Jason H (1)United States31 mins 37 secs83%2423
20macabre (3)Russia34 mins 00 secs87%2415
21Gary Myers (5)Australia13 mins 59 secs74%2400
22Chris Saxon (4)United Kingdom20 mins 38 secs74%2387
23Frank Schmitt (3)Germany17 mins 55 secs83%2307
24Zoltan Fulop (3)Hungary33 mins 44 secs87%2275
25Janis Baiza (5)Latvia15 mins 03 secs74%2269
26Yuan Tschang (5)United States30 mins 44 secs83%2210
27swart260 (2)Netherlands17 mins 26 secs70%2201
28puchtec (1)Germany16 mins 37 secs70%2198
29Peter Schmidt (3)Germany27 mins 39 secs74%2127
30Chad Lee (6)United States20 mins 29 secs70%2100
31Kim Berg Hansen (4)Denmark15 mins 25 secs61%1967
32Randy Gettman (8)United States23 mins 16 secs70%1905
33Siim Kask (8)Estonia32 mins 44 secs74%1890
34Sebastian Kolski (3)Poland18 mins 09 secs65%1782
35mentzel.iudith (8)Israel34 mins 52 secs70%1753
36Goran Stefanović (3)Serbia33 mins 44 secs74%1705
37Vijay Mahawar (1)India34 mins 51 secs70%1598
38Karel Prech (1)Czech Republic34 mins 55 secs65%1422
39mark kavalaris (1)No Country Set18 mins 10 secs48%1132
40koko (1)Ukraine32 mins 12 secs52%1016

Playoff Performance History

After each name, the quarter in which he or she played, and the ranking in that playoff.
Name History
Stelios VlasopoulosQ4 2010:38th, Q4 2011:22nd, Q1 2012:30th, Q2 2012:33rd, Q3 2012:1st
Frank SchraderQ3 2010:12th, Q4 2010:30th, Q1 2011:1st, Q2 2011:5th, Q3 2011:1st, Q4 2011:1st, Q1 2012:13th, Q2 2012:3rd, Q3 2012:2nd
Niels HeckerQ2 2010:2nd, Q3 2010:1st, Q4 2010:15th, Q1 2011:7th, Q3 2011:8th, Q4 2011:11th, Q1 2012:2nd, Q2 2012:5th, Q3 2012:3rd
Tobias StarkQ1 2012:35th, Q3 2012:4th
Patrick BarelQ3 2012:5th
Mike PargeterQ4 2010:22nd, Q1 2011:16th, Q2 2011:10th, Q4 2011:6th, Q1 2012:6th, Q2 2012:20th, Q3 2012:6th
Viacheslav StepanovQ1 2011:9th, Q2 2011:4th, Q3 2011:14th, Q4 2011:20th, Q1 2012:19th, Q2 2012:12th, Q3 2012:7th
Marco SiefertQ1 2012:31st, Q3 2012:8th
kowidoQ1 2011:26th, Q2 2011:9th, Q3 2011:17th, Q4 2011:21st, Q1 2012:4th, Q2 2012:1st, Q3 2012:9th
Sean StuberQ3 2010:5th, Q1 2011:22nd, Q2 2011:11th, Q1 2012:16th, Q2 2012:9th, Q3 2012:10th
Giedrius DeveikisQ2 2012:7th, Q3 2012:11th
Jeroen RutteQ3 2010:20th, Q3 2012:12th
Markus LanglotzQ4 2010:11th, Q3 2012:13th
Justin CaveQ3 2010:26th, Q4 2010:3rd, Q1 2011:5th, Q3 2011:3rd, Q1 2012:25th, Q2 2012:2nd, Q3 2012:14th
Jerry BullQ2 2011:34th, Q3 2011:9th, Q1 2012:14th, Q2 2012:14th, Q3 2012:15th
Michal CvanQ3 2010:23rd, Q4 2010:25th, Q3 2011:23rd, Q1 2012:12th, Q3 2012:16th
Jens PetersenQ3 2012:17th
Ivan Blanarik Q1 2012:3rd, Q2 2012:15th, Q3 2012:18th
Jason HQ3 2012:19th
macabreQ2 2011:17th, Q3 2011:27th, Q3 2012:20th
Gary MyersQ3 2010:7th, Q4 2010:2nd, Q1 2011:2nd, Q2 2011:1st, Q3 2012:21st
Chris SaxonQ4 2010:16th, Q2 2011:2nd, Q4 2011:8th, Q3 2012:22nd
Frank SchmittQ4 2011:24th, Q2 2012:4th, Q3 2012:23rd
Zoltan FulopQ1 2012:17th, Q2 2012:29th, Q3 2012:24th
Janis BaizaQ2 2010:3rd, Q4 2010:7th, Q3 2011:10th, Q4 2011:2nd, Q3 2012:25th
Yuan TschangQ2 2012:27th, Q3 2012:26th
swart260Q2 2012:24th, Q3 2012:27th
puchtecQ3 2012:28th
Peter SchmidtQ3 2010:2nd, Q4 2010:14th, Q3 2012:29th
Chad LeeQ2 2011:28th, Q3 2011:19th, Q4 2011:13th, Q1 2012:1st, Q2 2012:26th, Q3 2012:30th
Kim Berg HansenQ3 2010:34th, Q4 2010:6th, Q1 2011:8th, Q3 2012:31st
Randy GettmanQ3 2010:8th, Q1 2011:27th, Q2 2011:12th, Q3 2011:4th, Q4 2011:12th, Q1 2012:20th, Q2 2012:22nd, Q3 2012:32nd
Siim KaskQ1 2011:30th, Q2 2011:7th, Q3 2011:11th, Q4 2011:4th, Q1 2012:9th, Q2 2012:6th, Q3 2012:33rd
Sebastian KolskiQ1 2012:22nd, Q2 2012:17th, Q3 2012:34th
mentzel.iudithQ4 2010:4th, Q1 2011:18th, Q2 2011:25th, Q3 2011:6th, Q4 2011:5th, Q1 2012:8th, Q2 2012:19th, Q3 2012:35th
Goran StefanovićQ1 2012:34th, Q2 2012:30th, Q3 2012:36th
Vijay MahawarQ3 2012:37th
Karel PrechQ3 2012:38th
mark kavalarisQ3 2012:39th
kokoQ3 2012:40th

26 October 2012

Amazon-Mandated Maintenance This Weekend

After the downtime we experienced on 25 October,  Amazon Web Services informed usethat there are "issues in the Availability Zone" hosting our database and we have been asked to move the instance.

Unfortunately, that instance is really heavy. :-)

No, seriously, my dear friends at Apex Evangelists will be performing the move this weekend. We are not sure of the precise time or how long it will take, so please don't be shocked if you visit this weekend and find the site unavailable.

Results for 25 October Quiz Not Ranked

With a heavy heart, I have decided to void results for 25 October. They will not be included in rankings, nor used to determine participation in the quarterly playoff.

I did this because several players reported that they were unable to play the quiz, and we know that the site was unavailable for at least four hours - and maybe more, since we are unable to pinpoint the exact time the site became unavailable.

That was a very frustrating experience, waiting and waiting for Amazon Web Services support to take action. Finally they did (thanks to John Scott's prodding) but by then the damage was done.

25 October 2012

19:30 UTC Website is back up!

Just to make sure you are aware: the website is back up.

We are just under the wire for the four hour mandatory voiding of the quiz (with the full confession that we are not entirely sure when the site first went down).

I am going to open things back up and see how it goes. If anyone complains that they weren't able to take the quiz today, we will void it.

Website Unavailable - 15:30 UTC 25 October

The PL/SQL Challenge website is having problems. We are investigating and plan to have it back online ASAP.

If you have not already done so, please follow PLSQLChallenge at twitter.com so you can receive updates on website status that way.

22 October 2012

Q3 2012 Playoff on 24 October

The next quarterly championship playoff (for Q3 2012) will take place on Wednesday, 24 October. Forty-five players have qualified to take five tough quizzes in forty minutes. Wish them luck!

Here's some background on the players in the upcoming playoff, including the number of playoffs in which they've already played; their rank in that quarter, their rank in the playoff, and their best playoff performance.

Name # Playoffs Qtr Rank Last Playoff Rank Best Playoff
swart26011/145424/33Q2 2012 - 24th
Sean Stuber52/14549/33Q3 2010 - 5th
Jerry Bull53/145414/33Q3 2011 - 9th
Stelios Vlasopoulos44/145433/33Q4 2011 - 22nd
mentzel.iudith75/145419/33Q4 2010 - 4th
Vinu16/145432/33Q2 2012 - 32nd
Chad Lee57/145426/33Q1 2012 - 1st
Viacheslav Stepanov68/145412/33Q2 2011 - 4th
Randy Gettman79/145422/33Q3 2011 - 4th
Marco Siefert110/145431/35Q1 2012 - 31st
Frank Schrader811/14543/33Q1 2011 - 1st
Siim Kask712/14546/33Q4 2011 - 4th
Yuan Tschang413/145427/33Q2 2012 - 27th
kowido614/14541/33Q2 2012 - 1st
Justin Cave615/14542/33Q2 2012 - 2nd
Niels Hecker816/14545/33Q3 2010 - 1st
Anna Onishchuk617/145411/33Q1 2011 - 6th
Frank Schmitt218/14544/33Q2 2012 - 4th
Jeroen Rutte119/145420/62Q3 2010 - 20th
Chris Saxon320/14548/29Q2 2011 - 2nd
Zoltan Fulop221/145429/33Q1 2012 - 17th
Giedrius Deveikis122/14547/33Q2 2012 - 7th
Sebastian Kolski224/145417/33Q2 2012 - 17th
Kim Berg Hansen325/14548/33Q4 2010 - 6th
Janis Baiza427/14542/29Q4 2011 - 2nd
Markus Langlotz129/145411/38Q4 2010 - 11th
Ivan Blanarik 230/145415/33Q1 2012 - 3rd
Jens Petersen134/1454N/AN/A
Tony Winn135/145417/62Q3 2010 - 17th
Patrick Barel037/1454N/AN/A
Jason H046/1454N/AN/A
Goran Stefanović250/145430/33Q2 2012 - 30th
Michal Cvan557/145412/35Q1 2012 - 12th
Gary Myers468/14541/34Q2 2011 - 1st
Mike Pargeter769/145420/33Q4 2011 - 6th
Peter Schmidt280/145414/38Q3 2010 - 2nd
macabre287/145427/31Q2 2011 - 17th
Vijay Mahawar099/1454N/AN/A
Tobias Stark1140/145435/35Q1 2012 - 35th
Karel Prech0166/1454N/AN/A
mark kavalaris0274/1454N/AN/A
Dan Kiser1308/1454N/AN/A
Fernando Bautista0464/1454N/AN/A

10 October 2012

Time for the Q3 2012 Championship Playoff!

The following players will be invited to participate in the Q3 2012 championship playoff. The number in parentheses after their names are the number of playoffs in which they have already participated.

It's very impressive to see the #1 rank taken by a player who has participated in just one previous playoff.  Six players have never been in a playoff before - it's always good to have "new blood" giving those repeat players a run for their money.

See the FAQ for an explanation of the three ways a player can qualify for the playoff. And congratulations to all listed below on their accomplishment and best of luck in the upcoming competition!

We will set and publish the date of the playoff very soon.

Name Rank Qualification Country
swart260 (1)1Top 25Netherlands
Sean Stuber (5)2Top 25United States
Jerry Bull (5)3Top 25United States
Stelios Vlasopoulos (4)4Top 25Belgium
mentzel.iudith (7)5Top 25Israel
Vinu (1)6Top 25India
Chad Lee (5)7Top 25United States
Viacheslav Stepanov (6)8Top 25Russia
Randy Gettman (7)9Top 25United States
Marco Siefert (1)10Top 25Germany
Frank Schrader (8)11Top 25Germany
Siim Kask (7)12Top 25Estonia
Yuan Tschang (4)13Top 25United States
kowido (6)14Top 25No Country Set
Justin Cave (6)15Top 25United States
Niels Hecker (8)16Top 25Germany
Anna Onishchuk (6)17Top 25Ireland
Frank Schmitt (2)18Top 25Germany
Jeroen Rutte (1)19Top 25Netherlands
Chris Saxon (3)20Top 25United Kingdom
Zoltan Fulop (2)21Top 25Hungary
Giedrius Deveikis (1)22Top 25Lithuania
koko (0)23Top 25Ukraine
Sebastian Kolski (2)24Top 25Poland
Kim Berg Hansen (3)25Top 25Denmark
Janis Baiza (4)27WildcardLatvia
Markus Langlotz (1)29WildcardSwitzerland
Ivan Blanarik (2)30WildcardSlovakia
Jens Petersen (1)34WildcardGermany
Tony Winn (1)35WildcardAustralia
Patrick Barel (0)37WildcardNetherlands
Jason H (0)46WildcardUnited States
Goran Stefanović (2)50CorrectnessSerbia
Michal Cvan (5)57CorrectnessSlovakia
Gary Myers (4)68WildcardAustralia
Mike Pargeter (7)69CorrectnessUnited Kingdom
puchtec (0)78WildcardGermany
Peter Schmidt (2)80WildcardGermany
macabre (2)87CorrectnessRussia
Vijay Mahawar (0)99CorrectnessIndia
Tobias Stark (1)140CorrectnessGermany
Karel Prech (0)166CorrectnessCzech Republic
mark kavalaris (0)274CorrectnessNo Country Set
Dan Kiser (1)308CorrectnessUnited States
Fernando Bautista (0)464CorrectnessUnited Kingdom

01 October 2012

Should PL/SQL Developers Care About "Internals"?

We've posted a new Roundtable discussion with the title

Should PL/SQL Developers Care About "Internals"? 

This discussion point was provided Jeff Kemp, a long-time player of the PL/SQL Challenge who writes:

Our esteemed colleague Steven once wrote: "...regarding the question of "internal" storage: I have no idea how Oracle manages these structures. ... why should we care? We just need to know that we can use the data structures with confidence (no or minimal bugs, good performance). Why get caught up with 'internal' details that can change from version to version anyway?" Do you agree?

I encourage you to visit the Roundtable discussion page, read Jeff's full presentation, and add your thoughts.

20 September 2012

PL/SQL Challenge Adds New Feature: Favorites

We upgraded to version 2.4 today and it has a single new feature - requested by many players: Favorites.

You can now "tag" authors, players, quizzes, resources, features and more as Favorites. The home page will then show latest news about your favorites and - if you are receiving emails with quiz results - you will be notified via a daily email digest of this news as well.

You will now see "Add to Favorites" links on the Quiz Details page, a player's profile, and more. Just look for this widget:

and click on it to add to your favorites, after which it will look like this:

You will now find on your home page a new section showing the latest news for your Favorites:

The Favorites tab on the menu offers access to the Favorites Manager page, where you can remove favorited items and also "zoom" straight to an item of interest.

And the Favorites Manager:
Notice that you can request to have a daily digest emailed to you with the latest news for your Favorites. We have turned on this preference only if you are already receiving daily emails with quiz results.

We hope you like this feature and take full advantage of it. Please let us know if you see any ways we can improve it.

Warm regards and happy playing,
Steven Feuerstein