Gastronomicon

It's been a while since my last post, work has been keeping me fairly busy lately and my free time has been spent giving me a bit more time to have some time to myself.
On the brewing front, things have been quiet - the liqueur thing isn't really working out too well, I'm still having issues with the sharp nose on my spirits - but I'm still attributing that to the quad-stacked Turbo Yeast in my 100L wash... still trying to finish that one up so I can start stilling my normal recipe... expecting that to be a bit better.
When that has been wrapped up, I'll try my hand at some limoncello and macerations. Also on the agenda is putting some of my Ginger Beer into the fridge and giving that a taste test, as it's been almost six months since that was bottled.
The other big brewing plans I've been thinking about for a while is Cider. It's tasty, it's cheap and it's quite fashionable at the moment. Nobody I know has really done one though, so I've been a bit uncertain who I can bombard with little technical questions.
Ever lucky, my local brew store sent out an invitational for a Cider tasting and voting session for a new brew pub in West Perth, The Brown Fox. These guys have been open since March this year and have made their own wine and are moving onto brewing and selling their own Cider in the pub.
Unfortunately, due to a fat finger error when putting the event into my calendar - I missed the event and presentation by the owner on the technical side of making cider, not to mention the taste testing! Bugger.
Fortunately they had a really positive turnout and the owner, Greg, decided to invite those who were interested to come back for a monthly cider tasting/discussion at his venue. After a few quick emails, and several calendar reminders later - I attended my first monthly cider meeting.
Okay, so despite the big turnout at the first meeting - there was only four of us. Two of us were Cider newbies, so there was some really good discussion about cider making in general and some technical tips and tricks on getting the results you want.
Probably the biggest suprise was that the two cider brewers at the table both preferred brewing from store bought juice (preservative free, of course), rather than from the fruit themselves. Obviously there's a effort tradeoff there, but nobody seemed to think that there was any significant difference in the end product anyway.
So keeping that in mind, I'm keen to get my first Cider under way - hopefully as early as this weekend, assuming I can shuffle things around in my fermenters, maybe at a stretch to be ready for the next meeting, and maybe having something good to actually justify taking into work (yeah, right).
- Read more about Gastronomicon
- will's blog
- Log in or register to post comments
Runtime handler registration in .NET
I've been working on some home automation software in C# for a friend and hit a bit of a stumbling block the other day. I needed to be able to register some message handlers for this application at runtime.
To do this, one needs to use the reflection framework - this allows you to inspect the assembly types and metadata at runtime, and is useful for this type of thing. This isn't exactly rocket science, and one can quickly throw together a quick example to discover each of the types that implement a given Interface/Subclass and make a method call to a static method on the class:
// Find all the types in this AppDomain that implement the IMessage interface
foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies())
{
foreach (Type type in assembly.GetTypes())
{
if( type.IsSubclassOf( typeof(MessageBase) ) )
{
MethodInfo method = type.GetMethod("ImplementsMessage");
MessageType msgType = (MessageType)method.Invoke(null, null);
_messageHandlers.Add(msgType, type);
Query the type and see what protocol message it handles
try
{
// If any bit of this fails, we'll fail silently which is OK
ConstructorInfo constructor = type.GetConstructor(new Type[0]);
IMessage obj = (IMessage)constructor.Invoke(new object[0]);
_messageHandlers.Add(obj.ImplementsMessage(), type);
}
catch
{
continue;
}
}
}
}
The above example will call the static ImplementsMessage method on each class that is discovered that is a subclass of MessageBase.
This is well and goodly, but the problems start when you try and declare the ImplementsMessage in either an Interface or superclass. In this case, I have an Interface IMessage that I want all message handlers to implement. Interfaces and base classes are good, as we know, for defining a concrete contract to ensure that all of our classes implement the methods expected of them by the rest of the code - and are a key part of the design of this library.
Unfortunately, in any of the .NET languages - you cannot define static members in an object being inherited. Whilst the CLR can handle this, it's a design decision made by the .NET team over at Microsoft to not support it in their languages, though it seems that this is one they're looking at changing.
OK. So we can't define a static method, which isn't nice and elegant - but surely we can drop the static constraint and use the above code? Well, err... perhaps
In .NET, the CLR transparently sends an object reference to every method call made. The obvious exceptions are calls to a constructor when instantiating a new method, and calls to static methods. So it's imperative in the case above that we can always instantiate the object before we call the ImplementsMessage method.
This seems well and good, until you realise that .NET does not guarantee a default constructor as used in the example above. No, really - it doesn't. This might sound contradictory to some people, as the C# compiler will automatically create one for you if you use it on a fully qualified type at compile-time, but not at runtime.
That means the above sample will only work in the case you have explicitly defined a sane default constructor on your class at compile time. This is bad because we can't enforce this implementation with inheritance - so we're in the same problem as before: programming by convention rather than contract.
Fortunately there's a solution, and it's nowhere near as long winded as the explanation up until now. I cheekily hinted at it at the start of the article, and the answer is Custom Attributes.
Attributes are metadata you can attach to structural objects in .NET assemblies that can be reflected at runtime. If you're doing .NET, you've used them without realising. They're used heavily by components to provide information for the Visual Studio designer, are used to assign versioning and copyright information to the final assembly files as well as many other places within the framework.
By creating a custom attribute class, you can mark your classes, structs, enumerations and the like with strongly typed data that is available at runtime. This sounds like an excellent solution to the problem at hand! Here's the custom attribute class I wrote along with the updated code fragment to register these types at runtime:
[AttributeUsage(AttributeTargets.Class,AllowMultiple= true,Inherited=false)]
public sealed class HandlesMessage : Attribute
{
readonly MessageType msgType;
public HandlesMessage( MessageType inType )
{
this.msgType = inType;
}
public MessageType HandledType
{
get
{
return this.msgType;
}
}
}
foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies())
{
foreach (Type type in assembly.GetTypes())
{
if( type.IsSubclassOf( typeof(MessageBase) ) )
{
// Look for the attribute saying what message they handle
foreach (Attribute attr in type.GetCustomAttributes(false))
{
if (attr.GetType().Equals(typeof(HandlesMessage)))
{
HandlesMessage hAttr = (HandlesMessage)attr;
_messageHandlers.Add(hAttr.HandledType, type);
break;
}
}
}
}
}
And here's a message handler being tagged:
[HandlesMessage(MessageType.InterfaceConfiguration)]
public class InterfaceConfigurationMessage : MessageBase
{
// ...
}
And there you have it! It's a different paradigm, but still enforces the message to implement to the MessageBase contract as well as having to "register" to be picked up at runtime.
The message class itself will have to implement a few interface methods from IMessage to construct new objects, so in this case it's arguable that that might be just as valid a solution - but that has its own caveats.
For now, it's an elegant and simple way of registering message handlers in the application without relying on convention to ensure the message handler will behave as expected - and I've already had another opportunity to use custom attributes at my work to maintain backwards compatibility with some code that is being backported.
That's all for now - a more general update to come and no doubt some more C# and .NET examples too, as well as some iOS related items.
- Read more about Runtime handler registration in .NET
- will's blog
- Log in or register to post comments
Minitruth
Quick update on (mostly) non-brewing related stuff.
Video Streaming
After somehow missing that gstreamer XML pipelines have been deprecated, and after futile attempts several months ago to get them working - I had a chance to pick it up again and start trying to use the library directly.
It works really well either wrapped up with something like the CPAN wrapper for Perl (yeah, I know, I know) - or directly via C/++. Or, if you install the tools package, from the commandline (sheepish grin).
So for encoding and streaming stuff it works quite well, but is useless for transmission to the client (I was hoping for an end to end gstreamer solution for the sample project I was playing with) - so you still need something to repackage the stream into RTP/RTMP, as the gstreamer RTP stuff doesn't really cut it.
ffmpeg would make a good overall solution, and the ffmpeg server will repackage on the head end - but the overhead is higher than gstreamer's if you're generating multiple streams from the same source. You could get around this by writing a custom binary around ffmpeg perhaps. Food for thought.
Someone has suggested Wowza Media server is great for this type of deployment, as it does no encoding work but will repackage RTP/RTMP for clients - but the licensing prices are pretty abysmal - there should be an open source alternative... this isn't that interesting to me to go down that path though, and I think I've reached what I can reasonably do.
Storage Box
After a bit of a delay with changing jobs and making space for the rack in the garage - the storage box is up and running again. I haven't really had time to test the controller issues, it's been so inconvenient without it.
At least now it's sitting on a UPS and I've built the old array's disks into a RAID6 array for my personal docs, and presenting NFS to my VMWare server - which is a whole different story involving the disk controller in the x336 and VMWare's Linux driver interface. Basically, I'll get orders of magnitude better performance switching to it, and that makes me happy.
Brewing stuff
In the short time I'll have at home today, I'm hoping to blend together my liqueurs and get $partner to give me some more feedback.
I've also bought some mint to re-create the mint liqueur I did, after a leaky spirits bottle saw it empty itself all over the floor *sadface* I'll also throw on a chilli liqueur.
Also, instead of posting a list of things that I want to brew each post, I've put them on my wiki here:
http://wiki.autodeist.com/public:2brew
Some new additions however, which I think are worthy of a mention here:
Bee Pollen I saw a container of this at the shops today, really interesting stuff... but it contains enough natural sugars and whatnot - and apparently a few people have brewed it. So I'll give it a go and see how it goes... could be interesting.
Whey Wine After being tortured by final pictures of Shay's Milk Liqueur - I went on a bit of a Google to see if there were other Milk/Whey based drinks... the Whey Wine mentioned on Wikipedia seems worth a shot... again, could be interesting.
Software Messaging
Having been exposed to TIBCO's JMS implementation at work, a few of the things I've been rolling around in my head for a few years about software messaging and middleware are starting to make a bit more sense.
Whilst I've been looking at building a few fairly tightly coupled framework libraries - the idea of using generic messaging interfaces over a generic messaging bus makes things so much easier. When you're not rolling your own, you can also really leverage a lot of the 'solved-problems'.
To that end, I'm hoping to throw together a VM running Apache ActiveMQ - a different JMS implementation, and have a play around with that, but I have other code to bust out before I get to that.... it's kind of breathed new fire into a few projects that have been on the back burner though - keen to clear my plate and get cracking...
Which lastly takes me on to...
Work & Motivation
Without putting too fine a point on it, things are a lot better work-wise than they have been for a long time. Not being actively prevented from doing your job, and having meaningful and constructive work to do makes a huge difference - and it really helps you engage with the work that you do have going on.
... and being engaged means I'm starting to get back into the swing of things personally. Now I'm not spending my evenings recovering from a mental mind-fuck, I'm finding that I'm a lot more interested in the technical projects I've had on the backburner for a while now.
So things are good, and despite a shortage of sealed glass jars (hint, hint - to anyone reading who wants to offload any)... all is well. More updates to come!
- Read more about Minitruth
- will's blog
- Log in or register to post comments
Holding Pattern
Having been house sitting for the past two weeks and having to catch up on a variety of things outside work - I haven't had much time to do anything on the brewing front.
But I have been able to get into the rhythm of the daily commute to work, at least - from where $partner and I were house sitting. A nice 12.8km ride in either direction, with some nice challenging climbs (by my standard) along the freeway.
In the week and a half that I've been commuting by bike, I managed to clock up about 180km. Awesomeness ensues...
Now I'm back home, and as of tomorrow will be doing the daily 9.6km, fairly flat ride from Innaloo to Subiaco. Should push past 1,000km on this bike in a few weeks easily with the odd weekend ride.
Combining this with being lazy and cheap by having meal replacements twice daily has also been a winner, and I've lost a bit of weight too - which is always nice. Swapped some stories and sachets with one of the managers at work, and confirmed that OptiFast VLCD is king. Also have a supply of emergency flavoured tuna in my desk for snacksies if I need.
Back to the not-so-healthy, but ever so fun SPIRITS! I managed to con my housemate into trying my liqueurs the other day:
* Mint Liqueur
* Coffee Liqueur
* Pear Schnapps
* Apple Schnapps
And the results are... promising! The mint liqueur used a ridiculous amount of mint and it shows, it tastes like very strong tooth paste, but not in a bad way.
The Coffee Liqueur is tasty and tastes like you'd expect it.
I haven't blended the Pear or Apple Schnapps yet, my favourite by far is Pear - as the rackings get sweeter you get a different range of mid/high range flavours from the Pear, though I think some flavour from ripening of the fruit also came through.
Apple was also ok, but was a very light and strong flavour - perhaps from the woody seeds present in the apple. I'd like to try this one again with a different variety of apple.
I also had some time to put together a from-scratch "Baileys" Irish cream recipe using thickened cream, Vanilla essence, and an Irish Whiskey I made with Still Spirits mix-in. It's nice, but the spirit base comes through quite strong. I will try again, but this time with Thick Cream instead of Thickened cream. My bad.
Over the course of this week, when I'm not working on slampt's alarm panel (see what I did there?), I'll be throwing on a Ginger Beer and another batch of spirit base.
Also, I've been taunted all week by Shay's tumblr posts about Milk Liqueur. That's right folks, motherfucking. milk. liqueur.

I think I'm going to have to give this a go as well... the concept is just too appealing to pass up. I hope Shay doesn't mind me doing the same thing... tough luck if she does :)
I'm now at the point where I think I need a huge collection of sealed glass jam/pickling jars to try various things out with... if you've got any spare, your donation is more than welcome.
The list of things I want to try is currently sitting at:
* Ginger Beer
* Ginger Wine
* Aged Bourbon
* Milk Liqueur
* Chilli Liqueur
... by the way, still not over Milk Liqueur.... but for now, bedfordshire calls.
- Read more about Holding Pattern
- will's blog
- Log in or register to post comments
Catch-up
After my computer's power supply dying earlier this week and barely being at home, I managed to spend half my weekend catching up on my todo list - hooray!

My liqueur attempts seem to be going well. I've pulled the first two rackings off the Apple and pear schnapps, and can probably pull another two(?) off before I'll be faced with coming up with an ideal blend of each racking for a final product.
I've also pulled the leaves out of the mint liqueur, but have done nothing as of yet with the coconut - and I'm not really sure how I'm going to go with that one as it's not really like a soft fruit of leaf like the others are.
On a related note, my partner bought me some chilli plants for Christmas which have been going nuts in the sun... I'm hoping once I get some fruit I can do a chilli beer and chilli liqueur of sorts. Fun times :)

I'm also planning on growing my Naga Jolokia seeds, which I think I mentioned in a recent post - which will pack considerably more punch. Maybe some kind of hot sauce will do nicely for those.
In the meantime though, I'll have to settle for beer. Owing to my beer fridge debt I took the time out to stock up again with some: Miller's Chill; Millers Genuine Draft (at the recommendation of a colleague); Three Kings Cider; Tooheys 5 Seeds Cider; Bintang (I know, I know...); and.... James Squire IPA.
.. the IPA is an interesting one, I've heard a lot about it and I've had a few without really realising it. It's short for India Pale Ale and it's a bit different for me. I'm not generally a fan of the sharp bitterness of it, but wanted to give it a chance and especially try it with some appropriate foods. One thing though, it's definately great in summer - wet and cold... so don't be too suprised to see some foody posts coming up in relation to the IPA.
So that's about it for now, another rambly post that leads nowhere... I'm contemplating kicking off an apple cider once I offload some more wine, as well as trying out a strawberry liqueur.
Oh, and daily bike riding to my new job to offset all that delicious beer :)
- Read more about Catch-up
- will's blog
- Log in or register to post comments
Smells like teen spirit
Hell yeah. With my wash ringing in at a final 1.000 SG, I fired up the Turbo 500 still for it's inaugural run on Monday. All I can say is: wow.
The still fired up quickly, and boiled hard for little over an hour before putting out product. Not expecting it to start putting out so quickly, I ended up taking 150mL heads instead of 50mL (dissapointing) and got things underway.
In a little over three hours the still put out about 3.25L of spirit at a whopping 95%. Hooray. On the first run I managed to control the water column temperature fairly evenly - however on the second run I had to play about with it quite a lot.
The second run performed the same as the first, 3 hours, 3.25L of spirit at 94%. Joy. I wonder if the difference was because I didn't do the mandatory wash of the column packing between runs. Wash number three, which is scheduled this weekend - will be sure to give an indication.
I also need to get a small amount more of column packing - as there's a small amount of volume in the column that needs packing. That should increase the efficiency and produce better distillate, but at these percentages I can't really go much higher before the product starts using the moisture in the air to dilute itself.
All in all, very happy with the product - so now I can produce a bunch of base spirit for testing flavourings with.
So far the coffee liquer (not using my base) is delicious. It started off tasting like it was coffee added to spirit (funny that), but has aged really quite well.
I've also kicked off a Mint Liquer. 3/4 cup crushed mint, 150mL of 94% spirit and 150mL of sugar syrup. It smells crap now, but hopefully after a few weeks the mint flavour and odor really comes out and I can take it off the leaves.
Also in the works: Pear Schnapps, Apple Schnapps and Coconut Liqueur. I've got the ingredients, but now need to find a chance to put them all together.
Updates soon - I promise :)
UPDATE: Oh noes, it turns out I committed a blog faux pas - I've already got an article called Smells like teen spirit! Oh well...
- Read more about Smells like teen spirit
- will's blog
- Log in or register to post comments
Brew Update
Just checked the wash, which currently has a gravity of 1.005 - meaning there's about 15 grams of sugars to each Litre of the wash that hasn't yet been turned into alcohol and co2 yet - 96% done.
I've agitated the wash and will let it go through until tomorrow, but I'm not really expecting it to get through much more.
At this point, I'm expecting to get about 25 Litres of 40% spirit, depending how much I throw away in heads and tails.
Will update once I've done the spirits run - which apparently I'll be making a bit of a day out of, a few people have asked to drop by and check it out.
- Read more about Brew Update
- will's blog
- Log in or register to post comments
Brew-ha-ha
To celebrate the silly season, leaving my job and regaining some sanity and the situation in general - I bought myself a present. Heh, any excuse would do - but in any case, I am now the proud owner of a Still Spirits Turbo 500 Still...
Isn't she pretty? I think she is. I've had a serious brewing hard-on for this piece of kit for at least the last six months now... now I've got to come through with the goods, so while the weather is good and I have some time off between jobs - it's brewing season!
So today I kicked off the Inaugural 100L wash. The batch is just a larger scale of my typical 25L dextrose wash (6kg dextrose, 21L water, EC1118 Yeast). However given the hotter weather and the brew store's lack of EC1118 for this quantity - I'm running with a Still Spirits Heat Wave Turbo.
I'm not a big fan of Turbo Yeast, and I've never really been afraid to say as much. However, given the improvements I've been making to my process, the heat factor here (this week the days are running up to 40+ degrees) and that I now have a quality still to work with - I'm willing to give it a go.
The original recipe was pretty straightforwards: 24kg Dextrose, 84L Water, 4 Sachets of Heat Wave Turbo Yeast. This should have yielded an OG of 1.093. After putting the wash together, it was 24kg Dextrose to 75L Water with an OG of 1.095 (ignore what's on my silly whiteboard in the photo). I put the difference down to the calculator I was using, which isn't really based around dextrose.
Anyway, at 2PM I pitched in the four sachets of Heat Wave Yeast into the wash which was at 37.2 deg. It's currently doing it's thing and should be done in about 3-4 days, I'll keep tabs on its progress and keep things documented.
From the yeast specs, I should expect to get just under 12% (or 12L of ethanol) in the final product. Not sure what to percentages I'll expect to pull off on my still, it touts ~93% average, but we will see.
In other news, I received a wine rack for Christmas which has been a huge help organising the area near my desk, which has been cluttered with wine bottles:
Yummy, now I just need to "clear" some space for future purchases. In the meantime however, I'll keep this page up to date with my brewing exploits...
- Read more about Brew-ha-ha
- will's blog
- Log in or register to post comments
Dodgy hack: TCP Sockets in BASH
Helping a mate out setting up an embedded system to report to his GNUDIP server. At one stage, we weren't trusting the ez-ipupdate code (which by the way, is horrible).
In any case, did you know you can do some simple sockets programming from BASH? No? Me neither, until now.... it turns out if you try to open a file at /dev/tcp/HOSTNAME, BASH will open a socket for you.... Not that you should really do this, unless all you have is busybox...
So for anyone who wants it, here's a gnudip client written in pure bash:
#!/bin/bash
GNUDIP_HOST=""
GNUDIP_PORT=3495
GNUDIP_USER=""
GNUDIP_PASS=""
GNUDIP_DOMAIN=""
GNUDIP_IFACE="eth0"
# Get the interface IP
iface_ip=`ifconfig eth0 | grep "inet addr" | cut -d ":" -f 2 | cut -d " " -f 1`
# Bind a tcp socket
exec 3/dev/tcp/$GNUDIP_HOST/$GNUDIP_PORT
# Read off the salt
read -u 3 salt
# Hash the password with the salt
hash_string=$GNUDIP_PASS
hash=`echo "$hash_string" | md5sum | cut -d " " -f 1`
hash_string="$hash.$salt"
hash=`echo "$hash_string" | md5sum | cut -d " " -f 1`
# Generate the update string
pdate_string="$GNUDIP_USER:$hash:$GNUDIP_DOMAIN:0:$iface_ip"
echo $pdate_string >&3
# Read off the response
read -u 3 resp
if [ $resp -eq 0 ]; then
echo "Updated!"
else
echo "Error: $resp"
fi
Yeah.... that's right. Only, I'm not 100% sure that this code works, it keeps returning a failure - I'm suspicious of the gnudip server is broken!
Also for those interested, heres a version that works with the newer HTTP protocol interface:
#!/bin/bash
GNUDIP_URL="http://example.com/gnudip/cgi-bin/gdipupdt.cgi"
GNUDIP_USER=""
GNUDIP_PASS=""
GNUDIP_DOMAIN=""
GNUDIP_IFACE="eth0"
# Get the interface IP
iface_ip=`ifconfig eth0 | grep "inet addr" | cut -d ":" -f 2 | cut -d " " -f 1`
# Get salt details
TMPFILE="/tmp/gnudip_$$"
wget -O $TMPFILE --quiet $GNUDIP_URL
token_salt=`grep meta $TMPFILE | grep salt | cut -d '"' -f 4`
token_time=`grep meta $TMPFILE | grep time | cut -d '"' -f 4`
token_sign=`grep meta $TMPFILE | grep sign | cut -d '"' -f 4`
rm -f $TMPFILE
# Hash the password
hash=`echo "$GNUDIP_PASS" | md5sum | cut -d " " -f 1`
hash=`echo "$hash.$token_salt" | md5sum | cut -d " " -f 1`
# Generate the update URL
url="$GNUDIP_URL?salt=$token_salt&time=$token_time&sign=$token_sign&user=$GNUDIP_USER&domn=$GNUDIP_DOMAIN&pass=$hash&reqc=0&addr=$iface_ip"
# Visit Page
wget -O $TMPFILE --quiet $url
token_retc=`grep meta $TMPFILE | grep retc | cut -d '"' -f 4`
token_addr=`grep meta $TMPFILE | grep addr | cut -d '"' -f 4`
rm -f $TMPFILE
# Output the result
if [ $token_retc -eq 0 ]; then
echo "Success!"
else
echo "Error: $token_retc"
fi
... Sorry for the formatting (and bad code), need to fix the site. Thought I'd share :)
- Read more about Dodgy hack: TCP Sockets in BASH
- will's blog
- Log in or register to post comments
Brewing Update: Beer? BEER!
Spurred on by a special at my local brew store, I'm thinking of doing a few beer batches this summer as well... as if I didn't have enough plans in the works.
I'll start of with a cheap and nasty kit beer. Why? Because it's a good excuse to refill the beer fridge for cheap! Whoops, I forgot my housemates read this... Hi Guys :)
Beyond that, my brewing friend Joe has kindly offered me the use of his brewing rig at his place if I want to do a brew... so I need to figure out what I want to do in the new year - buy the grain and get crack-a-lackin!
Having been watching the fabulous Brew Masters show on Discovery, I'm courting the idea of brewing a Chicha-style beer, it sounds delicious. Not keen on chewing the grain myself, I've dropped a few enquiries around to suppliers of alpha-amylase enzyme to see if I can source a small quantity. If I can find that and purple corn, I might be in business! Here's some good info on traditional Chicha.
With the exception of my big 100L batch of neutral spirit for this summer, I'll be trying to use Proculture Yeasts. I had a chance to meet Wayne Reeve, a Senior Lecturer in Cell Biology and Microbiology at Murdoch University - who cultures yeast strains locally for use by commercial and home brewers in the area. What an interesting guy, he knows his shit for sure and his yeast is cultured to order, so it's super fresh.
So an update on things at the moment, the ginger wine looks like it has been slowly fermenting a little bit - I'll try to find the time this weekend to check how much available sugars there are and what I can do about it. Not much progress there.
Additionally, in my first foray into the liquer flavouring, which is my big focus at the moment (honest), I've thrown some off-the-shelf vodka into a recipe for a coffee liquer. It's been sitting for almost a week, and I'd like to see how it turns out - as a nice Kahlua style liquer would be awesome.
I'll be sending off some wine in the post next week to thank the lovely Colin Bell from AHA Viticulture, who kindly donated his excess grapes for my Cabernet Merlot. The wine postage box has been sitting here for months and I feel terrible I haven't thanked him properly yet.
Also in the works, I'm finally going to grow my Naga Jolokia seeds (the hottest chilli in the world). I've had these for over two years now and really want to see how they turn out. How is this related to brewing? Think about it ;)
That's it for now, a bit longer update than I was expecting - until next time!
- Read more about Brewing Update: Beer? BEER!
- will's blog
- Log in or register to post comments
Pages







