One day, I was curious about how the computer system goes from booting to actually loading up an operating system. Obviously, it must retrieve the operating system from disk at some point, so I decided to investigate this. The first step in this process is reading the MBR, or Master Boot Record of the hard drive. The MBR is used to store data about where the OS is stored on the drive.
I figured the MBR would be interesting to learn a little bit more about, so I decided to load it up into IDA Pro, a tool for disassembling programs, and see what I could find out.

This baby rhino was also curious about MBRs.
I learned a lot and had a lot of fun, so I’m presenting it here to share my results.
Continue reading →
During my time at school, I participate in research. I have been doing this since freshman year, and have been co-author on a few papers, but have never been lead author. Well, that is now changing.
Continue reading →
I’m a pretty lazy person. I like to put things off, drag my feet, and make plans that I know will never come true. Perfect example, Fall 2008 I took a digital systems course where we designed a very basic (2-bit) CPU and I decided I wanted to continue working out of class to make a better one. Initially, I was actually making some progress, but quickly outgrew the basic chips (GAL chips) we were using at the time, so I screeched to a stop. After a few months of poking around, I figured out an FPGA might be a better way to go. However, these are expensive and would take a lot of effort to learn, so I put the idea on the back-burner.

Bill Buzbee's homemade CPU, which provided some inspiration for me.
Luckily for me though, my research group started to do some work with FPGA’s, so I was able to get some hands on experience with them. Despite having the needed tools though, I was still dragging my feet on doing any work. Well, a few days ago, I got re-inspired when I found a website about a guy called Bill Buzbee who built his own (and in my opinion) pretty complex CPU. It has all sorts of neat features such as paging and interrupts. Well, that was the inspiration I needed and now, a few days later, I’ve actually got some progress worth mentioning.
Continue reading →
I find hardware and electronics pretty interesting. So when I was looking around on the internet and saw a link to a home built CPU, I just had to click! A fellow named Jim has made a complete CPU, called the Magic-1, out of just 74xx series of circuits. If you haven’t used or know what 74xx series circuits are, take a look at the picture. These chips were very popular back in the day, as in, a few decades ago. Today there are faster and more powerful chips available. But because Jim used the 74xx series of chips, he was able to get much more control and learn a lot about CPU design.

These chips can make a whole CPU?!
Continue reading →
Well, I’m sure that you’ve noticed the new layout and domain name for my blog. Over winter break, I decided it was silly to have both a blog site and a school website. So, I purchased this domain (www.samkerr.com was taken) and am now going to host both sites here. My web host, A Small Orange, has a really good deal on a years worth of hosting for only $25, so Idecided to go with that. So far, it’s performing much better than my old site. If you’re in the market for a new web host, I’d appreciate you signing up through the previous link, since I get a referral bonus.

Propeller Time!
Anyways, at Christmas, I got a starter set for the Parallax Propeller microcontroller, an 8 core, 32-bit microcontroller. I really like to work with hardware and embedded type stuff, so I was really excited about this. I’ve played with AVR chips before, but this chip has a lot more power built-in, but it won’t require as much work as using an FPGA either.
Continue reading →
As I wrote a few entries ago, I have been using FPGAs this semester in my research group. Since it’s the end of the semester and the paper has been submitted, I thought I would talk to you about my research some. The group that I do research with is mainly concerned with identity management and information security and this project was no exception. Specifically, the project I was working on was using Physically Unclonable Functions, or PUFs, to identify users. 
Continue reading →
This year, the Intel Developer Forum has some pretty neat stuff to talk about. I’ve been reading their site today and the article from AnandTech about it.
I’d highly recommend reading the AnandTech article since it has a lot better description (and pictures) than I could do, but the one thing that I’m really excited about is the new 32nm Gulftown chips. There supposed to have 6 cores and will come in 2010. Even better, they will drop right into my X58 motherboard after a quick BIOS update. That will save me a lot of money since I won’t have to buy a new motherboard.
Don’t get me wrong, I love my quad-core i7 cpu, but 6 cores is better than 4, right?
For my research group at Purdue, we’ve decided we want to do some work with FPGA (or Field Programmable Gate Arrays). These are essentially chips that you can use to program very complex, very fast circuits. They are superior to other sorts of chips, such as DIP integrated circuits, because they are smaller, relatively cheap for all the power they have (~$10-$20), fully customizable, and FAST.

This is Xilinix Spartan FPGA, the kind I'm using.
This was my first foray into FPGAs and it drove me crazy getting my tools all set up properly. I thought I’d post some thoughts.
Continue reading →
In my cryptography class, we’re starting to learn about various ciphers, and for a homework assignment, we were tasked with doing some ciphering by hand.

These rhinos are hot on the trail of some cryptography!
I find the task very interesting, but I quickly got tired of coding even a 10-letter “sentence”. Then I thought to myself, wait, I can program! This specifically seems like something that could quickly be done with a Python script. So I decided to spend a little time typing, and 5 minutes later, no more ciphering by hand! Below are the results for your own amusement!
Continue reading →
Last time, I wrote about how I was working on installing Linux on my computer. The main question with any Linux install though is, what distro do I use? I’ve used many different distros before, such as the popular Ubuntu, Slackware, and more recently, Mint and Fedora. I even tried to tackle (somewhat succeeded) Linux From Scratch. Each distro has its strengths, but for some reason, I was never happy with any of them. One didn’t give me enough control over my system and did everything for me, while others *cough* LFS *cough* provided me with next to no help, leaving me in over my head.

My new distro of choice
Well, that’s when I discovered the wonderful Arch Linux. I don’t plan on looking back.
Continue reading →
Posted in linux
|
Tagged arch linux, linux, review
|