June 7, 2009 - Tags:

Building a quiet, energy efficient PC

Building a quiet and energy efficient PC has been on my To-Do list for some time. Since we needed a new family computer and I was in dire need of a new “project” I gave it a try. Our requirements were:

  • Not audible under normal noise levels
  • Not more than 50-60 W power consumption on idle
  • Fast enough for web surfing, office work and video playback
  • Doesn’t need to support modern games (got my PS3/Xbox360 for that)
  • Not more than 450 Euro
components

This is going to take some work ...

These are the components I choose:

  • CPU: Athlon X2 5050e – a 2.6 GHz dual core processor which will step down to 1 GHz on idle load (58 EUR)
  • Mainboard: Asus M3A78-EM (75 EUR) – it has 12 USB ports, HDMI, DVI, DisplayPort, Gigabit LAN, 8 channel HD audio and a fast on-board GPU. This mainboard has a AMD 780G chipset with an integrated GPU which is DirectX 10 compatible and supports hardware based decoding of different HD video algorithms. That’s all you’ll ever need if you don’t want to play the latest 3D games. Leaving out an external graphics card reduces power consumption and heat by a large margin.
  • RAM: 4 GB DDR2-800 (52 EUR)
  • CPU cooler: Ninja Mini – can be used to cool the 5050e passively (35 EUR)
  • HD: Western Digital 640 GB (54 EUR) + Sharkoon HDD Vibe-Fixer (10 EUR)
  • DVD burner: Pioneer DVR-216 DVD (29 EUR)
  • Power supply: Enermax PRO82+ 385W (60 EUR)
  • Case: Sharkoon Rebel9 (55 EUR) +  120mm Arctic Cooling PWM case fans (5 EUR)

Total price was about 433 EUR + shipping.

the mainboard's back panel

The mainboard's back panel - including HDMI, DisplayPort and external SATA.

It has been years since I last put together a computer, so I had the chance to make a number of mistakes. Here are some of my learnings during this project:

  • Modern mainboards have 2 power connectors, don’t forget to connect the second, smaller 12V plug
  • Don’t use too much thermal paste. On my first try I used the paste which came with the Ninja Mini and spread more than the recommended rice-corn-size drop. I ended up with an idle CPU temperature of 45 degrees, which I thought was way too high. I took everything apart again, cleaned up the mess and applyed the proper amount. Now the CPU temperature was at 36 degrees, almost 10 degrees less.
  • The AM2 socket version of the Ninja  Mini metal clamps can be adjusted. If they don’t fit without you almost breaking the mainboard, try to loosen them up a bit (even if you have to bend them).
  • The power supply fan was supposed to be quiet. Once I had everything up and running I noticed a slight grinding noise. The fan’s bearing seemed to be out-of-balance. I took apart the power supply and used a second 120mm case fan for it.
  • The Asus mainboard has only one PWM enabled, controllable fan connector (for the CPU). Since now I had to hook up the power supply fan as well (the internal connector couldn’t be reused because it’s not a standard fan connector) I was happy to see that you can chain the Arctic Cooling fans. You connect the first one to the mainboard’s CPU fan connector, then the second fan to the first one. Once you’re done the BIOS can control all fans at once, keeping them at the same speed depending on the CPU’s temperature.
  • If you want a quiet computer, use components that emit as little heat as possible. Then you need to get rid of everything which can cause vibrations. Separate the hard drive and all fans from the case using rubber rails/plugs.
new fans

Only 2 fans, the PSU fan has been replaced and I added rubber pins to reduce vibrations.

All in all, there’s just one rule of PC building:

If it doesn’t fit, don’t force it. You’re probably doing it the wrong way.

everything put together

Done! The CPU is cooled by heatsink only.

So, now that everything works, how is it?

  • During the day I can’t hear the PC running unless I put my ear on it, when it’s very quite I hear the noise caused be the air flowing out of the case
  • The 780G on-board graphic is fast enough to play 1080p HD video and to decode it under very little CPU load
  • Power consumption is similar to a laptop (50-60W on idle, 80W under load)
  • The CPU’s temperature is at 38 degrees Celsius most of the time, goes up to 55 under heavy load. The fans rotate at a slow 500-600 RPM 90% of the time.
  • I put the Windows 7 RC on it, which by the way, rocks
Harddrive mounted with the Sharkoon HDD Vibe-Fixer

Harddrive mounted with the Sharkoon HDD Vibe-Fixer.

September 7, 2008 - Tags:

Crafting your code and respecting other’s

I noticed that a lot of developers don’t take responsibility laying out their code anymore. Using auto-formatters, auto-sorters and auto-clean-up-ers they surrender their work to their IDE.

I like to craft my code. I’ll break lines where it makes sense. I group methods in logical blocks. Every space I insert is intentional. It’s all part of the art.

Until a minute later someone runs their little helpers making a mess out of what was once a beautiful piece of text.

The number one reason seems to be to “reduce version control conflicts”. Of course there are less conflicts if all code looks the same. But: If you just keep mine as it is and don’t reformat it there wont be any conflicts either. Sorting methods alphabetically? Breaking a line in an awkward spot just because it has 83 characters instead of 80? Reordering import statements?

A good set of sensible coding guidelines and responsible programmers who love their art should be enough to keep a clean code base.

July 12, 2008 - Tags:

iPhone 3G – My first impressions

I’ve finally caved in and got myself an iPhone yesterday. Now that I spend a whole day playing with it I thought I should write down my first impressions. In short: It’s absolutely awesome. In long:

What I liked:

  • UMTS is fricking fast, at least in Hamburg. But maybe I’m easy to impress because I’m used to surf via GPRS on my old phone (I know…). I switched to EDGE and still got about 280 kbit/sec.
  • The GPS finds your position fast, cell phone tower triangulation works good too. The map starts circling your position as soon as you open it and then refines it as more data becomes available.
  • Visual Voicemail! I gave up on normal voice mail. Sorry if I never even listened to messages you left. It’s just too bothersome. But I can work this!
  • Location based services. This has been promised since years and now it finally works. It’s spooky though. Exposure (a Flickr app) has a feature called “Photo’s near me”. I touched it and a few seconds later it showed me a photo of a building across the street and told me it was taken 150 meters from my position.
  • The AppStore can turn this little thing in just about anything. And there’s always the SDK if you want to get your own hands dirty. Some of the games are awesome.

What I can learn to live with:

  • Scrolling is weird? Maybe it’s just me because I never heard anybody else complain. I’m used to drag scrollbars down when I want to scroll down. On the iPhone you drag the whole view. If you want to see the bottom of the view you drag it up. Takes some time to get used to.
  • It’s a dust and finger print magnet. Maybe the white one doesn’t show them as badly? Once the screen is lit you wont see the dirt.
  • I think I’ll keep using my old iPod as a music player. I’m just not used to doing that on my phone. Maybe I’ll change my mind in a few days.
May 21, 2008 - Tags:

Don’t make me think, much less, waste my time

I’m currently working on functional specifications for an e-commerce project. It’s always “fun” to be on the short end of the stick, e.g. the customer’s side. So I decided to write down what happened to me last night when I was trying to print shipping labels on DHL’s site:

They offer me two options for printing, a Java applet or a PDF download. Do “normal” people know what a Java applet is? Either way, I choose PDF and the label opens in my trusted Foxit PDF reader.

This looks wrong. The label is illegible, having written “example” all over it. After reading the FAQ it turns out I need Adobe’s PDF reader. I download & install it, when I open the PDF again I see two buttons: “test print” and “print for real”.

Testing is for chickens so I just print for real. Adobe PDF says it needs to connect to some server at DHL to figure out its thing. Then it tells me printing failed. Fair enough, I click “print for real” again. Now it tells me my label was already printed and doing so again would not be allowed because I’m probably  cheating on DHL.
Let’s try the Java applet.  Turns out my browser didn’t even have a Java runtime installed.
So I figure out how to get the Java runtime up and running on my Firefox 3 RC. Finally the applet shows and I get the same message again. Can’t print because I printed already.

I would have given up here if I didn’t already pay for shipping.

They have an option to chat with consumer service, but no luck again because we’re already past office time. Didn’t know websites have office times. Email or Phone? I’m kind of pissed now and don’t want to have to wait 24 hours for somebody to get back to me.

I get on the phone. The service agent is friendly. At least they know they have a website out there.
After some back and forth (”Why didn’t you test print first?”) they decide to “reset” my printing token and I get to print again.
This time I do the PDF test print. It works. Then the real print, which works now too.

Learnings?

  • People don’t read your instructions or FAQ’s unless they have a problem. Don’t rely on them knowing what they’re doing before they do.
  • If I play around with it, I shouldn’t be able to get myself into a corner I can’t get out off on my own.
  • Don’t make assumptions which software I’m using, try to find the lowest common denominator.
  • “Portable” Document Format my ass.
  • I happened to know what a Java applet is and how to install crap to make it running, but most people wont.
  • Don’t offer online chat if you can’t have somebody there 24/7.
  • Last time I shipped something with UPS they send me an email with an link to an image containing the label. That was plain, simple, low tech and worked.
May 16, 2008 - Tags:

9 things I learned at the next08 conference

  1. Lots of talks seemed to ask why we are doing what we are doing and how we can cope with a faster changing world. This led to some very philosophical discussions I did not expect from this conference. Refreshing.
  2. There’s no better way to wake up a businessy audience than throwing some nice technical slides at them early in the morning. Thank you Mike Jennings! (he talked about Google Android). Funny.
  3. Prof. Dueck rocks, easily the best talk, got to read his books now. He talked about technology adoption using some very charming examples featuring his wife. Awesome.
  4. When you’re so busy constantly mentioning you’re from Techcrunch, you do things like asking presenters the same question the person before you just asked. Pathetic.
  5. A good way to spook a Google employee is to have a journalist twist his lax remarks about a video ad he already watched 10 times into something like “who clicks on ads anyways”. Entertaining.
  6. You can use a wiki as a substitute for presentation slides, as Jeremy Ruston, inventor of Tiddlywiki proofed. Different.
  7. People you barely know become your best friends once you advanced half way in line to the buffet. Expected.
  8. I was dumb enough to check my email over unencrypted http on the open wlan, had to change all passwords when i got home. Irritating.
  9. Don’t even try to keep up with your Russian born co-worker when it comes to vodka ridden long drinks. Scary.
May 12, 2008 - Tags:

See you at next08?

I will be at next08 (thursday, May 15th in Hamburg, Germany), a web conference organized by the company I’m working for. This year’s theme is “get realtime”. There are 70 speakers so I’m currently working through the schedule to see what I’m interested in:

  • Werner Vogel (Amazon’s CTO) probably talking about Amazon’s cloud computing efforts (S3, EC2, SimpleDB).
  • Ryan Singer of 37signals presenting on “Things We Care About”. Hopefully it will be something along the lines of this article.
  • Mike Jennings (Google) talking about Android.

But that’s just me looking through my software developer goggles. Check out the schedule to find something you’re interested in.

Keep an eye on the #next08 Twitter hashtag.

May 3, 2008 - Tags: ,

Cuban public can buy desktop PC’s now

Now that Castro is out of office, the cuban public can buy desktop PC’s for the first time.

A tower-style QTECH PC and monitor costs nearly US$780 (euro505). While few Cubans can afford that, dozens still gawked outside a tiny Havana electronics store, crowding every inch of its large glass windows and leaving finger and nose prints behind.

April 25, 2008 - Tags:

Creepy mailman murderer

We have a creepy mailman. He’s friendly, smiling a lot, waving at us whenever we see him. My wife says he might kill us one day and I think she’s onto something here. Is there any better disguise for a murderer? We’d open the door if he rings. For sure. He can park his truck in front of the house all day without causing suspicion. Once he chopped us up, he may stuff us in big carton boxes and no one would think a thing of it. A mailman carrying big boxes in and out of houses. Well, maybe he’s just friendly.

February 17, 2008 - Tags:

Synchronizing Subversion Repositories

Since Subversion 1.4 you can synchronize repositories easily. This way you can have a local copy which works when you’re offline. Great to keep a copy of your code + history on your laptop. The only thing to watch out for is that you can only synchronize it one-way, so don’t commit anything. Here’s how to do it on Windows:
more …

February 9, 2008 - Tags: ,

The Evils of java.lang.String.toUpperCase

String.toUpperCase is not as innocent as it looks. If you carefully read the docs you’ll see that the default signature asks for a java.util.Locale. The reasoning behind this is that there are language specific rules on how to convert lower case letters to uppercase. German, for example, has the letter “ß” which gets converted to “SS”, so “straße” becomes “STRASSE”. See the problem? The String length changed! This can trip you up if you stored it somewhere before you called toUpperCase. I’m sure there are lots of examples for other languages, so watch out and never store a String length.

Next Page »
(C) 2008 - Stephan Brosinski - All Rights Reserved