password
username
Sponsored by CakeMail, an email marketing software
Newsletter preview

Javalobby logo image
Tuesday, November 27, 2007 

Now Start-Ups Can Scale-Out Their Apps for Free

The GigaSpaces eXtreme Application Platform (XAP) enables building linearly scalable, high-performance applications in a “compute cloud”. Learn how you can easily scale your applications, avoiding database bottlenecks and the complexity inherent in traditional architectures. Qualified individuals and Start-Ups are now eligible for free licenses!

Apply now to the GigaSpaces Start-Up Program and Simply Scale

 Perspective


Be sure and
check out a
No Fluff Just Stuff
Java conference
coming your way!

2/08-2/10 San Jose 2/29-3/02 Milwaukee
3/07-3/09 St. Louis
3/14-3/16 Minneapolis
3/28-3/30 Omaha
4/04-4/06 Boston
4/11-4/13 San Diego
4/11-4/13 Portland
4/18-4/20 Jersey City



Struts2 in Action
Early Access
Get up to speed quickly

Javalobby Special
Click to Save 30%
Enter code JLST30 at Checkout

 
 A Developer's Perspective
 Next section
David Walsh is a Senior Web Developer at Econoprint in Madison, Wisconsin. He spends most of his time in jEdit coding PHP, playing around with MooTools, and finding different ways to bend the rules of the web. David also shares his web wisdom via his blog, davidwalsh.name.

David Walsh 8 Ways For A Programmer To Stay Sane
By David Walsh

Being a web programmer is hard work. Long hours, coupled with the fact that we're presented with nothing but problems, can make our job unbearable. Not to mention deadlines and unreasonable customers. Oh, and the fact that we're all casualties of the never-ending browser wars.

So why do we do what we do? We love programming. We love creating functional, virtual worlds where people can get information, post pictures, and meet people. We love taking a given set of rules and bending them to their limits. We love that we can post a collection of code that can some day be a money-making powerhouse like Facebook or Digg.

With all of the rewards that come from being a programmer, the job can still be overwhelming. Dealing with the stress that our job creates is an important skill. I've compiled a list of ways for you, as a programmer, to keep your sanity.

Know When to Step Away
Programmers, in general, are obsessive, detailed-oriented people. We don't like admitting defeat and we tend to not step away when we are frustrated. The best thing to do when you've spent a long period of time working on one problem is to step away. Clear your mind. Take a walk. Come back to your desk when you've cooled down.

Go Out For Lunch…
I used to eat lunch at my computer every day — I'd check out my favorite websites and send a few personal emails. Once more and more customers knew me, I'd get inundated with phone call after phone call during lunch and soon I didn't have ANY time during the day to myself. Don't let your lunch hour become another hour of work! Get away from your desk for lunch!

…But Eat Healthy
A healthy body is a healthy mind. It's much easier to grab a quick donut or candy bar when at the desk, but take a quick break and eat something healthy. Try a small salad, a granola bar, or good old peanut butter and jelly sandwich. Eating poorly can make a person feel weighed down or even depressed (I tell my coworkers that my self-esteem is low when I eat at McDonald's). I suggest eating a healthy sub sandwich — it will fill you up, give you the nutrients you need, and not make you feel tired or ill.

Ignore Your Home Computer
After a frustrating day at work, stay off of your home computer — your personal programming can wait another day. Your personal programming could become more frustrating than your work problems, and that's not what you need. Let it go for the night.

Get Another Non-Tech Hobby / Exercise
Having passions other than computer-related hobbies is ideal. Performing physical activities is even better, as it will help you stay in shape. Too often I hear other programmers speak about nothing but computer-related topics — get out of the programming world once in a while! Find another hobby! Learn how to cook. Start playing chess. Do puzzles. Play soccer.

Spend Time with Friends
Friends are generally low maintenance and have interests other than computer-related topics. Schedule a weekend event with your friends. Get together for a barbecue, go to a movie, play video games, go to the football game, or have a night out on the town. Instant messaging your buddies doesn't count!

Take Your Vacation
When things get tough at work, don't be afraid to use your vacation — it could save you from outright quitting when work is overbearing. You don't have to go on an exotic vacation or a cruise; hell, stay home if you want. The point of the vacation is to focus on not working.

Know If Programming Isn't Right for You
If you're losing your mind on a consistent basis and your job is affecting your family, health, or sanity, it may be time to stop. There are other jobs out there — maybe you'd be better off with another career. Just know that programming isn't everything and you don't have to suffer because of your job.

Dealing with the stress of programming is a very important skill. How do you deal with stress at work?

Until next time,
David Walsh
davidwalsh.name

 
 News from the Front
 
 News From the Front
 Next section
 Back to top
Eric Redmond is a certified Java developer and architect with a decade of experience on high-reliability systems, reborn as a Ruby and Rails programmer. He is author of "Maven: The Definitive Guide" and contributing author to "Java Power Tools". He also blogs @ www.coderoshi.com

Eric Redmond Micromanaging - Tasks versus Goals
By Eric Redmond

This is something I've wanted to write about for a while, but held-off for fear of another 10 page rant. But, taking a page from Seth Godin, I've decided to try writing less. Here goes.

I think it is well understood the weaknesses of task-based software development processes - hence the popularity of agile frameworks. Telling a programmer to code a small little piece of a large framework out of context is error-prone, slow, and most importantly a difficult way to keep talent. Give me a piece of a system and say "work with teams A, B and C to make D" is entirely different than saying "Do tasks X, Y and Z" without any basis for them.

Good managers want the input of the expert paid to do the job - even if that expert is a 21 year old pimply-faced programmer punk. Sure, I might have more overall smarts and education than my mechanic - but when he's elbow deep in grease with my car taken apart, I'm not going to give him tasks, just a goal: make it work. Anything more is micromanaging and gives substandard results (since I'm not an expert but he is) -- that doesn't mean I can't keep an eye out on him from dumping metal shavings into my oil-pan.

Micro-managers give "tasks"; Good managers give "goals".

It may sound like a mere semantic difference, but there is some real value in conceptualizing the distinction. Shortly, a task is a step toward reaching a goal. Sadly, there are people who cannot tell the difference. If you have one, or are one, my condolences. Some good things about goal-based over task-based management:

  • Easier on the manager (my favorite reason). If a manager has to take a collection of goals from higher-ups or customers (the ultimate higher-ups) and distill them into tasks, that puts a great strain on the manager. (S)he becomes a point of failure in the organization, since all new goals must travel through that point. However, when a manager spends time giving out goals rather than managing tasks, (s)he can spend the time ensuring that the goals are reached satisfactorily.
  • Gives a sense of ownership to employees. Great for morale, sure, but also keeps talent around. Smart people don't like feeling like cogs, and almost always prefer to have a stake in the outcome. When given a goal "get project A done in two weeks - by any means necessary" rather than a series of tasks "come in between 8am and 5pm; 3 days of design, 4 days of coding, 3 days of testing; utilize technology X" they are more likely to care about the outcome - it becomes their baby.

Are these benefits psychological? Sure. Companies are groups of people working toward a common set of goals - psychology is an important organizational component. But it has another bonus beyond the sanity of employees: goal-based directives are developed faster. My feelings on fast initial development are no secret, mainly because most projects have such short lives (if any at all) building "perfect" architectures are sinkholes of money and time.

Complex top-down architecture (as opposed to emergent) take a high-minded view of an oligarchy which are suited for dividing labor into discreet tasks: create a caching mechanism, create a logging framework, create the model layer, create the DAO layer, etc. Oftentimes (I'll go as far as say usually, in my experience) these tasks are divided up to several people. Can you spot the vicious waste? If person A is working on component 1a, and person B is working on 1b you have now succeeded in failing in two ways:

  1. If person A quits, person B can hardly take on 1a without a learning curve. Perfect interchangeability of programmers is a pipedream - you have gained nothing by way of componentizing the org chart.
  2. Person A and B must cross artificial barriers to communicate (viz, between 1a and 1b). If person A and B were given a goal (work on component 1) they could leverage each others strengths, as well as cooperate in a manner comfortable to themselves to avoid redundancy. But as it stands, A will work on 1a, B will work on 1b, and any common effort not outlined by the oligarchy will be duplicated (1ax and 1bx - versus 1x).

Proponents of the top-down, task-based method will argue: "Iterations fix this problem!" True, after the effort has been expended once, retrospect will come into play and fix the original faulty analysis. But why go through the effort? Just let A and B loose to develop 1, fixing any architectural defects on later iterations. A simple shift in tact frees up a manager to work with the employees by removing obstacles rather than managing a check-list. Either that or going golfing.

Until next time,
Eric Redmond
www.coderoshi.com

 DZ Top Links
 
 DZone Top Links
 Next section
 Back to top
most clicked this week from dzone.com

dzone

Most-clicked links this week

 
 Popular at JL
 
 Popular at Javalobby
 Next section
 Back to top
A recap of some of the most popular and active Javalobby.org discussions this week.
Java 6 on Leopard... After All?

An early release of Open Source Java 6 on Mac OS X Leopard has been announced and your help is needed! Read on for details and debate the meaning of it all here.

Full Discussion Posted By: Geertjan - (52 Replies)

OpenJDK on Leopard: What's the Big Deal?

I've seen a fair amount of excitement lately over the fact that someone has ported OpenJDK to Leopard. But given what I know about the port, and about Leopard, I have to ask... What is the big deal?

Full Discussion Posted By: Michael Urban - (27 Replies)

Profiling: Why Aren't You Doing It?

Profiling, judging by java.net poll results, is not as frequent an activity as one might think. Is it because of tooling? (Or something else?)

Full Discussion Posted By: Geertjan - (17 Replies)

Awesome Translator API!

Google's on-line translation service can be accessed from within Java applications, via an unofficial Google API.

Full Discussion Posted By: Geertjan - (15 Replies)

Web Start On Steroids

A POJO Application Server on the surface feels very much like Web Start, and its often confused with WebStart the well known Java launcher.

Full Discussion Posted By: POJO NUT - (14 Replies)

 White Papers & Announcements
 
 Whitepapers
 Next section
 Back to top
Enterprise Ajax Security for Java EE

Can enterprise application developers deliver Rich Internet Applications using Ajax techniques, but do so in a secure and cost-effective manner? This paper examines some of the fundamental security issues related to client-centric Ajax techniques, and will show how these issues can be overcome using a server-centric approach based on Java EE and ICEfaces.

Download Full White Paper Posted by: Icesoft

 Product Announcements
 Next section
 Back to top
Product and service announcements for Java developers.
1060 NetKernel 3.3 RESTful application server released

1060 NetKernel 3.3 is now available from 1060 Research, Ltd. The new release adds the Request Visualizer tool, revised documentation, the Ruby language and library updates.

Full Announcement & Discussion Posted By: Randolph S. Kahle - (0 Replies)

XUI 3.1 adds automated RIA generation

XUI 3.1 is available now. This release allows users to work directly with Hibernate, JPA, POJOs or Database schemas to automatically generate applications via the Eclipse or NetBeans plugins.

Full Announcement & Discussion Posted By: Luan O'Carroll - (0 Replies)

Easy GUI Testing with FEST 0.7

FEST-Swing is a Java library that provides a DSL-oriented API that is powerful and yet easy-to-use, making creation and maintenance of GUI tests simple and easy.

Full Announcement & Discussion Posted By: Alex Ruiz - (0 Replies)

AnthillPro Build Server 3.4.0 by Urbancode

AnthillPro 3.4 is the newest version of Urbancode's continuous integration, dependency management, deployment automation, and release management tool.

Full Announcement & Discussion Posted By: Urbancode - (0 Replies)

Super csv 1.20 released

* Added the ConvertNullTo cell processor * Changed method signatures to use the Java 5 "..." notation to make the programming * Small bugfix in processor StrLen

Full Announcement & Discussion Posted By: Kasper Graversen - (0 Replies)

SuperWaba 5.84

SuperWaba 5.84 (Nov 23, 2007) . Updated Symbian S60v3 license to expire only at 2017. . Few other bug fixes.

Full Announcement & Discussion Posted By: Guilherme Hazan - (0 Replies)

Allatori Java Obfuscator 1.8

The 1.8 version has new fields and methods renaming scheme that makes the resulting jars even smaller, improved control flow obfuscation...

Full Announcement & Discussion Posted By: Smardec Team - (0 Replies)

JPPF 1.0 RC2 released

The JPPF Team is pleased to bring important bug fixes and performance enhancements in this new version of their Grid Computing toolkit.

Full Announcement & Discussion Posted By: Laurent Cohen - (0 Replies)

DbFit 0.92 available: Better error reporting and easier regression tests

A new release of DbFit is available for download, bringing a new fixture for DB object inspection and much more detailed error reporting.

Full Announcement & Discussion Posted By: Gojko Adzic - (0 Replies)

UJO Framework 0.71: is a time to leave JavaBeans?

UJO Framework offers a special architecture of beans different from conventional JavaBeans with some interesting features.

Full Announcement & Discussion Posted By: Paul Ponec - (1 Replies)

DBSight 1.5.0 Free Scalable Full-text Database Search in 3 minutes!

DBSight 1.5.0 Free Full-text Database Search in 3 minutes! DBSight is a powerful tool for web developers to create full-text database search in Lucene, scalable & customizable, no java coding

Full Announcement & Discussion Posted By: Chris Lu - (0 Replies)

TinyLine 2D 2.0 and TinyLine SVG 2.0

This major release features the latest TinyLine 2D 2.0 and TinyLine SVG 2.0 engines for Java CLDC/MIDP2.0, CDC/Personal Profile and J2SE platforms.

Full Announcement & Discussion Posted By: Andrew - (0 Replies)

JDebugTool 4.0.3 -- Graphical Java Debugger

JDebugTool® is a standalone graphical Java debugger built on top of the standard Java Platform Debugger Architecture (JPDA).

Full Announcement & Discussion Posted By: debug tools - (0 Replies)

Jasypt 1.4 released: encrypt your configuration files

Jasypt 1.4 (Java Simplified Encryption) has just been released. It adds support for encrypting .properties files (even with Spring) and hibernate datasources, besides CLI tools and Wicket integration.

Full Announcement & Discussion Posted By: Daniel Fernández Garrido - (0 Replies)

JPen: Java Pen Tablet Access Library Released

The first release of JPen is available. JPen is a java interface for pen/digitizer tablets and pointing devices.

Full Announcement & Discussion Posted By: Nicolas Carranza - (0 Replies)

LiquiBase 1.4.0

LiquiBase 1.4.0 has been released. LiquiBase is an LGPL Database refactoring and change management library.

Full Announcement & Discussion Posted By: Nathan Voxland - (0 Replies)

OpenForum Wiki 2.0

OpenForum Wiki is an application providing a Wiki style collaboration platform. It comes ready to run out of the box and has an integrated web server and user authentication.

Full Announcement & Discussion Posted By: Nik Cross - (1 Replies)

Simpler J2EE

J2EE is too complicated. This website suggests a set of technologies from the entire J2EE technology stack that makes it easier to write J2EE applications.

Full Announcement & Discussion Posted By: Sandeep Jain - (4 Replies)

Butterfly Container 1.9.9-beta

Jenkov.com has released Butterfly Container 1.9.9-beta. Butterfly Container is a dependency injection container like Spring, Pico and Guice.

Full Announcement & Discussion Posted By: Jakob Jenkov - (0 Replies)

Chronoscope, Scalable GWT charting, Released as open source

Timepedia is happy to release its GWT/JS based charting solution, Chronoscope, as open source. Chronoscope is a portable framework for charting and visualization inside the browser, built on GWT.

Full Announcement & Discussion Posted By: Ray Cromwell - (0 Replies)

 Your Account
 
 Your Account
 Next section
 Back to top
Manage your account info for this and other Javalobby publications.
Manage your Javalobby membership details

Click on the following links to:


 Contact Info
 Next section
 Back to top
Here's how to reach us, we love to hear from you.
Email us
Send news items to editor@javalobby.org
Send questions, complaints, or suggestions to feedback@javalobby.org
Send advertising inquiries to advertise@javalobby.org
 
Call us
Our number is (919) 678-0300. We'd love to hear from you!

 Legal
 Back to top
The fine print we'd rather avoid completely.
Feel free to redistribute this newsletter in part or in full to your friends.

Javalobby News is a service mark of DZone, Inc.
Copyright ©2001-2007 DZone, Inc.

Thank you for your continued support of Javalobby. If you prefer not to receive the Javalobby weekly newsletter, send an e-mail to ***-jlnews@javalobby.org and please ensure the actual email address to be removed is present.
Javalobby.org, 113 Legault Drive, Cary NC 27513 USA