How to never lose any work ever again

We've all done it: Lost work. And as much as we'd like to blame the freak power cut at 1am, the "stupid application" for "crashing again" or the "heap of junk" that is our computer, the blame really rests with us: Quite possibly with our choice of software applications or hardware but, more than likely, with our work habits. Do you save religiously every five minutes? Do you use source control? Do you take off-site backups?

[I'm] sure that many of us would like to answer "yes" to all of the above questions but, unfortunately, many times it's the like-tos and wish-I-hads that are at the root of our problems with losing work.

How to be a Programmer: A Short, Comprehensive, and Personal Summary

To be a good programmer is difficult and noble. The hardest part of making real a collective vision of a software project is dealing with one's coworkers and customers. Writing computer programs is important and takes great intelligence and skill. But it is really child's play compared to everything else that a good programmer must do to make a software system that succeeds for both the customer and myriad colleagues for whom she is partially responsible. In this essay I attempt to summarize as concisely as possible those things that I wish someone had explained to me when I was twenty-one.

This is very subjective and, therefore, this essay is doomed to be personal and somewhat opinionated. I confine myself to problems that a programmer is very likely to have to face in her work. Many of these problems and their solutions are so general to the human condition that I will probably seem preachy. I hope in spite of this that this essay will be useful.

Definition of information management terms

There is considerable confusion in the marketplace regarding the definition of various information management terms. The scope and role of specific information systems is particularly blurry, in part caused by the lack of consensus between vendors.

With the aim of lessening this confusion, this briefing provides an at-a-glance definition of terms for a range of information systems.

How To Eliminate The Ten Most Critical Internet Security Threats

The majority of the successful attacks on operating systems come from only a few software vulnerabilities. This can be attributed to the fact that attackers are opportunistic, take the easiest and most convenient route, and exploit the best-known flaws with the most effective and widely available attack tools. They count on organizations not fixing the problems, and they often attack indiscriminately, scanning the Internet for any vulnerable systems. System compromises in the Solar Sunrise Pentagon hacking incident, for example, and the easy and rapid spread of the Code Red and NIMDA worms can be traced to exploitation of unpatched vulnerabilities.

Two years ago, the SANS Institute and the National Infrastructure Protection Center (NIPC) released a document summarizing the Ten Most Critical Internet Security Vulnerabilities. Thousands of organizations used that list, and the expanded Top Twenty, which followed a year later, to prioritize their efforts so they could close the most dangerous holes first. The vulnerabilities that led to all three examples above - the Solar Sunrise Pentagon incident, and the Code Red and NIMDA worms - are on that list.

FTP for Beginners - Simple Tutorial

A very quick and descriptive tutorial (forum post) covering basics of FTP (File Transfer Protocal).

Network Security Assessment

If you want to run a business with a website, security must be high on your list of important matters to get right up front. In this article, you will learn about Internet-based network security assessment and penetration testing, which can help you determine your website's risk of being successfully attacked -- and what to do to fix any problems. It is taken from chapter one of the book Network Security Assessment by Chris McNab (O'Reilly, 2004; ISBN: 059600611X).

Information Architecture Primer

What is information architecture? Organising functionality and content into a structure that people are able to navigate intuitively doesn't happen by chance. Organisations must recognise the importance of information architecture or else they run the risk of creating great content and functionality that no one can ever find.

This article provides an introduction to information architecture, discusses the evolution of the discipline and provides a 9-step guide for how to create an effective information architecture.

Joins, Temporary Tables, and Transactions

In this chapter, we'll discuss three additional features you can use to speed up your MySQL applications. While these aren't directly related to one another, each represents an opportunity to decrease the amount of database or code overhead required to perform useful tasks with MySQL by combining queries or operations on the code level into fewer units that perform more work.

Ontology is Overrated: Categories, Links, and Tags

Today [I] want to talk about categorization, and [I] want to convince you that a lot of what we think we know about categorization is wrong. In particular, [I] want to convince you that many of the ways we're attempting to apply categorization to the electronic world are actually a bad fit, because we've adopted habits of mind that are left over from earlier strategies.

Build a [Mac OS X - Tiger] Dashboard Widget - part 1

Dashboard is a new environment that allows users to run mini-applications called widgets. These widgets, while able to use all of the advanced features of Tiger, are simple to use and simple to develop. This is the first in a series of two articles that gives an introduction to developing Dashboard widgets. This article will focus on the basics of widget development and then go over the steps required to develop a widget that displays *nix man pages.

Newer articles Older articles