I've been playing a bit more with Linux on the PS3 lately. I've had Yellowdog on there since I got it, but with the recent update of the petitboot bootloader, it is now possible to (easily) boot off of USB devices. So, not wanting to trash yellowdog but looking for some more bleeding edge options, I installed Gentoo to a usb drive hooked up to the PS3. So now I am triple booting: GameOS, YellowDog, and Gentoo.
I'll note that Gentoo's stage4 for PS3 is incredibly easy to install and use. Kudos to Brent Baude and the ppc64 team, it's really nice!
There are a couple of big issues with Linux on the PS3 that can be overcome to make this device a killer system in a variety of uses:
On the PS3, the "guest OS" (linux in this case) runs through a hypervisor. This means that calls to the hardware go through a middle-man which checks for the validity of calls or translates calls, and then makes them to the appropriate hardware. This allows the PS3 to run a guest operating system that has no access to the "game" side of the hard drive, nor will it have direct access to proprietary devices like the graphical processor. This is an unfortunate necessity for Sony to protect some of the value behind the PS3 as a gaming system. In some cases, it severely neuters the PS3 as a linux device. I feel that IO is one of those cases.
The hard drive is accessed through the hypervisor. When you look at the hard drive you see the Guest OS partition and that is it. The GameOS partition is hidden completely and protected with the hypervisor. The cost to this is that the I/O calls have to run through the hypervisor, slowing things down incredibly. Just how bad? Lets look at the output of Bonnie on the internal hard drive through Linux:
(ext3 filesystem, bonnie benchmark, 100megabyte file)
-------Sequential Output-------- ---Sequential Input-- --Random--
-Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU
100 3629 97.6 23905 33.4 10648 11.7 3746 95.4 22336 6.6 552.8 3.8
roughly 23 MB/sec.. ouch. Now, this is not the end of the world or anything, but on a device that has as little RAM as the PS3 does (256 for the OS) you will end up swapping a lot, so the disk I/O is critical there.
This issue is well known in the ps3/linux community.. One way around this is to not use the internal hard drive. The USB hardware is not interrupted by the hypervisor (or so they say). In addition, the flash ports on the front side of the PS3 are USB devices. So, some people have taken steps to run swap space off of flash devices. Flash should be faster regardless. Now, without posting the benchmarks on a 2gig sd card because I don't do a good enough job of making it "fair and scientific", lets just say that seek times were the only benefit (of course).
What about a USB hard drive? USB 2.0 specs are pretty fast, up to 480 Megabit/sec raw data rate. Would running Linux off of a USB hard drive be faster than the internal drive due to the lack of hypervisor interruption? I had to run another test off of USB hard drive (a 250gig my book from western digital). Again, this is neither fair nor balanced (kinda like fox news) so don't flame me. ;)
-------Sequential Output-------- ---Sequential Input-- --Random--
-Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU
100 3631 97.8 25587 34.1 10380 13.4 3673 93.8 22839 10.2 884.2 6.5
Meh.. Just a hair under 200 megabit/sec. Not much faster than the internal drive at all. Now, here is where my benchmarking is incomplete: my x86 box here at home died last week so I can't take this USB drive and benchmark it on a non-ps3 linux system.
Some other thoughts here: The PS3 has onboard gigabit ethernet, would it be faster to run your filesystems off of a network share? (certainly wouldn't want to do that with your swap and introduce latency into the picture). I haven't gotten around to benchmarking anything like that. Nor have I been able to look into what might be the bottleneck in the USB hard drive benchmark: is it the drive inside the enclosure itself? usb? the ps3? If you have Linux on your PS3, and a USB hard drive, benchmark it and post in the comments.
The Cell processor in the PS3 is made of a 3.2GHz PowerPC core (the PPE or Power Processor Element) and 8 3.2GHz SPE cores (Synergistic Processing Element). As a technicality to note, one of the SPEs in the PS3 cell is disabled. The idea here is that the PPE is like a traffic controller, sending work to the SPEs which in turn do the dirty work.
See this illustration taken from the Cell Programming Primer (linked to at kernel.org)

The problem is that out of the box, applications will all run off of the PPE like it was a single core PowerPC system. Software needs to be written to take advantage of this architecture and farm work out to the SPEs. As far as I know (and someone please correct me if I am wrong), the support in the Linux toolchain is there, but applications aren't using it, yet.. I imagine such a move takes a lot of work and I doubt the PS3 will not become popular enough as a Linux platform to make the development time worthwhile for desktop applications. I hope that I am wrong here.
A lot of people have noted that the lack of direct Graphics Processor access can be overcome by using the SPEs to do the heavy graphics work. This is a valid point, so I won't pick on the lack of GPU access as a major issue. It still sucks, though, as the GPU has its own resources which would be very well used in the graphics processing.
So what of these issues? Well, I/O could be improved through the removal of the hypervisor (doubtful that this will ever happen, but one could always hope), and software could be ported and/or written to take full advantage of the SPEs. The PS3 is still lacking in RAM so it won't be a complete desktop replacement, but there are still a few uses that it would rock at:
I was checking out the new Weather Channel overlays on Google Maps last night, which is found under the "My Maps" tab when you go to maps.google.com.. I had always assumed this was some kind of saved maps feature (which it does do) but there is more to it than the weather channel overlay.
They have a picasaweb overlay. Having just moved back to the Bloomington area I thought this would be neat to try out. Specifically, I wanted to see some pictures of the Yellowwood forest and Lake Lemon area (we are just a mile or few away from Lake Lemon now).
So, starting out I selected the overlay:

Pictures start appearing all over the map. Right away I see a nice pic along the shores of Lake Lemon:

But.. Wait a tick.. just down the road a bit, what is this picture?

Awesome... I stopped there for fear of scaring myself out of the neighborhood.
So, for an interesting who's-who of your area, check out google maps and the picasa overlay.
(I've meant to do this for a while and was reminded by a recent post on Cali & Travis' blog)
I want to do what little I can to spread the word that some friends of ours, Travis and Cali Storer, are looking to adopt. I couldn't think of a more loving and deserving couple. Cali has recently posted pictures of their nursery, all setup and ready.
If you know of someone who is thinking of putting a baby up for adoption, ask that they consider Travis and Cali. Check out their adoption profile by going to www.itsaboutlove.org and search the profiles for "travisandcali". At that link you can also get all the info you need about adoption through LDS Family Services (no need to be affiliated with the church in any way to use this service).
Good luck, Travis and Cali!
My goodness was 2007 busy for me (and us).. Although a bit late, here are some of the highlights for me last year for those of you interested (not interested? Might I recommend finding something more interesting at digg.com).
1/1/07 - Trevor was not yet a month old, so he could be considered "new" in 2007. On new year's day I bought a large snow tube and took Tristen up to the cascades for some snow tubing, just he and myself for a special day. Had the time of our lives.. Looking forward to some more tubing fun this winter.
Feb-Apr - After swearing to everyone for years that I would never live in the bay area, decided to chase my career down to San Jose, California.. I left the Oregon State University Open Source Lab to go work for GNi, a hosting and internet services company. Sold our house in Oregon, said goodbye to some very wonderful people and friends, and joined the gold rush.
Spring - Bought a 24" iMac for the family computer, to replace the mac mini we had and handed that down to Nicole's mom. Computer geeks everywhere would have much better family visits and fewer distress calls if everyone just switched to a Mac.
Spring - Also bought a Jeep Grand Cherokee. We had always wanted one, and I came across "one of those deals" that couldn't be passed up, and the next day went out for my lunch break and got it. We love it.
Summer - Got a tempur-pedic mattress. I'm not paid to tell you this, but man that thing is awesome, and the only reason I mention it is because its a product I am so happy with (usually I just gripe here, so its nice to see a positive opinion for a change, huh?). It is very comfortable. It didn't provide more sleep for us throughout the night, but this kids are to blame there.
August - Went on a trip to Singapore (via Hong Kong), Tokyo, and back. First time out of the country. Had a great time! Fell in love with Singapore, such a great city/country. Also fell in love with sashimi (raw fish), something I learned afterwards that the USA can't match the quality of so I doubt it will become a habit. Flew business class on Cathay Pacific and first class on JAL. Air travel will never be the same for me again.
Sep-Oct - Went back to Singapore for about 4 weeks to setup a blade server cluster for game hosting in southeast Asia. A lot of work that trip, but had a great time all work aside. Got my fill of seafood (Nicole won't eat seafood, so I have to take advantage when and where I can). Took a day off to go golfing in Malaysia. Very pretty and tropical, but very different vibes than Singapore.
Nov-Dec - Decided to stop the career chase and focus more on my family. I got lucky with a job opening back at Indiana University with some former colleagues from the last time I worked there. Took a position working on the "BigRed" supercomputer cluster. Bought a house on the east side of Bloomington, outside of town with the best commute I've ever had. Nicole and I had decided that we really loved Bloomington and that we wanted to settle down, and be close to friends and family. Again, had to say goodbye to some wonderful friends and people in California (we still plan to keep in touch with all of our friends in OR and CA of course).
Other various happenings through the year:
- Discovered Smucker's hard chocolate shell ice cream topping. Dumping a ton of that on to a bowl of a good vanilla 'scream reminds me of the "Frozen Hot Chocolate" drink that Dairy Queen so cruelly discontinued. Try it sometime!
- Accidentally ruined just about every surprise gift that Nicole got me for any giftable occasion during the year. Stumbling across receipts, going out to purchase said gift on my own beforehand, etc.. Its getting to be quite comical.
Looking back over 2007, I'm pretty happy. Learned a lot, grew a lot, and we're a happy, healthy family!
| From 2007 |
Things to look forward to in 2008:
- More time with my wife
- More time with my kids
- More time for myself (looking forward to jumping back into woodworking..)
If you haven't been keeping up with CES news this week, there is a bit of buzz about the $199 Linux PC by Shuttle. This causes a stir because shuttle makes quality gear, but they usually stick a hefty price tag on it. I've always been a fan of their small box form factor, a line that other companies try to mimic but always end up with problems or shoddy setups.
As reported by CNet, the specs are vague but go as such:
* Intel Celeron processor
* 945GC chipset
* 512MB of memory
* either a 60GB or 80GB
Plus, it will look cute (pic from Shuttle)
Predictably, someone in the comments of some forum out there said something along the line of "a $200 celeron system, I could do that on newegg". So, I decided to try this out to see if Shuttle was giving us a good deal or not, and headed off to newegg. My criteria were to match what CNet reported, select a small Micro ATX box case (ala htpc style), and pick the cheapest stuff out of the lists. Here is what I found:
* Case: Spec-Research 01006 Black 0.65mm SECC Steel MicroATX Media Center, $69.99
* Power Supply (not included with the case): Athena Power AP-MP4ATX25 MicroATX Peak Surge: 275W, Max. Power: 250W, $16.50
* Motherboard: ASRock ConRoe1333-D667 R1.0 LGA 775 Intel 945GC A2 Micro ATX Intel Motherboard, $49.99
* Processor: Intel Celeron 420 Conroe-L 1.6GHz 512KB L2 Cache LGA 775, $38.00
* RAM: Kingston ValueRAM 512MB 240-Pin DDR2 SDRAM DDR2 667 (PC2 5300), $10.99
* Hard drive (couldn't find a 60GB on newegg): Western Digital Caviar WD800BB 80GB 7200 RPM 2MB Cache IDE Ultra ATA100, $41.99
Total: $227.46
There are a couple of combinations here that could be changed around to beat the shuttle pc at a similar price than what I found above (like saving $5 on a different motherboard that supports Celeron D and spending another $7-$10 on a Celeron D chip), and this cost would surely go down if a 60GB hard drive was available to match the 60GB option from Shuttle. You could also go a bit cheaper still and buy from tigerdirect, but good luck getting parts that work in the end. My own personal conclusion is that this is a good deal. Shuttle isn't pulling the brand tax on us with this box. Plus, their case is a bit more compact and much better looking than what I found on the cheap with newegg.
Will I be buying one? Probably not, but if I had a need I might consider it (like if the shuttle I have in my MAME cabinet doesn't boot after our move). But I think this is a great deal for Linux newbies, K12 labs, etc. Looks like you will be able to get shuttle quality at a bargain price. Now let's just hope they make good on their CES buzz..
Short story, I've been getting a little unhappy with the outrageous cost of new video games these days, and the fact that I can't quite afford as many as I use to. Even worse, when you take games in to your local store to "trade in", they give you a dollar for them just to turn around and sell them for $20 as used. This model is great for them, but sucks for us. As for rentals, last time I checked Blockbuster they were close to $10 for a rental.. nuts.
With this in mind, I want to start loaning the games I don't play as often with others rather than get a dollar for them at the mall. Help others out, with the thought that maybe the favor will be returned. To help facilitate that, I've thrown together a simple app that allows a group of users (presumably trusted friends or colleagues) to catalog their games, make them available for loan, and track who has what game. Similarly, you can browse the collection and request to borrow a game from another user.

When a user wants a game, the system sends an email to the owner with the request. The owner delivers the game and marks it as loaned out to said user, and therefore the games are tracked as well. The whole idea behind this is that there are a ton of games out there that I wouldn't mind trying or playing, but I can't even justify the rental fee for a couple of days for fear the game would suck or I not have time to try it out after renting it. I think this system is better. It won't stop me from buying games, but a "must have" game for me might be one of those games that another user just wants to try rather than dive-in, and visa versa.
Its a very simple app, just a few db tables and a CakePHP framework. I threw it together over a couple of holiday weekends (since my own game consoles were on a moving truck, what else was I to do with the time?). I built it around my own needs and desires, but if anyone else would like to contribute to its growth and development, and you don't mind my crappy code, drop me a note. In the meantime, I have a mental list of features to add, and a group of coworkers will happily be sharing games amongst themselves.
-C
So, I use to be the guy who flew off the handle when someone had not seen "the movie".. Now, I'm on the other side of that fence, where I haven't seen many blockbusters in the past 4 years, and my netflix queue is growing faster than we can keep up with. Nowadays, when people ask if I have seen movie X, I answer that "I've got kids". Its not a religious thing, so much as a logistical problem with the act of viewing the show. Today, I figured I would illustrate.
Last night we tried to watch a movie. Not really sure which "Pirates" it was because Clone #2 was pretty loud from the beginning and so we didn't catch the dialog, but Jonny Depp had a lot of makeup and a pirate hat on. We got about 15 minutes into the movie and I had to get up for something. It had not occurred to me that the noise from Clone #2 had gotten pretty quiet (always a bad sign), but when I came back into the room I saw what was keeping him occupied. He found his brother's leftover ramen that was on the kitchen table, unfortunately within reach. This picture only captures part it, but the entire mess consisted of enough noodles to stretch from here to Mexico.

The darndest thing is that we can't get Trevor to eat baby food.. He won't eat baby cereal or anything. Yet, if he thinks it is forbidden and can get his hands on it, he's all over it. I will become a millionaire as soon as I figure out a way for babies to derive nutrition from TV remotes, cell phones, and keyrings.
We gave up on the movie last night. Tomorrow night we will try for the next scene, as tonight we have the annual birthday picture taking ritual at Sears.. I will have to report on what is more enjoyable: picking ramen noodles out of the carpet or trying to get a 1yr old and 4yr old to pose and smile. :)
-C
By the way.. I've turned on comments for my blog! (and hopefully put enough spam protection in place).
So, back in the day I posted a blog entry (in the old blog, sorry.. I'll import those archives someday) about TheTube. TheTube is a music video channel that actually plays music videos, and not just the top 10 over repeatedly. We saw concert videos, songs we had not heard in years, etc..
Here I am, thinking about antennas and such to pull in some HDTV over the air at the house (since Dish Network is not carrying the Indy locals in HD yet). I got to thinking about TheTube, which broadcasted on many DTV multicast channels across the country. Went to their website looking for the nearest broadcast point, just to find out that they stopped broadcasting in October. See http://www.thetubetv.com/
:(
Thats too bad.. It would have made a great pay-channel even.. I would have subscribed in a heartbeat. Probably couldn't keep up with the RIAA fees (like with Internet radio).. too sad.
As we have been hunting for a house back in Bloomington, my niece helped us out by praying every night that we would "find our yellow house". (they have a yellow house, so it makes sense, right?). Well, we ended up with a (partially) yellow house, so here are some pictures for you Ruth:


It is a late 60's home on about an acre of land, just minutes northeast of Bloomington on SR45. Plenty of space inside (1850 sq ft). Most of the interior has been upgraded which made it very appealing, and the original garage was turned into a master suite with a new much larger garage added. The garage is huge! Billed as a 2 car garage, but there is room for 2 cars and lots of project space. I'm looking forward to jumping back in to woodworking with all of the space.
Oh, and the master suite has TWO SHOWERHEADS. I've replaced the shower wands that were originally there with nice a pair of rain heads. Now, I know what you're thinking.. As my grandfather pointed out, we could save time by showering together.. wink wink, nudge nudge.. But given that I'm still learning to share I like to keep the 2 shower heads to myself. The end result is still accomplished, I save time by cleaning both armpits at the same time! w00t!.

(get ready for a ranting post..)
This past week has been tough. As soon as we had a closing date on our house we asked to arrange delivery of our belongings on or after the 14th (the closing date for our house). We were told that the truck would be loaded up on that day and to expect delivery between the 18th and 20th. Bummer, but okay. We have enough in the house to get by: air mattresses, folding table and chairs, and a computer+internet for entertainment. Besides, this gave me some time to work on some of the rooms in the house that needed some cosmetic adjustments.
The 18th came around with no word from a driver, so I tried to get a hold of the company. This ended up being a pain, trying to get someone to return an email or call. Finally I heard that there was a problem with the truck and our stuff was being loaded up that very day. We could expect delivery between the 20th and the 22nd. I thought that 2-4 day lead time was a bit optimistic, especially considering the winter weather in the Sierras and Rockies. This delay starts to compound on top of a couple previous disturbances: 1) we were told they would crate the TVs and the glass patio table for free (everyone else charged for this, which is a lot of money, talking like $500 for a custom crate on the LCD tv). This was a big selling point for the company. They showed up with no crates but used bubble wrap, moving blankets, and cardboard to wrap the items. Not what I was expecting considering everyone else in the industry understands "crate" to mean a big wooden box. 2) I was given a "not to exceed" quote that went up by $700 in driver fees upon pickup. I don't mind the added fees, but I do mind being misled to think that the quote I got would be the maximum I would pay.
I sent the company a lengthy email explaining that the delays are not so much of an issue with me as the lack of communication combined with the misleading communication. I asked that they communicate more in the future to try and keep me a happy customer. Got no reply (not that I asked for one, but kindof expected an acknowledgement).
Now here we are, the 21st. It is mid-day and I have not gotten my "24 hour notice" call from the driver, with tomorrow being the last day in our range for delivery dates. I emailed yesterday for an update. I called yesterday for an update and heard that my stuff did in fact leave on the 18th. This is good news. I asked where it was and was told they would contact the driver and get back with me. I didn't hear back yesterday. Emailed. Nothing. Called and was told I would get a call back.
Well, I just got that call back. The driver had a couple of other deliveries to make when he left on the 18th. This was not communicated to me, and definitely was not considered in THEIR 2-4 day delivery estimate. He's on his way across the rockies right now and should hit Denver tonight. Their new estimate will depend on where the driver ends up tonight. The driver gets Monday and Tuesday off for the holiday. The chances of the truck hitting Indiana Sunday night are probably, maybe mid Sunday if all of the weather cooperates.
So we're talking the 26th for delivery now. I wouldn't expect people to work on our move over the holiday, and definitely couldn't feel good doing that, but this last estimate was very deceitful. You'd think a shipping company would be use to proper estimates, so I am led to think that they were playing lip service to keep me happy. This brings me to my point here and the point of my email complaint to the company: Communicate (and be truthful) with me. I deal with problems in computers that affect users and their work all of the time. While the news may not be good and may upset people, it is always a lot worse when you try to cover things up or bend the story.
Time to get off my rant-box.. guess I have more time to fix another room or two before the house is filled.