How I Set Up a New Web App

Create the directory, and run git init Add the repository to gitosis, add users, add webadmin with readonly access Initialize the Rails project, with rails . Initialize Capistrano, with capify . Add the .gitignore file Rename config/database.yml to config/database.[USER].yml, and softlink database.yml to that file, modifying it as necessary Modify the file config/deploy.rb; see other …

Programming and the Law

A recent blog post and its corresponding comments thread on Hacker News got me thinking about programming and the law. As a programmer and a lawyer, I’ve found that other programmers have a particular fascination about the law, discussing it often in drawn-out, thoughtful, and often strongly argumentative conversations. That programmers enjoy the law does …

What happens when you ask Gmail’s SMTP server for help?

Transcript of a session with Gmail’s SMTP server. Items in italics are my entries. bowser:~> telnet gsmtp183.google.com 25 Trying 64.233.183.27… Connected to gsmtp183.google.com. Escape character is ‘^]’. 220 mx.google.com ESMTP h6si2778348nfh.21 HELO localhost 250 mx.google.com at your service HELP 214 2.0.0 http://www.google.com/search?btnI&q=RFC+2821 h6si2778348nfh.21 QUIT 221 2.0.0 closing connection h6si2778348nfh.21 Connection closed by foreign host. Traditionally, …

User-based Website Directories with Nginx

Many webservers allow users on the machine to create personal websites, usually with urls starting with /~username, where the web files are contained in a directory like /home/username/public_html/. With Apache and Lighttpd, this is done with the module mod_userdir, but there does not appear to be an equivalent for Nginx. I developed a method for …