Showing posts with label language:english. Show all posts
Showing posts with label language:english. Show all posts

Friday, 30 November 2012

3D Printed Ice Structure

If you're local to me, you will have noticed it rained a lot earlier in the week. And that it was very cold last night.

Well. It appears somebody didn't cover up the sandpit.

While amusing, this is not what this post is about though.

This is:

This ice structure is poking out of another outdoor toy that wasn't covered up.

How did this happen?

It looks like a triangular shaped ice tube. It may not be too clear from the pictures, but the walls of the structure are made of ice and the inside is liquid water.

I imagine that due to the temperature the water under the ice needs space to expand and pushes up through what must have been the last small opening. Each time the water pushes a bit higher the edges freeze, constructing the walls layer by layer - a bit like a 3D printer might do it. Whether this is actually what happened I don't know.

To check that it was actually ice, I tapped against one of the walls and it came crumbling down, spilling some of the liquid it was holding back.



[UPDATE 30/11/2012 17:16 GMT]

Apparently, this is called an ice spike and they don't happen often in "non-distilled" water - making me feel all warm and fuzzy that I found one in our garden.

Sunday, 1 January 2012

Mincemeat Turnovers

Every New Year's Eve I crave oliebollen, but since these require deep frying and hence too much faff, I make appelflappen. Apple turnovers are the only traditional Dutch New Year's Eve food that isn't deep fried, but baked in the oven instead.



Last year I made the filling for the appelflappen from scratch. This year I used a jar of mincemeat instead. Far from traditional, but if the number of these minceflappen that my daughter ate is anything to go by then it was a success! Using a jar is definitely easier than making the filling from scratch, but I thought the mincemeat turned out a bit runny. I think I prefer the more traditional apple turnovers, but think that the ease of using a jar will probably win me over to make these again next New Year.

500gr puff pastry
400gr mincemeat
1 beaten egg
About 2 tsp sugar


Pre-heat fan oven to 200°C.

Roll out puff pastry thinly.

Cut pastry into twelve squares of about 12cm.

Place small heap of filling in centre of each square.



Fold each square over to form a triangle.



Brush with the beaten egg and sprinkle with sugar.



Bake in oven for about 10-15 minutes.


1 January 2017


I made two batches yesterday for a party, but because I only had one jar of mincemeat I made one version with a more traditional apple and sultana filling.

For the mincemeat version I heated the mincemeat in a pan and drained the liquid off through a sieve. This helped the consistency of the mincemeat turnovers, but not necessarily the flavour!

For the apple and sultana turnovers I used one cored and peeled and chopped apple and an inexact amount of sultanas and currants soaked in sherry with speculaas kruiden (cinnamon would do). Before folding the pastry over the filling I put a thin marzipan sausage on the filling.
This version was much tastier than the one with mincemeat and is the one I will be making in the future.


Sunday, 25 December 2011

Cheat's Trifle

For the last four years I have made a trifle for our Christmas dinner. You know you've been accepted when your family let's the foreigner make the trifle.

When I was looking for trifle recipes my wife initially suggested I would make Heston Blumenthal's version*. Hah, very funny, love, but no. I decided to go for Rick Stein's Traditional English Trifle.

Well, I looked at it.

And then I took every shortcut I could think of.

Bake my own madeira cake? Oh, look, cheap supermarket's madeira cake.
Make my own custard? Ooo, look, cheap supermarket's fresh custard...

I've never actually made Rick Stein's trifle and as a result I don't have a clue whether my shortcut version has any positive relation to his, but my family likes it, so who am I not to keep making it?

Since I'm not actually following Rick Stein's recipe I've always had to guess most of the quantities and have ended up buying too much. My main reason for writing this down is so next year I can finally stop buying too many ingredients.



While most celebrity chefs always seem to suggest getting the best ingredients money can buy, I suggest getting the "normal" range of fresh custard from your supermarket, and the cheapest madeira cake you can get.

2 * 500gr tubs fresh custard (I use Sainsbury's Fresh Custard, not the one from their Taste the Difference range)
1.5 jars raspberry conserve (I use Bon Maman)
4 * 265gr madeira cake (I use Sainsbury's Basics Madeira Cake)
200 gr milk chocolate
480 ml double cream
Oloroso sherry (about 20 spoonfuls, far less than a bottle)

This gives me about two medium sized serving bowls and a bit more worth of trifle. I tend to create little individual ones without the sherry for the kids and put all the sherry in the main bowls.

Day before serving (i.e. Christmas Eve):
Cut the cakes length ways into slices about 1cm thick, cut the "crusts" off.
Put one layer of cake on the bottom of your serving bowl.
Spread about two spoonfuls of jam on it.
Add another layer of cake + jam.
Depending on the height of your serving bowl, you might want to add another layer of cake + jam.
Drizzle over the sherry and give it a bit of time to sink in, you can help it by poking the cake layers with a knife to create a few holes.
Pour the custard on top, cover with cling film and put in the fridge.

Grate the chocolate (First time I bought a packed of grated chocolate, and since I haven't been able to find that cheat anymore I now grate the chocolate using a food processor). Cover and put in the fridge as well.

Just before serving (Christmas Day):
Whip cream, scoop and spread on top of the trifles, sprinkle over the grated chocolate.

There is no chocolate in Rick Stein's recipe, but I think the sprinkled chocolate looks and tastes good and the kids love doing the sprinkling.

Enjoy.

* I used to have a link to Heston Blumenthal's trifle recipe, but the recipe seems to have disappeared from the BBC Food website. I can't find the recipe online now, but it is the one that takes 6 hours to make and requires wonderful kitchen implements such as an electric drill and a blow dryer. [UPDATE: I found a simplified version of Blumenthal's trifle, which still seems like an awful lot of work.]

Tuesday, 7 December 2010

Developing on Windows, using Git, Dropbox and Ubuntu (and XAMPP)

I generally do my development work on Windows, mainly because a lot of it is .NET based. Occasionally I do non-.NET work (ruby/php), but since my main development pc is a Windows pc, I still usually use Windows.

Currently I have a client who uses Git for version control. Fair enough, I have TortoiseGit installed, so no problem, I thought. However we couldn't get the public/private key pair from my TortoiseGit/PuTTYgen to work with their Git server for authentication. I'm not sure why - something to do with the openssh keys being slightly different to the ones generated by PuTTYgen.

Since the client knows it works fine on Linux, it seemed to make sense to just go with Linux. But I still like to use my main development pc, which is a Windows pc.

Dropbox* to the rescue.

I have cloned the git repository into my Dropbox folder on my Linux pc. Dropbox syncs the files between my Linux and my Windows pc.

Now I can edit the files on my Windows pc and test them by running the Apache/MySQL/PHP based website on XAMPP. And while I'm doing the testing, Dropbox syncs my changes back to the cloned git repository on the Ubuntu pc.

It took a very long time to sync after the initial clone of the remote repository, and again after switching to the development branch, but after that it seems to work well.

TortoiseGit seems to be a bit confused with the synced git repository, so I'm not even going to try to actually use it for this project. Instead I'm using git on the command line on the Linux pc and that works fine.

A couple of points:


  • Sometimes there is a couple of seconds delay between saving files on Windows pc and appearing on the Linux pc, due to having to go through Dropbox, so it seems to be wise to wait a bit with git commands or at least check that the files have finished syncing.


  • Line endings. My editor saves with Windows style line endings by default, so I had to set it up to always save files with Unix style line endings (LF).


  • I have created symbolic links on Windows to link the git repository folder in the Dropbox folder into the htdocs folder in XAMPP (using mklink).
    mklink /D "moodle" "c:/users/me/my dropbox/git/moodle"
    The result is that I can now access the moodle site on http://localhost/moodle


  • I'm for now only working in one branch, and hope to keep it that way, as switching branches would possibly trigger another long sync time as it did the first time.



* If you don't have a Dropbox account, feel free to use this link to sign up and get a little bit of extra space. It will give me a bit of extra space as well.

Monday, 6 December 2010

Motion Detecting Bird Feeder Cam



It has been snowing quite a bit recently so despite never having had much success with the birds, I decided to put our bird feeder out. It is hanging from a washing line, well away from any structures that could hide predators. Well, once the snow lady has melted it will be.



Reading and watching Oli Wood's bird feeder webcam inspired me to dig out our "old" digital video camera as well. Our camera is a Canon MVX350i, which has 20x optical zoom, just what's needed to be able to zoom in on the bird feeder at this distance.

The camera is connected to the computer using a Firewire cable, and once I had figured out how to switch off the "auto power save" feature we were good to go.

The camera is directed at the bird feeder using this expensive hand optimized stand:




Because we always only get very few birds on our feeder, I wanted to use motion detection webcam software to take pictures of any birds coming to the feeder. I vaguely remembered a friend using software that took pictures when it detected motion and uploaded them to an ftp server. I don't remember what it was called and hence had no luck finding it.

I did however find open source surveillance software iSpy that appears to do the trick.
Whenever it detects motion it records a bit of video up to a certain length. It has a few settings to change the motion detection and its sensitivity.

The first day I had it running it took a nice bit of video of what I believe is a robin, but completely missed the pair of tits that appeared on the feeder a few minutes later.

Increasing the sensitivity - I think I was increasing it: the slider doesn't mention which we is up or down, so I presume left is down, right is up - only seemed to get me lots of video of the wind blowing the feeder about, so in the end I stuck to the default sensitivity.

It would probably be better to make sure the bird feeder is rigid by sticking a pole in the ground and up its bottom, and increase the sensitivity. The pole should stop the wind blowing the feeder about, while the increase in sensitivity should pick up even the most delecate of birds.

One nice touch is that iSpy buffers the frames, so that when it detects motion it can use a bit of buffered video so you get all of the action, and not just the bird disappearing. It would otherwise possibly have missed this coal tit flying in:



The video of the robin is unedited. I trimmed about a minute of feeder waving about off the end of the coal tit one.

Monday, 11 May 2009

The Big Agile Practices Survey

Last week Jurgen Appelo asked if anyone could help him create an online interactive table for the results from his Big Agile Practices Survey. Having just gone freelance I figured I could use the publicity and since I had a bit of time to spare, I volunteered.

The result: my sortable color coded table is on a separate page since it's a bit large and wouldn't work well on this blog.



Note the "ad" at the top, that's me available for some freelance work.

The table is an ordinary HTML table, manipulated using jQuery, the jQuery plugin tablesorter, and some JavaScript and CSS.

The page has been tested in IE7, Firefox 3, Google Chrome, Safari 4 beta for Windows, but if you find anything doesn't work, let me know, and I might fix it.

Thursday, 6 November 2008

Is disabled disabled?

In HTML boolean attributes can be set on elements without a value. For instance, an option of a select could be selected using <option value='1' selected>, a checkbox could be checked using <input type='checkbox' checked>.

In XHTML attributes are not allowed without a value, as that is not valid XML. Attributes are required to be 'unminimized.' E.g. selected becomes selected="selected", checked becomes checked="checked" and disabled becomes disabled="disabled".

Ah. Disabled is disabled? So surely that means the element is enabled? I know it makes perfect sense to keep the standard standard, but surely if you come to XHTML without the historical information and find out that disabled="disabled" means that the element is actually disabled, this just looks plain odd, weird and wrong?

Tuesday, 28 October 2008

Stupid design



Recently at my workplace the water coolers and the water boilers have been replaced by a machine which does both. It's very simple. It has a green light to indicate it is on. If you press the big button you'll get icy cold water. And if you press the small button on the left, the green light turns red to indicate there is enough hot water and that by (quickly!) pressing the big button before the light turns back to green you'll get hot water.

Great. Apart from the short time you're given to acquire the hot water when it is available, can you see something else that is flawed in this design?

A light that changes between red and green. Most colour blind people can't distinguish between the two. Great. Now how do they know whether there is hot water, other than by sticking their finger in the either freezing cold or scolding hot stream of water?

But it is even worse!

Because there are not two colours! There are three! Apparently the light turns yellow as well. I'm colour blind, but have no problem with red and green. Green and yellow on the other hand...

The above is how I thought the machine worked, but for people without my kind of colour blindness, it apparently works like this:

The light is yellow to say "there is no hot water", green to say "there is hot water" (or was that the other way around? I can't remember, and I can't check, because I can't tell the two apart!) and red to say "thanks for pressing the small button on the left and as a thank you I might just give you hot water if you press the big button. But only if you're quick enough."

Stupid design.

Monday, 23 June 2008

Star struck

John reminded me just now about the first time I saw a hummingbird in real life. Where I come from you only get them in nature programmes on the telly, not outside hovering near flowers. I don't think I ever realized where they do appear in the outside world, so when I saw one I was absolutely star struck: "Look, it's a hummingbird, off the telly!". I was in a suburb of Goleta trying to find the local supermarket on my first day there, and noticed a couple of really really big "bees" hovering above a tree, about three meters above the ground. Imagine my joy when I realized I was going to see them most mornings having their breakfast outside my kitchen window.

I had a similar experience years later (a couple of years ago now, blimey, I'm not getting any younger) when I visited the Grand Canyon and noticed a big vulture sitting below us. Someone uttering "condor" made me forget about the Grand Canyon ("just a big hole in the ground after all") and stare star struck at the condor. "Look, it's a condor, off the telly!". Apparently some California Condors I had seen going nearly extinct on the telly had been moved to the Grand Canyon to thrive.

Wednesday, 5 December 2007

Telly

Yesterday, our daughter wanted to watch a bit of telly, or "teddy" as she calls it, and more particularly she wanted to watch Nijntje (Miffy). We thought we'd let her and popped in the DVD.

Somehow this made me think that when I was a kid my mum would probably have responded with "but it is not Wednesday afternoon, there is nothing on!"

I remember the tv test screen.

Wednesday, 19 September 2007

How to move your email to GMail using free tools

I've been using GMail for quite some time now, and have recently decided to import a lot of archived mail from my old mail accounts. Currently I have this mail stored in various formats, most notable Outlook PST-files. PST files are notorious for not being able to be read by anything but Outlook. Worse yet, I have an archive in Outlook 2003 format, which can't be read by the only (old) Outlook version that I have access too. I'll solve this situation one way or another, but that's not what this post is about.

I'm trying to find a good way to import my archiving email, using free tools. My first attempt some time ago, involved importing e-mail from an imminently closing POP account into Thunderbird and then redirecting/bouncing the e-mails using the MailRedirect plugin. [1] This worked fine, except that all mails showed up in my GMail inbox with the date of when I redirected them (apparently this can be fixed by importing them into a temporary GMail account, and then letting MailFetcher retrieve them all via POP, which fixes the date issue).

Using the Thunderbird MailRedirect plugin is not very user friendly when you have lots of emails to transfer: some will fail and it is a lot of work to pick out the ones that have failed and re-redirect them. Also, one reason why they might fail is that the smtp server you are using for the redirecting is refusing connections because you are sending too many e-mails in too short a time interval.

The best solution would be for all your archived mail to exist in a POP-accessible account and have GMail retrieve them. GMail will keep trying until it is done, which means that if it fails for some reason, it will just try again in an hour. If you have your e-mails in local files this doesn't work, unless you could somehow get your e-mails back into the mail server. Using IMAP you can. If you have an IMAP account available, then great. If not, you can still do it for free in a few steps, as long as your e-mail client understands IMAP and you have some time.

Firstly you need to install a free smtp server that supports both IMAP and POP. I used MailEnable Professional Evaluation Edition, which is fully usable for three months, for evaluation purposes. I set the mail server up inside a virtual machine (running an evaluation version of Windows) using the free VMWare Server. Using a virtual machine is good for security as it allows you to open a port on your firewall and forward it to just the virtual machine, which should leave your main machine protected. [2]

In MailEnable create a post office and add user accounts for each GMail label that you want to import mail to. If you have a lot of e-mail to import, this will make things easier to sort when it finally arrives in GMail, as the MailFetcher allows you to automatically assign a label to the imported mail. Using separate POP accounts means you can set the labels when they come in, rather then sorting through your mail manually after everything has been imported. For instance, if you want to add some mail to a label called Friends and some to a label called Family, add two accounts: "friends" and "family".

Open your e-mail client and connect to the accounts you have just created in MailEnable. You need to know the IP-address of your virtual machine. If you have called your post-office "mailenable" then the above accounts would have a login name of "friends@mailenable" and "family@mailenable" respectively. Now you're ready to start copying e-mails from your mailbox to your new IMAP accounts. Just drag them into the correct IMAP account's Inbox and they will be uploaded to the server.

Once you've got your e-mail in your IMAP server, it is time to open a port on your firewall and forward it to the IMAP server virtual machine. The default POP port is 110.

Add your accounts to the GMail MailFetcher (GMail settings / Accounts). You need to give them a real e-mail address, but that won't actually be used. Make sure the login name is the same as you have set up in your mail server (so friends@mailenable or family@mailenable in the above example). Set the mail/pop server address to your external IP address. Select the label you want GMail to use for the e-mails in this account (it will provide a reasonable default). Also select it to archive all the e-mails, so they don't clutter up your inbox. Don't select "leave a copy on the server", so you can easily tell when it is done by looking at the mail server. When you click "Add Account", GMail will start retrieving your e-mails!

GMail appears to retrieve e-mail from your pop3 account about once per hour, taking 200 e-mails at a time, so if you have more than 200 e-mails, you'll have to wait a while before all of them have been retrieved. 200 e-mails per hour = 4800 per day. If you have a lot of email, it can easily take a couple of days. Because you didn't select "leave a copy on the server", the e-mails will be deleted from the mail server when GMail retrieves them. This means that you can easily tell when it is done retrieving by looking at the user account list in the mail server (well, it was easy in MailEnable): It's done when the number of messages in the mailbox is 0.

When it is done retrieving all e-mails from all accounts you should close the port on your firewall. You can now stop your virtual machine and get rid of it if you want.

Don't remove the pop accounts yet from the GMail accounts settings, as GMail hasn't processed all the e-mails yet, and won't label/archive them if you remove the accounts, but dump them in your inbox instead. Leave it a while (I have no idea how long, one hour? two?), and the labelling should go on.

[1] I now wonder why I didn't just use GMail's MailFetcher for this particular case, but don't remember why. Perhaps MailFetcher wasn't available yet? Perhaps I wanted a local copy in Thunderbird? Perhaps I had other reasons? Or perhaps I just wasn't happy with handing my password for one service to another service.

[2] This of course assumes you're using a firewall (or router with built-in firewall) that supports port-forwarding. Note that I'm not a security expert. Don't forget to close the port when you're done.

Wednesday, 15 August 2007

Puter!

My wife and daughter are currently visiting Granny and Grandad. Apparently when asked where Grandad was, our 19-month old said "puter"...

I'm so proud! My little girl knows about computers! I think I'm more proud of this than of her saying "papa".

Another new word today is "key"... I wonder if she's considering a career in cryptography?

Thursday, 14 June 2007

Useless Ruby StringBuilder

A little while ago, I wrote a StringBuilder class in Ruby in my lunch break, roughly based on the one in the .NET Framework, but simpler. I have known for a while that using StringBuilder is a much quicker way of concatening strings than just using +. I'm talking about C# indeed, and expect VB.Net to need the same.

I'm still fairly new to Ruby, so I thought I would give it a go there. I didn't find a StringBuilder class available, so I wrote a simple one. I looked a bit further and found there are two ways to concatenate strings in Ruby, using + and <<.

I added a bit of benchmarking code, and lo and behold, my StringBuilder class is lightning fast compared to the + method....
[with 100,000 iterations]
user system total real
stringbuilder: 0.172000 0.000000 0.172000 ( 0.172000)
string<<: 0.094000 0.000000 0.094000 ( 0.094000)
string+=: 14.703000 3.860000 18.563000 ( 18.734000)
But it is obvious << is a much better choice. Blimey, look at that. That's about 200 times faster than += ! No wonder there is no StringBuilder class provided with the Ruby core.
[with 1,000,000 iterations]
user system total real
stringbuilder: 1.610000 0.031000 1.641000 ( 1.656000)
string<<: 1.156000 0.000000 1.156000 ( 1.156000)

[with 10,000,000 iterations]
user system total real
stringbuilder: 17.672000 0.140000 17.812000 ( 17.953000)
string<<: 10.047000 0.047000 10.094000 ( 10.343000)
I had to remove the += case in these last two reports as my script wouldn't have returned before my lunch break was over!
require "benchmark"
include Benchmark

class Stringbuilder
def initialize(s)
@s=[s]
end

def <<(s)
@s << s
end

def to_s
@s.join("")
end
end

TESTS=100000

bm(14) do |test|
test.report("stringbuilder:") do
x=Stringbuilder.new("bla")
TESTS.times { |i|
x << "x"
}
z = x.to_s
end
test.report("string<<:") do
y="bla"
TESTS.times { |i|
y << "x"
}
z = y.to_s
end
test.report("string+=:") do
y="bla"
TESTS.times { |i|
y += "x"
}
z = y.to_s
end
end

Sunday, 21 August 2005

Witte Rijst met Krenten

This recipe may well make you believe that Dutch cuisine deserves the reputation that British cuisine has, but if you, like me, love rice and, like me, love currants, and, like me, have a sweet tooth, you might think this is the best dish in the world.

The other day I had eaten a big bowl of soup earlier on and neither fancied eating a complete meal, nor going out to the shops to buy a snack. Looking in our cupboards, I noticed all the ready-made snacks had already disappeared in our stomachs. My wife, who as always shared my predicament, decided to just boil some rice and snack on that. I would have gone along with that, had it not reminded me of one of the greatest dishes I had as a child.

Using half of the rice she boiled I created a quick version of this "white rice with currants", and it was just as delicious as back when I could hardly reach the top of the dinner table. I have never heard of anyone else eating or even knowing of this dish, so I thought a blog entry might be in order.

To be sure I was making enough of a fool of myself I searched for some other online recipes. Apparently, witte rijst met krenten is a speciality from a region on the other side of the Netherlands from where I grew up and the few recipes for it that are available online make something not quite the same, so I like to imagine my mom created this dish based on what it was called.

Our family version is a simple dish, that we used to eat whenever we had fried fish.. Yes, not everybody has chips and vinegar with fish! Often on a Wednesday, when the mobile fish monger would be in town, my dad would go out on his bicycle and buy some fried fish, and while he was out, my mom would prepare this dish. As soon as my dad returned dinner would be served: White rice with currants and fried fish.

The basic premise of mom's version of this dish is: boil long grain white rice and currants in semi-skimmed milk until the rice is cooked and serve. Not the most nutritiously balanced meal in the world, but there you go... Use as much rice as you would like to eat, and stir in as many currants to make it visually similar to a Dalmatian - the dogs are sometimes called 'rijst met krenten' dogs in Dutch. If the result looks like 'rice, currant and milk soup with not enough liquid' then congratulations! That's what we were aiming for, so don't drain the milk. Eat with a spoon.

My quick version mentioned above consisted of me putting the already boiled rice back in the pan, adding currants and milk and bringing it to a boil, but this can only be considered quick because my wife had already boiled the rice.

When I told my wife my plans with the rice she put on her disgusted face and said: "So you're going to have it as pudding?" I suppose she was right, it could be called a delayed pudding after the bowl of soup I had earlier on, but considering I have always eaten it as a main course, I saw it as a snack this time.

Originally posted at foodster.net

Sunday, 19 December 2004

Untraditional Hutspot

This dish has a history that goes back to 1574 when the Spanish left an old version of it behind when they gave up besieging the city of Leiden. Potatoes and possibly carrots weren't known in Europe as edible at the time and were added to the recipe later.
The way most Dutch people now eat it is as a mash of potatoes, carrots, onions and rib of beef. Personally I don't like the rib of beef and have made this dish for years without it. Last week I experimented a bit more with it and came up with a version that is even tastier.

It's perfect winter comfort food, although I eat it all year round. It would be easy to make a vegetarian version of this by removing the sausage and using vegetable stock.

2 to 3 litres chicken stock * (because of availability I used a mixture of about 20% vegetable stock and 80% chicken stock)
1 kg carrots (the big chunky ones you get in winter would be best)
600 g potato (one big baking potato)
500 g red sweet potato *
300 g can of borlotti beans (or brown beans if you can get them)
400 g of onions and/or shallots
2 leeks
2 garlic cloves
teaspoon of dried chopped dill *
half teaspoon of 'Provencal herbs' *
salt
low fat smoked sausage (optional. I think low fat smoked sausage tastes better than the full fat kind)
freshly ground pepper

* I didn't actually measure these ingredients, this is just a guess

Serves four, apart from the sausage which only serves two. If you are making it for two, make it for four, it's perfect for reheating.

Bring the stock to a boil in a large pan and add the not too finely chopped onions, shallots, garlic, leeks and the dill, Provencal herbs and some salt to a large pan.
Chop the potato, sweet potato and carrots into equal pieces (carrots a bit smaller than the potatoes) and add them to pan,
Bring back to boil.
If adding the smoked sausage, remove it from all packaging and lay it on top of the vegetables in the pan (on the package it will probably say something like 'boil for 15 minutes in packaging', just ignore that).
Simmer for about 20 to 25 minutes, until the potatoes and the carrots are cooked.
Add the beans (drained) and keep it going for a bit longer to heat the beans.

Remove the sausage.
Drain (catching the liquid).
Mash (add a slight amount of the liquid or milk to make a fairly smooth mash).
Season with the pepper and possibly some salt.

Serve with the sausage.

Originally posted at foodster.net