Monday, March 19, 2018

Biking & Hiking Camper

I wanted a car that I could drive to the start of bike rides or hikes and even sleep in the night before if far from home. I wanted it to be more a car than a camper/van--both in terms of on-road driving and off-road capabilities--and I didn't want the expense of a custom vehicle. Finally, I wanted to be able to open the back of the vehicle with a bike rack on.

I did a ton of research and came up with the following solution:

I'd recently seen a Jeep with an Ursa Minor top around town, and that kickstarted the process.















I love my Jeep and camper, but it took me quite awhile to get everything delivered, installed, and all the kinks worked out, even after all the initial research. Hopefully these notes will make it easier for you to do something similar and much more smoothly!

The irony of this adventure is that I spent much of my career doing systems integration work, so I was acutely aware of integration issues in my research. I thought I had everything figured out up front. Not even close.

This is a look at the problems I encountered along the way and what I'd recommend as a result.

Overall aesthetics can be a challenge (or more expensive)


The standard color of a J30 camper top is marine white. To have the color of the top match the body color of your Jeep costs another $1,000-2,000 over the base price, depending on the options you choose. I didn't want to spend that extra money. Moreover, I like the white color, and it's good from the perspective cooling in the summer.


A white top presents an aesthetic challenge though, because you probably want a light(er) body color and Jeep's standard fenders are black. I didn't think many light body colors looked very good with black fenders, but you can only get body-color fenders if you also get a body-color hardtop. And body-color hardtops are much harder to sell than standard black ones.


I really wanted to get a blue Jeep with body-color fenders, like the Chief, but I didn't want to pay $1,200 for a blue hardtop that I couldn't easily sell. I ended up going with a Gobi (desert/sand) Jeep and a white camper top (with standard black fenders), because this one looked pretty good ... and it's driving all over Africa.


Jeeps come loaded with extras


Besides not wanting to pay for extras, options, and packages, I wanted the most basic, stripped down Jeep I could buy. I would have gotten manual windows and door locks, if I could have! I wanted lower cost and higher reliability (less to not work/break). Virtually all the Jeeps you'll find on a dealer's lot come with many options and packages installed though, all jacking up the price.


It turns out that you can buy a Jeep built to your specifications as factory order. This is what I ended up doing, so I could just get the automatic transmission, towing package (2"), and slush mat upgrades and the color I wanted. Dealers don't lead with this, but ordering from the factory a formal option. Note: The issue below wrto the top though!


Tip:

  • Order from the factory, to get the exact Jeep you want.
Coordinating delivery & installation can be a challenge 

Ursa Minor installs campers in San Diego (where they make them) and Portland (Oregon). If at all possible, I highly recommend that you have them install your J30, as opposed to having them ship it to you and you doing it.


Installing a J30 is way more than just taking the OEM top off and putting the J30 on, even setting aside the weight of the camper (260 pounds). Getting it placed just right is important for preventing leaks, and there are subtle little things here and there to get right. For example, when mine was installed, it took the two installers awhile to get the top to latch correctly.


If you live a significant distance from San Diego or Portland, it might be interesting to consider buying your Jeep through a dealer in one of those places, flying there to pick it up, have the camper top installed, and then just drive one way home. Seattle is not that far from Portland--three to four hours, depending on traffic--but I made the mistake of ordering my Jeep from a dealer nearby in Portland, because they were aggressive on pricing. Once I realized I wanted to do a factory order though, I should have done that through a dealer in Seattle. But I learned the pitfalls of this approach, which may help you avoid them.


As you would expect, I worked with both the dealer and Ursa Minor, figured out roughly when both would be in Portland, built in plenty of buffer, and got a firm install date for the camper. But long story short, when my Jeep came in and I had to go take possession, the camper wasn't in Portland as promised. So I had to make two trips: the first to get the Jeep and the second to get the J30 installed.


Tips:

  • Either buy your Jeep where you live, so you don't have to coordinate with the trip to install the camper in San Diego or Portland or make multiple trips; or 
  • Arrange for the dealer near Ursa Minor to hold onto your Jeep, until the camper arrives so you can make one trip; or 
  • Arrange for a friend to pick your Jeep up and hold onto it, until you arrive to get the camper installed.
Just because you've wired the money doesn't mean the dealer will let you drive the Jeep away

The day I went to Portland to pickup my Jeep, we almost came to blows, because they wouldn't let me drive away with it even though I'd wired them the money.


The wire for the balance I owed had executed the morning I was to pickup the Jeep and the proceeds were with the dealer's bank, but their bank hadn't yet put the money in the dealer's account. So, from the dealer's perspective, they didn't have the money. I no longer had the money, but the dealer wouldn't act like they did and wouldn't accept the risk of their bank not giving them their money.


I spent an hour or two wrangling with them, trying to get them to complete the deal. They asked me to spend the night, so we could close the next morning! Incredibly frustrating. The money eventually hit their account though, and we finished the transaction.


Tip:

  • Take a cashier's check or wire the money a couple of days ahead of time. The wire executing may not be enough.
Jeeps that come with shift tops aren't wired for hardtops 

This was a big gotcha that could and should have been avoided. I told the dealer I ordered my Jeep from that I was going to put a custom hardtop on it, and I told Ursa Minor that I was going to order a soft top, so I could put it inside the back, for the drive home after the install. And they knew I'd ordered the rear defroster and wiper. But neither told me--and it didn't come up in my research--that Jeeps that come from the factory with soft tops aren't wired for hardtops: inexplicably, Jeep doesn't put in the wiring and hoses in all units, so the rear wiper and defroster on a hardtop work.

Here's the backstory: You can't buy a Jeep Wrangler without a top, and in the northwest, you have to have a top anyway most of the year to get to Ursa Minor in Portland (Oregon) to have the camper installed. I chose to get my Jeep with a soft top as opposed to a hardtop, because I didn't want to pay the $1,000 more for a hardtop or deal with the hassle of having to sell one. I figured I could drive the Jeep with the soft top to Ursa Minor, they could take it off, install the camper, put the soft top inside, and I could drive home and sell the soft top in Seattle.


After going to Portland the first time to pickup my Jeep, I went over to Ursa Minor which was fortunate, because it was (only) then that I learned that I needed these wires and hoses and they weren't standard. It cost me another $1,000 and multiple trips to the dealer, to get my Jeep hardtop ready.


It's a major production to install this assembly into an already-built Jeep, as opposed to simply laying it in when it's just a skeleton. It took nearly eight hours of labor! My dealer took pity on me and only charged me for four hours. That and the part was still over $1,000.


Moreover, in the process of researching and ordering my Jeep and camper, I missed that Ursa Minor will take possession of your OEM hardtop and sell it for you for as a free service. So my thinking that a soft top from the factory was ultimately the better logistical and cost option was dead wrong.


Tips:

  • Buy a standard black hardtop, so the Jeep comes wired for a hardtop, and arrange for Ursa Minor to sell the hardtop for you; or
  • If your Jeep doesn't have these wires and hoses, don't order the rear wiper and defroster on your camper top; or
  • If you want them and do have to install this wire and hose assembly in your Jeep, be warned that there are multiple nearly identical parts: the specific wire and hose assembly you need depends the specific model of Jeep Wrangler Unlimited that you have. It took my dealer two tries to get the right one, even though they knew my VIN number (of course). Sigh.
It must be at least 70 degrees and dry, to install the drip trim for the camper 

The camper has strips of drip trim above the length of the doors on both sides, to guide rain runoff away from the door seals. These strips are put on at the installation site (not factory), and for the adhesive to properly stick, it must be 70 degrees Fahrenheit and dry.

That's a small window in the northwest, and my camper was installed in January. So, the strips peeled off on my drive home to Seattle. Sigh.


Tips: 

  • Either get your camper installed in San Diego, where temperature and precipitation aren't the issues they are in Portland; or 
  • Get your camper installed in Portland during the summer; or 
  • Make sure Ursa Minor uses their new technique of turning up the heat in the install bay and warming the strips up with a space heater.
Jeep doors are notorious for leaking 

I didn't spend a lot of time investigating the reliability and quality of Jeep Wranglers, because I was optimizing for my biking or hiking and camping scenarios. It probably wouldn't have changed my decision if I had, but after my camper was installed, my front doors started to leak.

I discovered that leaks in Jeep Wrangler doors are so common that there's a whole manual for troubleshooting leaks and my dealer in Seattle has a leak specialist come in every Tuesday to deal with their backlog of leaking Jeeps. And a custom (vs. OEM) hardtop makes it that much less likely that the Jeep dealer will try to fix your leaks, because it's at the interface between the Jeep and the top where the problems occur. After waiting three weeks to have the water specialist troubleshoot my leaks, he took one look at the setup and threw up his hands (politely). So, I had to make a third trip to Portland, to have Ursa Minor debug and fix the problems (which took two experts a couple of hours and involved minor adjustments to the installation--hence my recommendation that they do the install).


As someone who spent their career designing and building software products, it is mind boggling to me that a product like a Wrangler could make it though a professional design and production cycle with this degree of problem, much less have over half a million units made over a period of 20+ years.


Tip:

  • Have Ursa Minor stress test the front door seals, after the camper is installed and before you drive away!
The Jeep Wrangler glove box is useless for manuals 

A second head-scratching example of Jeep design is the glove box.

While generously sized, the interior shape is odd, and the owners manuals only fit in cockeyed. IOW, the place you always store your manuals doesn't readily accommodate your manuals.


The glove compartment is fine as a receptacle for random items, like sunglasses. Just don't expect your owners manuals to fit, like the same people designed both.


Tip:

  • Get the map pockets in the camper. They're over the two front seats, and all the Jeep manuals fit in those pockets nicely. I got lucky on this, having ordered the map pockets before I discovered the problem with the glove box.
You need a hitch extension 

One of the things I spent the most time researching was what bike rack to get. I wanted to make sure you could fully open the gate and rear window with the rack on.

I found a round up that showed this could work, but only with the Thule T2. Being the skeptic that I am, I wanted to see visual evidence, not just read words. Despite seeing that, I still encountered two problems.

The first is that, while it is visible if you know to look for it, the round up doesn't mention that you need a hitch extender to make this arrangement work. Moreover, a "normal" short extender is just 8" which isn't long enough. But the longer extenders are typically 12-14" which is way longer than you need and really stick out.

After a couple of trips to the local Rack N Road and a bunch of research online, I finally discovered an extender designed specifically for use with a rear-mounted spare tire like the Jeep: Advantage Sports Rack Hitch Extension. The extender can be used in 9" and 11" positions.

Even though it is designed specifically for this scenario though, I still couldn't fully open my gate! It turns out that the tires that come on the Rubicon I bought are bigger and wider than the tires on standard Jeep Wranglers, and that little bit of difference is what makes the difference. The Jeep in the photo must have smaller tires.

Tip: 
  • I recommend that you test a specific extender and Thule T2 rack on the same model Jeep with the same size tires you're going to get. Find a dealer or a friend with one who will let you put the extender and rack on and test the gate. Find a combination that works (enough) for you, before you buy your Jeep.
Some more tips & tricks

Here are a bunch of other suggestions, to round out your rig:

  • Buy trench covers — To get in and out of the camper, your back seats need to be down. And I keep mine down, unless I need the seat space. Whether or not you leave them down, when they are down, there's a "trench" that makes standing back there challenging. You can buy a third-party trench cover like this, so that the back of your Jeep has a flat, stable floor.
  • Protect the back of your rear seats with a cut down door mat — Again, to get in and out of the camper, you need to stand on the back of the back seats. The fabric there wasn't designed for foot traffic, much less dirty or wet shoes. You can buy a commercial door mat like this and cut it down to size to protect your seats and more-or-less blend into the black interior.
  • Get sliding back windows — Consider getting half-sliding glass in one or both of the rear quarter windows of the camper top (see J30 configuration options). The reason is that in order to put the camper up (or down) you have to have a door or window open or cracked. If you don't, the vacuum inside the Jeep will keep you from pushing the top up and open. If the weather is bad outside, having a door open isn't ideal, and to close a Jeep window that you've opened part way, the power needs to be on. The sliding side windows in the J30 are manually operated which means that you can open and close them by hand. I didn't realize this when I ordered mine, but I wish I had.
  • Install a phone holder in your CD slot — Unless, of course, you want to play CDs. I haven't played CDs in a car in a long time though, so this smartphone holder is awesome.
  • Buy a locking anti-rattle bolt — The Thule T2 rack has an anti-rattle device, and it locks to the hitch, so your rack can't be stolen. As noted though, you also need a hitch extender. Even if your extension comes with an anti-rattle bolt (like the one I suggested), those typically require a fairly significant and specific tightening torque which makes taking the extension on and off non-trivial. If you buy an anti-rattle bolt that also locks like this one, you can leave the extension on the Jeep and just take the Thule on and off as needed. And when the rack is on the car, it can't be stolen (because it locks to the extension and the extension is locked to the hitch).
  • Buy carbon offsets — Despite being perfect for this solution, Jeeps aren't hybrids or even very fuel-efficient gas-powered cars. Consider buying carbon offsets, to compensate for that. A friend in the know recommended this marketplace, and I bought credits to cover the amount I expected to drive in a year and will continue to do so going forward.
One final bit of aesthetic fair warning: If you look closely at the photo above, you'll notice that the lines of the camper are a little off. The line of the Jeep door tilts forward a little, but the line of the camper bottom (mine is black) is level to the ground. As a result, the lines separate from back to front. The camper line is probably that way, to keep the sleeping platform level. Hopefully in the future Ursa Minor will decouple the two: keep the sleeping platform level, but have the line of the camper bottom parallel the line of the doors. I looked at lots of photos of J30's, but I never noticed this subtlety, until my camper was delivered and installed. It wouldn't have changed my decision, but I wouldn't have felt a minor disappointment at the discovery.

Again, I love my rig, but it was an experience getting it all together. Enjoy!


Saturday, March 5, 2016

Biking Vashon Island


I've ridden Vashon Island a couple of times with friends now.

It's a hilly 2,000', elevation gain, 31-mile ride with two options to extend it another 2.5 and 10 miles.

I've annotated a map and created a simple cue sheet (link), and this is a route that you can upload into your bike computer or smartphone (link).

There are other places to rest safely and other food opportunities, both noted, but Burton Coffee Stand (20 miles) and Snapdragon Bakery & Cafe (26.5 miles) are an essential part of the experience, especially when taking a respite from the weather.

Thursday, January 28, 2016

Removing Newlines In Quoted Strings

Sometimes double-quoted strings in comma-delimited files (CSV) contain newline characters.

Newline characters embedded within strings really mess up any downstream processing that depends on newlines, well, denoting newlines! So you have to remove them or substitute some other value, such as a space.

I recently encountered this problem, working with a nearly 300,000 line file of election data. Manually editing the file was obviously not feasible.

This turns out to be an extraordinarily difficult problem to solve, for a variety of reasons that I learned serially the hard way:
  • Unix command-line tools work on lines, but the quoted strings span lines! -- You're trying to stitch back together into one line what command-line tools consider two lines. There seem to be some sed and awk solutions, but they seem very complex (link), and I could never get them to fully work in my scenario. (More on that below.)
  • Different *nix operating systems have different versions of command-line tools -- Another problem is that the tips you can find by searching the Web don't work on all Unix variants (e.g., Linux vs. Mac/BSD). So, when things don't work, you're constantly wondering whether you've done something wrong or whether your flavor of Unix is just incompatible with you the version some poster was using and assuming. I ended up installing GNU command-line tools, to try to get around this problem (link). Unfortunately, I still couldn't get the command-line suggestions to fully work in my scenario.
  • Excel isn't available as a tool -- Sometimes you can import data into Excel and do some simple transformations on it there, e.g., using Find & Replace. Again, I couldn't in this scenario, because of some quirks in Excel. On the one hand, if you implicitly import a .csv file into Excel by simply double-clicking on it, Excel does some magic and splices the split rows back together for you! At first that seems like a wonderful bonus, but it turns out that Excel also applies "intelligent" formatting to the columns based on data in them. For example, if it sees data like "01-30" is assumes it's a date. That sounds great, unless the data actually isn't a date, because Excel actually changes the underlying data to be a date, and there's no way (that I know of) to unformat it, to convert it back to the original data! I had some precinct identifiers that looked like dates, so I couldn't leverage Excel's auto import. On the other hand, if you explicitly import a .csv file into Excel--by opening a new worksheet in Excel and choosing File / Import ... , and explicitly identify the data types for each column to get around that auto-formatting problem--Excel doesn't then do the magic stitching of the split lines. It makes no sense, but there seems to be no setting to enable this, no way to get explicit import to work like auto import in Excel in that regard. Sigh. 
Once you've worked your way through all of that, the obvious solution is to write a little script to do the job yourself. How hard could this be? Read a character and write a character with a little state machine in the middle to keep track of whether you're inside a double quote or not. 

It turns out that a couple more problems make that seemingly simple script not so simple:
  • Newlines are invisible or unprintable characters -- The first problem is that newline characters are not visible in some popular text editors like Sublime Text. In others, like TextMate, you can View / Show Invisibles but then the invisibles only show up with little placeholder UI widgets. For example, there's a little grey NOT sign (¬) anywhere there's a newline. But all invisibles show up with the same representation. The much bigger problem, though, is that the carriage return (CR) then line feed (LF) sequence of invisible newline characters shows up as one unprintable character in TextMate! IOW, it can look like there's one newline character when there are, in fact, two, which, of course, can totally confound your otherwise seemingly simple code. What should work simply doesn't ... or doesn't always work in seemingly mysterious ways. Which leads to the last major complication:
  • Different applications, editors, and operating systems represent newlines differently -- A variety of combinations of CR and LF are used (link). Normally, you don't have to pay attention to this. However, when you're working with files coming from different systems (Windows vs. Mac vs. Unix), files produced/consumed by different applications that you don't normally use (I was using an open source GIS application called QGIS), or you're creating new files with text editors (I created some small sample files, by copying and pasted lines from the large file), the representation of newlines can get all mixed up, again confounding an otherwise simple script.  
The Unix command-line dump tool, e.g., od -c <file>, would seem like it would be helpful, but in light of the above in my scenario, not so much. Dumping works great on small sample/test files, and I did this a bunch. But, as I discovered eventually, my sample data represented newlines differently than the big file. od would have showed me that there were, in fact, two characters where I thought there was one in the real data, but the real data was gigantic and the offending data was buried and intermixed within it, so dumping the whole file was not practical or useful.

After beating my head against the wall for quite sometime, trying for the life of me to figure out why the simple Perl script I'd written worked on my sample but not on the real data--even when the sample was a copied and pasted from the original--I finally realized that the sample had single LF newlines while the full file used CRLF newline sequences. The text editor I had used to create the sample file, TextMate, had quietly used a different newline representation for the new file, even though I'd opened the real data file in same text editor. So the script was doing exactly what I wanted it to do, but the data wasn't what I thought it was!

(A side note here: If you go back to the command-line suggestions linked above, I believe they also assume single LF newlines which probably explains why the seemed to work sometimes--in retrospect, on my test data with just LF newlines--but not on my big file--with CRLF newlines.)

So, in the spirit of giving back, I've put the script I wrote in a Gist on GitHub (eat_CRLF_in_quoted_strs.pl) and included the code below, for your convenience. For my application, I chose to simply eat the newlines embedded in quoted strings, rather than replacing them with spaces.

Enjoy!

Wednesday, October 7, 2015

Surly Pacer Top Tube Shim

My performance endurance road bike is a Cervelo R3 with carbon frame. I love it, but it can be a bit of a rough ride on uneven surfaces.

The Surly Pacer is a steel road bike designed for long, all-day rides. In my size (54cm), it has almost the same stack & reach geometry as the Cervelo. IOW, it's basically the same fit. So I bought a Pacer and added fenders, to have a the same ride for winter training and more casual long rides.

The Pacer has one design flaw for long rides though: the rear brake cable runs along the top of the top tube, most of it exposed, which prevents you from using a Bento Box-style top tube bag. On long rides, I like to small amounts relatively regularly, and a top tube bag makes that much easier than jersey pockets. I like the eoGear top tube bags.

So I designed a shim using Tinkercad and printed it on a 3D printer locally using 3D Hubs. The shim rests on the top tube and protects the exposed cable (rear) and cable housing (front). The bag will rest on the shim, instead of directly on the top tube. The design is available here, if you want to print one or modify it.


Updates: Here is the shim (unpainted) with the top tube bag.



And this is the shim painted and affixed with thin two-sided tape. Works like a charm.


A coat of flat black paint makes the shim disappear.

Friday, April 24, 2015

Trying Craft Client or Pro on Mac OS X Before Buying

Craft allows you to try Craft Client and Craft Pro before buying them, by running your site from the host name craft.dev or a subdomain such as site1.craft.dev (link). However, it's not immediately obvious what "running your site from craft.dev" means.

This post explains how to run your site from craft.dev on Mac OS X using MAMP and Sequel Pro.

1 — Install Craft on MAMP

  • The first step is to install Craft Personal. These instructions explain how to do that on Mac OS X using MAMP and Sequel Pro.

2 — Create a directory for the craft.dev site

  • Go to /Applications/MAMP/htdocs
  • Create a new folder trybeforebuy/public/ (or whatever you want to call it)  
  • Copy contents of the htdocs folder there, including the hidden .htaccess file
  • Edit $craftpath in index.php to be '../../../craft'

3 — Setup craft.dev as an Apache virtual host 

  • Follow these video instructions 
  • Use 'craft.dev' (no quotes) as the ServerName
  • Use "/Applications/MAMP/htdocs/trybeforebuy/public/" (with quotes) as the DocumentRoot and Directory 

4 — Change the Web port to 80 from 8888

  • Open MAMP
  • Switch to the Ports tab
  • Click on the “Set the Web & MySQL ports to 80 & 3306” button

5 — Access the new Dashboard 

  • Go to http://craft.dev/admin/login 

6 — Upgrade your Craft installation

  • Click on the "Show me" link in the "Upgrade Craft to take your site to the next level" box at the bottom of your Dashboard
  • Click on the "Test" link by Craft Client or Client Pro, whichever you want to explore
That's it!

This post describes how to switch between the different versions--Craft Personal, Craft Client, and Craft Pro--if you want to do that.

Saturday, April 4, 2015

Installing Craft CMS on Mac OS X Using MAMP & Sequel Pro

I just wanted to set up Craft CMS on my Macbook to experiment with. It took me forever. This explains what worked (and what was missing from other sets of instructions).

Craft's install documentation assumes but doesn't explain several prerequisites (like setting up my MySQL) and The Absolute Beginners Guide to Setting Up Craft on Mac (sounded perfect) was directionally helpful but had some errors and, at the end of the day, simply didn't work for me. For the longest time, I could not get Craft to connect to MySQL, even though it was installed correctly and running.

These are the perquisite steps, assuming you aren't already running Apache and MySQL:
  • Step P1: Download and install MAMP -- This sets up a Macintosh, Apache, MySQL, and PHP solution stack and gives you a simple management interface to start and stop the servers.
  • Step P2: Download and install Sequel Pro -- This gives you a simple tool to manage your MySQL databases.
  • Step P3: Open MAMP (not MAMP Pro), and click "Start Servers" -- This starts the Apache Web server and the MySQL database engine.
  • Step P4: In MAMP, click "Open WebStart page," if MAMP didn't already open one in your browser automatically.
  • Step P5: Open Sequel Pro, and use the parameters on MAMP's WebStart page to create a connection -- I could not create a Standard connection using '127.0.0.1'. I had to create a Socket connection, using 'localhost'. This is the scenario that the Craft installation instructions don't anticipate.
  • Step P6: Click the control in the upper lefthand of Sequel Pro, and choose "Add Database ..." to create a database, e.g.. 'crafted'. Choose UTF-8 for “Database Encoding."
These steps track those in Craft's installation instructions but with some additional explanation. Read them together:
  • Step C1: Upload the files -- You're uploading the files, because you're pushing them to your Apache Web server on your Macbook.
    • Download Craft -- It will end up in your Downloads folder. There are two folders craft/ and public/ in the downloaded 'Craft-2' folder.
    • Copy the craft/ folder to /Applications/MAMP, i.e., above the webfoot (htdocs/). 
    • Copy the files htaccess, index.php, and robots.txt from public/ to the htdocs/ folder.
    • Rename htaccess to .htaccess -- Open Terminal and run the following commands:
      • "cd /Applications/MAMP/htdocs" -- go to where htaccess lives 
      • "defaults write com.apple.finder AppleShowAllFiles -bool true" -- show hidden files
      • [Relaunch the Finder] -- hold down control-Alt while you click on Finder in the dock and then choose Relaunch
      • "mv htaccess .htaccess" -- rename htaccess
      • "defaults write com.apple.finder AppleShowAllFiles -bool false" -- hide hidden files
      • [Relaunch the Finder again]
  • Step C2: Set the permissions
    • Open Terminal and run the following commands:
      • "cd /Applications/MAMP/craft" -- go to the craft/ directory
      • "chmod -R 744 app"
      • "chmod -R 744 config"
      • "chmod -R 744 storage"
  • Step C3: Create your database 
    • Nothing to do here -- You already did this in Step P6 above.
  • Step C4: Tell Craft how to connect to your database
    • Copy the default settings in "craft/app/etc/config/defaults/db.php" into "craft/config/db.php"
    • Update the parameters
    • Set 'unixSocket' to the Socket value on your MAMP WebStart page (e.g., "/Applications/MAMP/tmp/mysql/mysql.sock"). 
  • Step C5: Run the installer! 
    • The URL is "localhost:8888/admin"
    • Follow the installation screens
I'm guessing that if you are setting up Craft in a production environment on a production Mac you might want to do somethings a little different, but this will get you a sandbox to play in. Enjoy!



Monday, November 3, 2014

Seattle Rides


After an almost 20-year hiatus, I've started biking again.  These are the major rides I took this past summer:

  • Seattle Loop (link) — 25.5 miles total from home
  • Gas Works Parks to Seward Park and back (link) — 25.5 miles from Gas Works plus 8 miles roundtrip to/from Gas Works (via Roy, Mercer, and the path along Westlake)
  • Gas Works Park - Mercer Island Loop (link) — 31.5 miles from Gas Works; the Mercer Island loop is really nice, especially on a weekday when few others are riding (very popular on nice weather weekends)
  • West Seattle - Leschi - Gas Works Loop (link) — 37 miles total; you can connect into the loop right at the bottom of 3rd AVE W on the other side of the pedestrian bridge
  • North Lake Loop (link) — 41 miles from Gas Works Park; you ride clockwise around the north half of the lake, coming back over I-90
  • South Lake Loop — 38 miles from Gas Works; I don’t have a map for this and haven’t ridden it recently, but you’d basically ride over to Gas Works Park, start riding counterclockwise around the lake to I-90, and then you’d ride around the southern half of the lake (crossing it over I-90) either clockwise or counterclockwise, and then back to Gas Works
  • On either of the previous two rides, you can add another ~8 miles by looping around Mercer Island when you cross I-90
  • Lake Washington Loop (link) — 53 miles from Gas Works
  • Chilly Hilly (link) — 32.5 miles roundtrip from/to the Bainbridge ferry terminal
I had some fun rides with friends, but the twin highlights of this season were the full Lake Washington Loop and the Chilly Hilly route with my daughter, Sara.

Next year I hope to do some longer rides out through Snohomish, Monroe, Woodinville, Redmond, Issaquah, etc., as well as some hillier rides on Vashon Island.

UPDATE: I posted an annotated map and cue sheet along with a route (.gpx) for some rides around Vashon Island (link).