Project Spartan and the Windows 10 January Preview Build

This week, Microsoft revealed substantial parts of the upcoming Windows 10. There’s a lot to make sense of, but one thing I was watching for was news of the new version of Internet Explorer. It was confirmed that it is happening, and we got some details yesterday from the IE Team blog.

In brief:

  • IE vNext will ship with Windows 10
  • Currently code-named Project Spartan
  • Will be all new, with a new rendering engine
    • To be the default in Spartan, Internet Explorer, and Windows 10
  • Will fall back to the older rendering engine for legacy websites
  • Built to be universal, so will work across Windows 10 devices – phone, tablet, laptop etc.
  • Includes support for annotating webpages, distraction-free reading, and Cortana integration
  • “Classic” Internet Explorer will also be updated and included in Windows 10 for compatibility
    • Will also use the same dual engine setup as Spartan

Powered by a new rendering engine, Spartan is designed for interoperability with the modern web. We’ve deliberately moved away from the versioned document modes historically used in Internet Explorer, and now use the same markup as other modern browsers. Spartan’s new rendering engine is designed to work with the way the web is written today.

What I like to hear. This is the way forward. I’m hopeful that Spartan will be decoupled from Windows so it can be updated more frequently than Internet Explorer.

Another tidbit via Mary Jo Foley at ZDNet:

“The Spartan rendering engine (edgehtml.dll) is a new component and separate from Trident (mshtml.dll). The new engine began as a fork of Trident, but has since diverged rapidly over the past many months, similar to how several other browser engines have started as forks prior to diverging. The new rendering engine is also being built with a very different set of principles than Trident – for example: a focus on interoperability and the removal of document modes.”

Bald Eagle

Eagle in the neighbourhood

A rare sighting of bald eagles passing by allowed me to get a little photography practice.

Zuma Barksalot Palin

Christmas 2014 Photos

Christmas 2014 has come and gone. It was a tame one compared to recent years, but successful (and delicious) nonetheless. I took numerous photos over a few days (my Nikon D50 is still going strong, nearly nine years later!), and have elected to share a select few here.

Status roadmap update: srcset, main element, and date inputs in development

Really good to see the Internet Explorer team working on this. Responsive images are a nuisance to implement until they are widely supported across the major browsers.

The official status of srcset is on the Modern IE Status website. The picture element is still under consideration, but even srcset is a step forward.

Also under development: the main element (status) and date-related input types (status).

There are still many steps to be taken, but I see main and srcset as key ones to match the other browsers and to accommodate modern web development. Love it or hate it, Internet Explorer is still a significant browser and these signs of progress are encouraging.

WordPress, XAMPP, and Windows – a how-to

A Virtual Host Configuration

<VirtualHost [local domain]:[port]>
    DocumentRoot "[filesystem location]"
    ServerName [local domain]
    <Directory "[filesystem location]">
        Require all granted

hosts file contents [local domain]

WordPress Configuration

if (file_exists(dirname(__FILE__) . '/wp-config-local.php')) {
    // load local database settings
    include(dirname(__FILE__) . '/wp-config-local.php');

    // local site settings
    define('WP_DEBUG', true);
    define('SAVEQUERIES', true);
    define('WP_DEBUG_LOG', true);
    define('WP_DEBUG_DISPLAY', true);

    define('WP_SITEURL', [local domain]);
    define('WP_HOME', [local domain]);
} else {
    // live site settings
    define('DB_NAME', '');
    define('DB_USER', '');
    define('DB_PASSWORD', '');
    define('DB_HOST', '');

    define('DISALLOW_FILE_EDIT', true);
    define('FORCE_SSL_ADMIN', true);

    define('WP_DEBUG', false);
    define('SAVEQUERIES', false);
    define('WP_DEBUG_LOG', true);
    define('WP_DEBUG_DISPLAY', false);

    define('WP_SITEURL', [live domain]);
    define('WP_HOME', [live domain]);


Chocolatey homepage

Software Management in Windows

While I’ve always been primarily a Windows user, I have also from time to time used some Linux distro or another. One thing that stand out in sharp contrast is the relative ease of installing software. For example, when using Ubuntu, installing a package is as simple as:

apt-get install [package name]

While on Windows, one must go to the appropriate website, download the package, and run the installer or extract the archive. For one software it may not be an issue, but when, say starting up a new computer or a fresh install, locating and installing all required software becomes tedious quickly.

Enter Chocolatey

Chocolatey was devised as a solution to the above described problem. The description of the site’s homepage describes it thusly:

Chocolatey NuGet is a Machine Package Manager, somewhat like apt-get, but built with Windows in mind.

Once installed, Chocolatey can be used similarly to apt-get and other package installers; it can be used to install packages and update those that it was used to install. Chocolatey supports adding package feeds, even private ones. The Chocolatey community contributes and maintains the packages listed on the website (check the listing). The installation for Chocolatey itself is described on the homepage, and can be done with one command in Powershell.

Once Chocolatey is ready, installing, say, LINQPad is as simple as:

choco install linqpad

All of the package entries on the Chocolatey site include the command to run to install the given package. In some cases, there are multiple versions of the package, so a specific command must be used.

Having recently started anew with a fresh Windows install, I decided to use Chocolatey to install some of the software I commonly use. These included, but are not limited to:

  • Notepad++
  • Git
  • Mercurial
  • SourceTree
  • WinRAR
  • Firefox
  • VLC
  • Python
  • FileZilla

I could go on, but it would be a pretty long list. In the above cases, I just had to search the listing, find the package name, and run:

choco install [package name]

And Chocolatey would handle the rest. This saved me having to go to each of the respective websites, download the software, and go through the installer for each. I did have to search for each package on the Chocolatey site and run the appropriate command, but it still saved a fair bit of effort.

Chocolatey installing software

Perhaps I haven’t worked out how yet, but it would be useful to be able to install multiple packages at once. Maybe a batch file would be enough.

Chocolatey’s Future

There has been concern previously about the open nature of the Chocolatey community which might allow miscreants to slip in malicious software as part of a payload. Senior community members have begun reviewing and approving packages, which creates some peace of mind that the community will remain healthy. Further, a recent Kickstarter campaign was successful in raising money to pay for efforts in maturing the ecosystem, adding non-free features, improving the infrastructure, and allowing the core team to put more time into the project.

Further still, it was recently revealed that the upcoming Windows 10 will feature the new OneGet system (1, 2). OneGet is intended to be used for managing package distribution systems, it isn’t itself intended to be a package manger. The current implementation includes support for Chocolatey as a distribution channel. Like Chocolatey, OneGet is open source and a community-driven effort.

It is exciting to see one of the notable remaining differences in Windows versus e.g. Linux being resolved. OneGet looks like it may be one of the upgrade points for Windows 10.

University and Graduation

Four years ago, I shared the start of a journey. Well, that four-year journey is finally over. Yesterday I completed my Bachelor of Science in Health Information Science at the University of Victoria.

grad photo

As they say, a project is not any one thing, but made up of many things. So it goes with a degree: many classes, three work terms, long days and late nights (too many to count), caffeine overloads, etc. And the people. Oh yes, I’ve met and worked with many people over the years, such that they became part of the experience.

A degree is not just about the piece of paper waiting at the end. In a big way, it is about the people met and things done along the way.

Review: Das Boot

Das Boot cover

Author: Lothar Gunther Buchheim
Publisher: Cassell
Published: 2013
Pages: 563

I’ve long been interested in history of the early to mid 20th century, particularly in the two world wars that occurred in that time. In the last year I took an elective course at UVic on the history of World War II, which really sparked my interest and started me reading numerous materials on the topic.

I had seen the Das Boot movie previously and enjoyed it. Then one day in a bookstore, I was browsing and hoping to find a particular book. When my eyes passed over Das Boot, I knew I had to get it, since it fits with my interest in that time period.

Numerous events are detailed in the book. They include but are not limited to the following:

  • preparation and departure from La Rochelle
  • wandering for weeks through stormy weather
  • engaging an allied convoy
  • attempting the Gibraltar strait
  • being stuck on the bottom
  • the ending in La Rochelle

The detail is extensive, and at times surprising. Yet it causes an appreciation for the course of events, and for the durability of German hardware of the day. On the flip side, reading and absorbing all the details is time-consuming and requires focus; I don’t consider this book to be light reading.

After I finished the book, I made a point of re-watching the movie. The latter is surprisingly accurate in a lot of ways, though it does leave details out as well. Though that’s the chance that is taken with a book-to-movie adaptation. Overall, it represents the book well.


Das Boot, while a bit dry or tedious at times, is overall an enjoyable read. It covers in extensive detail the life aboard the submarine, the battles, the challenges, and the resulting solutions. It’s a bit of a slog to get through, but I suggest it is worth the effort for anyone with an interest.

If you want the book, it can be found via multiple avenues including Amazon.

Exciting Things About ASP.NET vNext Series: The Ultimate Guide

ASP.NET vNext is looking to be a very interesting release, in part due to the way the team has changed its development process. Various components under the ASP.NET umbrella are being developed separately, and will be distributed in the form of focused libraries through NuGet. The ASP.NET GitHub account shows the way these are progressing individually.

The topic link points to a master list, compiled by Tugberk Ugurlu, which lists literature currently available about the different components in progress. There is much related reading material listed also.

Roam  Mobility  Homepage Banner

Mobile Connectivity for US-Bound Canadians

I recently traveled to Seattle. The last time I went, I did not arrange for US-based connectivity for my cell phone, so I was on roaming mode while updating Facebook, taking and uploading photos, and looking up information on the go. I got clobbered on my next phone bill. Well in advance of my more recent trip, I decided to prepare by signing up for a travel-friendly service.

Enter Roam Mobility. This Canada-based company provides mobile connectivity to Canadians traveling to the USA.

To use Roam Mobility, one must have a Roam Mobility SIM card. While this can be ordered from the company website, it is likely also available in local stores. I was able to purchase one in London Drugs for $20. I then had to register the SIM on my Roam Mobility account:

Roam Mobility - Managing Devices

With the SIM attached to my account, I then set up a service plan for the duration of my trip. The offerings are surprisingly inexpensive compared to the prices offered by the Canadian carriers – the comparisons are revealing. There are a number of overall plans available:

Roam Mobility - Plans

While I did not anticipate needing phone calls or text messages, there were no data-only options, so I selected the Talk+Text+Data option. The next view revealed specific options:

Roam Mobility - Plan Selection

Fortunately, I was in Seattle for much of three days (over a weekend), so the 3-day option suited me. Selecting that, I was able to select my already-registered SIM to attach the service:

Roam Mobility - Attaching Service to a SIM

The option is provided to specify what days/times the service should span. The website notes that multiple plans can be set up consecutively for continuous service over a longer period, if needed.

I then went through the payment process which was straightforward. I purchased the SIM, created an account, and set up the service a few days in advance of the trip.

On arriving in Seattle, I took the cover off my phone, removed my normal SIM, and inserted the Roam Mobility SIM. There is then a little configuration to be done on the mobile device – Roam Mobility provides directions for common smartphone platforms. It’s really just a matter of updating the Access Point Name setting. I made sure to keep my normal SIM in a safe place during the trip; on my return home, I switched the SIMs again to go back to my regular service.

This was overall a straightforward process. The website provided enough information on how to make the network change when appropriate. The network was quick where there was good coverage, which applied to most parts of downtown Seattle that I passed through.

The primary caveat is that the phone must be unlocked so it will work with SIM cards from other carriers. I thought – assumed! – mine was already unlocked, so started my stay in Seattle with a phone that could not use the local network. Oops. Fortunately, my hotel had secure guest Wi-Fi, so I was able to purchase an unlock code and have my phone on the T-Mobile network the next morning. Once I got past that hurdle, all was good.

To sum, I had to purchase a SIM, purchase service for the weekend, and purchase an unlock code. Added up to more than I planned on, but the SIM and the unlock code are one-time purchases. In advance of a future trip, I can just use the same SIM and attach another service plan to it. Lesson learned: make sure the phone is unlocked before traveling!

Page 1 of 4012345...102030...Last »