Sunday, April 27, 2008

Ubuntu 8.04

It is here. I just could not wait to install it, having to redo everything on my two computers. Just to get that one new desktop with a bird on it. I did it. It was great. Then I saw that not much had changed that you could see, but some has changed that you could not see. It boots fast, I think. It might run better. It does have some new type of wireless support that I don't need. I hear it hooks up to small devices better, like mp3 players. I need to check out the KVM stuff to see what the is word on that. After a first look I don't see that much has changed. I am hoping that as I go along I will find most things that are nice. The many thing it does for me is let me get the latest version of all the software I like. In the end Ubuntu is a great OS and it just getting better over time. One of my thought is they did not change to must this time because is LTS. I have read that 8.10 will have some major changes. I am not going to complain because it is free and it so far it has freed me from supporting MS.

Tuesday, April 22, 2008

Rollin' to the end of April, 2^n style!

So obviously I haven't contributed anything worth knowing thus far to this awesomely stud packed blog, BUT I say to you, the people of the world, fear not, I will eventually come up with something worth reading. Sadly today is not that day. I just wanted to congratulate the folks who do spit out relevant information on clearing the 2^4 blog post!!! WHOOO!!! Now lets party like its 2^11. Way to go dudes!

Tuesday, April 15, 2008

Cmake: it just keeps getting better

I have talked about how great cmake is before. Yesterday I read a little more and found it better then I thought. Included with cmake is ctest and cpack.

Ctest can be used to run test cases and every can have the output of these test sent to a web thing called Dart. Once cmake is up and running it is easy to add ctest. It took me two like to have a simple test working.

After learning about ctest it sent me down a path that showed me I need to look into testing more. I think ctest will work best to build components and then build small test drives for these components. It seems to me you need to know how to build good interfaces before you use test good. The last thing I want to do is write a bunch of test and then refactor the interface. This means changing the test and the code in the project that uses that component. Assume I figure this out I think ctest will make test easy and "fun".

Then there is cpack. Once we have some code we think other should have it would be nice to provide them an easy method to install it. That is were cpack comes in. Because the cmake tools are cross platform so is cpack. It can (or will be able soon in cmake 2.6) to create deb, rpm, and window installers. Plus a couple of other simple script and tar installers for *nix. So assuming you know what you are doing it will be easy to get the software out there.

I think the worst part of the cmake tool is the documention. It seems like there are very few examples of all these great features. They sell a book, but I don't want to buy it just to have them release a new version and make the book out of date. So I guess I will keep playing with cmake until I figure it out. Overall if you need to build your system I would say you need to look at cmake. It is nice.

Friday, April 11, 2008

Johnny Lee and Wii Remote at TED

Remember that link earlier in the year of Johnny Lee developing unique uses of the Wii remote? Well, he's at it again: he gave a talk on this technology at TED. Enjoy!

Thursday, April 10, 2008

HPC OS's

High performance computing is a fun time. How many places can you say your code used 2 terabytes of RAM and run for 10 days on 1000 computers? It is also a place that takes and hardware and pushes as fast as it can. With all this power there needs to a way of keeping it up and running not to waste money. That is why having a great OS it important.

As can be on the top 500 super computer website Linux is king here. Now Redhat an SUSE have been around a long time and have the most support for the super computer hardware and software. Redhat has a very nice cluster OS built on top of it called Rocks. I found this when I had to get a cluster up and running and I was impressed about how simple it was. I took about the same time and installing windows and updating all the drives as it did to install a 17 node cluster and be ready to go. Other cluster OSs are out there like OSCAR, Gluster, or Warewulf. Now I have only used Rocks but as I surf the website I find everyone seems to support Rocks, so I think it is becoming very popular. The reason is, it is so easy to use. To install more it puts packages in "Rolls". So anyone can make these rolls and it easy to install that software. So if you want to build a HPC cluster you should check out Rocks.

Installing software on clusters seems to be the hardest part. There can be a lot of nodes so
that is the main reason a cluster OS is important. Now one way around the OS is just a powerfully installer. In the Debain/Ubuntu world there is a project called fully automated install. I think this approach could be better. I have been using Ubuntu for some time and think it has a lot of good things going for it. Just so far I have not seen much in the way of cluster OS for it. It seems it started slow in the server realm, but is picking up speed. If that is the case then it needs to find a way of getting on HPCs in my view.

One of the reasons I like Ubuntu is the power of the .deb it took from Dedian. I think if Ubuntu/Dedain just start build the tools needed for cluster and made an cluster package manager like Synaptics. If it could all be done in an easy and to use yet powerfully way they could take on Redhat in the HPC world. If I was smarter and know what I was doing I think this would be fun project to take on. Perhaps someday...

Tuesday, April 8, 2008

Finally...I have come to post on a blog!

So while perusing the latest news in the Microsoft/Yahoo! corporate war, I stumbled upon a commenter who feels that Microsoft is completely in the right by attempting to buy Yahoo!. While I strongly disagree with that idea, I can't agree with the response to it either. This response had to do with Microsoft wanting to buy other companies while Google just wants to be Google. Obviously this is not the case, as Google has acquired many companies over the last few years which brings me to the point of this post, who does Google own? Thankfully someone further down the list was kind enough to supply a list of all of the companies that Google has acquired. I include this list for your reading pleasure. Enjoy!


Deja
Outride
Pyra Labs
Neotonic Software
Applied Semantics
Kaltix
Primedia
Genius Labs
Ignite Logic
Baidu
Picasa
ZipDash
Where2
Keyhole, Inc
Urchin Software Corporation
Dodgeball
Reqwireless
Current Communications Group
Android
Skia
Akwan Information Technologies
Phatbits
allPAY GmbH
bruNET GmbH
dMarc Broadcasting
Measure Map
Upstartle
@Last Software
Orion
2Web Technologies
Neven Vision
YouTube
JotSpot
Endoxon
Adscape
Trendalyzer
Tonic Systems
Marratech
DoubleClick
GreenBorder
Panoramio
FeedBurner
PeakStream
Zenter
GrandCentral
Image America
Postini
Zingku
Jaiku

Monday, April 7, 2008

Dive into Python

I always seems to buy books and then never read them all. I read some, but not as many as I wish I did. Well I have been wanting to learn python for some time and have wanted to buy a book. Today I found a better solution a free book online. It is called Dive into Python. So now I don't have to spent money on a book I might not read I can just use this.

Network Programing with BSD Sockets in C

Let say you have been trying to create a program that uses the network to send data around. Now you have looked and looked and because your program only needs to run on Ubuntu Linux you finally decide, I will use BSD sockets and use to C. After you find an example on wikipedia you copy and make it work. The only problem is you get lost in all the struct running all over the place. It is like structs inside structs. Then there is something about bit order and all you want to do is get take a hostname and send something to it. Well it turns out you need to read http://beej.us/guide/bgnet/output/html/multipage/index.html because it will save you. Good luck and have fun.