Developer Roundup: Penny Arcade’s Glowing Review of the Surface Pro, New Releases of Ruby, Rails and CoffeeScript, and the Best Programmers are the Quickest to Google

“Gabe” from Penny Arcade Give the Surface Pro a Glowing Review

gabe on surface

After some pretty rough early reviews, the Surface Pro gets a positive one from a trusted source for the sort of use where Apple products typically dominate. Mike “Gabe” Krahulik, the illustrator of the popular gamer-oriented webcomic Penny Arcade, tweeted that he’d love to try out a Surface Pro for drawing, and Microsoft sent him a 128GB mobel to try out.

Krahulik’s main drawing tool is a Wacom Cintiq 24HD. It’s a wonderful drawing tool that many digital artists swear by, but it’s also a big beast that’ll take up most of the space on a typical work desk and weighs about as much as five 10-pin bowling balls (according to the specs, with its stand, it weighs 64 lbs. / 29 kg) — and that’s not counting the computer. The Surface Pro weighs a mere 2 pounds (check its specs), computer included, and is portable enough for you to work on your webcomic as you sit by the fireplace, which is exactly what Krahulik did.

His opinion (with my emphasis):

As a mobile solution for a digital artist I’d say the Surface Pro is a winner. Now obviously if you need Photoshop you will probably want to wait until they get their driver issues worked out. If you’re a Sketchbook user (or you could be) then this thing is ready to go right now. I had some people on Twitter asking if the Surface Pro makes sense as an alternative to a Cintiq at home or the office. That one is harder for me to answer. I personally really like my Cintiq 24HD and I would not use the Surface pro at the office instead of it. With that said, if I had about a grand to spend and I was looking at a Cintiq, I’d say the Surface Pro is a much better purchase than the12WX Cintiq. The 64gb Surface Pro and the 12” Cintiq are about the same price but with the Surface, not only are you getting a fantastic drawing tablet that you can take with you wherever you go, it’s also a fucking computer! So when you’re done drawing you can load up your Steam library. Which is exactly what I did next.

Since he is a gamer, he also tried out some games on the Surface: League of Legends, Portal 2, XCOM: Enemy Unknown, Civilization 5 for Windows 8 and Minecraft worked just fine; Call of Duty multiplayer kept crashing.

Here’s his verdict (again with my emphasis):

For me the Surface Pro is actually a great piece of hardware. For other digital artists out there looking for a portable solution or maybe a Cintiq 12WX alternative I would highly recommend it. I’m not actually sure how this review hardware stuff works. I don’t know if MS expects me to give this thing back or not. I’ve already decided that if they do want it back I’ll be making a trip down to the MS store to pick up another. Of course if they do want it back they’re going to have to pry it out of my wife’s hands. She just hit her very first golden age.

Hey, Microsoft: you can’t buy advertising like this. And that’s not a generic “you” I’m using, that’s a “you” as in “you, Microsoft Corporation, for whom I used to work.” You’re terrible at making ads, and the best kind of ad just landed in your lap. Let Mike Krahulik keep the Surface Pro.

Ruby 2 p0, Rails 4 Beta 1, and CoffeeScript 1.5 Released


The first stable release of the 2.0 series of the Ruby programming language has been released. Highlighted among its new features are:

  • Language core features
    • Keyword arguments, which give flexibility to API design
    • Module#prepend, which is a new way to extend a class
    • A literal %i, which creates an array of symbols easily
    • __dir__, which returns the dirname of the file currently being executed
    • The UTF-8 default encoding, which make many magic comments omissible
  • Built-in libraries
    • Enumerable#lazy and Enumerator::Lazy, for (possibly infinite) lazy stream
    • Enumerator#size and Range#size, for lazy size evaluation
    • #to_h, which is a new convention for conversion to Hash
    • Onigmo, which is a new regexp engine (a fork of Oniguruma)
    • Asynchronous exception handling API
  • Debug support
    • DTrace support, which enables run-time diagnosis in production
    • TracePoint, which is an improved tracing API
  • Performance improvements
    • GC optimization by bitmap marking
    • Kernel#require optimization which makes Rails startup very fast
    • VM optimization such as method dispatch
    • Float operation optimization

There’s an important feature in Ruby 2 that isn’t mentioned on their site: it’s the preferred version of Ruby for Rails 4!

The beta 1 release of Ruby on Rails 4 was announced yesterday. As proof that it and Ruby 2 can be used in production software, they point 37signals’ group email service Basecamp Breeze, which is powered by Rails 4 and Ruby 2.

Goodies in Rails 4 include:

  • Features to make it “dead simple to build modern web applications that are screaming fast without needing to go the client-side JS/JSON server route”, including:
    • Key-based expiration with automatic dependency management of nested templates (for “Russian doll caching”)
    • Turbolinks, “which essentially turns your app into a single-page javascript application in terms of speed, but with none of the developmental drawbacks”
    • Declarative etags “to ensure you’re taking advantage of HTTP freshness”
  • Live streaming for persistent connections
  • Improvements to Action PackActive ModelActive Record and Active Support
  • Security updates:
    • Session store is now encrypted by default
    • Strong Parameters take over from attr_protected to guard against foreign parameters.
    • Security headers like X-Frame-Options, X-XSS-Protection, X-Content-Type-Options are on by default with solid values.
    • XML Parameter parsing has been sent to a plugin
  • Working with threaded servers out of the box

Ruby’s not the only language that goes well with Rails that got an update. Check out CoffeeScript 1.5!


Here are the major changes in CoffeeScript:

  • First release of Literate CoffeeScript.
  • The CoffeeScript REPL is now based on the Node.js REPL, and should work better and more familiarly.
  • Returning explicit values from constructors is now forbidden. If you want to return an arbitrary value, use a function, not a constructor.
  • You can now loop over an array backwards, without having to manually deal with the indexes: for item in list by -1
  • Source locations are now preserved in the CoffeeScript AST, although source maps are not yet being emitted.

The Best Programmers are the Quickest to Google

bart simpson google blackboard

The idea that understanding principles is far better than rote-memorizing every last detail is an old one, but so many people miss it that it’s worth repeating.


Reports Show Enterprise Mobile Trends, Our Attachment to Mobile Devices, and How People Use Their Mobile Devices

iPass and MobileIron’s 2013 Mobile Enterprise Report


Over at my company, CTS, we’re taking a close look at the numbers reported in the Mobile Enterprise Report put out jointly by iPass and MobileIron. Based on a survey of IT pros at the director level or higher (50% of whom worked for companies with more than 1,000 employees) conducted from December 2012 and January 2013, it reflects what we’ve been seeing in the enterprise.

If you talk to enough IT pros and sysadmins, you’ll eventually notice the same story being told again and again: there’s a lot of rule-bending when it comes to the Big Kahunas at a company. Of the people surveyed, nearly have said that they’ve made exceptions to the rules for provisioning mobile devices to “specialized members” of the company. By “specialized”, they probably mean “people with the power to fire me, or at least make my work life very, very miserable”.

Some other notable stats and observations from the report:

  • BYOD is catching on:
    • 56% of respondents say they changed their corporate guidelines in the past year to be more accommodating of employees’ personal devices.
    • 81% accommodate personal devices in the office.
    • 54% have formal BYOD policies, and more organizations allow BYOD than have policies for it.
  • Phone preferences:
    • The iPhone surpassed BlackBerry devices as the most popular in terms of corporate IT support.
    • Windows Phone 8 gaining favour of BlackBerry 10? 45% of IT managers surveyed plan to support Windows Phone 8 devices; 34% plan to support BlackBerry 10.
    • Tablet usage is up in all non-executive departments, especially legal, HR/administration and finance/accounting.
    • The iPad is the top choice of tablets, with support from 73% of the companies surveyed.
  • Also noteworthy:
    • 55% of the companies surveyed had mobile device security issues last year, mostly having to do with lost or stolen phones.
    • 55% of IT managers use wifi connectivity apps for productivity purposes. Wifi apps were the most widely-used out of 10 different types of enterprise mobile apps. The second most widely-used: secure email.

We’ll take another look at this report in a later article. In the meantime, if you’d like to read it for yourself, you can download it from this page. (It’s free; you’ll just have to provide some contact info.)

Citrix’s Mobile Usage Survey: We’re Really Attached to Our Mobile Devices

eating with phones

best friend forever aloneA survey  commissioned by Citrix and conducted by Wakefield Research shows the level to which people are attached to their smartphones. Among the numbers gathered from over 1,000 adult Americans in January 2013 were:

  • Mobile devices as mealtime reading material: 69% of the mobile device owners surveyed said that it had been a day or less since they last ate a meal without checking their mobile device. It may seem like a phenomenon particular to Gen Y, but with 66% of them agreeing with that statement, they’re behind Gen X (68% said that this was true) and the Baby Boomers (71%).
  • Mobile devices as blackmail material: Among the mobile device owners in the survey who recorded an embarrassing video of someone in 2012, 52% are saving it to share with others in 2013. That’s a bit creepy.
  • Mobile devices as gauges of patience: 30% of survey respondents said that they wouldn’t wait longer than 8 seconds for a page to load, after which they’ll move onto something else. 72% of respondents said that slow downloaded would cause them to abandon downloading a large file.
  • Mobile devices as communication devices? Maybe not: 64% of the people surveyed said that the primary reason they used a mobile device was “to keep myself from being bored”. Half that number — 32% — said that the primary reason was “to bring friends or family together”.

For more, see Citrix’s news release, titled Survey Shows Americans Treat Mobile Devices as Best Friends.

Citrix Bytemobile’s Feb. 2013 Mobile Analytics Report: What Mobile Traffic Data Tells Us

bytemobile stats

Bytemobile — now called Citrix Bytemobile since they were acquired — recently released a mobile analytics report that looked into mobile subscriber behaviour and QoE (Quality of Experience) for mobile services. Based on data traffic from “a global cross-section of Citrix Bytemobile customers’ mobile networks”, it contains a number of findings, including:

  • On any given day, out of every 10 smartphone subscribers:
    • 6 will look up information: news, weather, maps, blogs
    • 4 will open a web browser
    • 4 will use a social network app
    • 3 will use Facebook
    • 3 will engage in ecommerce
    • 3 will be be served a mobile ad
    • 2 will visit the App Store
    • 2 will watch mobile video content
    • 1 will use iTunes
    • 1 will use YouTube
    • 1 will use Twitter
  • Data usage:
    • Approximately 50% of mobile web pages download in 8 seconds or less across wireless networks worldwide. Remember that 30% of the respondents from the Citrix survey mentioned above said that they wouldn’t wait longer than 8 seconds for a page to download before moving on to something else.
    • Tablets generate more data than smartphones; iPads, triply so. On average, a network-connected tablet generates 3 times more data than a smartphone, and iOS tablets generate more than 3 times the data of Android ones.
    • Video accounts for more than 50% of total mobile data traffic on wireless networks, even though only 20% of mobile subscribers watch video on their devices. Mobile video watchers watch an average of 2 minutes of video at a time, which is double that of the Bytemobile Mobile Analytics Report from February 2010.

For more, get Citrix Bytemobile’s February 2013 Mobile Analytics Report (free registration required).

This article also appears in Mobilize!: The CTS Mobile Tech Blog.


The iPhone’s Virtual Keyboards: A Visual Catalogue

The computer desk in Joey deVilla's home office.

The Apple side of my desk at my home office.

Vaya con iOS: Exploring iPhone and iPad programmingWhile doing some serious iOS development self-training this long weekend (it’s Family Day weekend in many parts of Canada), I looked around for a visual catalogue of the standard iPhone virtual keyboards, but couldn’t find any.

Yes, Xcode’s Interface Builder gives you a list of keyboard types…

Drop-down menu of keyboard types in Xcode

…and the UITextInputTraits Protocol Reference in Apple’s online docs does an adequate job of telling you what the UIKeyboardType enums are:

typedef enum {
   UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable
} UIKeyboardType;

…but I couldn’t find any resource that showed me both the human-friendly and UIKeyboardType enums, what the primary and alternate views for each keyboard look like, and a half-decent description of each. In the spirit of the “See a need, fill a need” hacker ethos, I put together this visual catalogue of the iPhone’s standard virtual keyboards to share with the iOS developer community. Enjoy!

iPhone Virtual Keyboards and UIKeyboardTypes Visual Catalogue

Keyboard Name Description
ASCII Capable


iOS "ASCII capable" keyboard, default letter viewiOS "ASCII capable" keyboard, alternate number view

A general-purpose keyboard, containing standard ASCII characters. The primary view shows letters, and the alternate view shows numbers and punctuation.

Numbers and Punctuation


iOS "Numbers and punctuation" keyboard, default number view

iOS "Numbers and punctuation" keyboard, alter letter view

Like the ASCII Capable keyboard, but the views are reversed: the primary view shows numbers and punctuation, and the alternate view shows letters.



iOS "URL" keyboard, default letter view

iOS "URL" keyboard, alternate number view

A keyboard optimized for entering URLs. The keyboard features a “.com” key, makes the “.” and “/” keys prominent, and omits the space bar. The primary view shows letters, and the alternate view shows numbers and punctuation.

Number Pad


iOS "Number pad" keyboard

A numeric keypad designed for PIN entry. It’s labelled phone-style with letters, featuring the digits 0 through 9 prominently. This keyboard has a single view and doesn’t support auto-capitalization.

Phone Pad


iOS "Phone pad" keyboard, default number view

iOS "Phone pad" keyboard, alternate "star/pound/plus" key view

A numeric keypad designed for phone number entry. It’s labelled phone-style with letters, featuring the digits 0 through 9 prominently in the primary view, and the pause, wait, “*“, “#” and “+” keys in the alternate view. This keyboard doesn’t support auto-capitalization.

Name Phone Pad


iOS "Name phone" keyboard, default "name" view

iOS "Name phone" keyboard, alternate "phone" view

A keyboard for entering names and phone numbers. The primary view shows letters. The alternate view shows a phone-style number pad with the digits 0 through 9; holding down the 0 key enters a “+” character.

E-mail Address


iOS "E-mail address" keyboard, default letter view

iOS "Email address" keyboard, alternate number view

A keyboard for entering email addresses, with “@“, “.” and space characters featured prominently (even though email addresses shouldn’t have spaces in them). The primary view shows letters, and the alternate view shows numbers and punctuation.

Decimal Pad


iOS "Decimal pad" keyboard

A numeric keypad suitable for entering general numbers including a decimal point.



iOS "Twitter" keyboard, default letter view

iOS "Twitter" keyboard, alternate number view

A keyboard optimized for tweets, providing easy access to the “@” and “#” characters. The primary view shows letters, and the alternate view shows numbers and punctuation. As the only keyboard type devoted to a specific third-party web application, it’s a testament to Twitter’s reach.


IDC’s Smartphone Stats for 4Q 2012, and a Review of Their Mobile OS Share Prediction for 2015

IDC’s Smartphone Stats for 4Q 2012

IDC have released their 4Q 2012 data from their Worldwide Quarterly Mobile Phone Tracker, and here’s what it has to report:

smartphone os share 4q 2012

  • 227.8 million mobile operating systems units were shipped in 4Q 2012. 159.8 million were Android and 47.8 million were iOS, and together, they have 91% of the mobile OS market.
  • 4Q 2012’s mobile device shipments were up 70.2% from 4Q 2011.
  • Samsung accounts for 42% of all Android smartphone shipments.
  • Nokia accounts for 76% of all Windows Phone shipments.
  • iOS showed double digit growth for 4Q 2012 and the entire year, but its year-over-year growth has slowed compared to the rest of the market.

Here’s how their numbers break down for 4Q 2012…

Operating System

4Q12 Unit Shipments

4Q12 Market Share

4Q11 Unit Shipments

4Q11 Market Share

Year over Year Change



















Windows Phone/ Windows Mobile
























…and here are their numbers for the complete year of 2012:

Operating System

2012 Unit Shipments

2012 Market Share

2011 Unit Shipments

2011 Market Share

Year over Year Change

























Windows Phone/ Windows Mobile


















For more, see the summary of their Worldwide Quarterly Mobile Phone Tracker.

How IDC’s 2015 Mobile OS Share Predictions are Holding Up

Here’s a chart based on IDC’s predicted mobile OS market share for 2015:

They might be a little off with their prediction for Windows Phone’s share of the market.

This article also appears in Mobilize!: The CTS Mobile Tech blog.


What Passes for “Computer Science” at the Bookstore

(not) computer science

Click the photo to see it at full non-computer-science size.
Thanks to kokogiak for the find!



BYOD Roundup: Top 10 BYOD Tips, 4 BYOD Policy No-Nos and Surprising BYOD Stats

ReadWrite’s Top 10 Tips to Make BYOD a Success in Your Enterprise

suit and phone

Photo by . Click to see the original.

You should read the article to get the full monty on ReadWrite’s tips, but here’s a quick summary to whet your appetite:

  1. Engage stakeholders in discovery. If the people at your organization don’t support the process, your BYOD initiative will never happen. When we do our mobile strategy assessments, we make sure to get people from various groups involved — the C-level execs, legal, HR, IT, the “road warriors” and other groups who have a stake in a “bring Your Own Device” program.
  2. Think TCO, not ROI. In spite of the fact that BYOD means that employees are paying in part or completely for their devices, it doesn’t translate into immediate cost savings. The payoff comes over time as you increase productivity at little cost.
  3. This users, not devices. Desktop IT views their job as dealing with standardized desktop and laptop computers that just happen to have people working with them. BYOD is a people issue that just happens to involve a myriad of different mobile devices, operating systems, versions, apps and working styles, which is a different beast from traditional IT thinking.
  4. Create BYOD policies. Because BYOD is as much a “people issue” as it is an issue of software and hardware, you need to create “peopleware” to handle it. A good policies protect your organization and its information as well as its participants. Get your legal and HR people involved when drafting it.
  5. Evaluate operating systems first, then devices. Eminently sensible: it starts you with a choice of effectively four (Android, iOS, BlackBerry, Windows Phone), after which you can expand the decision tree by selecting from devices that support your chosen OS.
  6. Maximize commonalities. Again, this is about efficiency and reducing work you don’t have to do.
  7. Address compliance: Make sure that your chosen devices’ strengths and weaknesses fit your organization’s needs.
  8. Evaluate management and deployment tools. After choosing an OS and device suite, you should evaluate MDM software, remote wipe capabilities, secure data transmission, secure device storage and other management tools.
  9. Create an employee education program. ReadWrite sum up the reason why quite nicely with this line: “Employees understand their own devices and your corporate network, but they may be unaware of how to manage the union of the two”.
  10. Assess feedback. With changing needs, markets and mobile technologies, it make sense to treat BYOD as an ongoing process rather than a single-shot effort. Collect feedback from your employees and adjust your BYOD plan accordingly.

IT World Canada’s Four BYOD Policy No-Nos


IT World Canada says that these are “four BYOD missteps that are certain to compound your IT department’s headaches or even waylay a well-intended BYOD plan”:

  1. Limiting device choice. They argue that limiting choice to a specific device or model frustrates users and leaves IT constantly chasing technology as it has to regularly update their “allowed devices” list as mobile technology moves forward, often at a breakneck pace. The recommendation to specify a broad range of devices. We recommend using this rule in tandem with rule 5 from ReadWrite’s Top 10 Tips: evaluate operating systems first, then devices.
  2. Giving up the right to wipe devices. Securing your organizations assets and data is one of the big raisons d’etre of BYOD. Remote wipe may be the “nuclear option” of that goal, but there will come a time when it’s absolutely necessary, so don’t give away this ability! Any employee who doesn’t want to grant this right on their personal device is well within his or her rights, but s/he should either get a company device or deal without access to company email and other resources via his or her mobile device.
  3. Allowing employees to opt out of critical upgrades. The arguments to the previous point also apply to this one.
  4. Allowing opt-out of corporate data management policies. Again, the arguments to point #2 apply to this one.

Mobile Enterprise’s Surprising Stats About Mobile Security

cafe phone

Photo by Ed Yourdon. Click to see the original.

Among the numbers listed in their Surprising Stats About Mobile Security article, which is based on their IT Headaches survey and research from the International Association of IT Asset Managers, are:

  • 55% of the respondents can access their organization’s enterprise information from any BYOD device.
  • 60% of the respondents’ organizations don’t track who accesses their information remotely, nor do they track how long or even how.
  • Almost 90% of respondents have a mobile device policy and process for lost, misplaced or stolen devices…
  • …but just over 25% have real-time location tracking of devices
  • …and 56% can remotely wipe devices of all data.
  • 51% of organizations surveyed have a BYOD program.
  • Of the respondents who took part in a BYOD program at work, 60% of them said that they were in the minority — they worked at places where 25% or fewer of the employees participated in the program.
  • 77% of organizations surveyed allowed their employees to use corporate-provided mobile devices for personal use.
  • 55% of organizations surveyed allowed the downloading of apps at the employee’s discretion without monitoring.

This article also appears in Mobilize!: The CTS Mobile Tech blog.


Save 40% Off Ebooks at Apress’ Valentine’s Sale

apress valentine sale

forever alonePerhaps buying books on programming isn’t what most people associate with Valentine’s Day, but a good deal remains a good deal! Apress are offering all their ebooks at 40% off when you use the discount code VDAY13 at checkout when you buy them directly from their site. The offer’s good until 11:59 p.m. EST (UTC -5), February 15th, 2013.

ios6 recipesMy current favourite in the Apress library is iOS 6 Recipes: A Problem-Solution Approach, which works really well for the way I like to learn new programming things: a mix of tutorial and working example, which I then play around with, tweak, and experiment with. Each chapter covers a different aspect of iOS development, starting with applications and layout, moving on to table views and the new collection views, and from there, topics such as location and mapping, social networking and user data, images, camera and multimedia, and finally storing and transmitting data and Game Kit. The ebook edition normally goes for US$31.00, but the the 40% off discount, that becomes US$18.60.