moving apt.

As this will be my last year (finally), I figured I'd move back into the FLSR (Foreign Language Student Residence). I lived there Autumn/Winter '05/'06 and it was a lot of fun.
The basic idea is as follows:
In each apt. there are 6 people. 5 of them are learning a language, with a 6th native speaker. You are to only speak that language together in the apt. and, at the end of the year, by practising together, the other 5 should have improved a lot in their target language.
The benefits? The 5 residents will improve their language immensely.
The 6th native speaker gets to live for free for his/her troubles.
There are a few requirements, however. All 6 of you must be present from Sunday to Thursday 5-7PM. During this time, we eat dinner together (also included).
So, as I'm the native Spanish Speaker, I get free food and rent. Sounds pretty good right?
I'm also working full time this summer at Novatek (my Electrical Engineering internship 8AM-5PM) and will work there part time through Autumn/Winter semesters.
The only bad thing is that you have to be a registered student to live there. This obviously isn't a problem during Autumn/Winter, but really sucks when you're living there Sprint/Summer, and working full-time.
So, for the next 4 months I have the following schedule:

8AM - 5PM
Work

5PM-7PM
Spend time in the FLSR

7-9PM
Some stupid night class (so I can be considered a student.

So, if I'm not jumping to do anyone favours, it's not cause I hate you, it's cause I'm really, really busy. So much for a relaxing summer.

Overall, it's a great experience that happens to also be a good way to save some money my last year of school :)

Here's the floor plan. (it's much bigger than it looks)

Also, since there are usually less residents during Spring/Summer terms, I have my own room.

I have plenty of room for my Desktop, Laptop, Router, Printer my 10" Long-throw Subwoofer :)

Digg this

0 comments

The Super Heatsink/Fan

I'll briefly explain how you cool a computer.
Most people might think you cool a computer by placing a fan over the parts that get hot. Whilst true, this isn't exactly true.
When a computer chip gets hot, the area that's hot is often really small. The heat can often be condensed over a cm or two.
Because of this, first you need to spread out the heat, and then cool it off with a fan. This is done with a heatsink. Basically, a heatsink makes contact with your CPU, and spreads out the heat over a large (generally finned) area. Then, a fan can easily blow it away.
I dislike noise coming from my computer (which is why i switched from an nvidia 8800GT to an 8800GTS, as it has a much more efficient cooler). Because of this, I decided to switch my heatsink.
I bought a beastly heatsink. The fan is also huge. By being so big, the fan can rotate much slower (thus being quieter) whilst still moving enough air (CFM).

check it out:


As a reference, I've placed the stock (original) heatsink beside it.




It was actually a little tricky to install. I had to bolt it to the motherboard (because it weighs too much to use the useless intel clips). I placed a metal plate below the motherboard, and screwed right through it. It holds very tightly :)

Digg this

0 comments

Ubuntu 8.04 "Hardy Heron" released today!

Ubuntu has been my primary OS for more than 2 years.
I've been using Hardy Heron for about 5 months now (since alpha 1).
Depending on your hardware, Linux can be the best, fastest, most stable OS available, or it can be a nightmare.
Now that I have used it for so long (and used it on all 5 of the laptops and 2 of the desktops I've owned, I know exactly what sort of hardware you should get if you're ever planning on trying out linux.
Why should hardware matter?
Well, when a company releases a piece of hardware (like a graphics card or a wireless card etc..) they have to provide a driver for it, which a way for your software to communicate with their hardware.
Obviously, when a company releases some hardware, their top priority is to provide a driver for Windows (as most users are running that). Often, either they'll provide a driver for linux, or at least provide detailed information about their hardware so that someone else can write a driver.
For the most part, this works pretty well.

Unfortunately, certain companies seem incapable of providing drivers for linux:

  • Creative Labs (makers of sound cards)
  • ATI (makers of graphics cards)
  • Broadcom (makers of wireless cards for laptops) and
  • Seagate (makers of hard drives)
In part it could be selfishness (not wanting to write an open source driver that could give insight to potential competition), but, for the most part, I think it's because they lack the vision of the future of linux. The more popular linux becomes (Micro$oft's disastrous Vista is only helping the situation :) ) the better off those companies who have linux drivers will be.
It should be noted that ATI (now owned by AMD) is trying very hard to improve their linux drivers, even helping in the open source community. The problem is that this is a long-term goal, and ATI card still work very poorly right now.

What's the biggest flaw in companies not providing drivers for linux?
This is clearly just my opinion, but, as usual, I'm pretty sure I'm right.
Okay, so here's the deal.

What do geeks use?
A lot of them use Linux.
What hardware do geeks buy?
Hardware that's compatible with Linux, obviously.
Who does Joe Schmoe ask for advice when buying a computer?
A geek, obviously.
What hardware is a geek going to recommend?
Probably something similar to what he's using himself, which just so happens to be Linux compatible.

So, even though Joe Schmoe doesn't need linux compatible hardware, he'll probably buy it anyway.
I don't understand why large companies with more than enough money for driver development don't see the value in this. It's like free advertising from all the geeks!)

So, what sort of hardware should you all buy?
Right now (this is always subject to change) as of April 2008:
Intel CPU with an Intel Motherboard.
NVIDIA graphics card (or Intel for low power laptops).
Intel wireless for laptops. Atheros wireless card for desktops.
Never buy broadcom wireless - usually comes with laptops that have AMD CPUs.
Broadcom is often rebranded as a dell wireless card. (make sure it specifically says Intel or Atheros)

Well, those are the main things.
Laptops that tend to work well on linux include Lenovo (formerly IBM) Thinkpads and Dell's line.

So, even if you don't plan on running linux, you may as well support the companies that give you the choice of which Operating System to run.

Back to talking about Ubuntu 8.04.
The reason for Ubuntu's success is its frequent release cycle.
It took one of the most respected linux distributions (Debian), used its fantastic package manager, and gave it a frequent release cycle.
In the open source world, things move really fast.
Whereas Windows took 5 years to write the new vista kernel, the linux community comes out with a new kernel every 80 days. By releasing a kernel so frequently, they can improve, fix, change stuff very quickly. In Windows, a mistake often means you have to wait for a new version of windows (windows update creates as many bugs as it fixes).

Ubuntu releases a new version precisely every 6 months.
GNOME (a linux desktop environment) gets releases every 6 months, and releases about 6 weeks before each Ubuntu version.
They usually jump 2 or 3 linux kernel releases and include the new xServer, OpenOffice.org, Pidgin, Firefox, Thunderbird, VLC etc..

So, the good news of being Open Source is that even if ubuntu developers do nothing, they still grab the latest and greatest from related projects and include them.

In the case of Ubuntu 8.04, they include
Linux Kernel 2.6.24 (a huge inprovement over the 2.6.22 included in 7.10)
GNOME 2.22.1 (a marginal, but consistent improvement over the 2.20.1 included in gutsy)
OpenOffice.org 2.4 (a welcome few memory/speed improvements over 2.3)
Pidgin 2.4.1 (doesn't seem like much has changed)
Firefox 3 beta 5 (Firefox 3 is a huge improvement over Firefox 2. It include better memory management, reduced memory leaks, fast javascript parsing and better theming.)

So, there you have it. It can't possibly be worse than past releases, so go and try it right now.
The benefit is this new version includes Wubi, a windows installer. This makes things really trivial. You download it, burn it, and (in windows) click install in windows. It does all the magic behind the scenes, and you don't have to worry about it screwing up partitions etc..
When you boot up, you'll be given the choice of either Windows or Linux to run.
Should you (heaven forbid) dislike Ubuntu, you can load up windows and go to add/remove and remove Ubuntu just like a regular application!
So try it risk free!

Here's a screenshot of my desktop running Hardy with a dark (ubuntu-studio) theme.
Admit it, it looks way cooler than either Vista or Leopard!
Shown is the new world time, pidgin, nautilus and firefox 3.

Digg this

0 comments

Electrical Engineering Senior Project: Quadrotor

As a requirement to receive my bachelors in Electrical Engineering, I had to pick a senior project to complete. Amongst the options were some fairly trivial projects, some boring projects, and some new, possibly not completable projects.

A new project created this semester was to build, design, and write code for a completely autonomous flying quadrotor.

The basic concepts.
We have a metal frame that houses our circuitry, and has four rotors that extend from it.
We have 4 servos that control the speed of each motor, rate gyros and ultrasonics to monitor altitude and yaw/pitch/roll (the angle at which the quadrotor is at).
These all make sure that the quadrotor knows where it is in relation to the ground, so that if the altitude decreases, or there is wind, the motors will speed up or slow individually to compensate/correct.

Then we had a camera sticking out of the bottom. My job was to write code in C that would use the camera to track the position of a custom made L.E.D. target, to be able to follow it.
My code would spit out an x,y position of the L.E.D. and pass it on to the autopilot, so that we could adjust our position to always stay overhead.

The interesting part was how we did the calculations. Initially we'd been connected remotely to the quadrotor. Even though the machine had to be autonomous (work without human intervention) we didn't have a way to calculate camera values onboard. We would send the camera data directly back to out computer, calculate yaw/pitch/roll and then remotely send it back to the autopilot, which would speed up/slow down motors to follow.
This would obviously pose problems, as not only would there be significant lag, but we could lose communication mid-flight.
To fix this problem, we used something called a gumstix.
It is a full computer. Running a 624Mhz ARM CPU, 32MB RAM and 128MB ROM and running a full 2.6.21 linux kernel.
It was small enough to put right on board inside our quadrotor, and connected to the autopilot via a serial cable.
Rather than post low resolution pics here, I'll link to the full album.


Quadrotor

Digg this

1 comments