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

12/14/2007

Famous Entrepreneurial Quotes

The Cheap Revolution have article Top 20 Entrepreneurial Quotes recently wrote which have inspired me as well. Lots of quotes does provide good guide lines and common senses. However, some are not so intuitive which add more values.

Here's the quote:

1. I have not failed. I've just found 10,000 ways that won't work - Thomas Edison, inventor and scientist
2. The only place where success comes before work is in the dictionary - Vidal Sassoon, entrepreneur
3. Entrepreneurship is living a few years of your life like most people won't, so that you can spend the rest of your life like most people can't - Anonymous
4. A good idea is ten percent implementation and hard work, and luck is 90 percent -€? Guy Kawasaki, entrepreneur, investor, author
5. Every worthwhile accomplishment, big or little, has its stages of drudgery and triumph; a beginning, a struggle and a victory - Mahatma Gandhi, political and spiritual leader
6. Failure defeats losers, failure inspires winners - Robert T. Kiyosaki, author, entrepreneur, investor
7. Entrepreneurs average 3.8 failures before final success. What sets the successful ones apart is their amazing persistence - Lisa M. Amos
8. Once you say you're going to settle for second, that's what happens to you in life - John F. Kennedy, U.S. President
9. In preparing for battle I have always found that plans are useless, but planning is indispensable - Dwight E. Eisenhower, U.S. President
10. The greatest reward in becoming a millionaire is not the amount of money that you earn. It is the kind of person that you have to become to become a millionaire in the first place - Jim Rohn
11. Some people dream of great accomplishments, while others stay awake and do them - Anonymous
12. Experience taught me a few things. One is to listen to your gut, no matter how good something sounds on paper. The second is that you're generally better off sticking with what you know. And the third is that sometimes your best investments are the ones you don't make - Donald Trump, real estate and entertainment mogul
13. The entrepreneur in us sees opportunities everywhere we look, but many people see only problems everywhere they look. The entrepreneur in us is more concerned with discriminating between opportunities than he or she is with failing to see the opportunities -€? Michael Gerber, author, entrepreneur
14. An entrepreneur tends to bite off a little more than he can chew hoping he'll quickly learn how to chew it - Roy Ash, co-founder of Litton Industries
15. The critical ingredient is getting off your butt and doing something. It's as simple as that. A lot of people have ideas, but there are few who decide to do something about them now. Not tomorrow. Not next week. But today. The true entrepreneur is a doer, not a dreamer - Nolan Bushnell, founder of Atari and Chuck E. Cheese's
16. I will tell you how to become rich. Close the doors. Be fearful when others are greedy. Be greedy when others are fearful - Warren Buffet, investor and billionaire
17. I never perfected an invention that I did not think about in terms of the service it might give others... I find out what the world needs, then I proceed to invent - Thomas Edison, inventor and scientist
18. Twenty years from now you will be more disappointed by the things that you didn't do than by the ones you did do. So throw off the bowlines. Sail away from the safe harbor. Catch the trade winds in your sails. Explore. Dream. Discover - Mark Twain, author
19. There is a tide in the affairs of men
Which, taken at the flood, leads on to fortune;
Omitted, all the voyage of their life
Is bound in shallows and in miseries.
On such a full sea are now afloat;
And we must take the current when it serves,
Or lose the ventures before us - William Shakespeare, author
20. Genius is 1% inspiration, and 99% perspiration - Thomas Edison, inventor and scientist

Here are our quotes:

Being an entrepreneur is a lot like playing poker -€? you can fold, limp in, or go for it - Yasmine Mustafa

If you kick it around enough, it starts to look like a ball - Skip Shuda

11/18/2007

Drupal Useful References

For those of you who are thinking of using Drupal to build your sites, here are some useful references that you can use to get things started. Drupal is a great Content Management Tool (CMT). With it's flexibility and great community, there is almost nothing that it can't do.

Drupal Terminology
Drupal Handbooks
Drupal API reference
Drupal usage lessons (With videos and class notes)
Drupal Cookbook (for beginners)

HowTo turn your drupal website to video host site as Youtube

HowTo: Add drop down menus to your site



Technorati Tags: ,

11/11/2007

PHP resources for developers

Nikolas from webdigity forum have posted 10 projects every php developer should use which provides very good list of tools that can save developers hundred of hours of development time. Quoted list is shown below.

Sending Emails

Sending emails is something very common for every web site. Php's mail() function is good for this, but what if you want to attach a file, or send through an SMTP server, etc? Well in that case you should use phpmailer.

User Manipulation

Another common module is the user module. With that you can manipulate users (login, logout, register, etc.) Personally I've never found a project that is good enough, so I created my own Smiley Php user class is a module that can be used even in established projects, as it uses variable data for database tables, fields, session variables, etc.

Fetching RSS Feeds

Ever wanted to fetch an rss feed from your project? Well there is always an easy way to fetch a feed but in most cases you need more than that. When that is the case you should definitely use Magpie RSS.

Geotargeting

There are many times that you need to know where are your visitors coming from. Maxmind gives a solution to this. For a complete tutorial check this article.

Grabbing Remote Content

Some times RSS is not enough so you need to grab the content of a web page and parse it. If you are a huge fun of preg you should not continue reading, but if you are not you definitely need the htmlSQL class. The htmlSQL class allow you to access html values with SQL code. Nice huh? Smiley

Trackback

Sending and receiving trackbacks is vital for a web site in our age. And in fact it is very easy if you are using a class like php trackback.

Template System

Another thing that all sites use is a template. A template engine can save you lots of time, while it can make display changes very easy. A complete template engine that most projects use is Smarty.

BBcode

BBcode used to be a functionality for forums, but as more and more sites use it in order to be more friendly to their users, you might want to use BBcode to your site. The problem is that BBcode requires a lot of coding and I am not sure if you have the time for this. If you don't you'll find StringParser_BBcode class very useful Smiley

Paypal Payment Integration

As you may know paypal has a nice API for developers who want to integrate paypal payments in their sites. The paypal IPN integration class helps you make use of it and start accepting payments in 20 minutes.

Editor Controls

I don't have a problem to make changes to a site using phpMyAdmin or a simple text area, but when it comes to my clients I have to give them more than that. A javascript WYSIWYG editor is a perfect solution but as it requires countless hours to get it done I would suggest you to use the tinyMCE control.


Technorati Tags: , ,

11/06/2007

AJAX solutions for developer who do not have much time at hand.

The Smashing Magazine put togather 80+ AJAX-Solutions For Professional Coding that can save many Many hours of development time! The topic that is being covered are as follows:
AJAX Auto Completer
AJAX Instant Edit
AJAX Menus, Tabs
AJAX Date, Time, Calendars
AJAX Interactive Elements
AJAX Developer’s Suite
Enhanced AJAX Solutions
Ajax Forms
AJAX Grids, Tables
AJAX Lightboxes, Galleries, Showcases
Visual Effects, Animation
Useful Basic JavaScripts
Galleries, Resources



Technorati Tags: , ,

10/26/2007

Web business competition research tools

Now, lots of businesses are getting online and because of ease of starting a web based business, more and more people are gathering their ideas and coming on board to business 2.0. Because of this fact, competition is getting fierce and knowing thyself and your competitor is becoming very important to be able to position yourself in the market and being successful.

Jessica Hupp from virtualhosting put together a great list of online tools that you can do to gather more intel on your competitors in the article Webmaster Intel Basics: 25 Tools to Compile an In-Depth Dossier on a Competitors’ Site. The major quotes on the list are as follows:

Domain Name and Ownership Intel

  1. Whois: Check out the Whois on your competitors to find how who owns the site and where they operate. You can also gather contact information through this tool.
  2. Mark Alert: Mark Alert lets you know if a domain name is registered with a term or phrase that may violate your trademark. This can help you defend your trademark and make sure that competitors don’t get too close.
  3. Company Profile Report: Look up a competitor’s Company Profile Report to get information on sales and contacts. This can be used as a comparison tool.
  4. Domain History: Domain History allows you to see the historic ownership of any site. In the case of private registrations, you can view contact information for the site before it was privatized.

Traffic Intel

  1. Compete: Compete offers SnapShots of any site. They provide visitor information, growth and traffic counts, If you register, you can compare up to 5 sites at once, save them to a portfolio, and vote to rank sites.
  2. Alexa: Alexa’s Traffic Rankings offer stats on the percentage of internet users who visit a site, its traffic rank and page views. You can compare up to 5 sites at a time on Alexa’s Traffic Graph, too.
  3. Search Engine Optimization Analysis Tool: Use the SEO Analysis tool to see how a search engine spider sees any website. This is a great way to discover your competitor’s SEO weaknesses and consider how you can improve on your own.
  4. Statsaholic: Statsaholic’s website statistics offer information on competitors’ ranks, page views and more. You can create a permalink to any site’s stats for quick reference at a later date.

Hosting Intel

  1. Who is Hosting This?: Who is Hosting This? offers a way for you to find out who is hosting any domain name. Whether they’re just using Blogger, a traditional host, or running their own server, you’ll be able to find out.
  2. WebSitePulse: WebSitePulse monitors how fast a website’s host is. Find out response time, size and more.

Marketing Intel and Backlinks

  1. SpyFu: SpyFu’s web scraping tools let you know how much your competitors are spending on pay per click ads so that you have a reference point to work from. You can also find out how many clicks per day they get and which keywords they are advertising for.
  2. URLtrends: URLtrends provides SEO data like Page Rank, incoming links, ranking trends and more.
  3. Backlink Checker: Find out who your competitors are sharing links with and use this information to set up link trades of your own.
  4. Market Leap: Another SEO tool, Market Leap lets you test the ranking of a competitor’s pages. You can enter your own URL and see how it compares with up to 3 competitors’ sites at a time.

Trademarks and Filings Intel

  1. Trademark Electronic Search System: Use the Trademark Electronic Search System (TESS) to perform basic, boolean and advanced searches for trademarks.
  2. SEC Filings and Forms: Check out the Securities and Exchange Commission’s database for company filings.
  3. Patent Electronic Business Center: Search the patent office’s records for full-text and full-page image returns on your competitors’ issued and published patent applications.

Public Relations

  1. Better Business Bureau: Search the Better Business Bureau’s database for reliability reports on your competitors. You can search by name, address, and phone. You can even check out businesses of a specified type within a certain mile radius.
  2. KnowX: Use KnowX to search lawsuit public records by defendant, plaintiff, case number, date and type of case.

Financials

  1. Credit eValuator Report: The Credit eValuator Report gives information on creditworthiness and payment history. Using this tool, you’ll be able to find out if your competitor is struggling or flourishing.
  2. Business Background Report: The Business Background Report provides information on a company’s history, background, operation and data on senior management.
  3. Yahoo! Finance: If your competitor is a publicly traded company, you can check out stock quotes and analysis on them using Yahoo! Finance.
  4. BusinesScope: Use BusinesScope to directly compare your financials and credit with your competitors. This report is good for a year and updated quarterly.

Browser Compatibility and Accessibility

  1. Watchfire WebXACT: WebXACT tests the quality, accessibility and privacy of single webpages.
  2. Wave 3.0: Wave 3.0 tests website compatibility with WCAG 1.0 and Section 508.
  3. Browsershots: Use Browswershots to see how any website looks in various browsers like Firefox, Safari and Iceweasal.
  4. Ready.mobi: Ready.mobi lets you test any web page to see how it will look on mobile phone browsers.



Technorati Tags: , , , ,

10/09/2007

Web site design and development using open source codes

Recently, I got real interested in developing my own web site so I started digging into them since I do not have time to implement from fresh. I was looking into Content Management Tools like Joomla for one example. Installation was breeze but I still need something that give me overview of what will be necessary and what would be required to have the implementation and deployment of the site that can work.

During my search, I ran into IBM developer network which has Using open source software to design, develop, and deploy a collaborative Web site. It shows you from beginning to the end of what you need to do in step by step fashion. This is exactly what I was looking for and I suggest you to take a look at these if you are interested in developing your own website or web business!

It shows that it is utilizing the following tools:

  • Drupal. An open source content management system
  • MySQL. An open source database store
  • PHP. A Web-based language for supporting dynamic content with PHPMyAdmin and SQLBrowse
  • Apache. An open source Web server
  • Eclipse. An open source development environment
  • CVS. A source code management system that tracks changes in your code
This is basics of what is covered in 15 part articles that they published:
  • Building your development environment
  • Getting started with Drupal
  • Observing the interaction of Drupal with other software tools (such as MySQL, Ajax, and PHP)
  • Building custom Drupal modules
  • Deploying and tuning your installation
Each of the topics of each part is illustrated here:

Part 1: Introduction and overview
July 2006
This first article introduces the business scenario and describes the factors that drove the Internet Technology Group team to choose open source tools and Drupal over other content management systems available today.

Part 2: Design for an effective user experience
July 2006
Follow along as the Internet Technology Group team redesigns an existing Web site, analyzing business goals and users' goals, evaluating the existing site, and iteratively refining alternative solutions based on user feedback.


Part 3: Building your development environment in Windows

August 2006
Install and configure in this tutorial all the software necessary
to develop a Drupal-based Web site in Windows, including Eclipse, PHP,
and more. When you're done, you will have a blank development canvas
that you can use for any development project.


Part 4: Building your development environment in Linux
August 2006
Install and configure in this tutorial all the software necessary to develop a Drupal-based Web site in Linux, including Eclipse, PHP, and more. When you're done, you will have a blank development canvas that you can use for any development project.

Part 5: Getting started with Drupal
August 2006
Learn about the Drupal programming model used in developing Web sites, and explore different types of content, developing new features using modules, implementing hooks to enable those modules, and site URL design.

Part 6: Building a custom module in Drupal
September 2006
Create a custom Drupal module for announcements. Learn about implementation and use code samples to create your own custom module.

Part 7: Structuring content for theming using XHTML
October 2006
Explore methods to structure content delivered by Drupal during the development of a new extranet Web site.

Part 8: Styling content for theming using CSS
October 2006
Learn methods for structuring the content of a new extranet Web site, including how to change the presentation and styling of the content delivered by Drupal.

Part 9: Understanding the database layer
October 2006
Discover best practices for module developers. Get details about using the Drupal database functions. And implement the necessary code to support a new database -- IBM DB2® Express-C.

Part 10: Adding features for an extranet Web site
November 2006
Define an extranet to meet client requirements and explore implementation techniques to create an extranet Web site.

Part 11: Using taxonomies in Drupal
December 2006
Use the taxonomy system in Drupal to provide structure to your Web site, which in turn helps support navigation and organization of your content.

Part 12: Hosting and deployment
December 2006
Investigate the issues surrounding deployment of a Drupal site using virtualization technologies. Find out why the team opted to go with virtualization in this scenario and which hosting options you should consider for your own Web site.

Part 13: PHP development within Eclipse
January 2007
Use the Eclipse integrated development environment to create your Web site, with a focus on Eclipse's support for PHP and using Concurrent Versions System (CVS) for version control.

Part 14: The announcement module source code
March 2007
Get the complete announcement module that is used as an example throughout this series. All the functions from this module are included and can be downloaded in a single file.

Part 15: Lessons learned and what's new in Drupal
April 2007
You've completed the process of developing a Web site using open source Drupal driven by Apache, PHP, and MySQL. Find out which decisions and approaches worked or didn't work for the team, and the latest in Drupal 5.0.




Technorati Tags: , , , ,

10/05/2007

Common interview questions and how you should answer them

The wisebread put together How to answer 23 of the most common interview questions. Lots of these are common sense, specially to people who have gone through few interviews themselves. However, it is always good to check them and double check before you do go into any interviews.

In particular, last item about asking questions at the end, I really really strongly recommend that you should always have at least few questions ready. Addition to what's being said in the quote below, the questions that you will ask the interviewer your genuine interest in the company and the available position as well as part of your personality. The worst thing that you can do is tell the interviewer that you do not have any questions...

Here is the quote on 23 items that is discussed:


1. So, tell me a little about yourself.
I’d be very surprised if you haven’t been asked this one at every interview. It’s probably the most asked question because it sets the stage for the interview and it gets you talking. Be careful not to give the interviewer your life story here. You don’t need to explain everything from birth to present day. Relevant facts about education, your career and your current life situation are fine.

2. Why are you looking (or why did you leave you last job)?
This should be a straightforward question to answer, but it can trip you up. Presumably you are looking for a new job (or any job) because you want to advance your career and get a position that allows you to grow as a person and an employee. It’s not a good idea to mention money here, it can make you sound mercenary. And if you are in the unfortunate situation of having been downsized, stay positive and be as brief as possible about it. If you were fired, you’ll need a good explanation. But once again, stay positive.

3. Tell me what you know about this company.
Do your homework before you go to any interview. Whether it’s being the VP of marketing or the mailroom clerk, you should know about the company or business you’re going to work for. Has this company been in the news lately? Who are the people in the company you should know about? Do the background work, it will make you stand out as someone who comes prepared, and is genuinely interested in the company and the job.

4. Why do you want to work at X Company?
This should be directly related to the last question. Any research you’ve done on the company should have led you to the conclusion that you’d want to work there. After all, you’re at the interview, right? Put some thought into this answer before you have your interview, mention your career goals and highlight forward-thinking goals and career plans.

5. What relevant experience do you have?
Hopefully if you’re applying for this position you have bags of related experience, and if that’s the case you should mention it all. But if you’re switching careers or trying something a little different, your experience may initially not look like it’s matching up. That’s when you need a little honest creativity to match the experiences required with the ones you have. People skills are people skills after all, you just need to show how customer service skills can apply to internal management positions, and so on.

6. If your previous co-workers were here, what would they say about you?
Ok, this is not the time for full disclosure. If some people from your past are going to say you’re a boring A-hole, you don’t need to bring that up. Stay positive, always, and maybe have a few specific quotes in mind. “They’d say I was a hard worker” or even better “John Doe has always said I was the most reliable, creative problem-solver he’d ever met.”

7. Have you done anything to further your experience?
This could include anything from night classes to hobbies and sports. If it’s related, it’s worth mentioning. Obviously anything to do with further education is great, but maybe you’re spending time on a home improvement project to work on skills such as self-sufficiency, time management and motivation.

8. Where else have you applied?
This is a good way to hint that you’re in demand, without sounding like you’re whoring yourself all over town. So, be honest and mention a few other companies but don’t go into detail. The fact that you’re seriously looking and keeping your options open is what the interviewer is driving at.

9. How are you when you’re working under pressure?
Once again, there are a few ways to answer this but they should all be positive. You may work well under pressure, you may thrive under pressure, and you may actually PREFER working under pressure. If you say you crumble like aged blue cheese, this is not going to help you get your foot in the door.

10. What motivates you to do a good job?
The answer to this one is not money, even if it is. You should be motivated by life’s noble pursuits. You want recognition for a job well done. You want to become better at your job. You want to help others or be a leader in your field.

11. What’s your greatest strength?
This is your chance to shine. You’re being asked to explain why you are a great employee, so don’t hold back and stay do stay positive. You could be someone who thrives under pressure, a great motivator, an amazing problem solver or someone with extraordinary attention to detail. If your greatest strength, however, is to drink anyone under the table or get a top score on Mario Kart, keep it to yourself. The interviewer is looking for work-related strengths.

12. What’s your biggest weakness?
If you’re completely honest, you may be kicking yourself in the butt. If you say you don’t have one, you’re obviously lying. This is a horrible question and one that politicians have become masters at answering. They say things like “I’m perhaps too committed to my work and don’t spend enough time with my family.” Oh, there’s a fireable offense. I’ve even heard “I think I’m too good at my job, it can often make people jealous.” Please, let’s keep our feet on the ground. If you’re asked this question, give a small, work-related flaw that you’re working hard to improve. Example: “I’ve been told I occasionally focus on details and miss the bigger picture, so I’ve been spending time laying out the complete project every day to see my overall progress.”

13. Let’s talk about salary. What are you looking for?
Run for cover! This is one tricky game to play in an interview. Even if you know the salary range for the job, if you answer first you’re already showing all your cards. You want as much as possible, the employer wants you for as little as you’re willing to take. Before you apply, take a look at salary.com for a good idea of what someone with your specific experience should be paid. You may want to say, “well, that’s something I’ve thought long and hard about and I think someone with my experience should get between X & Y.” Or, you could be sly and say, “right now, I’m more interested in talking more about what the position can offer my career.” That could at least buy you a little time to scope out the situation. But if you do have a specific figure in mind and you are confident that you can get it, I’d say go for it. I have on many occasions, and every time I got very close to that figure (both below and sometimes above).

14. Are you good at working in a team?
Unless you have the I.Q. of a houseplant, you’ll always answer YES to this one. It’s the only answer. How can anyone function inside an organization if they are a loner? You may want to mention what part you like to play in a team though; it’s a great chance to explain that you’re a natural leader.

15. Tell me a suggestion you have made that was implemented.
It’s important here to focus on the word “implemented.” There’s nothing wrong with having a thousand great ideas, but if the only place they live is on your notepad what’s the point? Better still, you need a good ending. If your previous company took your advice and ended up going bankrupt, that’s not such a great example either. Be prepared with a story about an idea of yours that was taken from idea to implementation, and considered successful.

16. Has anything ever irritated you about people you've worked with?
Of course, you have a list as long as your arm. But you can’t say that, it shows you as being negative and difficult to work with. The best way to answer this one is to think for a while and then say something like “I’ve always got on just fine with my co-workers actually.”

17. Is there anyone you just could not work with?
No. Well, unless you’re talking about murderers, racists, rapists, thieves or other dastardly characters, you can work with anyone. Otherwise you could be flagged as someone who’s picky and difficult if you say, “I can’t work with anyone who’s a Bronco’s fan. Sorry.”

18. Tell me about any issues you’ve had with a previous boss.
Arrgh! If you fall for this one you shouldn’t be hired anyway. The interviewer is testing you to see if you’ll speak badly about your previous supervisor. Simply answer this question with exteme tact, diplomacy and if necessary, a big fat loss of memory. In short, you've never had any issues.

19. Would you rather work for money or job satisfaction?
It’s not a very fair question is it? We’d all love to get paid a Trump-like salary doing a job we love but that’s rare indeed. It’s fine to say money is important, but remember that NOTHING is more important to you than the job. Otherwise, you’re just someone looking for a bigger paycheck.

20. Would you rather be liked or feared?
I have been asked this a lot, in various incarnations. The first time I just drew a blank and said, “I don’t know.” That went over badly, but it was right at the start of my career when I had little to no experience. Since then I’ve realized that my genuine answer is “Neither, I’d rather be respected.” You don’t want to be feared because fear is no way to motivate a team. You may got the job done but at what cost? Similarly, if you’re everyone’s best friend you’ll find it difficult to make tough decisions or hit deadlines. But when you’re respected, you don’t have to be a complete bastard or a lame duck to get the job done.

21. Are you willing to put the interests of X Company ahead of your own?
Again, another nasty question. If you say yes, you’re a corporate whore who doesn’t care about family. If you say no, you’re disloyal to the company. I’m afraid that you’ll probably have to say yes to this one though, because you’re trying to be the perfect employee at this point, and perfect employees don’t cut out early for Jimmy’s baseball game.

22. So, explain why I should hire you.
As I’m sure you know, “because I’m great” or “I really need a job” are not good answers here. This is a time to give the employer a laundry list of your greatest talents that just so happen to match the job description. It’s also good to avoid taking potshots at other potential candidates here. Focus on yourself and your talents, not other people’s flaws.

23. Finally, do you have any questions to ask me?
I’ll finish the way I started, with one of the most common questions asked in interviews. This directly relates to the research you’ve done on the company and also gives you a chance to show how eager and prepared you are. You’ll probably want to ask about benefits if they haven’t been covered already. A good generic one is “how soon could I start, if I were offered the job of course.” You may also ask what you’d be working on. Specifically, in the role you’re applying for and how that affects the rest of the company. Always have questions ready, greeting this one with a blank stare is a rotten way to finish your interview. Good luck and happy job hunting.

Technorati Tags: , , ,

10/04/2007

UC Berkeley lecture videos on YouTube

Full length lectures from UC Berkeley is now available on YouTube. They have decided to expand their educational direction toward more open and wider audiences. It is great way to expand and it is a great way to provide additional educational opportunities to students. However, for most professionals, they are not as useful, since the offered courses are in fairly elementary topics only. I would love to see more graduate level courses in software as well as hardware related items.

All playlist can be found here.


Technorati Tags: , ,