Latest Entries »

Petit Paris, Grassmarket, Edinburgh

​With a very warm and friendly atmosphere, I was welcomed like an old friend who’d just popped by.

The starters, French onion soup, immediately made me feel jealous of anyone whose maman might have made them this on a cold night. Not the incipit attempts find in British restaurants, but real, thick, warm, hearty French stuff.

The mains, beef bourguignon, was again, delicious. Served in a red hot crock pot, the perfectly cooked pieces of beef, swimming in heartwarming gravy, melted on the tongue. Apparently there are restaurants to be found in France itself which do better. But none here.

My dessert was crêpes with Grand Marnier. Warm, light and swimming with liqueur.

To finish, rather than my traditional espresso, I went for a Calvados. The typical brandy nose was finished with an immediate transportation to the orchards of Normandy. Not too much of a kick, but a gentle hint of apples.

You couldn’t do much better on a cold Edinburgh night than warm your insides with a trip to France, in a warm, rustic, rural restaurant on the Grassmarket.

Advertisements

Call for Papers – GSE UK Conference: Dear GSE member or supporter,

We are beginning the process to build the agenda for the next GSE UK Conference.  This event will be held on November 5th & 6th at Whittlebury Hall in Northamptonshire.  We intend to run at least 16 parallel streams (i.e. 160 sessions, 80 x 60 minute sessions and 80 x 45 minute sessions) that will feature all aspects of mainframe technology.

If you would like to present at one of these sessions please can you contact the person responsible for running the conference streams, as shown below, with a title and brief abstract of the presentation and a brief bio of the presenter:
• 101 – Hannah Clemo and David Lea
• CICS – Rob Stroud
• IMS – Dominic Jackson
• DB2 – Marcus Davage and Paul Ruane
• Enterprise Security – Jamie Pease
• Large Systems – Mark Wilson
• Network Management – Peter Redman
• zLinux – David Austin
• Storage Management – Pete Stevenson
• TWS – Anna Dawson and Dean Harrison
• Workload Automation – Anna Dawson and Dean Harrison
• ApplicationDevelopment – Keith Allen
• MQ – Melvyn Maltz
• zCapacity Management and Performance Analysis – Jon Olley and John Jackson
• Mainframe Skills & Learning – Ian Skellern
• New Technologies – Kevin Russell
• Software Asset Management (SAM) – Dave Kirk
The objectives of the Conference are to provide guidance and education. The GSE policies prohibit presentations that are focused on selling or promoting a product.  Instead, they should focus on technical issues. As an example, you could discuss a topical issue and how that issue can be resolved; you could describe enhancements to a product and how they can be exploited; other possible topics include explaining the mysteries of the mainframe to new technicians and students.

We look forward to receiving your suggestions for presentations at this year’s conference.

After Linux Mint Installation

Upgrading Linux Mint

A rather simple and cool way of upgrading Linux

Very intelligent and thought-provoking writing from Dannii.

Me, myself & I

You’ve probably never thought about it. I mean who would? I didn’t up to a few weeks ago until an article in the Metro discussed that exact topic “What happens to your online life when you die?” Nearly everyone including your friends, some family and possibly your pet goldfish own a social networking account,  everyone is somehow online and connected with the world. I’ve tweeted, posted and shared without thinking about the future of where all of my information might be going. Since reading the article it’s plagued my mind as to where all my stuff may go. I’ve even joined the loser crew by googling my name more often than is actually needed. You could say I am my own stalker. In the world of celebrity, the good the bad and the ugliest of ugly pictures haunt search engines image pages for eternity. I will never be…

View original post 831 more words

Judicious Cartesian Joins

Any DBA worth his or her salt has always eschewed Cartesian products (unless, of course, he or she is keen for a bit of on-call overtime, but that’s for another blog entry). However, with judicious usage, they can be helpful indeed to a time-constrained DBA who has repetitive tasks to, um, repeat. Or indeed perform. Anyway. Here are my examples.

1. I recently had reason to generate BIND cards for a whole bunch of packages, but retain the various DBRMLIBs from which they were originally bound. So, enter stage left my SPUFI:

DECLARE GLOBAL TEMPORARY TABLE T(LINENO INTEGER NOT NULL);
INSERT INTO SESSION.T VALUES 1;
INSERT INTO SESSION.T VALUES 2;
INSERT INTO SESSION.T VALUES 3;
SELECT
   CASE LINENO
        WHEN 1 THEN 'BIND PACKAGE(' CONCAT STRIP(COLLID) CONCAT
                    ') MEMBER(' CONCAT STRIP(NAME) CONCAT ') -'
        WHEN 2 THEN '     OWNER(' CONCAT STRIP(OWNER) CONCAT
                    ') QUALIFIER(' CONCAT STRIP(QUALIFIER) CONCAT ') -'
        WHEN 3 THEN '     LIBRARY(' CONCAT STRIP(PDSNAME) CONCAT
                    ')'
   END 
FROM SYSIBM.SYSPACKAGE, SESSION.T                                      WHERE LOCATION = '' AND COLLID = 'DTESTD' AND NAME LIKE '%' ORDER BY COLLID,NAME,LINENO
WITH UR;

The output looks something like this:

BIND PACKAGE(DTESTD) MEMBER(AB33511M) -
     OWNER(DTESTD) QUALIFIER(DTESTD) -     
     LIBRARY(LIVE.DTESTD.DBRMLIB)
BIND PACKAGE(DTESTD) MEMBER(AB93201M) -    
     OWNER(DTESTD) QUALIFIER(DTESTD) -     
     LIBRARY(TEST.DTESTD.DBRMLIB)              

2. I had need to perform unloads and loads of a whole bunch of tables with BLOBs defined. A particular third-party tool demanded that the implicitly-defined ROWID column “DB2_GENERATED_ROWID_FOR_LOBS” have a unique index defined upon it. Enter stage right, the following, similar SPUFI:


DECLARE GLOBAL TEMPORARY TABLE T(LINENO INTEGER NOT NULL);
INSERT INTO SESSION.T VALUES 1; 
INSERT INTO SESSION.T VALUES 2; 
INSERT INTO SESSION.T VALUES 3;
INSERT INTO SESSION.T VALUES 4;
SELECT 
   CASE LINENO 
        WHEN 1 THEN 'CREATE UNIQUE INDEX '
                    CONCAT STRIP(TBNAME) CONCAT '_LOB'
        WHEN 2 THEN '        ON ' CONCAT STRIP(TBNAME)
        WHEN 3 THEN '        (DB2_GENERATED_ROWID_FOR_LOBS ASC )' 
        WHEN 4 THEN '        USING STOGROUP SYSDEFLT PRIQTY -1 SECQTY -1'
                    CONCAT ' BUFFERPOOL BP0 ;'  
   END 
  FROM SESSION.T, 
  ( SELECT TBNAME 
    FROM SYSIBM.SYSCOLUMNS
    WHERE TBCREATOR = 'tbcreator'
      AND NAME      = 'DB2_GENERATED_ROWID_FOR_LOBS'
    ORDER BY TBNAME 
  ) C 
WITH UR;

The output looks something like this:

CREATE UNIQUE INDEX WORK_LOB 
        ON WORK 
        (DB2_GENERATED_ROWID_FOR_LOBS ASC ) 
        USING STOGROUP SYSDEFLT PRIQTY -1 SECQTY -1 BUFFERPOOL BP0 ;
CREATE UNIQUE INDEX ITEM_LOB 
        ON ITEM 
        (DB2_GENERATED_ROWID_FOR_LOBS ASC ) 
        USING STOGROUP SYSDEFLT PRIQTY -1 SECQTY -1 BUFFERPOOL BP0 ;

Notice that for each output line needed, a line has to be inserted into the session table T.

A Russian Joke

One of my favourite jokes is this:

Lenin, Stalin and Brezhnev are in a train that is running late. The conductor arrives and apologises that he doesn’t know wny the train is not moving. Lenin says, “Shoot all the owners of the railway company.” After a little while, the conductor comes back and says, “We have shot the owners of the railway company, but still the train is not moving.” Stalin says, “Shoot the workers of the railway company.” After a little while, the conductor comes back and says, “We have shot the workers of the railway company, but still the train is not moving.” Brezhnev ponders for a moment, then says, “Paint all the windows black, and tell everyone the train is moving.”

DB2 SQL performance

I’ve just seen one of the most shockingly stupid pieces of SQL in 20 years of DB2 Administration:

SELECT   (CURRENT DATE – :H MONTHS)
INTO     :H                        
FROM     TABLE1

It does a non-matching index scan of a table of 342,038,069 rows, performing 16,248 getpages at a cost of 1,426,790 timerons, when all it wants is the current date minus x months! They haven’t heard of SYSIBM.SYSDUMMY1, obviously.

Yr Hen Fwthyn… dot com

I’ve never written a food blog before, but have been tempted to, many times. At last, the golden opportunity came, and here it is at last…
The Old Cottage, opened its doors to the public last week, and my wife and I were of the lucky few who were invited to the Menu Tasting evenings, where we were presented with a free two-course meal for two (drinks and puddings excluded) so that the chefs and staff could experiment on us before being let loose on real people! From the moment the phone rang, and I was told that I was accepted, the days seemed to drag, and I found myself inordinately looking forward to the evening!

Firstly, every communication I had from @TheOldCottage was professional, courteous and efficient. When we arrived, the welcome was warm, and the restaurant beautifully and tastefully done. The pub itself had greatly benefited from the facelift. It had regenerated from a spit’n’sawdust pub to a warm yet classy pub/restaurant, with an interesting seating balcony above the bar, and the kitchen itself open to the main body of the restaurant. It was fascinating to watch the chefs, waiters, waitresses and maitre d’ work together. One thing was obvious when you walked in and observed the staff – they all really enjoyed working there. That in itself was a commendation.

The menus (a la carte and specials) were awesome! It took a while for us to decide what to go for, but in the end, this is what we chose (needless to say, we shared!):

Starters

Black Pearl Scallops with Avocado, Chilli and Lime with Crispy Chorizo and Chilli Oil

Dolcelatte and pear tart, red onion marmalade

Main Course

Rack of Lamb with Rosemary, Lemon and Garlic, Fondue of Leeks and Cabbage Mash

Seared Duck Breast, Rosemary Sauted Potatoes, Wilted Spinach and Cinnamon Jus

Puddings

Eton Mess

Limoncello Posset


The dolcelatte and pear tart was sweet and deliciously creamy, with the pastry cooked to perfection.

The scallops/chorizo/chilli/avocado/lime combination was amazing – I would never have believed that such flavours would combine so willingly and effectively to such amazing effect! A delicious starter which left one eager for more…

The lamb melted in the mouth with the rosemary adding a refreshing fragrance. I was expecting “leeks” and “cabbage mash”, but it seemed more like a “leeks and cabbage mash”. Either way, it was lovely!

The duck breast was tender and full of gamey flavour. The Cinnamon Jus was a delightful surprise – I never knew you could get gravy out of cinnamon! Anyway. You can. They did. And with the duck/rosemary (again) combinations, brought a warmth to the whole course which wouldn’t have been out of place on an Autumn evening by a roaring log fire! The healthily large (if a tad expensive) glass of rioja certainly washed it down well.

The Eton Mess was a gorgeous splash of pinks and whites which exploded creamily and tangily in the mouth.

The limoncello posset took me back to our honeymoon in Sorrento, where each evening, we would be presented with a stunning meal – each one different, each one remarkable. This pudding was light and zesty, yet rich and creamy – all at the same time.

Maybe it was because I had such high expectations of the place, the food and the entire evening – and the expectations were not only met, but exceeded – that even the coffee at the end of the meal seemed to be nicer than expected!

The portions weren’t huge such that you’d feel bloated or guilty to have to leave some, neither were they so small that they left you disappointed. All in all, the three courses and the drinks combined to form a wonderful evening out. A dining experience I haven’t had in a long time.

The Old Cottage has quickly become my number one dining venue in Cardiff, and I can’t wait to try it again!

I was looking for the definition of prestidigitation, when one of the suggested words caught my eye – vivisepulture.

Now, it wasn’t the word that caused me alarm – it was the advertisements accompanying it:

I wonder what the advertisers’ message was… “Catch him and keep him by burying him alive on the beach, only 5 minutes away from a Costa Brava Beach Home!”

%d bloggers like this: