• Hardware,  Random

    Why we Make

    This is a great talk about the fundamentally human aspect of making. Our race’s advantage in the universe isn’t the sharpest claws or thickest skin, its the ability to make, bend, and discover. This video is an cool little anecdote from Adam Savage of mythbusters of how he embraced his inner maker: People make things in all different sorts of ways, from a 4 year old making arts and crafts to a professional engineer building the Space Station (or a world class operating system 🙂 ). Its fundamental to being human, so get out there and create!

  • Random,  Reviews

    Wiring Stereos in a Chrysler Crossfire

    This is just a story about how I replaced my stereo. Please do not take this advice for your situation. Incorrect wiring can cause all sorts of damage or fires or trouble. Have a professional install your stereo! I have a 2007 Chrysler Crossfire roadster, and it had a terrible stock radio. It has ten tiny buttons crammed together to control the stations, which you can’t figure out by feel alone. Randomly, it can take like 5 seconds to respond to a button press. It also sometimes goes into “AM AS” and “FM AS” mode, which as far as I can tell, just means “ignore button presses until you turn…

  • Coding,  Open Source,  Random,  Uncategorized

    The Black Triangle

    Stuart Langridge on Planet Ubuntu posted about this story a while back, and its a something that’s happened to me a lot of times over my career. The Black Triangle The tl;dr is that a complex, extremely flexible system, well built system often takes a long time to put together, and the first fruit of the labor is often something seemingly simple to do from the perspective of someone else. However, the complex underpinnings of the well designed system allow the project to grow by leaps and bounds once that first black triangle is shown on the screen! That ‘black triangle’ one of the coolest parts of being an engineer.…

  • Open Source,  Random,  Ubuntu

    Irssi OSD notifications

    I wanted irssi to ping me using Ubuntu/Gnome’s on screen notification system, but didn’t want to dig into irssi’s code… what is one to do? Cobble scripts together of course! Here’s how I got it done: Download this irssi plugin: fnotify.pl This script will update a text file  (~/.irssi/fnotify) with a new line every time you are pinged Put fnotify.pl in ~/.irssi/scripts autorun this script by executing: ln -s ~/.irssi/scripts/fnotify.pl ~/.irssi/scripts/autorun/fnotify.pl start irssi, and run: /hilight -nick {your_nick} /save When someone pings you, check the ~/.irssi/fnotify file for that ping, it should be there Download my script below (call it lastline_notify) and run it like this: ./lastline_notify ~/.irssi/fnotify & disown…

  • Hardware,  Random

    Legos and Turing machines

    Jeroen and Davy over at legoturingmachine made a pretty cool little turing machine to honor Turing‘s centennial birthday. I thought I’d repost! Check out the video: LEGO Turing Machine from ecalpemos on Vimeo. Pretty cool way to honor the theoretical basis for all modern computing!

  • Random,  Ubuntu

    Gnome notifications from your Terminal!

    Its pretty easy to get your terminal to notify you using Gnome’s libnotify system and a short python script. Python’s pynotify package (available as Debian/Ubuntu package: python-notify) I use this short script occasionally to notify me when a long compile is done like this: [code lang=”bash”] make && echo "Done compiling!" | notifier [/code] Short python script in my $PATH called “notifier” [code lang=”python”] #!/usr/bin/python import pynotify import sys pynotify.init("Quick Notify") input = sys.stdin.readline() msg = pynotify.Notification("Shell Notification:", input) msg.show() [/code]

  • Coding,  Hardware,  Random

    Android ARM inline assembly

    If you happen to want to write some inline assembly in Android, its just about as easy as you’d expect! See the code snippet below for a simple example of how to add two numbers in assembly on ARM. Download code with Android makefile [code lang=”c”] include "stdio.h" static inline int add(int a, int b) { int sum; __asm__ __volatile ("add %[c][/c], %[a], %[b]" : [c][/c] "=r" (sum) /* one output */ : [a] "r" (a), [b] "r" (b) /* two inputs */ : /*code does not clobber*/ ); return sum; } int main(int argc, char ** argv) { printf("sum is %in", add(4,222)); return 0; } [/code] If you run…

  • Coding,  Random,  Ubuntu

    Programming: Its all about the attitude

    CEO David Barrett wrote an excellent post a few months ago about their hiring practices. While a lot of the article focuses on .NET programming (and has a lot of great points), there’s one excerpt that I was cheering as I read it… See, experience is cheap.  All it takes is time.  Skill is harder, but really only requires hard work — a lot of people can get that.  But attitude.  You either have it, or you don’t.  The right sort of person is so passionate about coding, they can’t be stopped from doing it.  They typically started before high school — sometimes before middle school — and never looked…

  • Coding,  Random,  Ubuntu

    Hacks They Don’t Teach in School… (#1)

    I thought it would be interesting to do a series on Hacks they don’t teach you in university. I’ve thought of quite a few. I like thinking about this, stirs my memories to back when I was just fledging. Today, we’re going to talk about… Debug #define dumps Debuggers like gdb are great, but sometimes you need logging or debugging, and the ability to turn it on and off when you need it. I learned this trick from my coworker Eric P. (creator of Handbrake) back when I was an intern. Obviously, this isn’t a secret, but its something you’ve got to learn at some point if you’re a C…

  • Open Source,  Random

    Promote Open Source by Discouraging Software Piracy

    When I hear someone saying, “Man, I just nicked [Photoshop CS2][Windows 7][*] from a torrent site. Cracked the serial with this mod I found”, it really gets under my skin. I hear this from Linux users who happen to use a lot of Windows applications, and from non technical people, and I’m sure its still rampant in the Windows-based script kiddies scene. It doesn’t peeve me from a moral perspective, nor am I sympathetic to the lost revenue for that particular company; what annoys me is the lost opportunity for open source. Like many other open source advocates, I have great respect on a fundamental level for software licenses. They…