Google Web Toolkit — Installation (Part I)

May 27th, 2006

What follows is a mini-howto on setting up the Google Web Toolkit on a fresh “Workstation” installation of CentOS or Fedora Core with Apache HTTP server and PHP installed. A series of commands that can be used to setup Google Web Toolkit. Although the howto is intended for environments that primarily use PHP, the information presented may be useful to others. The Google Web Toolkit installation process that is explored here will also cover the installation of Tomcat and configuration of Apache as a reverse proxy.

I. Installing Sun’s Java 2 Standard Edition Development Kit

0. Remove any old Java environments that may be installed and not used. For example, a Java implementation that is part of the GNU compiler collection may be preinstalled with the operating system. “rpm -e java-1.4.2-gcj-compat-1.4.2.0-27jpp” removes the preinstalled Java development environment for the CentOS 4.3 Workstation installation.

1. Go to http://java.sun.com/j2se/1.5.0/download.jsp, and download jdk-1_5_0_07-linux-i586-rpm.bin (or a later version, if available).

2. With the command line terminal, navigate to the directory that contains the file and enter the command “chmod +x jdk-1_5_0_07-linux-i586-rpm.bin”

3. Enter the command “./jdk-1_5_0_07-linux-i586-rpm.bin”

4. You may need to su into root to carry out the following command: “rpm -ivh jdk-1_5_0_07-linux-i586-rpm”

5. The Java Development Kit should now be installed at /usr/java/jdk1.5.0_06. I usually create a symbolic link “ln -s /usr/java/jdk1.5.0_06 /usr/java/jdk”

II. Installing Apache Ant

1. “wget ftp://ftp.wayne.edu/apache/ant/binaries/apache-ant-1.6.5-bin.tar.gz”

2. “tar zxvf apache-ant-1.6.5-bin.tar.gz”

3. “mv apache-ant-1.6.5 /usr/.”

4. “ln -s /usr/apache-ant-1.6.5 /usr/apache-ant”

III. Installing Apache Tomcat

1. “wget ftp://ftp.wayne.edu/apache/tomcat/tomcat-5/v5.5.17/bin/apache-tomcat-5.5.17.tar.gz”

2. “tar zxvf apache-tomcat-5.5.17.tar.gz”

3. “mv apache-tomcat-5.5.17 /usr/.”

4. “ln -s /usr/apache-tomcat-5.5.17 /usr/apache-tomcat”

III. Installing Google Web Toolkit

1. Get the Google Web Toolkit from http://code.google.com/webtoolkit/. We cover installation of gwt-linux-1.0.21.tar.gz.

2. “tar zxvf gwt-linux-1.0.21.tar.gz”

3. “mv gwt-linux-1.0.21 /usr/.”

4. “ln -s /usr/gwt-linux-1.0.21 /usr/google-gwt”

The required components are now installed on the system, however Apache Tomcat is currently not running. In Part II of this series of posts, I plan to cover the configuration of Tomcat and the configuration of Apache HTTP server as a reverse proxy for the Tomcat server. Init scripts will be set up as well. Then, in Part III, we’ll get to the more exciting stuff such as a “Hello World” application that uses GWT’s RPC features, which allow AJAX to be interesting within the Google Web Toolkit.

stevedoria.net down

May 23rd, 2006

As a super administrator, being served some humble pie from time to time has its benefits.

Starbucks: An Office Always Near Me

May 17th, 2006
Posted in - blah - | 2 Comments

Starbucks LogoHere I am at my third Starbucks location for the last 24 hours. I worked at the Starbucks location in Woodland Hills throughout yesterday. I started today at the Starbucks in Atwater Village, and I ended the day at a Starbucks in Canoga Park. Aside from Chipotle Mexican Grill, Starbucks Coffee Company must be one of the best investment choices to make today. A steady stream of customers can be observed at each of these locations, and a Starbucks location with a T-Mobile hotspot can be found almost anywhere.

I have recently been working at several cities. My service radius appears to encompass Corona and Calabasas Hills. The drive to Corona, which is approximately 55 miles away from my principle location, is quite enjoyable, even though the time to travel (1 hour) is comparable to my rush hour morning commute to cities such as Marina del Rey (24 miles in 1.25 hours) and Calabasas Hills (34 miles in 1.5 hours). Long commutes are simply a part of my life’s story. I’ve been commuting since high school (15 miles) and through my first year of college (56 miles). I love driving, especially when driving conditions are favorable.

I drive to distant locations, and I require quick access to the Internet in order to fulfill my responsibilities. T-Mobile and Starbucks provide the infrastructure for easy Internet access wherever I go. As long as I am at a city with a sizable population, I’m sure to find a Starbucks location, and I am almost always available when the shit hits the fan.

The worst-case cost for an average 30 day month is: 160USD (40USD for the connection on a monthly basis + 30 days * 4USD for a Venti Mocha Frappuccino®). The cost for easy access to the Internet can possibly be reduced to 80USD per month with Sprint’s Mobile Broadband Solutions, but I am willing to pay a premium price to work at a place where people hang out instead of a place where I am alone. 160USD per month is certainly worth access to the networks that I manage, and the connection has been very valuable when compared to the currently unreliable service at home.

Managing Grunts and Minimizing Burnout

May 13th, 2006

despair.com's Demotivation ImageAdam Knight exemplifies the burnt out tech worker and voices his frustration in AppleCared: My Life Inside Apple and AppleCare. Knight was employed as a customer care representative at Apple for four years before he decided to start a business venture with his friends. His daily responsibilities at AppleCare were mundane, and his position seemed not to have potential for personal growth. Knight suggests that desirable jobs are those which do not cause workers to suffer a “slow inner death.” Having to take the same types of calls, solve problems with scripted solutions, and receive usually negative customer reactions may shape a highly optimistic and friendly techie into a calloused and uncaring one. The transformation is accelerated as technicians realize the improbability of change in their work.

Knight’s job can be classified with other seemingly dead-end jobs that are routine, low-level, and require some technical expertise. Management typically reduces turnover for these jobs by providing incentives to workers. Knight states that Apple provides such benefits, which include healthcare and 401(k) retirement plans with some matching. Apple’s management was quite successful in keeping Knight for more than four years, but they were unable to minimize his growing dissatisfaction with his employment. An external catalyst, such as an opportunity with a high degree of failure, was simply needed for Knight to act.

Keeping Knight’s job from becoming a career and passively encouraging him to leave the company may have been an optimal business move for Apple Computer. It is easy for such a big established company to treat turnover lightly. There is almost no possibility that an Apple technical support representative can become a competitor to the company after all. Within most publicly traded companies, loyalty between company and worker is absent. A publicly traded company is most interested in short-term gains that please shareholders, instead of building long-term shareholder value through thoughtful development of a company through its workers. The proposed method, which is more active in countering turnover among workers, might not be applicable for large corporations and is recommended for young nimble companies.

Small companies within a niche of a specific industry might not be able to afford the pride that allows turnover to run rampant, even if such employee turnover is experienced in departments as critical as customer care. Affordability depends on a company’s position in a particular business sector, their ability to replace workers, and their workers’ utility to competing businesses. A representative that is skilled in communicating with customers of a particular business, for example, can be very useful to competing businesses. Representatives are usually aware of their company’s business flow. They are familiar with the problems that a company’s customers face, and they are knowledgeable of their solutions. Allowing such representatives to leave a company causes the company to incur obvious turnover costs.

Turnover causes companies to also incur hidden costs. Allowing even customer care representatives to leave a small company is, in essence, assisting other small companies in the same business sector to become tougher competitors. Inputs from these workers are very welcomed at competing businesses, and the reception of their inputs is almost guaranteed at small businesses. Gaining workers from a competing company is a way to level out the playing field, but simultaneously keeping workers from defecting to other companies and drawing workers from the competition makes the field more favorable to the company.

To minimize turnover among these workers, management needs to be more active. Churning or shuffling workers within the company is a possible solution. Having workers shift responsibilities makes the work place seem a little more dynamic. It makes it less boring. It allows workers to have experience with different parts of the company. Small companies have great potential for growth and opportunity. Providing more exposure of the business to workers grooms these workers to take up future opportunities that the company will provide.

Beyond the lazy basics of retirement plans and health insurance, management needs to actively develop the company through more constructive perks for their workers. Management can develop products, but unfortunately, most of these product developments do not implement themselves. It’s the people, stupid! People are capable of developing superior products and providing superior delivery to customers. Developing people is business development.

Education is the primary reason that churning workers is effective in minimizing turnover. Being more explicit about a company’s interest in educating or developing their workers personally displays the company’s loyalty and trust in their workers. Small companies may want to encourage loyalty within employees through formal education and training. Although there are risks in making a worker more marketable to competitors, these risks should be minimized through further actions by management. Surely, if their newly developed skills are useful to potential employers, their skills should be useful to their current employer. Increasing salaries is the common lazy approach that managers use to maintain workers after they have received certifications or developed new skills. A more active, well-planned approach will create an environment that makes a departure from the company unthinkable. Education of workers serves as a clear indication of the company’s motivation for worker development and retention. It evidences the company’s efforts against worker replaceability, and it is a great gesture of loyalty to its workers.

Smaller businesses face many of the same problems of bigger businesses. Small companies face job dissatisfaction among its workers and employee turnover. Smaller businesses, being more nimble, are able to use solutions that are infeasible to employ in monolithic companies. Small companies often consist of only core people; the minimum needed to function. Maintaining the core is imperative for small companies to succeed and grow. To develop a small business for growth, management needs to grow their workers into a team. They need to develop their team to develop their business. Once their team members are nearing their respective limits to contribute to the company, the company needs to expand those limits through formal training and education. Put simply, a commitment to the team instills a commitment to the company, and the success of a company with a committed team is boundless.

Bootstrap Defined

May 5th, 2006

boot·strap tr.v. 1. To promote and develop by use of one’s own initiative and work without reliance on outside help [as if pulling one’s bootstraps to elevate oneself]