Thursday, July 26, 2012

Seeking Balance


About a year ago, I woke up to find my left shoulder was in flames. Somehow, I had managed to experience a rotator cuff injury in my sleep (likely building upon an injury tenyears ago in a bicycle fall).


It took a whole year for my shoulder to become almost fully functional and pain free. The slowness of the healing was hard for me; I am definitely not healing is quickly as I used to, in general.

Yes, there is no doubt about it: I am getting older with each passing day. I don't like this, but I guess I will have to live with it.

Anyway, that's not what this post is about. As you can imagine, the muscles on my left side - from shoulder down to hand - shrunk over the past year.

And as I exercised and stretched through my recovery, I noticed more than every before how out of balance my upper body was. I am right-handed and my right side was/is dominant. As you can see to the right.

Well, OK, that's not really me. It's not that bad. But still, I like symmetry. And I want my left side to be strong, used often, not easily injured.  And what if I break my right arm or hand? It would be good to have my left better prepared to take over.

So I've decided to start using my left hand to do things normally taken care of by my right - some things, anyway. I'm not going to start writing with my left hand.

Shaving with my electric razor, for example. I don't need to use my right hand for that. And I can do it pretty well with my left, almost as well or easily as my right.

And then there's brushing teeth. I have started forcing myself to use my left hand to brush my teeth. The "forcing" part is necessary. I was surprised at how difficult it was for my left hand to perform the fine-grained movements needed to brush teeth. I was very uncoordinated, felt very clumsy, scrubbing my teeth from the other side. After a few days, though, it is feeling a little more natural.

My left wrist is also noticeably skinnier than my right. So when I donate platelets and plasma through apheresis at Chicago's Lifesource blood donor centers, I always squeeze with my left hand. In other words, the blood comes out of my left arm, is spun, and key "products" removed, and then the blood goes back in my right arm. Squeezing every five seconds for an hour is a nice workout.

As long as I am on this topic, if you do not have a phobia about getting stuck with a needle and are in good health, please PLEASE PLEASE consider donating whole blood or platelets. It is one of the very few ways that each and every one of us can be a life-saver, a HERO!


Tuesday, July 24, 2012

Top Twelve List

A month ago, I received an email asking for some help on PL/SQL. So I helped. Fahd then replied to me as follows:

"Do you want to know what I like the most about you other then PL/SQL?"

Well, how could I refuse? I wrote back: "Sure, I'd love to know." and so I got the following list:

1) You talk so fluently without any difficulty. (And for long hours)
2) You don't mangle your words when you talk. (Most of the teachers do)
3) You talk so clearly even I can understand (Living in Pakistan) each and every word of yours.
(I don't know if every one of your area talk like you?) 
4) You don't get confused while giving any interview or lecture (Even after giving so much time to monitor).
5) You have plenty of things to say.
6) You have a good sense of humor.
7) You have a good smiling face.
8) You have a smart body & Mind.
9) You don't hide your knowledge, rather you spread it. (Even begin a Professional)
10) You give response to Emails (Even being a busy & famous Person)
11) I don't know how you write. I haven't read your book (I cannot afford!)
12) Over all you are my favorite Personality Alive.

Aw, shucks, you are making me blush. :-)

I was, I must admit, surprised and a bit amused by #11 - I am mostly known for my writings on PL/SQL, but it appears that Fahd just knows me from videos and webinars.

Tuesday, July 10, 2012

How is This Possible?

In my July 2012 PL/SQL newsletter (you can sign up for it here), I told the following story:


After my High Performance PL/SQL presentation at Kscope12, an attendee came up to ask for my help. She and another developer from the same company were missing lots of the conference due to a production problem - and they were at that moment running a job to load millions of rows of data. "Usually takes 60 hours," she told me. Yikes! And she showed her code.

It consisted of a cursor FOR loop with single-row inserts inside it. Did I think that FORALL would help in this case?

"OH, YEAH!" I replied.

So I gave her some advice on converting the code to working with collections and bulk processing. Hopefully, it worked out all right - in the code. Their Kscope12 experience was, unfortunately, a disappointment, because they had to miss so many sessions as they put out their (self-inflicted?) fires.
I'd already returned to Chicago from San Antonio when this thought suddenly struck me:

On the one hand, I am certainly glad that at least some of the developers who attended my High Performance PL/SQL class learned something new. On the other hand, how is it possible that there are still PL/SQL developers - especially developers who care enough about their craft to attend a conference like Kscope - who are not aware of the most powerful optimization features in the PL/SQL language - features that were added in Oracle8i (1999)?

This under-utilization and limited awareness of many, key and now longstanding features of PL/SQL is very disturbing. Sure, people are busy. Not everyone has the time to research new features in PL/SQL every time Oracle releases a new version of the database. But, heck, every PL/SQL User Guide comes with a "What's New" section. It surely doesn't take that long to skim through the topics and make sure you aren't missing anything that could have a big impact in your shop.

I feel like some of the blame for this situation has to fall on the teachers and providers of the PL/SQL language. In other words, people like, well, me, product manager(s) back at Oracle Corporation, content managers at Oracle Technology Network. All of us. Somehow we are not communicating clearly enough, nor in the right places, nor at the right time.

Which has me thinking about coming up with "PL/SQL Crash Course" that very succinctly reviews every key, non-trivial feature of the PL/SQL language, outlining clear use cases to which the feature should be applied. Something that can be read or watched in an hour. Something you can go back to for a quick refesher and orientation. Or a quiz on the PL/SQL Challenge that is designed to test your ability to recognize patterns in code that call for the application of certain features.

So that's what I'm thinking about. How about you? Any ideas for how to ensure that our developer community is at least aware of all the goodies Oracle offers in this language? Just hit Reply!

And I did receive a number of replies, so I thought I would post them here and invite my blog readers to comment, as well.

From Christopher:

I blame it on the way the Oracle documentation is structured. The documentation is structured so that the first encounter to solve a "batch" insert (or batch anything), is to use the "old" non-bulk-processing LOOP structures.

We as humans are designed to spend just enough time to find the answer we are looking for without reading the entire documentation. Reading the entire documentation would be too expensive from an human evolutionary stand-point.

So the simple fix for this is to make the first introduction of LOOP structures, LOOP structures using the Bulk-Processing Syntax ! (duh - kind of like the little girl who told the firemen to let the air out of the tires of the truck so they could wedge it from the bridge.)

Push the old syntax to the back, and start with bulk-processing syntactical structures. Additionally, in cases where there is no performance degradation when using bulk-processing syntax in a situation where you do not need it, completely get rid of the old syntax from the documentation and only include the bulk-processing syntax.

Hope that makes sense.

There is one more solution to this problem - but I'm currently filing a patent for that. :-) Stay tuned!

From William

I am very glad to hear you are going to do this. I am one of those time constrained developers who has missed out on not only on what came out in 8i, but I probably have big holes in the basics as I taught myself PL/SQL on the job and have never really taken any substantial training. Having a compilation of the “non-trivial” features in one place would be huge for me.

I don’t know if it possible, but I would find it handy if I could access this via Toad. They have the Search feature that accesses various sources (Toad World, Knowledge Base), so maybe it could be added as an item there? I know not everyone uses Toad, but it would reach a lot of this that way.

From Calvin

First, thanks for all the work you have done promoting PL/SQL and trying to get this information out to the masses.

You asked for input “Getting the information out”. We, like many institutions, are on tight budgets so traveling to these conference in just not in our budgets. We try our best to keep up with the new “goodies” but there is really no one place to find them. You can do a Google search and retrieve many hits, most of which answer specific questions and generally do not go far enough into the nuts-and-bolts of how to do it.

I have even tried to schedule a session with Quest folks on an overview of the new functionalities of TOAD with no luck.

It is hard to know what to ask for if you do not know it exists.

I think your idea of a “PL/SQL Crash Course” is a great idea. One company that we work with, Axosoft, has all their training videos on YouTube so they are easily accessible, but that is just one example.

It would seem if Oracle wants folks to buy and use their software, they would make it easier to learn how to use it in the most efficient and effective manner possible. 

From Lukas

I gave it a thought - how is it possible to not know things like FORALL? Currently my company is running recruitment process where I am responsible for interview and evaluation of oracle skills (together with my colleagues) . I have some conclusions after those and looking at my personal experience.

Lets start with my own experience. I had luck to join current employer(name not important). I've learned most of the things related to performance here or on a training we were sent to and paid by
employer. I think it was worth it for both sides. I was able to use it on daily basis(not all of it of course since we use for example Foglight Performance Analysis. From bigger achievements I can mention 10x faster nightly batch. We are planning migration from 10g(windows) to 11g(oracle linux distribution with raw filesystem). I wasn't aware of new features. I made a research in documentation. And to be honest I will check one for 9 as well since I found few in 10g docs I wasn't aware of. I started my journey with oracle when there was version 8. So yes it is possible. Some features are not enabled/installed in our databases. To name two: application contexts and Java. Some features are blocked due to security policies like Java though you could say that properly configured will cause close to zero security issues. But back to the question from my own experience.

Why it was possible for me to not know some features:

- lack of training or expert help(when I was starting, it was mostly "Do this. Here you can find Oracle documentation: ..."). This was my first job for 6 years. Best bit was flexible hours after university (60 hours per month was ok for both sides).

- none of us was/is born expert. Everyone has to learn.

- little time between deliveries(currently we deliver twice more often then we did before)

- firefighting instead of preventing and improving attitude in the company(if it's 1h or 3h who cares if all ends before people start applications). No one will pay for 1+ week of work on improvements since there are things waiting that will generate $$$. It all changes dramatically if $$$ flow is disrupted by performance issues. Then there is race to fix things. Bigger refactoring? - forget it.

- little self investments(not my case since I buy and read tech books quite regularly). I love yours pl/sql best practices and Tom's effective oracle by design.

- disabled features even on development environments and general formal problems enabling/testing them(admin needs time to do things = time = $$ and so on or just lazy admin).

- no internal trainings or some kind of knowledge exchange. You know if you can ask person for advice, but they don't share it on their own. Not judging here.

- basically I like it the way General Practitioners work in some countries. They have to spend part of their job learning and reading new things and practices.

When it comes to applicants. I saw few types:

- come with only forms/reports/designer background and little oracle knowledge(bulk collect? bind variable?)
- worked on version 7 or Microsoft SQL server only
- worked with closed system so they could add functionality around it
- were held off by architects - don't use this and that
- changed employer and/or technologies too often to actually learn something well in one

How to make people aware of best practices/tools/designs?

Oracle documentation is good source for checking things though might be overwhelming if you try to read it like a book. Not that I did try ;).

I think yours best practices + Tom's book + asktom = almost all you need if you have some medium experience in SQL PL/SQL. The rest you can handle with Google search/own solutions.

Speaking of SQL and PL/SQL since I'm not an expert in other products. I think even if you make Oracle wiki with all the things clearly explained/in bold etc and almost ready to use. You will find many people too lazy/busy/... to read it.

PS. sorry for any mistakes i could've make. English is not my native language and I use it more to read lately then to write ;) Also my essay marks in school were rather opposite to math ones ;)
 

Sunday, July 01, 2012

Many thanks, ODTUG

I attended the ODTUG Kscope12 conference last week in San Antonio. It was hot outside, but the J. W. Marriott resort was a very comfy place to hang out, learn and teach. I gave four presentations at this year's conference, and was honored with three awards, as you can see below (taken from an ODTUG email):

Kscope12 Track Speaker Awards:
  • Application Express – Steven Feuerstein, Quest Software, Clean Up Your APEX PL/SQL Code
  • Database – Jonathan Lewis, JL Computer Consultancy, Optimizing a Two-table Join
  • Developer's Toolbox – Steven Feuerstein, Quest Software, High Performance PL/SQL
  • Business Intelligence – Jordan Meyer, Rittman Mead Consulting, Designing Eye-Catching and Effective Dashboards
  • Essbase and Beginner Essbase – Edward Roske, interRel Consulting, Optimizing Essbase Calc Scripts and Formulas
  • Hyperion Applications and EPM Business Content – Keith Berry, US-Analytics, HFM vs Essbase BSO: A Comparative Anatomy
  • Fusion Middleware – John King, King Training Resources, Oracle JDeveloper and ADF: Coming Together for Forms and 4GL Developers
The Best Speaker Award - Steven Feuerstein, Quest Software, High Performance PL/SQL

That was most unexpected and very gratifying.

Congratulations to all the other winners!

One very important winner not mentioned above, by the way, is Kathleen McCasland, CEO of Your Conference Connection (they do the actual organizing of the Kscope conferences as directed by the ODTUG Board of Directors) and Executive Director of ODTUG for many years.

Kathleen stepped down as ODTUG's ED at the conference (to be replaced by the very capable Crystal Walton, also of YCC) and was honored the Lifetime Achievement Award - only the second time it has been given out. Here, in fact, is a photo of the two lifetime achievers, taken at Kscope12:
The Kscope conferences continue to be outstanding opportunities to meet some of the best Oracle developer-related talent in the world, regardless of the technology you use.

Kscope13 is heading back to New Orleans (3rd time); you can even register right now!

And you can see all the awards given at Kscope12 here.

Monday, June 11, 2012

It's Official - I am a Demigod

In its 11 June 2012 Database Application Developer Newsletter, Oracle writes  "The "PL/SQL 101" series, by PL/SQL demigod Steven Feuerstein, is the ultimate quick-start introduction to the language. Even if you are an experienced PL/SQL developer, you may find these articles a handy refresher on language fundamentals."

Yes! Finally, the official recognition for which I have so longed. I am a demigod.

I thought that was pretty good, but my longtime pal, Hugo Toledo, wrote to me:

I just learned about your demotion to "demi-god". Sorry! I don't know but I'm guessing this is just a term-of-art role-change, like Pluto went through a few years ago.

Well, just as Pluto continues its orbit blissfully unaware of what the IAU decided, I think you, too, should just keep doing what you do. Besides, unlike Pluto, you only dropped to the "demi" level. Pluto is a "dwarf" planet. Yikes! No doubt they took your physical stature into account when making their decision.

Regardless, I think i can speak for the rest of us when I say you are still a bonafide top-of-the-heap god to us.
Demotion? This is, possibly, a very alarming development. Is it really a demotion that I am now referred to by Oracle as a "demigod"? Is this Oracle's way of telling the world that my career is on a slippery slope downward to "legendary" or "once helpful to many"? But I am still so young, so vigorous, so anxious to shout from the mountaintops "PL/SQL is fantastic!"

No time to waste! It is time to check with Wikipedia, where I found the following:

The term demigod (or demi-god), meaning half-god, is commonly used to describe mythological figures whose one parent was a god and whose other parent was human as such, demigods are human-god hybrids. In some mythologies it also describes humans who became gods, or simply extremely powerful figures whose powers approach those of the gods even though they are not gods themselves.
Assuming that I my parents are actually my parents (neither of whom would qualify as gods, however wonderful they were and are), Oracle's designation clearly indicates that I have either ascended to god-hood or have such powers as to make the distinction of no importance. Hey, that's not so bad, really.


Monday, June 04, 2012

500,000 Answers on the PL/SQL Challenge!

Over the weekend of 2 June, we reached a major milestone on the PL/SQL Challenge: the 500,000th answer to a quiz was submitted!

Altogether, a total of 9,503 players from 120 countries have submitted (at the time of writing this post) 501,623 answers to quizzes. They used a total of 5770 days' time to decide on their choices and submit the answers.

Check out the PL/SQL Challenge blog for our Dedicated Players Roll Call - all players who have missed no more than 50 daily PL/SQL quizzes out of the 559 that have been played since 8 April 2010. Now, that's dedication!

Friday, June 01, 2012

PL/SQL Popularity

TIOBE tracks the "popularity" of programming languages.

To quote from their index page: "The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. The popular search engines Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu are used to calculate the ratings. Observe that the TIOBE index is not about the best programming language or the language in which most lines of code have been written."

It has been very gratifying to see that PL/SQL is doing much better than holding its own. It has moved up dramatically in the past year. Go, PL/SQL, go!

Wednesday, May 23, 2012

Join me at ODTUG's Kscope12 in June


From June 24 through the 28th, hundreds of Oracle technologists will gather in San Antonio, Texas, for the ODTUG Kscope12 conference. As ODTUG says and I agree completely, "ODTUG Kscope12 is the place to be for the Oracle technical community in 2012. If you are a developer, architect, technical lead, or database administrator who works with Application Express, Business Intelligence, Oracle EPM; including Hyperion products, Essbase, Planning; Database Development or Fusion Middleware, Kscope12 is where you should be. It’s hard to find a conference that’s big enough to attract world renowned speakers and small enough to get the chance to share knowledge. Kscope12 is that conference."

Oracle Open World is an amazing experience, but it is also very, very large and, of course, an official Oracle event. ODTUG offers a refreshing alternative: about 1/40th the number of people, and just about all of them technologists. A strong mix of work and play and good deeds, ranging from the community service day on Saturday 23 June (sprucing up the Boys and Girls Club of San Antonio) to Sunday symposiums, the Wednesday party blast, countless presentations from many of the best DBAs, PL/SQL coders and APEX developers, and so much more.

I'll be presenting four times this year:

Clean Up Your APEX PL/SQL Code
Writing Maintainable PL/SQL Code
Error Management Features of Oracle PL/SQL
High Performance PL/SQL
 
Hope to see you there!

High Performance PL/SQL + 11g New Features Training in Colorado

11-12 June  2012 will find me in Broomfield, Colorado, training PL/SQL developers and Oracle DBAs.

This two-day training, sponsored by RMOUG, covers the most critical features you need to know about if you are going to write PL/SQL programs that fully utilize the capabilities of PL/SQL, including the most important enhancements of Oracle Database 11g for PL/SQL developers.

Detailed Description of Topics to be Covered
  1. Bulk Processing with BULK COLLECT and FORALL: the most important performance optimization feature of PL/SQL, bulk processing turbo-charges the speed of repeated execution of the same SQL statement (think: DML inside a loop) by reducing the number of context switches. We'll explore every nook and cranny of BULK COLLECT and FORALL.
  2. The Function Result Cache (11g): a fantastically elegant and high-impact feature, the function result cache provides an SGA-based cache that helps you optimize the performance of queries
    across an entire instance that repeatedly retrieve the same rows of data.
  3. Row-Level Error Suppression in DML: added in Oracle Database 10g Release 2, the LOG ERRORS clause (along with the built-in package, DBMS_ERRLOG) offers row-level suppression of errors in DML statements, especially helpful when modifying large numbers of rows.
  4. PL/Scope (11g): new to Oracle Database 11g, PL/Scope analyzes the way that all identifiers (variables, constants, subprograms, exceptions, types, etc.) are used in your code. It allows us to perform analysis on our code in a way never before possible. For example, you can implement your own scripts to check code for compliance with naming conventions - no parser required!
  5. The NOCOPY Hint: so simple, and yet so impactful. Add one keyword to your IN OUT parameter definition and get a significant boost in performance. Along the way, learn about the
    difference between formal parameters and actual argument values, passing by reference vs. value.
  6. Dynamic SQL Advanced Features: Oracle Database 11g includes many enhancements for dynamic SQL, especially for Method 4 dynamic SQL.
  7. Advanced Collection Features: the year is 2012 and all PL/SQL developers should be aware of and use collections (PL/SQL's version of arrays). So we'll skip the basics and concentrate on advanced features like use of the TABLE operator, string-indexed associative arrays, and nested collections.
For more information and to register, click here.

Thursday, May 17, 2012

Schema-level Procedure or Package with one Procedure?

I received this question from a PL/SQL developer:

Dear Steven,
 
I'm an Italian Pl/Sql developer who often follows your precious advices.As you always say, it's useful to modularize your business logic through procedures and functions inside a package, and I always do that way.
 
My question is this. If I have to write a main module X (procedure or function) which calls further N modules (procedures or functions), how do I have to choose between to develop it by a package or by a procedure? I mean, is it better to write a package with the only X procedure in the specification and the other N modules inside the body or to write directly a procedure X with a main code and the other N modules defined inside it? I've thought that I should ask to myself whether I want to hide the N modules (package) or not, but I'd like to get your opinion.
 
Thanks in advance!
 
And my reply:
 
I suggest you never define a schema-level procedure or function (outside a package). Instead, always start with a package for a very simple reason: everything gets more complicated over time. Users request new features or changes to existing features, developers realize that they need to do more or do it differently, etc.
 
So there is a very great likelihood that in time you will find that you need to build another procedure or function that is related to the first. Even if they don't share code, they share the same "domain" within your application. And that is one of the best reasons for creating packages: to group together related functionality.

If you don't use a function, you may find yourself defining prefixes for those related schema-level program units, so that you can see by name that they are related.

Bad idea. Better to put those schema-level procedures and functions in a package - but now you have to go back to all the places they are called and add the "package dot" to each invocation (or create a synonym to "redirect" into the package). 

Bad use of time.

Instead, therefore, I suggest that you start with a package, even if the specification contains just a single subprogram.

Monday, May 14, 2012

If I Were Governor of California (or Illinois or....)

Governor Brown today announced the need for an additional $8B in cuts to state spending, on top of some $15B of cuts over the last three years. These cuts will slash funding for education, health care for children, welfare programs, etc.


And California is not alone. Many states face drastic shortfalls in their budgets, massive underfunding of pensions, and so on.


And it's just going to keep on getting worse.


So what's a governor to do? It seems to me that in a sane, rational, compassionate society, one in which we recognize the importance - above everything else - of ensuring all our children are healthy, are fed, are educated, are thriving, the first thing we do is identify those who have extracted millions, probably billions of tax dollars, and siphoned them off to their pockets.

If I were governor....I would have my staff analyze who in my state has been getting rich off of the state budget. Sure, lots of the money, maybe most of it, goes to directly paying for services to the poor. But I am beyond certain that there is a cadre of well connected businesspeople who have bribed and cajoled and "contributed" their way to legislators' hearts and pocketbooks over the years. 


I would identify these people and with maximum transparency possible publish the flow of state funds to their commercial enterprises, and sum up the total amount that these very wealthy people have taken out of the system - in effect, taken from the mouths, stomachs, bodies and minds of our most vulnerable.

I would then call on all of these people and their companies to renegotiate any contracts with the state to cut profits to a bare minimum - not lose money, but not make tons of money off of the public either. If they don't like the terms, I am sure we could find others who will do it.


And I would encourage citizens of my state to bring pressure to bear. In effect, these people need to be shamed (they should feel ashamed, but I doubt they do) into doing the right thing.

The money reclaimed from this effort would almost certainly not take care of the deficits. Women, children, the working poor, many of those in the middle class right on the edge, will still pay with their very health and quality of life. But at least they wouldn't be doing that while the fat cats continued to meet in their country clubs, whine about "welfare queens" and then use their illicit gains from public works contracts to fund their own extravagant life styles.



Friday, May 11, 2012

It's Yes Time!

Finally after many years of being complicit in the poisoning of our own bodies, many people are coming to realize that lots of the food products (as opposed to food) that we buy in supermarkets are bad for us, make us sick. Thanks, Michael Pollan and others for your impact!


This shift in public opinion is revealed in changes in advertising by the companies who sell industrialized, factory-produced edibles. 


I was watching the Daily Show last night and was greatly amused by Kraft Food's "It's Yes Time!" campaign.


The ad was all about how a Mom keeps saying No, No, No to all the idiotic things her husband tries to do. But then she is fixing a dinner of hot dogs and this is a Yes! meal because the hot dogs are "Oscar Mayer Selects" that feature "specially selected cuts of meat that have no artificial preservatives. Better yet, Selects has no artificial flavors or colors—even more reason to say yes."

This is good news, no doubt about it. Almost as good as not selling that crap "meat" anymore at all.

But what I find hilarious about these ads, along with a new series of ads from the American Beverage Association ("America's beverage companies are making it easier to choose the beverage that's right for you - with more choices, smaller portions, fewer calories and clear calorie labels."), is that these companies are all implicitly dumping on the rest of their products, and admitting that they are not good for you.

And in the case of Kraft, the almost explicit message is "Don't buy our regular hotdogs. They are a no-no and bad for you."

Ah, the joys and absurdities of marketing!

Saturday, May 05, 2012

Raw+Material=Art

My older son, Chris Silva, is an artist in many media: mural, painting, mosaic, music, video.

He is included in a massive and quite beautiful book titled "Raw+Material=Art".

If you're looking for a relatively inexpensive, high production value "coffee table book" that will delight your visitors and yourself, or if you are Chris Silva fan and must acquire everything that has anything of his in it, check it out!

Here are some links to information about the book:

http://www.coolhunting.com/culture/raw-material-art.php

http://www.tristanmanco.com/2012/02/10/thames-and-hudson-catalogue/

And of course you can order it on Amazon.

Chris also recently put together a mixed-media exhibition that is amazing. You can watch a video of it here (the MORE OR LESS - FULL entry on the blog) It's not the greatest resolution; hopefully there will be something better soon.

Thursday, May 03, 2012

Loey and her Dad: Stars at 1871 Grand Opening

Chris won a commission to create a mural, in collaboration with his friend Dan Ezra Lang, at 1871, a new "incubator" for startups here in Chicago (1871.com). Very high profile initiative and big feather in Chris's cap to have gotten the commission.

CONGRATULATIONS, CHRIS!

1871 threw a big grand opening celebration last night and Chris put us on the guest list to attend.

Loey was easily the most beautiful and amazing baby at the party. Also, so far we could tell, the only baby or child there altogether. Mostly it was crammed full of a bunch of potential investors in suits and software coders in t-shirts with the names of their websites prominently displayed.

You can see both Chris's mural and many pictures of lovely Loey here. But here are some highlights:

Lovely Pink Loey



The mural (or most of it)

A close up:

Loey sitting on couch excited about the thing-in-her-hands-she-can-chew-on:

And then she realizes her mom is not within two feet of her:






Saturday, March 31, 2012

April SQL Quizzes at the PL/SQL Challenge by AMIS

I am very pleased to announce that the SQL quizzes at the PL/SQL Challenge for the month of April are provided by Lucas Jellema and Patrick Barel of AMIS (you will find at the end of this post a description of AMIS). Patrick is a longtime player at the PL/SQL Challenge, and also both reviews and authors SQL quizzes. Lucas is Chief Technology Officer of AMIS and a well-known and highly-regarded presenter at numerous Oracle conferences.


I hope that you enjoy their SQL quizzes. My deepest thanks to AMIS for supporting the Oracle community through the PL/SQL Challenge site.


About AMIS


AMIS is an Oracle, Java and SOA Specialist from The Netherlands, founded in 1991. Consistently active as frontrunner with the latest Oracle technology, AMIS is well known around the world for its community contributions, through presentations on conferences, Master Classes, articles in developer magazines, books and its Technology Blog (http://technology.amis.nl). AMIS has 5 Oracle ACEs and ACE Directors among its staff.

AMIS provides consultancy services around Oracle technology, including Database Development (SQL, PL/SQL, APEX); User Interface development using Java/JEE,ADF and WebCenter; SOA & BPM using SOA Suite, BPM Suite and OSB; BI using ODI, OBI EE; Security, Performance, Scalability, Availability and Administration of run time infrastructures including Database, Middleware and VMs. These services are rendered locally in The Netherlands, but also to customers in other countries and continents. Note that the Oracle Database, SQL and PL/SQL have always been crucial in the activities of AMIS.

AMIS is probably best known for its advanced knowledge, experiences and specialists. Knowledge transfer in various forms - training, coaching, reviews, "education permanente" - is a key element of what the company does. AMIS for example can deliver masterclasses and trainings on site (or through webinars) and also offers self-study materials.

The latest initiative from AMIS is the 'further' training program, targeted at experienced Oracle professionals, who are somewhat stuck in traditional tools and technology and perhaps yesterday's versions or ways of working, and who are now ready and eager to 'further' their knowledge and career. This program is offered to individual developers as well as to organizations who have teams to propel in this fashion. The program is provided in various ways and through various channels.

More information about AMIS can be found at the corporate web site, the Twitter account - @AMIS_Services, its technology blog, and through email to info@amis.nl.

Sunday, March 25, 2012

Good Deeds - It's All Relative

A "news analysis" piece in the Sunday New York Times, titled "Text to Driver: That’s My Space," that explores a growing phenomenon of "parking rage." That's when you sit in your car in your parking spot and do some texting or emailing or twittering or facebooking or....anything that involves having your head bent over a small smartphone device and moving your thumbs, rather than driving away and letting someone else use the parking spot.

This anecdote caught my attention:

On weekends, said Mr. Mercuri, he drives to the suburbs to do errands at stores like Costco, where parking lots can get packed. He said that if he finds himself using his phone in his car after he shops and sees someone who needs his spot, he’ll pull into a fire lane. But on the weekdays, he said, he’s under too much pressure to give up a parking space. Monday to Friday, you have to have that hard edge,” he said. “On the weekends, I try to find small ways to do good to balance it out.” 

I must admit, I am not envious of Mr. Mercuri. He is under so much pressure that the "hard edge" critical to succeed includes ignoring the needs of the parking public. 

Now that is a man in need of edge, wherever he can get it and as hard as he can get it. 

Here's hoping his weekend charitable activities are enough to refill his cosmic karmic account.

Thursday, March 08, 2012

Ohio and New York High Performance PL/SQL Trainings

I will be doing one day trainings on high performance PL/SQL and Oracle Database 11g new features in Columbus and Manhattan (NY) in April:

April 16 - Columbus more info
April 18 - Manhattan more info

These are one day, whirlwind explorations of the many ways you can get those PL/SQL programs running faster, including:
  • BULK COLLECT
  • FORALL
  • DETERMINISTIC functions
  • Function Result Cache
  • NOCOPY
  • DBMS_PARALLEL_EXECUTE
  • Pipelined Table Functions
Hope to see you there!

Sunday, March 04, 2012

Recursive Foot-in-Mouth Syndrome

The Republican primary contest has offered many examples of the well-known Foot-in-Mouth Syndrome, whereby candidates say things that cause them, at a minimum, some embarrassment and, even worse for them, lost votes.

Today while reading the Chicago Tribune, I discovered a rare variation of the syndrome, Recursive Foot-in-Mouth Syndrome (RFIM), in which a candidate, while explaining why his foot was planted firmly in his mouth, plants a foot within that foot.

I can understand why you might be thinking that this candidate must be Newt Gingrich, who seems adept at converting massive contributions by extreme-right, arch-Zionists like Sheldon Adelson into massive losses in the polls. But, no, the master practitioner of RFIM is Rick Santorum.

So, let's see...in the last week or so he called President Obama a "snob" for (supposedly) demanding that everyone attend college (he didn't). And then Santorum took on the most popular president in U.S. history, saying that JFK's speech on the separate of religion and government made him "throw up."

Two big feet in one really big mouth. Not, however, recursive.

But then on Friday, Santorum told his devotees in Chillicothe, Ohio: "I know sometimes I can get a little wound up. You see, I don't often use a teleprompter. The worse that come out of my mouth are my own. They are not written by some poll-tested speechwriter."

So he attempts to explain away his gaffes by insisting that these are his own words, not provided by anyone else.

How does that in any way mitigate the stupidity, banality and maliciousness of those comments? Not one bit. Nope, he's just layering one foot on top of (or within) another.

Recursive Foot-in-Mouth Syndrome. Perhaps one day that will serve as yet another definition of santorum.

Tuesday, February 21, 2012

The Insanity of Stock Trading in the 21st Century

As anyone who's read my blog or otherwise knows me is aware, I have more than my share of criticisms of capitalism. I am not sure it is possible to come up with a better economic system than one that is market-driven. I am very certain, however, that our political system - whose sole purpose should be to protect and improve the quality of life of its citizens - must put boundaries around the behavior of capitalists.

In other words, the political system must taken priority over the economic system.

OK, well, let's put that aside for the moment. Let's just focus on the concept and then the current reality of the stock market.

The fundamental point of a stock market, from what I understand, is to provide a way for companies to obtain investment - and, closely related to that, allows an individual to make such an investment, to both express support for a company and benefit from its success.

That all sounds good to me, and I have certainly participated in the stock market over the last few decades. Now, my wife and I are contemplating selling any and all stock we have and avoiding the stock market like the plague.

Why? Because the entire system seems so fundamentally corrupted, so deeply oriented towards speculation (legalized gambling), so out of control, that it is now a destructive force in our society. And the aspect of the stock market that I think most clearly demonstrates all of this is computerized trading.

Here are a few quotes and links to articles that really drive this home for me:

Nanosecond Trading Could Make Markets Go Haywire

"It’s as if computerized trading has created a new world, one where the usual rules don’t apply, populated by algorithms and only dimly understood by the people who made them...."There’s this whole world below 650 milliseconds. It’s like landing on another planet,” said Neil Johnson, a complex systems specialist at the University of Miami and co-author of the study, released Feb. 7 on arXiv. “It’s an enormous part of the market which is out of human reach."

Yes, that's right folks - an "enormous part of the market which is out of human reach."

"One new computer chip built specifically for high-frequency trading can prepare trades in .000000074 seconds; a proposed $300 million transatlantic cable is being built just to shave 0.006 seconds off transaction times between New York City and London.)"

Think about this: a company spending $300 million to lay a cable across the Atlantic just to make stock transactions .006 seconds faster! Blows my mind to think about all the effort, all the money - and perhaps one or persons will die in accidents laying that cable? - just so some Wall Street and London firms can trade that tiny fraction of time faster!

"Verifiable figures are elusive and estimates vary wildly, but it is claimed that a one millisecond advantage could be worth up to $100m (£63m) a year to the bottom line of a large hedge fund."

It is now estimated that some 70% of all stock transactions occur through computerized trading and they happen so quickly and so frequently that they clearly have nothing at all to do with investment and economic growth.

These transactions are all about "gaming" the system, manipulating stock prices (and the conditions that drive stock prices up and down), to extract profit out of that system without providing any benefit to the stock market, the society, the world.

I know, I know - what a whiner. And I will keep on whining - all the way out of the stock market.