Home
Nooma + Compassion = Corner
June 29th, 2009 | No Comments
Nooma has a great new video in partnership with Compassion International and featuring Rob Bell. It’s definitely worth a watch:
(Link opens Nooma’s website.)
My iPhone home screen apps
June 26th, 2009 | No Comments
I just (finally) upgraded my iPhone OS to the new 3.0 and thought this might be a good opportunity to go over some of the apps that I keep on my iPhone’s home screen. I won’t deal with the native iPhone apps, just the third-party gems that I can’t function without.
(All application links go to the iTunes store.)
SaiSuke. This is my preferred calendar app because it syncs beautifully with Google Calendars. You can read my full calendar sync setup here. There is a limited free version but I use the paid $9.99 version.- Things. One of the best task management (to-do list) applications around. It also syncs via WiFi with the desktop version. You can read more about my task management setup here. The iPhone app is $9.99 and the desktop app is $49.99.
- Flashlight. Because you never know when you might need a little extra light (or a crazy, rave-ready party light machine). Flashlight is free.
- Facebook. Everyone is on Facebook and the native iPhone app is the best way to access those crucial updates on the go. Facebook is free.
- Tweetie. Tweetie for iPhone and Tweetie for Mac are both beautiful Twitter applications. I’m not saying they are right for everyone, but so far they are both my choice. I can’t wait until they start syncing with each other… please! Tweetie for iPhone is $2.99 and Tweetie for Mac is either free (ad supported) or $19.95. (I use the free version of the desktop app.)
- Byline. For a long time I have been a happy NetNewsWire user. NNW is a free RSS reader for both Mac and iPhone. With a free Newsgator account both versions even stay in sync. However, I recently tried out Byline which is an iPhone app that syncs and caches feeds from a Google Reader account. I think I have officially made the switch. Byline works really well and looks great. Plus, with Fluid I can setup a separate “app” for Google Reader on my Mac. Google Reader is free and Byline is $4.99.
- Instapaper. Instapaper is a free online service that allows you to store the contents of web pages for later reading. You simply click a bookmarklet in any browser and the contents of the current web page gets stored in your Instapaper account. The iPhone app downloads all stored pages in your account so you can read them offline on your iPhone. This is perfect for reading long articles on an airplane. The web service is free and you have a choice between a free version of the iPhone app or a “pro” version which costs $4.99. (I use the free version.)
- The Weather Channel®. I like this app over the native Weather app. Honestly I don’t even remember what features pushed it above the other, but I do like it and it’s free (although there is a “Max” version for $3.99).
- Evernote. I like Evernote a lot! Evernote is a web application that allows a user to import stuff that gets synced to other places. I posted one example of how I used it here. Basically imaging copying stuff from your browser on your Mac (like a recipe) and being able to view it later on your iPhone, or taking a picture on your iPhone and being able to view it later on your friend’s PC, or any number of other things. Evernote works via their web interface but they also have free apps for your desktop or iPhone so you can access your stuff more easily. It is a free service but you can also upgrade to a premium account to gain more bandwidth and other features.
That’s my home screen and a few of the iPhone apps I use on a regular basis. What apps do you keep up front on your iPhone?
What is Compassion?
June 15th, 2009 | No Comments
This is an amazingly well crafted video explaining the history and purpose of Compassion International.
Compassion International just celebrated its 1 millionth child sponsored. That is what I call making a difference in the world.
My Wordpress development setup
June 14th, 2009 | 3 Comments
The other day a friend of mine asked me how I develop Wordpress themes on my computer because he wants to switch his blog over to WP from Blogger. After going through some of the basics in 140-character chunks, I thought it might be easier just to explain my WP development setup here on the blog. This is not meant to be an in-depth tutorial or comparison of the best development solutions. I will not go over all of the alternatives to the solutions I have chosen in this post. However, if you follow along you should end up with a solid development environment for Wordpress sites.
First of all you need to create a web server environment to be able to host a local copy of Wordpress. To do that you will need the following:
- Computer (I prefer a Mac)
- Web server (Apache)
- Database (MySQL)
- Scripting engine (PHP)
For the computer I prefer to use a Mac. Specifically I use a Macbook Pro, but really any modern Apple computer will do just fine. The most intensive part of developing a website is working with large Photoshop files, but a good external USB hard drive used as a scratch disk will go a long way at speeding up that work. You could just as easily use a Windows-based PC to develop websites. I used to do that myself, but since moving to Mac world I am a much happier man. There are a few advantages to using a Mac, but nothing that a resourceful, Microsoft-loving developer couldn’t overcome.
Now for the other three parts… one advantage of using a Mac is that it already has Apache and PHP pre-installed. All you have to do to enable them is visit System Preferences > Sharing then turn on Web Sharing. I used to use this pre-installed web server for development, but have since learned that keeping my development environment separate from my core operating system has its advantages.
So, for ease of use, flexibility, and portability I have switched over to using the wonderful (and free) MAMP. MAMP stands for Mac, Apache, MySQL, PHP and it is a software solution that runs a standalone version of Apache web server with PHP and MySQL on your Mac. This setup is perfect for Wordpress development.
To make my setup a little easier for me to use I have changed a few default settings within MAMP. First stop all MAMP servers. In my MAMP settings I changed the default Apache port to 80 so I can use http://localhost/ as my default domain name for development. (Make sure you do not have Web Sharing enabled in System Preferences if you do this. Also note that you’ll have to enter your admin password every time you start and stop MAMP if the port is set to 80.)
In MAMP I also set Apache’s Document Root to /Users/username/Sites (substituting your home folder name for “username”). This allows me to create a folder inside my standard Sites folder for each new site I create. Each site folder is then accessed by visiting http://localhost/ in my browser of choice.
Now that the server environment is setup the next thing I need is a database management tool. MAMP comes with phpMyAdmin, a great web-based tool to manage databases and the tool most web hosts provide for free. You can access it from the “MAMP Start Page.” On my machine I prefer something a little nicer and more Mac-like. My tool of choice in this arena is Sequel Pro. Sequel Pro lets me easily create, modify, and delete databases for use in websites… and it is free.
I prefer to not use MAMP’s default “root” user for MySQL. This is probably from my old non-MAMP days when I felt like it would be more secure to have a non-root user set. So you can create a separate user account for your database using MAMP’s phpMyAdmin tool or you can use the default root account. I will assume you use the default root account because that is probably what most sane people would do.
To connect to MAMP’s MySQL databases within Sequel Pro, first make sure MAMP is running with the settings I listed above. Then open up Sequel Pro and create a new “favorite” with the following settings:
- Name: WP Development
- Host: localhost
- User: root
- Password: root
- Database:
- Socket: /Applications/MAMP/tmp/mysql/mysql.sock
- Port: 8889
(Note that the Database field is empty.) Sequel Pro also allows you to set this “favorite” as its default and connect to it automatically at startup. Just visit Sequel Pro > Preferences and click the appropriate box.
The next tool you will need in your development arsenal is a good code editor (text editor). My personal favorite is TextMate. However, there is a free alternative that is pretty good called TextWrangler and several other excellent options such as BBEdit, Coda, and Espresso.
The final tool you will need in order to launch your finished website (when that time comes) is a good FTP application. I prefer Transmit, although Cyberduck is a great free option and there are other pay options such as Fetch, Forklift, and even Coda. For now you can keep this app on the back-burner because it doesn’t come into play until launch time. Let’s get an actual working copy of Wordpress installed locally!
Installing Wordpress
First, visit the Wordpress Download Page and get a copy of the latest version of Wordpress. Once unzipped you should have a folder called “wordpress” that you should move to your Sites folder.
Now we need to create an empty database for Wordpress to use. Go ahead and start up MAMP if it isn’t already running then fire up Sequel Pro. In Sequel Pro click on Choose Database… and then Add Database… and give your new database a name like wptest.
Now open your code editor and open the sample configuration file included in the wordpress folder (which should now be inside your Sites folder). It should be called wp-config-sample.php. You will need to fill in the details for the database you just created in Sequel Pro. Scroll down in the file until you see the following lines of code (change the italicized values to match yours):
- define(’DB_NAME’, ‘wptest‘);
- define(’DB_USER’, ‘root‘);
- define(’DB_PASSWORD’, ‘root‘);
Before you go live you should also scroll down the the next section in that file (Authentication Unique Keys) and change those lines of code to whatever WP’s automatic secret key generator gives you. Just click that link then copy/paste the results into the file in place of the current lines:
- define(’AUTH_KEY’, ‘put your unique phrase here’);
- define(’SECURE_AUTH_KEY’, ‘put your unique phrase here’);
- define(’LOGGED_IN_KEY’, ‘put your unique phrase here’);
- define(’NONCE_KEY’, ‘put your unique phrase here’);
After making all of those changes save that file as wp-config.php (remove the “-sample” from the name).
Now you should be able to visit http://localhost/wordpress/ and be greeted by WP’s installation wizard. It will ask you for a title for your new blog and an email address for the “admin” account. For development you should leave the “Allow my blog to appear in search engines like Google and Technorati” checkbox unchecked. You can change that setting later once you go live. Submit the form and you will receive an automatically generated password for your new admin account in Wordpress. Immediately copy this password to the clipboard! Now click the “Log In” button and enter your new admin info to login.
The very first thing you should do is visit your admin user profile and change that password to something you will remember. Next you should go through the “Settings” sections and make any changes you might want. I definitely prefer to change the Permalink structure to “Month and Name” instead of the default “dirty” URL structure.
You will also want to create a new project in your code editor and put the entire “wordpress” folder in it. All theme files can be found in the “wp-content/themes” folder inside your root “wordpress” folder. Each theme gets its own subfolder. All plugins go in the “wp-content/plugins” folder. You can download and install new themes and plugins from within Wordpress under the “Appearance” and “Plugins” sections respectively. Or you can download the themes/plugins and manually put them in these folders.
Hopefully that helped you get a start on your Wordpress development. You will want to check out some great plugins for your new website like these or these. You may even want to download a few free themes and peek at the code they use to make things work. Also, you’ll probably be getting really familiar with the Wordpress Codex.
Happy coding!
An iPhone upgrade rant
June 10th, 2009 | 10 Comments
Are you upset at AT&T’s iPhone upgrade pricing? Do you own an iPhone 3G and now you’re stuck in a 2-year contract with AT&T? Do you think AT&T is being unfair because they won’t let you upgrade your phone for the same price as a new customer? Well you’re not alone. There are a lot of people whining about AT&T’s iPhone upgrade policy since the new iPhone 3Gs came out. Here are a few things to consider before you go writing a hateful email to your cell carrier of choice.
Remember when you got your iPhone 3G from AT&T? They make you sign a 2-year contract in order to get the phone at a greatly discounted price. So, like every other American consumer with an unstoppable thirst for Apple’s technology you signed the contract stating that you were theirs for 2 years. In turn they gave you a discounted iPhone and told you that you could upgrade your phone in 18-24 months. Then Apple had to go and develop a new handset that is better than the old one (surprise, surprise). Now you want a newer, better phone at a discounted price and you want it right now. But the contract you signed is not up so your only options are:
- Wait until your contract is up.
- Pay full price for the new iPhone 3Gs.
- Complain loud enough that it’s AT&T’s fault and hope they change their mind.
Sadly, it seems that most people are choosing option #3. They signed a contract with AT&T making a commitment and giving their word. Then they saw a newer, shinier piece of hardware that they wanted–not needed–although they didn’t want to pay full price for it. And somehow this whole situation was AT&T’s fault. They are the ones who didn’t allow their customers to break the contracts those same customers willingly signed a year earlier in order to get a discounted phone. How dare they hold people to their word instead of just giving people what they want all of the time. They are acting like responsible adults or even parents!
Sometimes in life we have to pay full price. Sometimes there are consequences to our actions–actions like making an agreement and then trying to weasel out of it. I don’t like AT&T’s service either, but if you are one of these whiners please remember: This is your fault, not theirs. Either pay or wait. Not only is it the right thing to do, it might just make you a better person.
End rant.
You decide
June 3rd, 2009 | 3 Comments
Which is better?
Leave a comment here, Twitter (@b3nst3wart), or Facebook.
Daley Hake
June 2nd, 2009 | 2 Comments
In case you need something to do on this summer afternoon, here is the website of an amazing photographer person* I had the privilege of meeting a while back while in California.
Please check him out because it will be worth your time: http://daleyhake.com/blog/
* This is not meant to say that he is not an amazing photographer. Rather it is meant to say that as amazing a photographer he is–as you can see by his website–he is an even more amazing human being.
My calendar sync solution for Mac & iCal
May 30th, 2009 | 1 Comment
Calendar syncing is an issue for anyone who works on a team, has multiple computers, or even just has a computer and a phone. It seems like it should be easy to keep appointments and events in sync among all of your devices, but so far there hasn’t been one solid solution to rise to the top of this market and woo the masses. However, that doesn’t mean the calendar syncing landscape is barren. There are a lot of good solutions available that each solve one piece of the puzzle. By putting the right pieces together anyone can create their taylor-made calendar syncing masterpiece. When I started looking for a solution I wanted something that would:
- Sync multiple iCal calendars from my Mac with multiple Google calendars (belonging to multiple Gmail and Google Apps accounts).
- Allow others to subscribe to any of my calendars (if I give them permission).
- Two-way sync over the air with my iPhone (I’m too lazy to have to plug in my iPhone every day).
- Not cost too much money.
I already used Google Calendars for different parts of my personal and professional life with different Gmail and Google Apps accounts. Another option would have been to use MobileMe, but I prefer Google Calendar because of its feature set and price point–free. One of Google Calendar’s great features is the ability to share calendars with other Google Calendar users. The first thing I did to get setup with a good syncing solution was to choose one Gmail account to have complete control over all of my Google Calendars. This same feature also lets me share calendars with other people allowing them to see the information but not make any changes to it.
Now that I had everything in Google under one account I just needed to find a way to sync that account with iCal on my Mac. There are a few options out there that do this, but the one I prefer is SpanningSync.
Some people don’t like the fact that all information runs through SpanningSync’s servers (as a privacy issue), but I actually like the fact that they operate as a service because they notice when things break and are very quick to respond. Also, I don’t really mind my calendar data passing through SpanningSync on its way to Google–if my data were too sensitive for SpanningSync I wouldn’t be sending it to Google in the fist place.
SpanningSync allows one Google account (Gmail or Google Apps) to sync any of its calendars with any calendars in iCal. It runs as a preference pane and includes a little menubar icon to show you when a sync is in process or if there has been a sync error. SpanningSync is a service so it is not free. But you get continuous support for that fee. Users choose to either pay an annual fee of $25 the first year then $15 each year after that, or a one-time fee of $65.
With my Mac and “the cloud” all synced up I just needed to throw my iPhone into the mix. The first solution I tried was the standard iCal sync via iTunes. This solution was quickly thrown out for a couple of reasons. First of all, the note field. For one of my jobs I use the note field in iCal to contain long lists of information about each event that I create. This fields syncs perfectly up to Google so I can view all of these notes online. However, for some reason iTunes cuts off the note field when it syncs iCal events to the iPhone. Since this information is critical to my job, I cannot use iTunes calendar syncing for my calendars.
Besides, who wants to have to use a cable to sync your phone and your computer these days anyway?!
So I started looking into alternate solutions for iCal/iPhone/Google Calendar syncing and I found Saisuke. Saisuke is a calendar replacement app on the iPhone. So, instead of opening the default calendar app on my phone I now open Saisuke instead. I first tried the free version of the app which is limited to 1-way sync (Google to iPhone only), 1 calendar only, and a shorter sync period. Once I felt comfortable with this solution I went ahead and paid for the full version ($9.99).
With Saisuke my iPhone and Google Calendars are always in sync. With SpanningSync my iCal and Google Calendars are always in sync. The total calendar sync cost of this solution: $65 + $9.99 = $74.99 (less than one year of MobileMe). Of course, MobileMe offers a lot of other features for that fee, but they are features I didn’t need so this solution was the one for me.
How do you keep your schedules in sync?
Subscribe
Design
Friends
- Brian Seay
- Chad Jarnagin
- Geron & Lydia Brown
- In The Curve
- Jason and Jen Bradford
- Jeff & Sarah Arnold
- Josh Scott
- Mike Harder
- Scott Glascock
- Shaun Groves
- Travis Jenkins Devotional



