Saturday, February 05, 2011

Food From Faraway

Food
Last time I mentioned visiting Al Duomo in Brighton and being inspired to a recipe by an item written on their daily menu. Their offering, so far as I recall, was Pasta con Funghi Porcini e Rucola. "Pasta with Porcini mushrooms and Rocket" in England, where Rocket (from the german Rauke) is the name for Arugala.

After we finished out (very good) antipasto lunch snack we went to Asda to get ingredients to make dinner. These quantities were intended (roughly) for two but ended up enough for three!

about half lb of pasta                                      half bottle of light red wine 
a dozen mushrooms, 1"- 2" across    quarter lb butter
half lb rocket                      quarter pint crème fraiche
half a medium onion                 teaspoonful chopped garlic
olive oil

  • Boil salted water, add a little oil, and set the pasta to cook.
  • Fry the onion and garlic gently in the oil for a few minutes, add the butter and melt it. Slice the mushrooms in two or three and add them to the mix, making sure that they're well cooked to be tender.
  • Once the mushrooms are done take them from the heat. 
  • When the pasta is cooked to a little less than your taste, drain all the water from it, leaving it in its pot.
  • Add the mushrooms only to the pasta and return that pot to a very low heat. The pasta will finish cooking.
  • Add the crème fraiche (or light cream, or plain yoghourt, if you can't get crème fraiche) to the onion/garlic mixture in the frying pan and heat. Add a little Worcestershire Sauce for flavour, and then pour enough red wine into the mixture for it to turn a pleasing pink colour.
  • Take the pasta from the heat and mix the rocket in.
  • Lastly, add the sauce mixture to the pasta and serve.
I served this in bowls: plates would be equally good, and serving it over sliced toast would add a good base texture. Grated Parmigiano or a similar hard cheese goes very well indeed, with the rocket providing a crunchy texture to offset those of the mushrooms and pasta. A light red wine is an excellent accompaniment.


More Food
This morning a noted on FB that I was having Oeufs Pochés on toast for breakfast, which raised some interest, so here's what they are.

You may know "Poached Eggs" from England, which are made by cracking an egg gently and decanting it from its shell into an open-topped little hemisphere in which it will cook by floating in boiling water, You can get special pans for this or an insert for your normal frying pan. You can recognise the germanic influence here when you find that oeufs pochés are the original poached eggs, but created in an extremely free-form manner.

In this form you just boil some water. Then you crack the eggs gently on the side of the pot (so you don't get shell in the water!) and pour the whole content gently into the hot water, taking care not to break the yolk. Then you just wait for enough time to pass for the yolk to cook to your taste and use a large spoon to rescue your egg and lay it onto your freshly-toasted piece of bread. I like salt, pepper, and grated cheese on top.

Tech
A lot of people, especially people who don't use SQL very often, have found the Cursor and recognised that this is the equivalent of the loops found in procedural languages such as FORTRAN, Pascal, C, C#, SmallTalk, Java, and others. Then they cling to this construct like survivors of The Titanic to lifeboats.

If there's no great pressure of time, and if the tables involved are not in much use by other processes, then all is fine, and the cursor satisfies the need of the programmer to write code that varies according to the content of the individual tuples in the dataset obtained by the cursor.

However, a cursor (unless it is specified as real-only) can lock large parts of the table(s) from which it is drawing data, meaning that the process using the cursor is getting in the way of other processes seeking to work with the data. When these other processes are also using cursors life can get a little slow!

There is a simple way to improve this sort of code: use a table variable. This feature, introduced in SQL Server 2000, allows you to declare a table within your code and work with it there, completely independently of all other processes. Contrary to lore, a table variable will appear in the temp table, but only if it needs to - if it is big enough to exceed the amount of memory SQL Server has available in cache. However, the independence and specificity are the main attractions here.

The independence is provided by the ability to work with your own copy of the data - 80+% of all data accesses are reads in almost all installations, so you read in your whole dataset in one fell swoop rather than tuple-by-tuple, which is what the cursor will do. The specificity advantage is obtained by only pulling in the data you really need, and no other fields or tuples. Again, this reduces the impact on the system as a whole.

Once you have the data, you can use a simple while loop as below to work through it (the scalar variable declarations aren't shown but are obvious):

   declare @ta table (ID int identity(1, 1), --Identifier for the rows
                      Field1 nvarchar(50), 
                      Field2 int, 
                      Done varchar(4))       --Use to mark when I've done the row
   insert into @ta
      select Field1, Field2, 'No' 
      from   database.dbo.tblInfo 
      where  field3 = 'condition'
   while 'forever' = 'forever'              --This loop will never end
   begin
      set @intID = (select top 1 ID
                    from @ta 
                    where Done = 'No')      --Get top remaining unmarked record
      if @intID is null break               --Null if none left, so exit loop
      select @strFld2 = Field1,
             @intFld3 = Field2
      from  @ta 
      where ID = @intID                     --Get data to work with
/*
Do whatever processing you need to do here
*/
      update @ta set Done = 'Yes' 
                 where ID = @intID          --Mark record "done" to avoid repeats
    end

Taking the principle of doing less a step further, you can also use table variables for storing pointers (i.e. primary keys) to the data you want to work with in a much larger table, so that even when you do use a cursor, you've already done the searching part of the work with a set operation. In fact, creating a list table like this means that you can use it for further set operations, reducing the procedural part of the code even further.

These suggestions aren't one a par with the ones you get from the SQL Gurus at the sites on my Tech Links list (right), but they are techniques that should be part of your everyday arsenal of methods, kept on your Code Snippets CD, just like things like code for searching for code in all the sprocs in a database.

You do have a Code Snippets CD, don't you?


TTFN

February Is Here

Back in the USA, and snowed under with work, which delayed these posts here.

The last post was written the day after my father rather suddenly died, the day after I returned from seeing him, and I'll admit to not feeling on top of the world. However, I have to thank all of you who took the time and trouble to comment on it, here, on FB, on Ravelry, and in person. I wasn't trying to be pretentious or anything - I just wrote it as a commentary to myself on how I felt and it seemed right to share it with friends. I just discovered that I had a few more friends than I realised!

The next next few days were spent working during the day and trying to organise events in England and Ireland. I took off with family for England on the 25th, spent a couple of frantic days trying to help organise things and going to my father's funeral in Brighton on the 27th, and then flew to Shannon for his interment in the family plot in Limerick. Sunday saw us all flying back to England for a few more days before returning to Philadelphia.

So, a busy fortnight, which meant that I appear to have missed all the snow and ice that the New Jersey are has experienced over the last month. In fact I think I've actually seen it snow here just twice this year, a record only beaten by prisoners and the blind!

Food
The next recipes will be in the next posts. I have to tell you, though, that England and Ireland are not the culinary deserts that you've been led to believe! We had some excellent food in both countries, and a menu item written on a blackboard in an Italian restaurant, Al Duomo (just outside the Indian Gate to the Royal Pavillion in Brighton), conjured up a meal in my mind for the evening as we sat there enjoying antipasto and hot chocolate, sheltering from a wet and blustery day.


Tech
There are many pieces of advice that one can offer, but educating oneself is always important. So, coming up in April is SSWUG's DBTechCon, a technical conference that is both reasonably priced and convenient. The downside is that you don't get to do much networking, but everyone knows that if you get two goodies there's always a third piece that suffers!

Why do I recommend looking at this conference? Well, first off it's a virtual conference, so you don't have to go anywhere to get there.

Secondly, it's so virtual that you don't even have to be on time - the whole thing is available for 45 days after it starts, so you can see all the presentations in all the tracks without having to resort to getting your own Time-Tuner!

In fact, the lack of that third measure of a conference - networking - is ameliorated by the fact that if you actually are on time to watch a presentation you can chat to the presenter in real-time, and get questions answered for the benefit of all!

Enough of the advertising! Go off to the SSWUG site and check it out! I have a tip or two for SQL Server developers for the next post.
TTFN

Tuesday, January 18, 2011

An End

To some the End comes quickly - a bullet, a sword-thrust,
The End not really expected, just discounted until it arrives without warning.
To others there's the long drawn-out agony of waiting, being eaten alive from within
That most terrible of human fears - of animals, larvae, or, today, cancer.

Three-score and ten is our allotted span, we're told
And all after that is a gift from chance, or luck, or the Almighty
As if we stay through temporary lack of space in Hell
Or through our own stubbornness too unwilling to move on.

Last week I saw my father, spoke to him on a sunny morn
We chatted over finches at a feeder and how nurses were not for chasing.
A talk between man and man, common enough you'd think
This morning he was gone - stubborn and obstinate no more

They say that, near the end, some folk
Wait for something - a visit, a word, an action
That will release them from this mortal coil
Was he waiting for that visit?
J.M. Irwin. 1927 - 2011.   R.I.P.

Monday, January 17, 2011

A Quick Visit to England (Again)

For those of you who read this and don't know, my father has been in a nursing home for just over a year now, with increasing dementia. It's not a pleasant disease to witness, as, totally aside from the catastrophic physical deterioration of someone you've grown up always feeling would be a constant presence in your life, the fact that they remember you but appear to have little or no short term memory beyond about three minutes seems almost as confusing to you as it must be to them.

While they're out in their own flat or home, fending for themselves, people seem to manage to survive for themselves. Their homes may be very messy, but what actually has to get done does get done, like shopping, eating, and putting out the trash. When they go into care they don't have to do many of these things, so they just let that part of the effort of their lives disappear, and seem quite happy to just sit in a chair and daydream and doze. Sometimes this is necessary - when they simply can't do them for themselves - but it also seems like a lot of their reason for living - living itself - has vanished, and they just start slipping away.

I went to England last week because the doctors became quite alarmed that my father might die very soon. As if to prove them wrong, I got over there and went to see him and found him apparently better than a couple of months ago, before Christmas. No blame on the doctors, though - his two brothers exhibited the same off-again, on-again behaviour towards the ends of their lives.

So, that's why I was there. England can be a wonderful place for photography, but - especially in the winter - you need some time to get back into the bare countrysides and the low light levels - the skies are normally leaden grey! In fact, in 10 days we caught about 30 minutes of sunshine. So there aren't any picture of Brighton or anything - sorry! I've now added pictures of two shops - Quilty Pleasures and Purl (most links to them seem to miss out the "www" prefix, which you do need), which are a quilting and a knitting shop, respectively, in the Dike Road area of Brighton, almost overlooking the railway station. Purl is just down the road from The Chimney House, where husbands can go for a pint while the wife is clearing out the wallet!













As you can see, Purl is a well-stocked shop, seeming somewhat Tardis-like after you enter the smallish front door. As well as all the yarn, there's a nice large table for gathering around for knit-meetings.
Below-right is a shot of another wall-display of yarn (the little blue and pink tags tell you what you're looking at and the price, so you don't have to pull everything out all the time - nice idea!). To the left is a rather sweet example knit up, and, because I really liked the sheep, I've left two more pictures of their shop window display trail the left margin.

Also worthy of mention is the knitting group on Wednesday evenings at Temptations in Gardiner St in what is now called "The North Laines". Nice friendly group and an excellent meeting spot. Very good food, good drinks (alcoholic and non), and an overall good place to meet people.


Brighton in general has lots of places like that. Others to look out for include The Prince of Wales at the western corner of Churchill Square, The Bath Arms in The Lanes, TicToc (Meeting House Lane in The Lanes), and both pubs in Preston Village. TicToc is run by a Frenchman, much to my surprise, and, while excruciatingly small, provides very good food. I also had lunch in the Cafe Roue, which is an excellent Bistro in exactly the form you'd expect to find in the heart of Paris (excepting no Biere Pression :(   oh well. I can live without Kronenbourg! ).

TTFN

Monday, December 27, 2010

Later That Night ...

New Jersey declared a State of Emergency, but we were already out and looking around, as most of the local crazies were off the roads. Here are a couple of pictures of The King's Highway in Haddonfield.








 This is stitched together from three images.



As you can imagine, it was rather cold. It was also very windy, with a lot of snow blowing around - hence the shakes in the camera!
 
You don't see the snow in most of these pictures, despite the long exposure times, but here (left) I had turned the camera off and on again and forgotten to turn off the flash! Snowflakes are amazingly good at reflecting light!


Below is a set of three pictures of a house display where the lights weren't flashing, but the colours were cycling nicely.



So we came home (everywhere was closed, excepting 7-11 and Wawa) to have a snack. 





Near where we live one guy has some decorations up - no! that isn't the afternoon sun! It's a halogen street-lamp!










Took one picture of the edge of my building as I came home. There's a large light at the corner of the building, which is causing the lens flare.



 So, the weather report says that there's about 18 inches of snow near Atlantic City (since around noon), which is a sustained rate of about two inches an hour. It's about half that where I live, maybe a little less. Even so, work will definitely be done with tele-commuting tomorrow!
TTFN

Sunday, December 26, 2010

Another Christmas Done!

Time once again to look back at another Christmas. The presents and wrapping littering the floor (thanks to all who gave!), the list of thank-you cards to send (should really be doing that right now!), the beautiful weather (until about 10 am this morning!).

It's a little later than last year, by two days, but we have snow again! Just a little so far, but it's settling in for an evening's snowfall. This is the view at about 4 pm from the front door - hopefully I'll be able to get out to take some more pictures later on.



Monday, November 15, 2010

Airline Food

So you're sitting in the airport lounge and contemplating your Tums and wondering if you've enough to last you through the next seven or eight hours of cramped flying with airline food attacking your stomach walls. Dismal thoughts of days of diarrhea and gastric pains occupy you until the voice on the speakers stops asking for various passengers to please turn up immediately, and suddenly welcomes you to your flight and invites VIPs and people with kids to board now.

Your stomach lurches in fear again, as if it was to be left alone to face Voldemort on a dark night. Your seating range is called, you walk down the ramp and are greeted by the young ladies in scarlet who direct you to your seat. You definitely aren't a size zero model,, and just manage to squeeze into the seat, but the belt won't cover your artificially-protruding gut. Oh the shame of it! You clamber to your feet in search of an attendant, and ask with red face and downcast eyes if they have such a thing as a belt extender. "But of course, sir. I use one myself at times. Here you are." and the object is discreetly handed over. Score one for the service on this airline!

Take-off and you get given a little plastic goodie-bag. Wow ! - socks, blindfold and ear plugs, toothbrush and paste. Still, you remember that next comes food and drink and the stomach lurches again - all I've had on Delta recently is salty pretzels and no liquids (peanuts are suddenly too dangerous), and Southwest hasn't been much better. I got the cheapest flight from NYC to London that I could ($624 return) so who knows what'll be offered. Hard tack and weevilly biscuit, maybe!

Ah! Here come the drinks: Water, juice, half a dozen sodas, including English lemonade (like Sprite), red & white wines, scotch, vodka, gin, ... is there some mistake here? Maybe they're getting us drunk and will stage a mid-air mugging later!

And now another pair with a food trolley. "Would you like beef stew or chicken curry, sir?" It took a couple of seconds to parse that, given the environment, but I managed to ask for the curry, and the AG got the beef stew. Serious surprise. There's a cup and a container of water, a small salad (lettuce, some veg, and fruit, all very fresh) with a tasty dressing. The main course is a very reasonably-sized (and very hot!!!) foil-sealed container. The curry (more a korma, really) turns out to be very tasty indeed, great flavours, and not spicily hot in the least (the AG doesn't do spicy-hot, and lots of other people are likewise disabled).

If you bought this as a frozen instant dinner in a supermarket you'd give it about an 80% overall approval mark; compared to normal airline food in 2010 it gets about 120%! It doesn't compare with my first time across the pond ("fish or steak, sir ... and how would you like you steak, sir", along with real metal steak knives), but that airline is no more, for obvious economic reasons, and steel knives are forbidden! For today, however, it's outstanding. The beef stew was, I am reliably informed, just as good. 

On the way back the overall treatment was the same, except that it was a choice of sweet-and-sour chicken (the AG claims it as very good) or "bangers and mash", which I chose. Ever the pessimist I was expecting a pair of ratty hot dogs, but receive three nice plump savoury sausages, a good helping of tasty mash, and a generous helping of onion gravy. Excellent flavour all through.

So, if you're flying the pond, my recommendation is to fly Virgin Atlantic. The prices are good and the service and food are way beyond what you'd expect these days.

[Food]
Go here! French food the easy way!

Another Version of Omlette
The Spawn wanted omlette and I was really dragging, so I chopped some spring onions (3 or 4, without most of the tails), and a good handful of sliced ham. We broke six eggs into a measuring jug, added the onion and ham, some salt and pepper, and summer savory.

We also added a couple of good handfuls of grated cheese, fresh from the freezer, and then took the stick blender and blendt the mix so well that it was entirely aerated, had turned somewhat greenish from the onions, and had about tripled in volume!

This made us two "omlettes", which were rather strange because they were really difficult to cook, 'cos the mix wouldn't flow around the pan when you pulled some back off the surface, as you do with a beaten egg mix. However, with perseverance we managed to persuade them to cook, and they turned out to be absolutely excellent on toast!

Fast Shepherd's Pie
Empty a can of diced tomatoes, some frozen green beans, and a heap each of frozen peas and corn into a big casserole dish. Fry an onion (or use onion powder, like I did, 'cos the onions were all eaten!) and mix in a pound of sausage meat (I used some "hot South Carolina" sausage) and a pound of ground beef. Cook until it's all brown and well cooked. and then add the solids to the casserole, reserving the liquid. Use Bisto (Wegman's or a British store near you) or equivalent with water to make a fair amount of gravy (at least a cup or two) in the frying pan, and add that to the casserole. Add three bay leaves and mix everything well.

Boil a kettle and make four servings of instant mash (Idahoan brand) - just follow the instructions on the tin. Smooth the spuds over the meat mix and then cook at about 350F for about 45 minutes. Serve. You'll get a very quiet table, I promise you!
TTFN

Found Food

I have published quite a few recipes here on my blog over the last few years, and I hope that all my readers have tried at least some of the...