🎂 Birthday 2020

Photo by Adi Goldstein on Unsplash

I know, I know, we are supposed to be talking about server-side rendering, but it was my birthday this weekend. Though for a moment I considered writing something on GitHub Actions, on reflection, I decided I would do better to hold that for a time when I can give it, too, more focus.

Of course, you might think the lack of a new technical post (and the presence of this prosaic interlude) were down to over indulgence in alcohol. It seems like a natural conclusion to draw. It is wrong though; I have not had a drink since New Year and, October, before that. Alcohol had not helped my mood while dealing with intense emotions, so I cut it out. No, I cannot blame the lack of a technical post on the drink. In fact, there is nothing upon which blame could be placed; I just did not want to spend time writing a detailed technical blog on my birthday weekend. So, I did not. If we cannot treat ourselves to what we want on our birthdays, when can we?

Since not drinking I have really struggled to work out how I celebrate things. My life to this point has the concept of celebration deeply anchored by drinking. I drank socially and, thankfully, without addiction – my drinking problem was emotional rather than physical. Whether promotion, birthday, or some other news to commemorate or celebrate, my immediate inclination has been to have a beer or perhaps something stronger. Recently, since I don't drink, I would remind myself of that and then my brain would say, "Well, smoke then." But I do not smoke anymore either – I am an addict when it comes to nicotine. Suddenly, celebration has meant reminding myself of past joys and then having to find the willpower to deny myself those things. It does not feel like celebration.

Since my birthday was not going to wait while I figured this out, this weekend, I tried celebrating regardless. Instead of smoking and drinking as I would have twenty years ago1, I focused more on love and laughter, spending time in the company of wonderful, supportive, and funny friends, old and new. The emotional turmoil of the last few months, and its associated uncertainty has meant a lot of change. This weekend was delightfully entertaining, and on occasion, awkward, uncomfortable, and entirely, humanly reassuring. Although I am still learning exactly what celebration means to me now that I am an ex-smoker and non-drinking Englishman, I still had an absolutely lovely time.

I feel so much better having shared that with you. Please do join me next week when normal programming will resume. I really value our time together and am very grateful that I was able to take some time away to spend my birthday with friends. đź’™

  1. yeah, I am getting old, it seems []

I Have An Announcement To Make

This is going to come as a shock to friends and family alike, so please, take a seat. I have to tell you that Chrissy and I are, as of Friday, the proud parents of a child. One imaginary, completely made-up, sexless, physically unmanifested and nameless child.

As with most fake children, the conception, gestation and birth occurred within moments of one another. And it is all my fault (typical that I get the blame, huh, gents?).

If you would be so kind as to remain seated, I will explain myself (I apologise if this gets a bit graphic as I'm going to be honest about the details which may include cussing, just be grateful I did not video the birth, I certainly am).

A Typical Friday Morning

It all happened on Friday morning when I took my car for a scheduled service. The service greeter guy (official title, I believe) greeted me by name, having remembered me from my last service six months ago when he had kindly arranged for important work to be done under warranty1. He proceeded to fill out paperwork and inspect the car.

The car had not done many miles since the last service, so he wanted to double check if the tyres needed rotating (tire, as he said it, because he is American and therefore speaks in different spellings). From a quick check of the tread, he decided that only the right-side tyres needed rotating "to keep my kids safe". And this is where I made my first mistake. I started thinking.

He thinks we have kids. Shit. Do we? I don't know. Of course we don't, how don't you know? Oh fuck. What do I do? Correct him. Correct him! Shit, too late. We've moved on. Now it will just be weird. Nevermind.

So, I did not correct him. In my defense, it did feel a bit asinine to point that out. After all, he was really just saying he wanted people in my car to be safe and that is a nice thing, so I let the small inaccuracy of "kids" slip by, leaving Service Greeter Guy to continue in his belief that I had kids. Instead, I had the bright idea to change the subject.

ME: "I'm probably going to get a new car soon."

SGG: "Well, how many kids have you got?"

What?! Clearly Service Greeter Guy did not know the rules of changing the subject.

“At first sign of crisis, the ignorant don’t panic because they don’t know what’s going on, and then later they panic precisely because they don’t know what’s going on.
”2

At this point my subconscious started to determine what my next move should be in this battle of wits. The sane part of me said I should come clean and tell him we did not have any kids, but that is too much like normal. I do not do normal very well.

Shit! He asked how many kids we have. Are we supposed to have kids? Is it wrong not to have any kids? Fuck. Fuck. FUCK! We have…er…shit. Don't hesitate. Now he looks puzzled, "Why doesn't he know how many kids he has?" Why are you not speaking?

ME: "It depends."

It depends?! Depends on what? How many I've kidnapped on a given day? What the fuck?

I had somehow determined that this hole was far from deep enough and started furiously digging. Service Greeter Guy looked confused and why would he not? I was confused and panicking.

SGG: "No, just you and your wife."

Fortunately for me, while I was panicking, Service Greeter Guy appeared to have been searching for a rational reason why the strange British man might say "It depends" to such a straightforward question. I can only assume he had decided that we ferry local kids around for some after school club or some equally normal activity where the number of kids in my car might vary. Of course, he was not going to get off so lightly. Tossing aside this opportunity to set everything straight, take the hit of embarrassment and move on, I kept digging.

ME: "One."

All of a sudden and there it was, our imaginary child, fresh from the womb of insanity, waiting to be saved by the tyre rotation that had conceived it.

Service Greeter Guy continued with his day, unaware that I had lied to him for no reason whatsoever other than the growing panic inside me, feeling like I might be judged for not having children. While he calmly tapped at keys and got me a ride to work, I calmly considered the impact of my new ward's inexistence.

One? We have one? FUCK! Now I have to have at least one kid for the rest of my days coming here to fix my car. Fuck. Will he remember? Yes, he'll remember! He remembered your fucking name when you drove in this morning from six months ago. Arse. Can I borrow a kid?

"Parenthood always comes as a shock. Postpartum blues? Postpartum panic is more like it. We set out to have a baby; what we get is a total takeover of our lives."3

If it were not for a chat with my wife later in the day, our happy news of  September 28th, 2012 may have been known only to me. However, it was her fake kid too, so I wanted to share with her the overwhelming burden of parenthood. Of course, she happily wanted me to share it with everyone, which is why I have written it down here for all to revel in my weirdity.

If you want to send birthday cards, gifts (no obligation, but it loves beer) or just a comment, have at it. Perhaps you even have ideas on what we can do with our new child. Name it? Give it a sibling? Kill it? Please share.

  1. I do know Service Greeter Guy's name, I'm just choosing to omit it. []
  2. Jarod Kintz, At even one penny, this book would be overpriced. In fact, free is too expensive, because you'd still waste time by reading it. []
  3. Polly Berrien Berends []

Super Awesome Computer

Happy birthday to me!

For my birthday this year, my amazing wife arranged for my almost as equally amazing friends and family to contribute towards a copy of Pro Tools 10 so that I could get back to recording music. It is one of the best gifts ever, but there was a snag; the computer I had built back in 2005 was already feeling its age1 and definitely not up to the task. As if by brilliant parental planning 30-something years ago, our tax refund arrived shortly thereafter and redirected to the Super Awesome Computer fund.

With the budget set at $2000, I proceeded to research what I could get for my money that would result in a Super Awesome Computer for me to record music (and perhaps a few other things). The research took six hours, twice (the first time I just added things to the online cart and then left it open on the wife's MacBook, which then ended up needing a restart the following evening and lost all my selections). Besides the customer reviews on sites like TigerDirect.com and NewEgg.com, one of my primary resources was Coding Horror; in particular, Building A PC, Part VII: Rebooting. It was from this blog that I settled on the 600T case from Corsair. This case is a little bulky (so much so that it doesn't fit inside our new desk as I originally planned), but it has plenty of room inside and some nice ventilation including two 200mm fans and an open grill in the side2. I also purchased the larger 140mm fan to replace the stock 120mm as recommended by Jeff.

Things for the Super Awesome Computer
Things for the Super Awesome Computer

For the main hardware, I went with the AMD FX-8150 8-core processor. I chose AMD over Intel after quite some deliberation because I could get a little more for my budget that way. The rest of the parts I chose are:

As I intend to use the system to record music, I wanted the system to be quiet so I chose a heat sink that would help to dissipate heat without the need for high speed fans. The larger 140mm Noctua fan to replace the stock 120mm fan on the 600T case was also intended for this purpose. Having the additional cooling capacity also has the added advantage of providing me with room to overclock.

Assembly

Inside the Super Awesome Computer case
Inside the Super Awesome Computer case

Assembling the Super Awesome Computer was not an easy task, mainly due to my inability to correctly determine the order in which things should be done. I started out by mounting the PSU inside the case. This was a breeze; the PSU secured by four screws through the rear of the case and a bracket in the bottom of the case that is easily adjusted. With the PSU in place, I moved on to the motherboard. This too was a simple addition. I then replaced the stock 120mm fan with the Noctua 140mm fan before inserting the CPU and memory. Everything was going great. Then I fitted the heat sink.

Replaced the 120mm fan and mounted the motherboard and PSU
Replaced the 120mm fan and mounted the motherboard and PSU

This thing is huge and requires some adjustments to the stock brackets on the motherboard before it fits. Once those changes were made, I applied heat transfer polymer to the top of the CPU and positioned the heat sink. The heat sink itself is secured to the bracket by two spring-loaded screws (the springs ensure a tight fit against the CPU). Reaching these screws is quite fiddly and requires a long screw driver or small hands (after some cursing, I opted for the former as my budget didn't cover surgery for the latter). It was clear early on that this was going to be a tight fit, the heat sink only just clearing the memory. In fact it was so tight, that two of the memory modules have absolutely no free movement with the heat sink sat on top. However, with the heat sink in place, I attached its fans and then went to the next step: connecting things.

And then I realised my mistake. You see the CPU power connectors and the CPU fan connector are down the sides of the motherboard that become pretty much inaccessible to human hands once the giant heat sink is mounted. Having spent far too long getting the heat sink secured, I was loathe to remove it, so I stupidly opted for fiddling. It took me forever to connect the cables; time I won't get back and time that was ultimately wasted (read on to find out why). After some perseverance, I did get these cables attached and proceeded to insert the graphics card, hard drives, blu ray drive and attach all their cables and the case connections to drive the header.

Everything is in place and connected
Everything is in place and connected

At this point, everything was assembled and I was tired, sweating and bleeding a little so I went to bed. From this point on, we're short on pictures because I don't always think ahead.

It's alive!…for 20 seconds

With concern over the slightly compressed memory and a few other little things, I waited two days before applying power to the system. With some trepidation, I plugged the computer into a monitor and a power source and turned it on. Everything came to life – the motherboard lit up, the fans lit up (to my surprise) and things started to whir. It was immediately clear that the fans were too loud, but that was the least of my problems. I jumped into the BIOS and as I reviewed various settings and set the clock, the system turned off. I started it again and again, after a few seconds it turned off. Something was wrong.

My instinct told me that it was probably the processor overheating so I started it one more time and jumped through the BIOS menus quickly to get to the system health display. Sure enough, the processor temperature climbed quickly until it reached 100°C and the system shutdown. The heat sink wasn't working. Great.

I opened up the computer, removed the heat sink fans and carefully unmounted the heat sink. It was clear from the smeared heat transfer on the top of the CPU that the heat sink had made adequate contact with it, so what was wrong? Turning over the heat sink, all became clear – in my tired, eager state-of-mind I had read and promptly disregarded the label on the base of the heat sink that said something along the lines of "REMOVE THIS BEFORE MOUNTING". Realising my error, I removed the sticker and reapplied heat transfer to the CPU. Before remounting the heat sink, I checked all the cable connections that I had struggled to reach before and made sure everything was properly seated (told you I had wasted my time).

Ssshhhh

While the computer was open and its guts were accessible (and while the cats were out of the way after inspecting it for me), I decided to tackle the fan noise issue. The case comes with a fan control dial but I was reluctant to use it having used a similar system on my previous build and finding it inadequate (Jeff's comments on the case fan control also helped here). Fortunately, the Noctua fan included what appeared to be two different fan speed limiters. Having deduced what they were – these little devices are quite simple, looking like a short connector with a resistor inline on one side – I attached one to the CPU fan and one to the Noctua 140mm fan, then I booted the system3. The difference was immediately noticeable – a low-level white noise4.

I checked out the system health in the BIOS to see the system and CPU temperatures level out at a pleasing 30-35°C.

It's alive…I mean it this time!

With the hardware apparently operating correctly, I booted from my Windows 7 DVD and installed Windows to the SSD. Everything went well and before long I was updating drivers and getting on to the network to start applying updates. It was a day before I noticed that the blu ray drive had disappeared.

Some research on the Internet led me to suspect the Marvell SATA chip included on the motherboard. When putting the various drives into my system, I had decided to attach the blu ray drive to this controller while my SSD and HDD were attached to the motherboard's southbridge SATA controller. This proved to be a mistake and after various driver updates and other tinkering, I reopened the case and moved the blu ray over to one of the vacant southbridge SATA connections. A reboot later and everything was working again.

Sweet, sweet music

I have since installed my birthday gift and gleefully tinkered with the various stock instruments included. Everything is working so beautifully that I haven't had the patience or inclination to overclock the system (the Windows Experience Index is currently a pleasing 7.6). Not only that, but I came in under budget at just over $1800. I have since spent a little more on one or two other items, but they're not key to the build.

All in all, I am very pleased with my new system and I am really excited about getting to record music again. Good times await.

  1. Ahtlon XP 64-bit, 1 GB RAM, 320GB RAID 0 array []
  2. Unlike the stormtrooper variant that Jeff Atwood went with, which had a perspex panel in the side instead of the grill. []
  3. I wouldn't recommend attaching random parts to your system if you don't know what they are. []
  4. I suspect that with some eggbox foam, the noise would be barely noticeable. []