Monday, December 26, 2011

Roast Stuffed Pork Loin

The title was a bit of a mouthful, but the results are a very nice mouthful. There's a lot of little bits in this, but, when you get to the end, it all comes out well and tastes great.








250g fresh spinach 6 smallish button mushrooms
1 dozen chestnuts 0.5lb sausage meat
1 tsp Mustard 1 tsp Mace
1 tsp Coriander a little Salt and some Pepper
2.5lb Pork Loin 2 tsp Bisto Gravy Powder
Cotton String
Red wine





  1. Measure out the spices and place them into a small frying pan for later
  2. Cut the stalks from the spinach and wash it. Chop it fairly finely.
  3. Peel the chestnuts - do it like this to avoid frustration and singed fingers!
    1. Cut crosses in the flat sides of the chestnuts
    2. Place them into boiling water for 3-4 minutes
    3. Remove the heat but leave the nuts in the water
    4. Two-by-two, take nuts from the water and cool a little under the tap
    5. Cut in four with a sharp knife, and extract the meat. 
    6. Blend/chop the nut meat - I used my Magic Bullet.
  4. Chop the mushrooms fairly finely - about a quarter-inch pieces
  5. Heat the spices in the pan on a low heat
  6. In a large mixing bowl, combine the spinach, spices, mushrooms, chestnuts, and sausage-meat
  7. With a good-sized fork, mash the parts together. You will probably end up with a mix that is way too dry, so add an egg or two until it binds together. This is the stuffing mix.
  8. Now take a sharp knife and cut the loin in two, length-ways. This should give you two fairly flat pieces of meat of the same length. In the US you often get a package that contains two parts already: in this case cut each part almost in half, so that it will lie flat
  9. Place one part of the meat flat and season it with a little salt and pepper, and some rosemary
  10. Put as much of the stuffing mix as will reasonably fit onto the meat
  11. Lay the second piece of meat on top
  12. Use the string to tie the whole thing together. You shouldn't need to go around more than five or six times at most
  13. If there's a lot of stuffing left, pin up one end with cocktail sticks and push more into the other end!
  14. Place the meat in a (non-stick if you can) roasting pan and cover over with foil. I put a cup of wine into the tray to keep the meat moist: don't bother if your meat is not sitting on the bottom of the pan
  15. Place in the oven:
    1. Start at about 450F for about 20 minutes
    2. Take it out, turn the meat over, recover and replace for another 15 minutes or so
    3. Measure the temperature - it'll probably be about 60C inside the meat
    4. Uncover the joint and raise the oven temperature to 500F or more for about 15 minutes. This will get the temperature up and also colour up the top of the joint for serving
  16. Once done, take from oven and let rest on the plate or block you'll use for carving for 10 minutes or so. It's still cooking at this point! Remember that you'll get liquid out of the joint, so be sure to use something that the juices won't simply run off of!
  17. Mix the Bisto powder with a cup of red wine to liquify it
  18. Take the roasting tray, add a cup or two of red wine and place on heat.  
  19. Use a spatula to scrape off the meat stuck to the bottom of the trat and break it up
  20. Add the Bisto mix, bring to the boil. Almost immediately it will start to thicken, so be ready to pour into a serving jug.
I served this with mashed potatoes and corn. Peas or beans would also contrast well with the flavour of the pork. It'll certainly feed four hungry people.





Enjoy your meal - we certainly did (that's why there aren't any pictures!!)!
Notice!! This is soon to be made again, so there should soon be pictures.

TTFN

Sunday, December 25, 2011

Stuffed Mushrooms

So, for lunch, there were Stuffed Mushrooms. I stopped in Wegman's yesterday for general "stuff", and saw some nice big Portabella mushrooms, so bought four. As it happened, I only needed three for lunch, but the stuffing for dinner will need some more.

I put the mushrooms on to fry very gently in butter, gills-down and stalk-removuff".ed. At the same time, with a little more butter, about a half onion and a good amount of garlic, both well chopped, to fry somewhat more savagely.

For the "stuffing", which it really isn't, 'cos Portabellas are too wide open to "stuff", take about a half of a pound of Jimmy Dean or Bob Evans sausage (or, if you're in Europe, minced pork), add about two teaspoonfuls of Herbes de Provence and some pepper. Mash out the meat with a fork, and then add in three eggs and keep mashing until well mixed. Now the mixture is made, start adding breadcrumbs until it all starts binding together. You need to get it to a consistency that is a little wetter than you would normally use for burgers.


Turn over the mushrooms!

By the time you're done with all this, the onion/garlic mixture should be ready to add to the meat mix, so do so. 


Let the mushrooms fry gently until they start getting softer (not mushy!!), and then, for each one, take some meat mix, put it into a small pan flatten it down to about 3/10th of an inch thick and fry it, flipping once or twice. When done, sprinkle Parmesan cheese generously onto the mushroom, pop the cooked meat onto the top, and serve.



TTFN

Another Year Older ..... and it's time to get cooking !

Yes, it's Christmas time again - that time of the year when I get older and decide not to cook for the next year. Then comes Christmas Day!

This year the daughter is returning to the fold for a few months, so there's been much moving of things from one room to others so she has somewhere to sleep, etc. What would be her room has been being used as a computer room - not something that will meet with much approval, I suspect, from tomorrow onwards!

Right now, in fact, the room looks more like Mission Control in Darmstadt than a bedroom, There are six screens in all - from a desktop, two laptops with extra screens, and an eeeBox. One of the laptops is my faithful Acer Aspire 9300 - a 17" Windows machine. The other is a new System-76 Bonobo machine - 17.3", 8 core Intel i7, 12 GB RAM, 1 Tb disk. It runs Ubuntu 10.10 and Windows in VirtualBox virtal machines. Life is turning out to be simpler this way, despite the normal hiccups of moving to a new OS.

Not, of course, that Ubuntu is really new to me - the eeeBox has been running 10.04 since it was released - early 2010, I suppose - with the NetBook GUI. Strangely enough, that's rather like the new Unity GUI that 11.10 comes with as default.It's a little bit of a pain atafirst to get used to, and also seems like a step back in time to be using more keyboard short-cuts, but I'm getting used to it. Slowly!

These two Linux machines really are a joy to work with. I run Windows virtually on the laptop because I keep my email in a program called TheBat! - a really good email client from RITLabs in, of all places, Moldova in Europe. As I have about 370,000 emails stashed in there, the store is really quite big, and I'm very happy with the way it all gets organised and kept. Very reliably, I might add! Unfortunately it only runs under Windows - I haven't been brave enough to try WINE!

Anyway, I also have a Windows desktop (under the desk), which I use without mouse, keyboard, or monitor - Vinagre remote control on the newer Linux machine or even in a virtual Windows machine inside the Linux machine will work fine. Only the RDP option works, which Ubuntu 10.04 doesn't have. Oh well - there are benefits to upgrades!

So, now I'm off to pick up some Windows PCs from a friend to disinfect, so the next blog will probably be full of stories of that.

TTFN

Friday, October 28, 2011

Emergency Food

Food is necessary for lots of reasons, but when the wife says "Feed Me" then you know you have to come up with the goods!

2 spoons chopped garlic11/2 onion, chopped
2 lbs ground beef1 lb mild sausage-meat
1 large can diced tomatoes
1 pack cooked sausages, chopped1 tsp fennel
1 tsp savory1 tsk bay, broken into small pieces

  • Fry the onions and garlic gently in some vegetable oil until they're just beginning to get translucent. 
  • Add all the herbs
  • Add the sausage-meat. Use a spoon to chop the sausage up into ever smaller pieces as it browns
  • Add the ground beef and brown it, breaking it apart as for the sausage
  • Add some salt and pepper - use your nose to smell the dish now for flavour
  • Once the meat is browned, add the sausage pieces and the tomatoes
  • Bring up to a boil and then simmer for maybe 20-30 minutes to let all the flavours infuse together
I served this with Rotini, and escaped with my life!

TTFN

Wednesday, October 19, 2011

Dennis Ritchie R.I.P.

Last Thursday the news broke that a retiree from Bell Labs in New Jersey, one Dennis Ritchie, had died at the age of 70. I had the great good fortune to meet him once, at a conference in the mid-1980s. I have to say that I was totally in awe of the man, while he made me feel quite normal as we chatted, discussed the lectures we had taken in, and our opinions of the subjects and presenters. As said of so many great men, he seems to have had the facility of putting others at ease with him, despite their initial apprehensions.

At the same time there was an outflowing of commentary on the fact that Steve Jobs had died.

If you feel that Steve Jobs was an important person in the realm of computing, I won't disagree with you. However, please follow this link and read the article about Dennis Ritchie.

You'll see that Apple's computing success (which enabled the company to survive long enough to introduce products such as the iPod and iPhone) is founded on two things - the Objective-C language for people to use to write programs for an Apple and UNIX (adapted into Apple's current line of operating systems). You'll also see that Dennis Ritchie created both of these !

Of course, there are many other companies that depend on these developments and inventions. Unless you use an operating system descended from IBM's OS-360 you are almost certainly using something which is directly or indirectly descended from UNIX. MS DOS, for example, from version 2.0 onwards, incorporated chunks of UNIX code in order to comply with DOD requirements. The computers in your car probably run Q-OS, also based on UNIX. The list covers almost every processor running code in the world today!

These things are what makes Dennis Ritchie one of those giants upon whose shoulders we stand (see Newton, 1676).

TTFN

Saturday, August 27, 2011

Food for a Hurricane

Hurricane Irene passed yesterday, bringing periodic rain, which was nice. Others will get it worse as it goes north. Cooking was needed and frozen chicken breasts were awaiting their fate, so the base was decided upon. Now, what to do to them? We had a tub of Ricotta Cheese in the fridge that we hadn't opened, and spinach, so I decided to stuff the breasts and serve them on rice.

What
Ingredients
1 lb ricotta cheese1/2 lb spinach leaves, lightly chopped
3 tsp chopped garlic1/2 onion, chopped
4 frozen chicken breasts (thick ones)1 pack of Wasa crispbread
2-4 bell peppers (depending on your taste), chopped1 bottle dryish white wine
1 lb pack of baconcocktail sticks
2 tsp dried thyme1 cup grated Parmesan cheese


How
  1. Start thawing the chicken, but intercept the process before it's completely finished, so that you can hold the breasts on edge without them flopping all over the place. Cut through the breasts parallel to the flat sides in order to "butterfly" them, so they will fold back like the cover of a book.
  2. Put some olive oil in a casserole (mine is from IKEA) large enough to take all four breasts and put on to medium heat. Add the garlic and about 1/4 of the onion and fry gently until the onion is soft.
  3. Raise the heat to medium-high, add the spinach, cover, and start stirring. Keep doing this until the leaves all turn dark green, are liberally covered with the garlic pieces, and are well wilted. Take it all out and let it cool off.
  4. In a bowl, mix the Ricotta, Parmesan, Thyme, and some salt and pepper (use a fork and be rough about it!!!)
  5. Add the cheese mix to the spinach mix and mix the two together well.
  6. One-by-one, lay down the breasts, put as much mix as you think they will hold onto them, fold them gently back together, and wrap them with rashers of bacon (probably 2 or 3 per breast. Secure with cocktail sticks.
  7. Spread the remaining cheese/spinach mix on pieces of crispbread to serve as nibbles.
  8. Put some olive oil into your casserole, bring it back to medium heat, and add the rest of the onion. Put a lid on and cook for a few minutes.
  9. Bring the heat to high and gently add the chicken breasts. It should take about 2 minutes for a side to brown, so brown each side.
  10. Once the chickens are browned, pour in the bottle of wine and add the peppers.
  11. Replace the lid and cook on medium for about 40 mins

I served it over basmati rice.
It has to be good hurricane food, 'cos we've blue skies and puffy white clouds today!
TTFN

Wednesday, August 10, 2011

Making Mistakes - T-SQL Tuesday 021

SQL Tuesday Wednesday
I'm a database developer and sometimes a DBA, as you'll probably have realised, despite the amount of food and yarn that appears on this blog! Like all developers, I've made mistakes. Like all honest developers, I try my best to admit them, learn from them, and move towards being a better developer.

A better consultant than I (or, at least, one better recognised as such!), Adam Machanic, has posted a challenge to those of us in the SQL Server community who claim to be honest. You can see it by clicking on the caption of the logo on the right (I can't make the logo itself a link, as it is really a link to the page itself!).

The challenge is to publish a blog  post today (Aug 10th, 2011) talking about the bad code we've written. The aim is to provide people with examples of what not to do.

null values
One new thing you learn when you start out with databases is the concept of "I don't know". Rather like the famous statement "there are things that we know we don't know, and there are things that we don't know we don't know" implies, these unknowns have to be treated with care. One learns to use tri-valued logic (True, False, null (or "I dunno!"), for example). One also learns that, because of nulls, there are sometimes queries where the sums don't always add up as you might expect. Here's an example.

You have a table to report from. You've made it by pulling data from tables supplied by colleagues from their parts of the system. One of the fields defines the type of an item - let's say possible values are Computer, Printer, Router, and Unknown. As this is just a temporary table you're got in memory to organise the data for reporting from, you've not bothered with any referential integrity ...

Computer        2706
Printer          522
Router            47
Unknown          174
--------        ----
Total           3449


So you create your report and all looks good, until you see that the sum of the items that you've produced doesn't match the total sum - in fact, it's 551 too small. The real error is not in the query here that outputs from a sproc for an SSRS report: it's in the underlying assumptions!

select Type, count(Type) as 'Quantity'
from @taReport
where Type is not null
group by Type
order by Type
The programmer didn't realise that sometimes the Type might be unknown, so added the where Type is not null clause quite reasonably to avoid the report row saying that there were zero entries with type "NULL" (and, anyway, that always showed a zero!).

Adding this line just before the select statement would convert the null values into Unknowns, which is really what they are!

update @taReport set Type = 'Unknown' where Type is null

The Unknowns number goes to 725 and the total to 4000, which is the correct total number of objects!

Moral of the Story: A database contains a representation of the real world. It isn't a complete representation, to be sure, but so far as it goes, it must be accurate and complete. In this case the programmer made an assumption about the data quality that wasn't warranted.

Obsolete Code
When one works with a database with some history, such as when one is hired into a company with an already-functioning system, it behooves one to enquire into the history of the system. In one project I was investigating the reasons behind the terrible performance of some queries. One reason that I found was the use of functions in the where clauses of these queries - a well-known bad practice. Investigating further, I found that the functions (there were two or three only, used in a number of places) were very simple, and easily replaced with an existing native function in SQL Server 2000.

It was only after I had tracked down and fixed these function calls that I had a chance to learn more about the system history. It had originally been written in Access only, and these functions didn't exist so had to be written by hand! When the database part of the system was moved to SQL Server the code was re-written, apparently without any concern for whether any pieces were actually necessary!

Moral: Think about what you're doing! you may be creating something totally unnecessarily!

TTFN

Saturday, August 06, 2011

A Colour Nook!!

The wonderful AG, the Keeper of the Books, allowed me to get a new eReader a couple of weeks ago to replace the Pocket PC (picture, right, from Wikipedia) I've had since about 2001. Don't get me wrong, now: the HP Jornada 568 has lasted a very long time for any piece of electronics, was relatively easy to program, has a nice clear screen for reading (a little small, I'll admit), and, recently, has been frequently the object of great curiosity from many people, asking if that was a prototype for a new Apple machine. To be honest, a piece of electronics that lasts 10 years of fairly continuous use definitely gets my respect.

Anyhow, it's coming to the end of its life, with the batteries starting to lose their ability to hold a decent charge and the beast as a whole becoming prone to testy reboots, so I finally decided that a new reader was needed. The problem was, as many have found, one of choice. Many people never moved to an eReader until Amazon introduced the Kindle, so their choice was easy, as they had no history of books to bring forward. I, on the other hand, have around 200 books in a variety of formats - .LIT, .EPB, .PDF, .CHM, .ePub, etc. - that I would really rather not buy all over again.

So, I looked around and found that the Nook Color is really a kind of mini-tablet, running Android 2.2. You could get an emulation on a PC in 2010, so I started playing with it there back then. I also started looking for ways of converting my eBooks (very few of which are Secure, or locked, luckily). I found a program called calibre, billing itself as an eBook manager program, that runs on Linux and Windows, and which will convert a number of formats into ePub, which is the Nook's "native" or preferred format.


Anyhow, I got my new toy a couple of weeks ago, and a few extras that I, for one, really consider necessary. These include a cover, of course, but one that can, as you can see, be used as a stand to hold the Nook at a convenient reading angle.

The next extra, equally important in the short term, but essential for the long term, is a supply of film screen covers to protect the capacitative screen from damage.

Finally, as I have used the small HP for some ten years and am totally accustomed to using a stylus to work the on-screen keyboard, a stylus. The one you see to the left is a rooCase, and comes in the form of a foam tip to an otherwise rather attractive ball-point.

So, it was a few days of play to explore the Nook, get used to expanding and shrinking the screen (annoying, that - web sites used to be written to self-adjust in the days of the old HP!). Anyway, it's certainly got some nice features. One thing I could do with is a set of smaller keys (as I'm not using my fat fingertips) with some extras, rather than having to continually hit an alt key to switch to another keyboard full of numbers and symbols. The text presentation is, on the whole, very good and at least the equal of that in the Microsoft Reader software on the Jornada, and the idea of swiping ones fingers on the screen to turn pages very quickly becomes natural. Then, after getting well stuck in to The Art of SQL, it was time to convert books from other formats. I can only say that calibre worked without any fuss or problems. It uses all the cpu power it can get its fingers on, and definitely isn't the fastest program on the planet, but the output (ePub in my case) is just as good as the originals that I fed it.  

Do I have any grouses about the Nook Color? Well, one or two. I'd like to be able to see the list of books that I have to select from in the equivalent of Windows Explorer's Detail view, instead of icons with only a quarter of the title in view. Of course, that may be possible - just a feature that I haven't found yet.
The other thing that surprised me to start with was the sheer weight of the thing! 654 grammes (with the cover that I bought), 1.44 pounds. Compared to the HP, which only weighed a few ounces, the Nook is a huge monster, and definitely takes getting used to - when reading in bed, for example.

Overall opinion: very favourable. I'd definitely recommend it to people with existing eBooks: ePub and PDF are readable immediately. I'm very happy, and can see the end of paper book purchases in this house looming closer.
TTFN

Saturday, July 16, 2011

New Foods ..... New Technologies

We went off to the H&L Food Store on Rivers Avenue in Charleston today. Very much the usual Asian food supermarket, except rather larger than most on the east coast. We cruised up and down the aisles, wondering what we could send to the far-flung DD ... some sweet things here, maybe some dried squid there ... (well, maybe not!). Certainly not the whole dried Croaker, neatly packaged, very flat, and staring beadily back at the prospective customer with a fixed and glazed stare.That would certainly freak granny out! Then there were lots of green teas in different packages for great-gran, Thai curry paste and ginger sweets for me, and some nice tea for the AG. Peas for the Offspring. Looks like there'll be a box heading out west very soon!

The AG rather liked that grooving on this little 85-cent can of peas, so we got it .... but it says "Dry Peas" on the outside, and, when I shake it, it definitely has water inside. Should they be "Self-Dry Peas"?

Food
So, it'll be stir-fry tonight, methinks. We have rice in the fridge from a few days ago, which is good, as it'll be dried out and not too wet to be fried. Chopped Kielbasa (thin medallions quartered) and maybe some other meats. Celery, mushrooms, some cooked carrots, and red bell peppers, all chopped and cooked a bit. I'll beat some eggs and then cook them in the wok to get a kind of scrambled egg, and then add the rice. After that the warmed meat and veggies go in to get properly hot before serving.

Tech
Finishing a revision go-through of LearnDevNow's SSRS 2008 course, before working therough The Art Of SQL Report Writing on Aranya's site (see Tech List on sidebar). I'm looking towards taking PragmaticWork's SSAS course as soon as I can, as I can see a need for it coming soon.

Home
It's been rather nice, living down here in Charleston for a while, so it's a shame that it may be ending soon. We've really been enjoying late-night swims together, without all the kids and without the glaring sunshine. We'll see what the future brings. Fun, hopefully, and enjoyment.
TTFN

Tuesday, July 12, 2011

An Example of Computer Evolution

I'm writing this on a laptop with a 17" screen, an attached 19" monitor, 4 GB of RAM, about 300 GB of disk space (mostly used, unfortunately), a couple of terabyte drives attached, and a 2 GHz AMD processor. Fairly normal, you might think, except that this PC was bought in 2006, making it five year old! Not surprisingly, it runs Windows XP.

The other day I downloaded a small piece of software in order to do some work, and was cautioned that the software required that my PC should have the following minimum assets:

The following minimum computer hardware and software requirements must be
met in order to access or retrieve the materials herein: IBM
compatible or Macintosh personal computer system with internet connectivity;
available hard disk drive space of at least 50 kb; a computer pointing device,
such as a mouse; 128-bit SSL (Secure Socket Layer) compatible browser, such as
Netscape 4.0 or Internet Explorer 4.0, or higher; Adobe Acrobat® Reader ® 5.0,
computer monitor capable of displaying internet web pages and graphics;
graphical user interface operating system, such as Windows 95, OS8 or later.


Seeing as I was actually viewing the requirements on an internet site, the requirements for internet connectivity and monitor capabilities seemed a little redundant. However, I find that I have forgotten how long ago it is that a PC would function with less free disk space than 50 kilobytes! Certainly well before 1996 and the advent of the Web for most people!

Still, it all worked flawlessly, which just goes to show you how well Sir Tim and his colleagues at CERN designed the Web in the first place.

TTFN

Sunday, July 10, 2011

Oops

I generally a clumsy oaf in many things - like steaming three fingers while cooking this evening!
Oops.

sometimes you just can't believe
how well you can be treated
we're told "forgive others" but that's
been difficult since we were created

I forget the timezone and ring too soon
I'm a klutz and drop the china on the floor
I misspell your town's name
and spill chocolate down your pure white blouse !

somehow you know that it isn't intended
that forgetting anniversaries is just how I am
your speciality seems to be forgiving me
which just helps me love you more
TTFN

Wednesday, July 06, 2011

From BJs to Costco

For the last few years we've been BJ's customers and very happy ones too. However, our nearest BJ's is now a couple of hundred miles away, so the question was: who now? Here's a few things we've found at Costco here in Charleston that are nice:
  • A cool room where all the berries and pre-packed fruit and veggies are kept.
  • A huge pile of Canon EOS Rebel T2i cameras (18 MPxl) at $800.
  • Single-unit Magic Bullets at $45 (with at least six mugs). Ours is still in NJ, but all the mugs will interchange.
  • Interesting and nice specialty breads - like cheese bread and various herb breads.
  • A good selection of frozen foods (I didn't find the 3-packs of peas and corn that BJ's has, but I haven't explored everywhere yet!).
  • A good variety of fresh food - fruit, veggies and meat - all well-kept (except for one occasion where the bottom layer of boxes of bananas pretty much dissolved and when someone got to them ... well, they still smelled nice, but were just about liquid!
There's a Sams Club that's nearer, but not nearly as good for fresh food. It has a lot of pre-packaged things - far more as a percentage than Costco.

The local Walmart (almost a mile away) has good fresh food too. On the other hand, I've been to a couple of the local store chain, Piggly Wiggly, and will definitely leave it!

TTFN

Saturday, July 02, 2011

A Phishing Email I Just Had To Share!

Welcome again from South Carolina! We're settling in to life here - a routine of getting up, having breakfast, going to work, coming home, eating a snack for dinner, going for a swim at 10 pm, and then sleeping the night away. Not such a terrible life. Work isn't too terrible either - after over three weeks of very compressed and rushed training (which is an unheard of luxury for someone on contract but which, in this case, was absolutely necessary) I find that I, at least, appear to be making some positive contributions to the project I'm assigned to, and am actually having my efforts recognised and appreciated. How nice!!!

That Spam
Anyhow, to the subject. I got this email this morning - twice!

ANTI TERRORIST & MONITORY CRIME DIVISION
FBI HEADQUARTERS IN WASHINGTON , D.C.
FEDERAL BUREAU OF INVESTIGATION
J. EDGAR HOOVER BUILDING
935 PENNSYLVANIA AVENUE, NW WASHINGTON , D.C. 20535-0001
www.fbi.gov

Dear Fund Beneficiary,

Some time ago, your friends from Africa and London, I mean the people that introduced you to the project approached you and requested you assist them conclude a money transfer deal they had with you, they requested you to assist them by removing the original contractors name, from the bank vetting computer and replacing them with your name and your details in order to make you appear as the rightful beneficiary of this funds. You agreed and they said you will share the money with them as soon as your name appears as the beneficiary.


So this is just a clue to show you that we are investigative and have all details to persecute you, but we shall give you the opportunity to receive the funds and make it clean, since it is coming into our dear country, but if you do not co-operate then we shall take negative actions.

Maybe you think, that we are joking , but by the time we start taking actions you would know how serious we are, you do not have his document in your files, if you did the account would not have been freezed. We did not believe this at first , but when we saw the wire we had no option than to contact you. It has come to the attention of our Money Trafficking investigation department, that you have some funds valued at U.S $8.3Million to your name , The said payment is awaiting adjudication and credited to your name this funds are from Inheritance 'willed 'to you from Nigeria C.B.N precisely and bank in London With full concern of The F.B.I and the Internal Revenue Service(IRS) 
You are under an observational /Investigation in connection with money laundering.
If your funds comes from a legitimate and legal source ,the proper guidelines for you to recover the right of transaction is for you to provide the DIPLOMATIC IMMUNITY SEAL OF TRANSFER (DIST) so that your funds will be legally processed and recorded and accounted for and then finally released to you .

FEDERAL BUREAU OF INVESTIGATION (ANTI-TERRORIST AND MONEY LAUNDERING DEPARTMENT )Is Here to wipe out terrorism , and will stop at no length in doing our duty for the American people .

You have 48 hours to produce legal proof of the below frozen wired transaction number coded:3456711 owned by you , You do not have any rights to receive this funds if the documented legal wire information is not complete. The very heart of FBI operations lies in our investigations--which serve, as our mission states, 'toprotect and defend the United States against terrorist and foreign intelligence threats and to enforce the criminal laws of the United States.' We currently have jurisdiction over violations of more than 200 categories of federal law. So you can see that the we can track you down through Investigative programes.We have your address an

Note ,the funds are very legal and from a good source, so as a matter of National interest you have to provide the documents to certify the money as clean funds. The funds are in the Citibank New York right now, and will be released to you as soon as this document is procured, even if you do not want the funds you still have to obtain the documents to clear your name as, the funds are already here, so the decision is yours. If you have the document then forward it to us immediately, if you do not have the documents then contact us immediately so that we can advice you on what it will take and where to obtain the documents.

Note: that you have just 48 hours to complete this process of national interest.

NOTE: If you failure to produce the above requirement in the next 48 hours, legal action will be taken immediately from our office
 
Sincerely,
 
Yours In Service.


Agent Shawn Henry,
Assistant Director, FBI Cyber Division.
Email : fbiofffice1@qatar.io


CONFIDENTIAL NOTICE:This E-MAIL may contain information that is privileged, confidential, and exempt from disclosure under applicable law. If you are not the intended recipient, any dissemination, distribution, copying, or use of this document is strictly prohibited. If you have received this communication in error, please notify us by email at the E-MAlL listed above to arrange for the destruction or return of the original document to us. Thank you
© 2011 Federal Bureau Of Investigations All Rights Reserved


As you can imagine, I was somewhat amused. I get rather a lot of spam - currently about 60 messages per day that I am aware of, although it has been as low as 20 and as high as 120 over the last few years - and it's quite rare that something like this gets through the spam filters that my email provider has in place, so I thought I'd share it with you. Be amused, but please don't get taken in by this sort of thing when it lands in your inbox!

That's it. Have a good holiday weekend.
TTFN

Sunday, June 05, 2011

A Very Brief Message

We've moved! From New Jersey all the way to Hanahan, just outside Charleston, in South Carolina. It seems nice so far ... quiet development, nice people, friendly wildlife (birds, squirrels, alligators), although we'll refrain from swimming in their reservoir if they refrain from coming inside snap-range! The weather is nice too (sunny - what else, it's summer!), although that may end up being too much of a good thing later on. The first truck is about 3/4ers unpacked, and we'll be going back in a month or so to get the rest.

The To-Do list at the moment includes things like "Finish clearing truck", "Construct bed", "Get living area planned", and "Find whatever we need in the boxes" (of which there seem to be many more that I remember filling in NJ. Do they multiply under the conditions in moving (repeated vibrations, being hot, being close together, being unobserved) ?

More when I unearth a camera!

TTFN

Sunday, May 08, 2011

Maryland Sheep and Wool, 2011

This last week has been an utter killer in many ways, so the opportunity to walk in the fresh air and sunshine and look at beautiful colours was especially welcome. Therefore, the first weekend in May has been very welcome, as with it comes the annual Maryland Sheep and Wool Festival. Like last year, I've posted all the raw photos up on PhotoBucket, here. Please accept my apologies that some haven't been rotated, and others look a little weird (they're raw photos for panoramas that I hope I'll get up here very soon).

Anyhow, we got in around 7 am after a surprisingly early night, and went straight to the main barn and the Clover Hill store, as the AG needed to get some Three Irish Girls mini-skeins for a friend, and some of their full skeins for herself. In fact, we left leaving it all behind, because their card processing system wasn't up yet ..... but we got the yarn!




Next on the list was The Fold.
The Fold seems to be one of The Mystical Places for knitters visiting this festival. There is always a long line (about 50 people!) waiting for opening time, many with long shopping lists and the hope of getting maybe one or two items from their lists.

They have one of the best organised check-out systems in the whole event (and they need it!), and they're still backlogged half the time, trying to get people paid and away!







Meantime, the queue for the merchandise (t-shirts, etc., was reaching epic proportions!










Oh who would think a girl and lamb would be well accepted everywhere (ref Harry Nilsson & Simon Smith).


One can always be happily surprised at things you find at the Faire.


And we made it past all the crowds to Tess Designs, to find it utterly mobbed!

Of course, this is perfectly natural (I'm in love with her colours just like the AG is in love with the Three Irish Girls colourways).




















 No Yarn Event is complete without Sheep Incognito!




And so to lunch (Lamburger courtesy of the scouts) and to the car to rest.
More later
TTFN

Friday, April 29, 2011

Food (again !)

I always keep a couple of food-saver boxes of something like chilli or stew in the freezer, in case of emergencies (like sloth in the kitchen!). For other emergencies I also like to keep some sort of microwavable food there too. If you've read the Food parts of this blog you'll have realised that I don't really "do" microwave cooking, but they're handy for when you're in panic-mode, or need to make melted butter immediately.

A few weeks ago I was out shopping in, I think, Trader Joe's, and saw this. Curious (I know and love the dish) I grabbed a box and put it into the fridge.
Tonight I tried it, fearing the worst! The worst, however, was not to be. It was perfectly palatable, had a good taste and texture, and left a nice, fragrant aftertaste when all was done. It was not at all spicy-hot, probably as a nod to the innocent taste-buds of the American public, but then, Muttar Paneer isn't really supposed to be a hot dish.


So, what's the verdict? I'll go back and get another to put in the freezer for when I'm feeling lazy and hungry. It isn't particularly big, but the taste is definitely better than most of the frozen meals out there.

TTFN

Sunday, April 24, 2011

Searching for an Answer

Wow!! Another month without a blog post! The work project came to the end of a cycle and, of course, there were lots of last-minute things to do, corrections to make and pieces to add. I've been hitting the sack every night totally beat! However, there are some things to talk about, that could help!

Taking On New Responsibilities
About three weeks ago our project DBA moved on suddenly to another post - and, at the same moment, took a well-deserved two-week vacation. He'd been filling in for a colleague for some weeks prior to that. So, I realised, coming in on a Monday morning, that I was now the project DBA as well as the project database developer. Great! - nothing like a Monday morning for news like that. It makes you understand the feelings behind the girl whose excuse for shooting people was just "I don't like Mondays"!

Anyway, I did a quick check of the system and all seemed fine, until I got to the Job Log and spotted a couple of red "X" marks - one I knew about, as it was a job I'd run a few weeks ago and which had failed, but I had fixed it and never bothered to delete it (sloppy, I know!). However, the other one was the weekly full backup from the previous Monday night. This meant that we had been running on nightly differentials for almost two weeks. Eeek!

On investigation I discovered that it was only a couple of databases that were a problem (out of about a dozen), but that backing up had failed for lack of available disk space. And the next full backup was due to run that Monday night! Not only that, but I was running some SQL right then that was fairly eating up what space there was by growing the transaction log like a B-movie monster!

As you can imagine, there was a certain amount of panic and feverish work going on to clear enough space for the log and the next backup (moving old backup files to another disk drive) before the more measured approach took hold, and I realised that all the backups were being done from SQL Server 2005, and so weren't being compressed. Zipping them up in blocks (a full and all the subsequent diffs before the next full) got us about a quarter of the hard drive back that day, and about another quarter over the next few days. I'm now waiting for provision of a DVD burner and a spindle of discs in order to get the data off-machine.

My good fortune was that this is, really, just a development machine, and a lot of the data just doesn't change very much. Had it been a production server with a lot of users the problem would have been much more pressing.

Moral: Always check the job log, and always check where your disk space is going - it's fairly simple to fix, but big-time bad if you miss it!

No Easy Way

The other day I was handed a new request: just some ETL to .CSV files, one per department, but it'll need to happen repeatedly. Ok: some stored procedures to get the data (it's not a particularly simple extract, so easier that way than with straight SSIS transformations), and then SSIS to get it out to the file system.

My sprocs worked pretty well - I provided an input parameter of the department number and got the data into a table named with the dept number. Great! Now the SSIS. I can use a ForEach block in the control flow to run the sproc and then have the data flow pick up the info from the appropriate table and drop it into the correctly-named .csv file.

So, I set up the ForEach block with a counter (1 to 16, as it happens), and pass that in to the SQL string invoking the sproc in an ExecuteSQL block. Great!

In the Data Flow I create everything for department 1, test it, and then set up the connection string of the FileDestination to be determined by an expression including the number from the ForEach block (in a variable declared outside the block). Doing conversions and other things at the same time in the expression editor is a nuisance, so I used a neat SSIS trick - making a variable's value a function of the value of another variable.

What I did was have an int variable for the loop counter, and a string variable for concatenation. The string variable is defined as  
(D_STR)[User::intLoopCtr]
so it's always the right value. Then, for making names, I have the template (disk & path) stored in another string variable in order to make for easy changes. Creating the file name is simply concatenation.

Now for the DataSource - the table filled by the sproc. Arrrrgh! You can't make the source table a dynamic entry, as there isn't an Expressions entry in the properties list! Time to sit back and think.

After a few minutes hard thinking, lunch, and a few more minutes hard thinking, I decided to follow Rule Two of Mike's Three Rules of Programming: "If it's getting really hard, then you're doing it the wrong way".

Instead of making the sproc generate a new table automatically, let me tell it what name to use. So I change the sproc, adding a new parameter and changing some code.

Now all I have to do is tell the sproc the number and the file name, and keep the file name always the same. That's all just a matter of concatenating some strings ("exec sproc ", the string version of the counter, and the constant table name) and using it in the ExecuteSQL task. The DataSource can now always look to the same table, so it's happy, and the whole thing works like magic. That's the way I like to leave things on a Friday night. Doesn't always work out like that, but you've gotta try!

Moral: Always be ready to go back and alter your design - you never know when what you didn't think of at the beginning will get in the way later on.

Training
There's no knitting pictures and no food stuff this post (sorry!). I'm writing this at 3.30 am because I couldn't sleep (I crashed at five for about four hours!), and I've been watching SSWUG's DBCon videos. It was on for the last three days but, of course, I had to be in work, beavering away for the good of the company. So, the wonderful thing is that all the sessions (77 in all, including things like opening remarks and keynotes) are available for on-demand viewing.

That means that, although I knew I wouldn't be able to watch them live, with the ability to chat to other viewers in real-time, and ask questions, I do have the opportunity of seeing all these great presentations when I can get an hour or so to myself. In fact, I have until June to watch them, and I can watch each one up to six times! How cool is that? I can watch them in the order I want to, so, for example, I just watched Chris Shaw's Growth Pains, about what happens in IT when companies grow. This was just part one of three, so I'll look at the other two tomorrow before going on to other things. My next target will be the PowerShell sessions, and there's another one called Agile for DBAs and Developers that looks really interesting ...

Obviously it's too late to watch it live (it finished on Friday), but you may be able to buy the DVD of the conference from SSWUG (they are available for people who paid for the conference, so ...). I don't know this for sure, though, but they would certainly be worth it!

In fact, with all the stuff it produces, membership of SSWUG is an amazing deal! Thanks to Stephen Wynkoop and all the people there for making so much valuable info so easily available.

Happy Easter everyone!

TTFN

Sunday, March 20, 2011

Porc Provençal

My son finally cooked off his first full meal - rather than being my sous-chef. No photos, I'm afraid, but tasty all the same. Taken from Rosemary Moon's 1995 book Classic French Cuisine (0 8317 1121 3), from which I have garnered many fine ideas and produced many a fine meal.
He used 3lb of sliced pork boneless chops, 1/4lb of butter, 4 cups of sliced onions, a large teaspoon of Herbes de Provence, 2lbs of sliced potatoes, and a 28oz can of diced tomatoes.
He browned the pork in half the butter (there were twelve slices, so quite a lot of taking and putting happened here!) and set it by. Then he browned the onions in the same butter before adding in the herbs, tomatoes, salt, and pepper. This mixture, was brought to a boil and reduced a bit before we filled a casserole with layers of vegetable, pork, and potato. Finally, it was cooked for 90 mins covered and then 30 more uncovered before serving.
Here's to Chez Mon Fils!
TTFN

Friday, March 18, 2011

Stuffed Mushrooms


  
I was late home this evening - not a healthy thing to do when your wife's hungry! 
Not only that, but I had to get on the phone and deal with things before starting to cook. By the time I actually started, we'd both snacked enough that the edges were off our appetites, so we remembered that we had mushrooms in the fridge, so why not that!
Ingredients:
1 stick of butter                    20 mushrooms, stalks removed
1 egg                                   2 slices of bread, crusts removed
1 tblsp vegetable oil             2 tsp Herbes de Provence
3 clove garlic, chopped (I used 2 tsp of pre-chopped)
salt & pepper                      grated Parmesan cheese
You'll need just a frying pan and a small mixing bowl - and a safe source of flame. I used a gas candle lighter. A spatula and a pair of tongs comes in very handy!
Method:
  1. Tear up the bread, add the oil, Herbes, garlic, some salt and pepper, and the egg. Mash all this up well and you should get a fairly loose paste.
  2. Take the stalks out of the mushrooms and fill the resulting holes with the mixture - don't heap is, because you're going for taste, not quantity.
  3.  Melt half the butter gently in a pan. Once melted, add ten mushrooms and leave for about five minutes. By this time the mushrooms should be hard on top, still, but lightly-browned on the bottoms.
  4. Flip all the mushrooms and cook for a couple more minutes, on a higher heat. This will cook the egg, which will expand, forcing the mix further into the mushroom.
  5. Take out the mushrooms and arrange on a plate. Sprinkle each with Parmesan cheese.
  6. Go over the top of each mushroom with the flame, browning the cheese.
The ten should be enough for two people: for another two, repeat the process, but add about a quarter stick of butter, as it'll be getting "used" as well as absorbed by the mushrooms.

Enjoy your meal! We did!
TTFN

Sunday, February 06, 2011

PhotoShoot Catchup

The last few blogs have been totally text, which can be a little boring. Now I hope to make some amends! Also, I promise to add pictures of food in future - and maybe edit old posts to include photos of the food as I re-make them. Ok, now you know one of my New Year's Resolutions!

So, to start off withm here's some yarn that's waiting for the AG to come back and see to.

Three Irish Girls produced the first three: Maeve to the left, Don't Sit Under The Apple Tree to the right, and Maureen below,


Left are two balls of Pretty Pirate from The Yarn Pirate: on the right is the AG sitting in the only chair in the house, with knitting and PB to the fore.
In Pery's Hotel in Limerick they're mirrored the lift - a surprise!



On the N18 between Shannon airport and Limerick you pass a castle ... nothing unusual, in a country where anyone who wanted to see their children grow up lived in something like this (not so big, maybe, but anyway ...). 
Bunratty it is (left) and it offers special period evening dinners (somewhat better than Medieval Times, possibly because of the setting).
In the village you find Durty Nellie's pub and (especially for the AG), Blarney Woollen Mills (although Blarney Castle is over 100 kilometres away, in Co. Cork, not here in Co. Clare!

Left is the bar, and right the safety features (or the escape-prevention features, although with the food and drink on offer it's more likely needed to keep people out!

 TTFN

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

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...