Sunday, January 23, 2011

Is it hard to use your brain?

Whenever someone asks me for an opinion on some computer he or she wants to build or buy, I am sighing and laughing at the same time. I have rarely seen any configuration or offer that was not against the laws of common sense to use for the intended purpose. If that was the case, though, the system was often dimensioned too big or too small.

My absolute favorite are systems intended for what I call general bullshit. The things normal people do with their computers, mostly running some browser, running an office suite and installing some software for this and that, like their camera or cell phone. Not that a camera should need software, but the too small and light kind of camera often comes with it and people open their disc tray faster than their mind, so...
Usually some co-worker or not too close acquaintance comes up with some current leaflet of the next best electronics discount and asks me if some of the crap in there would be a good deal. After the usual interview (what'cha gonna torture it with, how long should it be usable for the intended purpose and got money?) I usually reply with "nobody can really tell you". The baffled look usually turns into a disappointed one when I go with something like "there's no real information about the hardware, so how could I tell you more than maybe?".

The problem with almost all the discount offers is that they are horribly misconfigured for almost all customers, but at least sometimes equally for all of them. Since the Intel GMA HD nobody who does not distinctively run 3D crap needs discrete graphics. They just cost money and use power for no good reason. I agree, for some HTPC or an older box some used low end card off ebay might make a good addition to accelerate video stuff, but buying that after two years is a guaranteed money saver for the not wasted power alone.
What in almost all cases is the best part relative to what's available is the CPU. But have you ever really monitored your system for bottlenecks in the situations where you feel them? If yes, you likely do not want to exchange your CPU. And almost all the preconfigured systems would benefit if you'd take a slightly cheaper CPU and put the saved money into a better disk. Or more memory.

There is a couple of weird motherboards for special purposes that eat the expensive mobile CPUs and use mobile chipsets. So you have all the limits and the price tag of a laptop without the mobility. But if you take such a thing with one of the last Pentium M CPUs and attach some good disk, I had a SpinPoint F1 at hand, go for 3GB or more memory and try to use it, you will be amazed how usable such a thing can actually be. Of course, compiling code is as bad an idea as playing 3D games, but for the usual web browsing and office work the difference to a quad core with way faster memory and eight times the GFlops is not too big. If you put the old 250GB IDE disk into the powerhouse you might even see it lose against what is basically an old laptop with a good disk.

The price range of 1TB 3.5" disks is basically 50 to 120 bucks at the moment. The really expensive ones are with longer warranty and capable of running non stop for this time. If you see some system with an expensive CPU and a low price tag, expect that everything else is as cheap as possible. Better add another 25 bucks to get a decent disk.

What else could be cheap?
Sure, the PSU will be. And if you really use your rig, you will pay for that. Let's say the box sucks down a 100W while running in average. With a 65% efficiency this means you suck a 154W out of the outlet. With an 85% efficiency this lowers to 118W. You might say the relative efficiency I quote is too bad even for cheap PSUs, but go measure yourself. And take into account that they most often are not dimensioned accordingly to the used components. And those 36W of difference mean one kWh every 30 hours of use. Yes, this might seem like not much and it is not, but proper PSUs can be gotten for less than 40 bucks with proper efficiency and you get the usually way better quality of the brand stuff for free.

The memory will likely also be. Either you get all slots full with small modules and will have to ditch them once you wanna upgrade or the only good thing about the memory will be the size, while the timings are ass. Yeah, sure, you now say a difference in memory speed does not make too much of a difference, but if you consciously choose a slower CPU and think about the fact that the older the system gets, the more CPU bound it will be in most cases, the five bucks more to get memory with good timings you spent will have been worth it.

Something you almost never can tell from some newspaper ad and in most cases not even at the store is the mainboard, especially the chipset. While this is a completely different case in the AMD world, in Intel's domain you do not want anything else than an Intel chipset as a generic user. Not only because they usually perform faster but cause less trouble. Whether the low end chipset line is enough or if you should add some bucks to get something more mid end has changed relatively often from generation to generation. Just making sure the brand is not something you would mistake for an STD. My personal experience is that Asrock often delivers something well worth your money but your mileage may vary.
For the Core 2 line I have never seen current or better chipsets in seemingly cheap offers. At the time the 965 Express long had found successors it was put into a lot of the discounters' systems, simply just because it was old and this is always very bad for computer stuff. That you would never be able to experience the benefits of a newer CPU (FSB!), certain memory modules or nice and fast PCIe 2.0 lanes is not their problem.

If you really want to have a snappy and responsive system it might be worth thinking about getting an SSD as the primary disk for the OS and software. The 64GB models suffice for that easily and are nearing the 100 bucks rapidly.
The most important focus, though, is to put the focus on the area causing the most annoying delays for what you really do with your system. The exchange server with a quadcore but only two disks is a bright example of something gone horribly wrong, but that's stuff for another post.

Saturday, January 22, 2011

Helplessness, pity and kindness

Despite being partly a sociopath, a lunatic, misogynistic, a gloating bastard and a cynic that cannot hold back his happiness when the office is losing a valuable workday again for some reason I predicted, there is also a kind, loving and caring part of me that does all that for no reason but to know that someone was happy because of it.

Some time ago the doorbell rang and I expected some literally childish nuisance that needed PC related advice. Instead it was the female part of one of our neighbours. It's easy to make a list containing 20 items that each would qualify as a flaw in character about her. And although my girlfriend agrees she likes her to a good extent, which I only do to a rather small extend. When she told me, though, that they have pulled out their dishwasher to check if it does not work for the same reason as a year before, I saw a chance to support my reputation as a universal genius around the neighborhood in a quick and easy manner. And most of our neighbours are quite nice and you can always use a trump card if you need some good tools or a hand. Or a car with tow hitch.

The problem was soon analyzed and solved. The feet of the dishwasher weren't adjusted properly and pushing it back in this way was indeed impossible. Four minutes later it was screwed in its place again and I got big thanks and told what the problem was. What really made me pity her husband is the way she talks about him. I agree that he is the kind of guy that might have his best match with a rather dominant woman, but if my GF would talk about me in this way, especially when I was around, I'd give her a good amount of verbal backslaps. She described him as pretty much completely unhandy, incapable of solving the tiniest mechanical problems around the house and as acting impatient and dumb. ("When it doesn't work in a way he gets he tends to use force and break things.") Is there much more humiliating you can tell your neighbour about your husband when said neighbour obviously is, on top of everything else, the more intellectual, nerdy type and not your common handy man and of an age you'd expect a man of his age to act belittling towards his experience and skills just because of the age difference alone? I also bet this guy could achieve twice as much as he does now if he had his wife supporting him instead of dooming what he starts as a failure before he even moves his hand.

When I got told what the initial problem was they pulled the dishwasher out for, my greedy self was cringing. They had the same problem a year ago and paid the worth of a new machine for the repair. Now they wanted to exchange the same part and at least just pay the part's price, which would be acceptable. I told them that their problem is easily fixable for less than five bucks.
So soon the machine was back out again and she insisted to show me the instructions to disassemble the part . That gave me the chance to travel back in the early years of the century, with XGA flatscreens, something that seemed to be a slow Pentium IV and Windows XP running with way too less memory. Switching back to the Internet Explorer took the machine half a minute in which you could watch the GDI subsystem draw the window line by line. Of course the disk was rattling madly during swap file access and after maybe 15 seconds the fan started notably blowing. Netburst architecture at its best. The really sad part is that she uses this machine in her office and really works on it on a daily basis. If I would give such a thing to my GF to work with I would consider leaving her if she wouldn't slap me in the face immediately. And no, I do know money is not the issue.

After the half hour in her office was over, 5 minutes were scrolling to the line by line rendered PDF, 30 seconds contained possibly noteworthy information I wouldn't have minded being given, I took the machine apart and decided to also take off some dirty parts not mentioned in the instructions. An hour later everything except the one big part that needed inner cleaning with mild acid or vinegar was disassembled, cleaned and reassembled. In the meantime I heard not only more thanks than I had already gotten while being there, but also that the machines works like new again.


I tried to imagine how I would feel in such a situation if I would be unable to just take out some machine, take a close look to identify at least basic problems and disassemble easy mechanics. Of course, stuff like installing cables and wiring ethernet is not everybody's piece of cake and hardware diagnosis on laptops also is not something one must be able to do. Let alone resolder BGA chips with basic household tools on a two sided PCB. But how can you call yourself a man if a screwdriver and some tweezers are beyond what you can operate?
Yes, what makes a man manly has been defined quite differently during the last centuries and still is seemingly judged differently between men and women, but... WTF?

The lesson I learned from that is that I should be glad that I have two hands and am not just able to move them consciously, but also some mind that is able to transform eyesight into abstraction, apply transformations to abstractions and output the result as a series of hand movements.

Thursday, January 20, 2011

Folding paper can cost you money

I just got an email that's been directed to all local employees. Our printer park consists of several rather monstrous units that are made to put through several million pages per month. One had a serious problem yesterday I couldn't look after due to time constraints which has now been solved by the technician from the company the printers are leased from.

Someone did actually put paper in A3 size in the compartment for A4. A3 is exactly twice as big as A4. The paper was folded in half. How does one get such ideas?

Wednesday, January 19, 2011

The 400GB USB Stick

At work the lecturers have a widely varying range of computer and IT knowledge. Some teach programming and one guy doesn't even just look like a complete uber-nerd, he indeed replied with "250 dash <complete name> Hello" when I greeted him with "EHLO". If this just makes you think "WTF", google for SMTP and telnet client or console. SMTP is still the standard protocol to send email and the commands are in plain text.

Of course there's also the direct opposite of such people. The kind that does have no idea at all and needs help connecting a projector or playing a DVD. The worst kind of all is none of that, but has instead a very thin and scattered knowledge, yet thinks to have the skills of a professional. When something does not work as they expect it, it is obviously defective, because they already tried "fixing" it. Fixing here just means to change anything they can without paying attention to labeling and common sense. The result of that is of course simply more work for anyone who was basic knowledge about technology and also the slightest bit of common sense. Having to select the right input for the projector again after telling that you have to activate your VGA out to see a picture is harmless, I expect at least completely fucked up picture settings. "No signal" obviously means you might have the wrong color balance or contrast selected, doesn't it?

Of course the list of those kind of people is widely known among staff and from all of those there is one guy that stands out even from those. Let's call him Schnitzer here. We have some connections to China and he was taking part in an exchange. Clever as he was, he did some shopping there because tech stuff is cheap in China...

When my lovely co-worker called me for help because she had trouble with a thumbdrive, I wasn't expecting to get a good laugh soon. When I saw that Schnitzer was standing besides her I expected some fuck up from him, like saving something in a format that I have never heard of. The drive was shown as being completely empty, but with a filesystem and after silently sighing, I asked him to come with me and see if a real PC does read it properly. The girls nearly all only have thin clients and USB redirection has never worked properly with those.
When I looked at the drive I was getting suspicious. It said it would be a 400GB model. Not 256, not 512, not even 384, but exactly 400. And the last I heard of was something way smaller that also cost a fortune.

Me: Wow, 400 gigs, that thing must have been quite expensive.
Schnitzer: Actually not. I bought it in China.
*Alarm bell rings widly*
Schnitzer: The seller initially wanted 80 bucks for it, but I got him down to 20.
Me: Well, then you have been ripped off because this thing is just a scam.
Schnitzer: No, I tested it, this thing is totally OK.

Sure. Somebody sold you flash memory worth a hundred bucks for twenty. And also packed it on a PCB with a controller chip and into some housing. Someone here is an imbecile and despite the education standards I have the feeling the Chinese guy is not it.

Me: I'm willing to bet half a month's income that this thing does not have 400GB. If you don't take that bet, I offer you to bet about a beer it does not even have 4GB.
Schnitzer: Seriously, plug it in and you will see that it has 400GB.

I did, could read the filesystem and yes, it of course said 400GB. His data just weren't lost because there only were a mere 5MB on it.

Me: So I guess you are not aware of the fact that the capacity information is provided by the controller chip, not the actual data storage. That chip likely just writes over the same dozen megabytes again and again if you put more on it than the maybe 512MB it really has.
Schnitzer: How is this possible?
Me: USB controller chips are often programmable.
Schnitzer: I mean how can it store 400 gig in a dozen megabytes.
Me: It cannot. Your data goes to hell.

To make this shorter, he was absolutely convinced that this thing was not fake but a thumbdrive as big as a laptpop hard drive for a price lower than a bad blowjob. I offered him to demonstrate it, copied his files to somewhere else and started to put a complete DVD on it. Of course the cheap controller was slow, so we decided he should come back after holding his lecture. He did and of course neither any of his files were readable nor any of the ones from the DVD.
He was totally breathless and just wouldn't want to believe he had been ripped off like the dumbest jerk ever. When he then started whining about his lost money, I told him that I'd have to go to the server room for something and he should just write it off as an educational expense and get a real one. After the door behind me shut I turned up the AC to maximum load and laughed dementedly for at least 5 minutes.

Tuesday, January 18, 2011

A surprise visit by a temporary pet

When you got a tomcat in your house, no matter if he has balls anymore or not, he will sooner or later bring you dead mice. Ok, that’s fine. You show him your appreciation of how he tries to take care for you and dispose of the mice when he doesn’t see it. But once in a while he will be dragging half dead prey into your house. You can try to not let this happen be paying attention to whether he has something in his mouth or not, but sooner or later you will misjudge that. Or it’s just summer and the door to the terrace is open anyways and you won’t be around.
So one day the cat stormed in through the front door unexpectedly and filled with joy and happiness. The attempt to tell us about his findings made them drop from his mouth and so he chased down the mouse fallen out of there. He got a good hit and so she flew over the stairs to the basement, with an audible impact on the wall. He couldn’t see her anymore, searched around a bit and then lost interest. So now there was a mouse sitting on our basement stairs, not moving, but heavily breathing and seemingly not too harmed. I took the poor being and saw it was actually not visibly hurt, but of course frightened as hell. I took her with me on the terrace, where the one who brought it was sleeping already. Yeah, so you have a half dead half alive mouse now and what’cha gonna do?

The options were clear. He was asleep, the female cat would have been unable to kill it. I could finish it off to end her suffering, take it to a vet, lay it don outside and let nature be nature or try to nurse it back to health. Of course there’s lots of ethical questions arising if you are about to decide over life and death of a being, especially if it has a spine. I am too much a pussy to kill an animal that still seems quite alive and as it started to move around a bit in my hand while I was considering options, I decided to try nursing it back to a proper condition, even if it might be painfully prolonging the inevitable.
After another minute it was another bit more lively and so I fetched a not too small box to put it in so it couldn’t flee and hide in some inaccessible place to die. Some ripped cloth gave it the option to hide while my GF and I were considering what kind of food we should offer it. It got corn, wheat and cat food to choose from, along with some water, but decided to stay on its not too healthy diet of eating nothing at all.

During the evening I looked after it from time to time and noticed its body temperature had been declining quite a bit and it also had a stain of blood at its rear end. My inital thought was that the mouse has suffered from some form of inner damage while being dragged around in the tomcat’s mouth, but that was later proven wrong. I decided to keep her warm in my hand and additionally warm her a bit with my breath. She at least stayed alive until I decided that sleep’s not just good for the mouse, but also for me.



The next morning it was not in its box anymore and I was wondering how the heck it has gotten out of there. But obviously that was a good sign as a dead mouse would have not gotten out. I soon saw that it was sitting on my Airtport Extreme base and had taking a good crap on it, too. I liked its attitude to poop on the only Apple device and finally grabbed her after some chasing over my table. She got a bigger box and a fresh buffet. Over the night she must have by the way eaten some of the cat food and also some of the corn.
Later that day I wasn’t attentive enough when my GF entered the room and left the door open. If you have ever lived with a cat you know how they react to boxes. And of course the harmless female one jumped inside the box and just enjoyed sitting there, unaware of the fact that she was not alone there. After getting the cat out I saw quite some bloody mess before I found the mouse in the box. Obviously it was a she and she has been pregnant. The presence of the cat has likely induced quite a lot of stress and the bloody mess was the early end of her pregnancy.



After that she was soon coming back to be as lively as you would suspect it from a wild mouse, though. She ate quite a bit and started to not act too shy anymore. At the end of the day I could just sit her on my hand and pet her a bit without her trying to flee. That’s obviously been a privilege though, as the mere presence of my GF still frightened her. After another night in the bigger box and finding her running around my room fast and happily the morning after we decided she should be fit enough to be sat outside again.



I of course thought of keeping her for a moment, but it was obviously not really possible. For one the presence of the cats in the house would have likely been too stressful for her and at least the tomcat. Separating them would have meant that I would have to give up the tomcat as a lap warmer. Also, a mouse that’s been living in the wild does never really adapt to being caged. If you want to keep it under conditions that are not rather torturous, you should have a cage of at least some dozen square meters. We don’t even have several dozens for ourselves and call it our house none the less.



The next evening I pet the mouse good bye and sat her in our garden, while the cats were secured in their room. After a minute she started to move around and explore her surroundings. After another minute she was somewhere under some bushes in an edge of the garden.
I would love to know what happened to her but as so often in live, that’s an answer I won’t get.

Monday, January 17, 2011

Cat content

I just had a short phone call with a good friend some minutes ago. When I told him that I actually started a blog, he cracked up and told me I should post pictures of our cats. Of course I sensed he was mocking on something and so he told me that "cat content" is used to describe the typical, crappy blog content of people that post pictures of their pets and tell you how lovely they look and are. Something the world needs to know, especially from strangers.
I promised him to add some cat content and here we go!

This is what a former neighbour, aka the hysteric housewife, called the "grey panther". He is now about 12 years old and still manages to catch adult, seemingly healthy birds. Cats are often accused of being a threat to birds, but a healthy adult bird usually is way too attentive to get caught by a cat, hence most birds caught by cats were going to die anyway or are rather young. And I do agree the latter case is a problem, as much as nest robbery by cats.
He was supposedly abandoned by a chartreux breeder. What really happened we don't know, but he perfectly matches the description of a chartreux in looks and behavior, except for some impurities like slight rings on his tail and the eye color. After straying around in the same area for some time he ended in the animal shelter and after some time in quarantine had the pleasure to be taken home by my girlfriend. He must have really suffered hunger throughout his first 5-6 months, as he jumped on anything eatable in the beginning. Letting the eye slip off him ended in stolen eggs, the funny image of a tomcat carrying a pack of toast in his mouth that's been broader than he was long and stolen potato peel. Yes, he ate potato peel and sometimes even flower soil. When he stole a pack of coffee the hissing sound of the air flowing back into the evacuated package was likely the only thing keeping him from eating that, too. Over time his eager assaults towards anything eatable wore off, though given a good chance he was still a threat to a tasty plate with meat on it.
The only things that make him lose his worldly-wise aura are vacuum cleaners. His preferred places are the bedroom, which is locked because he can open doors if he feels the need for it, my seat in front of the PC and my lap, likely in this order. While he fled at the slightest movement in the beginning he has grown enough trust over the last three years that I now can even pet his belly without him retreating immediately.

His "official" name is Lupo, because he often has the typical look of a wolf, head faced towards the ground while looking forward. He is often referred to as Doctor Katz, though, since I could persuade him to stop hiding in the bookshelf by telling him that he was hiding behind the row with the most trivial literature in the house and that this should be below his standards.
He weighs about six metric pounds and tends to drool quite intensively when he is petted and enjoying it.


This little girl has refused to be called Gizmo and chose to only listen to the name "Mogli", despite being a female. Also coming from the girly side of the household, she was found the best of all women's ex BF lying in the bushes, just some weeks old, after falling down from a balcony on the fourth floor. Being rather shy in general, she immediately crawled from under the sofa and meowed loudly when the best of all women entered the room. This was the start of a life long, intense relationship. She's mommy's cat. Even after I took care of her for three months while the best of all women's household had moved without the woman, she immediately was joyfully running around mommy's feet when she saw her. Say again cats would be just focused on places and not people...
She's now 20, completely deaf since a year and needs a slight bit of heart medication. Recently she stopped taking car of her hair which leaves this unenjoyable task for her to me. Despite that you couldn't tell her age, not even from her still complete teeth. She never really hunted anything, likely because she never needed to and her ancestry is made of indoor cats only. Unlike the tomcat vacuum cleaners never scared her, but instead anything with a small electric motor. The electric toothbrush was an agonizing threat back when she could hear.
After going deaf she really amazed me by learning to decide whether mommy follows her by looking into the mirroring windows in the evening. She might not have any idea that she sees a reflection of herself and who walks behind her, but depending on what she sees or sees not, she is able to decide whether to turn around and meow or not. Believe me, I tried to find better explanations, but after witnessing this more than a dozen times I am sure that she really judes by the window reflection. And she's learned that at the age of 19.

I'm a Celebrity...Get Me Out of Here!

Everyone of us has basic, often unreflected, primitive desires. Not as basic as food and water, but just one step above that, most of them being somehow related to society and social interaction. I personally need something to quench my thirst for schadenfreude. Luckily this word has been adopted by the english speaking world, so I can at least be halfway sure it hits the point I wanna make when I use it.

There's lots of sources to feed this urge. If you open the newspaper you can easily find half a metric fuckton of stuff you can laugh about in a very dark manner. Police and fire brigades should get better a better, digital radio service. It has cost billions already, will cost way more than calculated and has proven to be practically useless in a lot of situations already.
But what do you do when you want a good laugh about some people? Yes, first level support works excellent for that, but those people get on your nerves beforehand, which outweighs the laughing afterward and I also tend to feel sorry for those poor beings. I often enough had contact with people whose business relied on something they could barely switch on and now broke, taking all their data and work with it into oblivion. And I am not cold hearted enough to just say "Well, if those data would have really been important, you would have a backup!" and not feel sorry for them. Yes, the central IT at my job delivers good laughs, but for the price of seeing all my co-workers upset because yet another half of a workday goes down the gutter.

But this Friday there's been starting the new season of our German version of "I'm a Celebrity...Get Me Out of Here!".  Yes, we do have bullshit TV, too, and what's even worse is that we pay an assload for the non-private stations and there's no real choice to get around that anymore. But some of the shit is bad and low enough to actually be good again. Especially because they garnish it with a lot of really degrading humor and malice.
The format itself is just perfect to show off the most primitive ways of human social interaction and how badly you can fail at that if a bit of stress uncovers your personal weaknesses. And you can laugh about that with an at least halfway good conscience, because all of those people chose their fate themselves. Of course, most of them are lured by money and haunted by debts, but we have insolvency for individuals for that and also a social system that would leave none of them homeless or hungry. No, they all chose to expose themselves to the laughter and sadism of the viewers all by themselves. They should know that they are going to be made fun of and the past has shown that the viewers like to torment them and love to see them tortured. Oh what fun was it back some years when they had to make Daniel Kueblboeck unchoosable because he was voted to the bushtucker trials three times in a row, getting closer to despair and upright agony, screaming louder and louder each time. There was a channel on Quakenet at that time populated by thousands of people solely because they wanted to share their loud laughter about his ordeals.
Yes, I admit that I am a bit sadistic, but the last paragraph might give you a false impression. If those poor sould wouldn't have a choice I'd find this horrifying. It's rather like cracking the whip at a woman (is that an existing expression even?). It is a disgusting act of cruelty, unless she is into BDSM and literally begs you to.

What I do ask myself, though, is if some of those third and fourth row celebrities really ever had the chance of making a really conscious decision. This year there's indication that Sarah Knappik, a former contestant of the show "Germany's next Top Model", is going to get her ass kicked by the viewers. The reason for that is easy to see. A spoiled blond brat that not just talks like she's seen everything already, but also whines dramatically and excuses her own fail with "having gotten the hardest trial of all" is so inviting to be bashed. The really sorry thing is that she might actually not just act like a stupid smug girl, but really believe the utter crap that drools out of her mouth constantly. This would necessitate, though, that she has no view of herself that really coincides the slightest bit with the way she is perceived by other people. And wouldn't that somehow be tragic, not sad, but tragic in the original sense of Greek drama? She indeed would have never had a real choice, because one of the most important aspects to base the decision on would have been out of scope for her
And if you see that such a poor and dumb little brat gets near traumatized by having to crawl through some dirty tunnels, isn't it simply cruel to insist on her maturity?

I say yes. But such is life. I'm going to laugh on. But maybe I should read some Bertrand Russel in bed to make up for the lost brain cells and ensure I don't lose the base that I use to justify my arrogance.

You takin' that serious?

Saturday, January 15, 2011

Let's bake power states!

So we now know what benefits undervolting might get us and how we do it with our precious Core or Core 2 CPU. We also know that the operating voltage changes all the time, as does the clock rate, and I hope why constantly adjusting voltage and clock is a good thing does not need a further explanation.
So how should this mechanism behave to not slow your system down and save power?

The short answer is you will likely never know the precise and correct answer but have to consider some things to avoid some pits lots of people fall into. Out of the box the power states and the rules for their transition are very well done. Chances are what you define yourself is worse, the question is just by how much.
Basically you want to rise the clock speed whenever the power consumption of the system as a whole integrated over time is smaller with a faster CPU that drains more power. This is obviously the case when your task is CPU bound, e.g. video rendering. Besides the CPU you also have the power drain of your running harddisk, the chipset, the memory, maybe your screen, the NICs and whatever else may be running. Let's say this takes 15W and your CPU takes another 10W running at half speed. The job takes x minutes to finish. Running the CPU at full speed, it uses 15W and the job takes roughly x/2 minutes. So in one case we have 25W for x minutes and in the other case we have 30W for x/2 minutes. So we end with 25*x Wminutes and 30*x*1/2 Wminutes, equaling 15*x Wminutes. Yes, this is very trivial but a lot of people do not understand this without a hammer.
If you thought about the numbers for CPU power draw used in this example you must come to the conclusion that the CPU runs way less efficiently on a lower clock rate. And this is actually true for most undervolted systems that are not overclocked. You can draw a diagram that correlates minimal power consumption for stable work and processing power and you will see it is not a line you get, but something curvy.
It will roughly look like this with power consumption being on the y-axis and processing power being on the x-axis, both assumed to be linear. The left end is intended to be a clock rate of about 0Hz, the right end something severely overclocked. The y-axis is not starting with 0, as even with basically no real clock the CPU will draw some power and need a certain minimum voltage to function at all.
The bottom line of this is that for every CPU there is a point from which you will need a lot more voltage and hence power to make it work faster. Go look for those overclocking freaks that reach 5GHz with some i7 and see what crazy voltages and cooling setups they use. Some of those systems have the CPU use 3 times the stock power and more. In terms of efficiency that is horrible, as they aren't running even twice as fast in some cases.
Around the point where the CPU needs rather suddenly a lot more voltage to operate faster, there will be a point where lowering the clock speed will not really reduce the necessary voltage for it to perform stable. Between those points, which are more intervals than points, there's the point of maximum efficiency, where you get a good speed for cheap power.
Although the diagram for each CPU will very roughly like the one above, where your stock speed is can barely be foreseen. And keep in mind stock speed usually has not the minimal power consumption as stock voltage might be way more than the CPU really needs. So you really have to figure out where on this curve you are with your own CPU. The one I talked about in the last post has its stock speed definitely in the left half of the diagram. Between lowest and highest clock there's only a tenth of a Volt more needed to keep it running stable! Keep in mind that P=U^2/R is not applying as a rule of thumb if you compare different clock speeds, though. The higher the clock rate, the more the electrical capacity of the CPU comes into play, wasting power.

Depending on how steep the needed increase in voltage is for your CPU, you should either make it aggressively increase clock speed or not so aggressively. But in general you do want it to clock up quite soon. For one because this makes the system more responsive and eliminates possible perform impacts on other hardware that might have to wait for the CPU to finish its work and also because highest efficiency is typically close to stock speed. There's another effect comping into play that you might call "the race to sleep". When the CPU has done its work, it very quickly enters a sleep state where the power consumption drops to something damn low. And it is more effective for it to work fast and sleep more than to work slower and sleep less.
If you have full load at half speed you need e.g. 10W. If you go full speed with half load you have 15W during the work times and let's say 1W during sleep. So you have 15/2+1/2W resulting in an 8W average. Yes, we leave out a lot of details here, assuming load drops to 50% and not figuring in any time for the sleep state entering, but the direction's the thing that's important.

So you now have an idea about some of the mechanisms that you should consider when deciding how your power state transitions should be defined and you will likely not make the same mistake as a lot of those kids around the interwebs that force their undervolted CPUs to perform worse and less efficient than they could. And if you think the directions are very vague, then you are absolutely right. there's so much stuff going on in detail that your setup will be not ideal most of the time, no matter what you choose as parameters. And again the most benefit comes from choosing the right general direction of behaviour, not the last tenth of a volt or 5% of load you alter. Maybe I feel like writing something about stability testing later, as this is the key to really use undervolting and not just play with it.

Details about the Intel Core (2) and voltage signaling

So after the basics, we wanna take a close look at how all the voltage stuff works for the Intel Core (2) mobile CPUs. First, there's enough tools out there to undervolt via software and you want to use that way, whether you add some hardware modfications or not. Look for CrystalCPUid or other tools like that. Don't forget to disable the power control mechanisms in your OS if you want your own tool to do the work.

First off, we wanna know how the voltage crap functions on the hardware level, so we can fuck with it. Thankfully Intel does provide good documentation of their technology and you can get your hands easily on that. They do have a website. You can not just get the pinout of your CPU (mind the difference between socket P and M!) and also a table that and an explanation for the signaling of voltage levels. There's seven pins on the CPU for that which are labeled VID0 to VID 6. With those voltages between 1.5 and lower-than-you-could-possibly-want can be signaled and the scheme behind it is easy. Base voltage is 1.5V and every pin subtracts a certain voltage from that if its level is high. VID 6 equals 0.8V, VID5 equals 0.4V, VID4 equals 0.2V and so on. The resulting table is just binary counting downwards for the pins while the voltages mapped to that are decreasing by 0.8V/2^6 per step. So what you need to do is simply make sure these pins have the right signals running on them for the voltages you want. Of course, there's more to it than just connecting some of them to something else.

Restriction one is that you cannot pull them to ground. This has fried people's CPU in the past. You can only pull them up to Vcc. Second restriction is that you do not know all the possible voltage requests of your CPU, at least without a lot of equipment or maybe inside knowledge of what some very specific registers' data mean. They again differ from CPU to CPU, if only slightly. And there's a lot of voltage transitions happening between the power button and a software starting under windows, likely even between the power button and the first try to execute any easily customizable code. And as a third restriction, you can't easily change your hardwirings for the VID pins. So if you decide to hardwire the pin that lowers the voltage by 0.4V to Vcc, every voltage having this pin on low will be reduced by 0.4V, while all others will not be affected. If you alter the table mapping pin states to voltages, you will see that every second block of voltages that is 0.4V "high" is repeated in the 0.4V range above it. That's simply a logical consequence, as the table was just counting with the pin states and you have eliminated one of these bits. So you also lose half of the voltages you could possibly get. Depending on where those blocks lie you could even have not affected the voltage range you want to alter. And also you might make your CPU getting 0.4V less in some sleep state that has very low voltage anyways. Expect this to cause problems, severe problems!
Restriction four is that you only have a small amount of voltages you can set by software. Lower ones will simply not be accepted.

Your best bet is to wire either the 0.1 or 0.2V pin to VID0 or maybe VID1. This way both pins are connected by a logical OR. Whenever one of them is high, the other one will be too. Look at the table and figure out why this is beneficial besides the fact that you have a fifty-fifty chance of it severely affecting some voltage you do not want.

Ok, we now know how to figure out what happens when we connect some pin to some other pin. If you look at the pinout again, you will see that this is not getting easy. At least some of the pins are facing the outer side of the pin array and none are really far from each other, but they do not lay too conveniently. So grab an old ethernet wire, rip it apart and get some of the fine copper stuff. Don't forget to cut your socket a little to make up for the additional height of the wire. Yes, it does make a difference and you do not want your cooler to put mechanical stress on the die or not sit as flat as possible.

If you are as lucky as I was, your CPU will run on 0.825V instead of something around 1.2V.  How much of a difference that makes is easy to describe. If you just stress the CPU (and the chipset) the fan will stay really quiet instead of running at top speed and power consumption will drop by about 20W. Yes, from the level of a standard voltage CPU to the level of some insanely expensive Low Voltage one - while running at a speed the LV versions aren't even available at. Thereotically, assuming the CPU behaves like a normal resistor, the resulting power consumption should be about 45% of the original one. And this rule of thumb seems to apply well as such.

If you think about doing this yourself, keep in mind it all depends on luck for a big part of the way. Try with software only first and see how far you can get, then decide if you wanna void your warranty and risk that. If you did drill holes into your CPUs ten years ago, though, this is not going to be the question. Yes, drilling holes, as explained here: http://www.cpu-central.com/dualceleron/
And yes, I of course did that back then.

The basic ideas about undervolting

Have you ever heard about undervolting? Sure you have, and likely either complete bullshit or just some dribble of people who only use the popular software and go for trial and error, without having the slightest idea what is really happening.

Basically undervolting is a fancy, pseudo-1337 term for just lowering the voltage for some component, usually CPU or GPU. It got cool after overvolting, which is just increasing that voltage, which often helps to achieve higher clock rates via overclocking. So if this is not making your e-penis longer, what's the point, especially with CPUs? What does it really do anyway?
Well, you might remember R=U/I, P=U*I and P=U^2/R. This says basically that half the voltage results in half the current and a quarter of the power consumption, hence a quarter of the heat that has to be disposed.

For normal PCs neither heat nor power consumption are too interesting. Unless you have a stock heatsink that's terribly weak and noisy, heat is not a real concern, as it is with power. A normal PC has a puny average load level and while the CPU is idle there's not really a noteworthy difference you could make. When it comes to servers and laptops, though, this stuff can make a huge difference.
I have a quite sexy virtualization architecture around the house that is powered by a severely overclocked AND undervolted quadcore and the power consumption under load drops by about 30W. So instead of roughly 95W the CPU only guzzles down 65W. If the load level of my server wouldn't be puny for most of the time, too, this would save some money.
If you want to build a very tiny and silent PC, having to dispose of the heat is usually a problem. 30W less is a huge difference here and actually you can run into a situation where undervolting makes a system stable. The reason for this is just insufficient cooling capacities for normal operation, though. With fans that adjust their speed to temperature, though, it can also make the difference between the system becoming noisy under load or not.
If you have a laptop, it can obviously affect battery life quite a bit. For manufacturers the heat that needs to be disposed is also a concern and the noise argument comes into play again, I did it for the battery life, though.

What voltage a specific CPU needs to work properly is different and varies for every single one. There's datasheets that tell you under what conditions your CPU is guaranteed to work properly and they involve a lot of conditions. The most important ones are temperature, voltage and clock speed. In case you don't know, I can tell you that chip fabrication ends with lots of dead CPUs that go from the wafer to the dust bin after the initial test, because they simply do not work. Over time with a new fabrication process their number decreases as the process gets optimized. Especially towards the end of the lifecycle there's a good chance there's more CPUs coming out that could be sold as high clocking or low voltage ones than there are customers for. So they simply try to fill the quota of expensive, rarely gotten chips and the rest gets labeled worse than they could technically perform. Another thing is that not every single CPU is tested for all the shit in the datasheet in exact detail. It's cheaper to analyze how the limitations are working together and add a bit of headroom for the ones that are fit to select chips by.
So you have a good chance that your off-the-shelve CPU can do more than it is labeled for. And also you can optimize the working conditions for it.

Problem with all this is that you have to test the results, know what knob to adjust and test for stability afterwards. Having a gut feeling for that helps immensely. And maintaining stability is a key issue, as an occasionally crashing system is just defective, no matter at what speed it runs. If you want to go to the extreme by adjusting things like the reference levels of the gunning transceiver logic on your motherboard, you can waste as much time as you want and usually 80% of the benefits come after 20% of the time you invest in tuning.

If you didn't get it from above, Intel is selling CPUs that meet certain power requirements quite a bit below of those of standard CPUs. For a way higher price of course. Usually no problem on desktops, laptops come with a certain range of voltages you can force by software that stop your undervolting urge quite soon, especially with the slower CPUs. And that's where real nerds are separated from kids. Or maybe just crazy idiots from sane people.

Two fucking bytes can make a difference

Don't we all love the crazy shenanigans that some vendors make us deal with?
The concept of building just a single piece of hardware and selling it for different prices by locking features is nothing new. Ask for the Siemens HiPath series and what it costs to use the basic hardware with all it can do. Even without additional hardware you easily pay 10k bucks for some small sized company if you want IP based telephony and you do not have a single phone to plug in yet.

What Intel and some notebook vendors have done (again!) now is not a thing for all of us people who like to play around with their hardware. No, this time there's no sexual innuendo intended.
Some time ago I bought myself a new Wifi card for a new toy i have for some time already. You'll hear about that toy and what I have done to it soon, too. Well, exchanging a miniPCIe card in a laptop is usually nothing challenging or complicated. It's the old in-and-out-game, getting drivers and then being happy - usually. But if the card you wanna push in as some intel Wifi Link 5100 or 5300 you might face some challenges. Google for "Code 10" and intel wifi link, then you'll see there's a lot of people who wonder why those things do not work in their units. The usual, completely useless, answer is, that it worked like a charm for some others. Why that is you seldomly hear, but there actually is a "special version" of those cards made for IBM/Lenovo and HP/Compaq. Those things simply won't work like they should, likely even in units from these brands because they are known to use BIOS whitelisting. And unless they sell you their version of the Wifi cards explicitly for your model, it will likely not be whitelisted. And if they sell it to you expect the price to be at least twice what the card would cost as a normal, not brand specific version. And I guess that's the only thing this is about, being able to force their customers to pay unreasonable prices by artificially restricting their stuff from working together with standard hardware.

Of course, I got such a crippled Wifi card and was pissed like hell after I found out about this. Curious as I am, I at least wanted to know what the actual difference is and if I could give my oversized soldering iron a shot in turning this thing from crippled to normal. I found nothing about any such mod, not even later when I knew how it all worked. Soon enough I found out that the same thing already happened some time ago with the Intel 2200BG miniPCI card and that there was a fix. Intel just used a different set of hardware ID and subsys ID for the specially crafted kind and those were saved in the EEPROM of those cards. Google soon confirmed my suspicion about this being at least one difference this time, too. I didn't find a single post or anything about this where someone suspected or stated that, though, but only a lot of diagnosis logs from people with a laptop that showed this difference clearly and consistent. So why not do what had been a success in the past and change the EEPROM with ethtool and some linux live disc?
Because it does not work. I tried my standard Knoppix and also mint linux, which was quite newly released, and ethtool does not support dumping the EEPROM from those cards. By chance I stumbled upon some GoogleCode project that was developing a tool for axactly what I wanted: dumping and writing the EEPROMs of Intel Wifi cards. It's here: http://code.google.com/p/iwleeprom/
As I did not find anything better, I decided to check this out, second meaning intended. Compiling worked as wonderfully as dumping the ROM. In some old fashioned hex editor I immediately saw what I wanted to see...

PCIVEN_8086&DEV_4237&SUBSYS_12118086 and PCIVEN_8086&DEV_4232&SUBSYS_12018086 are the 2 ID sets of the Wifi link 5100, the earlier being the IBM/HP one, the latter being the sane one. Now look for yourself.
Oh yes, as simple and obvious as one could wish. And soon after that even the MAC address is stored, which is why I chose to delete this. If you wonder why the words are seemingly swapped google big and little endian.

Ok, altering this was dead simple and guess what happened after writing this thing back to the wifi card. Yes, it worked. Goodbye crappy Atheros card, hello 802.11n. Now I can finally have sufficient network speed while in bed on the second floor and forwarding in some video file won't take ten VLC ten seconds to cache data.

If you know who had the idea to ask for a crippled version of the wifi cards to rip off customers at IBM/HP or who has agreed with that deal on Intel's side, please greet them from me and smack them in the face heavily.

Friday, January 14, 2011

OMFG, I did it!

Wow. I can't believe I am doing this. I was always looking down upon those  web 2.0 people who stuffed their mindless dribble into blogs for the whole world to be disgusted. Now I am about to do the same. And I am sure that at least 95% of the people who somehow stumble upon this will be bored and close that browser tab immediately.

Hello scumbags. I will be for you what you've been to me.