pictures | blog | videos

Archive for the ‘Life’ Category

Tabloids versus Facebook

Thursday, November 20th, 2008

Facebook has a weird time wasting quality that is hard to identify, but I think I figured it out.

Software Rewrite

Friday, October 17th, 2008

The problem with writing your own animation software is that you have to maintain it.

The software I’m currently using is actually my second generation of animation software. The first generation was written in college for The Emperor’s New Clothes, which was done on a student research grant (let this be a lesson for you kids – you can get money for your films if you call it research!). On that project I was the writer, director, producer, and lead software engineer, so thank god Marshall did the hard animation or the whole thing would have been trash. The quality of code was pretty good for a college student (read: pretty terrible overall), but I learned some good lessons:

  1. Debugging on set sucks
  2. C++ is like concrete in that the code seems completely malleable when you first write it and slowly settles until the mere idea of refactoring base classes is exhausting.
  3. With C++ you spend 10% of your time designing your GUI and 90% finding out why clicking a button is de-referencing a bad memory pointer.
  4. If you put too much of your business logic in the GUI you will never be able to reuse it.
It took me years after college to write version two, mostly because when you are a software engineer by profession the idea of writing C++ GUI code as a hobby is laughable. What got me started again was the discovery of dynamic languages in general and Ruby in particular. Ruby had a modify and try cycle I hadn’t used since Commodore BASIC, and the sexiest syntax I’d ever seen.  Scripting languages of course usually are not powerful enough to do the image manipulations I use, so I have ruby extensions I wrote called videoblox and audiolib that do my image and audio work, respectively. With Ruby I felt like I was liberated from writing monolithic applications; instead I could rapidly develop tools to suit my needs.
There is no such thing as a standard Ruby widget library, so I use wxRuby for the GUI work. Here is where the love affair began to sour. The first problem is that because videoblox and wxRuby had no concept of each other (they existed as seperate Ruby extensions), there was no way to pass an image from one to another except through a file. Rather than suffer that, I modified wxRuby to take a memory pointer for image creation. This led to problem number two – wxRuby has gone through a number of API modifications over time, some of which were complete re-writes. Every time this happens I have to re-patch the system, which can some times cost me a whole week. Thats time I’m not making Monkeys talk.
At this point I’m a number of versions off of wxRuby tips and I can only use my software because it’s quirks don’t bother me enough to get me to fix them. I think it’s time to consider the lessons I’ve learned over the past two years and begin on some new software. The first question I’m trying to answer is: what language will I use?
  • Ruby – Oh Ruby, how I love your beautiful syntax and object oriented ways. But alas, you have too many limitations from a system programmer’s perspective. You don’t support native threads for starters. Extensions can only communicate with each other through Ruby objects which is terrible when dealing with blocks of memory. And you don’t have a great cross platform widget set. Don’t fret: we’ll always have Rails.
  • C++ – I’d heard that C++ was much better than the bad ol’ nineties. It has the STL and iterators and Boost! After giving it another shot I found I spent 10 percent of my time creating and 90 percent figuring out why the hell my application is crashing when I try to print that string. New tools, same problems.
  • Java – Unlike most other languages, Java’s base image library is almost enough to suit my needs. In fact the Java standard libraries have a lot of useful tools. However, GUI code has never been Java’s strong suit; just doing simple tasks requires three or four proxy classes. Plus, after using dynamicly typed languages Java sometimes feels too constrained.
  • Groovy – It’s like Java and Ruby had a fling in Vegas and had a kid. Dave Thomas of pragmatic programmer fame recommends trying a new language once a year, and I haven’t tried something new in a while. I have to admit this language looks really neat – dynamically typed scripting language like Ruby but runs in a JVM and has access to Java libraries. I’m just fearful it is too new to really use.

I’m keeping my options open and focusing on what the application will be first, but when even picking a language is an issue you know this won’t be easy.

This just made my week

Thursday, October 16th, 2008

Felicia Day wrote a comment on the Movie Monkey’s ELE Application!

Oh yes, and watch “The Guild”.

Voting

Thursday, October 2nd, 2008

I’m going to put down my feud with Google to help promote voting:

News of Nephew

Wednesday, September 24th, 2008

For the latest news of nephew, go here.

Tux Cake

Wednesday, September 17th, 2008
Tux! In Cake Form!

Tux! In Cake Form!

Heather Grimsley made a delicious Tux cake for some of my co-workers today. She really nailed the likeness! If you also take Sean’s companion cube cake into account, you can see a pattern of geekery at corporate HQ.

Babies for Barack

Tuesday, September 16th, 2008

I told myself I would not be (a) political on my blog or (b) an uncle who posts all things about his nephew, but this was too cute to pass up. From my brother-in-law Josh:

Joe Biden holding Jacob Joshua Kollars

Joe Biden holding Jacob Joshua Kollars

Good morning! Cathy, Jacob and I had an exciting afternoon yesterday that we wanted to share with you. Sen. Joe Biden was passing through Flat Rock, Michigan on the campaign trail yesterday, and the three of us decided to take a little road trip to attend the rally. We got Jacob ready for his first rally by dressing him in red, white, and blue, but mostly blue! We had a blast and Biden’s speech was fantastic. Check it out here:
http://www.npr.org/templates/story/story.php?storyId=94640703
Anyway, after he spoke, we made a bee line down to the infield where he was shaking hands. I was able to wiggle my way up there and hand Jacob to Sen. Biden for a few photos! Biden took Jacob and lifted him straight up over his head as the crowd roared around us. He brought him down and held him close, and with a big smile he looked at me and said “They smell great at this stage, don’t they?!” I said they sure do, and he said, “Aren’t they just the greatest things ever?” I agreed! He asked our names and we shook hands, and I introduced him to Cathy who was snapping photos right behind us. He shook Cathy’s hand and asked “Are you the Momma?” Cathy said yes, and he asked if Jacob was our first. Then, with a big smile he looked at Cathy and said, “As they say where I come from: girl, you done good! He’s a beautiful baby!” We told him we were absolutely thrilled that he was on the ticket, and he thanked us as he handed Jacob back and moved down the crowd. We were thrilled, and Biden had such a calm, down-to-earth presence about him. I felt as comfortable as if he were my own uncle, even with all the security guys standing around watching every move we made!
Take care!
Josh, Cathy, & Jacob

Baby Garmin

Sunday, September 14th, 2008

Baby Garmin

Here is my two week old nephew all decked out in his corporate garb. Admit it: seeing him in it makes you wish you had a baby blanket of your own.

La Fiesta

Thursday, September 11th, 2008

My Abuelita’s birthday was on Saturday, August 30th. This was what Myrna’s family and my family had come down for. It was a big day; a Photographer came to take pictures for the local newspaper, there was a mass at Church for my Grandmother, and then there was a party at the Yacht Club. For the party my Aunts had ordered candies from candy makers from around Ecuador. All of my Aunts had dresses made from the same fabric (though my Mom made hers by herself).

Up until the day of the party there were certain surprises. During the trip my cousin Toty called me to say that all of the cousins were making contributions for la Hora Loca, a special surprise for the party. I asked Ivan Jose to explain to me what the Hora Loca was and got a perfectly succinct explanation that I didn’t understand as my spanish wasn’t very good. They were only looking for $15, so Chris and I made our contributions and figured we would be surprised. Then about three days before the party my Aunt Nena informed me casually that I was going to have to give a reading at the Church, but it was okay because they would give me a paper to read. I had to explain to her my site-reading Spanish skills are on par with a three year old, and I’d need in writing what I had to say in advance. This was pretty typical for the trip: crucial pieces of information would be given to us almost past the point where they could be useful. Sometimes I was amazed anything ran smoothly in the country.

All of my Aunts (and my Grandmother) had to go to the salon to have their hair and nails done. My Dad and Walter had a nice game of chess that Walter won.

While we were waiting we got a call from my sister, who had given birth to a baby boy! Jacob Kollars shares his birthday with his great grandmothers. It was quite the talk of the party. At one point I joked with my Mom “Wow, Grandma looks 80 and you look like a grandmother!”

Like all things in Ecuador things fell behind schedule. We all left around 4:55 for a five o’clock Mass but it was okay because Priest was late too (people ask me what time zone I was in, and I have to explain that the clocks were on Central time but everything else was in Ecuadorian time). While they had told me I had to do a reading, they neither told me when my reading was or that I was going to go first. That’s my family for you.

The party began at nine o’clock, so of course we got there at nine to set up. We put out the candy and the cake, and each table got a bottle of whiskey. People began to show up around nine forty five. The master of ceremonies was a relation of Judy’s who kept things moving smoothly. At one point all of my Aunts and Uncles came out with their children, and I video taped as my parents came out without me. Thankfully I jumped in line and the MC covered it up without missing a beat.

It was a gala affair, with Mariachis serenading my Abuelita one moment and my cousin Rosemary doing a Flamenco dance for her the next.  The highlight was the Hora Loca. It kicked off with these circus dressed kids running onto the dance floor with flags and baloons and pulling everybody onto the dance floor with them. They handed everyone baloons and masks and beads and basically encouraged chaos for the next hour.

The party ended around four in the morning. The next day I woke up around ten to find my ninety year old Abuelita making breakfast for us. I’m betting I’ll be down for her one hundredth birthday in ten years.

El Rey

Thursday, September 11th, 2008

One morning my uncle Paco took my Dad and I for a walk on the beach at 5:30 in the morning.  Even though it was dark, there were about one hundred people walking along  Murciélago beach that morning. As people would pass by they would say hello to my uncle, see how he was doing, and wish him well as he passed by. It was as if he was the Godfather, or El Rey (the king).

Paco was a big guy and he had a big personality; he eats big, he drinks Johnny Walker Red, and he lives big. Most of my family wondered why he would go on these morning walks when he never seemed to lose weight, and he would reply “I can’t help it if there is always good food to eat!”.

He could also be a big goofball. The Tuesday before the party my Aunt Myrna and her family flew in from Los Angeles. It was also Paco and Judy’s Thirty First wedding anniversary, which of course in Ecuador means “party”. (Few things don’t mean “party” in Ecuador. It’s a fun country). Judy cooked up a storm and there was plenty of drinking and dancing, but the night belonged to Paco.