Monthly Archives: September 2005

Web Development Trends for 2006

Web Development Trends for 2006.

about what technologies and techniques are going to be popular in the
coming months and into the next year? Well, our crack team of editors
here at (that is to say, me) have assembled a list of
up-and-coming trends that you should keep an eye on. Call it vocational
education for people building Web 2.0.

Some of the overall areas of focus are integration (as always) and
front-end technologies that have highly visible impacts on end user
experience. People won't pay for a service or rely on it if it doesn't
have a robust back-end infrastructure, but they'll be happy to pay for
it if the front-end is attractive and at least seems usable.

Here, then, is a random assortment of new web development trends to be ready for in 2006. . . .

  • Marketing:

Okay, this one's not a technology. But geeks really need to
learn how to explain their skills, the benefits of their skills, and
the business advantages provided by those benefits. Knowing half a
dozen programming languages won't help you if you can't communicate
with the people who want to hire you. And your
language/platform/development environment of choice won't succeed
unless you do a great job of evangelizing it and promoting it to
others, including non-technical people.

First, be an expert with a technology. Second, be even better at
explaining the value of that technology. If you can do those things, it
doesn't matter which of the items you pick off of the list above.

The Bottom Line

If you have a friend who's looking to change jobs, or know a
disgruntled person who's been laid off and Lou Dobbs has convinced him
to blame Indian engineers for it, send them this list, and check back
with them in a few months to see if they've taken the time to learn
some new skills. No whining, just go do some reading. Buy some O'Reilly
books or Google up some docs online, and then get hacking. By the time
you're good enough to start posting your sample applications, employers
will be searching for your blog just to find the talent they need.

Got more ideas of what should we should be studying up on? Feel free to comment. [Anil Dash]

Code Debt

Code Debt.

I’ve been pondering a new term I heard the other day. The term is “code debt.” I heard it while listening to Jason Fried in this podcast and I can’t stop thinking about it.

debt to me is very real. It’s the debt you have to keep paying back
when you have software that needs to be maintained, upgraded, and
generally supported over years. The more debt you have the more your
life will be consumed by it. You could call it an obligation to support
a product or solution.

It’s a fantastic concept and something
I keep seeing. I’ve even experienced this myself. Where you take on a
project and build a software solution and then you end up having to
support and maintain it over the years.

Jason at 37signals
uses this to explain why you should release a smaller, simpler product.
Less code equals less future maintenance.

It really makes
you think twice about getting into a new project. More and more these
days I’m asking myself. What’s going to happen in 6 months when the
client realizes that this is not enough. That they’re going to want to
upgrade to the latest version, or have us write custom modules to do
new things. Or when something breaks.

Curious if you’ve experienced this or thought about it?  

Power bubbles for the iFolder Linux Client

Power bubbles for the iFolder Linux Client.

I've been working to enhance
the capability of the notification bubbles in the Linux Client so users
will be able to take action immediately when they get a notification
(i.e., click on a link presented to them in the bubble). Additionally,
I'm strongly contemplating changing the initial modal dialog that
appears when you first start iFolder on a brand new machine to use a
notification bubble . . .

A couple reasons I believe moving the initial dialog from a modal window to a notification window:

  • It points right to our main iFolder icon where they'll be able to access other features
  • It's not so “in your face” that you have to take care of it right away
    • If
      the notification bubble times out and disappears before the user was
      able to take any action, they would know exactly where to go to do
      anything with iFolder. A user can easily left-click the iFolder icon
      (also a new feature) to bring up a menu with things they can do.
  • This is much cooler than a standard dialog!

[Boyd's Blog]

How to become a hacker

How to become a hacker. #

Monday in a “chatroom interview” in Beijing someone asked me how to
become a hacker. (Those of you visiting this web page from the People
Magazine article, you should know the term “hacker” here refers to a
computer programmer, not an internet vandal).

My interlocateur
wanted to contribute to an open source project, but what tools should
he use? What books should he read? Where should he hang out? Where
should he start?

I've been asked this a few times so I thought I'd repeat my answer here. Miguel tells me he gets this question all the time too, and gives the same answer I do.

So, I'll let you in on the secret. Here are the steps to becoming a hacker:

  1. Download the source code to the program you want to change
  2. Untar it on your hard drive
  3. Get it to build and run
  4. Open the source code in an editor
  5. Find the part of the code that you need to change to make the program do what you want it to do
  6. Make the changes you need to make to the code and test it to make sure it works
  7. Run the diff -u command and email the output to the mailing list

That's it; follow those instructions and I guarantee you will be a hacker.

If there are no programs that you want to change, then maybe you don't
want to be a hacker after all. Or maybe you haven't used software
enough; how can you be a software user in 2005 and not have things you
want to change?

Steps 1-4 sound stupid and obvious, but the
fact is most people get stuck on step 1. Can you be a hacker if you
don't have any source code on your computer? It might be possible but I
haven't seen it done.

If you bloody your toes on step 3 a few
times, don't be discouraged. It is ridiculous and humiliating but
sometimes this step takes the longest and is the most difficult.

If you're lucky, step 5 is as easy as grepping the source tree for some
relevant string from the program's GUI or output. It's more likely that
you'll need to spend some time figuring out the layout of the code,
sprinkling source files with printf's as you home in on the right area. It might also help to step through things in a debugger.

Step 5 gets easier the more experience you have. The more code you've
read, the more programming patterns you know. Recognizing programming
idioms makes it easier to figure out what someone else was thinking
when he wrote the code you're trying to change. Of course step 5 is
also easier if the software you're working on was written by a
programmer with a lot of experience, who tries extra hard to write
easy-to-understand code. Programmers with experience write
easier-to-read code because they've been through the shock of having to
fix a bug in code they wrote a year earlier and recognizing nothing.

Step 6 is commonly referred to as “hacking” but it's not always the
part that takes the longest. If you're trying to hack a change into
something big and complex, expect step 5 to eclipse step 6 in time
consumption. One of the best hackers at Novell recently spent two
months working on a hack involving Wine
that ended up being a two line change. So prepare yourself mentally to
spend a lot of time in step 5 before you reach step 6, and sometimes to
go back from 6 to 5 a few times.

But most people don't reach
this point, so if you're at step 6 you can safely call yourself a
hacker. Whole books are written on how to do a good job of step 6, so I
won't elaborate too much here, except to say that you probably can't be
good at writing code until you've written a huge amount of it.

The real key to being a hacker is getting to the point where you're hacking.
Without source code, a working build and a working knowledge of the
layout of the code, you're not even able to start hacking. But once you
know your way around in there and you're writing code and watching the
program take shape, well, that's the fun part.

You just gotta get there.   [nat friedman]

Learn how search engines rank pages

Learn how search engines rank pages.

Over at SEOmoz there is a great page that explains how search engines go about ranking your pages.

This article contains a large list of the factors that can
influence a web document's rank at the major search engines (Yahoo!,
MSN, Google & AskJeeves) for a particular term or phrase.

This is great stuff for any Web publisher to know. Search engines
can be a bit mysterious with their rankings at best, but knowing even a
little can help you set yourself up to be found.

Desirable Traits in a CIO

Desirable Traits in a CIO.

now and then, I think it would be great to be a CIO, in part because
the title seems so cool. As a CIO, you get invited to great conferences
for “C level” executives. And you get a great magazine – CIO magazine,
one of my favorite magazines

Speaking of CIO magazine and CIOs, CIO Insight has a great article on desirable traits in a CIO.
Now, you will need to get past the inflammatory title (“Does it Take a
Psychopath to Make a Good CIO?”) and read the substance of the article,
because the article really answers the question posed by the title with
a “no.”

If you are a CIO, are a firm with a CIO or are a firm
thinking about hiring a CIO (hmmm, I think that may cover everyone),
this article will give you a way to think about the CIO position in
your firm or organization.

Here are the money quotes:

tend to love technology,” said Berg. “But not in the same way as
programmers or system administrators, who gravitate toward technology
because they think it's cool. CIOs are much more interested in what
technology can do for a company than simply what it can do, period.
That's an important distinction in terms of personality.”


good ones have a balanced view of people, process and technology. They
care about how the company meets its goals while embracing technology.
They have to be emotionally invested to do that.”

These quotes strike me as right on target.

now I'm back in the wanting-to-be-a-CIO mode. But I think that really
means I want to be a part-time CIO or a CIO splitting time between
several firms or organizations.

I'm thinking about putting
together a package of consulting services that does exactly that. I'd
welcome any comments and suggestions from readers to help me think that
through and put that package together.

If you wanted to get a
package of services that approximated what a CIO might do for you, what
would that package include? I'll share the ideas I receive.  []

Iraq turns to Iran for Infrastructure

Iraq turns to Iran for Infrastructure

The recent bevy of deals between Iraq and Iran have one common theme:
they provide Iraq with the critical infrastructure they need to revive
their economy. Deals for oil processing, petrol (which Iraq needs to
import), electricity (which is below pre-war levels and half pre gulf
war 1 levels), a deep water port, food, the list goes on.

Juan Cole stumbles into this with
his article
in Slate today:

was not only history that brought Jaafari to the foothills of the
Alborz mountains. The Iraqi prime minister was attempting to break out
of the box into which his government has been stuffed by the Sunni Arab
guerrilla movement. Jaafari's government does not control the
center-north or west of the country and cannot pump much petroleum from
Kirkuk because of oil sabotage. Trucking to Jordan is often difficult.
The Jaafari government depends heavily on the Rumaila oil field in the
south, but lacks refining capability. Iraq lacks a deep water port on
the Gulf and needs to replace inland “ports” like Amman because of poor
security. An initiative toward the east could resolve many of these
problems, strengthening the Shiites against the Sunni guerrillas
economically and militarily and so saving the new government.

At this juncture, even the political victory sought in this war has
been undermined by global guerrillas and their new methods of system
disruption.   [John Robb's Weblog]