Thursday, March 31, 2005

Transparent Screens

MAKE: Blog: Transparent Screens: "A lot of people have been taking photos of their laptops and/or computers with the background 'showing' through. This collection of transparent screens now have a home on Flickr. Here they are, this one is my favorite. The really cool thing to do would be to auto-set an iSight or Webcam to take photos from behind the laptop and replace the background."

DIY WiFi train

MAKE: Blog: DIY WiFi train: "DIY WiFi train"

Using SMT components in your electronics projects

MAKE: Blog: Using SMT components in your electronics projects: "Using SMT components in your electronics projects"

MAKE: Blog: Solar Death Ray

: "What do you get when you combine some particle board, 112 mirrors and our closest star? The Solar Death Ray. Each of the tiny mirrors are angled to hit one area (the target). The Solar Death Ray can heat the target up to 500-600 degrees Celsius (930-1100 degrees Fahrenheit). "

english cut: bespoke savile row: about thomas

english cut: bespoke savile row: about thomas: "After more than twenty years experience of hand tailoring in Savile Row, I can offer my customers the traditions and expertise of the finest bespoke tailoring available today.
At the moment Im one of the youngest tailors on Savile Row, and am lucky to have enjoyed making for an interesting list of clients, celebs, business icons etc."

Zipit Hacking

MAKE: Blog: Zipit Hacking: "Zipit Hacking"

Blockland - that game where you build stuff

Blockland - that game where you build stuff: "Blockland is a non-competitive multiplayer game where you build with interconnecting bricks."

Recycle old electronics in your area

MAKE: Blog: Recycle old electronics in your area: "Recycle old electronics in your area"

Northeast Makers, build an Igloo

MAKE: Blog: Northeast Makers, build an Igloo: "Northeast Makers, build an Igloo"

Fixed gear bikes

MAKE: Blog: Fixed gear bikes: "by philliptorrone

About a year ago my pal Chris special ordered a bike with no brakes, and one gear. It's called a fixed gear or track bicycle. When I saw it in person, it was a work of art. It's only contains enough to be called a bicycle, nothing more. They're popular with bicycle enthusiasts and now punk rock crowd. KATU news in Portland has a neat story about them."

MAKE: Blog: Printing on the cheap is safe

MAKE: Blog: Printing on the cheap is safe: "I've been watching the Lexmark vs Static Control Components (SCC) pretty closely and it looks like Lexmark won't be using the DMCA (Digital Millennium Copyright Act) to keep us from getting less expensive printer cartridges anytime soon."

MAKE: Blog

MAKE: Blog: "MakeZine feeds"

Diamonds are for pussies, nothing says I love you like radiation

Boing Boing: Diamonds are for pussies: "Fuck diamonds. Isotopes are a girl's best friend. Let others dream of ice this Valentine's Day -- real men procure hunks of ultra-highly-irradiated uranium ore for their honeys. And they buy it online, for $45.00 a shot. "

Learn about electronics - Elenco 300 In 1 Project Lab

Elenco 300 In 1 Project Lab: "This Maxitronix 300-in-1 Electronic Lab Project kit from Elenco Electronics
is a fun way to learn about electronics & study the wonders of science.
Suitable for ages 10 and older."

BBC NEWS | Entertainment | Eccleston quits Doctor Who role

BBC NEWS | Entertainment | Eccleston quits Doctor Who role: "Actor Christopher Eccleston has quit as Doctor Who after just one episode of the new series has been screened, the BBC has confirmed. "

Shelving Subversion

Boy Meets World: "Shelving Subversion
My colleague Clinton Begin asked me whether Subversion supports shelving. This is something that the new Visual Studio may have as part of its Team features, and is basically a way for a developer to put aside a set of changes come back to them later. Storing shelved changes in your version control tool is pretty sensible your repository is reliable, backed up, and not liable to disappear if someone pinches your laptop.
So can you do this kind of thing with Subversion? You betcha. Heres roughly how it would work: "

Charlotte's topless text

Erik's Linkblog: "Singer Charlotte Church was said to be ?very embarrassed? today after a topless picture she texted to her boyfriend was passed on to hundreds of other mobile phone users."

List of Email to SMS Gateways

List of Email to SMS Gateways - The Wireless Development Weblog - _: "In the cases where you might not want to type into your cellphone to send an SMS to your pal, email is a fine alternative. Here�s a list of email addresses you can use to send a short message to cell users on different carriers."

Eclipse Easter Egg: Heap Monitor

Luis de la Rosa: Eclipse Easter Egg: Heap Monitor: "...the Eclipse Heap Monitor. (Well, that's my name for it. The official name is the Heap Status plug-in.)"

Spring - java/j2ee Application Framework

Spring - java/j2ee Application Framework: "ANNOUNCEMENT: We are pleased to announce a preview release of Spring Web Flow for use with the Spring 1.2 release path. With this release, we consider the web flow system fit for development use.

Contained in this release are new features we expect to take web applications with demanding page flow requirements to the next level. "

Raible Designs ~ What's next in my career?

Raible Designs ~ What's next in my career?: "What's next in my career? Category: General "

Dan Creswell's Weblog - Tim Bray does JINI

Dan Creswell's Weblog: "Now, Tim isn't stupid but he appears to have made the same mistake many a JINI newbie does which is to not post questions to the JINI-USERS and JAVASPACES-USERS lists? That's where all the JINI pro's hang out and, if you're having problems, it's where you'll get answers."

Google's Coding Culture and C++

Manageability - Google's Coding Culture and C++:
"Joe writes:
There is, by and large, only one code base at Google. This has many advantages. Most obvious is that it is really easy to look at and contribute to code in other projects without having to talk to anyone, get special permissions or fill out forms in triplicate. That is just the tip of the iceberg, though. Having one codebase means that there is a very high degree of code sharing. Need to base 64 encode/decode something? No problem, there is a standard Google routine for that. Found a bug? Just fix it and check it in after getting it code reviewed by a documented owner. One of the reasons that environments like Perl, Python, C#, Java, etc. flourish is that they have large and well through out libraries of useful code. For a variety of reasons, C++ has never had this. (I could theorize but that would be off topic.) Google has solved this problem by building up a large library of well documented and easy to integrate code. This not only lowers the bar for new projects but makes it easy to switch projects as you don't have to learn new conventions. " Project details for Centric CRM Project details for Centric CRM: "Centric CRM is a mature, fully featured, Java-based, Web-delivered CRM with leads management, contacts, pipeline, accounts, and campaign management, project management, help desk, reports, and admin modules. "

Microsoft Completes 64-Bit Windows

BetaNews | Microsoft Completes 64-Bit Windows: "Microsoft Completes 64-Bit Windows
By Nate Mook, BetaNews
March 31, 2005, 9:37 AM
Ending a year and a half of testing, Microsoft has released to manufacturing 64-bit versions of Windows XP and Windows Server 2003. The new releases, branded x64 Edition, pave the way for a new era in desktop computing built atop advanced processors architectures. "

Do you think they know that big systems like the AS400 have been 64 bit for at least 10 years! Their a bit late to the party!

Investigate JVM Crashes

WebLogic Pro - Investigate JVM Crashes: "A JVM is an ordinary process like any other, and it can sometimes terminate unexpectedly. Java has built-in support for handling exceptions, and JVMs can tolerate run-of-the-mill problems better than most. The very exceptional nature of a JVM crash makes it both interesting and important to determine its root cause, since it can be indicative of a serious problem.

A core dump is created usually when a process crashes. A core dump file is a memory map of the running process, and it saves the state of the application at the time of its termination. Therefore, it is important probably the most important evidence in determining why the JVM crashed.
Sometimes, however, a core dump is not created, which is like a missing body in a murder mystery, and we are forced to fall back on circumstantial evidence (and sometimes reenact the murder) to determine just what killed the JVM. This scenario is what we'll address here."

Eclipse Plugins Exposed, Part 2: Simple GUI Elements Eclipse Plugins Exposed, Part 2: Simple GUI Elements: "Eclipse Plugins Exposed, Part 2: Simple GUI Elements"
Eclipse is largely composed of plugins, but you can't just write any arbitrary code and have Eclipse magically incorporate it.

'Most important ever' MySQL reaches beta

'Most important ever' MySQL reaches beta - ZDNet UK News: The open source database company says it is 'fixing 10 years of criticism in one release', and is aiming at boosting enterprise take-up

"People have been criticising MySQL since we started [in 1995] for not having stored procedures, triggers and views," said Axmark. "We're fixing 10 years of criticism in one release."

Russell Beattie Notebook - 360 Thoughts

Russell Beattie Notebook - 360 Thoughts: "Though I think the service is good, I'd be lying if I said I thought it was perfect"

Major Eclipse Performance Gains For M6

Blog Entry: Major Eclipse Performance Gains For M6: "Major Eclipse Performance Gains For M6 "

XSLT Debugging made easy

Shay Shmeltzer's Weblog: "XSLT Debugging made easy "

joshua quitting to work on full time

[delicious-discuss] big news: "After seeing my little project go from a small hobby to a large one and
then consume all my waking hours, I've decided to quit my job and work
on full time.

I've given a lot of thought to how to make this happen, and ultimately
decided that the best way forward is to take on some outside investment.

I've taken this step because it lets me continue to grow
while keeping it independent."

Good lock to Joshua, I started using delicious in the last month or so, and I think its brilliant. Its very quick to save your links, I really like the way they are organised.
Ive always saved a lot of links in favourites/bookmarks, but I dont tend to do that as much, just post them to the blog, and/or to delicious.
I've also picked up on a lot of hot stuff, looking at the links that other people are saving.

May you be blessed with a billion users Joshua!

Software Only: Yahoo!360 is out of the oven

Software Only: Yahoo!360 is out of the oven: "Yahoo!360 is out of the oven
And my first impression is that Y!360 is not bad - at all, very MSN Spaces like, with a cool integration of Yahoo services. A bit challenging to setup though, I have to agree with Dave Winer on this one."

Another JSF article review

Rick Hightower's Sleepless Night in Tucson : Weblog:
'What is JavaServer Faces? Do you know what Struts is? No? Then you must have been on a vacation for a while, huh? Anyway, Struts and JSF are competing technologies. They're basically implementations of MVC (you have to know Model View Controller). I've done several examples with Struts and I must say that it's OK. I'm not a big fan of Struts. JSF, on the other hand is different. It has the better things out of Struts, it is easier to use, and it's a standard. Plus, JSF will be included as part of J2EE 1.5 coming out next year. I must say I'm a big fan of JSF and I think it will be big over the next couple of years. Learn it, compare it, and use the better one.'"

Javalobby - Java J2EE Programming Forums - Coldtags suite 2.1: 210+ custom JSP tags

Javalobby - Java J2EE Programming Forums - Coldtags suite 2.1: 210+ custom JSP tags: "Coldbeans Software announced the major new release of Coldtags suite. This suite provides 210+ custom JSP tags for common programming tasks faced by JSP developers. "

Why Web Programming Matters Most

Why Web Programming Matters Most: "You might dismiss me as being self-centered, as I'm a Python web programmer, and we all think our own problems are the most important problems. But then I'm a web programmer because I think it's the most important and empowering development environment of our time -- it has been for at least the last five years, and I'd be surprised if that didn't stay true for at least the next five years.
And I am doing okay -- these aren't my own problems I'm complaining about. I don't want to talk down Python web programming too much -- if you are serious about web programming the initial investment will pay off, since Python is a great environment. But if you aren't committed enough to invest that time, and you want to produce something useful quickly, then -- though it hurts me to say this -- Python isn't a good choice."

Sony ordered to pay $90 million, halt game sales

AnandTech News: Sony ordered to pay $90 million, halt game sales: "Sony has been ordered by a Federal District Court to halt sales of its games consoles in the U.S. along with paying $90 million dollars to Immerson for patent infringement. The court is upholding a ruling made last year where they awarded Immerson $82 million, the slightly higher payout adds interest to the total. Sony has stated it will continue to sell the Playstation, Playstation 2, the 2 controllers, and 47 games as the appeal court date is set before the date Sony has to stop selling."

Spring framework 1.2 RC1 released

Spring framework 1.2 RC1 released: "Dear Spring community,

It's Spring time :-)

I'm pleased to announce that Spring 1.2 RC1 has just been released.
This release introduces a number of major new features:

* finer-grained distribution jar files, alongside the full spring.jar
* AOP Alliance interfaces are now contained in spring-aop.jar and spring.jar
* XML bean definition improvements ('ref' and 'value' shortcut attributes etc)
* improved AOP TargetSourceCreator mechanism (supporting LazyInitTargetSource too)
* transaction annotation support for JDK 1.5+ (annotation called 'Transactional')
* improved WebLogicJtaTransactionManager (transaction names, isolation levels)
* SqlRowSet support for JDBC (in conjunction with JdbcTemplate's 'queryForRowSet')
* Hibernate3 support (in orm.hibernate3; Hibernate 2.1 support is still available)
* JMX support for export of Spring beans as managed resources and for MBean access
* Commons Attributes and JDK 1.5+ annotations for JMX MBean export

This release also contains many minor enhancements, for example:

* factored out BindingErrorProcessor strategy for ServletRequestDataBinder
* improved ParameterMethodNameResolver for Web MVC MultiActionController

For a detailed list of enhancements and bug fixes, see the changelog.

This release candidate is already considered stable and recommended for development use.
We expect Spring 1.2 final to be released in late April.

Watch out for the Spring Web Flow preview release to follow later this week
(for use with Spring 1.2)!
Web Flow will also become part of the nightly build at that time."

Apache Jakarta Tomcat v5.5.9-alpha Released

Apache News Blog Online: 28 March 2005 - Apache Jakarta Tomcat v5.5.9-alpha Released: "Apache Jakarta Tomcat v5.5.9-alpha Released
The Apache Jakarta Tomcat team is proud to announce the immediate availability
of Tomcat 5.5.9-alpha. This build contains numerous bug fixes, documentation
updates, and other improvements."

Apache Jakarta Tomcat v5.5.9-alpha Released

Apache News Blog Online: 28 March 2005 - Apache Jakarta Tomcat v5.5.9-alpha Released: "Apache Jakarta Tomcat v5.5.9-alpha Released
The Apache Jakarta Tomcat team is proud to announce the immediate availability
of Tomcat 5.5.9-alpha. This build contains numerous bug fixes, documentation
updates, and other improvements."

Wednesday, March 30, 2005

jboss database

create table jboss/jbp_users (
jbp_root_pref_set_id INTEGER unique,
jbp_uname VARCHAR(255) unique,
jbp_givenname VARCHAR(255),
jbp_familyname VARCHAR(255),
jbp_password VARCHAR(255),
jbp_realemail VARCHAR(255),
jbp_fakeemail VARCHAR(255),
jbp_regdate timestamp,
jbp_viewrealemail char(1),
jbp_enabled char(1),
primary key (jbp_uid)
create table jboss/jbp_role_membership (
jbp_rid INTEGER not null,
jbp_uid INTEGER not null,
primary key (jbp_uid, jbp_rid)
create table jboss/jbp_user_pref (
jbp_name VARCHAR(255) not null,
jbp_type INTEGER,
jbp_set_id INTEGER,
primary key (jbp_id)
create table jboss/jbp_user_pref_set (
jbp_parent_id INTEGER,
name VARCHAR(255) not null,
primary key (jbp_id)
create table jboss/jbp_user_pref_prop_value (
jbp_prop_id INTEGER not null,
jbp_value VARCHAR(255),
jbp_idx INTEGER not null,
primary key (jbp_prop_id, jbp_idx)
create table jboss/jbp_roles (
jbp_name VARCHAR(255) unique,
jbp_displayname VARCHAR(255) unique,
primary key (jbp_rid)
create table jboss/jbp_user_prop (
jbp_uid INTEGER not null,
jbp_value VARCHAR(255),
jbp_name VARCHAR(255) not null,
primary key (jbp_uid, jbp_name)

create index jboss/jbp_usersl1
on jboss/jbp_users(jbp_root_pref_set_id)

create index jboss/jbp_role_membershipl1
on jboss/jbp_role_membership(jbp_rid)

create index jboss/jbp_role_membershipl2
on jboss/jbp_role_membership(jbp_uid)

create index jboss/jbp_user_prefl1
on jboss/jbp_user_pref(jbp_set_id)

create index jboss/jbp_user_pref_setl1
on jboss/jbp_user_pref_set(jbp_parent_id)

create index jboss/jbp_user_pref_prop_valuel1
on jboss/jbp_user_pref_prop_value(jbp_prop_id)

create index jboss/jbp_user_propl1
on jboss/jbp_user_prop(jbp_uid)

ALTER TABLE jboss/jbp_users ADD CONSTRAINT jbp_users_c1 FOREIGN KEY (jbp_root_pref_set_id)
REFERENCES jboss/jbp_user_pref_set(jbp_id)

ALTER TABLE jboss/jbp_role_membership ADD CONSTRAINT jbp_role_membership_c1 FOREIGN KEY (jbp_rid)
REFERENCES jboss/jbp_roles (jbp_rid)

ALTER TABLE jboss/jbp_role_membership ADD CONSTRAINT jbp_role_membership_c2 FOREIGN KEY (jbp_uid)
REFERENCES jboss/jbp_users (jbp_uid)

ALTER TABLE jboss/jbp_user_pref ADD CONSTRAINT jbp_user_pref_c1 FOREIGN KEY (jbp_set_id)
REFERENCES jboss/jbp_user_pref_set (jbp_id)

ALTER TABLE jboss/jbp_user_pref_set ADD CONSTRAINT jbp_user_pref_set_c1 FOREIGN KEY (jbp_parent_id)
REFERENCES jboss/jbp_user_pref_set (jbp_id)

ALTER TABLE jboss/jbp_user_pref_prop_value ADD CONSTRAINT jbp_user_pref_prop_value_c1 FOREIGN KEY (jbp_prop_id)
REFERENCES jboss/jbp_user_pref (jbp_id)

ALTER TABLE jboss/jbp_user_prop ADD CONSTRAINT jbp_user_prop_c1 FOREIGN KEY (jbp_uid)
REFERENCES jboss/jbp_users (jbp_uid)

insert into jboss/jbp_users (jbp_uid, jbp_uname, jbp_password,
jbp_realemail, jbp_regdate, jbp_viewrealemail, jbp_enabled) values
(1, 'admin', 'admin', '',
current_timestamp, '1', '1')

insert into jboss/jbp_users (jbp_uid, jbp_uname, jbp_password, jbp_realemail, jbp_regdate, jbp_viewrealemail, jbp_enabled) values (2, 'user', 'user', '', current_timestamp, '1', '1');
insert into jboss/jbp_roles (jbp_rid, jbp_name, jbp_displayname) values (1, 'Admins', 'Administrators');
insert into jboss/jbp_roles (jbp_rid, jbp_name, jbp_displayname) values (2, 'Users', 'Users');
insert into jboss/jbp_role_membership (jbp_uid, jbp_rid) values (1, 1);
insert into jboss/jbp_role_membership (jbp_uid, jbp_rid) values (2, 2);

Novell Will Build Products Around JBoss Portal

Novell Will Build Products Around JBoss Portal (SYS-CON): "Novell is moving ahead with plans to expand its presence in areas now dominated by proprietary software. The company intends to use JBoss Portal as a central point around which it is to build services."

Walking the DNS Tree

Whirlycott - Philip Jacob Walking the DNS Tree: "The DNS Rapid Update service that was put into place several months ago is really wonderful. If you make a change to the nameservers associated with a zone, the changes appear in the root servers almost immediately. In many cases, changes to a zone will start resolving right away, but due to record caching, sometimes clients wont actually see the new record information for a while (until their local cache entries expire)."

Running JBOSS on Iseries

Im trying to get JBOSS running on a ISeries (as400) release V5R2
heres the story so far:

  • Downloaded the latest version of JBOSS (tar.gz) from
  • Unzipped the tar.gz on my PC
  • copied the unzipped jboss directory from PC to IFS on as400 to /jboss
  • on green screen, wrklnk '/jboss/bin'
  • edit run.conf
  • add JAVA_HOME="/QIBM/ProdData/Java400/jdk14" after #JAVA_HOME
  • comment out JAVA_OPTS="-server -Xms128m -Xmx128m" with a #, and replace with JAVA_OPTS=" -Xms128m -Xmx128m"

The one issue I had was that we already have port 8080 in use, and as this is the default for tomcat I needed to modify this.

  • Change connector port in /jboss/server/default/deploy/jbossweb-tomcat50.sar/server.xml from 8080 to your preferred port

I initially ran this from QSHELL from the command line, but once I got it working I submitted it from a batch job. I also redirected the output from the script to a file on the IFS so that I could see what was going on

  • SBMJOB CMD(QSH CMD('jboss/bin/ > /jboss/logs/jboss.out 2>&1')) JOB(STR_JBOSS)

Success, I get the JBOSS home page when I got to http://myserver:myport

Sunday, March 27, 2005

Free AS400 Software - iSeries Software including Utilities, Trials and Applications

Free AS400 Software - iSeries Software including Utilities, Trials and Applications: "Entirely - Free AS400 Software Utilities
Decompression of ZIP archives on iSeries
CD Generation Software for AS400 iSeries
SMI Development tools
Run an AS400 command from an Object List
Manage AS400 Spool files - Chinese Site
iSeries Java and RPG Utilities - German
iSeries Software Utilities
Use the google API search with RPG - Spanish
F.R.O.G-iSeries Database viewer(Win) Click FROG
SQL to XML (Spanish site)
AS400 utilities
The Jada library contains several freeware commands for the AS/400
RPG Programmers Trace Utility
AS400 Software Utilities
AS400 Program reference tool
AS400 Software toolkit
WRKUSROUTQ, WRKSPLF and WRKOUTQ with additional functions
Dump the internals of OS/400 spooled files
Tunelib - Get library size, Work with command
AS400ToolsDE - German Site - Nice utilities
Source Highlighter
XML Utilities
DIR command for iSeries - German Site
Convert Spool to Text, HTML and PDF Format
Send a EMail with Attach's direct from iSeries
iScripter is a Utility to create PC Scriptfiles
Help 400 - German/English site - mega utilities
iSeries Toolbox for Euphoria
Framework Generator /400(Japanese Site)
Work with CGI Spooled Files (WRKCGISPLF)
Spool Converter Pro
ZiNA - (Spanish Site) 5250,FTP + Spool utilities"

Weblog Tools Market - Update February 2005 On the Job: Weblog Tools Market - Update February 2005: "Weblog Tools Market - Update February 2005"

seeJulie Sexy blog

seeJulie Sexy blog: "Chicken Curry Jamaica"

Saturday, March 26, 2005

Encoded vector index

A few years ago, IBM Research came-up with a new type of index called an Encoded Vector Index (EVI). The main benefits of using EVIs is that they takes less space than a traditional index and they are noticeably faster for certain types of queries.

An encoded vector index provides access to a database table by assigning codes to distinct key values and then representing these values in an array. The elements of the array can be 1, 2, or 4 bytes in length, depending on the number of distinct values that must be represented. Because of their compact size and relative simplicity, encoded vector indexes provide for faster scans that can be more easily processed in parallel.

You create encoded vector indexes by using the CREATE ENCODED VECTOR INDEX statement. See What are encoded vector indexes for information on the use and maintenance of encoded vector indexes. For additional information about accelerating your queries with encoded vector indexes , go to the DB2 Universal Database for iSeries web pages.

Friday, March 25, 2005

Ingres and Open Source - a success story

Ingres and Open Source - a success story | The Register: "I have espoused the cause of Ingres for some time and, especially, I have commended Computer Associates' decision to take the Ingres database into the open source community.
Now, I dare say that at some point CA will tell me all about its 'open source challenge' and how successful that has been in developing new facilities for Ingres. And they will also tell me about how many downloads there have been (though I am cynical about the utility of such a figure). But this article is about one company, Datallegro, which has adopted Ingres as its database."

NASA gives thumbs up to new Shuttle missions

NASA gives thumbs up to new Shuttle missions | The Register: "NASA says that its plans to return to flight are on track for a May launch, confirming that all of the criteria for a new mission have now been met."

Crionics jPDF Suite version 5.0 released

Crionics jPDF Suite version 5.0 released: "Crionics has released version 5.0 of its jPDF suite, a toolset to render, parse, and generate PDFs. New features include Acrobat 7 compatibility, JDK 1.5 compliance, and performance gains, among others. All tools are claimed to be pure Java."

IBM wants your input on RPG's future

iSeries Network: "RPG is not a dead language, and IBM wants your input on RPG's future.

Apache Tutorial: Introduction to Server Side Includes

What are SSI?

SSI (Server Side Includes) are directives that are placed in HTML pages, and evaluated on the server while the pages are being served. They let you add dynamically generated content to an existing HTML page, without having to serve the entire page via a CGI program, or other dynamic technology.

The decision of when to use SSI, and when to have your page entirely generated by some program, is usually a matter of how much of the page is static, and how much needs to be recalculated every time the page is served. SSI is a great way to add small pieces of information, such as the current time. But if a majority of your page is being generated at the time that it is served, you need to look for some other solution.


Configuring your server to permit SSI
To permit SSI on your server, you must have mod_include installed and enabled. Additionally, you must have the following directive either in your httpd.conf file, or in a .htaccess file:

Options +Includes
This tells Apache that you want to permit files to be parsed for SSI directives. Note that most configurations contain multiple Options directives that can override each other. You will probably need to apply the Options to the specific directory where you want SSI enabled in order to assure that it gets evaluated last.

Not just any file is parsed for SSI directives. You have to tell Apache which files should be parsed. There are two ways to do this. You can tell Apache to parse any file with a particular file extension, such as .shtml, with the following directives:

AddType text/html .shtml
AddHandler server-parsed .shtml
One disadvantage to this approach is that if you wanted to add SSI directives to an existing page, you would have to change the name of that page, and all links to that page, in order to give it a .shtml extension, so that those directives would be executed.

The other method is to use the XBitHack directive:

XBitHack on
XBitHack tells Apache to parse files for SSI directives if they have the execute bit set. So, to add SSI directives to an existing page, rather than having to change the file name, you would just need to make the file executable using chmod.

chmod +x pagename.html
A brief comment about what not to do. You'll occasionally see people recommending that you just tell Apache to parse all .html files for SSI, so that you don't have to mess with .shtml file names. These folks have perhaps not heard about XBitHack. The thing to keep in mind is that, by doing this, you're requiring that Apache read through every single file that it sends out to clients, even if they don't contain any SSI directives. This can slow things down quite a bit, and is not a good idea.

Of course, on Windows, there is no such thing as an execute bit to set, so that limits your options a little.

In its default configuration, Apache does not send the last modified date or content length HTTP headers on SSI pages, because these values are difficult to calculate for dynamic content. This can prevent your document from being cached, and result in slower perceived client performance. There are two ways to solve this:

Use the XBitHack Full configuration. This tells Apache to determine the last modified date by looking only at the date of the originally requested file, ignoring the modification date of any included files.
Use the directives provided by mod_expires to set an explicit expiration time on your files, thereby letting browsers and proxies know that it is acceptable to cache them.


Basic SSI directives
SSI directives have the following syntax:

It is formatted like an HTML comment, so if you don't have SSI correctly enabled, the browser will ignore it, but it will still be visible in the HTML source. If you have SSI correctly configured, the directive will be replaced with its results.

The element can be one of a number of things, and we'll talk some more about most of these in the next installment of this series. For now, here are some examples of what you can do with SSI

Today's date

The echo element just spits out the value of a variable. There are a number of standard variables, which include the whole set of environment variables that are available to CGI programs. Also, you can define your own variables with the set element.

If you don't like the format in which the date gets printed, you can use the config element, with a timefmt attribute, to modify that formatting.

Today is
Modification date of the file
This document last modified
This element is also subject to timefmt format configurations.

Including the results of a CGI program
This is one of the more common uses of SSI - to output the results of a CGI program, such as everybody's favorite, a ``hit counter.''


Additional examples
Following are some specific examples of things you can do in your HTML documents with SSI.


When was this document modified?
Earlier, we mentioned that you could use SSI to inform the user when the document was most recently modified. However, the actual method for doing that was left somewhat in question. The following code, placed in your HTML document, will put such a time stamp on your page. Of course, you will have to have SSI correctly enabled, as discussed above.

This file last modified
Of course, you will need to replace the ssi.shtml with the actual name of the file that you're referring to. This can be inconvenient if you're just looking for a generic piece of code that you can paste into any file, so you probably want to use the LAST_MODIFIED variable instead:

This file last modified
For more details on the timefmt format, go to your favorite search site and look for strftime(). The syntax is the same.


Including a standard footer
If you are managing any site that is more than a few pages, you may find that making changes to all those pages can be a real pain, particularly if you are trying to maintain some kind of standard look across all those pages.

Using an include file for a header and/or a footer can reduce the burden of these updates. You just have to make one footer file, and then include it into each page with the include SSI command. The include element can determine what file to include with either the file attribute, or the virtual attribute. The file attribute is a file path, relative to the current directory. That means that it cannot be an absolute file path (starting with /), nor can it contain ../ as part of that path. The virtual attribute is probably more useful, and should specify a URL relative to the document being served. It can start with a /, but must be on the same server as the file being served.

I'll frequently combine the last two things, putting a LAST_MODIFIED directive inside a footer file to be included. SSI directives can be contained in the included file, and includes can be nested - that is, the included file can include another file, and so on.


What else can I config?
In addition to being able to config the time format, you can also config two other things.

Usually, when something goes wrong with your SSI directive, you get the message

[an error occurred while processing this directive]
If you want to change that message to something else, you can do so with the errmsg attribute to the config element:

Hopefully, end users will never see this message, because you will have resolved all the problems with your SSI directives before your site goes live. (Right?)

And you can config the format in which file sizes are returned with the sizefmt attribute. You can specify bytes for a full count in bytes, or abbrev for an abbreviated number in Kb or Mb, as appropriate.


Executing commands
I expect that I'll have an article some time in the coming months about using SSI with small CGI programs. For now, here's something else that you can do with the exec element. You can actually have SSI execute a command using the shell (/bin/sh, to be precise - or the DOS shell, if you're on Win32). The following, for example, will give you a directory listing.

or, on Windows

You might notice some strange formatting with this directive on Windows, because the output from dir contains the string `` '' in it, which confuses browsers.

Note that this feature is exceedingly dangerous, as it will execute whatever code happens to be embedded in the exec tag. If you have any situation where users can edit content on your web pages, such as with a ``guestbook'', for example, make sure that you have this feature disabled. You can allow SSI, but not the exec feature, with the IncludesNOEXEC argument to the Options directive.


Advanced SSI techniques
In addition to spitting out content, Apache SSI gives you the option of setting variables, and using those variables in comparisons and conditionals.

Most of the features discussed in this article are only available to you if you are running Apache 1.2 or later. Of course, if you are not running Apache 1.2 or later, you need to upgrade immediately, if not sooner. Go on. Do it now. We'll wait.


Setting variables
Using the set directive, you can set variables for later use. We'll need this later in the discussion, so we'll talk about it here. The syntax of this is as follows:

In addition to merely setting values literally like that, you can use any other variable, including environment variables, or some of the variables we discussed above (like LAST_MODIFIED, for example) to give values to your variables. You will specify that something is a variable, rather than a literal string, by using the dollar sign ($) before the name of the variable.

To put a literal dollar sign into the value of your variable, you need to escape the dollar sign with a backslash.

Finally, if you want to put a variable in the midst of a longer string, and there's a chance that the name of the variable will run up against some other characters, and thus be confused with those characters, you can place the name of the variable in braces, to remove this confusion. (It's hard to come up with a really good example of this, but hopefully you'll get the point.)


Conditional expressions
Now that we have variables, and are able to set and compare their values, we can use them to express conditionals. This lets SSI be a tiny programming language of sorts. mod_include provides an if, elif, else, endif structure for building conditional statements. This allows you to effectively generate multiple logical pages out of one actual page.

The structure of this conditional construct is:

A test_condition can be any sort of logical comparison - either comparing values to one another, or testing the ``truth'' of a particular value. (A given string is true if it is nonempty.) For a full list of the comparison operators available to you, see the mod_include documentation. Here are some examples of how one might use this construct.

In your configuration file, you could put the following line:

BrowserMatchNoCase macintosh Mac
BrowserMatchNoCase MSIE InternetExplorer
This will set environment variables ``Mac'' and ``InternetExplorer'' to true, if the client is running Internet Explorer on a Macintosh.

Then, in your SSI-enabled document, you might do the following:

Apologetic text goes here

Cool JavaScript code goes here

Not that I have anything against IE on Macs - I just struggled for a few hours last week trying to get some JavaScript working on IE on a Mac, when it was working everywhere else. The above was the interim workaround.

Any other variable (either ones that you define, or normal environment variables) can be used in conditional statements. With Apache's ability to set environment variables with the SetEnvIf directives, and other related directives, this functionality can let you do some pretty involved dynamic stuff without ever resorting to CGI.


SSI is certainly not a replacement for CGI, or other technologies used for generating dynamic web pages. But it is a great way to add small amounts of dynamic content to pages, without doing a lot of extra work.

Thursday, March 24, 2005

Resurrect Your Old PC for Music--with Linux

O'Reilly: Resurrect Your Old PC for Music--with Linux: "Are you the kind of person who can't toss out old gear? I know I am--though I must admit that embracing the art of junk-collecting has come in handy from time to time. For instance, this article will show you how to resurrect a tired old PC by installing a modern operating system, and then revitalize the computer as an internet-enabled CD player, DVD burner, and MP3 jukebox. "

Taking Eclipse to C/C++�It's Not Just For Java Any More

Taking Eclipse to C/C++�It's Not Just For Java Any More: "The C/C++ Development Toolkit extension to Eclipse brings these powerful languages into the fold and tempting C/C++ developers away from their previous favorite toolchains. Let's take a look at what it offers. "


A 10-MINUTE DESCRIPTION OF HOW JUDY ARRAYS WORK AND WHY THEY ARE SO FAST: "A Judy tree is generally faster than and uses less memory than contemporary forms of trees such as binary (AVL) trees, b-trees, and skip-lists. When used in the 'Judy Scalable Hashing' configuration, Judy is generally faster then a hashing method at all populations."

Motorola E680i (MobileBurn)

Motorola E680i (MobileBurn): "Motorola Launches Linux Based Music Phone"

JavaScript tips and a cool Tabs Tag Library

Bloggers have rights too

Bloggers have rights too | Perspectives | CNET "Bloggers should be classified as journalists and given First Amendment protections based on the function they perform, not the form of their transmissions. "

Server-side include commands for HTTP Server (powered by Apache) for Iseries

Server-side include commands for HTTP Server (powered by Apache)
HTTP Server (powered by Apache) SSI commands have the following format:

<--#command parameter="value -->
Note: There is a space before -->. The parameter value is normally enclosed in double quotes, but for compatibility with the HTTP Server (original), double quotes are not required.
The following describes the SSI commands for HTTP Server (powered by Apache).

This command prints one of the SSI or API variables. Dates are printed using config timefmt. The attributes are:

Specifies an environment variable name or CGI environment variable name.
See the Environment variables on HTTP Server topic for a list of environment variables.
For example:

Specifies how the server encodes special characters contained in the variable. If set to none, no encoding is done. If set to url, then URL encoding (or %-encoding) is performed. If set to the default of entity, then entity encoding is performed.
For example:

This command calls a CGI program. The attributes are:

Specifies the relative path and file name. For example:

This command prints the size of the specified file according to config sizefmt. The attributes are:

Specifies the relative path and file name. For example:

Specifies the relative path and file name using URL encoding. For example:

This command prints the last modification date of the specified file according to config timefmt. The attributes are:

Specifies the relative path and file name. For example:

Specifies the relative path and file name using URL encoding. For example:

This command is the same as the set command.

This command inserts the text of another file. Included files can be nested. The attributes are:

Specifies the relative path and file name. For example:

Specifies the relative path and file name using URL encoding. For example:

This command prints all existing environment variables and their values. There are no attributes. For example:

This command sets the value of an environment variable. The attributes are:

Specifies an environment variable name.
See Environment variables on HTTP Server for a list of environment variables.

Specifies the value to assign to the environment variable name. For example:

If you want to insert a special character in a string, precede it with a \. For example:

Conditional commands
There are four conditional or flow control commands. The if command tests a value. If the value is true, then processing continues with the next line. If the value is not true then processing continues with an elif, else, or endif command. The elif and else commands are optional. The if and elif commands have a parameter of expr. The expr parameter contains the test condition. An endif command is required for every if command. For example:

You are using Internet Explorer.

You are using Netscape.

You are not using Internet Explorer or Netscape.

The expr parameter can have one of the following forms:

Condition Comments
string True if the string is not empty
string1 = string2 (equal) Compare string1 with string2. If string2 has the form /string/, then it is compared as a regular expression. See Regular expression notation for HTTP Server for more information.

string1 != string2 (not equal)
string1 < string2 (less than)
string1 <= string2 (less than or equal to)
string1 > string2 (greater than)
string1 > = string2 (greater than or equal to)
( test_condition ) True if test_condition is true.

!test_condition True if test_condition is false.

Test_condition1 && test_condition2 True if both test_condition1 and test_condition2 are true.

Test_condition1 || test_condition2 True if either test_condition1 or test_condition2 are true.

Variable substitution
Values can be supplied in the following ways:

Test can be supplied within a quoted string. For example:

For compatibility with HTTP Server (original), text can be supplied without a quoted string. For example:

A literal dollar sign can be supplied in a string using a backslash. For example:

A variable reference can be supplied within a character sequence using braces. For example:

If REMOTE_HOST is equal to X and REQUEST_METHOD is equal to Y, then $ABC is equal to X_Y.

Note: For compatibility with HTTP Server (original), a variable name can also begin with an ampersand (&).
Server-side include commands for HTTP Server (original)
HTTP Server (original) SSI commands have the following format:

The quotes around value are optional. However, quotes are required for imbedding spaces.

The following describes the SSI commands.

Specifies the message appended to the beginning of any text that follows a directive specification and comes before -->. For example:

Specifies a message that is sent back to the client if an error occurs while parsing the document. The message is logged in the server's error log. The default value is [an error occurred while processing this directive]. For example:

Specifies the format used to display the size of a file where bytes displays the file size in bytes or abbrev displays the file size in Kb or Mb. The default is abbrev. For example:

Specifies the format used to display dates and time. See Time formats for HTTP Server. The default is %a, %d %b-%Y %T %Z. For example:

The following describes the SSI commands for HTTP Server (original).

This command prints one of the SSI or API variables. Dates are printed using config timefmt. The attributes are:

Specifies an environment variable name or CGI environment variable name. See Environment variables on HTTP Server for a list of environment variables. For example:

This command includes the output of a CGI program. The exec command discards any HTTP headers CGI outputs except for the following:

Specifies the relative path and file name. For example:

This command prints the size of the specified file according to config sizefmt. The attributes are:

Specifies the relative path and file name. The file is assumed to be relative to the value contained in the SSI_ROOT environment variable if preceded by a /. If not preceded by a /, the file is assumed to be relative to the value of the SSI_DIR environment variable. For example:

Specifies the relative path and file name using URL encoding. The virtual attribute is always passed through the mapping directives. For example:

This command prints the last modification time and date of the specified file according to config timefmt. The attributes are:

Specifies the relative path and file name. The file is assumed to be relative to the value contained in the SSI_ROOT environment variable if preceded by a /. If not preceded by a /, the file is assumed to be relative to the value of the SSI_DIR environment variable. For example:

Specifies the relative path and file name using URL encoding. The virtual attribute is always passed through the mapping directives. For example:

This command sets the value of an environment variable that can be echoed by this file or any included files. The attributes are:

Specifies an environment variable name.
See Environment variables on HTTP Server for a list of environment variables.

Specifies the value to assign to the environment variable name.
For example, if you want to refer to a parent document across the virtual boundary, you need to set a global variable DOCUMENT_URI. You must also refer to the global variable in the child document. The following is an example of the coding you need to insert in the parent document:

The following is an example of the coding you need to insert into the child document:

This command inserts the text of another file. Included files can be nested. The attributes are:

Specifies the relative path and file name. The file is assumed to be relative to the value contained in the SSI_ROOT environment variable if preceded by a /. If not preceded by a /, the file is assumed to be relative to the value of the SSI_DIR environment variable. For example:

Specifies the relative path and file name using URL encoding. The virtual attribute is always passed through the mapping directives. For example:

This command sets the value of an environment variable that only this file can echo later. Nothing is displayed if an unrecognized variable is found. The attributes are:

Specifies an environment variable name.
See Environment variables on HTTP Server for a list of environment variables.

Specifies the value to assign to the environment variable name. For example:

If you want to insert a special character in a string, precede it with a \. For example:

Additional notes
Server-side includes look for the variable, echoes where the variable is found, and proceeds with the function. You can have multiple variable references. When server-side includes encounter a variable reference inside a server-side include directive, it attempts to resolve it on the server side. The following example escapes the & so that server-side includes do not recognize it as a variable. In the second line of the example, the variable "&index" is a server-side variable and is used to construct the variable name "var1". The variable ê is a client side variable, so the & is escaped to create the value ":frêd" or "fred" with a circumflex over the e.

The following characters can be escaped. Escape variables must be preceded with a backslash (\).

Escape variable Meaning
\a Alert (bell)

\b Backslash

\f Form feed (new page)

\n New line

\r Carriage return

\t Vertical tab

\v Vertical tab

\' Single quote mark

\'' Double quote mark

\? Question mark

\\ Backslash

\- Hyphen

\. Period

\& Ampersand

Airline giant aims for multimillion savings with IT consolidation

Dutch flag carrier airline KLM has consolidated 24 separate business units onto one IBM mainframe in a £2.7m project which, it claimed, would pay for itself within 18 months of completion.

The savings have come by replacing seven AS400 mainframes in different locations onto a pair of IBM zSeries mainframes at Amsterdam’s Schipol airport. This has halved the number of IT staff needed to support the hardware, which runs financial software from SSA Global, an enterprise software supplier.

Adsense - How much do you earn?

Adsense - How much do you earn?: "1. Fastclik
2. ebay
3. Mamma
4. Amazon
5. Adsense
6. Clickxchange "

� Top 10 Bittorent Sites

Top 10 Bittorent Sites: "Top 10 Bittorent Sites"

Alternative PHP uses - Practical PHP Programming

Alternative PHP uses - Practical PHP Programming: "As you probably know, PHP is a recursive acronym for 'PHP: Hypertext Preprocessor', so why should a product designed for the web ever stray from its original goal? Quite simple, because PHP is cool, and if I could use PHP to do everything , I'd certainly give it a try, if only for the challenge! "

The 10 Secrets of a Master Networker | The 10 Secrets of a Master Networker: "Keith Ferrazzi needs two PalmPilots to keep track of all his contacts, people like Bill Clinton and Michael Milken. But there's far more to cracking the inner circle of the power elite than just taking names."

Monday, March 21, 2005

Dodgeball - A New Technology Makes Meeting People Easier

Dodgeball - A New Technology Makes Meeting People Easier: "Now that people are breaking up with each other through text messaging, it�s only natural that the hottest social-networking program to emerge in recent months is Dodgeball, a free texting service that lets users tell their friends and crushes what bar they�re in at any moment so they can meet up. Two recent NYU Interactive Telecommunications Program grads, Dennis Crowley and Alex Rainert, both 28, launched Dodgeball last spring as an alternative to loud cell-phone calls from bars. When Dodgeball users �check in� at a given locale by sending out a text message, it goes to all their preselected friends, as well as any friends of friends within a ten-block radius. A photo is sent along with the alert�which helps with identifying near strangers. Introductions are made, beer is poured, and then hookups can occur�casually, and in a low-pressure environment, all under the guise of knowing someone in common. It�s Friendster, except in real time and in the real world."

BeyondVC: When competitors are acquired...

BeyondVC: When competitors are acquired...: "When competitors are acquired..."


LEGO MINDSTORMS Internals: "The LEGO� MINDSTORMS(tm) (#9719) product is a robot-kit-in-a-box. It consists of a computer module (the 'RCX(tm)'), and an inventory of many TECHNICS(tm) parts. It appears to be a productized version of the MIT Programmable Brick, as the following table will show you."

The complete Feynman Lectures on Physics, both in PDF and MP3 formats

The complete Feynman Lectures on Physics, both in PDF and MP3 formats

Shale: the next Struts? at JavaOne

David Geary's Weblog : Weblog: "JSF is on fire right now and Shale is beginning to build some mindshare. "

How To Speed Up PDF Reader on Windows

Glen Smith - How To Speed Up PDF Reader on Windows: "enter Adobe Speed Up - a neat little freeware utility that you can run once to disable all your excess plugins. It's configurable, but the default options are great. I've tried it with Reader v6 & v7 and it works outstandingly. My Adobe reader now starts up in under a second. "

Tom McQueeney Weblog - Java Blog

Tom McQueeney Weblog - Java Blog: "A posting Friday on TheServerSide defending Java against Ruby on Rails made me realize that some Java programmers seem to be feeling threatened by Ruby and its Rails framework. The concern seems to be Ruby, or another scripting languages like PHP, makes developing web applications easier than using Java and one of its many web frameworks. The result being Java will start to die out and really will become the next COBOL.

Granted, there's a lot of hype right now about Ruby and Rails. We all read or heard about the article in January on the O'Reilly ONLamp web site by Curt Hibbs saying Ruby on Rails will let you develop a web application 10 times faster than using Java. That article seemed to strike a chord among Java developers. A lot of blogs have been discussing RoR and why it's the best way to go for developing web applications, or a big step backward for separation of concerns and good design, depending on whom you read. "

Sunday, March 20, 2005

Slashdot | Using BroadVoice with Asterisk How-To

Slashdot | Using BroadVoice with Asterisk How-To: "With all the hype surrounding open source PBXs (telephone switches) such as Asterisk, the user community is clamoring for more help in getting these systems up and running"

All About Johnnycakes

All About Johnnycakes: "Johnnycakes, johnny cakes, jonnycake, ashcake, battercake, corn cake, cornpone, hoecake, hoe cake, journey cake, mush bread, pone, Shawnee cake, jonakin, and jonikin. These are all regional names for cornmeal flatbread. The name, exact type of batter and cooking method varies from region to region. They may be cooked over the ashes of a campfire, on hot stones, on a griddle, in a cast iron pan, or in the oven"

I became a bicycle messenger

A Coder in Courierland || "I became a bicycle messenger"

Talk Like A Pirate Day - September 19

Talk Like A Pirate Day - September 19: "Welcome to the one and only, official, accept-no-substitutes Talk Like A Pirate Day Web site. "

Outsourcing, offshoring, and the next wave

Nextwave 2004: Issue 1 - Outsourcing, offshoring, and the next wave: "Outsourcing is not new, but it can be more complicated to evaluate and implement offshore. This article isn't about the pain and politics of change. It's about maintaining perspective in the current environment, and figuring out what will help meet business objectives most effectively, and what will not. "

So you want to be a consultant...?

So you want to be a consultant...?: "Why work 8 hours/day for someone else when you can work 16 hours/day for yourself? "

gapingvoid: how to be creative (long version)

gapingvoid: how to be creative (long version): "So you want to be more creative, in art, in business, whatever. Here are some tips that have worked for me over the years:"

gapingvoid: how to be creative (long version)

how to be creative (long version)

How To Be Creative: Long Version

(NB: The original shorter version is here.)

(NB: The Book Proposal/Outline is here)

(NB: Chapters 1-26: Download the free PDF version here)

So you want to be more creative, in art, in business, whatever. Here are some tips that have worked for me over the years:

1. Ignore everybody.

2. The idea doesn't have to be big. It just has to change the world.

3. Put the hours in.

4. If your biz plan depends on you suddenly being "discovered" by some big shot, your plan will probably fail.

5. You are responsible for your own experience.

6. Everyone is born creative; everyone is given a box of crayons in kindergarten.

7. Keep your day job.

8. Companies that squelch creativity can no longer compete with companies that champion creativity.

9. Everybody has their own private Mount Everest they were put on this earth to climb.

10. The more talented somebody is, the less they need the props.

11. Don't try to stand out from the crowd; avoid crowds altogether.

12. If you accept the pain, it cannot hurt you.

13. Never compare your inside with somebody else's outside.

14. Dying young is overrated.

15. The most important thing a creative person can learn professionally is where to draw the red line that separates what you are willing to do, and what you are not.

16. The world is changing.

17. Merit can be bought. Passion can't.

18. Avoid the Watercooler Gang.

19. Sing in your own voice.

20. The choice of media is irrelevant.

21. Selling out is harder than it looks.

22. Nobody cares. Do it for yourself.

23. Worrying about "Commercial vs. Artistic" is a complete waste of time.

24. Don’t worry about finding inspiration. It comes eventually.

25. You have to find your own schtick.

26. Write from the heart.

27. The best way to get approval is not to need it.

28. Power is never given. Power is taken.

29. Whatever choice you make, The Devil gets his due eventually.

30. The hardest part of being creative is getting used to it.


1. Ignore everybody.

The more original your idea is, the less good advice other people will be able to give you. When I first started with the cartoon-on-back-of-bizcard format, people thought I was nuts. Why wasn't I trying to do something more easy for markets to digest i.e. cutey-pie greeting cards or whatever?
You don't know if your idea is any good the moment it's created. Neither does anyone else. The most you can hope for is a strong gut feeling that it is. And trusting your feelings is not as easy as the optimists say it is. There's a reason why feelings scare us.
And asking close friends never works quite as well as you hope, either. It's not that they deliberately want to be unhelpful. It's just they don't know your world one millionth as well as you know your world, no matter how hard they try, no matter how hard you try to explain.

Plus a big idea will change you. Your friends may love you, but they don't want you to change. If you change, then their dynamic with you also changes. They like things the way they are, that's how they love you- the way you are, not the way you may become.

Ergo, they have no incentive to see you change. And they will be resistant to anything that catalyzes it. That's human nature. And you would do the same, if the shoe was on the other foot.

With business colleagues it's even worse. They're used to dealing with you in a certain way. They're used to having a certain level of control over the relationship. And they want whatever makes them more prosperous. Sure, they might prefer it if you prosper as well, but that's not their top priority.

If your idea is so good that it changes your dynamic enough to where you need them less, or God forbid, THE MARKET needs them less, then they're going to resist your idea every chance they can.

Again, that's human nature.


Good ideas come with a heavy burden. Which is why so few people have them. So few people can handle it.

2. The idea doesn't have to be big. It just has to change the world.

The two are not the same thing.
We all spend a lot of time being impressed by folk we've never met. Somebody featured in the media who's got a big company, a big product, a big movie, a big bestseller. Whatever.

And we spend even more time trying unsuccessfully to keep up with them. Trying to start up our own companies, our own products, our own film projects, books and whatnot.

I'm as guilty as anyone. I tried lots of different things over the years, trying desperately to pry my career out of the jaws of mediocrity. Some to do with business, some to do with art etc.

One evening, after one false start too many, I just gave up. Sitting at a bar, feeling a bit burned out by work and life in general, I just started drawing on the back of business cards for no reason. I didn't really need a reason. I just did it because it was there, because it amused me in a kind of random, arbitrary way.

Of course it was stupid. Of course it was uncommercial. Of course it wasn't going to go anywhere. Of course it was a complete and utter waste of time. But in retrospect, it was this built-in futility that gave it its edge. Because it was the exact opposite of all the "Big Plans" my peers and I were used to making. It was so liberating not to have to be thinking about all that, for a change.

It was so liberating to be doing something that didn't have to impress anybody, for a change.

It was so liberating to have something that belonged just to me and no one else, for a change.

It was so liberating to feel complete sovereignty, for a change. To feel complete freedom, for a change.

And of course, it was then, and only then, that the outside world started paying attention.

The sovereignty you have over your work will inspire far more people than the actual content ever will. How your own sovereignty inspires other people to find their own sovereignty, their own sense of freedom and possibility, will change the world far more than the the work's objective merits ever will.

Your idea doesn't have to be big. It just has to be yours alone. The more the idea is yours alone, the more freedom you have to do something really amazing.

The more amazing, the more people will click with your idea. The more people click with your idea, the more it will change the world.

That's what doodling on business cards taught me.

3. Put the hours in.

Doing anything worthwhile takes forever. 90% of what separates successful people and failed people is time, effort, and stamina.
I get asked a lot, "Your business card format is very simple. Aren't you worried about somebody ripping it off?"

Standard Answer: Only if they can draw more of them than me, better than me.

What gives the work its edge is the simple fact that I've spent years drawing them. I've drawn thousands. Tens of thousands of man hours.

So if somebody wants to rip my idea off, go ahead. If somebody wants to overtake me in the business card doodle wars, go ahead. You've got many long years in front of you. And unlike me, you won't be doing it for the joy of it. You'll be doing it for some self-loathing, ill-informed, lame-ass mercenary reason. So the years will be even longer and far, far more painful. Lucky you.

If somebody in your industry is more successful than you, it's probably because he works harder at it than you do. Sure, maybe he's more inherently talented, more adept at networking etc, but I don't consider that an excuse. Over time, that advantage counts for less and less. Which is why the world is full of highly talented, network-savvy, failed mediocrities.

So yeah, success means you've got a long road ahead of you, regardless. How do you best manage it?

Well, as I've written elsewhere, don't quit your day job. I didn't. I work every day at the office, same as any other regular schmoe. I have a long commute on the train, ergo that's when I do most of my drawing. When I was younger I drew mostly while sitting at a bar, but that got old.

The point is; an hour or two on the train is very managable for me. The fact I have a job means I don't feel pressured to do something market-friendly. Instead, I get to do whatever the hell I want. I get to do it for my own satisfaction. And I think that makes the work more powerful in the long run. It also makes it easier to carry on with it in a calm fashion, day-in-day out, and not go crazy in insane creative bursts brought on by money worries.

The day job, which I really like, gives me something productive and interesting to do among fellow adults. It gets me out of the house in the day time. If I were a professional cartoonist I'd just be chained to a drawing table at home all day, scribbling out a living in silence, interrupted only by freqent trips to the coffee shop. No, thank you.

Simply put, my method allows me to pace myself over the long haul, which is important.

Stamina is utterly important. And stamina is only possible if it's managed well. People think all they need to do is endure one crazy, intense, job-free creative burst and their dreams will come true. They are wrong, they are stupidly wrong.

Being good at anything is like figure skating- the definition of being good at it is being able to make it look easy. But it never is easy. Ever. That's what the stupidly wrong people coveniently forget.

If I was just starting out writing, say, a novel or a screenplay, or maybe starting up a new software company, I wouldn't try to quit my job in order to make this big, dramatic heroic-quest thing about it.

I would do something far simpler: I would find that extra hour or two in the day that belongs to nobody else but me, and I would make it productive. Put the hours in, do it for long enough and magical, life-transforming things happen eventually. Sure, that means less time watching TV, internet surfing, going out or whatever.

But who cares?

4. If your biz plan depends on you suddenly being "discovered" by some big shot, your plan will probably fail.

Nobody suddenly discovers anything. Things are made slowly and in pain.
I was offered a quite substantial publishing deal a year or two ago. Turned it down. The company sent me a contract. I looked it over. Hmmmm...

Called the company back. Asked for some clarifications on some points in the contract. Never heard back from them. The deal died.

This was a very respected company. You may have even heard of it.

They just assumed I must be just like all the other people they represent- hungry and desperate and willing to sign anything.

They wanted to own me, regardless of how good a job they did.

That's the thing about some big publishers. They want 110% from you, but they don't offer to do likewise in return. To them, the artist is just one more noodle in a big bowl of pasta.

Their business model is to basically throw the pasta against the wall, and see which one sticks. The ones that fall to the floor are just forgotten.

Publishers are just middlemen. That's all. If artists could remember that more often, they'd save themselves a lot of aggrevation.

Anyway, yeah, I can see gapingvoid being a 'product' one day. Books, T-shirts and whatnot. I think it could make a lot of money, if handled correctly. But I'm not afraid to walk away if I think the person offering it is full of hot air. I've already got my groove etc. Not to mention another career that's doing quite well, thank you.

I think "gapingvoid as product line" idea is pretty inevitable, down the road. Watch this space.

5. You are responsible for your own experience.

Nobody can tell you if what you're doing is good, meaningful or worthwhile. The more compelling the path, the more lonely it is.
Every creative person is looking for "The Big Idea". You know, the one that is going to catapult them out from the murky depths of obscurity and on to the highest planes of incandescent ludicity.

The one that's all love-at-first-sight with the Zeitgeist.

The one that's going to get them invited to all the right parties, metaphorical or otherwise.

So naturally you ask yourself, if and when you finally come up with The Big Idea, after years of toil, struggle and doubt, how do you know whether or not it is "The One"?

Answer: You don't.

There's no glorious swelling of existential triumph.

That's not what happens.

All you get is this rather kvetchy voice inside you that seems to say, "This is totally stupid.This is utterly moronic. This is a complete waste of time. I'm going to do it anyway."

And you go do it anyway.

Second-rate ideas like glorious swellings far more. Keeps them alive longer.

6. Everyone is born creative; everyone is given a box of crayons in kindergarten.

Then when you hit puberty they take the crayons away and replace them with books on algebra etc. Being suddenly hit years later with the creative bug is just a wee voice telling you, "I’d like my crayons back, please."

So you've got the itch to do something. Write a screenplay, start a painting, write a book, turn your recipe for fudge brownies into a proper business, whatever. You don't know where the itch came from, it's almost like it just arrived on your doorstep, uninvited. Until now you were quite happy holding down a real job, being a regular person...

Until now.

You don't know if you're any good or not, but you'd think you could be. And the idea terrifies you. The problem is, even if you are good, you know nothing about this kind of business. You don't know any publishers or agents or all these fancy-shmancy kind of folk. You have a friend who's got a cousin in California who's into this kind of stuff, but you haven't talked to your friend for over two years...

Besides, if you write a book, what if you can't find a publisher? If you write a screenplay, what if you can't find a producer? And what if the producer turns out to be a crook? You've always worked hard your whole life, you'll be damned if you'll put all that effort into something if there ain't no pot of gold at the end of this dumb-ass rainbow...

Heh. That's not your wee voice asking for the crayons back. That's your outer voice, your adult voice, your boring & tedious voice trying to find a way to get the wee crayon voice to shut the hell up.

Your wee voice doesn't want you to sell something. Your wee voice wants you to make something. There's a big difference. Your wee voice doesn't give a damn about publishers or Hollywood producers.

Go ahead and make something. Make something really special. Make something amazing that will really blow the mind of anybody who sees it.

If you try to make something just to fit your uninformed view of some hypothetical market, you will fail. If you make something special and powerful and honest and true, you will succeed.

The wee voice didn't show up because it decided you need more money or you need to hang out with movie stars. Your wee voice came back because your soul somehow depends on it. There's something you haven't said, something you haven't done, some light that needs to be switched on, and it needs to be taken care of. Now.

So you have to listen to the wee voice or it will die... taking a big chunk of you along with it.

They're only crayons. You didn't fear them in kindergarten, why fear them now?

7. Keep your day job.

I’m not just saying that for the usual reason i.e. because I think your idea will fail. I’m saying it because to suddenly quit one’s job in a big ol' creative drama-queen moment is always, always, always in direct conflict with what I call "The Sex & Cash Theory".

THE SEX & CASH THEORY: "The creative person basically has two kinds of jobs: One is the sexy, creative kind. Second is the kind that pays the bills. Sometimes the task in hand covers both bases, but not often. This tense duality will always play center stage. It will never be transcended."

A good example is Phil, a NY photographer friend of mine. He does really wild stuff for the indie magazines- it pays nothing, but it allows him to build his portfolio. Then he'll go off and shoot some catalogues for a while. Nothing too exciting, but it pays the bills.

Another example is somebody like Martin Amis. He writes "serious" novels, but he has to supplement his income by writing the occasional newspaper article for the London papers (novel royalties are bloody pathetic- even bestsellers like Amis aren't immune).

Or actors. One year Travolta will be in an ultra-hip flick like Pulp Fiction ("Sex"), the next he'll be in some dumb spy thriller ("Cash").

Or painters. You spend one month painting blue pictures because that's the color the celebrity collectors are buying this season ("Cash"), you spend the next month painting red pictures because secretly you despise the color blue and love the color red ("Sex").

Or geeks. You spend you weekdays writing code for a faceless corporation ("Cash"), then you spend your evening and weekends writing anarchic, weird computer games to amuse your techie friends with ("Sex").

It's balancing the need to make a good living while still maintaining one's creative sovereignty. My M.O. is gapingvoid ("Sex"), coupled with my day job ("Cash").

I'm thinking about the young writer who has to wait tables to pay the bills, in spite of her writing appearing in all the cool and hip magazines.... who dreams of one day of not having her life divided so harshly.

Well, over time the 'harshly' bit might go away, but not the 'divided'.

"This tense duality will always play center stage. It will never be transcended."

As soon as you accept this, I mean really accept this, for some reason your career starts moving ahead faster. I don't know why this happens. It's the people who refuse to cleave their lives this way- who just want to start Day One by quitting their current crappy day job and moving straight on over to best-selling author... Well, they never make it.

Anyway, it's called "The Sex & Cash Theory". Keep it under your pillow.

8. Companies that squelch creativity can no longer compete with companies that champion creativity.

Nor can you bully a subordinate into becoming a genius.
Since the modern, scientifically-conceived corporation was invented in the early half of the Twentieth Century, creativity has been sacrificed in favor of forwarding the interests of the "Team Player".

Fair enough. There was more money in doing it that way; that's why they did it.

There's only one problem. Team Players are not very good at creating value on their own. They are not autonomous; they need a team in order to exist.

So now corporations are awash with non-autonomous thinkers.

"I don't know. What do you think?"
"I don't know. What do you think?"
"I don't know. What do you think?"
"I don't know. What do you think?"
"I don't know. What do you think?"
"I don't know. What do you think?"

And so on.

Creating an economically viable entity where lack of original thought is handsomely rewarded creates a rich, fertile environment for parasites to breed. And that's exactly what's been happening. So now we have millions upon millions of human tapeworms thriving in the Western World, making love to their Powerpoint presentations, feasting on the creativity of others.

What happens to an ecology, when the parasite level reaches critical mass?

The ecology dies.

If you're creative, if you can think independantly, if you can articulate passion, if you can override the fear of being wrong, then your company needs you now more than it ever did. And now your company can no longer afford to pretend that isn't the case.

So dust off your horn and start tooting it. Exactly.

However if you're not paricularly creative, then you're in real trouble. And there's no buzzword or "new paradigm" that can help you. They may not have mentioned this in business school, but... people like watching dinosaurs die.

9. Everybody has their own private Mount Everest they were put on this earth to climb.

You may never reach the summit; for that you will be forgiven. But if you don't make at least one serious attempt to get above the snow-line, years later you will find yourself lying on your deathbed, and all you will feel is emptiness.
This metaphorical Mount Everest doesn't have to manifest itself as "Art". For some people, yes, it might be a novel or a painting. But Art is just one path up the mountain, one of many. With others the path may be something more prosaic. Making a million dollars, raising a family, owning the most Burger King franchises in the Tri-State area, building some crazy oversized model airplane, the list has no end.

Whatever. Let's talk about you now. Your mountain. Your private Mount Everest. Yes, that one. Exactly.

Let's say you never climb it. Do you have a problem witb that? Can you just say to yourself, "Never mind, I never really wanted it anyway" and take up stamp collecting instead?

Well, you could try. But I wouldn't believe you. I think it's not OK for you never to try to climb it. And I think you agree with me. Otherwise you wouldn't have read this far.

So it looks like you're going to have to climb the frickin' mountain. Deal with it.

My advice? You don't need my advice. You really don't. The biggest piece of advice I could give anyone would be this:

"Admit that your own private Mount Everest exists. That is half the battle."
And you've already done that. You really have. Otherwise, again, you wouldn't have read this far.

Rock on.

10. The more talented somebody is, the less they need the props.

Meeting a person who wrote a masterpiece on the back of a deli menu would not surprise me. Meeting a person who wrote a masterpiece with a silver Cartier fountain pen on an antique writing table in an airy SoHo loft would SERIOUSLY surprise me.

Abraham Lincoln wrote The Gettysberg Address on a piece of ordinary stationery that he had borrowed from the friend whose house he was staying at.

James Joyce wrote with a simple pencil and notebook. Somebody else did the typing, but only much later.

Van Gough rarely painted with more than six colors on his palette.

I draw on the back of wee biz cards. Whatever.

There's no correlation between creativity and equipment ownership. None. Zilch. Nada.

Actually, as the artist gets more into his thing, and as he gets more successful, his number of tools tends to go down. He knows what works for him. Expending mental energy on stuff wastes time. He's a man on a mission. He's got a deadline. He's got some rich client breathing down his neck. The last thing he wants is to spend 3 weeks learning how to use a router drill if he doesn't need to.

A fancy tool just gives the second-rater one more pillar to hide behind.

Which is why there are so many second-rate art directors with state-of-the-art Macinotsh computers.

Which is why there are so many hack writers with state-of-the-art laptops.

Which is why there are so many crappy photographers with state-of-the-art digital cameras.

Which is why there are so many unremarkable painters with expensive studios in trendy neighborhoods.

Hiding behind pillars, all of them.

Pillars do not help; they hinder. The more mighty the pillar, the more you end up relying on it psychologically, the more it gets in your way.

And this applies to business, as well.

Which is why there are so many failing businesses with fancy offices.

Which is why there's so many failing businessmen spending a fortune on fancy suits and expensive yacht club memberships.

Again, hiding behind pillars.

Successful people, artists and non-artists alike, are very good at spotting pillars. They're very good at doing without them. Even more importantly, once they've spotted a pillar, they're very good at quickly getting rid of it.

Good pillar management is one of the most valuable talents you can have on the planet. If you have it, I envy you. If you don't, I pity you.

Sure, nobody's perfect. We all have our pillars. We seem to need them. You are never going to live a pillar-free existence. Neither am I.

All we can do is keep asking the question, "Is this a pillar" about every aspect of our business, our craft, our reason for being alive etc and go from there. The more we ask, the better we get at spotting pillars, the more quickly the pillars vanish.

Ask. Keep asking. And then ask again. Stop asking and you're dead.

11. Don't try to stand out from the crowd; avoid crowds altogether.

Your plan for getting your work out there has to be as original as the actual work, perhaps even more so. The work has to create a totally new market. There's no point trying to do the same thing as 250,000 other young hopefuls, waiting for a miracle. All existing business models are wrong. Find a new one.
I've seen it so many times. Call him Ted. A young kid in the big city, just off the bus, wanting to be a famous something: artist, writer, musician, film director, whatever. He's full of fire, full of passion, full of ideas. And you meet Ted again five or ten years later, and he's still tending bar at the same restaurant. He's not a kid anymore. But he's still no closer to his dream.

His voice is still as defiant as ever, certainly, but there's an emptiness to his words that wasn't there before.

Yeah, well, Ted probably chose a very well-trodden path. Write novel, be discovered, publish bestseller, sell movie rights, retire rich in 5 years. Or whatever.

No worries that there's probably 3 million other novelists/actors/musicians/painters etc with the same plan. But of course, Ted's special. Of course his fortune will defy the odds eventually. Of course. That's what he keeps telling you, as he refills your glass.

Is your plan of a similar ilk? If it is, then I'd be concerned.

When I started the business card cartoons I was lucky; at the time I had a pretty well-paid corporate job in New York that I liked. The idea of quitting it in order to join the ranks of Bohemia didn't even occur to me. What, leave Manhattan for Brooklyn? Ha. Not bloody likely. I was just doing it to amuse myself in the evenings, to give me something to do at the bar while I waited for my date to show up or whatever.

There was no commerical incentive or larger agenda governing my actions. If I wanted to draw on the back of a business card instead of a "proper" medium, I could. If I wanted to use a four letter word, I could. If I wanted to ditch the standard figurative format and draw psychotic abstractions instead, I could. There was no flashy media or publishing executive to keep happy. And even better, there was no artist-lifestyle archetype to conform to.

It gave me a lot of freedom. That freedom paid off in spades later.

Question how much freedom your path affords you. Be utterly ruthless about it.

It's your freedom that will get you to where you want to go. Blind faith in an over-subscribed, vainglorious myth will only hinder you.

Is you plan unique? Is there nobody else doing it? Then I'd be excited. A little scared, maybe, but excited.

12. If you accept the pain, it cannot hurt you.
The pain of making the necessary sacrifices always hurts more than you think it's going to. I know. It sucks. That being said, doing something seriously creative is one of the most amazing experiences one can have, in this or any other lifetime. If you can pull it off, it's worth it. Even if you don't end up pulling it off, you'll learn many incredible, magical, valuable things. It's NOT doing it when you know you full well you HAD the opportunity- that hurts FAR more than any failure.
Frankly, I think you're better off doing something on the assumption that you will NOT be rewarded for it, that it will NOT receive the recognition it deserves, that it will NOT be worth the time and effort invested in it.

The obvious advantage to this angle is, of course, if anything good comes of it, then it's an added bonus.

The second, more subtle and profound advantage is: that by scuppering all hope of worldly and social betterment from the creative act, you are finally left with only one question to answer:

Do you make this damn thing exist or not?

And once you can answer that truthfully to yourself, the rest is easy.

13. Never compare your inside with somebody else's outside.

The more you practice your craft, the less you confuse worldly rewards with spiritual rewards, and vice versa. Even if your path never makes any money or furthers your career, that's still worth a TON.
When I was 16 or 17 in Edinburgh I vaguely knew this guy who owned a shop called "Cinders", on St. Stephen's Street. It specialized in restoring antique fireplaces.

Cinders' modus operandi was very simple. Buy original Georgian and Victorian chimneypieces from old, dilapidated houses for 10 cents on the dollar, give them a loving but expedient makeover in the workshop, sell them at vast profit to yuppies.

Back then I was insatiably curious about how people made a living (I still am). So one-day, while sitting on his stoop I chatted with the fireplace guy about it.

He told me about the finer points of his trade- the hunting through old houses, the craftsmanship, the customer relations, and of course the profit.

The fellow seemed quite proud of his job. From how he described it he seemed to like his trade and be making a decent living. Scotland was going through a bit of a recession at the time; unemployment was high, money was tight; I guess for an ageing hippie things could've been a lot worse.

Very few kids ever said, "Gosh, when I grow up I'm going to be a fireplace guy!" It's not the most obvious trade in the world. I asked him about how he fell into it.

"I used to be an antiques dealer," he said. "People who spend a lot of money on antiques also seem to spend a lot of money restoring their houses. So I sort of got the whiff of opportunity just by talking to people in my antiques shop. Also, there are too many antique dealers in Edinburgh crowding the market, so I was looking for an easier way to make a living."

Like the best jobs in the world, it just kindasorta happened.

"Well, some of the fireplaces are real beauties," I said. "It must be hard parting with them."

"No it isn't," he said (and this is the part I remember most). "I mean, I like them, but because they take up so much room- they're so big and bulky- I'm relieved to be rid of them once they're sold. I just want them out of the shop ASAP and the cash in my pocket. Selling them is easy for me. Unlike antiques. I always loved antiques, so I was always falling in love with the inventory, I always wanted to hang on to my best stuff. I'd always subconsciously price them too high in order to keep them from leaving the shop."

Being young and idealistic, I told him I thought that was quite sad. Why choose to sell a "mere product" (i.e. chimneypieces) when instead you could make your living selling something you really care about (i.e. anitques)? Surely the latter would be a preferable way to work?

"The first rule of business," he said, chuckling at my naïveté, "is never sell something you love. Otherwise, you may as well be selling your children."

15 years later I'm at a bar in New York. Some friend-of-a-friend is looking at my cartoons. He asks me if I publish. I tell him I don't. Tell him it's just a hobby. Tell him about my advertising job.

"Man, why the hell are you in advertising?" he says, pointing to my portfolio. "You should be doing this. Galleries and shit."

"Advertising's just chimneypieces," I say, speaking into my glass.

"What the fuck?"

"Never mind."

14. Dying young is overrated.

I've seen so many young people take the "Gotta do the drugs & booze thing to make me a better artist" route over the years. A choice that wasn't smart, original, effective, healthy, or ended happily.

It's a familiar story: a kid reads about Charlie Parker or Jimi Hendrix or Charles Bukowski and somehow decides that their poetic but flawed example somehow gives him permission and/or absolution to spend the next decade or two drowning in his own metaphorical vomit.

Of course, the older you get, the more casualties of this foolishness you meet. The more time has had to ravage their lives. The more pathetic they seem. And the less remarkable work they seem to have to show for it, for all their "amazing experiences" and "special insights".

The smarter and more talented the artist is, the less likely he will choose this route. Sure, he might screw around a wee bit while he's young and stupid, but he will move on quicker than most.

But the kid thinks it's all about talent; he thinks it's all about 'potential'. He underestimates how much time, discipline and stamina also play their part. Sure, like Bukowski et al, there are exceptions. But that is why we like their stories when we're young. Because they are exceptional stories. And every kid with a guitar or a pen or a paintbrush or an idea for a new business wants to be exceptional. Every kid underestimates his competition, and overestimates his chances. Every kid is a sucker for the idea that there's a way to make it without having to do the actual hard work.

So the bars of West Hollywood and New York are awash with people thowing their lives away in the desperate hope of finding a shortcut, any shortcut. And a lot of them aren't even young anymore; their B-plans having been washed away by Vodka & Tonics years ago.

Meanwhile their competition is at home, working their asses off.

15. The most important thing a creative person can learn professionally is where to draw the red line that separates what you are willing to do, and what you are not.

Art suffers the moment other people start paying for it. The more you need the money, the more people will tell you what to do. The less control you will have. The more bullshit you will have to swallow. The less joy it will bring. Know this and plan accordingly.
Recently I heard Chris Ware, currently one of the top 2 or 3 most critically acclaimed cartoonists on the planet, describe his profession as “unrewarding”.

When the guy at the top of the ladder you’re climbing describes the view from the top as “unrewarding”, be concerned. Heh.

I knew Chris back in college, at The University of Texas. Later, in the early 1990’s I knew him hanging around Wicker Park in Chicago, that famous arty neighbourhood, while he was getting his Masters from The School of The Art Institute, and I was working as a junior copywriter at Leo Burnett. We weren’t that close, but we had mutual friends. He’s a nice guy. Smart as hell.

So I’ve watched him over the years go from talented undergraduate to famous rockstar comic strip guy. Nice to see, certainly- it’s encouraging when people you know get deservedly famous. But also it was really helpful for me to see first-hand the realities of being a professional cartoonist, both good and bad. It’s nice to get a snapshot of reality.

His example really clarified a lot for me about 5-10 years ago when I got to the point where my cartoons got good enough to where I could actually consider doing it professionally. I looked at the market, saw the kind of life Chris and others like him had, saw the people in the business calling the shots, saw the kind of deluded planet most cartoon publishers were living on, and went “Naaaah.”

Thinking about it some more, I think one of the main reasons I stayed in advertising is simply because hearing “change that ad” pisses me off a lot less than “change that cartoon”. Though the compromises one has to make writing ads can often be tremendous, there’s only so much you have to take personally. It’s their product, it’s their money, so it’s easier to maintain healthy boundaries. With cartooning, I invariably found this impossible.

The most important thing a creative person can learn professionally is where to draw the red line that separates what you are willing to do, and what you are not. It is this red line that demarcates your sovereignty; that defines your own private creative domain. What shit you are willing to take, and what shit you’re not. What you are willing to relinquish control over, and what you aren’t. What price you are willing to pay, and what price you aren’t. Everybody is different; everybody has their own red line. Everybody has their own “Sex & Cash Theory”.

When I see somebody “suffering for their art”, it’s usually a case of them not knowing where that red line is, not knowing where the sovereignty lies.

Somehow he thought that sleazy producer wouldn’t make him butcher his film with pointless rewrites, but Alas! Somehow he thought that gallery owner would turn out to be a competent businessman, but Alas! Somehow he thought that publisher would promote his new novel properly, but Alas! Somehow he thought that Venture Capitalist would be less of an asshole about the start-up’s cash flow, but Alas! Somehow he thought that CEO would support his new marketing initiative, but Alas!

Knowing where to draw the red line is like knowing yourself, like knowing who your real friends are. Some are better at it than others. Life is unfair.

16. The world is changing.

Some people are hip to it, others are not. If you want to be able to afford groceries in 5 years, I'd recommend listening closely to the former and avoiding the latter. Just my two cents.
Your job is probably worth 50% what it was in real terms 10 years ago. And who knows? It may very well not exist in 5-10 years.

We all saw the traditional biz model in my industry, advertising, start going down the tubes 10 years or so ago. Our first reaction was "work harder".

It didn't work. People got shafted in their thousands. It's a cold world out there.

We thought being talented would save our asses. We thought working late and weekends would save our asses. Nope.

We thought the internet and all that Next Big Thing, new media and new technology stuff would save our asses. We thought it would fill in the holes in our ever more intellectually bankrupt solutions we were offering our clients. Nope.

Whatever. Regardless of how the world changes, regardless of what new technologies, business models and social architectures are coming down the pike, the one thing "The New Realities" cannot take away from you is trust.

The people you trust and vice versa, this is what will feed you and pay for your kids' college. Nothing else.

This is true if you're an artist, writer, doctor, techie, lawyer, banker, or bartender.

i.e. Stop worrying about technology. Start worrying about people who trust you.

In order to navigate The New Realities you have to be creative- not just within your particular profession, but in EVERYTHING. Your way of looking at the world will need to become ever more fertile and original. And this isn't just true for artists, writers, techies, Creative Directors and CEOs; this is true for EVERYBODY. Janitors, receptionists and bus drivers, too. The game has just been ratcheted up a notch.

The old ways are dead. And you need people around you who concur.

That means hanging out more with the creative people, the freaks, the real visionaries, than you're already doing. Thinking more about what their needs are, and responding accordingly. It doesn't matter what industry we're talking about- architecture, advertising, petrochemicals- they're around, they're easy enough to find if you make the effort, if you've got something worthwhile to offer in return. Avoid the dullards; avoid the folk who play it safe. They can't help you any more. Their stability model no longer offers that much stability. They are extinct, they are extinction.

17. Merit can be bought. Passion can't.

The only people who can change the world are people who want to. And not everybody does.
Human beings have this thing I call the "Pissed Off Gene". It's that bit of our psyche that makes us utterly dissatisfied with our lot, no matter how kindly fortune smiles upon us.

It's there for a reason. Back in our early caveman days being pissed off made us more likely to get off our butt, get out of the cave and into the tundra hunting wooly mammoth, so we'd have something to eat for supper. It's a survival mechanism. Damn useful then, damn useful now.

It's this same Pissed Off Gene that makes us want to create anything in the first place- drawings, violin sonatas, meat packing companies, websites. This same gene drove us to discover how to make a fire, the wheel, the bow and arrow, indoor plumbing, the personal computer, the list is endless.

Part of understanding the creative urge is understanding that it's primal. Wanting to change the world is not a noble calling, it's a primal calling.

We think we're "providing a superior integrated logistic system" or "helping America to really taste freshness". In fact we're just pissed off and want to get the hell out of the cave and kill the woolly mammoth.

Your business either lets you go hunt the woolly mammoth or it doesn't. Of course, like so many white-collar jobs these days, you might very well be offered a ton of money to sit in the corner-office cave and pretend that you're hunting. That is sad. What's even sadder is if you agree to take the money.

18. Avoid the Watercooler Gang.

They’re a well-meaning bunch, but they get in the way eventually.
Back when I worked for a large advertising agency as a young rookie, it used to just bother me how much the "Watercooler Gang" just kvetched all the time. The "Watercooler Gang" was my term for what was still allowed to exist in the industry back then. Packs of second-rate creatives, many years passed their sell-by date, being squeezed by the Creative Directors for every last ounce of juice they had, till it came time to firing them on the cheap. Taking too many trips to the watercooler and coming back drunk from lunch far too often. Working late nights and weekends on all the boring-but-profitable accounts. Squeeze, squeeze, squeeze…

I remember some weeks where one could easily spend half an hour a day, listening to Ted complain.

Ted used to have a window office but now had a cube ever since that one disastrous meeting with Client X. He would come visit me in my cube at least once a day and start his thing. Complain, complain, complain... about whatever… how Josh-The-Golden-Boy was a shit writer and a complete phoney... or how they bought Little-Miss-Hot-Pant's ad instead of his, "even though mine was the best in the room and every bastard there knew it."

Like I said, whatever.

It was endless...Yak Yak Yak… Oi vey! Ted I love ya, you're a great guy but shut the hell up…

In retrospect it was Ted's example that taught me a very poignant lesson- back then I was still too young and naïve to have learned it by that point- that your office could be awash with Clio's and One Show awards, yet your career could still be down the sink-hole.

Don't get me wrong- my career there was a complete disaster. This is not a case of one of the Alpha's mocking the Beta's. This is a Gamma mocking the Betas.

I'm having lunch with my associate, John, who's about the same age as me. Cheap and cheerful Thai food, just down the road from the agency.

"I gotta get out of this company," I say.

"I thought you liked your job," says John.

"I do," I say. "But the only reason they like having me around is because I'm still young and cheap. The minute I am no longer either… I'm dead meat."

"Like Ted," says John.

"Yeah… him and the rest of The Watercooler Gang."

"The Watercoolies," laughs John.

So we had a good chuckle about our poor, hapless elders. We weren't that sympathetic, frankly. Their lives might have been hell then, but they had already had their glory moments. They had won their awards, flown off to The Bahamas to shoot toilet paper ads with famous movie stars and all that. Unlike us young'uns. John and I had only been out of college a couple of years and had still yet to make our mark on the industry we had entered with about as much passion and hope as anybody alive.

We had sold a few newspaper ads now and then, some magazine spreads, but the TV stuff was still well beyond reach. So far the agency we had worked for had yet to allow us to shine. Was this our fault or theirs? Maybe a little bit of both, but back then it was all "their fault, dammit!" Of course, everything is "their fault, dammit" when you're 24.

I quit my job about a year later. John stayed on with the agency for whatever reason, then about 5 years ago got married, with his first kid following soon after. Suddenly with a family to support he couldn't afford to get fired. The Creative Director knew this and started to squeeze.

"You don't mind working this weekend, John, do you? Good. I knew you wouldn't. We all know how much the team relies on you to deliver at crunch time- that's why we value you so highly, John, wouldn't you say?"

Last time I saw John he was working at this horrible little agency for a fraction of his former salary. Turns out the big agency had tossed him out about a week after his kid's second birthday.

We're sitting there at the Thai restaurant again, having lunch for old time's sake. We're having a good time, talking about the usual artsy-fartsy stuff we always do. It's a great conversation, marred only by the fact that I can't get the word "watercooler" out of my goddamn head…

19. Sing in your own voice.
Piccasso was a terrible colorist. Turner couldn't paint human beings worth a damn. Saul Steinberg's formal drafting skills were appalling. TS Eliot had a full-time day job. Henry Miller was a wildly uneven writer. Bob Dylan can't sing or play guitar.
But that didn't stop them, right?

So I guess the next question is, "Why not?"

I have no idea. Why should it?

20. The choice of media is irrelevant.

Every media's greatest strength is also its greatest weakness. Every form of media is a set of fundematal compromises, one is not "higher" than the other. A painting doesn't do much, it just sits there on a wall. That's the best and worst thing thing about it. Film combines sound, movent, photography, music, acting. That's the best and worst thing thing about it. Prose just uses words arranged in linear form to get its point across. That's the best and worst thing thing about it etc.

Back in college I was an English Major. I had no aspirations for teaching, writing or academe, it was just a subject I could get consistently high grades in. Plus I liked to read books and write papers, so it worked well enough for me.

Most of my friends were Liberal Arts Majors, but there the similarity ended. We never really went to class together. I dunno, we'd meet up in the evenings and weekends, but I never really socialized with people in my classes that much.

So it was always surprising to me to meet the Art Majors: fine arts, film, drama, architecture etc. They seemed to live in each other's pockets. They all seemed to work, eat and sleep together. Lots of bonding going on. Lots of collaboration. Lots of incestuousness. Lots of speeches about the sanctity of their craft.

Well, a cartoon only needs one person to make it. Same with a piece of writing. No Big Group Hug required. So all this sex-fuelled socialism was rather alien to me, even if parts of it seemed very appealing.

During my second year at college I started getting my cartoons published, and not just the school paper. Suddenly I found meeting girls easy. I was very happy about that, I can assure you, but life carried on pretty much the same.

I suppose my friends thought the cartooning gigs were neat or whatever, but it wasn't really anything that affected our friendship. It was just something I did on the side, the way other people restored old cars or or kept a darkroom for their camera.

My M.O. was and still is to just have a normal life, be a regular schmoe, with a terrific hobby on the side. It's not exactly rocket science.

This attitude seemed kinda alien to the Art Majors I met. Their chosen art form seemed more like a religion to them. It was serious. It was important. It was a big part of their identity, and it almost seemed to them that humanity's very existence totally depended on them being able to pursue their dream as a handsomely rewarded profession etc.

Don't get me wrong, I knew some Art Majors who were absolutely brilliant. One or two of them are famous now. And I can see if you've got a special talent, how the need to seriously pursue it becomes important.

But looking back, I also see a lot of screwy kids who married themselves to their medium of choice for the wrong reasons. Not because they had anything particularly unique of visionary to say, but because it was cool. Because it was sexy. Because it was hip. Because it gave them something to talk about at parties. Because it was easier than thinking about getting a real job after graduation.

I'm in two minds about this. One part of me thinks it's good for kids to mess around with insanely high ambitions, and maybe one or two of them will make it, maybe one or two will survive the cull. That's what's being young is all about, and I think it's wonderful.

The other side of me wants to tell these kids to beware of choosing difficult art forms for the wrong reasons. You can wing it while you're young, but it's not till your youth is over that The Devil starts seeking out his due. And that's never pretty. I've seen it happen more than once to some very dear, sweet people, and it's really heartbreaking to watch.

21. Selling out is harder than it looks.

Diluting your product to make it more "commercial" will just make people like it less.
Many years ago, barely out of college, I started schlepping around the ad agencies, looking for my first job.

One fine day a Creative Director kindly agreed for me to come show him my portfolio. Hooray!

So I came to his office and showed him my work. My work was bloody awful. All of it.

Imagine the worst, cheesiest "I used to wash with Sudso but now I wash with Lemon-Fresh Rinso Extreme" vapid housewife crap. Only far worse than that.

The CD was a nice guy. You could tell he didn't think much of my work, though he was far too polite to blurt it out. Finally he quietly confessed that it wasn't doing much for him.

"Well, the target market are middle class houswives," I rambled. "They're quite conservative, so I thought I'd better tone it down..."

"You can tone it down once you've gotten the job and once the client comes after your ass with a red hot poker and tells you to tone it down," he laughed. "Till then, show me the toned-up version."

This story doesn't just happen in advertising. It happens everywhere.

22. Nobody cares. Do it for yourself.

Everybody is too busy with their own lives to give a damn about your book, painting, screenplay etc, especially if you haven't sold it yet. And the ones that aren't, you don't want in your life anyway.

Making a big deal over your creative schtick is the kiss of death. That's all I have to say on the subject.

23. Worrying about "Commercial vs. Artistic" is a complete waste of time.

You can argue about "the shameful state of American Letters" till the cows come home. They were kvetching about it in 1950, they'll be kvetching about it in 2050.
It's a path well-trodden, and not a place where one is going to come up with many new, earth-shattering insights.

But a lot of people like to dwell on it because it keeps them from having to ever journey into unknown territory. It's safe. It allows you to have strong emotions and opinions without witout any real risk to yourself. Without you having to do any of the actual hard work involved in the making and selling of something you believe in.

To me, it's not about whether Tom Clancy sells truckloads of books or a Nobel Prize Winner sells didly-squat. Those are just ciphers, a distraction. To me, it's about what YOU are going to do with the short time you have left on this earth. Different criteria altogether.

Frankly, how a person nurtures and develeps his or her own "creative sovereignty", with or without the help of the world at large, is in my opinion a much more interesting subject.

24. Don’t worry about finding inspiration. It comes eventually.

Inspiration precedes the desire to create, not the other way around.
One of the reasons I got into drawing cartoons on the back of business cards was I could carry them around with me. Living downtown, you spend a lot of time walking around the place. I wanted an art form that was perfect for that.

So if I was walking down the street and I suddenly got hit with the itch to draw something, I could just nip over to the nearest park bench or coffee shop, pull out a blank card from my bag and get busy doing my thing. Seamless. Effortless. No fuss. I like it.

Before, when I was doing larger works, every time I got an idea while walking down the street I’d have to quit what I was doing and schlep back to my studio while the inspiration was still buzzing around in my head. Nine times out of ten the inspired moment would have past by the time I got back, rendering the whole exercise futile. Sure, I’d get drawing anyway, but it always seemed I was drawing a memory, not something happening at that very moment.

If you’re arranging your life in such a way that you need to make a lot of fuss between feeling the itch and getting to work, you’re putting the cart before the horse. You’re probably creating a lot of counterproductive “Me, The Artist, I must create, I must leave something to posterity” melodrama. Not interesting for you or for anyone else.

You have to find a way of working that makes it dead easy to take full advantage of your inspired moments. They never hit at a convenient time, nor do they last long.

Conversely, neither should you fret too much about “writer’s block”, “artist’s block” or whatever. If you’re looking at a blank piece of paper and nothing comes to you, then go do something else. Writer’s block is just a symptom of feeling like you have nothing to say, combined with the rather weird idea that you SHOULD feel the need to say something.

Why? If you have something to say, then say it. If not, enjoy the silence while it lasts. The noise will return soon enough. I the meantime, you’re better off going out into the big, wide world, having some adventures and refilling your well. Trying to create when you don’t feel like it is like making conversation for the sake of making conversation. It’s not really connecting, it’s just droning on like an old, drunken barfly.

More thoughts on "How To Be Creative":

25. You have to find your own schtick.

A Picasso always looks like Piccasso painted it. Hemingway always sounds like Hemingway. A Beethoven Symphony always sounds like a Beethoven's Syynphony. Part of being a Master is learning how to sing in nobody else's voice but your own.
Every artist is looking for their big, definitive "Ah-Ha!" moment, whether they're a Master or not.

That moment where they finally find their true voice, once and for all.

For me, it was when I discovered drawing on the back of business cards.

Other, more famous and notable examples would be Jackson Pollack discovering splatter paint. Or Robert Ryman discovering all-white canvases. Andy Warhol discovering silkscreen. Hunter S Thompsonn discovering Gonzo Journalism. Duchamp discovering the Found Object. Jasper Johns discovering the American Flag. Hemingway discovering brevity. James Joyce discovering stream-of-conciousness prose.

Was it luck? Perhaps a little bit.

But it wasn't the format that made the art great. It was the fact that somehow while playing around with something new, suddenly they found themselves able to put their entire selves into it.

Only then did it become their 'schtick', their true voice etc.

That's what people responded to. The humanity, not the form. The voice, not the form.

Put your whole self into it, and you will find your true voice. Hold back and you won't. It's that simple.

26. Write from the heart.

There is no silver bullet. There is only the love God gave you.

As a professional writer, I am interested in how conversation scales.

How communication scales, x to the power of n etc etc.

Ideally, if you’re in the communication business, you want to say the same thing, the same way to an audience of millions that you would to an audience of one. Imagine the power you’d have if you could pull it off.

But sadly, it doesn’t work that way.

You can’t love a crowd the same way you can love a person.

And a crowd can’t love you the way a single person can love you.

Intimacy doesn’t scale. Not really. Intimacy is a one-on-one phenomenon.

It's not a big deal. Whether you’re writing to an audience of one, five, a thousand, a million, ten million, there’s really only one way to really connect. One way that actually works:

Write from the heart.

There is no silver bullet. There is only the love God gave you.

27. The best way to get approval is not to need it.
This is equally true in art and business. And love. And sex. And just about everything else worth having.

About 15 years ago I was hanging out in the offices of Punch, the famous London humor magazine. I was just a kid at the time, for some reason the cartoon editor (who was a famous cartoonist in his own right) was tolerating having me around that day.

I was asking him questions about the biz. He was answering them as best he could while he sorted through a large stack of mail.

"Take a look at this, Sunshine," he said, handing a piece of paper over to me.

I gave it a look. Some cartoonist whose name I recognised had written him a rather sad and desperate letter, begging to be published.

"Another whiney letter from another whiney cartoonist who used to be famous 20 years ago," he said, rolling his eyeballs. "I get at least fifty of them a week from other whiney formerly-famous cartoonists."

He paused. Then he smiled an wicked grin.

"How not to get published," he said. "Write me a frickin' letter like that one."

28. Power is never given. Power is taken.
People who are "ready" give off a different vibe than people who aren't. Animals can smell fear; maybe that's it.

The minute you become ready is the the minute you stop dreaming. Suddenly it's no longer about "becoming". Suddenly it's about "doing".

You don't get the dream job because you walk into the editor's office for the first time and go, "Hi, I would really love to be a sports writer one day, please."

You get the job because you walk into the editor's office and go, "Hi, I'm the best frickin' sports writer on the planet." And somehow the editor can tell you aren't lying, either.

You didn't go in there, asking the editor to give you power. You went in there and politely informed the editor that you already have the power. That's what being "ready" means. That's what "taking power" means.

Not needing anything from another person in order to be the best in the world.

29. Whatever choice you make, The Devil gets his due eventually.
Selling out to Hollywood comes with a price. So does not selling out. Either way, you pay in full, and yes, it invariably hurts like hell.

People are fond of spouting out the old cliché about how Van Gogh never sold a painting in his lifetime. Somehow his example serves to justify to us, decades later, that there is somehow merit in utter failure.

Perhaps, but the man did commit suicide. The market for his work took off big-time shortly after his death. Had he decided to stick around another few decades he most likely would’ve entered old age quite prosperous. And sadly for failures everywhere, the cliché would have lost a lot of its power.

The fact is, the old clichés work for us in abstract terms, but they never work out in real life quite the same way. Life is messy; clichés are clean and tidy.

Of course, there is no one “true way”. Whether you follow the example of fame-and-glamor Warhol or poor-and-miserable Van Gogh doesn’t matter in absolute terms. Either extreme may raise you to the highest heights or utterly destroy you. I don’t know the answer, nor does anybody else. Nobody but you and God knows why you were put on this Earth, and even then…

So when a young person asks me whether it’s better to sell out or stick to one’s guns, I never know what to answer. Warhol sold out shamelessly after 1968 (the year he was wounded by the gunshot of a would-be assassin) and did OK by it. I know some great artists who stuck to their guns, and all it did was make them seem more and more pathetic.

Anyone can be an idealist. Anyone can be a cynic. The hard part lies somewhere in the middle i.e. being human.

30. The hardest part of being creative is getting used to it.If you have the creative urge, it isn't going to go away. But sometimes it takes a while before you accept the fact.
Back in 1989, I was in West London, house-sitting a family member's lovely little flat over the summer. In the flat above lived the film director, Tim Burton who was in town for a couple of months, while he was filming "Batman, The Movie".
We got to know each other on-and-off quite well that year. We weren't that close or anything, but we saw each other around a lot. He was a pretty good neighbor, I tried to be the same.

At the time I was in my last year of college, studying to go into advertising as a copywriter. One night he and his then wife came over for dinner.

Somewhere along the line the subject of my careeer choice came up. Back then I was a bit apprehensive about doing the "creative" thing for a living... in my family people always had "real" jobs in corporations and banks etc, and the idea of breaking with tradition made me pretty nervous.

"Well," said Tim, "if you have the creative bug, it isn't ever going to go away. I'd just get used to the idea of dealing with it."

It was damn good advice. It still is.

(To read more, go visit the original shorter version here)

Posted by hugh at August 22, 2004 06:55 PM | TrackBack

Sometimes I find languages are too limited to express one's feeling..... it was a brilliant piece I have read for a long time......

Posted by: Subhra Ray at August 29, 2004 04:31 AM
Marvellous. This compilation of all postings into a single one is amazing and shows the effort put into this series. Thanks again.

Posted by: Mario at August 29, 2004 12:27 PM
I agree with Subhra. It was a brilliant piece that took forever to read.

Posted by: jon at August 29, 2004 12:41 PM
damn, he's dumb!

Posted by: Guy at August 29, 2004 02:58 PM
This is inspired work. By that I mean, I've found someone who can get their ego out of the way long enough to write something that smacks of the truth. Well done.

Posted by: RGrant at August 29, 2004 05:59 PM
Thanks Hugh. Saves me having to copy/paste all your posts into my document on my desktop so that I have a copy that looks like this! Much better.

Posted by: Troy Angrignon at August 30, 2004 04:53 AM


*kicks watercooler and drains it, then channels water past a windmill that powers.......???*

Posted by: shi at August 30, 2004 06:03 AM
Hugh, Thanks for writing this piece. I personally found it very honest and realistic, and at the same time also very encouraging. I like the bubbling enthusiasm that hides under all the dire warnings!

Posted by: John Clift at August 30, 2004 02:51 PM
They (and you know how they are) say that when the student is ready, a teacher appears. Thanks for an excellent, resonant lesson.

Posted by: Bob Hawks at August 30, 2004 10:31 PM
My wife (the artist) pointed me at this - very profound. Thank you.

I must say, however, that my *not* being an artist contributed to my *totally* misinsterpreting the "The choice of media is irrelevant." item, quite to my amusement when I actually read the details.

Interpret that line from the POV of "media" == "big TV" (vs. "media" == "paint, ink, whatever") and you'll see what I mean.

The sentiment works both ways, though... :)

Posted by: John Hardin at August 30, 2004 11:21 PM
Thanks for telling us what we already know, but all needed to confirm.

Posted by: T at August 31, 2004 01:17 AM
Thanks for telling us what we already know, but all needed to confirm.

Posted by: T at August 31, 2004 01:18 AM
This was neat. I am going to keep a bookmark on this.

Posted by: Maralena at August 31, 2004 02:34 AM
This was neat. I am going to keep a bookmark on this.

Posted by: Maralena at August 31, 2004 02:34 AM
This was neat. I am going to keep a bookmark on this.

Posted by: Maralena at August 31, 2004 02:34 AM
Good Stuff.

Posted by: Clint at August 31, 2004 02:36 AM
Lot of wisdom here - going to take me awhile to absorb. "Do or do not. There is no try." - Yoda

Posted by: kara at August 31, 2004 02:44 AM
Hugh, I have always been a fan and continue to be so. You are wise grasshopper. So wise.

Posted by: David Freedman at August 31, 2004 10:47 AM
You just continue to rule, Hugh. This was a much needed read for me... going through my own personal 'creative/work' hell right now. You've inspired me. Thank you. x

Posted by: gia at August 31, 2004 04:48 PM
I didn't finish reading it because my risotto was burning (my dead mother heard that), but I hope to finish it by the end of the month. Capricorns are slow learners, or so I was told.

You write like someone in recovery. Witty, sometimes brilliant, and a little repetitious. But that's OK, keep coming back.

There is a great deal of rich material here that I hope I can use one day, like a good dentifrice, My neurons are not exactly connecting at the moment (or is that charging?), nor am I wrapped very tight. I need a creative idea to avoid eviction notice. My paintings don't seem to move very many people. Oh well, to paraphrase that patron saint of homosexuals, Norma Desmond, "It's not the pictures that got small, it's my paycheck".

Posted by: bitch-en-l'ile at September 1, 2004 07:41 PM
That is awesome.

Posted by: Impropaganda at September 2, 2004 10:02 AM
I liked reading this and some of it I might even remember when I'm arguing with my self, over my life-philosophies and such. I think much of this will help me, especially the part about being hard-working. Things don't happen by themselves.

Posted by: Maze at September 3, 2004 08:13 PM
oooh! this iz cool, men!

Posted by: sheilajule at September 8, 2004 11:17 AM
Wow it is strange reading facts the smack home the truth too you. Yet you were never truly aware of the truth till it was right in front of your eyes.So many statments ring true.

I am at a point of my life where I decide a safe predictable career or a creative exciting one- that could either land me in the gutter or looking at the stars. Some how I just think I will regret not ever knowing what could have been. If it all goes wrong at least I tried to climb my everest.

Well Hugh, you have found your calling. Expand on these musings a make a book. Everybody loves it.

Posted by: Claire at September 8, 2004 06:30 PM
You are my new god.

Brilliant piece.

Posted by: Neil at September 9, 2004 11:14 AM

Posted by: David at September 9, 2004 02:45 PM
If you like, drop by my site and get a good clear glance at the produce of commercial, heartless work. It's the product of my "uninformed view of some hypothetical market".

Thankfully it's only five days old and I can still call it a "start".

This is the first time I've been here or read anything you've written. I only wanted to thank you for a long article. Long enough, quite enough that I could hear the stirrings that prompted me to build the site in the first place.

Here's the new premise for my hobby:

Business plan

Here’s the thing - many many people suck at business. It doesn’t mean their bad people. But they are bad bosses, bad managers, bad decision makers, and they need help.

Here’s the other thing. Most of those people had a really great idea that got them going. They've got their own brilliance and they're just in the wrong spot.

Here's the last thing. I’m really good at seeing the value of other people’s innovations and ideas. I get excited about things that fit, harmony, essence and grace. The art of business

And people that suck in business really need my help to package their brilliance.

So here’s the plan. I will work hard to be articulate, creative, honest and insightful. At every opportunity I'll help people be brighter. And it will always be my hobby.


Posted by: Jeremy at September 10, 2004 04:19 AM
Hilarious and well put!

Posted by: Kathryn at September 10, 2004 05:51 PM
this thing was great! very inspiring for this young and naive art student = )

Posted by: jayne at September 11, 2004 12:08 AM
I find this article very amusing. If you really sit back and try to get what they're saying, it is really quite true. This is quite some good advice, especially to myself, as an artist! Thanks for listening!!

Posted by: brittneyH at September 14, 2004 12:57 AM
What do I think? Well …IF ONLY WAS THAT SIMPLE !! .. ......I’d STOP LOOKING …but I’ll carry on… …this is the beginning... IF THERE IS AT ALL A GUIDE … points me in the right direction!! thanks!!

I Agree! ...but not at the extent of...well, "been a follower"...It wouldn't be right to be like the rest :-) ...and perhaps as you said:"All existing... models are wrong. Find a new one" ...I'll improve on this ...will let you know! ...maybe one day I'll stop pouring your wine.upss! a spill!!!!!!!!

Posted by: El Tito at September 15, 2004 12:43 PM
This is a wonderful article. I have linked to it from my site ( in today's links, which will be archived on Saturday night or Sunday. I'd also like to link to it from my writer's resources page, but would need your permission for that. Check out the site and email if that'd be okay.

Posted by: Virginia at September 18, 2004 09:46 AM
this is deep.........

Posted by: ace at September 21, 2004 10:48 AM
Hi, great piece. I'm in love with Nicole Kidman. Her beauty inspires me in many ways, and I have written several songs with her in mind.

In creativity, its important to have a muse.

Posted by: Meade Skelton at September 30, 2004 02:14 PM
this is pretty high-larious

Posted by: haikus at October 7, 2004 05:12 PM
Absolutely wonderful. furled it. am gonna blog it. remember it. use it. thanks.

Posted by: Nazeer at October 8, 2004 03:10 AM
Absolutely bloody hilarious and honest! Fantastic.

Posted by: darryl at October 11, 2004 08:01 PM
Brilliance is the thing you read and you think, 'That's exactly what I believe, but I could never have found such a perfect way to articulate it.' Thank you. Don't stop. I'd write more, but I just remembered I'm looking for Everest.

Posted by: rob at October 22, 2004 05:36 AM
Marvelous, pure thought that differs from the straight line we call earth.

Posted by: Henry at October 26, 2004 02:35 AM
Very interesting text to read.

I agree and disagree with you on every point metioned ? why ? because I like to see things in absolute relativity.

More like an absolute flow of existance. (Now I guess you´ve heard that one before)

With you writing this down you are fixing this flow into text while the flow is still going on, just like I am now, while you are constantly going on an changeing just like you discribed the world does to.

I still love the indepth angel and way you have discribed this infinate issue and yet keped it so simple.

Excuse my english, it´s not my first language ?!

Posted by: Philip at November 9, 2004 09:36 PM
this is great stuff only I'm already under these protocols... one you should add is "just don't give a fuck.."

Posted by: Ahmad A. el Itani at November 10, 2004 11:19 AM
Good stuff. I read the whole thing and I have A.D.D.

I disagree on only one point; "Picasso was not a great colorist"

It`s a bit like saying Frank Lloyed Wright was a lousy carpenter.

Patron standing next to Picasso at one of his exhibits: "What does this painting represent Mesiuer (sp) Picasso?

Picasso: "it represents 7 miliion francs madame."

Posted by: JJGittes at November 25, 2004 11:02 AM
This advice kinda makes me want to turn the computer off for a few weeks and take the time to rethink what the hell I am striving for.

Thanks for the wake-up call.

Posted by: Edibletv at November 26, 2004 08:15 PM
So popular! Really terrific!~ Hope you'll contribute more.

Posted by: Mabel at December 7, 2004 04:52 PM
Don't I know you from somewhere? Ah, I got it... we work the same place. :)

Posted by: Paul Bischoff at December 10, 2004 04:14 PM
Wonderful! Brilliant! Insightful! Clever too. But I disagree with #7. Day jobs are what kill us - in your metaphor they make us impotent. When I was your age I was an advertising copywriter - and I am still mad at client-banker Bill Green who had the power to step on my best lead line. If you get stuck in a day job, hate it, fight it, escape! Cash for sex, that's the formula for a joyful life. As a fairly prim 68-year-old woman, I would prefer another metaphor.

Posted by: Judy Breck at December 29, 2004 01:15 PM
This was a very heady read. Thanks a buttload!

Posted by: Alter Nation at December 29, 2004 04:03 PM
te alabamos señor..está bueno

Posted by: waka at December 31, 2004 11:42 AM
I don't know what the moral of this story is but; I spent several months working with someone who, I thought had the most obvious hair piece ever invented. I mean it curled up at the edges, frizzed under strong light sources, went brittle in the cold and damn near slipped off when he perspired. Everyone pointed, kids chuckled, people whispered and some even got bold enough to comment. These comments made him somewhat irate and it dawned on me that he actually believed it was real hair. Then I began wondering if he was quite stable, was he in some form of denial? Had it been surgically replaced during a coma? Did he really not know? I became obsessed and began plotting ways of revealing the terrible secret to him. By my careful manouvering we started having the occassional social drink and in this lay my opportunity. He was a heavy drinker and prone to collapse in public houses, he was also shrewd and no one could associate with him who was not also prepared to down gallons of alchohol. I drank and I waited for my chance until it came when, one evening, he lay sprawled accross a seat in the local pub. My problem was that I had also been wobbling on the verge of stupour and collapse. Not to worry, I was determined, I scrambled my way accross to him and tugged at his hair piece......? It didn't come off, I pulled harder, it was damn good glue or something. I held up four fingers to myself but I could see six. I looked closely at his scalp and I am quite convinced that every single hair had a root, it was real hair, all of it, but how..........? I collapsed...... alchohol poisoned.

Since that day people have been looking at me funny. I don't know why especially, apart from the excessive drinking seems to have affected my hair a little bit. I had a good look in the mirror and it did seem a bit odd. To start with I though he had got back at me by shaving my head while I was out cold. I thought he had glued a hair piece to my head but I can't pull it off and I'm sure there are roots. It's just something is not quite right about it............I'm not sure what though?