Ever notice boot messages like:
perf_event_intel: PEBS disabled due to CPU errata, please upgrade microcode
Linux supports applying CPU microcode updates at runtime.
Should you do so? Have microcode updates already been applied? How do you apply them?
Intel does not issue release notes with microcode, thus they are a black box. Despite not knowing precisely what fixes they contain, it seems to me applying the manufacturers intended update is likely to do more good than harm. Fortunately this is quite easy to do, especially with a 3.4 or newer kernel.
Granted, a microcode update is not going to magically grow new circuitry and upgrade your i7 to support AVX, but I’ve been interested in how all this worked for a while and so decided to dive in.
Microcode is distributed in ACSII encoded cryptographically signed binary files which are available for Download from Intel. A variety of tools exist to extract and apply updates from this file.
The following article on my wiki contains information on Intel and AMD microcode updates applicable to any Linux distribution.
A couple weeks back my guitar received a healthy buckle rash during a jam session. It happens.
The back had about an 8″ diameter area that was scratched pretty badly. While none of the scratches were deep enough to go all the way through the finish they were cringingly bad.
The sad state of affairs was remedied completely by a miracle product to which I give a resoundingly awesome, five star review: Guitar Scratch Remover
Before and after pictures were very challenging given the high gloss, dark color of my guitar, available lighting and a cheesy camera. The pictures did neither justice to the agony of the scratches nor the brilliance of the result. Suffice it to say it was like this:
Before: Oh man. Cringe. That sucks. Buddhistic thoughts of the transient nature of life, impermanence and perils of attachment. I should just accept them with pride as battle scars on the axe – which might be easier had I been the one to scratch it. I wonder if there is any scratch remover that would work (huge doubt). Walk away.
After: OMFG! This stuff is magic, alien reverse engineered, nanotechnology marvel of materials science. The scratches are GONE. Not better. You can’ tell – at all. Hell, I can’t tell. Holy cow.
Of course Google and Amazon reviews lead me instantly to Guitar Scratch Remover, but my skeptical nature did not leave much room for hope. Sure, it looked good. Silicon free. Great reviews. Still, every “scratch remover” I’ve used has been little more that a polish and hardly removed anything. And given the finish and depth of these clearly there was no hope. But hey – why not risk $20? Everyone seems to rave about this stuff.
And rightly so. I started right off with the blue compound and applied some pretty serious elbow grease. After the first application there were immediate and excellent results, I’d say an 80% improvement. If that had been it, I would have considered it a success. I could not expect more. Three more applications and the scratches were utterly gone. Amazing. I then used one application of the red compound which restored the high gloss shine and blended everything out. You could not have asked for a better end result.
This stuff really works. Read and apply the directions exactly and put some force into buffing it. Also note that while safe for nearly all high gloss finishes there are some guitars (Rickenbacker, etc.) you should contact them about first to be sure. The $20 players kit contains plenty of both compounds, you will have lots left for future scratch maintenance.
My first (kind of cheesy) screencast using asciinema to show how easy it is to use gdb to view the asm code for a trivial C program and view the status of CPU registers, etc. I think it helps to learn gdb earlier rather than later, and thought it might be fun to use it to show some of what we are now covering in the class lectures and book (data path, registers, memory fetch / store, basic asm commands, etc.)
The embedded player cuts off a bit as my terminal was extra huge, but you can use the above link if you want to see the comments in full.
It also shows a few basics of navigating and controlling gdb’s text user interface, which is a feature well worth knowing about.
Provided you compile C code with -g (gcc) or asm code with -gstabs (as) you can use gdb on the resulting binary.
Don’t you find downloading files from rapidsare, mediafire, 2shared, ad nauseam etc. to be annoying?
Yes, I couldn’t be less interested in your Windows download manager and similar crapware.
Ploweshare is a collection of shell scripts that makes downloading from such site much easier – skip the nonsense.
Props to http://letconex.blogspot.com/2010/10/download-rapidshare-and-megaupload.html for the tip!
git clone https://code.google.com/p/plowshare/
plowdown -v2 http://www.2shared.com/file/0UPKDPzx/accurate_rule.html
Here are a few handy utilities I’ve recently run across.
Record Your Terminal -Share it with no fuss
Python tool, similar to using script command with timestamps, but easier to share.
Various python modules needed are listed on the git site:
By default, uploads to ascii.io, with option to associate uploads with your profile for editing / deleting.
Setup your own internal asciiio server for playback:
Links to a good youtube video intro.
Graphs git commit tree, branches, etc. both to help learn git and visualize changes.
Add commit notes and branch, rebase, etc. from the gui.
Very fast node.js based interface. Installs with npm via https (no outbound git:// required)
When running ungit, if you recieve the error:
“<ServerResponse> has no method ‘setTimeout”
Try updating NPM and running again. See: https://github.com/FredrikNoren/ungit/issues/178
Converts shell commands with arguments into man pages showing only arguments used.
(Just faster than grepping for them all.)