Monday, March 30, 2009

Love, Love, LOVE This Bailout. No really. The Auto Industry Bailout Still Sucks!

I love it when I'm right. I do. And it seems that my opposition to this auto-industry bailout is proving smarter and smarter everyday. Rick Wagoner, CEO of GM, just announced he was stepping down as part of the need to restructure the auto company, since... wait... wait... here's the big surprise... they haven't done shit to turn around their flailing business. Ok, some of you will say... "yea, but the economy sucks!". Sure it does, so start laying people off. Start restructuring. Start closing plants. Start actually conserving cash. Start making cool cars.

Instead, you know what they've been doing? They've been bombarding me with advertisements telling me how cool their cars have become. Overnight I guess. All these cool cars are now part of GM's arsenal. Where've I been? Living in a cave? Their cars still suck.

Whenever I advise people how to write their business school essays, I say "show, don't tell". It's that much more believable. Well, that's my advice for GM. SHOW US! I think Americans are becoming sick of people telling them things. Or at least I hope they are. Unless it's the Shamwow guy.

While I applaud Wagoner stepping down - don't think for a second that he wasn't forced out by the Obama administration. I like how he's trying to save face and how they're actually letting him. Fire his ass! He's the CEO. He's responsible for their mess.

It gets awesomer though. Apparently he's entitled to $20M in retirement benefits (here). Twenty million dollars! Retirement benefits. Holy shit is all I can say. Good luck GM.

Wow. Go Grid Did Something Right!?

GoGrid was having network latency issues for that past few days. Yet again. While this was another instance of GoGrid sucking it, at least they owned up to it this time.

I received an email that began:

Hello Marc,

On Friday, March 27 at 11:10 AM PDT, and again today Monday, March 30 at 12:25 PM PDT, GoGrid suffered a series of large scale distributed denial of service (DDoS) attacks that affected the network connectivity of many GoGrid servers.

These network attacks were of a type that we had not seen before, and which our automated network attack prevention hardware was unfortunately unable to prevent.

We estimate that up to 25% of GoGrid customers had servers that were either unreachable or had degraded network performance and packet loss during significant parts of both of these attacks, and at times as much as half of you were affected more briefly. We know that many of you rely on GoGrid to run your critical Internet infrastructure, and apologize for the impacts to your business that these attacks may have caused.

It goes on to say what they'll do moving forward. Something about working with Cisco to ensure it doesn't happen again. But the kicker...apparently servers are still affected. So I'm not sure they're in the clear yet.

If you're a GoGrid customer, here's their status page, which is full of outage statuses:

While I'm definitely happy GoGrid owned up to it...I'm not happy that there continues to be issues with their service. I just hope my incessant bitching got Michael Sheehan and the rest of the people I've dealt with at GoGrid to make things more transparent.

You can check out my past experience with GoGrid:

Go Grid Sucks If You Value Your Sanity
Do You Suck Go Grid? Come On!
Backup Plans A Must - Assembla And GoGrid At Fault

UPDATE: Our servers have been intermittently going offline. So I guess we're affected after all.

Sunday, March 29, 2009

The Favorboard - Startup Profile - I Don't Get It?

Another startup sort of spammed me last night. I'm not sure why I got an email from FavorBoard? I definitely didn't sign up for anything so now I'm wondering where they got my email address.

Anyway, might as well let you know what I think about them. They aim to make it easy for students to "find help with class, organize a study group, get a ride to class, get help solving your computer issues, meet your classmates, and more...all from students on your campus!"

I've always thought there needed to be a more social way to facilitate interaction between classmates. At Haas, we used Google Groups to provide a group email that students could subscribe to - that way you could blast your message out to your class. And it was easy for the rest of the class to either listen or ignore what was coming. And it worked.

With FavorBoard - I think they're overestimating the idea that people want to actively help out other students. People will help, but I don't think most students are going to spend time searching for tasks they can assist with. If you simply get an email digest at the end of the day, well, what advantage does it have over Google Groups? Or what advantage does it have over a Facebook group or something like that?

I guess it comes down to this. I don't get their value ad. And, why limit it to just posting favors? Why not create a more specialized class social network or something to actually help a class become more cohesive?

Saturday, March 28, 2009

LikeMe and Hunch

I guess it's the week of the personalized search engine. Which bodes well for what we do. It's always good to have competition in the same space, especially as you raise money. If one company grabs some cash from a VC, others VC's tend to want in on a competing technology. They don't want to get left in the cold if something hits. It also adds credibility and publicity to our technology.

We initially called ourselves a personalized search engine - but felt that moniker didn't really capture what we were doing. Personalization is certainly core to what we do, but we consider ourselves more of a discovery tool, something that helps build trust and relationships to other things on the internet. "Things" are relative - it could be other people, objects, services... or really anything that you can define to have a personality.

LikeMe is a "personalized recommendation engine" that "makes it fast, easy and fun for you to discover new places to eat, drink, dance, sleep, shop, ride, relax, primp and explore. It’s a great tool for the city you live in, and an even better tool for when you travel. It’s like having a great network of friendly recommenders all across the country." They "do" what we aim to "do", but we like to think our tool is much more powerful and targeted. While they match you to other people, I'm not really sure how their matching algorithm really works? So it left me with lots of questions - rather than answers.

As for Hunch:

"Hunch is a decision-making site that gets smarter the more it's used.

After asking you 10 questions or fewer, Hunch will propose a concrete and customized result for hundreds of decisions of every kind: What kind of car should I buy? Should I switch to a Mac? Should I dump my boyfriend? Where should I go on vacation? Should I get a tattoo?

Hunch uses machine learning to get smarter in two ways:

* User contributions train Hunch to be smarter overall. Contributions can take many forms, from correcting a fact that Hunch got wrong, to suggesting new decision topics to feature, follow-up questions to ask or decision results to propose.
* The more Hunch learns about each individual user's personality and preferences, the better Hunch can customize decision results for that user. It's like a friend getting to know someone's taste and preferences over time, so they can provide sound and trusted advice."

I'm excited about this space...things are heating up!

Friday, March 27, 2009

Spruce - A Restaurant Review. Totally Off Topic.

I have to write a review for something San Francisco based! Sorry for those outside of SF. But keep this in mind when you come visit.

Yesterday was my birthday and my girlfriend took me out to a nice dinner. As far as nice dinners go, I tend to stick with restaurants I know, such as Boulevard (which I love!), because I know I can trust their food. I've always had a great meal there. I find that all of these 10 star, 14 diamond, 8 Michelin tire rated places are way overrated. They place so much emphasis on ambiance, who the chef is, and presentation, that if you actually just want some tasty food, well, you never know what you're gonna get. Yesterday I finally went out of my comfort zone and went along with something new.

We decided on Spruce - a restaurant in Laurel Heights. At first, I was a bit put off by the atmosphere. It was stuffy. Everyone was over 50, graying, and sipping what looked like expensive wine. I normally enjoy a more hip atmosphere. But then I saw burgers flowing by with great looking french fries and I knew I'd be ok.

I sat down and was greeted by a card from the employees at Spruce wishing me a Happy Birthday. Nice touch. We ordered the scallops and cauliflower ravioli for appetizers. Superb. But it got better. We had the duck and the pork for main dishes. The duck was excellent. Very sweet, but expertly cooked. I can't say much more because I just want to get to the highlight of the night. It was the pork. It was absolutely, without compare. It was the greatest piece of pork I've ever tasted. It was like a filet of beef in both its tenderness and also its taste. I had no idea pork could be made like that. It was also medium rare. While people used to only eat pork that was thoroughly cooked, times have changed.

The assistant general manager (Megan) came over to ask us about the meal. She was incredibly hospitable - and gave us a rundown of how the pork was prepared. It was brined, which I didn't know much about. It was soaked in a salt and sugar bath, which partially "cooks" the meat while tenderizing it. She then offered to email me the recipe - which is highly unusual for a restaurant. But she said, "If you want to eat out, you're going to eat out". Basically - here's the recipe, make it when you're home. When you want to have someone else cook, come here. Very cool indeed - and I told her it wasn't what I expected from a place I thought was stuffy. She also recommended the burger for lunch. I'll be going back to try.

If you like pork - you HAVE to try it! And say hello to Megan - and tell her you heard about the pork from that guy who made her take 100 pictures at dinner.

Wednesday, March 25, 2009

Cubicle Ninjas - Your Totally Badass Web Design Team

I love Ninjas! Always have. I used to dress up as one and throw Chinese stars at my fence when I was little. I'm still not sure why they're called Chinese stars when Ninja's are Japanese? And they are the only assassins to use those badass weapons! My favorite country is Japan, surprise surprise. Home of the Ninja. And I hold a special place in my heart for the city of Kyoto. Why? Because when you walk around the old town late at night, you can totally imagine Ninjas running across the rooftops or hiding in the shadows, ready to pounce. It's that old and that cool. I'm serious about Japan (and Ninjas). And I can talk. I've been around the world.

So I was super excited when I began talking recently with Josh Farkas, over at Cubicle Ninjas. They're a web design and illustration company out of Chicago. And they produce some damn good design. But what I really like about these guys is that they act like a startup themselves, which means their customers are very important to them - and they ensure their happiness. I spoke with Josh about their process and it's a helluva lot better than what I used for our logo design (I'm still not happy with it!). They work with you, constantly iterating and revising - and while a lot of companies promise that, you need to be aware that most of these companies have no designer continuity between revisions. That means when you resubmit your design for a revision, you may get a totally different designer who hasn't seen your project before. Or they're just interested in cranking out work as quickly as possible, so they don't really listen all that attentively. It created a nightmare when we worked with Logoworks.

Of course, cost is always a concern. In Josh's words: "As for cost, we're very flexible. We can work at an hourly rate or by all inclusive project rate. Or if there is a cost a customer has in mind we'll let them know what we'd be able to achieve in this time. Plus, we give free no obligation quotes.

Finally, we have a satisfaction guarantee. Many agencies are focused on turning around projects quickly, but we measure success by customer happiness. So if that means a few extra weeks making changes (as long as they fall under the original scope) then we're there. As a creative partner their success and happiness is the most important factor in working together."

Finding a good designer is incredibly challenging. Especially on those oDesk type sites which are great for programmers. It's hard to evaluate a designer from a small portfolio. And it's not good to skimp on design. I can't stress enough the importance of smart, intuitive, simple, good looking design. And while this post sounds like an ad. It's not - I really like what these guys do!

Ninja's formal list of services include:
- Advertising Ideation & Design
- Animation
- Blog Design & Promotion
- Brochure & Book Design
- Brand Creation
- Character Design
- Email Design & Campaigns
- Flash Production
- Illustration
- Logo Design
- Presentation Design
- Search Engine Optimization
- Web Design
- Website Content Management Systems

Give the Ninjas a call: 630.940.6337

Tuesday, March 24, 2009

I Hate Most US Airlines, But I Found One I Like - Virgin America Rules!

I went to Vegas this past weekend for a bachelor party. Of course it was a blast. I won't go into details, I'll let your imagination wander. I flew Virgin America. Simply because I got the best deal. And it was awesome!

The gate attendant was a riot. You could tell he was psyched to be working for VA. And he loaded us on quickly - no delays. Once on board, the very next thing I noticed was the mood lighting. It was this soothing hue of pink and purple. And between sections of the aircraft were tasteful plastic/glass partitions. Much nicer than those aging distasteful curtains most airlines have that look like they belong on your grandmothers windows. And how could you not enjoy the flight attendants? They weren't old geezers like most of the one's I've seen on other US carriers, who look like they'd rather be skinned alive than serving you. They were all young and incredibly friendly. I wonder if this has to do with unions (from what I've found, they're non-unionized - hallelujah!!!)? And if not, then what the hell is the excuse that the rest of the airlines in this country are giving for crappy service? Oh, they even had free soda. I think some airlines are already dropping that perk.

Every seat came equipped with a RED entertainment system in it. It was awesome - I setup a lineup with my favorite artists and songs and passed out. You could play games, watch movies, or whatever. Seriously United. Take note.

Thursday, March 19, 2009

Ok - This is Serious! Get Yourself Checked Out!

As a startup entrepreneur, not only am I busy, but I'm also poor. So, although my Dad hounds me to get a physical yearly, I often push back because my insurance doesn't cover the lab work. Well last week I decided to give blood, which you all should do once in a while. As a side effect of giving blood, they give you your total cholesterol measurements. I thought that was a great way to kill two birds. Make sure I'm healthy and save a life! Or two, since I gave red blood cells this time around.

Well, I'm not so sure about the healthy part anymore. My cholesterol came back and it was off the charts. Almost literally. You can't feel it when you have high cholesterol. And since I'm young, I often feel invincible. I guess I just hit that age where it's time to be concerned about my health and well being. I want to be around when Vyoo takes over the world!

So what's this mean for me? I'm not sure. I need to tell my Dad...though I may put it off until he reads this. I know the first thing I'm going to do though. I'm cutting quite a bit of cheese out of my diet. See, I'm a cheese addict. And I've always been comfortable with that. I always order extra cheese on my pizza. I eat chunks of cheese, straight from the cheese block in my fridge. I just assumed I processed the cholesterol quickly - because about 4 years ago, my cholesterol was great. And I ate a ton of cheese then too. It's certainly going to be a lifestyle change, but a good one.

I also went for a checkup last week. And I'm not going to share the utter violation that was a prostate exam with you. I'll just let you imagine. But now I have a lab slip and I'll be going for a thorough fasting blood workup next week.

Anyway, I urge you all to go. Preventive medicine is the best kind.

And if you're poor...or not. Go give blood. You'll get a free cholesterol checkup.

Blood Donation Centers:
Blood Centers of the Pacific (Northern California)
Red Cross (Nationwide)

Wednesday, March 18, 2009 - Get Smart About Sports (And Bracket Brains)

It's time for March Madness again and, of course, that means plenty of brackets. This year though, there's a website out there that can make it a little easier to steal that office pool or rip off your friends. We all know how much fun that would be!

A good buddy of mine and founder of the last startup I worked at, Matt Koidin, is one of the early guys at the company He's remained true to his passion for sports except now his company is taking advantage of their self described "nerdiness" to evaluate endless amounts of quant heavy historical data to make predictions on athletic events.

Since I'm a numbers guy and interested in psychology, I find what they're doing incredibly fascinating. They don't just take into account the normal data that the typical odds-makers rely on, but they also include data such as distance traveled for games, game timing, and Vegas odds. This stuff adds a psychological element to athletics. And we all know, watching clowns like Terrel Owens and Ocho Cinco, that psychology has gotta have an impact. I think we're going to see psychology play a much bigger role in technology in the next few years.

Their BracketBrain product (which has been done for several years) has had a great track record. And since I got invited to a bracket today, I thought this was quite relevant. They have all sorts of different modeling techniques for their ridiculous amounts of data. You can even create your own algorithm. For someone like me, it was overwhelming at first. But this is an absolute gold mine for sports nuts, especially bettors. I joined in the hopes that I can destroy my roommate in our bracket. I just used their straight up picks. Fortunately, he doesn't read my blog, so I'm not worried about him finding out.

Tuesday, March 17, 2009 - Business School (MBA) Application and Essay Consulting

While I certainly don't have enough on my plate, I'm launching a non Vyoo related website today for business school application and essay consulting. I've been consulting for several years and have had a great track record with my students - so I've decided to make it available to everyone. I've found that providing insight into the whole business school application process as well as my experience at a top business school (Haas) has been rewarding for the people I've worked with. And giving them the tools to make their applications that much stronger has been invaluable.

When I applied to business school - I really had no idea what to expect. I didn't even realize that there were consultants who helped with this sort of thing. If I had known all of this, I certainly would have taken advantage of it. Now I'm doing what I can to help others in that same situation. And giving them an alternative to the overpriced consultants who charge up to 5 grand a school. Yea, believe it!

If you know anyone who needs application help for business school - send them my way: And don't worry, I advise much better than I write here on this blog. Thanks!

There's a blog there too, but for those not applying to business school, don't waste your time:

Monday, March 16, 2009

Yipee Ki Yay! (Private) Beta Launch Wednesday!

Thanks to all who participated in our alpha. Good news, our beta will be launched this Wednesday. It's actually up now, but there are lots of bugs that we're working on fixing as we speak. We'll also be inviting you patient friends who've signed up for the alpha. We'll be slowly opening it up on Wednesday. We're going to focus on avid travelers for the early invites. We think they'll provide real value in understanding our concept and working through providing the best product we can.

I've realized over the past year that I'm incredibly critical. Or maybe a perfectionist. And I'm not sure that I like that fact all that much. I'm critical of myself and others - so I'm going to try to work on that. It's what has kept our alpha launch so small. I guess I'm afraid of failure. But I have to realize that it comes with the territory. Entrepreneurs need think skin. Hopefully it will thicken after this experience. I really wasn't comfortable showing many people the website until we had some color and good design. But it's here. Hope you will enjoy it. And yes, there's a watermark on the image on our homepage. I purchased a license for it...just need to update the site. It will be taken care of on Wednesday!

Footnote: that's the proper spelling for Yippee Ki Yaya according to IMDB (here). I thought it was Yipee Kai Yay or Yipee Kai Yea. Proves what I know...

Thursday, March 12, 2009

This Post is for my Dad. It's Alright to Sleep Late!

I subscribe to a flurry of magazines. I love something to put me to bed at night. And so I collect a lot of useless information. But at times, there are some nuggets of wisdom that I feel compelled to share. Especially when they vindicate my behavior. I'll tear out the really interesting pages and stuff them in my laptop case. Now, a month later, I found one of my recent favorites.

This one is from Wired. It was in a margin note, entitled "Three Smart Things About Sleeping Late" (here). As a late sleeper, I couldn't wait to read it. So Dad, take notes, because this is why your son is so creative and stress-free... and sleeps so damn late.

1) "You may need more sleep than you think" - This one made me laugh. "People who slept eight hours and then claimed there were 'well rested' actually performed better and were more alert if they slept another two hours. Until the invention of the lightbulb the average person slumbered 10 hours a night".

2) "Night owls are more creative" - Take that Dad! This is awesome, "Artists, writers, and coders typically fire on all cylinders by crashing near dawn and awakening at the crack of noon." Night owls "almost universally slam-dunked a standardized test. Their early bird brethren struggled for passing scores." Shazaaaam!

3) "Rising early is stressful" - No crap! "The stress hormone cortisol peaks in your blood around 7 am. So if you get up then, you may experience tension." Sleep it up everyone!

Wednesday, March 11, 2009

Beware!!! Swoopo is addictive!

I'm not sure why I'm publicizing Swoopo. I mean, the more people that are members, the lower the chance that I'll actually win something.

It took me a few days to figure out how Swoopo gets away with basically giving away products. And then it occurred to me. They probably make their money back even if they gave their products away. It really shouldn't have taken me that long, but it did. It's genius.

Swoopo is absolutely addicting. It's a website that basically sells products to the highest bidder. The catch is that bidding costs money. It's about 75 cents to place a bid. But you can get some incredible deals. And of course, you keep buying bids and bidding more on products. And it goes on and on. Now if you win, you make out like a bandit. But if you lose, well, you're like the rest of us in that you just threw out your number of bids * $ .75

Monday, March 9, 2009

Why Software Projects are ALWAYS Delayed...

I think I've just figured out why software projects are almost never delivered on time or on budget. I started thinking about this today, as two pieces of our site were supposed to be delivered over the weekend, but, as usual, didn't show up. I'm not upset - because, well, I'm accustomed to it. I realized it's something I was guilty of too when I gave project estimates. I just need to better plan around it.

Engineers (meaning software or hardware engineers/programmers) are definitely a specific breed of person. We tend to over-promise or at the very least, overestimate our skills and ability to meet business requirements. It's not that we can't complete the project, it's that we think we can complete it in a much shorter period of time. We tend not to think about the details - or the issues we'll encounter, because, we think we won't have them. We know the end goal and we know we can get there. But there are so many variables - does the software have the libraries I need to complete the task? Does this Javascript query work on IE and Firefox? Is the database properly configured? Does the database design make sense/work? Have the images been properly sliced? Engineering projects run into roadblocks that projects in other fields often just don't encounter - the intangibles. Painting a house for example is a repeatable task. You generally know how long it's going to take to paint a specific square footage. Sure it may rain, but everyone understands that you can't paint in the rain. Even other non-repeatable tasks don't suffer the same issues. If you're investing money for someone, you pick an investment and invest. As a lawyer or any other field which requires research, you do your research and are done with it. But with software, it's rare that you've programmed, to a tee, whatever your current assignment is. You'll undoubtedly uncover a variety of unexpected issues along the way. And it's nearly impossible to evaluate every issue. Hosting issues. Network connectivity issues. Database issues. There are so many moving parts that aren't entirely within your control or domain of experience. We also like to think we won't face those issues or that we can overcome them much more easily than we can. So next time you have a software project due, take the time estimate and double it. Then add a few months. That will be much more realistic.

More Bars in More Places? AT&T Service and Reception Suck!

I was overjoyed to switch to AT&T when I got my iPhone. I was so sick of Verizon and their overpriced rates, coupled with god awful customer service. AT&T was great to deal with. While I had a few problems initially, they were more than helpful clearing things up. It made me happy.

I'd heard for years how great Verizon's coverage was in the Bay Area. I didn't really think much of it. I figured AT&T would be comparable. They do have more bars in more places don't they?

The first glitch in their service, I noticed on 280 whenever I'd head down to Menlo Park. I will undoubtedly lose service near Woodside. It's not like service gets crappy and sometimes hangs on. It just drops. How can AT&T not rectify this. What do people do when they're on important business calls?

I then began to notice that my calls began to drop with a great deal more frequency than they'd ever dropped before with Verizon. They'd sometimes drop multiple times on a single phone call, when I have full bars. But my favorite is when I'm talking to someone and then I get a busy signal mid-conversation. What the hell is that? It's not my phone either, because everyone else at AT&T has these same problems. I thought they built a new network? I guess that didn't make a damn bit of difference. And you'd think two people talking who are on AT&T would have better service? Nope. Even worse.

I also love how my iPhone jumps back and forth from Edge to 3G to whatever the other option is (a circle - maybe analog?) and can't connect. Make a decision and stick with it.

Well...welcome to the new AT&T. Worse than the old AT&T.

I thought this video was great. It's not for AT&T, but whatever. Wouldn't that be awesome if your network showed up and followed you around?

Wednesday, March 4, 2009

One Day Airfare Sale - JetBlue!

You can book fares as low as $29/one way. Oakland to Boston, $69/one way. Obviously there are restrictions - dates to travel, etc. The sale is good until 12 midnight tonight MST. Great deal if you're flexible.

Tuesday, March 3, 2009

Almost Forgot To Mention: Delaware Annual Report and Business Entity Tax Due Now!

The deadline passed for this on Sunday, but you can still file. There's a $75 franchise tax fee and $25 filing fee. If you missed the deadline, there's another $100 fee tacked on. If you don't have any shares issued or revenue, that's what you'll pay. Otherwise the maximum fee is $165,000. Most tech startups around here are either incorporated in DE or CA - so this should help most of you. Not sure what to do in CA.

File here!

Monday, March 2, 2009

How To Motivate Your Startup Employees? And Healthy Snacks at Matisse & Jacks!

I spent the morning meeting with a good friend, Sarika Singh, who started her own company a few years back. She developed a bake at home energy snack that's both healthy and cost effective. Oh, and they're delicious. The company is called Matisse & Jacks and has some great products. They're great for everyone, but especially for mom's, who may want to bake at home with their kids but not bake junk food like cookies and cakes. And the cool thing is that they just got placed in Target stores!

The one thing we kept talking about is how difficult it is to motivate people who are helping you with your company. While I've spoken about this before, today I'll talk about different ways in which you can and probably should motivate people.

1) Equity - While this is a great initial step for motivating people, it doesn't last, especially as time progresses. The shelf life is incredibly short and you'll quickly find out how committed and passionate these people really are about your idea. The longer you go without cash, the less valuable equity becomes. So what can you do with equity? You can continue to provide people with bumps in equity for hitting milestones or beating targets. For one employee, I nearly doubled his equity stake because of his incredible devotion to the company. You really can't put a price on that help.

2) Gifts - In lieu of giving people money, I've found that a thoughtful gift once in a while helps out a lot. If you've got developers, they're probably gadget people. A new cell phone, digital camera, or networked hard drive are a few possibilities of things that these guys don't purchase all that often, but that they'd love to have.

3) Cash - Cash is king, isn't it? While giving someone the cash equivalent of their time is difficult at a startup, sometimes a token gift of appreciation helps. Like a couple hundred dollars to complete an additional task or even a hundred bucks here and there just to show your appreciation.

4) Reciprocity - Offer to give them a hand with something they're doing. Use your skills to help them out. If they're helping you on the side, it's inevitable that they're working on other things too. For our developer, I've tried to give them some contract work as I come across it for other companies. I've passed the UI guy a lot of work. And of course, the fellow startup guys I speak to, I'm always happy to help out with testing their products as well.

5) Appreciation - I can't stress this enough. Express your appreciation! This should go without saying. But I can't tell you how few people actually do this. And it's FREE!

It's a bummer to find out that people involved with you aren't as passionate as you are. But its a fact of human nature. Especially if the company isn't their idea. So be prepared. And be good a weeding out people who don't share this passion. If you have the luxury. Sometimes you take what you can get. And that's when you need to be creative with compensation. Now go buy some energy snacks above to help a fellow entrepreneur!

Sunday, March 1, 2009

Rails Callbacks Called Multiple Times - after_save, after_update, after_create, etc.

I was testing the newsfeed functionality I just finished on our application. I began the testing in the console, to ensure the fields were getting updated properly in the database without having to deal with the overhead of testing through my application. Everything worked... that is, until I started testing through the application.

I'm using Rails callbacks, which are basically hooks that allow you to insert logic into the chain of command when handling your models. The following callbacks are currently available:

* after_create
* after_destroy
* after_save
* after_update
* after_validation
* after_validation_on_create
* after_validation_on_update
* before_create
* before_destroy
* before_save
* before_update
* before_validation
* before_validation_on_create
* before_validation_on_update

They're quite convenient and really easy to use. In any event, I noticed my after_save call actually added two identical rows to the database every time I submitted a request through the browser. I couldn't for the life of me figure out what was going on. I was assuming it had something to do with the order in which Rails was handling the objects. I was saving a new model within the callback and wondered if for some reason that was getting called again on the actual model save? Or since I was now going through a controller rather than manually saving an object, did that have something to do with this? Neither turned out to be the case. The real reason was much simpler. Firefox was submitting multiple requests every time I performed an action. This was visible through Firebug. I loaded up IE - and had no problems. I restarted Firefox and it was fixed. Now I need to handle the case when this actually happens to our users too.