Challenge Yourself

November 1st, 2009

When was the last time you challenged yourself? even if its  a small one. I know it’s been a while for me. Until now. I was talking with my older brother the other night, and during the conversation he mentioned that it had been a while - months in fact - since he had some sweets . He has quite a sweet tooth, as do I , so this isn’t easy. So when he put forth a challenge that i couldn’t go a month without them, i decided take him up on it. For the month of November, we won’t consume any sweets. It’s a gentlemen’s bet. I believe I can do this. In fact, If you see me out on the town and catch me breaking the challenge, I’ll give you $20.

What does this include, you wonder? Soda, candy,  sugary coffee drinks (like my mocha), cookies, cake, pie, ice cream - basically anything that is bad for you and consumed during the holidays. Juices and lemonade are fine. In anticipation of November 1st, I was tempted to binge a little. I came up with the idea of a cupcake crawl, and even tweeted about it, to see if there was any interest from others. A few people liked the idea, but nobody agreed to participate. This was for the best. Binging just isn’t healthy. I still had the craving though. Fortunately, I was able to extinguish that desire by watching an episode of the Biggest Loser. Seeing the amount of sacrifice and motivation they need to overcome their current condition is humbling.

I could stop there. However, I could also use this opportunity to do another, complementary challenge. Not eating sweets for a month is preventing me from doing something bad. I decided to take on a challenge that would make me do something good. This one was inspired by my friend Anthony Stevens. He recently challenged himself to exercise for 100 consecutive days. He did it!  An admirable challenge to be sure. However,  I’m going to start with 30 consecutive days of  exercise. I can re-up at the end of the November right? Besides, i like that the 2 challenges will line up with one another.

To be clear, both challenges begin on November 1 and end November 30. Do you want to participate in either one (or both) of the challenges? If so, write which challenge you want to do in the comments. Let’s work together on this.

Favorite Quotes

September 9th, 2009

Smarter men than I had challenges and experiences in their lives. From those, they learned a lesson. They managed to take that lesson and distill into a compact piece of wisdom. Below are 10 of my favorites.

  • “Chance favors the prepared mind” –Louis Pasteur
  • “All change is not growth, as all movement is not forward” –Ellen Glasgow
  • “Think you can, think you can’t; either way, you’ll be right” –Henry Ford
  • “The object of war is not to die for your country, but to make the other bastard die for his” –General George S. Patton
  • “Fortune and Love favor the brave” –Ovid
  • “The superior man is modest in his speech, but excels in his actions” –Confucius
  • “The greatest discovery of my generation is that man can alter his life simply by altering his attitude of mind” –William James
  • “Yesterday is history, Tomorrow is mystery, Today is a gift - that’s why it’s called the Present” –Unknown
  • “The way to develop self confidence is to do the thing you fear and get a record of successful experiences behind you” –William Jennings Bryan
  • “To dream of the person you would like to be is to waste the person you are” –Anon

Application Architecture on Localhost

August 7th, 2009

You’re ready to begin development on your project. Now what? Since you are a professional, you need to setup your environment not just a for a single project, but the many projects to come. Sure you could just create a folder on your desktop, and start hacking together an html file from scratch. but I’m gonna show you a better way. The solution I’m going to show you will use a local webserver. I’m using Apache, and you should be too. If you’re using PHP at all, you have to use a web server.

Filesystem Setup

It should be easy to get to, and easy to manage. Lets start by going to root of your filesystem either in Finder or the Terminal, and create a directory ‘www’. This will contain everything web related. In the ‘/www’ is where you begin to organize. I suggest by type first. Think for a minute about the kinds of things you’ll need - websites, log files, software from third parties like jQuery, Smarty, BluePrint - are a few of the basics. Create a directory to hold each of these type of information. ‘libs’ for the 3rd party libraries, ’sites’ to contain each of your client web projects, and ‘logs’ to hold the log files that are associated with each of your websites. So your structure should look like the following:

  • www
    • libs
      • php
      • js
      • css
      • sql
    • logs
    • sites

In the libs directory I suggest one more level of organization - language name. That way your PHP, Javascript, Ruby, and CSS all separate. Then the only other thing to do is to make sure you include the version number of any libraries you extract into here. e.g. /www/libs/{lang}/{software-1.0} Now you have one place on your system to store all your software libraries. When you create your website projects , copy the desired libraries to your /www/sites/{project} directory.

In my ‘/www/sites’ directory, I use project names, which is typically the domain name minus the top-level domain. Generically it looks like ‘/www/sites/{projectname}’. So my Mastodon Labs project is in the directory ‘/www/sites/mastodonlabs’, which lives on the internet at mastodonlabs.com. If you know that you’ll have a client where you work on multiple projects, you could use the client name as a level of organization e.g. /www/sites/{clientname}/{projectname}.

Now that your structure to for organizing projects is intact, what should go into the project? a folder for documentation, one for sql scripts, one for the website root, and one for your framework (if you use one). I use CodeIgniter

  • /www/sites/foobar
    • ci_system
    • docs
    • site
    • sql

You may be wondering why the directory ‘foobar’ isn’t the site root. There are multiple reasons. Most importantly, it’s a best practice not to have any config files in the document root of your website. This helps keep your website secure by design. Every framework has at least one, usually containing database information. So a user should never be able to visit a URL like http://foobar.com/system/config/database.ini.  While there are techniques to hide such directories, it’s just best not to put them in the document root.

‘docs’ is a good place to keep notes about the project, a list of things to do for the current project, special instructions, list of notes for the specific versions of the site. For projects that require a database, it’s also good to have a set of SQL scripts that build/modify your database structure. For that purpose, you use the ’sql’ directory.

Since all these directories are contained in one project directory, it’ll be easy to manage them all in a version control system. We’ll talk about that in the next post, but for now, let’s focus on your Apachefgv configuration setup.

Apache Configuration

When Apache starts up, it parses it’s config file httpd.conf. On my mac (OS X 10.4), this is located at /etc/httpd/httpd.conf. While it’s possible to have all your configuration in one big file, I use a second file called vhosts.conf which is read in with an include statement.

Include /etc/httpd/vhosts.conf

This file holds all the virtual hosts (read: websites) configurations on your machine. At its most basic, this file is responsible for mapping the url of the website to the corresponding directory in the filesystem. There’s a lot it you can put here, but for a simple websites this is all you need.

When you’re doing your local development, you only need to worry about one hostname - localhost. You’re probably wondering “but how do we access more than one website?”. The answer is ports. By default, websites are served on Port 80. It’s possible to have your web server listen to more ports for requests.  If you want to listen to port 3000, you would put this statement in httpd.conf

Listen 3000

This gets to you have way there. Now apache will listen to requests on that port. When it gets a request, what should happen? First add the following to your httpd.conf, if its not already in there.

NameVirtualHost *

Now you need to tell it which virtual host you want to receive it. go to your vhosts.conf file and add the following lines:

<VirtualHost *:3000>
    DocumentRoot /www/sites/foobar/site
    ErrorLog /www/logs/foobar/error.log
    CustomLog /www/logs/foobar/access.log common
</VirtualHost>

Now you just stop/start apache so that it reloads with your new configuration. Be aware that the /www/logs/foobar directory needs to exist before you restart Apache, otherwise Apache will not restart successfully and it will fail silently (you wont see an error message). Apache will create the log files if they don’t already exist.

On my system, I use /usr/sbin/apachectl stop to shutdown the server, and use /usr/sbin/apachectl start to start it up.

Thats it. Now  you see your website in your browser when you load http://localhost:3000

Happy Computing!

lifting weights

July 23rd, 2009

In my efforts to get fit, I’ve historically avoided lifting weights. I’ve always felt that i gain mass easily. So i feared that I would become one of those guys with no neck, giant muscles but no muscle definition. That’s the exact thing I don’t want. Because of that I’ve been focusing on cardio. After all, look at marathon runners. They have small, defined muscles and they still have a neck.  I really want to delete my belly and love handles. By the way, I’ve never loved them. That’s the worst name ever!

I recently read Urban Smiler’s article “So you want a flat tummy/6 pack”. When I saw the title I thought “yes please!”, then actually read the article. If I’m understanding her first point, definition comes not from adding muscle, but rather removing fat. Strengthening the muscle with make it bigger and more pronounced when the fat is removed.

In her second point, I’m wondering what she means by “major muscle strength work”. Does it mean work all the muscle groups?  or does it mean intense muscle building , which will render large muscles?

In any case, I’m looking to build lean muscle and gain definition in my chest, stomach, back and shoulders.  What’s the best way to do that? leave your ideas in the comments

100 Life Experiences

July 22nd, 2009

I was inspired to create this by Marina Martin, when I read her blog post “100 Life Experiences“.  It’s only right to use the same title on my post. My list is targeted for things that appeal to my sense of adventure, and things are a challenge for me. At the initial time of publishing on July 22, 2009, I have 18 items completed.

  1. Start your own blog.
  2. Sleep under the stars.
  3. Play in a band.
  4. Watch a meteor shower.
  5. Go to Disneyland.
  6. Learn to ride a horse.
  7. Sing a solo.
  8. See the Alamo in person.
  9. Visit South America.
  10. Visit Australia.
  11. Visit Hawaii.
  12. Visit London.
  13. Visit Paris.
  14. Visit Japan.
  15. Visit the birthplace of your ancestors.
  16. Visit Russia.
  17. Visit the Vatican.
  18. Visit the White House.
  19. Walk to the top of the Statue of Liberty.
  20. Walk in Jerusalem.
  21. Visit a Concentration Camp.
  22. Visit the Lincoln Memorial.
  23. See the Grand Canyon in person.
  24. Stand in Times Square.
  25. See the Changing of the Guards in London.
  26. See the Mona Lisa in France.
  27. See Niagara Falls in person.
  28. Go to the top of the Eiffel Tower in Paris.
  29. See the Leaning Tower of Pisa in person.
  30. Ride in a gondola in Venice.
  31. See Old Faithful geyser erupt.
  32. See Michelangelo’s David.
  33. Visit the Great Wall of China.
  34. See the Sistine Chapel in person.
  35. Go skinny dipping.
  36. Run a 5K
  37. Run a Marathon.
  38. Ride the STP (Seattle to Portland)
  39. Go rock climbing.
  40. Go deep sea fishing.
  41. Go scuba diving
  42. Go snorkeling.
  43. Bungee jump.
  44. Swim in the Great Salt Lake.
  45. Go whale watching.
  46. Go hang gliding.
  47. Go Parasailing
  48. Take a martial arts class.
  49. Teach yourself an art from scratch.
  50. Sleep on a train.
  51. Have a pillow fight.
  52. Take a sick day when you’re not ill.
  53. Build a snow fort.
  54. See a total eclipse.
  55. Watch a sunrise or sunset.
  56. Hit a home run. [In little league baseball I hit several :) ]
  57. Go on a cruise.
  58. Teach yourself a new language.
  59. Have enough money to be truly satisfied.
  60. Sing karaoke. [I do this a lot]
  61. Buy a stranger a meal at a restaurant.
  62. Walk on a beach by moonlight.
  63. Have your portrait painted / drawn.
  64. Kiss in the rain.
  65. Learn to shoot a gun well.
  66. Go snow-shoeing
  67. Go to a drive-in theater.
  68. Have dinner in your car at a car hop
  69. Be in a movie.
  70. Start a business.
  71. Ride a zip line.
  72. Fly in a helicopter.
  73. Save a favorite childhood toy.
  74. Ride on a speeding motorcycle.
  75. Publish a book.
  76. Have your picture in the newspaper.
  77. Kill and prepare an animal for eating.
  78. Save someone’s life.
  79. Meet someone famous.
  80. Learn to shoot a bow and arrow.
  81. Ride in a hot air ballon
  82. Read an entire book in one day.
  83. Write a song
  84. Organize a major event. [I organized Barcamp Seattle 2 years running]
  85. Ride a train across the USA
  86. Road trip across the USA
  87. Learn to swing dance
  88. Perform 100 consecutive pushups
  89. Cook Christmas Dinner
  90. Kiss a Celebrity
  91. Learn to drive stick shift (manual transmission) car
  92. Build my own house
  93. Learn CPR
  94. Live in a foreign country for 6 months.
  95. Write and release an music album
  96. See the Northern Lights (Aurora Borealis)
  97. Attend a large music festival
  98. Get 6-pack abs
  99. Buy a blue sunburst Gibson Les Paul guitar.
  100. Learn to fly a helicopter

The Fine Art of a Playlist

July 16th, 2009

If you ask people what they love, it’s very likely that music is one of the things they say. So it’s fair to say that just about everybody has mp3 player, whether it’s one of Apple’s iPods (raises hand. I luv my nano), a Zune, or another fledgling player.  I cant help but wonder “how many people use playlists, and of those, how many plan the contents of the playlist strategically?”.

Every player lets you select music by artist or genre. When I talk about playlists, I’m referring to “a themed or purpose-driven, manually selected set of songs”. For example, I like to run around Green Lake in the afternoons after work. One revolution is 2.8 miles, which takes me about 33-35 minutes, depending upon the day. I have constructed a playlist called “Running”, which contains particular songs in a specific order. What determines my order? Motivation. It’s specifically tailored to my sticking points. I know that at mile 1, I have different emotional needs than at mile 2.  I’ve included my “Running” playlist to demonstrate.

  1. Morning Exercise by The Heavenly States
  2. Bad Reputation by Joan Jett and the Blackhearts
  3. Slave to the Grind by Skid Row
  4. Monkey Business by Skid Row
  5. Lost in the Light by The Heavenly States
  6. The Middle by Jimmy Eat World
  7. Are You Gonna Be My Girl by Jet
  8. Middle of the Road by The Pretenders
  9. Cold Hard Bitch by Jet
  10. Go Faster by The Black Crowes
  11. Take It Off by The Donnas
  12. Chelsea Dagger by The Fratellis
  13. Workin’ for a Livin’ by Huey Lewis and the News
  14. Mistaken by Save Ferris
  15. Dakota by Stereophonics

As of now, the total time for this list is 53.3 minutes. It’s always good to have a few extra songs in case you exceed your normal routine. This list is purpose-driven. Another way to create a list is to organize around a theme. I have a list called “Happy” that is designed to put me in a good mood. There are many other themes you could use like creativity, productivity,  nostalgia, and relaxed - the possibilities are vast. I’m also including my Happy playlist.

  1. Ain’t That a Kick in the Head by Dean Martin
  2. Cliffs of Dover by Eric Johnson
  3. Here Comes the Sun by The Beatles
  4. I Believe in a Thing Called Love by The Darkness
  5. Kodachrome by Paul Simon
  6. Signed, Sealed, Delivered I’m Yours by Stevie Wonder
  7. Such Great Heights by The Postal Service
  8. A Wink and a Smile by Harry Connick Jr.
  9. You Can Call Me Al by Paul Simon
  10. (Your Love Keeps Lifting Me) Higher by Jackie Wilson

How do you organize your playlists? Share one of your playlists in the comments.

My Cyborg Name

July 13th, 2009

One of the people I follow on Twitter, Cali Lewis, tweeted about her cyborg name. Being the geek that I am, having my own cyborg name appeals me. So I used their system to give me one. First I tried Andrew Woods, which they balked at, saying the name ‘Andrew Woods’ was too long. So I gave it my twitter name ‘awoods‘ for which it told me that it stood for Artificial Wireless Organism Optimized for Dangerous Sabotage. They know me so well!


Artificial Wireless Organism Optimized for Dangerous Sabotage

Get Your Cyborg Name

Trouble Getting Started

July 5th, 2009

Getting started with the process of getting fit has been a little slow lately. I haven’t jumped in with both feet yet. Instead I’ve been touching my toe in the water. I think part of that is I’m realizing I’m gonna have to give things up that I know are bad for me. While I know this logically, I’ve been caving into my desires. We can all agree that this has to stop.

I have a goal. My goal is to weigh 240 pounds by September 26, 2009. That’s 29 pounds to lose in 82 days from today. Is that possible? I wonder. I just did a search and found that WebMD says “If you need to lose 25 pounds, figure you are embarking on at least a three-month program“. My goal is a little more ambitious than that, but it’s not totally unattainable. I suppose that even if I don’t make that goal, I still win, right?

So, Dear Reader, tell me - how do you stay motivated with your fitness? Do you set treat goals - only have ice cream once a week? or run a mile for every beer you drink? buy yourself something nice for reaching milestones? I wanna know.

Karaoke and the Tour

June 14th, 2009

Karaoke for me is a funny thing. While karaoke itself hasn’t changed much, my idea of it has changed dramatically over the years. In years past, I held a highly unfavorable opinion of karaoke and the people who did it. Back in the day (during my college years) I saw it as something that the talent-less did for entertainment. Every time I heard somebody do karaoke, they were awful. Even worse, they weren’t even playing instruments. At least bar bands could play. Yeah, that’s pretty snobby, but I see that now. So what changed?

A couple of things have changed. I’ve gained maturity over the years, and my love and appreciation of music has grown in leaps and bounds. Also, I learned how hard it can be to get on stage in front of a lot of people through my experiences with open mic nights. How did I do? when i was starting - lets’ just say they weren’t my finer moments. I was super nervous - I’d forget lyrics; my hands would shake from stage fright. With time I became better and more confident as a performer.  Another thing that changed was I took singing lessons. Through this experience, I learned just how hard it is to be a good singer.

It wasn’t really until I took singing lessons, that I saw karaoke as the ideal vehicle for work on my singing. It freed me from having to concentrate on the chords i was playing and providing the rhythm.  Somwhat recently, I discovered that people I already knew in the Seattle tech scene liked to perform at karaoke. So I’ve started doing it and discovered that I really like it. One of the things about doing open mic nights in the past, I limited song selections to what I could sing and play. With karaoke, I’m free to work on my singing and related activities like composure, stature, pitch, breath control, and be in character. Now when I think about song choices, I think: do I like the song? is it within my range? do i think I could do it well?  As I try more songs, I surprise myself on the number of songs I’m finding that I think I can do well. I’m also noticing that I’m not nervous anymore when I go on stage. hmmm, I wonder why that is? Nevermind for now. That is a different post.  So what about the “tour”?

The Seattle Karaoke Tour was devised by Jeff Croft and Alix Han. Eight nights in a row of karaoke, where each venue is different from the last, throughout Seattle. I’m looking forward to it. Last night was a great start. I’ve got a list of new songs that I haven’t tried yet.  I’m hoping to make it to each night, to try them all. We’ll see what happens.

Barcamp Seattle 2009 Schedule

June 11th, 2009

Some of you may be wondering what the schedule is for Barcamp. Friday Night there is a kickoff party/book signing at office nomads . Tara Hunt (@missrogue) will be selling and signing copies of her book “The Whuffie Factor“. Saturday morning at 10am the doors open for Barcamp Seattle. People will mingle for a bit and around 10:30 we’ll make announcements and let people signup themselves up for sessions on the board for the day. Everyone who shows up, has the opportunity to run a session. At 5pm, the sessions will wrap up for the day. Afterwards, we’ll head over to the Red Door, which is just a couple of blocks away. On Sunday, another set of session will start at 10am  and will wrap up at 1pm.