This week google introduced "go" their new programming language. From the Go website:
No major systems language has emerged in over a decade, but over that time the computing landscape has changed tremendously. There are several trends:
- Computers are enormously quicker but software development is not faster.
- Dependency management is a big part of software development today but the “header files” of languages in the C tradition are antithetical to clean dependency analysis—and fast compilation.
- There is a growing rebellion against cumbersome type systems like those of Java and C++, pushing people towards dynamically typed languages such as Python and JavaScript.
- Some fundamental concepts such as garbage collection and parallel computation are not well supported by popular systems languages.
- The emergence of multicore computers has generated worry and confusion.
We believe it's worth trying again with a new language, a concurrent, garbage-collected language with fast compilation.
So I decided to install the GO compiler, so I could play around with it. I found it to be a little different than the instructions.
Step 1: edit your .bashrc and add these lines:
export GOROOT=$HOME/go
export GOARCH=386
export GOOS=linux
export GOBIN=$HOME/bin
export PATH=$GOBIN:$PATH
The last two are not listed on the GO site, but I needed them to compile.
Step 2. Create a bin folder
mkdir ~/bin
chmod 755 ~/bin
This was also not included in the instructions, this is so quietgcc has a place to sit, and be run by the installer.
Step 3. Run the following commands:
sudo apt-get install python-setuptools python-dev
sudo apt-get install mercurial
hg clone -r release https://go.googlecode.com/hg/ $GOROOT
This will pull down the latest copy of go. Next, you'll need the libraries to build go:
sudo apt-get install bison gcc libc6-dev ed make
Step 4: Build and install
cd $GOROOT/src
./all.bash
If all goes well, you'll see this screen:

Go has been successfully installed
I am using Ubuntu Linux, Karmic Koala with GCC 4.4.1
If you have any questions, feel free to contact me!
Tags: compiler, go, Linux, Programming, software, ubuntu
I have a quite serious question for anyone reading out there. I'm far from a psychologist, and despite my many theories on social behavior, I have a hard time reasoning this one out.
Today, I took a trip to the parts store after work. I had a broken door handle on my car, and it was getting pretty annoying opening it up from the inside. So I strolled down to the NAPA in Hillsboro to get some bolts, and decided I would bolt on my door handle in the parking lot, where i had plenty of light.
I thought ahead, and I anticipated a possible annoyance: people parking next to me. So I figured to make this process less annoying, I'd buy a couple extra washers, for the ones I would inevitably drop down the door (I did) and I figured I would park away from the front door, where there were no cars around. Granted, there were only a couple cars in the lot, but I figured I'd be better off staying out of the way.
I parked across the way in my own little spot, and walked in and got the neccessary hardware walked out and started pulling my door panels off. And sure enough, someone pulls up. Right next to me. I pulled the door closer, and thought to myself "what a retard!" this wide open lot, and he chooses a far away spot right next to me. I continued on.
Needless to say, it takes a while to remove a door panel, handle, and all the hardware. The person left, and a few minutes later someone pulled up again. Same spot, right next to me. I pulled the door in, and really started to wonder.
Before I was done, three people had gone completely out of their way to park right next to me. I kid you not, this was really strange. I thought to myself, I must be going crazy. I could understand if it were a crowded lot, and I was right by the front door. Mix that with a little Murphy's law, and it would only be natural that people would pull in next to me. But The parking lot only had a couple spaces taken, and all the spaces in front of the store were empty. Why?
In a world where people fistfight over good parking spots these people were not only parking farther away than they had to, they were parking right in the spot that would be the most inconvienent for me. There are only three possibilities here.
1. This is perfectly random. Three people park randomly chose the spot next to mine. Unlikely, but possible.
2. Basic Herd Theory - A decent explanation. Others saw me park there and just naturally decided to follow. Also, number 2 and 3 were concurrent, so maybe #3 saw #2 pulling out, and thought they'd see what the fuss was all about. We all know there are people in this world who follow the crowd, no matter what.
3. Some people are intentionally annoying. I call these people "disruptors". We all know someone like this. They are the people you who subconciously or even conciously do what others do not want them to. These people are loud, obnoxious, and they know it. You always know when they are in a room, and they always know the most annoying thing to do. If you're watching something interesting on television, at the most important point they position themselves in front of it, and /or talk so loud you cannot comprehend it.
It's a good possibility that I found 3 people with this mindset on the same day. They thought "Hey, that guy has his door open. Looks like he's fixing something. I bet it would be really annoying if I pulled up and parked there". And by god it worked. I was annoyed, watching these people park next to me, crunching me in my spot, while they walked across the lot to the store.
I am really curious, if you're reading this and have a possible explanation, shoot me an email. I'm curious what others think about this.
People are strange.
Tags: blogging, journal, people., rambling
A while back I wrote an article about setting up pidgin or gaim to use google chat, and at the time that was probably the best solution. But now I've found an even better, more efficient way.
I run ubuntu linux a good portion of the time, especially at work. I find it to be a very fast and even user friendly linux, and it's popularity helps development. I recently discovered mozilla prism in the add/remove programs area, and googled it to see what it was all about.
By installing prism, and pointing it to this url, you can run google talk in a stripped down version of firefox,right on your desktop. It looks feels and performs just like the google talk program in windows (sans the voice chat and file transfer). I recommend checking it out, if you dont want to use the clunky web version of google chat.
Click on image to see a larger version.
Good luck!!