“InfoQ”:http://www.infoq.com has an interesting article on “whether specific technology knowledge matter when recruiting”:http://www.infoq.com/news/2007/08/buzzword-driven-recruiting. The short answer: No — although most companies don’t realize this.
Make sure you check out “the Flickr photo of a Ruby job ad”:http://www.flickr.com/photo_zoom.gne?id=516427456&size=l, it got quite a few laughs at RailsConf.

“Atlantic Dominion Solutions”:http://www.techcfl.com has posted a “JRuby on Rails screencast”:http://www.techcfl.com/blog/?p=150. It is based on their excellent first JRuby tutorial, “Get JRuby onto the Rails on Mac OS X”:http://www.techcfl.com/blog/?p=109.

bq. Someone told me that watching a video is more fun that reading something. So much for the library I have sitting here then. However, in that spirit, we are happy to release the first in a series of screencast tutorials.

Also, while you’re there make sure you check out part two of their JRuby tutorial: “Deploy Your First JRuby on Rails App to Glassfish”:http://www.techcfl.com/blog/?p=116.

Who wants to be the “Gordon Ramsay”:http://en.wikipedia.org/wiki/Gordon_Ramsay of software development? Because we freakin need one — there’s absolutely no shortage of places to fix.

Having just watched “Ramsay’s Kitchen Nightmares”:http://http://en.wikipedia.org/wiki/Ramsay%27s_Kitchen_Nightmares on TV tonight, I realized how much the kitchen nightmares portrayed in the series are like some of the software development nightmares I run into as a freelance consultant.

While most of the software development teams aren’t exactly failing completely and their companies about to file for bankruptcy, there’s a long list of striking resemblances with the restaurants in the TV series: People are running around utterly confused, not communicating properly, and the so-called managers are doing a terrible job of being in charge. The team members have either lost their love and passion for writing software or just don’t know their craft. And if they have a structured approach to software development, it’s more often than not using out of date methods and tools resulting in out of date productivity and results — they are serving fondue and cheesecake, when they could be practicing “molecular gastronomy”:http://en.wikipedia.org/wiki/Molecular_gastronomy.

So why do these software shops still have customers? Well, my take on it is that the customers simply do not have the skills necessary to tell a good software development shop from a bad one. And the worst thing is, if they had the skills, there would be awfully few to choose from.

As they say in the TV series: It’s going to be hell! Are you going to answer the 911 call?

Just found a very nice article, “Tips for Optimizing Rails on Oracle”:http://www.oracle.com/technology/pub/articles/mearelli-optimizing-oracle-rails.html?msgid=5676684, on OTN (Oracle Technology Network). Definitely worth reading if you are working with Rails and Oracle:

bq. In this article you dug a bit into how connections to an Oracle database are configured in a Rails application, and you have seen how the framework has been updated in the 1.2 release to have better performances thorough the use of the cursor_sharing and prefetch_rows parameters (while waiting for a real bind variable implementation).
 
You have also examined the Rails migration commands that are relevant to tuning the database (specially creating/removing indexes).
 
Finally, as you’ve learned, a good understanding of both how Rails builds the SQL from the code and how the database executes them is needed to get the best performance. The provided plugins should help here.

Jeg ville egentligt selv have skrevet lidt om det “Proof-of-Concept” projekt jeg har arbejdet med her i starten af 2007, men Lars Roark fra Rødovre Kommune har allerede beskrevet det ganske glimrende på Version2: “Single sign on virker! Nu skal det bare rulles ud…”:http://www.version2.dk/artikel/2507

bq. I regi af borgerportalprojektet, har man derfor gennemført en “realistisk” afprøvning af SSO. Det vil sige at ITST har skåret ind til benet – og præcist formuleret hvilke dele af det store SAML 2.0 kompleks man vil anvende, og hvordan. ITST har også – til testen – stillet en service til rådighed på Internettet, en Identity Provider (IdP).

Det virker, men er ikke produktionsmodent. Store leverandører har “verdensklasse enterprise løsninger” – men har brug for “verdensklasse teknikerhjælp” til at sætte det op.

Som en del af projektet har vi testet integrationen mellem “borger.dk”:http://borger.dk (som Service Provider) og IT- og Telestyrelsens Identity Provider, og mine erfaringer er nogenlunde de samme som Lars’. Softwaren fremstår ikke helt produktionsmoden, men kan overtales til at virke – hvis man ellers kan komme igennem til de rette folk hos sin leverandør.

Nu ved jeg så en masse om “Federated Identity”:http://en.wikipedia.org/wiki/Federated_identity, “SAML”:http://en.wikipedia.org/wiki/SAML og især “Oracle Identify Federation”:http://www.oracle.com/technology/products/id_mgmt/coreid_fed/index.html – spørgsmålet er så hvornår jeg får brug for det igen, men spændende har det været og jeg håber at vi snart ser den rigtige IdP fra ITST.

I’m “tumbling”:http://en.wikipedia.org/wiki/Tumblelog my notes from “RailsConf”:http://conferences.oreillynet.com/rails/ at “railsconf07.productive.dk”:http://railsconf07.productive.dk.

See you at RailsConf 2007!

February 7, 2007

Yay! Just bought my ticket for “RailsConf 2007”:http://conferences.oreillynet.com/rails/ today. Apparently “tickets are going fast”:http://weblog.rubyonrails.org/2007/2/5/railsconf-is-more-than-half-sold-out-and-the-fastest-selling-o-reilly-conference, so hurry up if you want to go.

I signed up for the conference and tutorials, so I’ll be in Portland from Wednesday evening through Sunday afternoon — probably missing the last keynotes since there doesn’t seem to be any flights back home later than 4 pm.

For a while I was planning on going to RailsConf Europe in Berlin instead, but after adding up the cost of going to Portland (conference fee, flights, hotel) I was surprised to find that it looks like it’ll be cheaper than last year trip to “JAOO”:http://jaoo.dk — which is just a 3 hour drive from where I live! But then JAOO prices are pretty steep.

Leave a comment or “give me a call”:http://productive.dk/contact if you want to meet up in Portland.

Danmarks nye borgerportal, borger.dk, har haft meget travlt i de to første uger:
* “Videnskabsministeriet: Flyvende start for borger.dk”:http://www.itst.dk/wimpdoc.asp?page=nyhed&objno=213221925
* “Version2: Borgerne suser ind på Borger-portal”:http://www.version2.dk/artikel/1122

borger.dkDet er altid rart at se resultatet af ens arbejde og især som freelancer, da man ofte er ude af døren og videre til en ny kunde, inden projektet går i produktion. Det var derfor med stor glæde (og en smule spændt) at jeg så “borger.dk”:http://borger.dk gå i luften d. 3. januar. Der var ikke det store postyr omkring premieren, men den blev da alligevel nævnt af bl.a. “Computerworld”:http://www.computerworld.dk/art/37298, “ComON”:http://comon.dk/index.php/news/show/id=29566, “Ekstra Bladet”:http://ekstrabladet.dk/nyheder/samfund/article257306.ece, “Berlingske”:http://www.berlingske.dk/indland/artikel:aid=844888/ og “B.T.”:http://www.bt.dk/article/20070103/MOBIL/701030362. Læs “pressemeddelelsen”:http://itst.dk/wimpdoc.asp?page=nyhed&objno=212225761 hos IT- og Telestyrelsen.

bq. Fra i dag har danskerne fået en ny portal som samler offentlige digitale tjenester og informationer på tværs af stat, region og kommune. Den nye internet-tjeneste Borger.dk erstatter de gamle portaler netborger.dk og danmark.dk, der samtidig lukkes. Borger.dk kan blandt andet bruges til at melde flytning, beregne sin efterløn eller finde oplysninger om sin nye kommune.

Computerworld sad (ikke overraskende) med fingeren på reload-knappen inden premieren, og nåede da også at fange “en enkelt fejl eller to”:http://www.computerworld.dk/art/37298 dagen før den officielle premiere. Taget i betragtning at borger.dk integrerer til bl.a. KMD, Krak og “FOA”:http://foa.danmark.dk, der alle havde travlt med at blive klar til kommunalreformen og arbejdede helt frem til 2/1, så synes jeg at premieren på borger.dk forløb smertefrit. Computerworld skrev (efter den rigtige premiere):

bq. 3.000 brugere første dag og 180.000 sidevisninger. Og frem for alt en problemfri premieredag. Det er status efter borger.dk i går officielt gik i luften.

Jeg har brugt en del af min tid på projektet med udvikling af integrationen til “FOA”:http://foa.danmark.dk, bl.a. “visning af oplysninger om de 98 nye kommuner”:http://borger.dk/forside/kommuner, der også integrerer med Krak og KMDs kommunefakta.

*Update:* 3.000 brugere og 180.000 sidevisninger lød ikke helt rigtigt – 60 sider pr. bruger er nok lige i overkanten. De rigtige tal er knap 30.000 brugere og 180.000 sidevisninger. Desuden hørte jeg at kunden er glad for løsningen – rigtigt glad endda.

I just found “gqlplus”:http://gqlplus.sourceforge.net today when looking for a way to enable command-line history in the SQL*Plus command that comes with Oracle’s “Instant Client”:http://www.oracle.com/technology/tech/oci/instantclient/index.html:

bq. _gqlplus_ is a drop-in replacement for sqlplus, an Oracle SQL client, for UNIX and UNIX-like platforms. The difference between _gqlplus_ and sqlplus is *command-line editing and history, plus table-name and column-name completion*. As you know if you have used sqlplus, it is notoriously difficult to correct typing errors and other mistakes in your SQL statements. sqlplus does give you ability to use external editor to edit a statement, but only the last statement you typed. _gqlplus_ solves this problem by providing the familiar command-line editing and history as in tcsh or bash shells, and table/column-name completion, while otherwise retaining compatibility with sqlplus.

To install on OS X, simply “download”:http://sf.net/projects/gqlplus, untar and do the usual configure/make ritual, with @–disable-shared@ passed to configure (see “this page for details”:http://log.antiflux.org/grant/2006/10/02/compiling-gqlplus-on-os-x but note that it’s no longer necessary to patch gqlplus):

$ ./configure --disable-shared
$ make

and then move the binary to “/usr/local/bin”:http://hivelogic.com/articles/2005/11/29/using_usr_local. You may want to pass @-d@ to gqlplus, to disable column-name completion, as it can take quite a while to load the meta data required, but otherwise gqlplus is truly a joy to use.

Update 2009-03-10:
If you want to substitute all calls to sqlplus with gqlplus, add an alias to your .profile (or .bash_profile):

alias sqlplus='gqlplus'    # with auto-completion 
alias sqlplus='gqlplus -d' # without auto-completion