Great Hackers

Paul Graham on Great Hackers:

"Productivity varies in any field, but there are few in which it varies so much. The variation between programmers is so great that it becomes a difference in kind. I don't think this is something intrinsic to programming, though. In every field, technology magnifies differences in productivity. I think what's happening in programming is just that we have a lot of technological leverage. But in every field the lever is getting longer, so the variation we see is something that more and more fields will see as time goes on. And the success of companies, and countries, will depend increasingly on how they deal with it. [...]

If we want to get the most out of them, we need to understand these especially productive people. What motivates them? What do they need to do their jobs? How do you recognize them? How do you get them to come and work for you? And then of course there's the question, how do you become one?"

Thu, 29 Jul 2004 10:08:41 +0000

Oracle JDeveloper 10g PHP Extension

"The PHP Extension makes it easy to create, edit, and run PHP scripts in Oracle JDeveloper 10g."

Thu, 29 Jul 2004 07:50:40 +0000

Using Blogs in Business

Chapter 8 of the We Blog: Publishing Online with Weblogs book is a great read.

Tue, 27 Jul 2004 14:28:13 +0000

Unix's founding fathers: Dennis Ritchie

Economist.com's tribute to Dennis Ritchie:

"Linux is also the true heir of the Unix tradition in the sense that its development process is collaborative. Dr Pike says that the thing he misses most from the 1970s at Bell Labs was the terminal room. Because computers were rare at the time, people did not have them on their desks, but rather went to the room, one side of which was covered with whiteboards, and sat down at a random computer to work. The technical hub of the system became the social hub.

It is that interplay between the technical and the social that gives both C and Unix their legendary status. Programmers love them because they are powerful, and they are powerful because programmers love them. David Gelernter, a computer scientist at Yale, perhaps put it best when he said, "Beauty is more important in computing than anywhere else in technology because software is so complicated. Beauty is the ultimate defence against complexity." Dr Ritchie's creations are indeed beautiful examples of that most modern of art forms."

Mon, 26 Jul 2004 11:26:15 +0000

Efficiency can be lost on code snobs

Tom Yager at InfoWorld - Efficiency can be lost on code snobs:

"At my local Ace hardware store, circular saws sit near the registers to tempt impulse buyers. When Ace sells you that saw, they’ve also got you for blades, safety glasses, and handy little accessories. But Ace isn’t the only beneficiary in this “sell the saw, sell the store” arrangement. Simply having the saw turns some neglected, avoided projects into adventures. For the buyer, the saw is an inspiration: “Get the saw, fix the house.”

The circular saws of software development are dynamic languages such as Perl, Python, PHP, and JavaScript, as well as RAD (rapid application development) tools such as Visual Studio. [...]

I'm reminded of the near-miracles I've worked in JavaScript and shell scripts, and even in quick-and-dirty C or C++. I've knowingly made things harder for myself by setting aside these tools as cheats, shortcuts suitable only for prototyping. As I look at my straining bookshelves of volumes on .Net and Java, I'm reminded of the vast numbers of problems I haven't approached because I insist on using the right tools the proper way. Being a code snob has distinct disadvantages."

Mon, 26 Jul 2004 10:19:00 +0000

Vex - A Visual Editor for XML

"Vex is an editor for XML documents. The "visual" part comes from the fact that Vex hides the raw XML tags from the user, providing instead a wordprocessor-like interface. Because of this, Vex is best suited for "document-style" XML documents such as XHTML and DocBook rather than "data-style" XML documents.

Vex is released under the GNU Lesser General Public License (LGPL), meaning that it will always be free to use, modify, and re-distribute.

Vex uses standard DTD files to define document types and CSS stylesheets to define document layout."

Fri, 23 Jul 2004 08:50:53 +0000

Creating Custom Email Queries

Robert Bernier at ONLamp.com - Creating Custom Email Queries:

"In my last article on data mining email, I described how you could upload a Mozilla mailbox into a PostgreSQL database. With the email uploaded, I showed how to search through the email looking for text strings using both the standard SQL and PostgreSQL's POSIX regular expressions. As a grand finale, you then saw how you could extract Microsoft Word document attachments and perform text searches on those too.

In the true spirit of hacking, this article will consider the next step of data mining: performing in-depth searches on email by tweaking an existing mail system."

Fri, 23 Jul 2004 06:50:11 +0000


"At the core of Trac lies an integrated wiki and issue/bug database. Using wiki markup, all objects managed by Trac can directly link to other issues/bug reports, code changesets, documentation and files. [...]

Having a network of links between issues/bugs/tasks, code changes and wiki text makes the big-picture perspective of a project truly accessible at any time, and it becomes easy to quickly get up-to-speed on the ."

Fri, 23 Jul 2004 06:26:37 +0000

Internet Explorer "contype" user agent

An iX article (8/2004, p. 116) mentions some quite strange Internet Explorer behaviour which affects dynamically generated PDFs - there's an MS knowledge base article:

"To work around this limitation and to considerably improve the performance of your application, watch for the "contype" userAgent request and only return the content-type."

On an unrelated note, the same iX article points out that JSP (Java Server Pages) are - by design - unable to stream out binary data. Now how dumb is that? (Remember this for the next JSP vs. PHP debate...)

Thu, 22 Jul 2004 12:11:51 +0000

RSS growing pains

Chad Dickerson - RSS growing pains:

"As the popularity of RSS feeds at InfoWorld started to surge, I began to notice that most of the RSS clients out there requested and downloaded our feeds regardless of whether the feeds themselves had changed. At the time, we hadn't quite reached the RSS tipping point, so I filed these thoughts away for later -- but "later" came sooner than I thought.

Fast forwarding to the present, InfoWorld.com now sees a massive surge of RSS newsreader activity at the top of every hour, presumably because most people configure their newsreaders to wake up at that time to pull their feeds. If I didn't know how RSS worked, I would think we were being slammed by a bunch of zombies sitting on compromised home PCs. Our hourly RSS surge has all the characteristics of a distributed DoS attack, and although the requests are legitimate and small, the sheer number of requests in that short time period creates some aggravating scaling issues."

Mon, 19 Jul 2004 09:36:38 +0000

Why PHP 5 Rocks!

Adam Trachtenberg - Why PHP 5 Rocks:

"Fortunately, PHP 5 improves on PHP 4 in three major areas:

* Object-oriented programming * MySQL * XML

These items have all been completely rewritten, turning them from limitations into star attractions. While these changes alone warrant a new version of PHP, PHP 5 also provides a plethora of other new features."

Mon, 19 Jul 2004 07:41:27 +0000

Ontology Tools Survey, Revisited

Michael Denny - Ontology Tools Survey, Revisited:

"Reference to taxonomies and ontologies by vendors of mainstream enterprise-application-integration (EAI) solutions are becoming commonplace. Popularly tagged as semantic integration, vendors like Verity, Modulant, Unicorn, Semagix, and many more are offering platforms to interchange information among mutually heterogeneous resources including legacy databases, semi-structured repositories, industry-standard directories and vocabularies like ebXML, and streams of unstructured content as text and media. Ontologies, for example, are being used to guide the extraction of semantic content from collections of plain-text documents describing medical research, consumer products, and business topics."

Thu, 15 Jul 2004 23:00:04 +0000

Just Finally Do It!

chromatic - Just Finally Do It!:

"Without further ado, here are my seven rules for Just Finally Doing It!

1. Untested code isn't done. 2. Unreleased code isn't done. 3. Undocumented code isn't done. 4. Set many, small, specific goals. 5. Simplicity gives you more options than complexity. 6. Do something every day. Finish something every week. 7. One feature finished is better than ten features planned."

Thu, 15 Jul 2004 07:10:55 +0000

Fast Artificial Neural Network Library (fann)

fann can be called from within PHP...

Tue, 13 Jul 2004 07:05:32 +0000

Web Application Security Patterns

Darrell M. Kienzle, Matthew C. Elder, David Tyree, James Edwards-Hewitt - Security Patterns:

"We have produced a Security Patterns Repository [PDF] consisting of 26 patterns and 3 mini-patterns. (A mini-pattern is a shorter, less formal discussion of security expertise in terms of just a problem and its solution.) We focused on the domain of Web application security to bound the scope of the problems that our patterns address."

Mon, 12 Jul 2004 08:04:30 +0000

Server Side Autocompletion with PHP and XMLHttpRequest

Harry Fuecks - Server Side Autocompletion with PHP and XMLHttpRequest:

"Christian has an interesting new feature called "Livesearch" on his blog, described here. Try typing "PHP" in the search box on the right and see what happens."

Fri, 09 Jul 2004 08:31:54 +0000

SQLpal for Oracle

"SQLpal - A free tool for Oracle DBA-Developers. As a replacement for SQL*Plus, SQLpal offers the following features: [...] - native windows user inteface - does not require Oracle client to be installed - does not require tnsnames.ora, instead just enter the host, port and sid"

Thu, 08 Jul 2004 09:09:13 +0000

Beyond the dimension

Jono Bacon is inspired by Sun's 3D GUI project Looking Glass:

"When a user plugs in a device, it should be visually represented on the screen. This will make an intrinsic link between the physical device and the virtual device, although they may look different physically (this is the biggest problem). With this device on screen, the user should be able to interact with it in a similar way to the real device."

Wed, 07 Jul 2004 13:10:42 +0000

SOAP: Protocol or Format?

Mark Nottingham - SOAP: Protocol or Format?

"Contrast this with the simplicity of calling SOAP a format. There would be no SOAP protocol binding, just a format with a processing model.

If you wanted to transfer that format around using an existing protocol (like HTTP, SMTP, Jabber, etc.) you could; it's just a format that the person receiving it (including intermediaries, potentially) knows how to work with.

If you want to get fancy and describe your interfaces and interchanges in WSDL, you could without any fuss; as long as your underlying protocols were able to ship around XML, the only intrusion of SOAP would be the fact that you're using a particular format for your XML that has some implied processing semantics."

Mon, 05 Jul 2004 08:58:43 +0000

Why Java Sucks For Sysadmins

Have some fun reading Jeremiah Weiner's Why Java Sucks For Sysadmins - I always wondered why "java HelloWorld.class" results in an error...

Thu, 01 Jul 2004 14:57:40 +0000