Archive for the 'General' Category

How much equity for investors and employees?

Monday, August 13th, 2007

I have been wanting some information on this topic for a while now. Finally someone’s written something about it here and here.

Zen 2.0

Saturday, August 11th, 2007

Well, I am going to try blogging again.

I realized recently the failure of Zen 1.0, or the blog I called Operational Intelligence, was probably because I was trying to be too focused. I tried to write about topics that are related to my work. Not that the topics are not interesting or plentiful, it’s just that I was trying to be too careful on not being biased.

In any case, for Zen 2.0, anything and everything goes. Well, in my case, anything and everything will likely be all related to tech since I am a geek (but I am a cool geak since I use a mac! :) ) through and through. Let’s see how far this one goes this time.

Technology then and now

Friday, October 6th, 2006

This is a pretty cool compilation of the various technologies in its old and new form.

The least convincing one is probably the mouse. Even though there are small mice, I can’t imagine people using those small mice for a long time and not get sick of it. Human hands haven’t shrunk over the past ten years, so the mouse most likely won’t either.

Netflix offers $1 million for a better review

Sunday, October 1st, 2006

This is a pretty interesting contest. Netflix is making available to the public 100 million of its customers’ movie ratings so you can help them design a new rating system that’s at least 10% better than what they have today. A better rating system means customers will likely to rent more movies as well as attract many new customers.

You can get more information at Netflix Prize. The download file is 697,552,015 bytes long.

[ Coverage by NY Times ]

5 Easy Ways to be a Better Developer :)

Sunday, September 17th, 2006

Read this post on 5 Easy Ways to be a Better Developer today.

Agree with most of what it says. Though I wouldn’t call these “easy ways.” None of them is easy unless you are willing to spend time working on them.

My comments on the points…

1) Learn Ruby and Ruby on Rails.

So I call BS on this one. I know the author says these are examples of how to write clean code, but you don’t need to learn a specific language just to learn how to write clean code. What happens now if you have to work in a C or Java or C# environment?

The latest language and coolest technology is just fad. It will come and go. However, basic fundamentals of good programming is always necessary. I’ve always said that once you understand the semantics of programming, syntax will come to you. There’s really no difference in how you program in C, PHP, Java, Python, Ruby or whatever the latest language is. Once you understand WHAT you want to do, you can pick up the language syntax fairly easily.

2) Read The Daily WTF?

This actually is a pretty interesting site to read, if you have the time. Every once in a while it gives examples of good and bad pieces of code.

3) Learn something new every week.

Couldn’t agree more. I’ve always told people that the best programmers are lazy programmers. Lazy programmers will try very hard to make things simple for themselves and avoid doing as much work as possible but still finishes the job. By that, I mean most lazy/good programmers will find existing code/libraries that fit their needs and use them. Obviously there’s certain amount of due diligence you have to do here to ensure the code you are copying is legal and “good.” For example, using Apache Foundation’s libraries is generally legal and “good.” Learning something new every week, e.g., find a intersting library and learn how to use it, will allow the programmer to be lazy when needed.

However, being lazy doesn’t remove the need for programmers to understand the fundamentals. I know I always have arguments with some folks on whether to develop everything from scratch or reuse other’s library. I am always on the side of reuse/copying other people’s code. Some folks tend to want to write his own to fit his exact needs.

Even though we are on the extreme opposite of each other, we generally agree that programmers do need to understand the fundamentals of algorithms and data structures, etc.

4) Understand customer wants != customer needs.

Again, agreed! To add to this point, I believe programmers need to understand the general market they are developing for as well. You need to make sure you understand the general market trend and why customers are buying your solution.

If you are just a programmer that always just take the “spec” from the architects and write the code to meet the “spec,” then you will never become a good programmer. A good programmer should be able to

  • Understand what the customers need
  • Anticipate the customer needs based on the understanding of the product and market. This is perhaps the MOST difficult step for most programmers as many are so used to just coding from spec.
  • Spec a solution that meeds the needs as well as being able to critique others’ specs. Again, some programmers can spec a solution based on the requirements, but a good programmer with understanding of the market and product and customer requirements can critique others’ specs.

5) Find some passion!

This is a bit general but it’s somewhat true. If you don’t like what you are doing, you most likely won’t spend the time on doing the best job.

I also want to add a couple things to the list:

6) Communication is king!

One of the the things I find most lacking in most programmers is the ability to communicate, both written and oral. Just because one can code (even if he’s a clever coder), doesn’t make one a good programmer.

I believe communication is what separates a average programmer from a good or great programmer. In a rapid development environment, it’s critical that everyone understands

  • What problem you are trying to solve
  • Do you understand the customer use case
  • What are the proposed solutions
  • What are the pros and cons of the proposed solutions, essentially what’s the thought process behind these solutions
  • Which proposed solution you chose and why
  • What are the caveats with the chosen solution
  • If there are any caveats, are there workarounds
  • What is the workflow of the solution, e.g., how is the customer going to use the solution?
  • Have you tested the workflow on others and convinced them that’s a viable solution
  • Can you prototype it and show it to others for feedback

A good or great programmer would have gone through this process and covered every angle to ensure a successful solution. As you can see, most steps in this process is about communicating to others what your proposed solution is. Communication should happen way before any code is written (unless you are prototyping.)

If I were to hire programmers, regardless of how good the programmer’s coding skill is, if he cannot communicate effectively with the team, then he’s not a good fit for the team.

This article on Engineer Interview Triage? also emphasizes the importance of communication.

7) Be able to do mock ups and prototypes.

This again has to do with communicating your solutions to others. One of the best way I’ve found/seen to communicate your ideas, however brilliant, is to show people what it looks like and how it works. Prototypes are just that, examples and models of the real thing. It doesn’t have to be perfect or covered all cases. But it should be able to demostrate

  • The solution. Does this idea really solve the customer issue?
  • The workflow. How the customer (customer in this case maybe your fellow team members) will use it from start to finish?

The prototype should convey enough of your solution to get people talking and discussing.

Anyways, these are my thoughts. Love to hear what your thoughts are…

I am alive

Friday, September 1st, 2006

Hey all, I am back and I am alive.

Well, back is probably not the right word since I’ve never left. But I have been really busy with a new born for the past several months.

Between anZel and work, I have just not had any time to write or even read.

But now I am back. Things are getting better at home as anZel’s slowly easing into life outside of his comfortable womb.

I am looking forward to writing more and sharing in this little space.

LogLogic Open Sources Project Lasso

Monday, May 1st, 2006

[Ok, full disclosure, I work for LogLogic, so feel free to junk this if you consider all vendor speak spam :) ]

A quick bit of news, LogLogic today open sourced (GPL) Project Lasso, a centralized Windows event collector. The original code base came from SNARE but now due to the different nature of the collection mechanism, there’s about 20-25% of the SNARE code left in it. Most of the common code are around message expansion. In fact, the Lasso messages will appear to the users exactly the same as SNARE. So if you already have a parser that can parse SNARE messages, you can parse Lasso messages as well.

Lasso is a LogLogic-sponsored and community-supported collector that can
- perform multi-threaded remote event collection of multiple Windows machines
- reliable transportation using TCP syslog (syslog-NG compatible)
- data buffering when network connection is down
- support for custom application event logs

We are trying to get this on sourceforge, but those guys are a bit slow in setting up new projects. So for now, you can download the binary and source from http://loglogic.com/logforge/.

I would love to hear your thoughts and comments. Don’t feel obligated to love it, you can bash it as well if we did something stupid. We are always looking to make it better.

revelation

Saturday, April 15th, 2006

I just had a revelation, I don’t know how to use Windows anymore.

I was trying to shutdown my wife’s Windows PC today and I didn’t know where the shutdown button is!

Security Log Management

Monday, February 13th, 2006

Just picked up this book.

Security Log Management.

Will let you know how it reads.

DEMO 2006: Podtech interview

Saturday, February 11th, 2006

Another bit of voice from DEMO 2006…An interview by Podtech…

DEMO 2006: LogLogic Demo Audio

Wednesday, February 8th, 2006

Here’s a MP3 of the LogLogic demo at DEMO 2006, courtesy of TJ’s Weblog. (I trimmed the MP3 to contain just the LogLogic portion, hope that’s ok with TJ. :) )

Demo 2006: riya

Tuesday, February 7th, 2006

Now I think this is one of the kewlest companies I saw today.

It uses facial recognition to automatically tag photos that you have. Once you train riya, it goes through all your photos to auto-tag all other photos that have the same face that you used for training.

It also recognize text inside the photo as well.

Definitely wins my 2nd kewl demo award (after LogLogic of course).

Demo 2006: Cnet coverage, etc

Tuesday, February 7th, 2006

Andy and I are roaming around demo..check out our picture. Cnet also has up to the min coverage.

Check out vivid sky, really kewl concept…sorry…too much to type on the lil treo keyboard..

Demo 2006 continues (tue)

Tuesday, February 7th, 2006

Ok so we have seen several demos today in the show, blurb, moobella, mp3cars, accomplice..etc..etc.

The only consistent theme I got so far is that none of these companies have really figured out how to make $$ yet. They are all here to debut their betas and seek funding.

Though I do see some interesting potentials…i can see blurb be quite useful (i recently got hooked on creating photo books using iphoto)…

freepath from grass roots software is quite a powerful presentation tool..it integrates many diff multimedia formats into a single presentation…tho it will be difficult to get ppl to switch from ppt. The force of inertia is hard to beat..$249 a pop

Stay tuned…

Demo 2006 continues

Monday, February 6th, 2006

Blogging from the treo for the first time, using wordpress’ blog-by-email feature. It’s quite a nifty setup.

It’s been a busy day here at demo 2006. Lots of rehersal and testing of the setup for tomorrow’s full day event.

Met some interesting companies today. Many are taking advantage of the web 2.0 hype to launch some nifty products and services. Note I said nifty as some of these guys haven’t figured out how to make money from their nifty ideas yet.

Met an interesting company, network streaming, from MS. They’ve developed a pretty kewl remote support solution that’s appliance based and costs only around $3k.

Lots of VCs, journalists, bloggers and podcasters here as well. Podtech.net has partnered with the show, so check them out when you get a chance.

stayed tuned…LogLogic is demoing around 4pm tomorrow. If you are around, defly come by and check us out!