Main

November 20, 2008

Geocoding Woes

One important part of Cyclopath is geocoding. If you have never heard of geocoding (I hadn't before this project), it means translating an address to latitude and longitude coordinates. Whenever someone uses the route finder, we have to translate those addresses into coordinates, find the nearest intersections, and then have our route finder look for the shortest path between those two points.

Well, as you can imagine, geocoding is not an easy task. That is why we don't implement this part ourselves. There are some great geocoders out there too. We had experimented with Yahoo's geocoder and then moved to Microsoft's MapPoint geocoder. Aside from a few sporadic issues, Microsoft's geocoder worked pretty well. That is, until a few weeks ago. For no obvious reason, addresses that used to work now completely failed. My own home address now dropped me at a location miles away from where I live. This was a problem. And users were starting to complain.

A few email exchanges with some people from Microsoft (which were very prompt by the way) didn't help in finding out what had changed with the geocoder. There was no way to get around it. So we started looking for other options. Google has an excellent geocoder which it uses for Google Maps. Unfortunately, its Terms of Service state that to use it your application must be using Google's maps. We create our own maps (needed to make it as editable and interactive as we need), so we had to scratch Google's geocoder off the list.

We found another geocoder that focuses on the Twin Cities metro area, which is where Cyclopath focuses too. So I was delegated the task of changing the code in order to use this new geocoder. After I finally started making some progress, while testing some code, I decided to try an address on the old geocoder that I knew would fail. To my surprise, it gave the correct location. Perplexed, I tried all other addresses that had been problematic in the past few weeks and to my surprise all of them worked. All of the sudden Microsoft's geocoder was working correctly. After all that brainstorming, sending emails, and looking for alternatives we were back to where we were before.

Well, not exactly. We have decided (although with a little less urgency) to finish implementing the new geocoder and leave it as a backup. That way, if Microsoft ever decides to confuse our users again, we'll be ready. Bring it on!

November 10, 2008

Cyclopath Tutorial Recap

For those of you who missed it, here are the five Cyclopath Tutorials I posted:

Tutorial 1: Getting Around
Tutorial 2: Rating and Finding Routes
Tutorial 3: Editing the Map
Tutorial 4: Revisions
Tutorial 5: Watch Regions

Be sure to give Cyclopath a try and share this with any cyclist friends you have!

October 07, 2008

Computer Security With Bible Verses?

One of the reading references for the Computer Security class is an online book called Secure Programming for Linux and Unix HOWTO, by David A. Wheeler.

One aspect of his book that caught my attention was the fact that he starts each section with a verse from the Bible. It doesn't matter if you're a Bible fan or not, you have to admit that he was very clever. Here are some of my favorite book sections and corresponding verse:

Security Requirements
"You will know that your tent is secure; you will take stock of your property and find nothing missing."
Job 5:24 (NIV)

Avoid Buffer Overflow
"An enemy will overrun the land; he will pull down your strongholds and plunder your fortresses."
Amos 3:11 (NIV)

Structure Program Internals and Approach
"Like a city whose walls are broken down is a man who lacks self-control."
Proverbs 25:28 (NIV)

Send Information Back Judiciously
"Do not answer a fool according to his folly, or you will be like him yourself."
Proverbs 26:4 (NIV)

Bibliography
"The words of the wise are like goads, their collected sayings like firmly embedded nails--given by one Shepherd. Be warned, my son, of anything in addition to them. Of making many books there is no end, and much study wearies the body."
Ecclesiastes 12:11-12 (NIV)

Acknowledgements
"As iron sharpens iron, so one man sharpens another."
Proverbs 27:17 (NIV)

October 01, 2008

Hacking for Grades

No, I'm not doing anything illegal. I am taking a class called Introduction to Computer Security. It's not a topic that I enjoy very much or that I'm good at, but I believe it's essential in order to be a good programmer.

As part of my first homework, I had to attack a badly written version control system in order to gain access to a shell (that interface to your computer that is just a command line) as root (which means I get top privileges and can modify the system even if I was not allowed to initially).

The most interesting exploit to do was a buffer overflow. It was also the toughest. Basically, what this type of attack tries to do is store a very long piece of code into a section in memory that has a smaller size than that of the code's length. When the computer tries to store that very long piece of code, since it doesn't fit, it ends up overwriting other sections of memory. The fun part is that with this type of attack you can make the victim code jump to your own code and execute whatever you want. It's tricky, but it's possible.

After I was done with this assignment, I at least realized that I don't have zero security skills. Looks like the class is being worth it!

September 14, 2008

Technology Efficiency vs. Lazyness

Does technology make us more efficient or lazier?

I don't think there's supposed to be a simple answer to this question. I believe that most of the time technology works as an aid that really does makes us more efficient. But sometimes, we learn to rely just a little too much on technology.

When I worked as an intern at IBM, the men's restroom had a button that opened the entrance door automatically. This was of course here for people who had trouble opening doors. But everybody used it. Everybody. Was it so hard to open the door with their hands?

I am thankful for having hands that can open doors. That's why I never used the button to enter the restrooms.

When do you think we go too far on relying on technology to do our tasks for us?

August 14, 2008

The Ugly Bike Shop

Today we set out to find a seat for a used bike we bought recently. At the first bike shop we went to, the clerk recommended an alternative shop were we could find the needed parts for very cheap. It is a shop operated by volunteers with used parts which are mostly donated. The idea is awesome. A very cheap store run by bike enthusiasts which are, by the way, very helpful.

Unfortunately, the execution was poor. The place was very run down. People were smoking and drinking everywhere. Not a family-friendly place for sure. So, although the idea was great and the people helpful, this was not a place where we felt comfortable. And that drove us away.

How many websites have you seen or heard of on the internet where the idea is great, but the execution just leaves you uncomfortable? The navigation is confusing, the design is poor, the ads are offensive. There are countless ways to make a good idea suck.

Many great products out there are just old ideas with great design. So pay attention not only to how good your idea is, but also to how well it is implemented.

August 11, 2008

Google Makes Mistakes

Today, Gmail suffered a pretty big outage. People all around the world were really affected by this, especially those that use Gmail for business purposes too. I was in the middle of sending an email when this happened. The almighty Google made a mistake.

Of course, the king of outages is Twitter. But you know what? People still use Twitter. And people won't stop using Gmail just because of today's outage. Because these are tools that people value.

Think about what you are working on. Is it something people will value? Then don't be afraid to make mistakes.

I was watching Batman Begins today and the phrase that stuck with me was: "Do you know why we fall? So that we learn to pick ourselves up".

Make mistakes. Pick yourself up. Learn from it. Create something of value.

July 23, 2008

Imagine Cup: Egypt '09!

Registration has now opened for next year's Imagine Cup! And this time the destination for the finals is in Egypt. In this year's competition, I made it to the second round of the Algorithms competition.

This year the competition categories have changed a bit. The categories are: Software Design, Embedded Development, Game Development, Robotics and Algorithms (this is probably where the category I competed in last time got moved to), IT Challenge, Mashup (new), Photo Story, and Short Film.

I'm thinking Robotics and Algorithms, but Mashup and maybe even Photo Story look interesting. Game Development sounds super interesting, but it feels like it will consume quite some time.

If you are a student, be sure to check out the competition! The prizes are great (thousands of dollars) and the possibility of visiting a new country makes it even more appealing. Even if you don't like Microsoft, you have to agree that it's probably one of the coolest things they do.

July 13, 2008

Paper Week: Usability Evaluation Harmful?

Today is the last day of this week of research papers and comic strips. The paper I chose for today is very different from all the others we read in class. It was described by the authors during the conference it was presented at as the most controversial paper of such conference (CHI 2008). Just to give you a quick background, usability evaluations are a very useful type of experiment used extensively in HCI where interfaces and devices are tested with users to find out how “usable� they are. On to the paper then!

Paper: Usability Evaluation Considered Harmful (Some of the Time) (reference at the bottom of this post)

What in the world did they do?

Usability evaluation has become so important in the HCI field that lately it is very hard to publish any research if you don’t do a usability experiment. The authors of this paper argue that although usability evaluation is very useful, it “can be ineffective and even harmful if naively done ‘by rule’ rather than ‘by thought’�. According to the authors, sometimes usability just isn’t what you need.

What’s so cool about that?

This paper is basically a critique. It was called “controversial� because it is going against the currently accepted notions that good HCI research has to have usability experiments.

Did anything worthwhile come out of it?

They came up with various cases where usability evaluation can be harmful. One of these is when prototyping a really innovative idea. Sometimes, new ideas just aren’t ready for users at first. It takes many iterations to arrive at the final, polished version that really does make a difference in users’ lives. If usability testing is done on these early prototypes, a good idea could be quashed before it has a chance to mature. It’s up to the rest of the research community now to decide if they want to do a better assessment of whether this technique is helpful for their experiments or if they just want to keep going at it with usability evaluations, regardless of its usefulness.

Why should I care?

Although many readers of this blog probably won’t be doing usability evaluations in the near future, this affects all of us. The better HCI researchers do their stuff, the better and faster new technology reaches the rest of us.

We can even take this a bit further. How many times do we follow patterns and methods mindlessly just because they have worked before? Or because we are lazy? Or because it’s what others expect us to do? Take some time to assess why it is that you do things the way you do.

Now, on to today’s comic strip. (Click on the image to enlarge it)

superficialintelligence14.jpg

Reference: Greenberg, S., Buxton, B., Usability Evaluation Considered Harmful (Some of the Time), Proceedings of the SIGCHI conference on Human Factors in computing systems, April 5-10, 2008, Florence, Italy

July 12, 2008

Paper Week: Alone Together in World of Warcraft

One cool thing about the HCI field is that we can justify playing games as research. It’s all for the noble goal of understanding how humans interact with computers after all. Today’s paper is about such type of research. Don’t forget the comic strip at the end of this post.

Paper: “Alone Together?� Exploring the Social Dynamics of Massively Multiplayer Online Games (reference at the bottom of this post)

What in the world did they do?

The authors of this paper basically played a lot of World of Warcraft. In their spare time, they studied the social interactions between players, relying more on empirical data than on subjective data.

What’s so cool about that?

Getting research done while playing video games is awesome. It’s also interesting to see how people interact with each other in a virtual world.

Did anything worthwhile come out of it?

They found out some interesting stuff while play… while researching World of Warcraft. Games such as World of Warcraft attract players because of their social aspects. But what these researchers found out was that most players play outside of groups for most of their stay in the game. Still, there were some social aspects that attracted players to the game. The authors of the paper described them as the following:

- Interacting with an audience – Reputation plays a big role in this game. Many players just enjoy the fact that they can show off or have an audience during their play. The authors compare this to playing pinball in a crowded arcade, where spectators gather around the machine to observe the best players.
- Being surrounded by others – People simply enjoy the sense of social presence. It’s sort of like hanging out at a café reading a book, where you barely interact with anybody, but you still enjoy being surrounded by people.
- Laughing at and with others – This is the “spectacle� factor. Other people are simply a constant source of entertainment.

So in the end, what the authors concluded was that players of World of Warcraft like to play “alone together�, by themselves but surrounded by others.

Why should I care?

As online communities become more common, it’s helpful for designers of these communities to understand why it is that people want to be surrounded by others. Sometimes it’s for the socializing, but other times, such as with World of Warcraft, the motivations are different. If designers can understand these differences, they can better understand the needs of the users and can design communities that are a better fit to their members.

Extra

I just wanted to show one paragraph of their paper that shows just how much effort they put into playing the game:

“We began our study of WoW by observing the game from the inside and started playing right after its launch in November 2004. All authors created a main character and several “alts� (secondary characters on different servers). We picked different character classes to get as broad an overview of the game as possible. We joined guilds, and participated in the community’s regular activities (quests – alone or in groups, guild raids, player-versus-player combat, etc.). This provided us with a rich qualitative background to frame our analyses.�

Without further ado, the comic strip for today. (Click on the image to enlarge it)

superficialintelligence13.jpg

Reference: Nicolas Ducheneaut , Nicholas Yee , Eric Nickell , Robert J. Moore, "Alone together?": exploring the social dynamics of massively multiplayer online games, Proceedings of the SIGCHI conference on Human Factors in computing systems, April 22-27, 2006, Montréal, Québec, Canada

July 11, 2008

Paper Week: Direct Video Manipulation

Today’s paper is one of those papers where you just have to say “awesome�. So I hope you enjoy it together with the new comic strip.

Paper: Video Browsing by Direct Manipulation (reference at the bottom of this post)

What in the world did they do?

These guys wrote an application that allows for direct video manipulation. This is a video browser that lets you navigate through the video not only using the traditional timeline, but also by dragging objects along their course of movement throughout the video.

What’s so cool about that?

Everything.

Did anything worthwhile come out of it?

Their video browser, called DimP (Direct Manipulation Player).

Why should I care?

As online videos become more and more popular, we start encountering more often situations where a video browser like this one might be useful. Maybe we just want to skip to a specific part of a scene (I’ve seen a few launch videos where I just want to get to the part where the rocket/airplane blasts off). Or maybe we just want to study some complicated motions (like dance moves or a pool shot). Either way, simply having an alternative way of browsing a video is definitely useful.

Now, comic strip time! (click on the image to enlarge it)

superficialintelligence12.jpg

Reference: Dragicevic, P., Ramos, G., Bibliowicz, J., Nowrouzezahrai, D., Balakrishnan, R., Singh, K. Video Browsing by Direct Manipulation, Proceedings of the SIGCHI conference on Human factors in computing systems, April 05-April 10, 2008, Florence, Italy

July 09, 2008

Paper Week: Designing for Micro-credit Groups in India

This is the third post on papers that I got to read during my HCI class last semester. Each post is accompanied by a new comic strip at the bottom. I chose today’s paper because the style was very different from most of the other papers we read in class. Enjoy!

Paper: Design Studies for a Financial Management System for Micro-credit Groups in Rural India (reference at the bottom of this post)

What in the world did they do?

These guys wanted to create a system to help micro-credit groups in rural India manage their financial aspects. They did a lot of user interviews, prototyping, and user tests to get their design right.

What’s so cool about that?

There are two cool things about this paper. First, they had one big challenge. Many of the potential users for this system were uneducated, hadn’t used or seen a computer before, and some were even illiterate. So their system had to be easy to use for these people.

Second, the way the paper is written is almost like a story. They went through all the steps of their design process. It reminded me of a User Interface Design class I took, where we had to go through user interviews, paper prototypes and usability testing. It was cool to be able to follow these steps in their paper.

Did anything worthwhile come out of it?

Well, they came up with an interesting design that seemed usable. The only problem was that most of these organizations couldn’t afford the computers anyway. I believe the authors went on to try using mobile devices in future research.

Why should I care?

Okay, there are probably not many reasons why you should care about this paper. I’ll give it a try anyway. Even if the resources are not always there yet, I think it is a noble effort to try and bring technology to where it is needed most. Also, I think this paper is probably an interesting read for those of you who wonder what the design process is like for a user interface.

That’s it for today’s paper. On to the comic strip!

superficialintelligence10.jpg

Reference: Tapan Parikh , Kaushik Ghosh , Apala Chavan, Design studies for a financial management system for micro-credit groups in rural india, Proceedings of the 2003 conference on Universal usability, November 10-11, 2003, Vancouver, British Columbia, Canada

June 15, 2008

Get Ready For Firefox 3 and Help Set a World Record

This Tuesday, June 17th is Download Day for Firefox 3. Mozilla will be rolling out their newest version of their top-notch browser and is trying to set a world record for most software downloads in 24 hours. I have to admit, I'm excited. Once I started using Firefox, I have never switched back to Internet Explorer. It is an awesome browser. And knowing that a faster, more efficient version is coming out just pumps me up. If you have never tried using Firefox, then this will be the perfect moment to try it out. Go ahead and download it on Tuesday. I'm sure you'll love it. By the way, you can pledge to get Firefox 3 on Tuesday at their site here.

June 13, 2008

A Music Video With a Web Culture Touch

Weezer really seems to get the Internet culture that has been growing in the last couple of years. One of their latest videos has a mashup of various web celebrities and references to many viral videos. How many can you recognize?

http://www.youtube.com/watch?v=muP9eH2p2PI

[Note: Embedding has been disabled for this video, so the most I can do is link to it. Enjoy!]

June 08, 2008

Awesome Web Apps: Everything Else

There are so many more awesome web apps out there, many of which I don't use yet or only occasionally for now. Here are a few that come to mind:

Friendfeed: Basically ties in all your accounts together and lets you share that with friends. For example, it will notify them every time you post pictures to Flickr, post videos to YouTube or post on your blog. Nowadays, people have so many accounts that many developers are trying to find ways to join them together. This is one of them.

Digg: One of the most popular news aggregators. I use some of its feeds through my Google Reader.

Flickr: Popular picture sharing site.

Last.fm: Site that lets you listen to music and recommends new artists to you based on the music that you like.

Besides these, there are many more awesome web apps out there. Which ones do you use that I did not mention this week? What makes it awesome?

June 06, 2008

Awesome Web Apps: The Google Bunch

Google has a whole bunch of awesome web apps. I use many of these daily. Here are just a few of them that you should be using:

Google Reader

google_reader_scrn.JPG

Google Reader has become almost as indispensable as email for me. It is the best way to stay up to date with what's happening in the tech world and in the rest of the world. Also a good way to get updates on my favorite webcomics! You can register RSS feeds, share posts with friends, and see friends' shared items. A lot of websites now offer to send notifications via RSS feeds, which you can read with this app. Google Reader is an excellent companion to email.

Google Maps

google_maps_scrn.JPG

I don't have to explain why online maps are so helpful. They speak for themselves. But one of the features that I really like about Google Maps is Street View. I'm lucky enough to be living in a city where Street View is supported. It is immensely helpful to be able to see what a street or a turn looks like before getting there.

Google Docs

google_docs_scrn.JPG

I started using Google Docs last year for group projects and it proved to be really useful. Being able to work on the same document at the same time with different people is just very efficient. (Plus, it stores all the revisions so that you can go back to an older version if you don't like a recent edit). I now use it not only for group projects, but also for family planning. Awesome tool!

Google Calendar

google_calendar_scrn.JPG

This one is especially helpful for families. Google Calendar makes it easy to edit and share many calendars. I share my main calendar with my wife and have a second calendar for sharing with classmates usually for group projects. Really easy to use and very convenient for figuring out scheduling stuff.

Google Analytics

google_analytics_scrn.JPG

If you have a blog, I highly recommend this app. It is an excellent way to track traffic to your blog or site. It gives you detailed information about users, their browsers, their countries, how they got to your site, how much time they spent, etc. That is how I know that most of the repeat visits to this blog come from Minnesota (where I live), New York (where my sister lives), and Puerto Rico (where the rest of my family lives).

There are many more great Google Apps around, such as Picasa for sharing pictures, Google Scholar for searching for academic papers (very useful for grad students), and even YouTube, which is now part of Google. It is no wonder why Google is loved by so many. And the best part, they're all free!

June 05, 2008

Awesome Web Apps: Animoto

This web app really fits the description of "awesome". Animoto let's you make music videos with pictures, but in an amazing way. Just check their sample video when you enter the main page and be amazed.

animoto_scrn.JPG

It takes very little effort on your part to get your video going. Just upload your pictures, upload the song and let the app do the rest. By the way, no two videos are the same! So you can take the same pictures with the same song and get something different every time. When you're done, you can share the link for the video with your friends and in some cases even download it. There is a small fee to pay for full-length videos, but I think it's totally worth it. I encourage you to play around with the 30-second videos. You will definitely enjoy this awesome web app!

June 04, 2008

Awesome Web Apps: LinkedIn

I don't think I've been using LinkedIn long enough to really take advantage of all its features, but it is slowly becoming more useful. It is gradually becoming my online resume. LinkedIn is basically a social network for professional use. You put resume-style information in your profile and add colleagues and friends as contacts. You can recommend contacts, get introduced to new contacts and even look for jobs. Lots of recruiters actually use LinkedIn as a tool for finding capable employees. It is THE social app for professional networking. You can see my public profile at http://www.linkedin.com/in/fernandotorre. If you're looking for a job, want to have an online resume or just want to expand your professional network, get over there and make a profile. It won't take you long, especially if you have your resume nearby!

June 03, 2008

Awesome Web Apps: Wikipedia

A list of awesome web apps is not complete without Wikipedia. This encyclopedia that can be edited by anyone is becoming the default place to find information on a vast amount of topics. If Wikipedia was printed, it would contain more than 1000 volumes. Check out this picture which represents what Wikipedia would look like in printed form as of August 2007:

800px-Size_of_English_Wikipedia_in_August_2007.svg.png
Description

A lot of people have questioned the reliability of an Encyclopedia that anyone, not just "experts", can edit. Surprisingly, the quality of work in Wikipedia is very high. There are always users that spam and vandalize the site, but there are even more users ready to fix these actions. Wikipedia is an excellent example of the power of online collaboration and a very useful application too.

June 02, 2008

Awesome Web Apps: Twitter

twitter_scrn.jpg

Although I'm still not completely convinced of its value yet, I include this app because I've been using it frequently. It's basically a more versatile and complete version of Facebook's status updates. Yet it is used for so much more than just letting people know what you're doing. Ideas get communicated and turn viral. Companies use it to see when people talk about them. Other companies use them to keep their customers informed or even for recruiting. Some have even started novels through it one sentence at a time.

The most characteristic feature of Twitter is its 140-character limit on everything you write. This constraint forces users to focus on writing in a short and concise way. Another aspect I have enjoyed about Twitter is finding authors of some of the blogs I read daily and subscribing to their Twitter feeds. It tends to be interesting to see what they have to say.

Twitter is a form a micro-blogging and does not take up much time (unless you feel obliged to share every minuscule detail of your life). So go ahead and give it a try. Maybe after a week you'll still see it as a useless distraction. But maybe after a week, it will become an important communication tool. Try it out!

June 01, 2008

Awesome Web Apps You Should Be Using

This week I'll be mentioning a few web applications that I think all of you should be using. Most of these will be the daily bread of the more tech-savvy readers of this blog, but for the rest of you, I hope you can get something out of this list. I'll be skipping Facebook and Gmail just because I believe they are too essential to have to convince you of their worth. I know there are readers of this blog that don't use them, but I'll just have to deal with you later (especially my sister, tsk tsk).

Today I'll start with a very general and basic web app. And I say general because I'm actually including a lot of related web apps. I'm referring to blogging platforms. There are a bunch of these out there, but some of the most popular are Wordpress and Six Apart (which includes TypePad and MovableType). I think nowadays blogs are becoming more useful tools and not just online journals. Especially if you are working with online communities, blogs provide a place for you to communicate with these online communities and let people know who you are and how you think. For many companies and non-profit organizations, blogs are one of the best ways to keep customers and members informed. And for families, they are a great way to keep in touch. I personally use Movable Type (because it's the one my university provides), but if you're looking for a free blogging platform, try Wordpress or Blogger. Have fun blogging!

May 29, 2008

Back in Minnesota and With a Lot of Facebook Friends

I just got back from the Bahamas yesterday, so it's back to a more regular blogging schedule. I am still starting to work myself into online communities, but at least on Facebook I'm not doing too bad. I just reached 500 friends. And I am proud to say that there are only 6 of them that I do not know personally. Not too bad for a geek such as myself! I hope I can say that someday about the number of daily readers of my blog! Thanks for reading and stay tuned for a themed week coming up soon.

May 20, 2008

The 7 Deadly Sins of Startup Marketing

I mentioned in my Minnebar Report a conference by Curt Prins that I really enjoyed. He talked about seven mistakes that startups tend to make during their early marketing stages. Here are, according to Curt's presentation, the seven deadly sins of startup marketing and what I interpreted from each of them:

1. Target Market Greed
Some people just want to market to everyone. They believe their project is for everyone. And even though this can be a long-term goal, you should probably start with a smaller target group. Focus your project. You will be able to get to more people when you concentrate on a certain audience than when you try to market to all of them.

2. Prospect Gluttony
Even within a target group, trying to market to all of them may be detrimental. It is a better use of resources to focus on a smaller subset of that target group. Remember, even if your product is meant for everybody, you have to start by convincing somebody.

3. Product Pride
Developers just love their software. We love all the neat little features we put in it and just how cool it is. Customers don't really care about your product. They care about themselves. Don't let your product pride get to your head. If your customer doesn't like it, it won't sell.

4. Branding Pride
When starting out, try to build sales, not brands. Bigger companies, many of which have too many products to identify themselves with, can sell brands. Nike can do that. So can Google. But probably not you. At least not at first. Focus on your products. Brands are byproducts. They will grow on their own.

5. Sales Sloth
This one is simple. Do not get lazy about sales. Marketing alone is not enough to keep your company going. Money has to come in somewhere.

6. Impatience
You probably won't be getting in profits what you spent in marketing in one week. It can take months. Usually, it can take a startup from 10 to 18 months to actually start making profits. Meanwhile, don't get impatient.

7. Budget Frugality
Spend neither $1 nor $1M. Spend too little on marketing and nobody will notice your product. Spend too much and run out of money.

Keep these tips in mind if you are working with a startup. They may help save your company from the deadpool!

May 17, 2008

Imagine Cup Second Round Update

Unfortunately, I did not make it to the third round of Imagine Cup's Algorithm Competition. I must admit, I did not dedicate as much time to it as I would have wanted (mostly due to my HCI project). But still, I tried and I had fun. Hopefully next year I will do better. I certainly did a lot better this year than last year. And now that I have taken an advanced algorithms class, I will feel a lot more prepared.

Going a little off-topic, some comments have been getting tagged automatically as junk comments. I have no idea why this has happened with comments that seem normal enough and from people who have commented many times before. So I'm sorry if your comment did not appear right after you submitted it. I will be on the lookout for any other comments that get sent to the junk folder.

May 10, 2008

Minnebar Report

Today, aside from celebrating the second most awesome day of the year (I have to put the wedding anniversary before my birthday now), I had the opportunity to go to Minnebar. What is Minnebar you ask? Minnebar is part of Barcamp, which defines its gatherings as "an ad-hoc gathering born from the desire for people to share and learn in an open environment. It is an intense event with discussions, demos and interaction from participants". It is what some people call an "unconference". Basically anyone can sign up to lead a discussion in whatever topic the see fit (as long as they are technology and design oriented). So, here are my impressions of my first Minnebar.

IMG_6040.JPGI have to admit, I was actually late. Being my birthday today, I had no reason to wake up early, so I got there for the afternoon sessions. The first session I attended was my favorite. Since I have been exploring the startup company option for a while, I decided to go to a session oriented at startups. It was called "7 Deadly Sins of Startup Marketing" and was lead by, I believe a marketing consultant, Curt Prins. Very good advice for when your company is just starting out. I'll probably write another post about it later this week.


IMG_6044.JPGI went to two other sessions. One was about Adobe Illustrator. Basically some tips on how to do some neat effects, although it was hard to see some of the commands he was using from where I was (just three rows back). The third one was about CSS frameworks. Most of the people in those two sessions were design people, specializing in art and graphic design. I guess I realized there that this is one area I also enjoy. (I had a lot of fun working on the design for this blog!).


IMG_6045.JPGAs I was leaving, I stopped by the demo session that was still going on in another room. If I had more time, I would have spent the rest of the afternoon there. There were some really fun demos (one called Scribbles, which had people drawing and mixing other drawings in some fun ways). There was also some attention given to iPhone development (which I think has been taking off after the SDK being released).


IMG_6042.JPGOverall, there were many sessions of very good quality (I'm sure I missed a lot of these). There were some sessions that looked more like student presentations or tutorials, but I don't think this lowered the value of the experience at all. The gathering factor is really great too. There are people exchanging ideas (and business cards) everywhere. But best of all, Minnebar is free! Free sessions, free food, and even free t-shirts. I really enjoyed it and hope to be able to go again next year.

May 07, 2008

Easter Egg: The Book of Mozilla

This week's last easter egg can be found in my favorite web browser: Firefox. From the Firefox browser, simply enter "about:mozilla" into the address bar. You will get a quote that says:

"And so at last the beast fell and the unbelievers rejoiced. But all was not lost, for from the ash rose a great bird. The bird gazed down upon the unbelievers and cast fire and thunder upon them. For the beast had been reborn with its strength renewed, and the followers of Mammon cowered in horror.
From The Book of Mozilla, 7:15 "

In Firefox's quote, "Mammon" actually refers to Internet Explorer and the great bird refers to Mozilla. You can find more information about the analogies and more quotes from the Book of Mozilla in Wikipedia at http://en.wikipedia.org/wiki/The_Book_of_Mozilla.

I hope you have enjoyed this week of easter eggs. If you have any favorites that I didn't mention, be sure to leave them in the comments!

May 06, 2008

Easter Egg: Bush Hid the Facts

Today's easter egg is a simple, albeit funny, one. To see this easter egg, all you need is Notepad. Open an empty Notepad file and write "Bush hid the facts" (without the quotes). Save it with any name as a .txt file. Then, close it and finally reopen it again. The facts are clearly hidden!

Mahalo's Creative Approach to the Loss of Their Daily Video Blog Host

Mahalo is a website that offers a human-powered search engine. I don't really use it much, but I sometimes enjoy watching their daily video blog (or Vlog), Mahalo Daily. Their host, Veronica Belmont was awesome. Unfortunately for them, Veronica has moved on to new projects (watch her at Tekzilla). Still, I think they have done a great job of dealing with this loss.

The team of Mahalo has been hosting a competition they call "Mahalo Vlog Idol". In a way similar to American Idol, they have been holding auditions for interviewer-wannabes. It's really entertaining to watch all the potential hosts auditioning and watch as the CEO and two other judges decide whether they're good enough. Go take a look at today's episode (the last batch of the first round) and start rooting for someone at http://daily.mahalo.com/.

Easter Egg: Matlab Toilet Simulation

That's right. Matlab has a toilet simulation. If you have ever wondered how the flow of water behaves mathematically in a toilet, this is the easter egg for you. Just type "toilet" from the Matlab command line. It comes with various neat graphs and plots. Enjoy!

May 04, 2008

Easter Eggs: Windows Games

These may classify more as cheats than easter eggs, but they're still undocumented and fun to try.

In Windows Solitaire, you can press ALT + SHIFT + 2 to immediately win the game. Similarly, in Freecell, you can press CTRL + SHIFT + F10. A dialog will pop up telling you to abort to win, retry to lose, or ignore to cancel. With this cheat, you can make sure to lose every time if you want! Freecell also has two secret, and I believe impossible, games. In the select game option, type in "-1" or "-2" to try these games out.

Minesweeper also has a very neat cheat, although I'm not sure if it works on every system (works on mine!). When you open Minesweeper, just type "xyzzy" and then hold SHIFT for at least three seconds. Afterwards, whenever you hover the mouse over any of the tiles, the pixel on the upper-left corner of the screen will change to white if there is not a mine and to black if there is. Great way to impress your friends (at least those who are nerdy enough to be impressed by such an act)!

Easter Egg: Matlab's Hallelujah!

This is an audio easter egg. When using Matlab, you can input the following two commands:

- "load handel"
- "sound(y,Fs)"

This will play a short clip of Handel's Hallelujah chorus. This is the sort of easter egg I would put in my application after solving a very nasty bug. Enjoy (if you have Matlab).

May 02, 2008

Easter Egg: Photoshop Merlin

Today's easter egg is found in the very popular Photoshop. To see it you have to open either the Layers, Channels or Paths Window. When I tried it, I did it from the Layers window. Next, you press and hold down the ALT key. With this key held down, click on the options menu button at the top-right of the Layers window. It should look like this:

PSMerlin1b.JPG

With the ALT key and the mouse button still pressed down, move over to where it says "Palette Options..." and let go of the mouse button. Behold! Merlin has appeared!

PSMerlin2b.JPG

I have no idea what the story is behind this easter egg, but I believe it also appeared in some previous versions of Photoshop.

I was also playing today with yesterday's easter egg, the "why" command in Matlab. My favorite response was "why not?". A deep answer indeed. Tomorrow, we go back to Matlab for another easter egg!

Easter Egg Week

No, I'm not talking about the colored eggs associated with the Easter bunny. Although these eggs I'm referring to are also hidden. This week I want to share a few easter eggs found in some popular software applications. Easter eggs are usually hidden features usually put into the application by the programmers. They tend to be undocumented, non-malicious, and humorous. This week I'll show you some that I like. There are hundreds of easter eggs, so if you're really interested in finding out more, check this easter egg archive at www.eeggs.com.

I'll start today with a personal favorite. If you have ever used Matlab, try writing "why" in the command line. You will get all sorts of random answers to this question, such as "Because Jim told me to" and "Because the programmer wanted it". I bet the programmers asked themselves this question everyday that they went to work.

On a side note, I want to thank everyone for the great feedback on the new design. I more than doubled my record number of daily visits to the blog. I just hope it's not a one-time spike!

April 27, 2008

Ever Wanted to Watch a Web Cartoonist Draw Live?

Some web cartoonists have been experimenting with just that. Using video streaming services, they let you watch as they draw the following day's comic strip. I've already seen two artists trying this out: Scott Kurtz, from PvP, and Mike Krahulik from Penny Arcade. I think what they are doing is simply awesome. Watching a real pro doing all the computer drawing and editing is really useful for aspiring artists such as me. If you're interested, check out their live streams at: http://www.ustream.tv/channel/htmw for PvP and http://www.ustream.tv/channel/penny-arcade-tv for Penny Arcade. Of course, they probably won't be drawing at the time you click on the link, but you can still watch some of their recordings. You can also stay tuned to their respective blogs for announcements of drawing schedules. Be sure to give it a try!

As an aside, this is my 99th post. I've got some surprises coming up in my next post, so stay tuned!

April 23, 2008

Giving Twitter a Chance

Twitter has been around for a while now. I have been reluctant to join for a long time. I didn't really see the value of it. But this week, I decided to give it a chance. I will try it out for a few weeks and see how it turns out. There are few reasons for giving it a try.
First, one of my reasons for blogging is to create a social presence. It is in my interest to become an active collaborator and contributor in the web community. For this, I think it is necessary that I establish a social presence. That people can recognize me. It's an important step to building credibility in this particular community.
Second, Twitter seems to be used by many of the authors of blogs I read daily. Even webcomic artists use it. Twitter provides a better way to get a gist of how they think and what it takes to be an influencial person like them in this community.
Third, I just want to see what all the fuss is about. Twitter has become very popular and there must be a reason for that. I may not know what it is exactly, but that is exactly what I intend to find out.
If you're interested in what I have to write in Twitter, check out my Twitter RSS feed at: http://twitter.com/statuses/user_timeline/14465965.rss
What are your thoughts on Twitter?

April 21, 2008

In the Zune...

I couldn't resist the horrible pun in the title. I am just too excited with my early birthday gift. My wife gave me a Zune mp3 player. Now, why not an iPod? The thing is that I specifically asked for a non-iPod mp3 player. I'm still not completely sure why I prefer a Zune to an iPod, but here are some possibilities:

- Everyone has an iPod. It's too common. And when people get stuff just because everyone else has it, then it just makes me want to get it less. I guess growing up in the non-popular crowd does that to you. (There are some exceptions of course, such as food).

- For some reason, I don't like the wheel thingy used for navigation in the iPods. I am happy with clicking up, down, left, and right.

- Some people don't get Zunes just because they love to hate Microsoft. And of course, Microsoft is made for just that. But still, no matter how much we love to hate it, we must admit that many of their products are actually good and that they've made some very neat advances in the field.

- Apple is an awesome company, but for some reason I've never considered myself an Apple guy. That would probably change if I got an iPhone, but meanwhile, I'll just keep being a non-Apple guy.

Regardless of the mixed reviews the Zune has received, I have found it to be a fine piece of hardware. Some features are nonintuitive the first time you use it, but become quite easy to use afterwards. I am happy with my new toy and expect to catch up with WebbAlert, now that I can watch it on the go!

April 17, 2008

Programming on the Wii

One of the cool projects I'm working on this semester is the one for an HCI class I'm taking. For my project, I decided to research interactions using Wiimotes. Together with two classmates, we are investigating the differences between using one Wiimote at a time versus using two Wiimotes at a time. This is analogous to using one hand at a time vs. using two hands in our daily lives. There are some obvious advantages to using two hands. But for different types of tasks, we believe this difference is not the same. There are tasks that really benefit from having the two hands, but there are other tasks where having an extra hand may not add much (drawing, for example). That is why we have set to investigate these differences further.

Next week we hope to be having our user tests. Let's see what comes out of this!

April 01, 2008

April Fools Day: The Web Traditions

As the Internet becomes a more integral part of our culture, it is interesting to see many of our offline customs translate to the online world. Every year it seems online pranks on April 1st keep rising. And the best pranksters tend to be the biggest companies. Here are a few examples of today's funniest online practical jokes:

Google offering search one day in advance
All YouTube featured videos redirecting to Rick Roll (this video)
Virgle project to colonize Mars
Gmail Custom Time
BBC migrating penguins video
Psychics confirm global warming
A great list of fake products by ThinkGeek

Happy April Fools Day!

March 31, 2008

People You May Know

If you haven't heard, Facebook has added a new feature (very much anticipated by me). It is a section called "People You May Know". This feature presents you with a list of Facebook users that have many friends in common with you. Thanks to this feature, I've been able to find at least 20 friends in the last week that I did not know were on Facebook. This feature is still not fleshed out enough, but it's already very useful. Personally, I would like to be able to see a list of all friends of friends. Also, the list always shows a random selection of people, so I end up seeing much of the same people over and over again, while some friends might still be lost out there somewhere. If you have Facebook, be sure to take a look at it. If you haven't, I'm sure you must have at least noticed the sudden increase in friend requests during the last week.

March 27, 2008

Color Pencils

I think this piece at Google Blogoscoped is just hilarious. It is the best review of color pencils yet. Enjoy and add them to your feed aggregator while you're at it!

Color Pencils Reviewed

March 24, 2008

Lego Universe MMO!

I have always thought that Legos are the best toys ever created. I have loved them since I was a little kid and will still play with them if given a chance. I was therefore excited to hear news about a Lego Massive Multiplayer Online Game being produced presently. They will probably have players completing quests to obtain the coolest bricks. One of the most interesting aspects of the game will be the ability to build all sorts of neat structures with your set of bricks. To find out more, check out the article at Wired and the interview report at Kotaku.

March 21, 2008

Marble Adding Machine

I am back in Minnesota. Things are still a bit hectic, since my wife and I moved to a new apartment last Saturday and are still putting everything together. As I struggle to get back to my regular schedule, enjoy this very cool video of a binary adding machine using wood and marbles:

March 13, 2008

Even Google Reader Has Interface Problems

I love Google Reader. I am subscribed to approximately 60 feeds on it and log in a few times per day. But there is one thing about the interface that really bugs me. It is the fact that the "Mark all as read" button is right next to the "Refresh" button. I have found myself (in more than one occasion) clicking accidentally on "Mark all as read" when I really just wanted to refresh the page. Even worse, there is no "Undo" button. So all the items that I was saving up to read later by leaving them unread are suddenly marked as read and lost in between the hundreds of other items. There are two solutions to this problem: either separate the "Mark all as read" button from the "Refresh" button by a considerable amount of space (the easy option) or implement an undo function (the hard, but ultimately more useful, option).

I wonder why Google hasn't stumbled into this usability problem. Maybe they did their user tests with users who had a small number of registered feeds and therefore weren't affected by this as much? Or maybe they are considering us regular users their test users? Nevertheless, I just wish that they fix that soon.

February 27, 2008

Paper Prototyping to the Extreme?

Well, it's actually an ad, not a paper prototype. But this video of gmail is just awesome. And many of the things they do in the video remind me of when I did my paper prototypes last semester. Enjoy!

February 21, 2008

It's Here: Round 2 of Imagine Cup's Algorithm Category

round2clock.jpg

In less than three hours, the second round of the Algorithm category of the Imagine Cup competition will begin. For those of you that are unfamiliar with the competition, it is a worldwide competition hosted by Microsoft with nine technology-related categories. In the Algorithm category, 200 competitors make it to the second round. I was lucky enough to be in that group this year. I have already blogged about my experience during round one here, here, here and here. This second round will prove to be more challenging and require a deeper understanding of programming algorithms. I am lucky enough to be taking an advanced algorithms class this semester. So let's hope I can do a good job in this round too. I will keep posting on my progress throughout this round, which will end on May 2. Wish me luck!

February 18, 2008

My Own Company

Today I went to a conference on financing new technology ventures. It really got me pumped up. Everyday, I like more the idea of working in a small company or, even better, starting my own. I don't think I want to work in a large company or in Academia as soon as I get my PhD. I want to try some of my ideas out for myself and see where they lead me. Of course, the hard part is actually coming up with these ideas. If I am going to take the risk of starting a new company, I better have a good idea. I have four and a half more years to think of something (that is, assuming I finish my PhD in the supposed five years it's supposed to take). Let's see how that goes.