Saw this posted on OLPC News. It’s a great little animation describing the OLPC project, it’s goals, and it’s philosophies.
[youtube http://www.youtube.com/watch?v=c-M77C2ejTw&color1=0xb1b1b1&color2=0xcfcfcf&hl=en&fs=1]
Author: Dave Shevett
OLPC G1G1 Program via Amazon is now up
For those who missed the first Give One Get One program, the OLPC group has made them available again, this time in a partnership with Amazon.com. This means laptops will be shipped and managed by Amazon, thereby avoiding all the shipping and support delays that cropped up with the first program last year
Zach has had his XO since January, and still uses it regularly, particularly for Scratch programming, and also playing on a mud. He’s going to be graduating to programming in Python soon, and this is an excellent platform this.
By the way, there’s a Fedora distribution from Redhat that sold through Amazon on an SD card. Buy the card, drop it into the XO, and it’ll boot up as a fully functional Redhat Linux box with your favorite desktop manager and other application support.
Remember, the G1G1 program is designed primarily to support the developing countries, and get more laptops into the hands of kids that need them. These laptops are by far the greenest laptops ever manufactured, with the lowest impact on the environment possible. If you’re serious about education, environmental support, and getting technology into the hands of people who want it the most, please consider the OLPC project.
Frustrating Eclipse + Ubuntu + JVM Crash
I’m spending some time setting up a new Linux environment for CONGO development – mostly because I haven’t used a Linux desktop for heavy J2EE work in quite a while, and I have a decent laptop available to run it on.
The problem is the JVM is crashing regularly on the machine. I end up with a huge crashdump file, but the gist of it is:
# An unexpected error has been detected by Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007f22e44e025a, pid=31427, tid=1077770576 # # Java VM: Java HotSpot(TM) 64-Bit Server VM (10.0-b23 mixed mode linux-amd64) # Problematic frame: # V [libjvm.so+0x1f125a]
Normally the JVM under Linux is amazingly stable, so this sort of internal crash is really puzzling. I’m going to post on the Sun forums for help, but just wanted to vent a little frustration here. Grr!
UPDATE Apparently this is a known bug in the JVM that is tickled on 64 bit systems, and has been around for a while. There’s a couple workarounds posted on the bug page at bugs.sun.com
Randomness…
Misc ramblings, just have to get them out there.
- KDE4 – Not Ready
KDE4 is so not ready for prime time. Or maybe it’s whatever version is currently bundled with Hardy. Ick ick ick. Not stable, unuseable, bleah. - Struts2 – So far so good
I’m getting into the proper mindset to go “Make that, wire it up, go.” in S2. I’m missing a good powerful JPA layer though – too late to roll Hibernate into v2.0, but I so see it in the future. - Laptop battery, not so good
clipper has a dying battery. After 3.5 years, I’m not surprised, but it is sad. I’m only getting 15-20 minutes out of it now, the question is replace the battery or the laptop and the battery. Decisions decisions. - Scratch is still cool
Zach is still totally emfatuated with Scratch. I watched him ‘program’ for a bit today, and he clicks and moves components around with the best of them. He even figured out how to get it to generate an error and pop up a diagnostic window (“Cool, huh? What is that?” “That’s smalltalk.” “Neat!”), etc. Ahh, my little hacker. - Work kicks my ass
Tech Barbie says “Work is hard!”. It is – it’s taking up a huge portion of my brain and focus, which is something I’m not used to. I finish the day drained and wrung out, but still force myself to get code done for Congo before falling over for the night. - Hudson is cool
We have a hudson install going on one our servers. It’s doing continuous integration builds and deployments. FAR better than the hacked up scripts of yor. Need a new build? *click* Build in progress! - Perl made tolerable
I’m still stuck with working on perl sometimes. But if I have to go total immersion, I’ll likely use EPIC. It’s a Perl IDE plugin for Eclipse, and actually seems to work. Very tasty.
Nuff rambling. Back to the grindstone.
Super Obama World!
This is so not right.
Super Obama World!
No, it really is just what you think it is.
Thanks, fish-shaking, whatever to Cathy for this.
Regular Expressions…
Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems. — Jamie Zawinski
Boy ain’t that the truth.
Mom and her MacBook
Mom’s mac mini has been acting up lately, throwing disk errors, refusing to boot, etc. It’s 3.5 years old, out of Apple warranty, and, well, it was time to upgrade.
After a brief discussion and a glance at Apple’s refurb listings, we picked up a Macbook. 120gig of disk space, 1gig ram, dual core 2.1gig, combo drive, the whole works – for a mere $850.
This is Mom’s first laptop, and by appearances, she seems to be taking to it just fine.
And so ends our busiest month.
So here we are on November 1st (I could tell it was a new month because of all the Mailman notices in my inbox this morning).
But there’s another reason this is an important milestone.
Whenever I make a change to CONGO, I submit it into our SVN repository. That submission generates a mail message letting other interested parties know a change has been made, and they should update their local copies.
My philosophy, and one that is the ‘unwritten rule’ for SVN usage is “Commit Early, Commit Often. The idea is that the repository should reflect the most recent version of working code, and avoids the “I have had such and such code checked out for months, and you went and changed the repository on me! Now I can’t merge my code in!” problem.
Because my pattern really hasn’t changed, I can use my commit timing to judge how busy I’ve been on a project.
Last month, October, 2008, was the busiest, and therefore (arguably) the most productive month of coding on CONGO since the project started. The congo-dev mailing list statistics show that during October there were 119 commits against he repository. The previous ‘record’ month was December, 2004.
Virtually all of this work is reflected int he progress being made in Congo V2, and I would be remiss in not giving thanks to Owen Jacobson’s help in porting Congo to a Struts / Spring model – his commits are in there too.
V2 is coming along. I’ll have something to show soon!
What do you do with an old movie set?
The things you learn while watching Jeopardy. Did you know the original set used for the 1980 movie Popeye is alive and well as Popeye Village (also known as Sweethaven Village), an amusement park on the northwest corner of the island of Malta?
I didn’t!
The weekend. Let me tell you about it.
So this weekend had me out to Ubercon down in NJ. All in all, things went pretty well. It was the second time I took Zach with me to an event, and he and blk’s son Justin had a riproaring time gaming, socializing, and geeking.
On a personal level, this wasn’t one of my banner events. It’s been a while since I ran at at-con registration of a reasonable size, and a lot of things conspired together to fail so that, by today (the last day of the con), I felt pretty down about my showing. Let me esplain. No, there is too much, let me sum up.
- Mame – My MAME cabinet, which I’d been hauling down to Ubercon for now the third event, gave up the ghost last week. deathstar refused to boot, and I almost cancelled bringing the machine. The UC folks happily offered up some spare hardware, and I decided to bring the machine down. Early Friday morning I did an emergency load of Kubuntu 8.10 on a spare laptop, installed my MAME drive that has my roms in as an external drive, and configured up KXmame. The end result? Unstable, video modes not working right, and general bleah. I managed to keep it limping along through the weekend, but it was not the glorious, elegant machine of the last event. There needs be work here.
- CONGO – Hardware – The server I use for events, ‘endor’, has been running faithfully for almost 20 events now. I’ve done one full OS reload, and for the most part it has been dependable as all git out. This weekend however some hardware twitches started to come up. First, the CMOS battery died, which causes the ‘things have reconfigured!’ message on boot. What I didn’t realize was it had also reset the dates, so that all the log entries for CONGO this weekend have a datestamp somewhere in 2006. This will require manual fixing. We also lost power twice due to a flaky outlet. The last bit was I attempted to cut back the amount of hardware I bring to events, and in doing so managed to arrive short 2 keyboards. Fortunately, Ubercon loaned me a pair so things were fine, but Grr.
- CONGO – Software – For the most part, CONGO behaved appropriately and did all we asked of it. I’m itching to get v2 up and running, because of all the deficiencies I keep seeing in v1. But, the old tried-and-true still chugs along, and we cranked out hundreds of badges over the weekend.
- Organization – I normally have a very competent reg manager running the event with me. This time, the normal Ubercon chap I work with was unavailable (due to health issues). While other folks helped man the desk (we were never short on people), not having an “In charge” Ubercon person with us really pointed out weaknesses in the process control in CONGO (things like cash drawer management).
Despite my grumblings, the convention was a success, and I think we did a bang-up job on keeping everything flowing nicely. I am utterly, 100% exhausted – the drives up and down take their toll, and caring for a 9yr old while running an event can be a bit taxing. Would I do it again? Absolutely, and will next year. For now, I’m going to go fall over.
Chairs!
When we first starting putting Mosaic together, I was all excited to exercise my basic scrounging skills and start accumulating stuff to fill out all our new spaces.
Alas, Mosaic took a LOT longer than expected to come to fruition, but now we can finally start getting all the bits we’ll need. Since we have a great room that can seat 60 or so folks for meals, we needed a lot of chairs.
Through the magic of the Harvard Recycling Program, yesterday morning we picked up 84 very sturdy ex-restaurant (or hotel, we’re not sure) chairs. They’re in great shape, if a bit orange, and very sturdy.
We have chairs!
CONGO Progress and Pretty Pictures
Another good night of coding!
After finishing a hefty project at work, and a busy week of Life Fun, I took 4 or 5 hours last night to hack into CONGO and try and get some rough edges worked out. I really feel like I’m approaching a useable system, with workflow doing what it’s supposed to, database tables updating the way they should, and crashes being few and far between.
I’m a visual person, so I wanted to come up with an up to date ERD for the v2 table structures. Ages ago I used DbDesigner4 to create an ERD for v1, but the tables have shifted a lot since then, and I wanted to see if I could auto-generate a diagram from table structures
Hunting around, it looks like DbDesigner has been absorbed into MySQL Workbench. I downloaded the latest version, and found myself bewildered by it’s interface until I realized what this thing was. It’s a tool for creating and designing databases, as opposed to a passive maintenance tool. Not… quite the approach I was shooting for – I was hoping for something like dbVisualizer that had a button that said “Make an ERD of this.”. While dbVis does have that to a certain degree, it’s pretty weak.
Eventually I figured out the incantations necessary to create an ERD with MySQL Workbench from existing table structures (it involves dumping the MySQL tables to a .sql file, and ‘reverse engineering’ the structures from that file). A few more mutterings and a dead chicken later, I had a visual representation of all my tables and their relationships to each other. Score!
Alas, the tool isn’t really a ‘reporting’ system, so the resulting graph needed some fiddling in Gimp to add titles and other text. Naturally I realized after the fact that I didn’t move a couple tables into the view before snapping the picture, but it’s still a pretty good representation of where I am.
Coding wise, v2 is missing a vital component – the Properties system is not yet working, and this is critical for basic operation. I started into it last night, building up new DAOs and domain objects representing a Property for a registrant and an associated PropertyDefinition. What’s left to do is write all the management tools around them to make them workable from Coconut, and start testing.
The last big project will be the public interface. In many ways, that’s going to be the simplest and most rewarding – it’ll be the outward facing side of CONGO. Essentially what registrants see when they want to attend a convention. Previous stabs at this worked reasonably well. Attendees at the various events were able to do the basics of what the event needed, but I’m really looking forward to going the ‘next step’ and offer a full service deployment.
My delivery date for CONGO v2 FC is December 1st. So far, I think I’m going to make it.
A Visual Overview of Smartfphones
I came across this great article on Gizmodo that goes over the major players in the smartphone market, from a visual standpoint. The article briefly discusses the various platforms out there, and gives a nice summary of the pros and cons of each.
It’s a very simplistic overview, but it’s nice seeing all the players together.
Read the full article at Gizmodo.
ENSMB at Honkfest!
Today Zach and I stopped by Davis Square to take in Emperor Norton’s Stationary Marching Band‘s performance at HonkFest. There were zillions of people around, with at least 3 different bands playing at any one time (far enough apart so they didn’t overlap at all), and tons of great costumes, dancing, and just plain fun.
Naturally, ENSMB’s show was awesome as ever, taking place out on the greenway along the bike trail. There was plenty of room for the band, the Madcap Rumpus Society and an audience hundreds of happy, dancing folks.
Handsome Chuck threw his always exceptional level of energy and drive into the show, and the band kept the kickin pace up for the full hour I was able to watch them.
Thank you ENSMB and Honk!
Jay Walker’s Library
I’m certainly a collector. Scouring eBay looking for another odd component to add to my esoteric toy collection is an age old pasttime.
But Jay Walker, the founder of Priceline.com and entrepreneur extraordinaire, has taken it to the ultimate.
Wired.com has an article and pictorial about his private library, containing centuries old books, originals of the milestones in technical and intellectual history (one of the spare Sputnik satellites, Enigma machines, an Edison kinetiscope, a 1960-era vacuum tube processor from IBM), all housed in a custom built 35,000 sq foot room.
Magnificent.