About This Site
I love programming. With code, the idea takes form as soon as you've fully expressed it; it becomes real. Mathematicians and philosophers never get that feedback; their ideas stay ideas. Scientists and architects do get to see their ideas expressed in reality, but only months or years later. The tight feedback loop of code-compile-run is what makes programming so enjoyable.
I think about programming a lot, so I often have ideas that don't have immediate application. It seems a shame to see an idea go to waste, so I've decided to publish some of them here. I write essays on a variety of subjects, all closely related to computers, programming, and software development.
Mission
It's all about content. Everything on the site should link to content, organize content, or be content; otherwise, it's an error.
It's not always a goal I achieve; I'm often too wordy, for example. But parsimonious concision is the ideal I work towards.
In many ways, this site is an antithesis to my professional work. I write AJAX apps, heavy pages, mostly JavaScript, difficult graphical design, with complex business requirements on both the font-end and back-end. It's fun, but it only represents one extremum of web development. This site is at the other: light-weight pages, strict XHTML, all server-side logic, and design so minimalistic it borders on non-existent. In other ways it's a synthesis: the topics evolve from my attempts to overcome obstacles at work, both technical and business-related.
Style
Most websites remind me of magazines, like one big advertisement, even if they don't have any actual ads. When I think of content, I think of books and college lectures, of students hastily drawing freehand diagrams to illustrate the theorems they're passionately explaining. I want my site to look like the cross between a textbook, a lecture, and a neatly done homework assignment.
The site is completely styled with CSS; even the icons and main layout. Speaking of which, the icons are from Mark James's excellent (and free!) Silk icon set.
The main font is Verdana, the most readable of the standard web fonts (IMHO), and I've tweaked letter and line spacing to make the text as clean and readable as possible. The code font is Lucida Console. The main text is about 4" wide, because narrow text can be read faster.
The header image is a UML diagram. It says several things about me, but mostly that I'm the kind of person who would describe himself in UML.
Framework
This site is built on the Django framework. It is intentionally minimalist, with only a few hundred lines of code. I'd use less if I could.
Django is overkill; I could have used any of the popular blogging tools, but I played with Legos as a kid. I prefer starting with a loose pile of parts and putting it all together over customizing a pre-defined template.
Hosting
This site is hosted by djangodomain.com. I've found them responsive and helpful. This site's on a shared box but has it's own Apache virtual server.
Domain
The domain name is me: Oran Looney.
Tools
I use gVim and IDLE to edit source code, and WinSCP and PuTTY to deploy files to the server. SVN provides version control. The images are scanned in with a HP Photosmart C3180, a cheap but solid combo printer/scanner combo. The elegant markdown package speeds content creation. Google Analytics collects statistics. And of course, Python and the Django framework make it all possible.
Compliance
I use the W3C validation service to check the major pages. At the moment, everything validates as strict XHTML:
Since the pages are dynamically generated it's hard to prove that every page is always compliant, but it seems to be generally true.
Creative Flow
Most of my essays begin life as a few scribles on an index card — I can't control my brain so I try to capture interesting thoughts before I forget them. I try to choose the more original and more involved ideas and write about them in depth. The essays are written in plain text, using markdown syntax. I work with pen and paper at hand: when I need to draw a diagram, I do it immediately and go back to typing. When the article is done, I scan all the images in. I dissect the scan into several GIF files and add image references to the article. Then everything gets committed version control. When everything's done, I sync to the server.
If you liked this essay, you might be interested in these: [ Web ]
by Oran Looney - April 19th 2007
