New Xcelsior buses hit Vancouver streets

12007

12007 on #49 on the first day of revenue service

It has been quite a while since we’ve received new buses, especially a new model, here in Metro Vancouver.  This past Monday, the newest buses of the fleet, New Flyer Xcelsior XDE60s, commenced revenue service on the #49.

1202

A West Vancouver XD40

West Vancouver also has some Xcelsiors, but they are the 40 foot diesel versions as shown on the right.  They have been in service since January.

According to New Flyer, Xcelsiors boast several advantages such as better fuel economy, streamlined design, and a better experience for both the driver and passengers.

12007

12007 on #49 on the second day of revenue service

8148

A DE60LFR, the older diesel-electric hybrid articulated buses with “charcoal top” livery

These new buses look a lot sleeker than their predecessors, however I would have personally preferred the “charcoal top” version of the livery.

XDE60 Rear Door

Push bars are back!

On the inside, there are a few differences in comparison to existing buses.  TransLink made an excellent decision in bringing back push bars to activate the rear doors.  In the past few orders, buses were fitted with ultrasonic sensors to activate the rear doors.  From personal observation, many passengers had difficulty activating the sensors to open the door.  Also, doors wouldn’t close because people were standing too close to the door, although they were not obstructing the door in any way.  The return of the push bars should solve these problems.

XDE60 joint

The articulation joint – no seats

There are no more seats in the articulation joint.  Buses used to have double seats (in the oldest models), or “bum bars” that were later converted into single “angel wing seats”.  Now there’s a nice stanchion on both sides that better allow standees and people moving across the joint.

There are rear-facing seats right before the articulation joint.  Considering you aren’t sitting directly in front of someone, I’d say this is fine, although I prefer the bench seating in the old models.  It seems like the wheel well on these new buses are wider (but why?).

A shot from the back to the front.

A shot from the back to the front.

The Xcelsior buses are air-conditioned, which is a first for urban buses in Metro Vancouver.  The only other buses in the fleet that are air-conditioned are the Orion suburban highway coaches.

There are 25 of these articulated Xcelsior buses and they are assigned to the Richmond depot.  This means you will likely find them on the #49, #480, #403 and #620 in the near future.

The shorter versions of the buses are in West Vancouver, and you can find them now on a variety of West Vancouver routes.

12007 makes the loop around Metrotown Station

12007 makes the loop around Metrotown Station

Check out my Facebook album if you want to see some other photos.

Debugging NSNotifications on iOS

For iOS developers, this is a really cool technique.  Sometimes you want to see all the NSNotifications that get posted in your app, whether it is for debugging, or to see the timing of where listeners can be hooked in.  Using breakpoints in Xcode will allow us to inspect the notifications.

Xcode console

Some system notifications (both public and private), and some application notifications being generated at the boot of iTMAC

Follow this procedure to set it up:

  1. In Xcode, open the breakpoints panel on the left sidebar.
  2. Click the + icon at the bottom left of the panel.  Select “Add Symbolic Breakpoint…
  3. Enter the following details:
    Symbol: -[NSNotificationCenterpostNotificationName:object:userInfo:]
  4. Click Add Action and enter the following details:
    Debugger Command: po $r2
    This prints out the 3rd parameter (internally speaking) — the name of the notification.  The first two parameters if you’re curious are the NSNotificationCenter instance, and the command/message.
  5. Select “Automatically continue after evaluating“.

Your breakpoint settings should look like this:
Xcode NSNotification breakpoint settings

You will then need to run the application on a device (sorry, this doesn’t work on the simulator). Note that if your application produces many notifications constantly, the speed of the application will be significantly slower, due to the breakpoints being processed. To work around this, you can disable the breakpoint until you get to the place where you want to analyze the notifications.

Getting a new Windows system up and running with Ninite

I have installed Windows quite a few times over this past year, from setting up different operating systems on my home lab server and installing Microsoft’s newest operating system, Windows 8.  You’d think that I would have spent hours downloading all the installers for Chrome, Flash, VLC, Notepad++, PuTTY, 7-Zip, and all the other common programs I use and having to click ”Next” buttons a million times.  Well fortunately there’s a better solution.  I came across Ninite a while ago, and it has saved me a ton of time installing the basic programs I use on Windows.

Ninite

With Ninite, you just need to pick the programs you want from their website, then click Get Installer.  Once you run the installer, it goes off on its own downloading the programs, and installing them by itself.  It’s also smart about not installing any extra junk (like toolbars or adware).

Nearly a hundred free programs are available to include in the installation, including browsers, instant messaging clients, media players, utilities, and even developer tools.

Ninite has been a great timesaver for getting the most basic programs onto a new Windows installation.

When frames are too many

I was digging around my backups and came across this mockup of a site my friend and I worked on ten years ago, but never published.  This was when Microsoft FrontPage was still around, frames were OK, and <blink>, <marquee> and animated GIFs were the rage, and when the whole world used Internet Explorer.

I guess it didn’t occur to us back then that nine frames were eight frames too many.  Oh, have times changed :)

Odyssey Web Mockup with 9 frames

Today, HTML framesets are rarely used.  Server-side scripting such as PHP is used to replicate common code across multiple pages.  Client-side alternatives such as CSS positioning and overflow allow elements on the page to be statically attached to the window, or to have internal contents overflow with scrollbars automatically.  Browsers such as Firefox and Chrome have dominated the browser market share.

Old blog posts from WordPress 2.6 found and imported

I spent this afternoon digging around my backups, and I was lucky to find my site backup from the end of 2008. I had to find a way to import the posts from WordPress 2.6 into WordPress 3.5.1. Since I had a full site backup, I was able to load the WordPress files and database backup onto my Mac’s local MAMP web development environment (Windows users might use WAMP).

From there, I followed the WordPress upgrade procedure. I upgraded directly from WordPress 2.6 to 3.5.1 directly without a hitch, although it recommended to go version by version. Then with a click of a button, my posts were exported into an XML file. And two clicks later, my posts were imported into my new site. It’s awesome that WordPress has a very easy upgrade and import/export functionality.

I spent a couple hours combing through the blog posts (good memories of high school and university!) making some edits, and fixing links and images.

The only thing now is to find my WordPress backups from 2009-2011. Needless to say:

Update: After a couple hours of digging, I’ve found the backup and have loaded the posts here. The archives here are pretty much complete!