Posts RSS Comments RSS 174 Posts and 11 Comments till now

Archive for January, 2009

Logo Idea: Take 1

I’m not much of a graphic artist, but I want to think of myself as a designer. Maybe just a User Interface designer, but a designer none the less. I want to create more personal works. Images, pictures, presentations, and website. I would like to “brand” these creations with a mark that represents me. I have always wanted to.

This “brand”ing mark would be personal logo. Logos are hard to create, and I’m no expert. This is my first attempt:

Logo Take 1

Would love some feedback about what you think. I’d expect there to be about 1,000 iterations before I finally find something I like.

The inspiration for this design is Jason Santa Maria’s Wordpress logo. Its easily recognizable, yet relatively simple. Clean and professional, but also personal.

How is Palm Going to Mess up the Palm Pre?

Palm has recently announced its first really new product in years, the Palm Pre. To be fair, the product is actually quite compelling. It runs a on its webOS, a cool new operating system that allows you to use a bunch of different applications at once.

[... the history ...]

My father is a business guy. He has been in retail since before I was born. When I was a young child he carried around a Filofax with hundreds of business cards, This (almost) little booklet was my father’s life. He couldn’t survive without it. Wherever he went, the Filofax went. As technology improved my dad found the Palm. I believe his first Palm Pilot was a Palm III. Overnight he converted his Filofax to the Palm Pilot. As the years wore on I became a fan. I bought a Handspring Visor, and used it to keep my contacts organized, tried to keep a calendar, and maybe played the occasional game.

Then I got frustrated with Palm. They began to cease innovation. The Palm V, might have been the best palm over. Over the years we have heard rumors of a new Palm OS. One built on Linux, but the promises kept coming, without any products. The applications for the Palm became outdated. I moved away from the Palm, even trying the Sharp Zaurus, a Linux based PDA that promised easier development and a better product.

None of them really got me hooked. They were too big, too bulky, too much for me carry around on the average day. My PDA was a toy that I’d take with me if I felt like it.

Enter the mobile phone. Even before the Filofax my father had a cell phone. As technology got smaller, PDAs began to morph with mobile phones. There have been a bunch of operating systems for these phones: Palm OS, Windows Mobile, Symbian, Sony Erickson, etc. Finally I could get by with one device. The first phone that really allowed me to do this was my T-Mobile Sidekick. Yeah, it was big, but it wasn’t overly expensive and it allowed me to do everything I really wanted/needed to do, minus playing MP3s.

[... Back to the (almost) present ...]

A few years ago Apple announced the iPhone, and the players in the market were pretty sure that Apple was not going to be a major player in the mobile phone space. Mostly, I refer to this Daring Fireball article. They were a little taken back with the amount of demand for the iPhone when it came it. Still, Apple kept very rigid control over the applications on the device, and many thought that Apple wouldn’t allow developers to mess with their device. Over time, Apple rolled out a development platform, and the App Store. Now there are thousands of additional applications for the iPhone and it the second most popular handset in the market.

Welcome to today. Palm is finally announcing their next OS, along with a new phone. The comical part for me is that the new Palm OS looks surprisingly similar to the iPhone OS, with gestures and other iPhone innovations. There are a couple of Palm innovations that look appealing:

  • Cards allow you to have multiple instances of the same Application running at the same time instead of “Save as Draft and come back later” mentality of the iPhone
  • Better integration with Facebook and other web partners, allowing you get personal photos from their partners
  • Multiple Calendar systems: Google Calendar and my personal calendar on one device, and allowing you to block out time in each

Despite the interesting features of the Pre, I still think it isn’t going to work. One of the lines in their introduction video is “We Developed the Pre for the developers” (paraphrased). See, I’m really excited about the Pre from a developers perspective. How many typical users have 3 different calendaring systems? How many professionals use Facebook for contact photos? The thing that Apple does well is design a product for the consumers. Remember, while developers might buy your phone, they aren’t going to develop just for other developers. The money is in the consumer market.

With all this in mind, I’m still excited to see what the Pre can deliver. I’m keeping my hope in check, because I’ve seen Palm falter in the past.

Villanova Small Coed Finishes Number 7

UCA College Nationals were this past weekend. I can’t remember if this is the third or the fourth year that I’ve been out, but its been a long time and I miss it. I still like to check in after the competition to see how my old team did. This year the routine looked awesome. I caught a couple of little mistakes, but the team finished 7, which is a very strong showing. Stronger than I can remember in recent history. Congrats to all the competing teams! Like a always say, I hope to see it in person next year!

Stupid std::vector Class

The Standard Template Library in C++ is nice to provide us with a bunch of different container classes so we don’t have to re-invent the wheel every time we write new code. One of the classes is called “Vector”, if you aren’t familiar with it, you might not get too much out of this post. But basically, it is a dynamically growing array. Meaning it has contiguous memory and can be indexed like a regular array. It’s a great class and I use it all over the place, but for the second time in one week I find it lacking.

I’m working on some code where I have two vectors of the same type. I want to concatenate one on the end of the other.

  std::vector firstVector;
  std::vector secondVector;

  // I want to do the following, but its not legal
  firstVector.append(secondVector);

This doesn’t work. There is no append method for std::vector. It turns out that the correct code for this is:

  std::vector firstVector;
  std::vector secondVector;

  firstVector.insert(firstVector.end(), secondVector.begin(), secondVector.end());

This frustrates me. Append seems like a logical function to include. I’m relatively new C++ developer, having been working in the language intensely for only about a year. My guess is I will reverse my opinion over time, but it just seems like an append() makes sense.

There is also the potential benefit, depending on the implementation of std::vector. Insert requires you to pass in three iterators. Because an append function would have access to the internals of each vector you wouldn’t necessarily need to do the look up of each iterator, which might save a few lines of code. These lines of code might be dwarfed by the amount of code you would need to check the parameter being passed to an append function, I’m not sure.

Regardless of whether or not it is more efficient, I still feel like append() makes sense, conceptually and I would like to see it in future versions of the STL.

(again, I reserve the right to change my opinion in the not too distant future)

Photo of the Day: Shining Through

Photo of the Day: Tables

Leap Year Spells Trouble for Zune Users

On December 31st, all 30GB Zune users woke up to their music players not working. In a rarity for Microsoft problems, the source for for the problem was found. There is a good explanation of the problem here.

There are two lessons to be learned from this: 1) be careful of your looping conditions. 2) Try and write your code in small snippets that are testable, and write tests! A simple iteration through the total amount of days including a leap year would have caught this bug.

Just FYI, I’m not saying I would have been good enough to catch this, but it is worth writing down so I try to remember for myself.

Support Pastie

One of the best web apps I’ve ever used: Pastie is doing a casual donation. I’m going into the new year and am trying to really conserve my spending, but if you can afford to toss a few bucks this way, it’s a great cause