How To Replace 2004 Subaru Forester Window Motor

Lots of posts on this online, about how difficult it is, saying must disassemble entire regulator - I had watched someone do it before, was dreading doing it myself - but turns out, you don't have to, it's actually super simple.. Hard to find a good guide how online, so here it is:

Easy job 1 hour tops for a novice/first timer.

  • Take off door panel, pull back plastic/silicone (lots of videos online)
  • Remove speaker
  • Unscrew three screws holding in motor inside of door (#3 phillips)
  • Unscrew two nearest 10mm bolts (red in image), loosen two others (green in image). These bolts hold the assembly to the door, be careful to not fully remove.
  • Wiggle the old motor out, took 5 minutes of maneuvering, may need to pry assembly outwards a bit
  • Place new motor in, screw in the 3 #3 philips on the motor, tighten and put back the 10mm bolts.

It's that easy. I'm unsure if this applies to all second generation foresters, but I'll put the years down for searching just incase it is: 2003, 2004, 2006, 2006, 2007, and 2008.

Compile LESS with Coda

Coda 2 doesn't compile Less natively - as nice as it would be. There's a plugin that does it, however at time of writing this, it doesn't work for me (El Capitan PB2 / 2.5.11) and crashes the app.

When you're working with shared hosting, where it's nearly impossible to do anything to the server, it makes working with server-side Less kind of a pain. Here's a way I found to automatically compile Less server-side after saving the file while using Coda 2.

In your remote site, have the following:


In add the following

In lessc.php add:

require "";
$less = new lessc;
$less->compileFile("style.less", "style.css");
<style>code { animation: fadein 2s }
@keyframes fadein { from { opacity:0 } to { opacity:1 } }</style>
<code>Compiled: <?= date('r') ?></code>

Coda 2 has a handy default feature that refreshes your split preview window every time you save your split view file. We'll take advantage of this making the preview window compile the newly saved /style.less file.

Simply split your /style.less page with a preview window set to the /lessc.php file on your server. Every time you save the .less file, Coda 2 will auto-execute the PHP Less compiler. Ta'da! Now hitting cmd+s on the keyboard uploads your Less file and compiles it.

Note: This isn't the best way to compile, but it's great if you're working off of cheap shared hosting, or having to do something quick.


Standing Garden

While renovating the basement, there was an old cedar shelf that needed to come down. After carefully taking the boards out and buying some 4x4 for legs and 1x1's for structure, I built a standing garden for Jess.

It's 5x3' and holds >70L of soil.

Building a Standing Garden

Building a Standing Garden

Fixing Up A 1992 Ford Ranger

Last year I got a '92 Ranger, named Pearl. The car was perfect for me. I knew I wanted a Ford, I'd never finance, wanted an older boxy'er looking truck, and wasn't interest in any bells and whistles. I wanted a reliable beater basically:

1992 Ford Ranger - White

Pearl was perfect - and best of all I got the car from a retired on the side mechanic, who intended this to be his winter driver (oh, did I mention it's a 4x4, take that old man winter). He put a lot of love and money into it: replaced the rusty box, coated the frame and underbody with "POR-15", new 4WD Shift Motor, new summers, alloy rims, etc.. And on a side note: he was an amazing help and source of information while fixing, being a great teacher/council when I ran into walls, having every tool you could possibly need, and the experience to help with the difficult things. Wouldn't of done all the work and learned as much as I did without him.

Here's the break down of the work put in thus far:

Summer 2014:


First, starting easy, replaced the stereo for one from eBay for $75. No commercial FM for me, need that SD card reader.

Cost: $75 Time: 2 hours

Purging The Interior.

Annoyingly the headliner would sag and just irritate the top of my head, so I ripped that down nearly instantly with vengeance.

While looking in the nooks and crannies, I noticed the padding under the rubber floor was soaked. Drenched, actually. I took out the seats and tossed the floor and all of the trim (except the dash). I was left with a metal shell, but at least that unmistakable musky smell was gone.

Cost: $3 dump run Time: 4 hours


With the odour and interior gone, things started to get mechanical. The rear break lines were seized, from front to back, along with broken slave cylinders and many of the components of the drums. I wrote a detailed write up here.

92 ranger rear break repair

Cost: $150 Time: 10 hours

Winter 2014:

Clutch + Clutch Hydraulics.

This was a big problem. The clutch stopped working (synonymous with the Mazda M50D-R1), the slave cylinder was spitting out all the fluid. It wasn't safe to drive at all, so it got parked until fixed.

Before Christmas holidays I ordered a pre-bled clutch hydraulic setup from Car-ID. Horrible experience. Their site said "in-stock", but a few days after purchase and charge I received an email "item on back order" .. Waited another 30 days only to get another email "item doesn't exist, sending order to manufacturing, please wait another 30-45 days". It was early February now, so I cancelled all orders, wrote a angry email to them, and after a few phone calls and trips to Lordco: I got everything I needed. (Lesson learned: don't deal with these "parts" companies online if you can visit your local store!)

The geniuses at Mazda put the slave cylinder inside the transmission bell housing. This meant taking out the transmission, and everything in its way. Mind you I've never done mechanical work before, this was a hell of a task. Transfer case (heavier than it looks), exhaust (rust you say?) had to go, as it sat between the frame and the transmission.

With the transmission out it was recommended to resurfaced the flywheel and installed a new clutch, both were not overly worn or damaged, but with everything out: why not.

New slave cylinder took 15 seconds to install. Getting there and putting it back together was about 40 hours total.

With the truck together, I was excited, but in re-reading my material, some fine-print cautioned the installation of a slave cylinder might not be the solution to the clutch hydraulic leak problem. The problem may stem from the master cylinder bleed port being clogged which would break the slave.. Knowing how long it took to replace the slave, simple math points that taking a day to change the master was well worth it.

There's a video here on how to bleed the hydraulics properly as bleeding after installation is nearly impossible. Many thanks to those fine people for making the video.

So new slave, new master, all properly bled. New clutch.

At this point, after looking at the amount of work and money I invested, I had a mindset change. I intended for this truck to be a beer-runner and simple hauler, and that's about it. However after a winters worth of work I decided to get it back to stock. Once there, start customizing it. I decided I now want an awesome, old school, customized, and great running '92 Ranger.

Cost: $600 Time: >40 hours

Falling in love with your truck: Priceless

Spring 2015:


With my goals for Pearl shifting, step one to improve the visuals back to stock was to find a good place for parts. Online: it's safe to say every single thing ends up being around $100 after US conversion and S&H, plus after my horrible experience with Car-ID, I was sour about it. Trips to local junk yards yielded very little results. Half burnt skeletons of once glorious Rangers, had nothing left to offer. But, as luck (or fate if you think that way) would have it though, while searching for a random part online: I stumbled across a '89 Ranger for really cheap the next town over. Box was beat, but nearly no rust. Rear window in-tacked and almost everything else I needed. Purchased and hauled home.

89 Pearl

Trim + Extras.

Striping the '89 Ranger, dubbed: '89 Pearl, I found some extra's I didn't even think about: a tonneau cover was an added bonus. Turns out the trim in my truck had pre-moulded latches for it as well. An easy install, and a very nice little bonus! Though it's not the most convenient to use when your seats area all the way back as mine are.

1992 Ford Ranger tonneau cover

Also, while purging the inside after purchase I had thrown out the Booster seats, and various pieces of trim. My experiences and hatred of sitting in boosters prior, and the "it's a beater, I don't care if the interior is a tin can" had persuaded me to throw them out - however now, with different goals, I surprisingly got everything I threw out back (in the same colour too!).

Cost: Free! Time: 2 hours


I made a trip to Fabric Land and bought some decent looking curtain fabric. I've never done any sort of upholstery / fabric work before, so it was interesting. Pro tip: there's a happy medium for the spray-glue, not enough is frustrating as it will sag. Too much is horrible as it bleeds through and darkens the fabric. The first time I attempted this, after 3 days it began to sag. I think the glue I used was too weak andor I didn't let it sit long enough before installing. So I picked up some carpet tape, as well as stronger spray glue. So far, so good.


Cost: $50 Time: 2 hours

Rear Window.

Next the rear window. Before the slider was a piece of poorly installed plexiglass. Leaving it in a parking lot was always nerve wracking. Looking through two junk yards I couldn't find any glass that would fit in the size of Pearls rear window slots, or a suitable replacement. Also the auto glass shops in town only had solid (no slider) available for >$200. So with '89 Pearl at my disposal, I removed her read slider window for Pearl. Both trucks proved easy enough to uninstall. Pro tip of the day: take your time, no need to bend or push to hard on one side or another, work your way around the urethane pushing lightly and making cuts to the evil dark tar-like urethane with a knife. The painful part is scraping away the clingers - a metal brush worked best. Painted after for rust protection.

Installation was a little more tedious and messy. Urethane is a pain to work with, I dread the day I have to do this again. I broke three caulk guns, ruined an outfit, coated many tools, and stained my hands for weeks trying to ooze the tar onto the window. I ended up tearing the tube open and spreading it on with a drywall spatula instead of trying to fix the caulk guns every 3 minutes. Where the window and truck meet, there's lots of room, so I added in a silicon gasket as well. Why not. So far, no leaks.

1992 Ford Ranger Rear Window Replace Sliding

Cost: $100 Time: 6 hours

Ranger Leaky Floor

Synonymous with the older Rangers is a soaked floor. While raining I noticed drips from the roof and puddles in the floor pans. Thinking the issue was the roof, I placed buckets to catch the drips as I located the source. While collecting the rain, the floor was getting soaked. Turns out the cowl was pushing rain down behind the fenders, there were rust holes andor tired sealant absorbing water directly under the kick panels on either side. This explains why the interior of the car was so water logged and damaged when I purchased it.

Taking off the trim and the fenders, it was clear where the water was penetrating. Turning the hose on down the cowl, both passenger and driver side, where the floor pan meets the side and firewall, small dropplets appeared on the inside, and the seams began to get soaked which eventually turned into a small puddle (in the rustiest area of the pan).

To fix this I took off as much of the rust as I could. Then applied many coats of a rubber sealant on the inside and out. Seamed to fix the seams.

1992 Ford Ranger Water Leaks Floor

Cost: $25 Time: 6 hours

Interior Floor.

With the leak fixed, I then ordered a new floor online from LMC Trucks. All told it cost about $350, which is far too much - however, I've sunk my teeth and wallet in this far; why not do it once and do it right. I know I'll never get my money invested back, but I don't intend to sell her. I want to restore and customize her, and keep her as my daily driver for as long as possible. After all, it's a great truck with a great engine!

Pro tip of the day: You don't get any instructions from LMC. After several days wrestling with how it fits I learned: they pre-mold it from the entire floorpan, the front of the mat goes further than one would think up the firewall. I, like an idiot, trimmed the back thinking that's where the extra length was from.. Not the case. Now I have an ugly seam line in the back of the cab where I soldered the wrongfully cut pieces together. Also save this task for a hot sunny day, leaving it in the sunshine for even 15min turns the floor into putty instead of linoleum.

1992 Ford Ranger New Floor - LMC Truck - Before 1992 Ford Ranger New Floor - LMC Truck - After

Cost: $350 Time: 4 hours

New Sideviews

Again another free bonus from the parts trucks: some of the "Ranger Custom" trims included lots of chrome as well as larger, full sized, sideview mirrors. The mirrors on Pearl were tiny side flaps that couldn't withstand the wind from the highway.

I had hoped that the doors on Pearl would pre-include the nuts for the bottom of the larger mirrors. Wasn't that lucky. Turns out there's a removable metal brace that lines the inside of the door from top to bottom, behind the window when it's down that needs to be installed. Took a lot of patience and seeing-with-hands, but the result is great. Not only does the truck look better, the larger mirrors don't move at all, and show much more of the road behind, feels much safer and informative to me while I'm driving. As well with the extra space adding in some blindspot mirrors was a nice extra touch.

1992 Ford Ranger Side View Mirrors

New Box

One of the main visual issues with this truck is it had the wrong box on it. Originally purchased with a rusted away box, needing a new one for functionality, the previous owner Dave, had purchased and installed the only white, early 90's Ford Ranger box he could get his hands on: a '93. Note: the 89-92 rangers shared the same body, while the '93 onward began getting bubble'y and more "aerodynamic", This left Pearl looking like the Hunchback of Notre Dame. As mentioned above in "Parts", I purchased an '89 Ranger mainly for the box and rear window.

The bolts on '89 Pearl were seized, a few turned, but only because the fender clips had broken. Cutting them off took time and patience. There was no room below to cut, so using a grinder I was able to make X's in the top of the bolts (without cutting the box!) and then using a cold chisel to break the head off. Upon releasing it, it was easy enough to flip off. Thinking I had purchased a rust-free box I did discover a large rusted away corner in the driver rear, underneath the tail light. It seems Ford engineers didn't factor water and mud collecting in the corner where the sides and bottom meet and fold.

At first, it appeared that only the lower side near the corner was rusted away, although after a bit of sanding and grinding, the back side of the corner revealed that it was all Bondo. Power washing and more sanding made the revealed that the hole and problem was actually bigger and bigger. Until I had to redo the whole corner.

92 Ford Ranger Body Rust Work

Pro Tip of the day: I was warned that working in 3 dimensions is very hard with metal, so cutting it out with paper first, then tracing onto the metal is the best way. I had done 8 revisions of the paper cut until it was perfect, made the job of the corner uncomfortably simple.

92 Ford Ranger Box Body Work

My welds were awful at best, however patience and perseverance got me through.

92 Ford Ranger Box

1992 Ford Ranger Before After Paint

Cost: $300 Time: 20 hours

Up Next:

The battle continues. I will update this post as I go.

On the docket:

  • Minor body work: sanding, small bumps
  • Painting: entire truck, including bumpers and mirrors
  • Spray on bed liner
  • Preventative maintenance & updates: shocks, spark plugs, grease + lube, etc.
  • Canope restoration + painting
  • 2" lift

WordPress Troubleshooting 101

I'm a semi-regular contributor on Wordpress Support Forums. & as you develop and assist more, you realize that theres a basic troubleshooting routine to solve almost all vague/inexplicable problems - you typically do the same things. These problems include;

  • /wp-admin/ not loading
  • Unable to drag and drop in dashboard
  • White screen instead of site
  • Unable to use Visual tab

Basically anything not normal or anything not working properly (that is not directly related to installing or using a new plugin. To get your Wordpress site back online, here's a breakdown of how to troubleshoot to find the issue:

  1. Visit your error log to reveal PHP errors
  2. Turn WP_DEBUG on to reveal MySQL + PHP errors on your Wordpress site
  3. Disable all plugins one-by-one to find the culprit
  4. Disable your theme, revert to Twenty-x
  5. Upload Wordpress to fix any permissions or file errors (except /wp-content/ and wp-config.php)
  6. Comment out any .htaccess firewalls or non-wordpress rewrites

If any of these techniques work, refer to basic Google'ing on how to resolve the issue. Open source software controlling 25% of the web, the odds are in your favour that someone experienced it too and wrote about it.

For overly basic example; if you discover plugin FooBar was not allowing drag and drop to work in the backend, search "Wordpress FooBar drag and drop not working" - and you should find your answer.

Doing the troubleshooting in the order should eliminate any "I know it's my theme, but I don't know what's not working" issues, your problem will likely spit out in PHP errors.

Quickly Toggle Hidden Files Mac OS X

Working with hidden files often in OS X? but not often enough to keep them on all the time? Me too. Here's a little edit to your bash profile to quickly toggle the visibility of hidden files with one word in terminal.

$ vi ~/.bash_profile

Press i to insert, use down key to reach the bottom, and add the following:

alias showhidden="defaults write AppleShowAllFiles TRUE; killall Finder"
alias nohidden="defaults write AppleShowAllFiles FALSE; killall Finder"

Exit insert mode with Esc save and close with ZZ

Restart your bash profile with:

$ source ~/.bash_profile

And now you have some beautiful simple commands:

$ showhidden
$ nohidden

Add or Remove WWW in WordPress

www is technically a sub-domain - but it usually shares the same /httpdocs/ or /public_html/ or /www/ folder on hosts as non-www, it also is configurable in many different places and varies from host-to-host, so it gets confusing at times.

As such, this question comes up daily on the Wordpress Support Forums and being that I'm tired of writing personalized responses to them - here's a quick and easy break down:

Site Address and Wordpress Address

When you're in Dashboard > Settings > General ensure you're changing both the "WordPress Address (URL)" and "Site Address (URL)" to include or exclude your www.

If you've locked yourself out of /wp-admin/ because of a www change and are seeing a white screen or experiencing a redirect loop: head to your database via phpMyAdmin, look for *_options and change the siteurl and home values to have or remove www.

If you have a Wordpress Network / Multisite setup - there's a few more steps for this:

  • in wp-config.php make sure the DOMAIN_CURRENT_SITE is set to your www preference
  • in *_blogs and *_site make sure everything's set to your www preference
  • in all *_*_options make sure home and site_url are also at your www preference

Check Your Web Host (control panel, plesk)

Changing www in Wordpress isn't always enough, sometimes your server needs adjustments. Any of the above hosting managers (often in the "domains" section) will have a question about your domain if you "want www prefix" to prepend to your domain. Select what you'd like!

You can see if www is enabled on your current domain's server/host/setup by going to your WordPress's readme.html file (which is an independent file that doesn't have anything to do with PHP, database, or your entered url's) Simply visit via your Wordpress install location (example:

Force www Preference with .htaccess

If it's just being a pain, or perhaps your site is running www or non-www fine but the opposite is still rendering, make a redirect with .htaccess to immediately redirect users permanently (Search engines will respect this as they're 301's)

# Redirect non-www urls to www
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.yoursite\.com/$
RewriteRule (.*)$1 [R=301,L]
# Redirect www urls to non-www
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.yoursite\.com$
RewriteRule ^(.*)$$1 [R=301,L]

The three areas above, used independently or together (depending on your setup and host) should resolve your www headache.

Much More Modern & Micro Mobile Menu

Watch carefully - at department stores, restaurants, arenas, on the bus - you'll notice something. Something alarming. Every single freaking person is on a smart phone. Yes, everyone. Jess got a text from her Grandma yesterday. Her Grandma! If your website isn't responsive, easy, and quick to use on a mobile phone that all of these people have, you're doing something wrong.

I've used a few different ways of creating off-canvas navigations, making the website feel more like an app where the navigation is hidden "behind" the current viewport, and the active screen is animated, sliding out of the way. I like this, I do, but it's cumbersome - it often requires modernizer, lots of jQuery window calculations and event binding, CSS animations, and lots more. Typically it calls for building a second navigation, which defeats the "responsive" idea. Adding on, it's no longer the norm of popular apps to have off-canvas sliders, it's not a good direction.

Things are changing, getting simpler, and cleaner. Myself, I'm on a minimal binge - in both design and code, so I've written a new, much smaller and simpler responsive navigation:


  <input id="hamburger" type="checkbox" />
  <label for="hamburger" id="hamburger-icon"></label>
    Your navigation here


header input, header label { display: none }
header nav { /* your desktop navigation css */ }

@media screen and (max-width: 960px) {
    header label {
      display: block;
      width: 20px;
      height: 20px;
    header nav {
      display: none;
      position: absolute;
      background: white;
      /* your mobile navigation css */
    header input:checked ~ header nav {
      display: block;

Copy/paste this and it looks like crap, so lets focus on the functionality of it here.

The desktop and mobile nav are differentiated by our @media query. Normal desktop looks like a normal nav, when we're less than 960px wide, we're display a <label> as a navigation drawer, which when clicked, alters the input's :checked pseudo element and determines the visibility / drawer status of <nav>.

It doesn't get much more simpler than this for a responsive navigation.

No more posts.