Sunday, January 6, 2008

home Sweet Home 3D

Last night my wife was feeling particularly creative. While I usually approve of her creative inclinations I was simply not in the mood to move our large objects (some call it furniture) around our apartment. Thinking aloud I said to my wife, "there must be some great open source software for interior design".

When someone says such as phrase there a few common outcomes:
  1. It is the case that such a project exists therefore the problem is solved
  2. It is not the case that such a project exists therefore it is the case that either
    1. You create the great project yourself therefore your weekend is shot OR
    2. You do not create the great project yourself therefore you are forced to move heavy objects (your weekend is probably still shot)
In my case I was fortunate enough that a great project already exists. Oddly enough, googling around didn't yield much fruit. I had foreknowledge of several good open source CAD programs though I knew that they were probably not well suited for the simple task we were trying to accomplish. I quickly turned to SourceForge and stumbled across Sweet Home 3D. It's your typical java project that comes with binary tarball complete with a bundled version of Sun's java (though Fedora's Iced Tea works just fine). Once unpacked my wife was free to let her loftiest of ideas loose on our virtual apartment. It really was quite simple to use. She cranked out 3 layouts in no time--one of which we might actually implement.

Tuesday, January 1, 2008

Lanier's Well-Tested Conjecture

Something has been eating at me for the last few days since Jaron Lanier's article Long Live Closed-Source Software! first came through my feed reader. I couldn't put my finger on it at first but maybe after letting the thoughts percolate a bit through my mind I'll be able to dig it out by the time I'm done here.

On the surface I guess the reason I was initially bothered by the article was the fact that I came across it while thumbing through my slashdot feed. Honestly, it's probably more my fault for reading /. in the first place (I get really annoyed when I see articles that seem as if they are begging for attention).

It wasn't until I finally got around to reading it that I realized it was something I needed to consider. If you make exception for phrases like "there's a reason the iPhone doesn't come with Linux" it seems as if Lanier makes several valid points. Later in the article he even makes statements that make him appear sympathetic with the open source movement. So he can't be all bad, right? Though, again, that wasn't what has been itching me as I don't tend to get too stirred up by those sorts of issues.

What really gave me a sour taste was the idea that he would be in any position to judge innovation based by his "evidence". Personally, examples like the iPhone seem ridiculous when its basic functionality is comprised of nothing more than things that I have wanted on my phone since the late 90s. The trick that will make billions for Apple is that they have done it a fashionable way. To say that it doesn't come with Linux wouldn't even be true if you consider many of the web applications on which the iPhone experience relies are are indeed running on Linux and open source. Though it wouldn't have been as catchy, Lanier should have directed his statement towards the Linux community if that was indeed what he was hinting at, "the iPhone doesn't come with [the ideals commonly expressed by the Linux community]". I guess I was wrong--that does sound catchy!

But how do communities innovate? How does one even recognize that innovation? I'll tell you how--not very easily. Let me continue along those lines and explain that I'm more accustomed to hearing people talk about innovation long after the particular innovation in question has actually been innovated. I studied Spanish golden age literature in College. For some strange reason though it wasn't called golden age literature at the time of it's writing. I even see a parallel in the field of music strangely enough. I played in several bands whose prime preceded the dawn of YouTube and MySpace, that is to say their existence is presently only in my mind (and a few other minds). I wouldn't even say our music was innovative but I do feel that in the hundreds of shows we played I was exposed to innovation through the people we encountered. Few of those bands are still around today in any form yet these underground cultures are alive all over the country. They share with each other through tours and festivals and now more than ever with the advent of communities such as Last.FM. I don't want to spend much more time on this particular topic so suffice it to say:
When people call the iPhone innovative it gives me much the same feeling as when one of my hip-hop aficionado friends from Spain considers Coolio to be innovative.
I only mention Spain because I lived there for a year and a half and those situations came up far too often. The idea is simply that the majority of Spanish teens are too far removed from hip-hop culture to make any judgement on west coast music from across the ocean (they would be, however, more knowledgeable on hip-hop from Iberia). The only thing they ever experience from the US, in my opinion, is culture that happens to be profitable. I believe Lanier's definition of innovation borders dangerously close with "it's popular ergo it matters".

I just don't buy the any statement that claims the open source movement doesn't innovate. People innovate, period. Closed source projects fail as commonly (and for many of the same reasons) as open source projects. The vast majority of closed source software is miserable in much the same manner as the sundry projects on [Insert your favorite repository here] are. It's just too simple to think of examples and counter examples for any theorem that aims to prove a function of Open/Closed sourcedness to innovation. Surely things are more complex than that.

Friday, December 28, 2007

GEB part one

I just finished part one of Godel, Escher, Bach and I can honestly say it's been an exciting experience. I was first introduced to GEB by some friends at RubyConf. A week later at the local erlounge again it was commended. Since I had been reading a lot of pure tech books lately so I decided I would give GEB a shot. It's true that it's a book that 10 people could read it and each come to 10 different (valid) conclusions as to the purpose of the book.

Highlights for me thus far
  • The carollian dialogues between the Tortoise and Achilles. Especially the one which demonstrates the difficulty of trying to use logic and reasoning to defend itself.
  • The chapter on recursion. I think it's safe to say that most people that enjoy hacking on code would find this particular chapter enjoyable.
  • The numerous correlations between seemingly disjoint subjects. Obviously the book treats the relationship between G, E and B with special consideration but there are correlations on many more levels. You find yourself on the same page dealing with the intrinsic meaning of symbols and abortion, for example.
It's been some of the most challenging pages I've read in a while. I typically only have a few hours a week to spend with GEB and it's taken me several weeks to get 275 pages into the book. Ironically the most challenging part of the book thus far has been the Preface. I guess it shouldn't be that surprising when you consider the task of describing GEB holistically.

I would recommend this book to anyone who feels like they have been too intensely focus on one mental task too long. Often I find myself doing just that since it seems to be my forte. The various puzzles have been a nice trip outside the mental box (Strange Loop) I've placed myself in.

Recommendations for reading GEB
  • Attempt all puzzles. The completion of many of the puzzles is not of much importance in the scope of GEB. The mental exercise is of far greater value.
  • When you find yourself breaking out of a Strange Loop try and explain it to someone else. Here's something I came up with last night as I explained the Dual Nature of Formal Systems:
Imagine a chess board. Legal moves can be represented in algebraic chess notation (illegal moves could be represented as well). For example Scholar's Mate could be represented as:
  1. e4 e5
  2. Qh5?! Nc6
  3. Bc4 Nf6??
  4. Qxf7# 1-0
Now since Godel showed us that formal systems (in this case the allowed moves in Chess) can be mapped onto Number Theory you could imagine being able to create equations for entire chess matches that could be derived mathematically. What if something so simple as converting all the numbers in the various expressions were converted to base 26 and represented by the English alphabet. Since I'm already in the state of imagining atrocious coincidences I might as well imagine that upon transposing the numbers the letters reveals an entire book about the legal chess moves. Better yet, what if the book was not about legal chess moves but illegal! That would indeed be a Strange Loop.

Thursday, December 27, 2007

Kino 1.2.0: great on F8

Today I spent some time figuring out why I couldn't get Kino's transitions working on Fedora 8. Previously I was using version 1.1.1 from the livna repository and I noticed today that a tarball for 1.2.0 existed. Building and installing it to my home dir worked like a charm. All audio and video FX are working. During FUDcon I might seen if I could update the livna package for kino so that others could benefit. I'll test it out a bit more in the meantime.

On a side note I also gave pitivi a shot. It's far from it's first 1.0 release but I must I like the interface a bit more than kino. Plus, being written in Python makes it a little more hackable.

Wednesday, December 26, 2007

My first attempt at video editing on linux


It's been a while now since I sold my iMac. The one thing I've missed the most since that day has been the video editing (I haven't touched my mini-dv since). Tonight I decided I would give kino a shot. It's pretty good but it's definitely not iMovie. For some reason I was not able to get the transitions working on my system. I'll try and figure that out tomorrow. In the meantime I've uploaded a sample video of some clips of me and my wife on Topsail Beach, NC.

On a side note, people should give blip.tv try. It's the first video service I've found that has first class support for ogg theora (big thumbs up). If you create an account be sure not to re-use a password as everything is done over HTTP (that's a big thumbs down).

*UPDATE* At least on my machine I wasn't able to get the aforementioned embedded video to play. I don't know anything about the cortado applet but apparently that's what is being used. Anyway, it plays on my machine with mplayer and at the moment that's the only thing that matters.

*UPDATE* I think the only thing I needed was the gstreamer-plugin rpm installed. Now it's working for me.

Sunday, November 25, 2007

Hotmail silently blocked my Amazon giftcard

I received an Amazon giftcard this year for my birthday. Actually, I didn't receive it. Let me explain.

I have a old hotmail account I give out if I suspect someone is going to give out my address (sometimes I just use mailinator). My mother-in-law was trying to be courteous since she didn't know if Amazon would give out my address so she sent the gift card to my hotmail account. When I logged in I noticed it wasn't in my inbox nor my spam folder. Forty-eight hours later it still hadn't arrived. I emailed Amazon and they told me the gift card could be reissued so we logged in and resent the card to my primary account. The email showed up instantly.

If hotmail really is cutting their own throat I hope the knife is sharp.

Saturday, November 24, 2007

Windows Tithe Day 2007

I just got back from a two week trip to Denver. My wife's family lives there so it made for a great place to take the Advanced Ruby Studio as well as spend the holidays. The second week I was officially on vacation and got to spend a lot of time simply relaxing and doing things I enjoy. One of those things is spread the open source love.

My mother-in-law has two year old Sony Vaio that originally came with Window XP Home Edition. For some unexplainable reason the wireless stopped working all of a sudden and by the time I was able to investigate the CD drive was no longer working. XP couldn't even mount my usb thumb drive. When I logged in as the admin user and looked under Device Manager it showed nothing there. While I don't claim to be an expert in Windows internals I felt quite certain something had compromised her system. It was indeed Windows Tithe Day.

Instead of repeating the vicious cycle I decided to fix the problem. Since I usually carry some form of a Linux live CD with me when I travel I decided to install Fedora on her laptop. Initially I installed 8 since it's the latest and greatest from the Fedora camp but I immediately hit some strange lockups that I believe were related to Xorg 7.3 and the radeon driver. I spent a few hours reading Every Single Post on an extremely long thread on Ubuntu's Launchpad that reported similar problems for some users with Gutsy. Since I had lots of success with Fedora 7 I put in my Live DVD and within 30 minutes had the basic system install and running. About 8 hours later (spread over a few days) there was one less Windows user in the world. My main goals for her system were:
  1. Wireless connectivity (auto connecting to the correct networks, etc)
  2. Dead simple picture importing from her Kodak camera
  3. An office suite
  4. Web browser with all plugins for using her favorite sites.
  5. Software for music notation
  6. Printing
One reason it took so long is that the configuration had to be flawless. Everything had to work perfectly or it was going to be a waste of everyone's time. That being sad most of my time was spent on numbers 2 and 5. On my laptop the second I plug in my Canon everything just works. A dialogue box pops up and asks me if I want to import the pictures. However the permissions weren't getting set correctly on her machine for some reason. I decided to create an /etc/security/console.perms.d/52-kodak.perms file that gave the console user write access to all usb devices. As for #5, I spent a lot of time evaluating the various open source programs available. Previously she had used Sibelius. Paying for Sibelius when all you need is a program to print out and archive musical notation is about like buying Photoshop just to resize pictures. GNU Denemo fit the bill nicely. It's a gtk frontend to lilypond and it worked like a charm. The best part is that if she really ends up liking it she can recommend it to her students and they won't have to shell out a few hundred dollars for No Good Reason. Denemo coupled with the free (as in freedom) music education curriculum from Connexions can take a grassroots piano school to a new heights.

So I guess if you are still reading this one of several thoughts have probably come to your mind:
  1. Why would this guy would spend so much time setting up this laptop and then ranting on his blog?
  2. I would have just installed a pirated copy of Windows XP Extreme Awesome Edition--it's suppose to be more stable, right?
  3. She should just by any mac. And when the day comes when it can't do everything she wants I would just tell her to by another one. Period.
Hopefully I'll address each of these issues, we'll see.

Basically I get extremely upset when software randomly stops working for people that 1) don't know how to fix the problem and 2) just don't have the time to worry about things like operating systems deciding to Just Not Work. I believe companies that engrain software like this into our culture are doing humanity a grave disservice. I actively try to correct the problem in anyway I can, whether by writing software myself or by finding something that will work for them that someone else has already written.

When I was in college I helped dozens of elderly people in my community learn to use technology to improve their quality of life. However many situations arose which forced me to step back and wonder if I was really helping them at all? Yes, on one level they are now capable of emailing pictures of their grandchildren to their relatives but the time they waste trying to figure out how ClickToGamble.exe got installed on their system when all they wanted was to install a plugin to view their sons video on YouTube, typically negates all time saved. Personally I don't want to waste an elderly persons time. Every moment is valuable. When I finally had to move for work I basically started giving them different advice: Buy a Mac.

That conclusion was reached prior to my realization that open source is the best solution to their problem, though I still partly agree with my original advice. You could replace "Buy a Mac" with "Get something that is going to work for the rest of your life no matter what it costs". Cost could be measure in a $3000 Macbook Pro or it could be 3 days of your life configuring an open source desktop environment. Either way make sure it's a one time cost. Anything else just isn't sustainable. Either your money or your time will run out. If there is one thing I can say about the Linux systems I setup it's that they will run until the hardware goes up to that big tech shop in the sky. I have been using Linux as my sole computing environment for the last 3 years and that's just been my experience. On a side note I consider the 3 days spent during initial setup to be valuable knowledge gained while at the same time I believe performing a postmortem on a Windows machine twice a year to be a complete waste of a person's life.

Hopefully I don't sound like a complete open source bigot. The truth is you can choose whatever computing environment works best for you (and I think you should), but as for me and my household we will use GNU/Linux.

Tags

my google reader feed