KBD

Keith Devens .com

Wednesday, December 3, 2008 Flag waving
No battle plan ever survives contact with the enemy. – Field Marshall Helmuth Carl Bernard von Moltke

Archive: September 18, 2002

← September 17, 2002September 19, 2002 →

Daily link icon Wednesday, September 18, 2002

No extensions

Yes! No extensions.

I have a mod_rewrite rule to have most things work with no extensions.

RewriteRule ^([^.]+[^/])$ $1/ [R=permanent,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.+[^/]) $1.php

With these rules any normal file will look like a directory. So if you go to http://www.keithdevens.com/programming it'll make it look like http://www.keithdevens.com/programming/, and you'll actually be seeing http://www.keithdevens.com/programming.php. It all works seamlessly - it's pretty nice.

Note, if you're actually going to implement this, read this.

Web architecture

Via PHP Everywhere, An Architecture for Highly Concurrent, Well-Conditioned Internet Services [PDF].

This dissertation presents an architecture for handling the massive concurrency and load conditioning demands of busy Internet services. Our thesis is that existing programming models and operating system structures do not adequately meet the needs of complex, dynamic Internet servers, which must support extreme concurrency (on the order of tens of thousands of client connections) and experience load spikes that are orders of magnitude greater than the average. We propose a new software framework, called the staged event-driven architecture (or SEDA), in which applications are constructed as a network of event-driven stages connected with explicit queues. In this model, each stage embodies a robust, reusable software component that performs a subset of request processing. By performing admission control on each event queue, the service can be well-conditioned to load, preventing resources from being overcommitted when demand exceeds service capacity. SEDA employs dynamic control to tune runtime parameters (such as the scheduling parameters of each stage) automatically, as well as to manage load, for example, by performing adaptive load shedding.

History of Scientific Text Processing

Via Chris Langreiter, A History of Scientific Text Processing at CERN.

Text processing has always had some kind of special place in the computing environment at CERN and elsewhere. Processing documentation is an essential part of communication to explain how to use (software and other) tools, describe procedures, and publish results. In fact CERN has more often than not been using ``state of the art'' standard tools. In this article I review the main scientific text processing systems that have been in use at CERN since the early 1970s. I will show how they evolved logically over time so we end up with the present situation where the main processors can be optimally integrated via XML technologies.

Thinking in Tkinter

Via dive into mark, Thinking in Tkinter

I've been trying to teach myself Tkinter out of various books, and I'm finding it more difficult than I think it should be.

The problem is that the authors of the books want to rush into telling me about all of the widgets in the Tkinter toolbox, but never really pause to explain basic concepts. They don't explain how to "think in Tkinter".

Here are a few short programs that begin to explain how to think in Tkinter. In them, I don't attempt to catalog all of the types of widgets, attributes, and methods that are available in Tkinter. I just try to get started down the road of understanding some basic Tkinter concepts.

Io

Via Chris Langreiter, the Io programming language. A full prototype-based programming language in 8000 lines of code!

"If you're good, don't worry: 12 Reasons"

Via Dane Carlson, on the FogCreek message board, a neat post by Bill Carlson.

7. I'm walking on eggshells with this one, but I believe there is really only a small percentage of the population that have their brains wired for software development. Even fewer for managing the endeavor. It takes a perfectionist mindset and the ability to drop the expectation that things work the 1st, 2nd, or 100th time you try them. Look, I'll never be an artist and my artist friends will never develop software.

The glory days of the programmer are growing dim. The days of the software engineer are just beginning.

"The pair bedroom"

Wow, my friend would love this house. Via Madville.com.

Lindows 2.0 released

Via Slashdot, Lindows 2.0 has been released.

Mozilla is awesome

I have like 20+ tabs open and still have plenty of system resources left. If I had this many windows open in IE my system would have crashed already. Oh, scratch that, I just counted. I have about 40 tabs open. Mozilla rocks.

← September 17, 2002September 19, 2002 →
December 2008
SunMonTueWedThuFriSat
 123456
78910111213
14151617181920
21222324252627
28293031 



RSS feed RSS feed for Keith's Weblog
Atom feed Atom feed for Keith's Weblog
Weblog archive
Recent comments
  on 5 posts

Recent comments XML

new⇒Girls, please don't get breast implants

I have 34 A breast but at 22 years​old they seem to be growing again​which ...

76.64.120.153: Dec 3, 10:00am

Perl 6 1.0 in March?

Doh, my mistake. I'm aware of the​relation between Parrot and Rakudo​but I'...

Keith: Dec 2, 1:03am

Free image hosting sites

Well, TinyPic has this in its​FAQ:

> Images and videos is in​your accoun...

Keith: Dec 1, 1:13am

Join a NameValueCollection into a querystring in C#

Well with a lamba expression, this​is what I came up​with:

?!code:csharp...

Gustaf Lindqvist: Nov 30, 4:38pm

Why no generic OrderedDictionary?

Check​http://www.codeproject.com/KB/recip​es/GenericOrderedDictionary.aspx?d...

Gabrielk: Nov 27, 6:57am

Generated in about 0.059s.

(Used 7 db queries)

mobile phone