web development

Developing with VirtualBox and Vagrant on Windows

I've been supporting Drupal VM (a local Drupal CMS development environment) for Windows, Mac, and Linux for the past couple years, and have been using Vagrant and virtual machines for almost all my development (mostly PHP, but also some Python and Node.js at the moment) for the past four years. One theme that comes up quite frequently when dealing with VMs, open source software stacks (especially Drupal/LAMP), and development, is how much extra effort there is to make things work well on Windows.

Problem: tool-builders use Linux or macOS

The big problem, I see, is that almost all the tool-builders for OSS web software run either macOS or a flavor of Linux, and many don't even have access to a Windows PC (outside of maybe an odd VM for testing sites in Internet Explorer or Edge, if they're a designer/front-end developer). My evidence is anecdotal, but go to any OSS conference/meetup and you'll likely see the same.

3 Small Tweaks to make Apache fly

Apache is the venerable old-timer in the http server world. There are many younger siblings like Nginx, Lighttpd, and even Node.js, which are often touted as being faster, lighter, and more scalable alternatives than Apache.

Old computer and man
Apache probably looks like this to many Nginx and Lighty users.

Though many alternatives are more lightweight and can be faster in certain circumstances, Apache offers many benefits (not the least of which is abundant documentation and widespread support) and is still a top-notch web server that can be tuned to fly.

Below I describe a few seemingly innocuous Apache configuration settings that can make a huge difference for your site's performance, and help Apache run as fast or faster than alternative servers in many circumstances.

Catholic New Media Conference 2012 - See you there!

I'll be attending the 2012 Catholic New Media Conference in Dallas/Fort Worth from August 29-31; will I see you there? This year will be the largest CNMC yet, with a ton of great speakers and separate tracks for different days of the conference.

CNMC 2012

This year's theme is Marketing Your Message, and the main track of the CNMC Professional Day will be filled with keynote speakers talking about this theme. At the same time, Matthew Warner and I will be leading a Tech Summit, meant for Catholic app and web developers, designers, and Catholic development companies, talking about apps, APIs, web development, and collaboration.

HostGator Cyber Monday Deals [sponsor]

I got an email from HostGator yesterday alerting me to some really awesome deals for their web hosting services; for Cyber Monday, they're giving half off pretty much all their hosting plans:

  • Shared hosting: As low as $4.95 Now only: $2.48
  • Reseller Hosting: As low as $24.95 Now Only: $12.48
  • VPS Hosting: As low as $19.95 Now Only: $9.98
  • Dedicated Servers: As low as $174 Now Only $87

I've been using HostGator for a few of my less-trafficed websites for over three years now, and have had less than 10 minutes of measured downtime. I also use a cheap shared hosting plan to simply store backups of my other sites (they give you limited SSH access to cheap plans—which is awesome!).

I highly recommend HostGator; unlike most other low-cost hosts, their support team is top-notch, their plans are priced perfectly, and their servers (even for cheap shared hosting) are super-fast, compared to other hosts I've used (1&1, GoDaddy, Dreamhost, etc.).

Checking in at Church: Parish website development

Lisa Hendey

This presentation was given at the 2011 Catholic New Media Conference. Below are my notes on the presentation:

Why Bother?

  • Educate about the Church
  • Provide parish information
  • Outreach to interest groups
  • Build community

10 Best Practices for Parish Websites

From Craig Berry:

  1. Useful contact us page
  2. About Us/History Page
  3. Prominent use of Social Media
  4. Online Map/Directions
  5. Calendar of Events
  6. Weekly Bulletins

New Tool for Telling Time: Alltheti.me

After staring at a todo in my inbox for a few weeks, I finally got around to doing it on the flight back from Boston yesterday. I simply wanted an easy, quick, at-a-glance way of telling what time it was in different timezones/cities around the US (and eventually around the world).

So, I created Alltheti.me:

Alltheti.me on the iPad
(as displayed on the iPad)

I've been wanting something like this for quite some time, and I finally got a few hours to play around with dates and times in PHP and JavaScript. The times may not be quite right when viewed in certain timezones, so I'd appreciate if any friends from outside US Central time could tell me if their own times are correct.

WYSIWYG Editing on iOS 5

Thanks to iOS5's support for contentEditable text areas, rich text editors like TinyMCE and CKEditor (two of my favorites, which I install on many Drupal sites using the WYSIWYG module) now work great for editing content on the web in mobile Safari!

This means that I'll be more likely to do site content work on the road with my iPad 2. I just wish they supported file select fields so I could also add images more easily on the go.

Check out all the details over on Midwestern Mac: WYSIWYG Editing (contentEditable support) in iOS 5.

flockNote v3 is Launched

Lest I forget to mention it, flockNote's 'version 3' website has been launched as of Wednesday afternoon! I spent many (if not most) of my waking hours working on the website and hundreds of features contained within, and after a couple days up and running, the website's still going like a champ!

flockNote v3 Home Page
Excellent home page design by Matthew Warner.

The site is built entirely on top of Drupal 7, and over the past three months, I've grown to appreciate Drupal many times more, as I've learned so much more about the deep and thorough APIs—bugs and all—that have developed into an extremely solid, reliable, and capable framework that is Drupal 7.x. Heck, I even dream about Drupal these days!

Dreaming in Drupal

How do you know you've been thinking about work too much? When your wife relates a conversation she had with you in the morning, and you don't remember a word, but can definitely see how what you said relates to what you're working on:

Saith my wife: "Jeff, how do you set your alarm?"

My (groggy) reply: "Hit field, the arrow, then default."

Now, this could possibly have something to do with alarm clocks. There are often arrows on them, and you hit buttons... but I know better. I was referring to:

$this->addFieldMapping('field', 'source')->defaultValue(0);

...which I have probably typed about 100 times in the past week, and maybe 20 or so last night during a late-night debugging session with the Migration process of flockNote v2 to v3 (from a proprietary WAMP-based system to a new Drupal 7 LAMP-based system).