The Von Trapp family singers didn’t really sing all jolly Rogers & Hammerstein numbers. It was more Austrian folk music before they moved into Dub Step

So woke up far too early to take the dog to play group. Had to wait in the car for a bit for it to defrost. Anyway she got there fine and I got back into bed.

So spent the day still working on something not very interesting, to the point I was working into the evening to get all the hours in as it wasn’t really holding my attention. Still it’s getting done and all seems to be working so far.

Went for a run lunchtime and used a new ‘Run Keeper’ app, which is very good, it showed a complete GPS trace of my run. So 1:03 minutes for 7.08 miles. Considering it’s cross-country and involves quite a lot of mud then I don’t think that’s too bad.

Caught the courier today, I now have my new iPod dock, which is slightly unnecessary but still has a pretty good sound. It’s now playing out some ‘Ministry of Sound’ remix. It’s helped me get through the rest of the day for sure.

Picked up the dog. Did more work. Now I think it’s time for a sit down.

I made wine

Did work. It was so dull I’m just not going into it, but basically I added something I have no interest in into something I have no interest in. Tomorrow I’m sure will be just as dull.

Jamie’s turn with the dog, which means she’s finally being walked at 11:30PM. She still hasn’t been fed yet. She’s off to daycare tomorrow.

I went for a run lunchtime, that was fun. My iPod dock arrived when I was out, which means it didn’t arrive.

After my dull day I syphoned off my wine, into another bucket and tasted it. It tastes like wine, which is a plus. Needs to mature for a while though, gain some body. Unlike Jamie, who needs to lose some body. Sat down, watched TV, had a shower, watched more TV.

So are 7 redeem codes for every atom of a human for every human on earth going to be enough?

This morning was back on to Java stuff. Got my client / server all working nicely together now. Just trying to add extras and robustness. Did take a bit of a break this afternoon to come up with something the produces ‘redeem codes’, you know the things that you get sent and they unlock x/y/z. Trying to produce unique codes is quite interesting. I worked on using a random number generator from a given seed, that then produced a combination of numbers. I’ve now managed to produce enough redeem codes for every atom in a human body for every human on earth. Oh and they can have seven of them and they will all be unique. Somehow I don’t think we will ever run out. Then it was back on to more Java network stuff. Added CRC32 checks and message lengths and things. Also adding support for multiple message and split packets.

Walked the dog, she found a tennis ball fairly early on and kept it in her mouth for the entire walk. She brought it back with her and now is asleep on the bed with it. Tomorrow I’m sure she’ll just eat it. Went to the gym and did Body Combat, was fun, replacement instructor today, she was fairly mad. Now I think it’s time for salad.

What we need you see is a fucking great palm tree

So started off today with a man with a bad hair do. Mr Donald Trump. Missed the fact that a new celebrity apprentice had started, well not new it’s probably about five years old. Anyway, stayed in bed and watched it on iPlayer. Had disappointing sex, well if you can call it that, fap, fap, fap. Got up. Had lunch. Picked up the dog shit. Then decided as it was only about two degrees that it would be a great idea to go for a run. Plus I actually bought some new kit yesterday so I no longer had to make a thermal top last three run sessions. So I donned said lycra arrangements and ran eight miles. Came back and removed sweaty bits, left my compression tights on, much to Jamie’s hilariarity. They stop my legs turning into an eighty year old, I can run mils and still feel great, even if I do look like a WWF wrestler.

As my home brew had brewed it was time to start adding things and stirring stuff. So I did. And now positioned the giant barrel on a chest of drawers ready to syphon off when it clears. Also steamed the labels off a few bottles, that’s quite hard going actually. Still all sterilised now and ready for the juice. I think I’m going to do another white after this and then may be try a red. I’ve asked people to keep their empties as bottles is one thing I’m short of.

Bled the radiators. As the pump is running flat out, all they are doing is sucking in air at the moment. I checked and cleaned out the filter, it wasn’t bad but will give it another week.

Thinking about getting a few house plants to brightened the place up a bit. Although I’ve resisted the temptation to but a 30ft palm tree.

I think I’m pretty much done for the weekend now, time to take the lycra off.

And then the distribution point blows up

Last thing Friday night I noticed the TV signal had vanished. So Saturday morning after the usual coffee, breakfast and dog pee (don’t mix those up) it was time for some investigation. I thought it was going to be a simple bad connection somewhere, but in the end it appears that the distribution amp in the loft although the power light was on, was indeed completely fucked and no signal was coming out of it at all. TLC Direct had them in stock, but closed at 12:30, it was 12:15. So I bodged the connection up to the main TV using a couple of chocolate box connectors and some silver foil. I also added an old aerial amp downstairs to give it a bit of a boost. Then I thought ScrewFix may do one, and indeed they did. So reserved that. Walked the dog. Did the shopping. By now time was getting on, so headed over to Yate and picked up amp. Then wandered over to Cribbs, wanted to look at some iPod docks. Went to John Lewis, looked at Bose docks, look pretty, cost a fortune and to be honest don’t actually sound that great. Went to HMV where they were trying to dump stock of obviously over bought crap docks. Went to Curry’s where they had lots of docks, none of them in stock.

Went to mothers. Listened to her talk about herself for an hour. Put her Christmas tree in the loft. Came home. Fitted amp. All worked no problem. Started on the accounts. Then got a text from Jamie to be picked up, he was in town with many females doing drinking and eating things. This was nine forty-five, he’s a hell of a partier. Picked them up. Came home and finished the accounts. Bought a dock of Amazon, so much for the high street retailer. Had a bath. Then cooked for one. I made a Phal, it was very good. Meant to be quite a hot dish, but it was indeed very nice.

Non blocking sockets

Watched quite a heavy film last night so didn’t start the day with bells and whistles. Anyway, back on with Java, today’s task really was just to complete my conversion of my server code from C++. Spent the bulk of the day on the server side TCP handling. I’m not going for SSL straight away as that’s just going to complicate things. Now the usual way of doing this is to either create a number of threads and then each one of them listens on a socket and then creates a client or to have a main thread that listens and then create threads as new connections come in. Talking to the guys it appears there is another way to do it in Java. It uses a ‘Selector’, so what you do is set up a socket stream and then set that no non-blocking. You then create a selector and add the socket to it and tell it you want it to monitor ‘accept’. Then you just sit in a loop iterating over this selector array. On accepts you just create the client socket and say you want to monitor read and write. Reads are fairly straight forward, writes I’m not so sure about yet as normally output shouldn’t be blocked, but I’m thinking if writes are suddenly unavailable then may be this is good way of checking for disconnections. Anyway, got it all as far as running and accepting a connection and then crashing, but that’s a job for another day. Not sure how much more time I’ll be allowed to spend on it, but if I’m given a couple more days then I think I’ve pretty much got the new language mastered.

Other activities, well not a great deal. Walked the dog as it’s my turn on Friday’s. She was actually really good. I took some biscuits with me and rewarding her when she didn’t try and declare war on other dogs. Went to the gym and did pump. Now I think it’s time to shutdown, both the machine and myself.

Today I learnt the rest of Java

So started as I left yesterday, but as I didn’t sleep well last night I set myself a bit of a challenge to do with callbacks. Had an idea about how to solve them using interfaces and thankfully worked it out with no Googling. Then it was very much the case of working through the rest of the tutorial. So covered threads and syncronisation, streams and a few security type things.

It’s Jamie’s turn to walk the dog so I went cross country running. New compression tights arrived today, so wore them for the run and kept them on until this evening. Must admit I’ve had no muscle ache at all so they do a good job. Jamie still hasn’t walked the dog.

After I finished the tutorial I decided to try and convert the server side of the client / server app I was working on last week into Java. Certainly a learning experience, no problems so far and has been very interesting.

Last night there was a brewing ‘incident’. The airlock on the big brew barrel decided not to work and it blew the lid clean off with a hell of an explosion. The good news is none of the actual brew escaped. Managed to fix the lid and replace the airlock, dropped the temperature a bit and now it’s all bubbling nicely. Unlike the strawberry wine which seems to be fizzing a bit, but nothing in the way of major carbon dioxide. It’s meant to be ready in three weeks, it’s done about two, I reckon it’s going to need about six before the gravity drops. Still the big barrel should be done by about Tuesday.

So more of the same tomorrow, which I’m quite looking forward to. I think I need to get an iPod/iPad dock as trance from the iMac speakers is just shit.

It’s torture porn night, but tonight’s film isn’t the usual horror, I think it’s a bit of a thriller.

And today I learnt Java

Early start today, dog off to play group. She was so excited so didn’t even eat her breakfast. I was beautifully presented with a pile of piss on the kitchen floor though, I think it was the dog, I have no recollection of doing it.

Then it was back to Java, well rather C++ interfacing to Java both ways. Java calling a Windows DLL caused me a few issues but got there in the end. C++ calling Java on the other hand worked first time. I have a good understanding of it now, not sure if it will ever be used, but you never know when your suddenly going to be presented with a C only lib that you need to call from a Java server app. If I am, at least I know how to do it now.

Rang the cleaners, they were coming in about an hour, so went went out for a run of ‘about an hour’. Got back just before they arrived. I must say my Dyson is more effective than their Henry. I think the fine art of ‘rubbing your trainer over the carpet to lift the dog hair’ leaves something to be desired. Anyway, cleaning done, house now tidy.

So then spent the rest of the day into the evening learning Java. From classes, instantiation and initialision, all the way through system resources and exception handling. Must admit, like what I’ve seen so far, all makes sense. Still got a lot to cover, but I imagine I’ll have it all nailed by tomorrow. Learning a new language in a day, no problem, but then again I’ve been doing it for 27 years so I’ve kind of got the hang of it by now.

Picked up dog. She’s picked up a war wound off a bush. She’ll live. House now dirty again.

I’ve done my exercise for the day, so think I may just have a sit down now.

And then I made wine

So started off continuing with the SSL client / server. Then found out I was being re-deployed. So spent up to lunchtime just finishing off what I was doing and archiving it off.

It’s Tuesday so Jamie’s turn to walk the dog, so I went out for a run. Was tiring but good fun.

Came back, now I’m part of the online server team. Something I haven’t done before, but grab it by the horns and try and learn something new. I’m going into it with an open mind, but a ton of bitterness, see how it goes. Ended up trying to do bits in Java, I seem to have been there before on Android.

Anyway, spent the evening then sterilising all my wine making kit. Then made my 30 bottle wine kit. Well it’s in the spare room brewing. Will see how it all goes.

More OpenSSL

So today started with a bit of an oddity, I may be re-deployed on something else, but that isn’t clear yet, so back on with what I was doing. So it was secure socket layer or SSL as it’s known. I’m using OpenSSL as I said before. I had the client up and running but now it was time to do the server. After a bit more research I decided to basically use the existing socket architecture rather than using ‘BIOs’ which is OpenSSL I/O stuff. This means that SSL is built on top the normal socket layer. Also means there are less changes. Although the way it works is a bit strange with data streaming in and out. You bind your socket as normal, but then you have to set it to non-blocking. You then do a dummy read, if that returns ‘need more data’ then you then use ‘select’ as normal to detect if there is any data on the socket, you then do the read again when there is. Write is also similar, you do the write and it may request to wait for output to flush or for input to flush. Yes, both read and write can both request read and write data on the socket. This is because re-negotiation may take place. So it’s a little bit backwards, but fairly easy to understand. Got all that working without too much of a problem.

My turn to take the dog for a walk, so she got a good hour. Then it was back to client side again. So I set that up as non-blocking and had to do a couple of adjustments to get it to respond to ‘is message ready’, basically you have to do a peek rather than a read, then do a pending call, that will tell you then if you need to do a read. I left the actual client code all blocking as the TCP client code before was. It would be fairly easy to change that to non-blocking now though.

Went to the gym and did Body Combat, great fun, busy class, busy car park. Then it was server encryption. Set up the server so it only does strong encryption and supports DH key exchange. This uses a few callbacks, but again was fairly simple to implement.

Not sure how much further I’m going to take this now, will probably just end up adding a bit of error checking and that will be it. Will find out tomorrow.