PHP Security Consortium: The PHP Security Guide.
"With Serna, general users and professional authors alike can create and maintain complex XML documents. With minimal training, most people will find it as easy to use as a conventional word processor.
[...] Serna is unique because it allows users to edit documents in print appearance , thereby greatly simplifying and shortening the document maintenance cycle. Having print appearance means that users have a real view of layout, section numbering, TOC, data merged from other documents, etc.
Serna uses the most prominent open publishing standards of the day: XSLT and XSL-FO during the whole authoring process. Most other editors which claim to be WYSIWYG use simple (often proprietary) stylesheets which provide only a limited view of the document, usually very different from the final presentation."
Paul Graham - What You'll Wish You'd Known, written as a talk for a high school:
"Now I know a number of people who do great work, and it's the same with all of them. They have little discipline. They're all terrible procrastinators and find it almost impossible to make themselves do anything they're not interested in.
[...] The important thing is to get out there and do stuff. Instead of waiting to be taught, go out and learn.
[...] The only real difference between adults and high school kids is that adults realize they need to get things done, and high school kids don't. That realization hits most people around 23. But I'm letting you in on the secret early. So get to work. Maybe you can be the first generation whose greatest regret from high school isn't how much time you wasted."
"Consider a future device for individual use, which is a sort of mechanized private file and library. It needs a name, and to coin one at random, "memex'' will do. A memex is a device in which an individual stores all his books, records, and communications, and which is mechanized so that it may be consulted with exceeding speed and flexibility. It is an enlarged intimate supplement to his memory.
[...] It affords an immediate step, however, to associative indexing, the basic idea of which is a provision whereby any item may be caused at will to select immediately and automatically another. This is the essential feature of the memex. The process of tying two items together is the important thing.
When the user is building a trail, he names it, inserts the name in his code book, and taps it out on his keyboard. [...]
Thereafter, at any time, when one of these items is in view, the other can be instantly recalled merely by tapping a button below the corresponding code space. Moreover, when numerous items have been thus joined together to form a trail, they can be reviewed in turn, rapidly or slowly, by deflecting a lever like that used for turning the pages of a book. It is exactly as though the physical items had been gathered together to form a new book. It is more than this, for any item can be joined into numerous trails."
It affords an immediate step, however, to associative indexing, the basic idea of which is a provision whereby any item may be caused at will to select immediately and automatically another. This is the essential feature of the memex. The process of tying two items together is the important thing.
When the user is building a trail, he names it, inserts the name in his code book, and taps it out on his keyboard.
By Eric Freeman and David Gelernter back in 1997: "Lifestreams is built on a simple storage metaphor --- a time-ordered stream of documents combined with several powerful operators --- that replaces many conventional computer constructs (such as named files, directories, and explicit storage) and in the process provides a unified framework that subsumes many separate desktop applications to accomplish and handle personal communication, scheduling, and search and retrieval tasks. While our current prototype is tailored to managing personal information, a "lifestream" is also a natural framework for managing enterprise information and web sites; we are just beginning to explore such use."
"TMCore05 allows developers to take full advantage of the power of topic maps in their applications. The engine provides a robust store for multiple topic maps; an extensive API accessible via any language supported by the Microsoft CLR; and a high-level web services interface that allows both reading and updating of topic maps using SOAP-based web service calls.
The engine makes use of Microsoft SQLServer 2000 to provide scalable, persistent storage and is designed to allow multiple instances to access the same data store simultaneously using an optimistic locking strategy to minimize development overhead."
Joey Hess - Keeping Your Life in Subversion:
"I keep my life in a Subversion repository. For the past five years, I've checked every file I've created and worked on, every email I've sent or received, and every config file I've tweaked into revision control. Five years ago, when I started doing this using CVS, people thought I was nuts to use revision control in this way.
[...] I see three main benefits of keeping my entire home directory in svn:
- home directory replication
- distributed backups"
Jakob Nielsen's Alertbox on the Top-10 New Mistakes of Web Design is old (from 1999), but (sadly) still relevant - I've lost hope that sites like heise.de and golem.de will ever get this:
"Opening up new browser windows is like a vacuum cleaner sales person who starts a visit by emptying an ash tray on the customer's carpet. Don't pollute my screen with any more windows, thanks (particularly since current operating systems have miserable window management). If I want a new window, I will open it myself!
Designers open new browser windows on the theory that it keeps users on their site. But even disregarding the user-hostile message implied in taking over the user's machine, the strategy is self-defeating since it disables the Back button which is the normal way users return to previous sites."
Giles Turnbull - Software stories:
"I hope more developers will start telling the stories behind their apps; it's interesting for anyone who uses the app, and can really help them understand little details."
Joel Spolsky's Advice for Computer Science College Students:
"When you look at any programming organization, the programmers with the most power and influence are the ones who can write and speak in English clearly, convincingly, and comfortably. Also it helps to be tall, but you can't do anything about that.
The difference between a tolerable programmer and a great programmer is not how many programming languages they know, and it's not whether they prefer Python or Java. It's whether they can communicate their ideas. By persuading other people, they get leverage. By writing clear comments and technical specs, they let other programmers understand their code, which means other programmers can use and work with their code instead of rewriting it. Absent this, their code is worthless. By writing clear technical documentation for end users, they allow people to figure out what their code is supposed to do, which is the only way those users can see the value in their code."