Category: Work/Professional Posts on topics related to my work as a software developer at Middlebury College.
Regex from the dark lagoon
As a software developer or system admin have you ever encountered regular expressions that are just a bit too hard to understand? Kind of frustrating, right? As a rule, regular expressions are often relatively easy to write, but pretty hard to read even if you know what they are supposed…
Git Tip: Grouping feature-branch commits when merging.
Mirroring a Subversion repository on Github
BASH tip: Top web pages
Here is a quick command to generate a list of the top pages in the Apache web-server’s access log: gawk ‘{ print $7}’ /var/log/httpd/access_log | sort | uniq -c | sort -nr | head -n 20 Parts of the command explained: gawk ‘{ print $7}’ — return only the 7th…
Adding reverse-proxy caching to PHP applications
Note: This is a cross-post of documentation I am writing about Lazy Sessions. Why use reverse-proxy caching? For most public-facing web applications, the significant majority of their traffic is anonymous, non-authenticated users. Even with a variety of internal data-cache mechanisms and other good optimizations, a large amount of code execution…
Importing users into Bugzilla
For the past 6 months our Web Application Development work-group has been Bugzilla as our issue tracker with quite a bit of success. While it has its warts, Bugzilla seems like a pretty decent issue-tracking system and is flexible enough to fit into a variety of different work-flows. One very…
High-availability Drupal — File-handling
Setting up CAS development on OS X
Central Authentication Service (CAS) is a single-sign-on system for web applications written in Java that we have begun to deploy here at Middlebury College. Web applications communicate with it by forwarding users to the central login page and then checking the responces via a web-service protocol. A few months ago…
Git Tip of the Day: Stage Hunks
Posts on topics related to my work as a software developer at Middlebury College.
Regex from the dark lagoon
As a software developer or system admin have you ever encountered regular expressions that are just a bit too hard to understand? Kind of frustrating, right? As a rule, regular expressions are often relatively easy to write, but pretty hard to read even if you know what they are supposed…
Git Tip: Grouping feature-branch commits when merging.
Mirroring a Subversion repository on Github
BASH tip: Top web pages
Here is a quick command to generate a list of the top pages in the Apache web-server’s access log: gawk ‘{ print $7}’ /var/log/httpd/access_log | sort | uniq -c | sort -nr | head -n 20 Parts of the command explained: gawk ‘{ print $7}’ — return only the 7th…
Adding reverse-proxy caching to PHP applications
Note: This is a cross-post of documentation I am writing about Lazy Sessions. Why use reverse-proxy caching? For most public-facing web applications, the significant majority of their traffic is anonymous, non-authenticated users. Even with a variety of internal data-cache mechanisms and other good optimizations, a large amount of code execution…
Importing users into Bugzilla
For the past 6 months our Web Application Development work-group has been Bugzilla as our issue tracker with quite a bit of success. While it has its warts, Bugzilla seems like a pretty decent issue-tracking system and is flexible enough to fit into a variety of different work-flows. One very…
High-availability Drupal — File-handling
Setting up CAS development on OS X
Central Authentication Service (CAS) is a single-sign-on system for web applications written in Java that we have begun to deploy here at Middlebury College. Web applications communicate with it by forwarding users to the central login page and then checking the responces via a web-service protocol. A few months ago…