3/18/2008

Kill your bordom

This summary is not available. Please click here to view the post.

3/12/2008

What you need to do during recession if you are an entrepreneur!

During the recession, lots of startups and entrepreneurs go through the tough times. Most of the things they'll see is negative things. However, there are positive things that you can count on when the recession hits! If you carefully consider these items, there will be hope and light at the end of the road: Four Mistakes Entrepreneurs Make in a Recession

1. Failing to take advantage of decreasing costs. Most businesses are both suppliers and customers at the same time. To provide its product or service, your business needs to purchase the inputs and materials that you use, and you need to hire people to make your product or service. When demand slackens, your suppliers are hurting too. So often you can strike a better deal to cut your costs by paying your suppliers less or hiring better people at a lower cost.

2. Thinking the only way to increase demand is to cut price. Price cuts aren’t the only way to stimulate demand, and they aren’t the best approach for entrepreneurs. On average, entrepreneurs are more successful when they compete on service, quality, or something other than price. So shifting to price cutting in a recession is often a losing strategy for entrepreneurs.

3. Failing to recognize increased competition. In a recession, competition accelerates because more businesses are chasing less total demand. In addition, when unemployment rises, people start businesses because their opportunity cost of doing so goes down, further increasing competition. So the need to have a competitive advantage is even more important in a recession than in a booming economy.

4. Forgetting that some products, or even whole businesses, are counter cyclical. When customers cut back on their spending, they often substitute one product for another. For instance, in a recession, people might cut back the number of steak dinners that they eat out. But, because they still want to treat themselves, they increase their purchase of cheaper foods, like pasta, making pasta a counter cyclical product. So, entrepreneurs need to avoid assuming that demand for everything goes down in a recession.

Startup with your day job

Most people are interested in having their own startup company. However, most people cannot afford to drop their current day job and take a huge risk by starting their own startup company. That provides great impact to family finances and clouded future outlook.

For those of who like to startup a company but to keep their day job, here's a great article: Half-Assed Startup: How do I start my company and keep my day job?

# You need a co-founder and some cheerleaders. If you can’t find two or three friends who are really excited to be beta testers for your product, ponder changing your direction. In a part-time effort, a co-founder is essential to keeping you on-track and working. At some point, you’ll hit a motivation wall… but if you have a partner who is depending on you, you will find a way past that. If you don’t have a partner, you’ll often lose interest and find something else to entertain you.
# Pick a day or two per week where you always work, ideally in the same room as your co-founders. Always, no exceptions. We worked one weekday evening and one weekend day. That doesn’t mean we weren’t working other days, but keeping a fixed schedule helps you through the phases of the project that might not be so fun.
# Have a boat-burning target. What will it take for everyone to dive in full-time? 5,000 active users? 10,000 uniques a week? Funding? The target should be a shared understanding. You don’t want one founder who is ready to go full-time while the other has reservations. This is easy to gloss over, but you should really nail it down. I’ve lost two co-founders who weren’t ready to dive in full time when I was. It wasn’t fair to them and it wasn’t fair to me.
# Pick an idea that is tractable. Every startup is a hypothesis. If your hypothesis is, “we can build a better web-based chat client”, that’s something you could test quickly. If your hypothesis is “we can build a car that runs on lemonade”, that’s just not going to work as a part-time effort. The scarcity of available time should force you to distill the idea to the absolute minimum that is necessary to test the hypothesis. No extraneous features!
# Understand that your first version is probably going to suck. Read David Rusenko’s article, The importance of launching early and staying alive—David is a founder of Weebly (Y Combinator). It’s a long road. My second startup was a ridiculous fluke—it was acquired after 2 months. 99% of overnight successes were slogging in the muck for 5 years before the night in question. Be prepared for a long journey and be surprised if your startup is an immediate hit. So with your first version, look for the tiny little flicker than you might be onto something. And use it to motivate you to make it better. Every week, make it better than last week and see if that flicker of light can be fanned into a tiny flame.
# If you’re going to screw off at work (everyone does), spend it getting smarter about the stuff you don’t know. If you’re a coder, read a few design or usability blogs. Read up on what motivates angel investors. Research competitors and write down what they do well. Get brilliant at SEO (it’s not hard). Write a lot more (blogging helps). Think about virality and research the heck out of it. That said, be aware of the fuzzy line between using your cool-down time at work for your startup and stealing time or resources from your employer. If you’re paid to do a job, you need to do it.
# Be sure you own your startup. I’ve had the fortune of working in companies where there was very clear ownership of “after hours” work. If ownership of your personal intellectual property is not clear, do not rely on the good will of your employer. Greed can do funny things to people, even if they were initially big supporters of your startup. (Thanks to Ivan from TipJoy for this final suggestion.)

3/10/2008

Maverick's rules for startups

The blogmaverick have posted A Couple of My Rules for Startups. While I was reading through the rules, I noticed that some does conflict with other "rule of thumb" that I read from other publishers. In general, there is no one rule which is best for every given cases. As stated, they should be taken as a guidelines, not an absolute rule. It should be followed case by case bases to meet the needs and requirements that you need. None the less, most are useful and something for you to consider.

1. Don't start a company unless its an obsession and something you love.

2. If you have an exit strategy, its not an obsession.

3. Hire people who you think will love working there.

4. Sales Cures All. Know how your company will make money and how you will actually make sales.

5. Know your core competencies and focus on being great at them. Pay up for people in your core competencies. Get the best. Outside the core competencies, hire people that fit your culture but are cheap

6. An expresso machine ? Are you kidding me ? Shoot yourself before you spend money on an expresso machine. Coffee is for closers. Sodas are free. Lunch is a chance to get out of the office and talk. There are 24 hours in a day, and if people like their jobs, they will find ways to use as much of it as possible to do their jobs.

7. No offices. Open offices keeps everyone in tune with what is going on and keeps the energy up. If an employee is about privacy, show them how to use the lock on the john. There is nothing private in a start up. This is also a good way to keep from hiring execs who can not operate successfully in a startup. My biggest fear was always hiring someone who wanted to build an empire. If the person demands to fly first class or to bring over their secretary, run away. If an exec wont go on salescalls, run away. They are empire builders and will pollute your company.

8. As far as technology, go with what you know. That is always the cheapest way. If you know Apple, use it. If you know Vista... ask yourself why, then use it. Its a startup, there are just a few employees. Let people use what they know.

9. Keep the organization flat. If you have managers reporting to managers in a startup, you will fail. Once you get beyond startup, if you have managers reporting to managers, you will create politics.

10. NEVER EVER EVER buy swag. A sure sign of failure for a startup is when someone sends me logo polo shirts. If your people are at shows and in public, its ok to buy for your own folks, but if you really think someone is going to wear your Yobaby.com polo you sent them in public, you are mistaken and have no idea how to spend your money

11. NEVER EVER EVER hire a PR firm. A PR firm will call or email people in the publications, shows and websites you already watch, listen to and read. Those people publish their emails. Whenever you consume any information related to your field, get the email of the person publishing it and send them an email introducing yourself and the company. Their job is to find new stuff. They will welcome hearing from the founder instead of some PR flack. Once you establish communications with that person, make yourself available to answer their questions about the industry and be a source for them. If you are smart, they will use you.

12. Make the job fun for employees. Keep a pulse on the stress levels and accomplishments of your people and reward them. My first company, MicroSolutions, when we had a record sales month, or someone did something special, I would walk around handing out 100 dollar bills to salespeople. At Broadcast.com and MicroSolutions, we had a company shot. Kamikaze. We would take people to a bar every now and then and buy one or 10 for everyone. At MicroSolutions, more often than not we had vendors cover the tab. Vendors always love a good party :0

3/08/2008

Do you want to become a leader? Read this!

Just found a great inspiration and guidance if you are or want to become a good leader. Source: 5 Traits You Will Need on Your Way to Becoming a Leader

A leader has the vision and conviction that a dream can be achieved. He inspires the power and energy to get it done.” -Ralph Lauren

A leader is seen as someone with a can-do attitude, the person whose glass is always half full. Hurdles in the road are not obstacles that prevent him from achieving his goal. Rather, they are challenges to be faced, to be overcome, and to be learned from. A leader believes that failures present the opportunity for self-improvement, and that performance on the next go-round will only be enhanced through the lessons previously learned.

A leader does not point to a location, tell his followers to go there, then tell them how to accomplish a goal. Rather, the leader is at the front of the pack, forging ahead of the rest and blazing a trail. The leader demonstrates to everyone else how things should be done, and works harder at accomplishing his goals than anyone else.

Whether you are striving to be a leader in your career, or simply want to be a leader in your own private life, there are many lessons and characteristics that will serve you well in either of these endeavors.

Consider these traits and then give thought to your own style. Are you a leader? Can you become one?

1. A Leader Must Have a Vision: This could be your grandest goal, or an overall sense of accomplishment. Either way, the leader must be able to visualize where he wants to be, where he wants his company to be, or where he wants his family to be. Everything begins with a worthy vision that provides a goal to work towards.

2. A Leader Must be Able to Develop Relationships: Great interpersonal skills are necessary for any leader to possess. The hermit will not achieve greatness, no matter how adept, because the world will not notice him. The leader builds quality relationships based upon trust, respect, cooperation, and teamwork. The leader does not ask what others can do for him, but rather what he can be doing to help others. A leader inspires others to join him in his quest for success.

3. A Leader Must be Able to Strategize: Successful leaders not only have a great vision, but they are able to develop a plan to reach their goal successfully. The leader knows what accomplishments need to be made, what obstacles must be overcome, and what resources will be needed in order to realize his vision.

4. A Leader Must be Able to Resolve Conflict: A good leader will examine conflict from all angles and be able to determine its root cause. In addition to realizing the feelings and perspectives of others, the leader will also recognize and acknowledge his own role in the conflict. He will then work collaboratively with other involved parties in order to successfully resolve the conflict issue while keeping important relationships intact.

5. A Leader Must be a Good Problem Solver: No matter how well thought out, the road to realizing a vision will be full of potholes. Thorough planning can help smooth out the road, but there will be some ruts in the road that threaten to rip the wheels off of the car. A good leader will recognize this ahead of time and plan accordingly, offering a backup plan when the original one goes awry. A leader is able to think on his feet, gather all available information, decipher the facts, and use some good common sense to come up with a workable solution.

In life, leaders are not necessarily the highest ranking person, or the one who holds the most impressive job title, or the one who claims to be the keeper of the home. A leader is someone whose actions have placed them in a position of trust and authority among their peers. A leader is someone whose advice is sought frequently, but never forcefully pushed onto others. A leader is someone whose spirit and desire for excellence eclipses that of everyone else around him. A leader sees the value in others, and inspires each person to perform their best, many times allowing them to exceed even their own expectations. A leader is also able to teach, to convey both physical skills and moral characteristics to those around him, and inspires those people to mimic him in his behaviors and attitudes.

Anyone can be a leader – after all, it is all in the manner and attitude with which one chooses to carry himself.

3/07/2008

Startup tips for software engineers

I found a great article in ReadWriteWeb about 36 Startup Tips: From Software Engineering to PR and More! and I wanted share it with all of you. This does not go into much details but it at least brushes on importance of each items and why you need them.

8 Software Engineering Tips for Startups

Since software is at the heart of every modern startup it needs to be elegant, simple and agile. Instead of having an army of coders it pays to have a handful of smart, passionate engineers who love what they are doing instead. A small, passionate team can generally accomplish more than an army. Even as the company grows you can still accomplish a lot with a small team.

Tip 0: You must have code

Working code proves that a system is possible, and it also proves that the team can build the system. Having working code is a launchpad for your business. After it is ready, the business can happen. In the old days, tech companies were funded based on an idea written on a piece of paper, but those days are long gone. Today, a startup needs to have not only working code, but an assembled system and active users in order to land venture capital money. Software engineering transitioned from the post-funding exercise to the means to being funded.

Tip 1: You must have a technical co-founder

Any startup starts with an idea and just a few people. A lot of startup co-founders these days are techies, passionate about technology and life. It was not always like that. Just a few years back a purely technical founding team would have had a hard time raising money because there was a school of thought that only people with MBA degrees could run a company. Now, having a technical co-founder is a benefit.

Tip 2: Hire A+ engineers who love coding

Until recently, building a large scale system that worked was like black magic. Most software projects languished for years, and had large engineering teams who had little consensus on what needed to be done and how to accomplish it. The resulting systems were buggy, unstable, and hard to maintain and extend. The problem was that there were just too many people who were not that good working on writing software. Startups cannot afford to have less than A+ engineers.

Tip 3: Keep the engineering team small and do not outsource

A team of 2-3 rockstar engineers can build pretty much any system because they are good at what they do, love building software, focus on the goal, and don't get in each other's way. A team of 20 so-so engineers will not get very far. The mythical man-month book debunked the notion of scaling by adding more programmers to the project. The truth is that most successful software today is built by just a handful of good engineers. Less is more applies equally to code and to the number of people working on it.

Tip 4: Ask tough questions during the interview

There is nothing worse than being soft during an interview with a prospective employee and hiring the wrong person into the company as a result. This is bad for you, but more importantly bad for the person. In the end you will end up parting ways, but it would be best to just not make this mistake to begin with. So be tough and ask a lot of technical questions during the interview.

Tip 5: Avoid hiring non-technical managers

You do not need these type of people on a small team. If everyone is sharp, knows what they are doing and executes on a task, why do you need a manager? People who try to overlay complex processes on top your objectives are going to slow you down and make you frustrated.

Tip 6: Cultivate an agile culture

Modern startups need to move very quickly. There is no room to plan for 6 months and then execute because someone else will get there first. The new approach is to evolve the system. Of course you are doing planning for the next release, but you are iterating quickly, doing frequent builds, and constantly making changes. Coding becomes sculpting.

Tip 7: Do not re-invent the wheel

A lot of startups go overboard with their infrastructure. This includes two types of things - rebuilding libraries and building your own world-class scaling. On the first point - there are so many fantastic open source libraries out there that it just does not make sense to write them in house. Whether you are using JavaScript or PHP or .NET or Python or Ruby, there are likely already libraries out there that can help you. Re-writing existing libraries is a waste of your time and you are not likely to do it better.

5 Infrastructure Tips for Startups

It is much easier to build web-scale startup these days because of great hosting services like Rackspace, web services from Amazon, and tracking systems like Google Analytics. In this post we take a closer look at these solutions from the perspective of a startup.

Tip 1: Use the best hosting provider you can afford

As a startup, you are always looking for ways to keep costs down. One of the first areas that seems to be a good place to trim costs and save money is on web hosting. However, skimping on hosting is a mistake that will cost you a lot of time, which is more valuable than the money you will spend. It is okay to go with a cheaper provider when you are just developing the code, but your production needs to run on a rock solid system.

Tip 2: Use Amazon Web Services

You are still likely to need a regular hosting provider, but you should be aware of an increasingly important alternative - Amazon Web Services. This offering from the e-commerce giant is a must-consider piece of infrastructure for any startup. Specifically, four services make it easier to build large-scale web applications: Simple Storage Service, Elastic Compute Cloud, Simple DB, and Simple Queue Service.

Tip 3: Use Google Analytics in standard and creative ways

Early on, startups need to track things. Tracking results are useful for metrics, which in turn help measure growth and success of the company. Without tracking, it is difficult to determine what is going on. Google Analytics is packed with features, but more importantly it has an API. The reason this is important is because you can actually build your own dashboard that offers a different, customized view of the same information.

Tip 4: Start with defaults, then tune the system

In 99.9% of cases you are better off starting with defaults, and in 99.9% of cases you are not going to end up where you started. The trick is to go from those defaults to custom settings in the proper way. Probably the worst thing you can do is premature tuning. Like premature optimization of source code, this leads to ugliness. Why guess before you even know what is going to happen to the system?

Tip 5: Hire or contract a good system administrator

This is the simplest tip of all. Like programming, business development and accounting system management is a specialty best left to professionals. I know my way around Unix, I even used to be a system administrator 15 years ago, but I am not up to par. When you reach a certain size and scale, you need a dedicated person running the hardware and OS show.

11 PR Tips for Startups

PR is a tough game. When the market is red hot, it's hard to get noticed because there are a lot of companies competing for air time. When the market is cool it is hard to get people to pay any attention because they are not interested (tired after the hot market). And for startups it's even tougher to have effective PR because a startup can't throw a lot of money at the problem. In this post we look at how startups should approach PR.

Tip 1: Hire a PR firm

This may come as a surprise, but you do need a PR firm. An early stage startup can't always afford one, but that does not mean that it is not necessary. The number one reason you need a PR firm is because of their connections. They know people, because this is what they do - network.

Tip 2: Do not expect PR people to intimately learn your product

This is not their role. They are connectors, they are the bridge between you and the media. They are responsible for putting you in front of the right press. This is their job. It is your job to pitch your product, to explain why it is so awesome and why everyone should be using it.

Tip 3: Get PR people who understand your space

PR companies have specialties, not all of them are right for you. For example, if you are in the consumer Internet space, do not hire a PR firm that specializes in mobile technologies - they're not the same thing. If you are a consumer Internet company, you need a firm that knows blogosphere inside out, because this is how you reach your early adopter crowd.

Tip 4: Launch your product at a conference

The reason for this is that you are likely to get a lot more media coverage and instant attention than if you launch just any old time. But the conference needs to fit. For launches, you can do one of two things: launch at a specialized conference such as DEMO (which we recommend) or you can launch in a non-startup conference which has a launchpad feature. For example, Web 2.0 events typically present 10-15 startups, as do conferences like Supernova. It does not make sense to launch at a conference that does not have any startup participation because it won't be the proper context for your launch.

Tip 5: Create demos, videos, pictures, and slides

A newsflash: press releases are dead. We have found them to be completely ineffective. To the point of zero leads. Zero. Instead, you need to prepare a new kind of media. Remember that people are spoiled these days, so they will have high expectations. If you think you can show up and tell them that you got the best new technology, hand wave, and then expect a write up, you are dreaming. You need to prepare. You need to distill your product and the message into something easily digestible, and you need to be very clear.

Tip 6: Do not launch or release big news on Monday or Friday

This may or may not be obvious but there are only 3 days when things get done: Tuesday, Wednesday, and Thursday. These are the best days to launch your product, in that order. Monday could work, but in the afternoon, because in the morning people still can't believe that the weekend is over. Fridays are really bad for PR - everyone is just waiting for the weekend.

Tip 7: Emailing after an introduction is more effective

One thing you have to understand about A-list bloggers like Michael Arrington, Richard MacManus, Om Malik and their colleagues is that they are getting thousands of emails each day from startups. It is physically impossible for them to process and respond to all that email. You may find that unfair, but this is just a simple fact. So once again, this is where a PR firm or at least a friendly connection via LinkedIn will come in handy. If you are introduced, the chances are far better that you will be heard. (No guarantees that you will be written up.)

Tip 8: Set an embargo and stick with it

This is something that we had to learn over and over again. Everyone wants an exclusive. Each blog that does news, wants to be first with the news. This is just the name of the game. If you do give an exclusive to one, you are running a big danger of not getting coverage in others. The way around this issue is to setup an embargo (meaning they can't blog about your launch until certain time) and then brief everyone prior to that and give them time to write about you.

Tip 9: Make sure people do not write without a brief from someone in your company

There has been a trend lately of writing based on a press release. While this does get you coverage, it is likely to do more bad than good. It is not just that you want to be heard, you want to be heard correctly. The key to that is to get a chance to tell your story directly to a reporter. A post based on a press release is likely to be wrong and harmful, while a post based on a one-on-one interaction is more likely to get it right.

Tip 10: Understand that major media coverage will not happen overnight

Chasing an article in a major magazine or newspaper like Wired or MIT Technology Review or the New York Times is not worth it. Their reporters will not write a feature until it becomes crystal clear that you are a huge success and are worthy of a feature. Instead of spending efforts on that, you are better off making the product really great and getting people to use it and evangelize it for you. The mainstream media will find you.

Tip 11: Community is the best PR strategy

It is very difficult to achieve continuous PR unless you do it via your own users. A thousand passionate users who have blogs and social network profiles can promote your product and expose you to more people than coverage on top blogs and magazines. For better or worse, news today is cheap. A post stays on the main page of a blog or newspaper site for a few hours and then scrolls out into a black hole. Google occasionally brings an old post to those who seek it, but realistically, news just flies by and no one wants yesterday's news.

7 Conference Tips for Startups

We have been to quite a few conferences already and more than a few people have asked me which conferences are good. The problem is not that some conferences are bad, it's just that some conferences may not be the right venue for your startup. In this post we are going to share with you our experiences in the tech conference world.

Tip 1: Launch at DEMO

DEMO is a great venue because its sole focus is to launch companies. Despite the fact that you will be one of over sixty participants, you will be given the stage and attention. The show is very intense, as it takes place in only two days. Each company is given exactly 6 minutes. The stage presentations are mixed with pavilion presentations which are a few hours long.

Tip 2: Sponsor/attend a few high impact conferences

ETech, SWSX and Defrag are our top picks so far. Make sure there is a fit between the conference and your product. Check out who else is sponsoring, and get feedback and blog posts from last year's attendees before signing up.

Tip 3: Rent the best equipment you can afford

Whatever it takes to make your product look good. It simply does not make sense to spend money on the sponsorship and try to save on the equipment. Save on the hotel and airfare instead.

Tip 4: Save money by staying in a hotel near by

You can stay anywhere reasonably close. The only thing you'd be missing is hanging with the people at the bar in the evening. Then again, that could be useful because drunk people talk more.

Tip 5: Don't grab people to look at your product

Some people do it, I am against it. How would you feel if you were grabbed and pressured into watching a demo?

Tip 6: Don't tolerate upsells

This is a sensitive topic, but it is a very important one. Unfortunately a lot of people at these events are not there to see you, they are there to use you. Consider people who are looking for a job. It is perfectly reasonable for someone to come over and hand you a resume. It is not reasonable for them to take up a lot of your time or to ask a lot about your company. Get their information quickly and tell them you will be in touch.

Tip 7: Organize PR around the conference

Conferences are a great and maybe rare chance to interact with reporters and bloggers face-to-face. However, it is not a straightforward practice. Reporters are humans and as such, they play games. If you approach them head on they will say no for no particular reason. Somehow you need to make them feel special, which is not easy. It is a good idea to get a press list and contact reporters in advance and arrange appointments. You may get a no over the phone, but they might just come by your booth anyway when they have a free minute. If this sounds like dating, it very much feels that way too.

5 Legal and Finance Tips for Startups

You are unlikely to think about lawyers and accountants when you dream up a piece of software that will change the world. Yet, if you want to build a real company you need to take care of the basics. While not the primary focus of your business, administrative functions are very important because they have impact on your daily life and the long term growth of your business. The main trick is to be aware of what needs to be done and do it quickly and effectively.

Tip 1: Setup a real company

The first step to setting up a business is to declare it to the world. Lots of startups in the garage might think that setting up a company does not make sense until you get the business off the ground. The idea of first writing the code and then incorporating is just plain wrong. First you need to figure out what kind of company are you creating and what is the ownership structure. Setting up a company is cheap and quick and it is an important starting point for your business. What you get in return is: legal protection, alignment of everyone's expectations, and basic knowledge about how companies work.

Tip 2: Get a Delaware LLC or Inc.

Likely the best way for you to setup a company is to create a Delaware Limited Liability Corporation (LLC) or a full C-Corporation (Inc). Delaware has traditionally been an attractive place for companies to set up shop because of its tax laws. The important difference between an LLC and an Inc is in how they treat taxes and the number of shareholders. The LLC is generally much simpler to maintain and it allows pass through taxes, which is good for companies that have income in the early days. Revenue can be treated as income to shareholders and only taxed once. In an Inc the tax is paid twice, first by the corporation and then again by the employees, as part of their regular withholding.

Tip 3: Don't save money on a lawyer

A lawyer? Are you kidding me?! Why would we need a lawyer for our brand new startup in a garage? As it turns out, there are a whole bunch of reasons and there is not much wiggle room here. Because a company is a legal entity having a lawyer is essential. For starters here is the list of things and documents that your lawyer should do for you in the first days and months of your business:

* Incorporate your business
* Create articles of incorporation
* Create corporate bylaws and maintain board minutes
* Create a shareholder agreement
* Create employment agreements
* Create a stock options plan

Tip 4: Get an accountant and, more importantly, a bookkeeper

Just like the legal aspects of a startup cannot be ignored, neither can the financial aspects. And unlike the legal stuff, which is mostly a one time deal, finances are ongoing and require continuous attention. To deal with finances you need two kinds of people: accountants and bookkeepers. The accountants are skilled in complexities and intricacies of tax law. They also conducts audits or reviews of the company, typically once a year. Accountants typically do not keep books because they are expensive (kind of like lawyers, maybe a bit cheaper). Instead the books are kept by bookkeepers and so to find a kick ass bookkeeper is another really important thing you need to do when you start a company. You can go either with an individual or with a service. I always prefer an individual became there is an opportunity to develop a relationship and get more personalized service.

Tip 5: Turn boring into learning

You have to take care of legal and financial aspects of the startup, so why not turn it into a learning experience? The legal and financial aspects of your company are important and interesting, and there are a lot of new things and ideas that you will encounter that are likely to impress you. Learning about them will help you in the long run.

2/21/2008

Password recovery from browser with one liner!

Wow, I just found a one line javascript that you can apply on your address bar to recover your saved password with asterisks! Just go to the web-page and make sure that your id/password(with asterisks) are showing, copy/paste the following line onto your browser address and hit enter! Tada! You got your password back!

Source: raymond.cc

2/20/2008

ACE Awards Finalists from EE Times!

Now these are the companies that you probably want to look into for your next career move! There are some big names and some unknown small companies but all made it to the list!

The 2008 ACE Awards finalists



The 2008 ACE Awards finalists are:

Company of the Year -- Small/Medium (Under $750 million in sales) award
celebrates the company that exhibits the highest degree of professionalism,
staff development and retention, customer focus, technical excellence and
profitable growth -- a true leader in the electronics sector.


-- Green Hills Software
-- Moschip Semiconductor
-- National Instruments
-- Silicon Laboratories, Inc.
-- Wind River Systems

Company of the Year -- Large (Over $750 million in sales) award
celebrates the company that exhibits the highest degree of professionalism,
staff development and retention, customer focus, technical excellence and
profitable growth -- a true leader in the electronics sector.


-- Altera Corporation
-- Arrow Electronics, Inc.
-- Microchip Technology
-- Research In Motion
-- WIPRO

Design Team of the Year award goes to a group of innovators whose
system or IC-level design made a significant contribution to the
furtherance of technology and whose project management abilities were
creative, efficient and inspiring.


-- 3dLABS Semiconductor -- DMS-02 processor
-- IBM -- Embedded DRAM (eDRAM)
-- NXP Semiconductor -- PNX5100
-- PA Semi -- PWRficient dual-core processor (PA6T-1682M)
-- Research In Motion -- BlackBerry Curve

Executive of the Year award goes to an individual who brought
leadership, technological and fiscal vision to a company, organization or
company division during a calendar year.


-- Bluetooth Special Interest Group -- Michael Foley, Executive Director
-- Cadence Design Systems, Inc. -- Mike Fister, President & CEO
-- Energy Curtailment Specialists, Inc. -- Glen Smith, President & CEO
-- Research In Motion -- Mike Lazaridis, President & Co-CEO
-- Sun Microsystems -- Gregory Papadopoulos, CTO, EVP R&D

Innovator of the Year award goes to an individual who has brought
leadership, creativity and out-of-the-box thinking to technology, a product
or business.


-- ARC International -- Carl Schlachte, President & CEO
-- IBM Research -- Dan Edelstein and Satya Nitta
-- Philips Medical Systems -- Binwei Weng, Software Development Engineer
-- Tilera -- Anant Agarwal, CTO
-- Tropos Networks -- Cyrus Behroozi, Chief Scientist

Most Promising New Technology award goes to a compelling electronic
component or enabling technology, such as software, that is outstanding in
its technical design, potential for market impact and demonstrates
leadership in its area.


-- Element CXI -- Elemental Computing Array - ECA
-- IBM -- Nanotechnology
-- SkyCross Inc -- iMAT, Isolated Mode Antenna Technology
-- Tilera -- TILE64
-- XID Technologies -- Face Synthesis

Start-up of the Year award goes to a venture capital (or pre-IPO
financed) start-up (under three years in business) electronics
manufacturing (device or system) company that demonstrates excellence in
business development and/or technology development processes with the
potential to become a technical or market leader in the global electronics
industry.


-- Blade Networks Technology
-- Kovio, Inc.
-- Stream Processors, Inc.
-- Tilera
-- XMOS Semiconductor

Ultimate Products of the Year awarded to the most significant product
introduced in the last 12 months in each of seven categories, as determined
by large-scale peer review. Finalists in each category were chosen by
qualified readers of EE Times and eeProductCenter.com on a quarterly basis
via electronic balloting, from a list of nominees submitted to readers by
expert editors with accompanying editorial reviews. The top two ranking
products from each category over the past four quarters automatically
qualify as finalists. Electronic ballots will be sent to frequent
responders to select the winner in each category from the field of
finalists.



Analog
-- Texas Instruments -- ADS5463
-- Cirrus Logic -- CS4525
-- Analog Devices -- ADA4937-1 and ADA4938-1 differential drivers
-- Maxim -- MAX5092 LDO regulator
-- Supertex -- HV758IC
-- Vishay -- SiP12510, SiP12511 White LED Drivers
-- OKI Electric Industry -- ML86V7665 Video Decoder LSI
-- 4-channel -- ADS1274, 8-channel -- ADS1278, Texas Instruments -- ADSx


IP&E
-- DDP -- SL3 Series Stack Lamp
-- OSRAM -- Platinum DRAGON LED
-- Planar Systems -- 1080p Hi-Def LCD Thin Displays
-- Planet82 -- Color SMPD
-- Omron Electronic Components -- EE-SX1 photomicrosensors
-- Corning Cable Systems -- OptiSnap Connector
-- OSRAM Opto Semiconductors -- OSTAR Headlamp LED
-- Nextreme -- eTEC


Processor/Memory
-- Texas Instruments -- TMS570 MCU
-- Toshiba America Electronic Components -- TC904XX SoC Solutions
-- Adtron Corp -- I25FB and A25FB Flash Disks
-- AMD -- Athlon 64 Processors
-- Freescale Semiconductor -- Multi-core Communications Platform
-- Texas Instruments -- 16 MHz MSP430F47x4 Ultra Low-Power MCU
-- NEC Electronics -- 400-MHz ARM926EJ-S processor
-- Ramtron International -- FM111x 4-bit state savers


Logic Interface & Programmable Logic
-- Applied Micro Circuits Corp -- 3ware 9650SE SATA RAID Controller Family
-- Xilinx -- LX330 - 65-nm FPGA
-- Broadcom -- BCM7118 Cable Set-Top Box Chip
-- Lattice Semiconductor - DDR2 SDRAM IP Core
-- Xilinx -- Virtex-4 FPGA-based Deserializer Reference Design
-- Altera -- EP3C120 Cyclone III FPGA
-- Analog Devices -- ADV7520NK Low-Power HDMI v1.3 Transmitter
-- Altera -- EP3SL150


Power
-- Vicor -- V-I Chip Evaluation and Validation Boards
-- Analog Devices -- ADuC703x
-- FDK Corp -- FPMR05SR75 Senpai Series Converters
-- Endicott Research Group -- Smart Force Family of LED Driver Solutions
-- Texas Instruments -- UCD9240 Integrated Power System Controllers
-- Maxim -- MAX15020 High-Voltage DC-DC Converter
-- Allegro MicroSystems -- A6281 Driver
-- austriamicrosystems -- AS1301 Inductorless DC/DC Boost Converter


RF/Microwave
-- Telegent Systems -- TLG1100
-- Comsol -- RF Module for COMSOL Multiphysics
-- Jennic -- Reference Design for JN5139 Wireless Microcontroller
-- Broadcom -- BCM4325 Wi-Fi/Bluetooth/FM Transceiver
-- Xceive Corp -- XC4000
-- Zarlink -- ZL70101 Transceiver Chip
-- GCT Semiconductor -- GDM7003 RF chip
-- Quellan -- QNx220 RF Noise Canceller


Test/Measurement
-- AEMC Instruments -- Model OX 7104-C Power Kit
-- Pico Technology -- PicoScope 5204
-- Link Instruments -- DSO-8502
-- Agilent Technologies -- N5990A Option 102
-- Agilent Technologies -- N6705A DC Power Analyzer
-- Tektronix -- MSO4000 Mixed Signal Oscilloscopes
-- LeCroy -- WaveExpert 100H
-- Tektronix -- UWB Software for DPO/DSA70000 Oscilloscopes

2/11/2008

duels.com duelsBot FREE skirmisher released!

duelsBot team have just released their FREE version of the duels.com BOT. It does everything that they are claiming except for any options in relation to the challenge. Thus, FREE version does skirmish only. Neither of accept challenges nor place challenges related codes are removed. You can check it out on their site on FREE skirmisher.

If you have any questions, please contact duelsBot team not me!


// ==UserScript==
// @name duelsBot
// @when Pages Match
// @description Automate the duel and skirmish from duels.com
// @include *duels.com*
// ==/UserScript==
/**************************************************************************
* auto_duel script for duels.com 2.0
**************************************************************************
* This is FREE version which stripped off all the challenge related
* options. This only include skimish option. If you want the full version
* which does challenge plus accept chllenges with action, please donate
* at http://duelsbot.selfip.com.
**************************************************************************
* FEATURES
* - Auto Skirmish until Captcha is invoked
* --> Grab all the player list is specified level range
* --> Can auto set the range based on your character level
* - Auto place challanges to all the players in level range
* --> Have option to customize the taunt message as well as choose the action
* - Auto accept challenges when message arrives
* --> Auto detect Action Set Challenges and choose the action you specified
* - Auto detect character which you challenged 3 times or with no rewards
* - Auto detect character which you skirmished 3 times or with no rewards
* - Auto detect character without weapon or none skirmishable
* - Page optmization implemented (remove flash/images for faster page load)
* - Summary of results of reward earning from the session
**************************************************************************
* BUG
* - N/A
**************************************************************************
* Future enhancements
* - bypass captcha...???
* - multi-session separation through tab? Need cookie/cache separation.
**************************************************************************/

/* Modifiable Variables */
var online = 1; // set to '0' to include offline players
var lvldiff = 4; // set this to greater then 0 to use feature
var lvlMin = 25; // set lvldiff=0 and set lvlMin/Max value in-
var lvlMax = 30; // order to use absolute Min/Max level range
var actionsetname = 'haste'; // Your predefined action name for accepting challenges
var acceptchallenge = 1; // Auto accept all challenges
var challengePly = 1; // Auto place challanges to other player
var challengeaction = 'haste'; // Action you would like to apply when placing a challenge
// Any taunting message that you would like to put in the challenge placement
//var challengemsg = '';
var challengemsg = 'This is 1 gold action duel challenge! I don\'t care if you want to use more than 1 action. Feel free.';

/* Do not touch section below */
var debug = 0;
var numofskirmish = 0;
var gold = 0;
var token = 0;
var xp = 0;
var numchallenge = 0;
var numaction = 0;
var chalgiven = 0;
var starttim = new Date();

function auto_duel () {
var counter = 1;
var numchar = 1;

gold = parseInt(find(/Gold: (\d+)/).groups[1]);
token = parseInt(find(/Tokens: (\d+)/).groups[1]);
xp = parseInt(find(/XP: (\d+)/).groups[1]);
output("Starting with "+gold+" gold "+token+" tokens "+xp+" experiences");

var tblp = getPlayerTable();
if (debug) { output("DBG(auto_duel): "+tblp.join(" ")); };

//player list element start from index 4
for (var j=0;j<3;j++){
for (var i=4;i < tblp.length;i++){
if (debug) { output("DBG(auto_duel): "+tblp[i]); };
if (tblp[i].match(/.*arena.*/)) {}
else {
if (find(/You have no messages/).element) { if (debug) {output("No new challenge found");}; }
else if (find(/View duel with (.*)/).html){
output(" ->Duel accepted message received");
click((find(/View duel with (.*)/).html));
wait();
sleep(2);
}
else if (find(/You have leveled up/).html){
output(" ->Level up message received");
click((find(/You have leveled up/).html));
wait();
sleep(2);
}
else if (find(/Message from (.*)/).html){
output(" ->Message received");
click((find(/Message from (.*)/).html));
wait();
sleep(2);
}
else if (find(/Someone bought your (.*)/).html){
output(" ->Someone bought your item");
click((find(/Someone bought your (.*)/).html));
wait();
sleep(2);
};

var cnt = numofskirmish + chalgiven + numchallenge;
output(numchar+" "+cnt+" "+tblp[i]+": checking...");
go("http://www.duels.com"+tblp[i]);
document.getElementById('leftContent').innerHTML = "<p>image removed</p>";
document.getElementById('rightContent').innerHTML = "<p>right content removed</p>";
document.getElementById('commentsContent').innerHTML = "<p>comments content removed</p>";
wait();
sleep(2);

if (find("outstanding").html || find("cannot").html) {
if (!find("skirmish").element) { output(" -Not skirmishable"); }
else if (find("No Rewards")) {
if (find("No Rewards").html) {
if (eval('find("No Rewards").html.match(/.*Skirmish.*/)')) {
output(" -Skirmish No Rewards");
}
else { output(" -Not Skirmishable"); }
}
else {
if (!startSkirmish(tblp[i],counter)) { return 0; };
counter++;
}
}
else {
if (!startSkirmish(tblp[i],counter)) { return 0; };
counter++;
};
}
else if (find("No Rewards")) {
if (eval('find("No Rewards").html')){
if (!find("skirmish").element) { output(" -Not skirmishable"); }
else if (eval('find("No Rewards").html.match(/.*Skirmish.*/)')) {
output(" -Skirmish No Rewards");
}
else {
if (debug) { output("DBG: 6 rewards"); };
if (!startSkirmish(tblp[i],counter)) { return 0; };
counter++;
go("http://www.duels.com"+tblp[i]);
document.getElementById('leftContent').innerHTML = "<p>image removed</p>";
document.getElementById('rightContent').innerHTML = "<p>right content removed</p>";
document.getElementById('commentsContent').innerHTML = "<p>comments content removed</p>";
wait();
sleep(2);
}
};
}
else {
if (!startSkirmish(tblp[i],counter)) { return 0; };
counter++;
go("http://www.duels.com"+tblp[i]);
document.getElementById('leftContent').innerHTML = "<p>image removed</p>";
document.getElementById('rightContent').innerHTML = "<p>right content removed</p>";
document.getElementById('commentsContent').innerHTML = "<p>comments content removed</p>";
wait();
if (find("cancel").html || find("accept").html) {
output(" -Challenge already placed");
}
};
numchar++;
}
}
};
return 1;
}

function numOfPages () {
var pgr = document.getElementById('search_results');
var pg = pgr.getElementsByTagName('a');
var ref = new Array();
var vMax = 0;

for (var i=0;i < pg.length;i++) {
ref.push(pg[i].getAttribute("href"));
}

for (var i=0;i < ref.length;i++){
var v;

if (ref[i].match(/.*arena\/index\/(\d+)\/.*/)){
if (debug) { output("Cur line: "+v); };
v = ref[i].match(/.*arena\/index\/(\d+)\/.*/)[0];
var test = v.search(/\/(\d+)\/0\/level/);
var t = v.substr(test+1,3).replace(/\/0/,'');
t.replace(/\//,'');
if (vMax < parseInt(t)) { vMax = parseInt(t); };
if (debug) { output("Cur pg: "+t+" Max pg: "+vMax); };
};
};
return vMax;
}

function captchaCheck() {
if (document.getElementById('captchaHolder')) {
output("XXX Captcha found... stopping the script...");
return 1;
};
}

function startSkirmish () {
numofskirmish++;
click(find("skirmish").element);
sleep(2);
wait();
if (captchaCheck()) { return 0; };

if (document.getElementById('challenger')) {
document.getElementById('challenger').innerHTML = "<p>challenger removed</p>";
document.getElementById('challengee').innerHTML = "<p>challengee removed</p>";
var k = 1;
while(document.getElementById("detail"+k)) {
document.getElementById("detail"+k).innerHTML = "<p>detail"+k+" removed</p>";
k++;
};
wait();
sleep(2);
if (captchaCheck()) { return 0; };
output(" -Skirmishing");
}
else { output(" -This player is not skirmishable"); };
return 1;
}

function getPlayerTable () {
var fplayerlist = new Array();
var lev = parseInt(getPlayerLevel());
var pagelen = 0;
if (lvldiff > 0) {
lvlMin = lev - lvldiff;
lvlMax = lev + lvldiff;
};
if (lvlMax > 40) { lvlMax = 40; };
output("--- Searching in range from "+lvlMin+" to "+lvlMax);

if (online) {
go("http://www.duels.com/arena/index/1/0/level/asc/1/"+lvlMin+"/"+lvlMax+"/-1/");
}
else {
go("http://www.duels.com/arena/index/1/1/level/asc/1/"+lvlMin+"/"+lvlMax+"/-1/");
};
wait();
sleep(2);

pagelen = numOfPages();
output("=== Character Level: "+lev+" | page_len("+pagelen+")");
for(var page=0;page < pagelen;page++) {
if (online) {
go("http://www.duels.com/arena/index/"+page+"/0/level/asc/1/"+lvlMin+"/"+lvlMax+"/-1/");
}
else {
go("http://www.duels.com/arena/index/"+page+"/1/level/asc/1/"+lvlMin+"/"+lvlMax+"/-1/");
};
wait();
sleep(2);
var table = document.getElementById('playerlist');
if (table != null) {
var player = table.getElementsByTagName('a');
for (var i=0;player != null && i < player.length;i++) {
if (!player[i].getAttribute("href").match(/.*\/arena\/index.*/))
if (debug) { output("Player list: "+player[i].getAttribute("href")); };
fplayerlist.push(player[i].getAttribute("href"));
}
}
}
output("--- "+fplayerlist.length+" number of players found");
return fplayerlist;
}

function getPlayerLevel () {
return find(/^Level (\d+)/).groups[1];
}

function actionSetChk() {
if (!actionsetname) { actionsetname = "randomsettestname"; };
if (!challengeaction) { challengeaction = "randomsettestname"; };
}

function summary() {
output("=================================");
output("==== Summary of this session ====");
output("Total Skirmish done : "+numofskirmish);
output("Total Challenges placed : "+chalgiven);
output("Total Accepted Challenges: "+numchallenge);
output("Total Action Challenges : "+numaction);
var total = numofskirmish + chalgiven + numchallenge;
output("Total Skir/Chal done : "+total);

var curgold = parseInt(find(/Gold: (\d+)/).groups[1]);
var curtoken = parseInt(find(/Tokens: (\d+)/).groups[1]);
var curxp = parseInt(find(/XP: (\d+)/).groups[1]);
var diffgold = curgold - gold;
var difftoken = curtoken - token;
var diffxp = curxp - xp;

output("---------------------------------");
output("Total Gold Earned : "+diffgold);
output("Total Token Earned : "+difftoken);
output("Total Experience Earned : "+diffxp);

var endtim = new Date();
var difftim = endtim - starttim;
diffhour = Math.floor(difftim/(60*60*1000));
diffmin = Math.floor(difftim/(60*1000)-diffhour*60);
diffsec = Math.floor(difftim/1000-diffmin*60-diffhour*60*60);
output("duelsBOT took "+diffhour+"hr "+diffmin+"min "+diffsec+"s to run");

output("=================================");
}

location.href= 'javascript:finishAll();void(0)';
output("=== auto_duel is starting...");
actionSetChk();
go('http://www.duels.com/arena');
auto_duel();
output("=== auto_duel script completed");
summary();

1/17/2008

More update from duelsBot

Wow, now they put up the duelsBot demo to show how it works!

http://duelsbot.selfip.com/demo

1/16/2008

duelsBot on duels.com

It definitely had been a while since my last post, again! I've been busy with work and got addicted to online RPG game called duels.com! If you don't know or never heard of duels.com go take a look! It's fun and very VERY addictive!

As I mentioned, I want to play but don't really have time to level up and doing all the boring work, I found this site where it provide a automated bot called duelsBot which automate everything (well almost)! You simply configure few things, if you want to customize some actions, and run the duelsBot.

It pick-up all the player in the range and skirmish through them and collect Gold/Tokens/Experiences for you. It even accept and place challenge if you want it to. What's better is that it can place challenge with action if you want it to. Additionally, when you accept the challenge, it auto-detects action (if it is action challenge) and apply the actionset before accepting the challenge! More Gold/Token/Experience for you to spend.

What's more is that you can run it in the background and still use the browser to browse the web in different tab(s)! It's a great time saver and let you enjoy everything else! =)

http://duelsbot.selfip.com