On Wednesday, during Microsoft Build, Microsoft announced a new code editor called Visual Studio Code. Not an IDE, Code is a full-featured code editor that appears to be based off of the same technology that drives the Atom editor, called Electron. Since it’s running mostly on web technologies, Code will run on Windows, OS X, and Linux.
Code promises to support many different technologies and platforms; at a glance, one could assume the most interesting thing to a C♯ developer like myself may be writing C♯ on OS X. Since I so often work with content management systems, that’s not (usually) an option for me. What appealed to me was the Node.js support and IntelliSense.
Intellisense
IntelliSense is code completion that just works, and works really well. It is eery how intelligent it is, and you’ll find that most Windows developers – even really good ones – are absolutely crippled without IntelliSense. In fact, when I was teaching a coworker how to write Objective-C and work in Xcode, he had more problems with the lack of IntelliSense than he did with the vastly different language.
What’s great about IntelliSense for Node is that it supports the basic Node API. What’s a bummer, though, is that it doesn’t support Express[1], nor does it seem to do the best job with general JavaScript code completion:
Clearly there’s room for improvement.
Debugging
What I do love, however, is having a true, robust debugger for Node.
I’ve discussed debuggers such as node-inspector
in the past. I’m no
stranger to debugging by way of logging messages, but that doesn’t necessarily
mean I enjoy doing so. Having a true debugger available for my use is a huge
productivity boost. Code includes a Node debugger, and it’s great.
This example doesn’t make it seem terribly responsive, but to be fair, I have the entirety of my blog in memory in the array being walked.
Markdown
Another nice feature of Code is its built-in Markdown previewer. Since this blog is run on Markdown, I like having even a rough preview right beside me.
Git
There is also first-class Git integration. I generally prefer to use the
command line version of git
, but for basic operations it’s convenient to have
Git in the sidebar.
Miscellany
Right now, there’s very little I don’t care for.
I did have some pretty serious issues getting the debugger working. The debugger
requires Mono, which is not packaged with the install. I attempted to install
via Homebrew, but that didn’t seem to work. As it turns out, I had two
versions of Mono installed, an old one in /usr/bin
, and Homebrew’s in
/usr/local/bin
.
I should note that within half an hour of sharing my frustration on Twitter, I got a helpful reply from Chris Dias:
@caseyliss
@code
don't give up! brew uninstall mono, brew tap aspnet/dnx,
brew install dnvm will give you mono 4.0.1/asp.net
— Chris Dias (@chrisdias)
April 29, 2015
This may not seem that remarkable, but:
- This was within an hour or two of Code being available.
- Chris Dias is a program manager on the Code team
- He’s the guy in the introductory video on the Code website
That’s some pretty frikkin’ stellar support.
Additionally, I haven’t had the time to explore the depths of Code. There are a ton of other nice features that can be explored. Many of them are featured on the Editing Evolved page on the Code website.
I also haven’t had the time yet to play with doing C♯ development natively on OS X using Code and the new, open-source .NET components. Since so much of my day job involves integrations with many other systems, especially CMSes, it’s not likely I’ll be able to escape my virtual machine.
All told, Code may or may not be for you, but it’s working out really nicely for me so far. I definitely suggest giving it a shot.
UPDATED 1 May 2015 5:45 PM: I’ve now been able to get IntelliSense support for Express, Underscore, Sugar, and Handlebars thanks to the type definitions found at Definitely Typed. ↩
Motor Trend has a 17 minute comparison between two of the best American sedans available today. It’s absurd in every possible way, and a study of how these two cars are, by most measures, polar opposites.
There are some interesting points made, though:
- The Tesla now has geofencing. When I heard the host say so, I scratched my head, since it seemed an odd choice for a car. He sold me with his example story though: what if you have a steep driveway? Every time you approach home, you can have the Tesla’s air suspension raise to its highest setting, to prevent scraping the body on your steep driveway. It will do so automatically. So cool. (@ 5:00)
- The Tesla, in Insane Mode, “feels like a rollercoaster”. According to Tesla’s website, the P85D will accelerate to 60 miles per hour in 3.1 seconds. Interestingly, the Rock ‘n’ Rollercoaster at Walt Disney World, a linear synchronous motor (think “launcher”) rollercoaster, accelerates from 0-57 in 2.8 seconds. That means the P85D, a car you can drive on the street, is as fast as a rollercoaster. A rollercoaster that sells pictures of your reaction to the intense acceleration. (@ 6:18)
- No spoilers, but the ending of the drag race was clearly about to change shortly after the quarter mile ended. (@ 15:30)
- “The Hellcat is a great big steak. With a martini. And cream spinach. And french fries. And another martini. And cigar. And cheesecake.” (@ 15:55)
I’m anxious to see how the new CTS-V stacks up against both of these sedans.
A couple things have been brought to my attention today that you should check out.
App Camp for Girls, a truly wonderful organization that aims to get young girls writing code and into software development, just released their first app:
The Quiz Compendium includes 15 personality quizzes created by camper project teams. You’ll learn so many things about yourself, such as what your superpower is, where you should go on vacation, and even what your breakfast choices say about your personality.
It’s a fun app, and as it turns out, my super power is shape shifting, and my spirit animal is the bear.
Even if you don’t want the app, it’s a great way to make a small donation of both encouragement and money. You can find it on the app store.
For those going to WWDC, if you don’t have a ticket to the big show, there are a couple alternatives:
- altConf, which has been around for a couple years now. I’ve never been but have heard nothing but good things.
- A new arrival, Layers, put on by Jessie Char and Elaine Pow. I’m really happy to see a woman-fronted conference being put on during WWDC time.
Both conferences – with Layers having a slight edge – have plenty of women speakers, which is quite a welcome change from what I’m used to seeing on WWDC stages.

Declan is six months old today.
How did this happen? It was just yesterday that we were in the maternity ward at the hospital, wondering how long it would take us to figure this whole parenting thing out.
As it turns out, it’s less about figuring parenting out, and more about finding peace in being clueLiss for the rest of your life. We’re getting there.
It’s been amazing watching him grow. Since we see Declan every day, the changes are — generally speaking — hard to spot, since they’re so gradual. There are milestones that are easy to hang your hat on, of course: the first night in his own room, the first time sleeping through the night, the first time eating “solid” food, and so on.
What’s almost been more interesting, though, is seeing his growth through the eyes of my parents. They’ve been kind enough to come in once a week to watch Declan while Erin goes and runs errands or does… adult things. Hearing their recap of all the changes he’s made since the prior week is so much fun, since they see him through a very different lens than we do.
Lately he’s been responding to “Where is Mama?” by looking directly at Erin. It could be that he has no clue what he’s doing, but it sure seems like he does. He’s also been doing better with sitting up on his own, and has been pushing up on his arms when on his belly. It’s so amazing to watch these developments, and the pride I have for him is indescribable.
I know I’ll look back at these times hating myself for being anxious for the next development. For encouraging him to crawl, to stand, and to walk. For now, though, seeing each of these developments is the second most exciting part of my day. The only thing that beats it is coming home to Erin.

This past weekend was the first weekend that Apple Watch was in the real world, and on the wrists of regular people. Naturally, I was paying attention to Twitter and my favorite blogs as everyone desperately awaited their delivery drivers, tore open their white boxes, and set up their watches. If you saw a green beacon of light coming from central Virginia, it was my shiny green face. I was and remain — at least until early June — jealous.
Before everyone received their watches, I was thinking about what I’m most excited about when I get my Apple Watch. It occurred to me that while custom apps are cool, something else seems even more interesting:
Custom Apple Watch faces sound neat and all, but I'm more intrigued by custom
complications.
— Casey Liss (@caseyliss)
April 21, 2015
The “complications” I’m talking about are watch complications — those small readouts that are on your watch face. They’re pictured on the Apple Watch Timekeeping page, below. The four circles in the corners of the watch are the complications.

Not having used a Watch for more than a few minutes, I don’t really know how glances and apps will fit into my life. Nevertheless, in many cases, I can think of scenarios where just a few characters of information may be enough to convey all I need to know. Perhaps in much the same way that your next calendar entry can be shown in well under 50 characters.
Imagine a way in which just a few characters of information can provide everything you need to know about something. It wouldn’t require any interaction with the watch; simply raising your wrist and looking down would get you the information you need. Some examples I can think of:
↑ 3%
to indicate your portfolio status from E*TradeVX #69 @ 10:15
to show your next flight on TripItTesla 43%
to show your Tesla’s battery statusWatch in 45 days
to show your next DeliveryRain in 8 mins
to show pending precipitation from Dark Sky1 unread
to show unread Slack, HipChat, or e-mail messagesNYG 14 PHL 0
to show the most recent score for a beloved team143 Cals
to show how many Calories you have left on LoseIt
This may also be neat if it could augment or replace the health rings
The list goes on and on.
I’m not the only one having these thoughts, either. Over at Six Colors, Jason Snell had a similar thought:
But I have to admit, I’m most excited by the idea of third-party watch faces or, at the very least, third-party complications for existing watch faces. I’m not convinced that developers will make pretty watch faces—I’ve seen all the awful third-party Pebble faces—but I do want more variety in my watch faces. I’d be fine if Apple took a strong hand with faces and only approved a very small number that passed a very high bar. But I’d be okay if Apple kept a tight control of the faces… if developers could provide data from their apps as complications on existing faces. I’d love to plug in my Weather Underground temperature, for instance—today Apple’s standard temperature widget was a full ten degrees off of the actual temperature in my town.
Like third-party watch faces, I think third-party complications could take a turn toward awful. However, with a light hand and an eye toward brevity, allowing third parties to create their own complications could make an already impressive information appliance even more useful.
James May has told The Guardian his plans for the future:
Top Gear presenter James May has ruled out returning to the BBC show without Jeremy Clarkson, saying it would be “lame” to do it with a “surrogate Jeremy”.
He said:
Me and Hammond with a surrogate Jeremy is a non-starter, it just wouldn’t work. That would be lame, or ‘awks’ as young people say.
It has to be the three of us. You can’t just put a surrogate Jeremy in and expect it to carry on. It would be forced. I don’t believe they would be stupid enough to try that. It doesn’t mean I won’t go back, we may all go back in the future. It might just be we have a break from it. I don’t know.
I haven’t yet seen any news about Richard Hammond, but the smart money says that Top Gear will have an entirely new lineup next season.
That may not be all bad though. As part of the aforementioned interview with BBC2 controller Kim Shillinglaw, she left hope for a new kind of Top Gear:
Speaking at a BBC2 preview event last night, Shillinglaw did confirm that Top Gear would return in a new form next year and that she would look at female presenters to front the series.
I can immediately think of two women that would be great on Top Gear; in fact, Vicki Butler-Henderson was a host before the current reboot started. Things are already looking up for whenever Top Gear comes back.
When Top Gear ended abruptly last month, they had filmed — at least in part — segments for three more episodes. Supposedly film from those episode will air as soon as this summer:
When asked about the three programmes that had not made it to air, [Kim Shillinglaw, controller of BBC Two] added the team “simply weren’t about to shoot enough material” to build full shows.
“I was a great fan of the presenting line-up. No way would I want the available material not to be seen by viewers. You’ll see it when it’s on air. It will certainly be this year and probably this summer.”
In-studio filming typically happened on the Wednesday prior to the show’s release, so it stands to reason only prerecorded segments will be aired.
At first glance, this sounds wonderful. Thinking about it more, I can’t help but wonder if whatever is left to be shown will be more bitter than sweet, now that we know Top Gear as we know it is over.
No matter what, I’ll definitely be watching it, and surely enjoying it… even if I have to do so through teary eyes.
So you want to use Plex, do you? You should. It’s pretty awesome.
For the uninitiated, Plex allows you to watch your media anywhere you are. It began life as a fork of XBMC, which in turn started life as a way to make your original Xbox into a media console. Plex is really two components:
-
Plex Media Server
A component that sits on a computer (or network-attached storage) in your house and serves (including live transcoding if required) the media you wish to view -
Plex clients
In my case, a website, iOS app or Fire TV app that consumes the media served by the Media Server
As of the time of this blog post, the server and Fire TV apps are free, but the iOS app costs $5. There are also apps for other platforms, such as Android and Roku.

Once you’re set up (I won’t cover that here; it’s pretty self explanatory), you can use the website or apps to consume your media from anywhere that has an internet connection. That is pretty magical, but it doesn’t stop there. The real beauty of Plex is the robust, auto-discovered metadata.
As you’re browsing for something to watch, you’re shown cover art for everything you see. That could mean TV episodes, movies, whatever. Additionally, you get summaries, information about important cast and crew, and more.
All of this is really easy to set up. There is only one catch.
Plex is extremely opinionated about how files are named on the hard drive you store media on. The path to Plex happiness is quite simple, really: follow the official naming guidelines no matter what. If you look at that link, things seem… complicated. I’m here to tell you they’re not.
I’ve found that things actually work really well with Plex if you just follow some simple rules when naming your files.
Movies
If you’re storing a movie within Plex; say, one you’ve just ripped, figure out the right file name to use:
- Open The Movie Database
- Search for your movie. Let’s use
Collateral
as the example
Note that DuckDuckGo users can simply search for!tmdb collateral
. - On the search results page, note a couple things:
- The exact title
- The year the movie was filmed
- Name your file to match what you see on The Movie Database. In this example, it’ll be:
Collateral (2004).mp4
. Naturally, use the appropriate file extension for your file.
That’s it.
Television Shows
TV shows are slightly more complicated because there are multiple episodes, and usually multiple seasons.
- Open The TV Database
- Search for your show. Let’s use
Top Gear
as the example
Note that DuckDuckGo users can simply search for!tvdb top gear
- Find the name of the show that The TV Database uses. In our case, it’s just
Top Gear
. - Create sub-folders for each season, unless the show only ran one season. Note that specials are considered part of season zero.
- Name the episode as
{Show Name} - s{season}e{episode}.m4v
. Let’s say we’re adding the last episode of Top Gear, so it’s season 22 episode 7. In this example, we’ll name the fileTop Gear - s22e07.m4v
. Naturally, use the appropriate file extension for your file.
That’s it.
In summary, my filesystem looks something like this:
+-- ...
+-- Movies
| +-- ...
| +-- Collateral (2004).mp4
| +-- The Hunt for Red October (1990).m4v
| `-- ...
`-- TV
+-- Firefly
| +-- Firefly - s01e01.mp4
| +-- Firefly - s01e02.mp4
| +-- ...
| `-- Firefly - s01e13.mp4
+-- Top Gear
| +-- Season 00
| | +-- Top Gear - s00e12.mkv
| | `-- ...
| +-- ...
| `-- Season 22
| +-- Top Gear - s22e01.mkv
| +-- ...
| `-- Top Gear - s22e07.mkv
`-- ...

Once I have this setup, I can watch any of my media from anywhere in the world via my iPhone, iPad, Fire TV Stick, or any web browser. Not only that, I can browse my media collection easily, with full artwork/posters, and other interesting metadata.
I’ve been evangelizing Plex about as much as I’ve evangelized DuckDuckGo. For whatever reason, it hasn’t really stuck for most people. I can’t stress enough that with just the smallest amount of thought with regard to file names — and a few hours renaming the things you have — your experience can really be phenomenal.
Jeremy Clarkson has made a formal statement about his future at The Sunday Times (mirrored here). The quote everyone is focusing on is this one:
Which is why I have made a decision. I have lost my baby but I shall create another. I don’t know who the other parent will be or what the baby will be like, but I cannot sit around any more organising my photograph albums.
On the surface, this is good news. But to get here, Jeremy seems to have taken some really awful turns:
I felt sick because after I’d lost my home and my mother, I’d thrown myself even more vigorously into my job and now, idiotically, I’d managed to lose that too. The sense of loss was enormous.
I had heard rumblings that, likely due to his own philandering, Clarkson’s marriage was on the rocks, if not failing. Naturally, the loss of one’s mother is devastating. But things got worse still just before the event that led to his firing:
Two days before the “fracas”, I’d been told, sternly, by my doctor that the lump on my tongue was probably cancer and that I must get it checked out immediately. But I couldn’t do that. We were in the middle of a Top Gear series. And Top Gear always came first.
For a man who is regarded as a chain smoker, this seems to be the logical conclusion stemming from a terrible habit. I have a feeling, though, that a cancer diagnosis is always a surprise. (Thankfully for Jeremy, it appears it was simply a cancer scare, and not a diagnosis after all.)
At 55, then, you’re in a limbo land where time is simultaneously with you and against you. You are too young to put your feet up but too old to start anything new.
Not a fun place to be, I imagine.
Since I started sharing the news about Clarkson and Top Gear, I’ve had a lot of people come out of the woodwork to explain to me all the ways Jeremy deserves what’s come to him, how he’s a terrible human, and, in some cases, should kindly show himself right off the planet. Furthermore, if I hold him in any regard other than contempt, I should follow in his footsteps.
All of that may very well be true. I don’t know. I do know that this is a man who has clearly been broken. Maybe he deserved it. Maybe he didn’t. But I feel bad, nevertheless. To wish ill upon any person, even one I don’t agree with, is not my style.
It’s interesting reading Clarkon’s piece as I read something else. When Steve Jobs was fired from the company he created — his baby — he floundered for a while. Eventually Steve seemed to have found some humility, and famously brought his baby back from the brink of death, and grew it to be a juggernaut.
That in mind, I can’t help but wonder what Clarkson’s future holds.

Just like last year, we are selling ATP shirts again this year.
This year, we wanted to make the shirts our most personal shirts yet. Luckily, we (Marco) had a brilliant idea.
This year, we are offering ATP shirts in three collections:
- ATP Shirt Sport — Men - Women
The ATP Shirt Sport is printed on breathable, high-performance Hanes Cool Dri activewear. The Sport in blue for men and white for women. - ATP Shirt
The ATP Shirt is printed on tri-blend shirts for men and women or cotton for women. The Shirt is available in black and gray. - ATP Shirt Edition
The ATP Shirt Edition features print in gold-colored foil. Seriously. The Edition is available in black for men and red for women.
We have no idea how these will sell, and in what relative quantities, but we’re super-stoked to be trying this out. Credit to Marco for not only having the idea, but to him and John doing the lion’s share of the work to make this happen.
For more about the shirts, and for an introduction to the three collections, take a listen to this week’s ATP. The shirt discussion starts at 30:00.
Orders will close Wednesday, 6 May. If you do go ahead and place an order, thank you.
I haven’t been a Mac user for very long at all.
I came to the Mac in 2008, after a distro upgrade of Ubuntu Gutsy Gibbon to Hardy Heron went colossally wrong. Despite Ubuntu’s alliterative codenames being so much more enjoyable than big cats, I knew it was time for a change. I decided to buy a polycarbonate MacBook.
At the time, Leopard was the big cat. Shortly after purchasing my shiny new MacBook, I yearned for more information about this new, amazing operating system. It didn’t take long for me to land on a truly epic review. This review was everything I could have hoped for and more – including details I never even thought to notice.
I was immediately addicted, and even as a brand-new Mac user, I knew the first thing I wanted to read when Snow Leopard was released: the John Siracusa review. I admired this nerd’s nerd from afar, as I knew his encyclopedic knowledge of OS X, competitors, and pop culture references knew no bounds. The moment a new Mac OS was released, I leapt to John’s reviews.
Last night, John announced he has already done his last review:
Though Apple will presumably announce the next major version of OS X at WWDC this coming June, I won’t be reviewing it for Ars Technica or any other publication, including [my website].
This marks the end of a long era. Between losing John’s reviews and Top Gear, it’s already been a rough start to 2015.
I mourn, in a way, for the loss of this incredible resource. While I know that John will be talking to Marco and me about the new OS X at length on our podcast, I will still deeply miss his reviews. The time and care that John put into his reviews is beyond measure. Marco and I know, perhaps better than most, how carefully considered every word in his reviews are. How much joy he gets from sprinkling in pop culture references, and how much pain he goes through taking the same batch of screenshots with each new beta.
Selfishly, and for the community, I’m really sad to know that we’ve reached the end. I am also deeply grateful for all the time and effort John has put in. These reviews are a tremendous resource, and are truly a gift to the community.

At the talk I gave at CocoaConf last week, I had a slide that I used to describe who the hell I am to those that may not know me. I described John as “That OS X review guy”, because in many ways, that’s what he was to so many of us.
Thankfully for all of us, that’s not who John is. Between the show I’m lucky enough to co-host with him, his many appearances on The Incomparable, and the many other places he pops up around the internet, we will not be lacking John. That makes me happy.
Most importantly, for my friend, I’m extremely glad. John, you’ve put in more effort than you should have, and given us all more than we deserve. You deserve a break, you deserve to rest, and you deserve to have stress-free summers. Thanks for hanging on so long, for showing us what a deep understanding of a topic really looks like, and for spending 15 years churning out some of the most amazing technical writing I have ever read. We owe you.