Category Archives: Uncategorized

Gobble Bog

Note: This entry has been restored from old archives.

One difference between Sydney and England is that you’ll find a lot of turkey in the supermarket here; whole turkeys, turkey breasts, turkey escallops , turkey drumsticks, and turkey mince… the list goes on. By comparison turkey is rather rare in Australia, I wonder why. As a result I’ve never really thought of cooking it much – in my mind turkey is one those things that traditionalists had for Christmas dinner (I don’t recall having it myself, but we probably did one Xmas or another).

It turns out that turkey actually makes for a decent meal, it has a distinctive and pleasant taste. What’s more it can be very low in fat (lean breast) and high in protein, it also contains a smattering of beneficial vitamins and minerals. Turkey mince tends to have a similar fat content to beef mince because it usually has skin/fat minced in with it, but good turkey breast mince will have less fat than typical lean beef mince. It is mince I’m working with today (2006-11-19), I decided to try a bolognaise style pasta sauce using turkey mince (those who know my various renditions of bolognaise will recognise that this is a pretty broad “style” in my world of bog).

So, without further adieu, here’s the ingredients:

All fine chopped:

  • 2 – Medium Brown Onions
  • 1 – Red Pepper
  • 5 – Medium Chestnut Mushrooms
  • 3 – Small Carrots
  • 2 – Sticks of Celery
  • 4 – Cloves of Garlic
  • 2 – Small Hot Chilies

The rest:

  • 500g – Turkey Mince
  • 1 tbsp – Light Olive Oil
  • 1 tbsp – Dried Oregano
  • 2 stars – Star Anise
  • 1 tbsp – Plain Flour
  • 1 tsp – Ground Cinnamon
  • 1 tsp – Ground Coriander Seed
  • ½ cup – Dry Wine
  • 2 tins – Chopped Tomato (Organic if you can get it)
  • 1 litre – Beef Stock

Seasoning:

  • 4 tbsp – Fine Chopped Parsley
  • Pecorino Romano (or similar)
  • Extra Virgin Olive Oil
  • Salt/Pepper

Heat the oil in a decent sized saucepan (about 28cm wide by 28cm high in my case), when hot put in the turkey mince a bit at a time to break it up. Cook this on high heat until dry and browning, it’ll take a while to evaporate out the water content. When slightly browned add the wine and dry herbs and spices, again cook this until the liquid is evaporated.

When all excess liquid is evaporated add in the chopped onion, garlic and chillies. Cook until onion becomes translucent then put in the rest of the vegetables. Cook this, tossing often, for about 5 minutes.

Sprinkle on the flour (this works as a thickening agent) and toss through the mixture then add the tinned tomato and stock. Amount of stock may need adjusting, the liquid should cover about an inch over the settled solids. Mix well and reduce heat so that the liquid is just simmering, let simmer in this way for about an hour – stirring every now and again.

When the hour is up take off the heat and boil an appropriate amount of spaghetti (we used a very nice wholemeal spaghetti). Stir most of the fine chopped parsley into the bolognaise and serve on top of spaghetti, sprinkle with remaining chopped parsley, freshly grate some percoino romano over it, grind on some black pepper and drizzle with some good extra virgin olive oil.

Gobble gobble gobble!

This recipe created us two large sized serves with two more in the fridge for another day.

Just Like Uni

Note: This entry has been restored from old archives.

My lordy, it’s just like Uni message boards 🙂 And as usual Sam knows more.

At this time of the night after getting back from the local I’m not going to try to better any of that, and since it’s Sam it is probably foolish to try. Some points didn’t happen to apply to my “just now”, it’s is lucky my filenames had the decency to not contain spaces. Learnt something new about awk there, I fear my main weakness is sticking to the little I know until told off and given a better alternative! As for fmt, I didn’t know of an autoconf macro for getting to the thing (maybe it is so ubiquitous I shouldn’t need one), awk seems to be the defacto standard but these days bombing countries to death and sending in troops seems to be the defacto standard for making the world a better place, and nobody in their right mind actually thinks autoconf doesn’t kill puppies in its spare time.

Peter Weinberger? I never said he was the one I didn’t recognise! Sounds like a sausage in a bun to me… and means about as much 😉 sam I am… not, actually, but Sam is so that’s okay I guess.

Shell scriptsi/aliases that do the job are so good, they save my poor old fingers, mine’s strangely called count and will soon probably be called add for both it’s accuracy and finger saving properties (I also have a count.pl that strangely does something completely different).

So much to learn…

awk awk awk!

Note: This entry has been restored from old archives.

I use awk a lot in my day to day work.

Just now: Do a subversion move of all files in the cwd to uppercase file names (I’m not going to explain why):

ls | awk '{u=toupper($1);if(u!=$1){system("svn move "$1" "u);}}'

And regularly I do things like: Get average size of files in a corpus:

find ./corpus/ -type f -exec stat {} ; 
        | grep 'Size:' 
        | awk '{c+=1;d+=$2}END{print d/c/1024 " kB"}'

Does it ever annoy you that grep doesn’t offer a total sum of matching lines?

grep -rihc 'foo' ./corpus/ | awk '{c+=$1}END{print c}'

Or that cut is only really useful with single char delimiters? The default awk delimiter is s+, so the second example above works as expected (and you can override the field separator with -F, even with simple regular expressions).

I’ve written some largish bits of code in awk before, it isn’t that far off using the likes of perl, but I’d generally recommend using more modern options for larger scripts[1] A sample of something I did in a fit of taking cross-platform too far[2] was to create an autoconf macro around this little monkey:

echo "The rabbit-hole went straight on like a 
tunnel for some way, and then dipped suddenly 
down, so suddenly that Alice had not a moment 
to think about stopping herself before she found 
herself falling down a very deep well." 
| awk -v width=50 -v pre='* ' '
BEGIN{
    line=pre;
}
{
    for (i = 1; i <= NF; i++)
    {
        if (length(line)+length($i) > width)
        {
            print line;
            line=pre;
        }
        line=line$i" "
    }
}
END{
    print line;
}'

I’ve modified it to make it into a hideous one-liner. In the original form it is an autoconf macro where the echoed string, the “pre” and the “width” are arguments. All to make failure messages that little bit neater.

What exactly does it do? Wraps a single line of text to a given width with a given prefix (in the process turning lumps of whitespace into single spaces), in this case the output is:

* The rabbit-hole went straight on like a tunnel 
* for some way, and then dipped suddenly down, so 
* suddenly that Alice had not a moment to think 
* about stopping herself before she found herself 
* falling down a very deep well.

Thank you awk (in fact in my particular case I should thank mawk).

There are plently of awk examples and docs out there.


[1] I don’t mean to slight awk too much, it is a complete programming language and is quite easy to work with. It’s been around since 1977 and was designed and written by Alfred Aho, Peter Weinberger and Brian Kernighan (you should recognise at least two of those names!).

[2] You never know, there might be a system out there somewhere without perl installed. The project only compiles on Linux? Hrm, but we have to be prepared for the future!

Flashy Shite

Note: This entry has been restored from old archives.

For a long time the good old Flashplayer plugin for Mozilla/Firefox has served me well, but don’t get me wrong: I hate flash as much as the next hippy. Recently I have found that more and more flash doesn’t work, it kind of works but important elements such as text are missing. The other thing that has pissed me off no end is all these sites that have embedded audio using flash and flash somehow bypasses the normal Linux volume control so I have to reach to the speakers to adjust the volume.

A solution to my flashy woes has been found though, the monkeys over at Adobe have a beta of Flash Player 9 for Linux. Better evil proprietary Internet for my browser, yay!

I do so wish the world would get over the stinking pile of turd that is “flash”, but with the current population explosion of horrid flash video and audio I doubt we’ll ever see the end of it.

Firefreeze

Note: This entry has been restored from old archives.

My recent experiences with Firefox 2.0 are less than ideal, I’m not using the latest release I’m using the version in Ubuntu’s Edgy. I’ve been checking apt for updates since upgrading and have been disappointed so far (I’d really prefer not to have to go outside the distro, going down that path one may as well roll-their-own).

My Firefox 2.0 keeps freezing, maybe it is one of my plugins doing the evil? I have no way of knowing… this is most upsetting. I got used to a Firefox that didn’t crash several times a day (unless you used a Java plugin in which case you’re on your own against some bodgey Java developer) sure it used huge wads of memory and strange amounts of CPU but I can live with that if it doesn’t bloody crash.

Server Upgrade

Note: This entry has been restored from old archives.

Finally we have upgraded from an underpowered little VPS to a real piece of HW with the additional bonus of lower ping times. We have a “km1000” from KeyWeb.de (which I notice is already out of date, it’s a pity that the slightly cheaper km800 wasn’t available a month ago!), essentially the specs are 2.66 GHz P4 with 0.5GB of RAM and the difference in usability between this and the old VPS is huge.

Generally I suspect our problems with the JVDs VPS may have been related to them packing more VPSes onto one system; this probably happened as soon as they were bought out by a larger company a while back.

The changeover has also given me a chance to do a few nice things I’ve wanted to get around to for a while, like setting up services such as Apache and bind in chroots. Itemising the improvements:

  • VPS -> BigIron
  • 128MB RAM -> 512 MB
  • 3 GB Disc (200MB free) -> 73 GB (65 GB free!)
  • who knows shared CPU -> 2.66 GHz
  • 90ms ping -> 35 ms ping (joy!)

The RAM is one of the more important bits and that’s just because of bloody spam, our spam filtering is easily the most memory hungry thing we run and along with all the other services we were right at the 128MB limit on the VPS and wanted to push more features into anti-spam but couldn’t (and doubling the RAM on the VPS would have more than doubled the cost!). The dedicated machine is a lot more expensive than the VPS. The JVDs VPS was 20 USD per month, this server is something like 50 EUR a month – around 65 USD but that’s not too bad considering most US offerings are pegged at 99 USD and UK offerings are around 50 GBP.

Good stuff.

vim and :g

Note: This entry has been restored from old archives.

So many things, like vim, are a land of constant discovery. Just now I have devised:

:g/$/exec "s/$/!".line(".")."|"

What it does is append to every line the string ! | – which will look absurd to most people, but it is incredibly useful for me. There are probably a billion other ways to do the same thing…

Munged from an example on vim.org that inserts line numbers at the start of the line:

:g/^/exec "s/^/".strpart(line(".")."    ",0,4)

The Neal Street Restaurant

Note: This entry has been restored from old archives.

Fungo! Fungo!

[Update, November 2007: It saddens me to have to report that a few months back The Neal Street Restaurant closed becuase the building lease ran out. I hope they choose to open a new restaurant somewhere else in the future, but opening a restaurant is such an extreme effort that I’m not going to hold my hopes close to my heart.]

When I was younger I watched Antonio Carluccio’s Italian Feast on SBS, not unsurprising television in a family with chefs for parents. It was an excellent programme, Antonio wandering Italy introducing us to everything Italian – much like a grown up offering of Jamie Oliver’s more recent Italian gallivanting. I have read about Antonio’s restaurant in London and while he isn’t actually the chef there I assumed he would have a very good choice of chef (and probably a lot of creative input I’d like to believe). So since moving here it has been my intention to visit; although with some apprehension since it is taking a while to come to terms with the cost (when converted to AUD) of eating out here in the UK.

This week the opportunity arose, to make up for a week long business trip to Germany I had a long weekend with Kathlene and on Monday finally bit the bullet and went to the Neal Street Restaurant. I’m glad to say that it was worth every £ – all 145 of them (everything described below plus two glasses of good red, two bottles of mineral water and 12.5% “discretionary service”). This is a place you go to only if you consider food to be one of life’s most important little features, or if you’re simply a rich bastard.

I’ll start with the coffee, since it is expected of me. Coffee was the last thing we had that evening and unsurprisingly they knew exactly what a ristretto was and didn’t ask me to repeat it or if I was sure (or my favourite and the most common response: tell me that I mean espresso; gah). The coffee was excellent, the only complaint being that it was too long, the typical ristrettos I’ve had in Rome mirror more what I’m used to getting at Toby’s back in Sydney but this was more the volume I’d expect from espresso. It was good coffee, and was served with excellent chocolates that were perhaps a little too rich for the end of a meal.

We chose to have primi and secondi with the prospect of dessert, and are now glad that we chose to skip the antipasti since the serves were well sized. The meal started with the usual olive oil served with a nice collection of breads: something like a slice of ciabatta, a cube of brioche and thin slices of a sultana and walnut bread, possibly rye. The olive oil had excellent flavour and the olives served as appetisers were amongst the best I have ever had (not very salty, not vinegary and with a spiced flavour – freshly prepared I suspect).

For primi Kathlene the crab tortelli with a saffron sauce and I had one of the nights specials, pappardelle with a porcini mushroom sauce (all the specials were porcini mushroom, they must have had an extra good shipment). Beautiful fresh made pasta and a well balanced sauce; it was, quite simply, just right. Kathlene’s dish was somewhat more complex and my small sample proved a light flavour with a distinctive taste of saffron and excellent texture but the crab flavour I had hoped for was too hidden.

Kathlene ordered a porcini salad with a secondi of Sea Bass en Papillote and I had the quail with truffle stuffing. I should explain how the food is served, the service staff come to your table with a little cart and usually the meal is put together in front of you. For my earlier pasta the pasta was placed into a bowl and then the sauce spooned over it from a saucepan. The preparation was similar for my quail, and Kathlene’s Sea Bass came down in its paper wrapping which was opened up and the fish and mushrooms inside arranged on the plate before us. It brings a little of the kitchen into the dining experience (not to mention freshness); much appreciated.

My quail were perfect, there’s little more to say except that in an up market restaurant I was pleasantly surprised by the plurality of quail. No overpowering overuse of truffle and condimented with a tasty array of funghi. Kathlene’s sea bass was similarly baked with an array of funghi and well cooked. The porcini (aka cep by the way) salad was simple and focused entirely on the porcini; enhanced by a sprinkling of parsley, some strips of what was probably a pecorino romano and a drizzle of extra virgin olive oil.

Our meals left us feeling well fed but still able to squeeze in some dessert… how could it be any other way with a cardamom icecream on the menu! My icecream was the icy sort, almost a sorbet and came in cardamom, cinnamon and saffron flavours. Saffron icecream! It was exquisite. Kathlene inevitably went for Antonio’s Tiramisu and it was a good rendition of this old favourite; very, very rich.

Overall we had an excellent evening, the food actually lived up to my expectations and the service was impeccable. The overall environment was a little more formal that I am comfortable with, but did not make me uncomfortable enough to not pick up my little quail leg bones and get the meat off with the best tools available. In high society I’d probably be made to eat with the dogs; though I might fit right in with medieval royalty.

Certainly a place for the mushroom enthusiast! On the way out we admired the
display of produce, including a tray with a wide variety of mushrooms. Antonio seems to have a thing for funghi. The Carluccio’s deli next door to the restaurant would certainly be worth a visit, but we didn’t get around to popping in. There are also a lot of Carluccio’s cafés around London, one near the office in Notting Hill, but I have never been to one of these – I assume they keep a fairly high standard.

tasso, tasso, tasso, tasso

I’m at risk!

Note: This entry has been restored from old archives.

According to SiteAdvisor I’m at risk! Oh no!

YOU GOT 3 OF 8 QUESTIONS CORRECT
Rating: You’re at risk!
Watch out! Your inbox might explode! Your decisions would have resulted in your
inbox being filled with approximately 2000 spammy e-mails per week. But who can
blame you? It’s often very hard to tell which sites will respect your personal
information. …

Okay, so not quite so terrible. There’s just one flaw with this quiz and that’s the fact that I would never, ever give any email address to any of the sites and thus am actually at zero risk 😉

I believe the most important point here is missed or at least not well conveyed: that based purely on visuals (they also link to the privacy policies, but who reads them?) you simply can’t tell whether or not a site is going to be a source of spam. That’s why something like SiteAdvisor has value, you just can’t know how bad a site will be until you try and the premise of SiteAdvisor is that they do the trying for you. A very good tool for those who run around the web throwing their email address around like a popular STD (probably most people)… though I have to wonder who’s going to convince people who have bad habits to start with to download an Internet condom? Anyone “in the know” should see it as their duty to spread the word: condoms are good, they’ll protect your box from strange gunk. Though this is more like some kind of registered paedophile list than a general purpose preventative.

I do realise the whole thing is probably an engineered marketing campaign with sites carefully selected for their lack of intuitive ‘spamminess’ clues and that they can probably typically expect a result of 50% (choose the sample comparisons well enough of course and you can swing this either way). The main point is probably avoided since it is more effective to make individuals feel that their personal inadequacies require patching up (taking a lesson from the spammers, this is why penile enlargement spam is still worthwhile enough to continue to be such a problem after all these years, there’s an inexhaustible supply of personal inadequacy out there fuelling the world of misplaced hope otherwise known as advertising^Wspam).

What will protect us from the unexpected though, such as my recent AllOfMP3/ChronoPay experience? Both legitimate online businesses with apparently clean privacy records (okay, so one of them looses points for being Russian) and not a peep of spam after more than a year of use and them wham, I have more bestiality and incest in my inbox than I can handle. Probably a security breach, either technical or most likely a low-paid employee lured by some extra cash. Importantly: this can not be detected in advance. So while SiteAdvisor is likely an effective approach to mitigate the spam deluge we’re not quite seeing the end of reactive AntiSpam software just yet; as much as I wish it could be so. I’ve used SiteAdvisor on one of my machines for a while though and do find the results interesting, if not typically much use to a user like myself (the SiteAdvisor Firefox plugin’s marking of Google results as good|bad is nifty, interesting that Google came out not long afterwards with the same idea built-in; SiteAdvisor is still at the advantage because it is there in your taskbar all the time).

If you’re like me you own your own domains and if forced to give some site an address they get their very own unique one – this has two great advantages: 1) You can block that email when it starts getting spam; 2) You know who was responsible for spamming you or leaking your address. I must admit that it would be nice not to have such a level of complexity required to “manage spam”.

And on a related note I’m sad to see that one of the two remaining spam blocklists that I consider safe to use at an SMTP rejection level looks like it could end up being the victim of further proof of USAian litigative idiocy. The two I still use are: list.dsbl.org, sbl.spamhaus.org.