Archive for August, 2007

More Links

Posted August 14, 2007, 7:16am In: Social Networking, Business & Clients, Web Related, Javascript, Development

I am going to write a real entry soon, I promise.

http://www.456bereastreet.com/archive/200708/microformats_book_review/
This is a great read; I’ve used Microformats in my applications and I think they are invaluable. The comments are especially useful in getting other people’s opinions.

http://ajaxian.com/archives/yui-compressor-the-latest-minification-tool
Compress those JS files! Have to try this out.

http://ajaxian.com/archives/builtwith-what-tech
Interesting. Seems a little devious to investigate what technologies are being used, but still interesting all the same.

http://www.techcrunch.com/2007/08/14/34-more-ways-to-build-your-own-social-network/
I would never use one of these tools, but it’s a good resource to have.

Who Owns the Concept if No One Signs the Papers?
Really long link, sorry.

http://yuiblog.com/blog/2007/08/13/rte-notes/
YUI looks great for simple rich text editing, haven’t tried it out yet since the YUI release. This gives me a good idea of what to expect.

More Reading

Posted August 13, 2007, 8:56am In: Business & Clients, Personal

Over the weekend I let the YCombinator Demo Day simmer, then planned on getting all the reactions. Sadly, I didn’t hear much about the demo days. If anyone has any links from the blogosphere (besides YCombinator news) let me know!

http://www.venturehacks.com/articles/adam-smith

http://news.ycombinator.com/item?id=41133

http://mashable.com/2007/08/09/online-business/

http://www.innoeco.com/2007/08/demo-day-at-y-combinator.html

http://500hats.typepad.com/500blogs/2007/08/startup-metrics.html

http://mashable.com/2007/08/09/gdrive/
This is awesome.

http://news.ycombinator.com/item?id=41303

http://news.ycombinator.com/item?id=41308

http://dondodge.typepad.com/the_next_big_thing/2007/08/boston-vcs-gets.html

Interesting Reads

Posted August 9, 2007, 10:20am In: Web Related

http://westciv.com/xray/

http://ignitenight.blip.tv/file/199623/

http://gigaom.com/2007/08/06/vc-investments-hitting-new-highs/

http://www.instigatorblog.com/can-you-build-a-startup-ecosystem-outside-the-valley/2007/08/09/

http://www.tandementrepreneurs.com/

http://www.michiknows.com/2007/08/03/a-great-web-developer-is-a-great-application-developer/

http://www.ventureadventure.net/2007/07/14/event-review-svase-startupu-sf-executive-summaries-12-jul-2007/

http://www.unionsquareventures.com/2007/08/hiring_a_vp_of.html

http://www.businesshackers.com/2007/08/08/startup-failure-despite-media-coverage-and-good-ideas-a-story/

http://www.readwriteweb.com/archives/eric_schmidt_defines_web_30.php

http://www.squidoo.com/starup_failures/

http://www.founderblog.com/2007/07/go-fast-but-dont-hurry.html

http://kohari.org/2007/4/9/paul-graham-is-braindead

http://radio.weblogs.com/0111718/2005/01/23.html#a261

Floccinaucinihilipilification

Posted August 9, 2007, 8:55am In: Web Related

Floccinaucinihilipilification is the act or habit of estimating or describing something as worthless, or making something to be worthless by deprecation.

Some words we might use to describe the longest non-technical word in the English language:

  • Stagnant
  • Worthless
  • Defunct

Translation: Deadpool.

What contributes to a project/startup dying? Is there a single catastrophic moment when the founders realize that it’s going nowhere, some kind of breaking point? I wonder what the guys labeled as ‘Defunct’ in the list of companies by YCombinator would say. Something like:

  • Not enough market visibility
  • Not enough market interest
  • Not enough money
  • Not enough need
  • ” founder drive or ambition

You notice the trend here don’t you? Generally when it comes to failed startups, I hear those involved cite all sorts of different answers, all preceded by the same thing… Not enough.

Unfortunately, it generally tends to be true, not a simple matter of the founders’ incompetence. Oft-times you’ll hear critics examine a failure and proudlyloudly shriek the cause like they had insider information. Trouble with the internet; everyone is an expert.

One can have an Einstein equivalent idea and execute it perfectly, still to have it fail and come crashing down upon you (and your wallet… and your bank account. Credit Card. Marriage. Et cetera.).

You can’t force a user to enjoy your business application. They see a need for it, or they don’t. Likewise with Venture Capital. If a VC isn’t interested, that’s the cause of your lack of money, not the lack of VCs themselves.

That’s not a reason to give up so easily.

Let me say again:

That’s not a reason to give up so easily.

We all know the story. When the first dot com bubble exploded upon the markets, hundreds of thousands of companies were born. The internet was new and shiny and we all wanted a piece. But as with all new technologies, we first applied ourselves to solving existing problems. Those succeeded. Then some Venture Capitalists in their infinite wisdom, put unrealistic expectations on new applications that didn’t exactly make sense, solve any problems, were just… there. Those crashed. And burned. Millions were lost, lives were ruined. All around bad mojo.

There are lessons we can learn however. Some companies that went belly up a decade ago were reborn by others, adapted for ten years of change, and a success.

An idea can die, but it can also be reborn. Put a new spin on it. Re-evaluate reviews, criticisms and your gut feeling. Change direction. Change markets. Reinvent your idea from the ground up.

A chat application that went belly up could be the next Google Talk. Or an IM client in a Facebook app. Or used to provide a log for internal corporate discussions.

Personal Programming Faux Pas & Standards

Posted August 1, 2007, 2:53pm In: PHP

At risk of starting a holy war, I’ve noticed myself cringing every time I look at a block of code that isn’t formatted, or consists of slow functions… I decided to write a brief list of my pet peeves. Feel free to add!

Formatting

I prefer to use tabs (\t) rather than spaces to indent my code. Nested loops, decision blocks et cetera should all be indented with one tab per indent. Software such as the Zend Framework requires four spaces. This is completely up to you.

Optimization: Loops

One of the biggest issues I have with my fellow developers is not paying attention to optimization within loops. Consider, for instance, this example:

Always try to optimize your loops if operations are going on at the comparing part, since this part is executed every time the loop is parsed through. For assignments a descriptive name should be chosen. A correct example might be:

Now, take it one step further:

This is a minor detail, but pre-decrement (and increment) operators are faster than post-decrement (and increment). Post requires the compiler to create a duplicate of the variable and copy the updated value back at the end, while a pre-operation can be done in-place immediately.

Optimization: in_array();

Avoid using in_array() on huge arrays. Make an effort not place them into loops, especially if the array being evaluated consists of more than 30 or so entries. in_array() can be very CPU intensive. Instead, try using isset() on the arrays keys instead. A call to isset($myArray[$var]) is a lot faster than in_array($var, array_keys($myArray)).

Space your tokens

I loathe trying to sift through code I can’t read; it should read like the English language (yaknow, top to bottom, left to right?) Always leave one space between the tokens. Don’t put spaces just after an opening bracket or before a closing bracket. Don’t put spaces just before a comma or a semicolon. Again, just my personal preference, but I’m used to browbeating my subordinates. It’s the only way they know me as the Omnipotent Dark Lord.

Operator precedence

There is an exact precedence to all the operators in PHP, but I don’t recommend trying to guess them all. Use brackets to force the precedence of an comparison or equation so you know what it does.

Ternary Operators

Try not to sacrifice readability by saving yourself a few keystrokes. Ternary operators should generally be used for comparison, not complex logic.

Code Formating: If/Else

Braces must always be used. Braces always go on their own line. The closing brace should also always be at the same column as the corresponding opening brace.

Switch Statements

Switch statements are extremely useful, but can get a fair bit long. Akin to in-line braces, do not indent breaks.

In Closing…

These are just my personal opinions, based on my own ideologies. Everyone has their own preference on how code should look, but I do recommend paying special attention to the optimization tips.

Suggestions, comments and death threats always welcome!