All posts by Yvan

Pumpkin Soup

Note: This entry has been restored from old archives.

I’m always trying to do a pumpkin soup like Mum’s Thai Spiced Butternut soup – I never get it quite right though. This soup I made is completely different! 🙂 But it turned out very well.

Vegetables:

  • 1 kg – Carnival Pumpkin (Butternut should do)
  • 1 medium – Brown Onion
  • 1 medium – Red Onion
  • 4 small – Parsnips
  • 2 large – Carrots
  • 5 cloves – Garlic

Spices:

  • 3 stars – Star Anise
  • ½ tbsp – Ground Allspice
  • ½ tbsp – Hot Chilli Powder
  • ½ tbsp – Ground Coriander Seed
  • 1 tsp – Ground Cinnamon
  • 1 tsp – Ground Cumin Seed
  • 1 tsp – Ground Turmeric
  • 10 – Cardamom Pods
  • 10 – Kaffir Lime Leaves
  • 80g – Coriander Leaf

Liquids:

  • 3 tbsp – Peanut Oil
  • 1 400g tin – Coconut Milk
  • 2 litres – Chicken Stock

As usual with soup the process of manufacture is simple:

Boil some water in a kettle and pour over kaffir lime leaves in a teacup.
Peel garlic cloves and slice. Peel where necessary and chop vegetables into ~1 inch chunks.
Heat oil in a large pot, when a little hot (not really hot or you’ll end up with burnt spices) stir in all the dry spices. Should be aromatic, not burning!
When spices nicely mixed through the oil throw in the onion and garlic and sautée until translucent but not browned. Then throw in all remaining vegetables and toss until well coated with the oil.
Tip in coconut milk (reserve a little for later), kaffir lime leaves (with water) and the stock so that stock covers about 1 inch over vegetables (more stock = thinner soup, so add more/less as you prefer). Bring to boil then reduce heat to a simmer.
Cover and simmer until vegetables are soft, around 30 minutes should be fine.
Turn off heat and let cool (another 30 mins should do).
Fish out kaffir lime leaves, cardamom pods and star anise (or don’t – I only bothered fishing out the leaves).
Purée in batches in a food processor.
Finely chop the coriander and stir through the soup, keep a little for decoration. At this point add salt “to taste”.
Serve with a sprinkling of coriander and a swirl of coconut milk.

This recipe made us about 10 medium serves of soup. (We make soup on weekends and have soup for dinner three days a week, usually there are two types of soup in the freezer at any given time.)

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.

Referrer Spam Worm

Note: This entry has been restored from old archives.

Looks like a new worm has hit the ‘net, or a new feature for existing botnets – one possibly dealing in referrer spam. I have a very strange collection of recent HTTP referrers from a variety of client IPs. All with the user agent string “PycURL/7.15.5” (cURL for Python). In total 16 suspicious referrers coming from 30 different source IPs (a variety of dynamic ISP IPs, web proxies, etc). The spammy referrers in question:

    163.32.88.9
    rfidusa.com
    www.1067freefm.com
    www.antiguosupv.org
    www.cordoba-guia.com.ar
    www.dogudoraku.com
    www.ict.schools.nt.gov.au
    www.liebeaufdenerstenblick.at
    www.malindi.info
    www.mebanenc.info
    www.no-grip.net
    www.northgate-is.com
    www.olex.com.au:80
    www.panel.blink.pl
    www.pfadfinder-bassenheim.de
    www.wexim.com

Some of them are URLs that I wouldn’t expect to be in spam (nt.gov.au?). So I wonder if there is some other nefarious motivation here. I wouldn’t try visiting any of those URLs, just in case, especially if you’re using IE. On inspection of some of them I don’t see anything unusual (the nt.gov.au one is plain HTML, some CSS, no JS or VBS). Also the requests are to a variety of different pages on my site, so maybe this is just obfuscation for something that is actually a harvester or form-spammer spider. The possibilities are endless, however it seems unlikely that it would be something benign.

Hits using PycURL started on Dec 3rd. On the 3rd a variety of URLs were hit, there were no referrer strings. This wave was of 39 hits over an 8 minute period and involved 10 different client IPs. Then on the 4th, about 12 hours after the last hit on the 3rd, another two waves came. The first wave was 2 minutes long and made 18 hits to different URLs from 12 different source IPs using my own domain name as the referrer. The second wave on the 4th lasted only one minute, and made 10 hits from 5 IPs with the same properties as the previous run. Then finally, early this morning after a 3 day break, there have been 34 hits. from 8 IPs with the difference that seemingly random and strange referrer URLs have been used for 18 of the hits delivering 16 unique referrer domains. This final blast was spread out over a 20 minute period.

Some skript kiddie playing with his botnet? Evolution of a nefarious web spider in development?

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.

We’ll help Indonesia kill activists

Note: This entry has been restored from old archives.

It would seem that Australia agrees to let Indonesia do whatever they want to “suppress” the Papuan independence movement; that seems to be one of the points of a recent treaty. Ignore the headline nuclear bollocks, the stuff where we agree to help them suppress activists is far more interesting.

Of course, I don’t know how “evil” these activists are, for all I know it may be that they kill kittens and eat puppies. Plus I’ve only read an SMH report on the treaty, the actual document might be packed full of clauses that water it down and make it nothing more than the usual political fellatio.

Anyway, we can’t let poor old Indonesia loose a whole bunch of mineral and petroleum resources just because the area happens to be full of people who are inconveniently not Indonesian.

If you’re not like me and you’re willing to fight for a cause that is not my cause then I dub you terrorist; you will die.

Do It For The Mice

Note: This entry has been restored from old archives.

We do a lot of good work towards the betterment of mousekind, I sometimes wonder if we really are their subservient drones. Very often I read stories about how scientists somewhere think they have cured cancer in mice, made them live longer or simply worked out how to grow a fashionably decorative ear on their backs. Do a mouse a good turn today, give it a hearty meal of red wine, grapes and nuts and then put it in the fridge.

These are truly exciting days to be a mouse.

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.