“Cyber Monday” deal: All Pragmatic Programmer ebooks are 50% off

pragmatic bookshelf sale

In case you hadn’t heard, The Pragmatic Bookshelf is offering all their ebooks at 50% off with the coupon code turkey2014. It says that the code is valid until December 1, 2014.

It’s not clear whether that means it’s valid until November 30, 2014 at 11:59:59 p.m. or December 1, 2014 at 11:59:59 p.m.. If you’ve had your eye on a Pragmatic Bookshelf book, I suggest you get it now.

Other Cyber Monday deals:


“Cyber Monday” deal: All O’Reilly books and videos are 50% off

50 percent off

Here’s another techie deal for Cyber Monday: All O’Reilly books and videos are 50% off until Tuesday, December 2, 2014 at 5:00 a.m. Pacific (8:00 a.m. Eastern)! Just use the discount code CYBERDY when checking out.

As an added bonus, the discount goes up to 60% if you’re spending more than $100.

Other Cyber Monday deals:


“Cyber Monday” deal: All Apress ebooks and alpha books for $15 each

only 15 on cyber monday

If you’re looking for a good programming book deal, be sure to visit Apress’ site on Monday, when all their ebooks and alpha (in mid-production) books will sell for $15 (instead of the usual $28 – 35) and Springer ebooks will see for $30 (instead of the usual $40 or more).

Some notable titles include:

Don’t forget to check out their site on Monday!

Other Cyber Monday deals:


Shopify’s CEO Tobi Lütke named Canadian CEO of the Year

shopify cover

The Canadian newspaper The Globe and Mail have named their CEO of the year, and it’s Tobi Lütke, CEO of my former workplace, Shopify! My congrats to Tobi and the team for a job well done and a company well built.

This article also appears in my personal blog, The Adventures of Accordion Guy in the 21st Century.


Do you remember these?

rf modulator

Back when game consoles and what were called “home computers” had composite video output using RCA jacks like the one below…

composite video

…TVs had either coax cable input…

tv cable input

…or, if your TV was really old, antenna input:

tv antenna input

In that era, you needed an RF modulator to convert your console’s or computer’s output into a signal your TV could use:

game - rf modulator - tv hookup

These days, there isn’t as much need for RF modulator boxes, as consoles and computers have VGA and HDMI outputs, and TVs have corresponding input jacks. However, there are still a number of monitors and other devices that don’t have HDMI inputs, which means that there’s a niche market for HD RF modulators. You can plug an HDMI cable into its input, and its output comes in old-fashioned-TV-friendly coax. If you need to play PS4 or Xbox games on your grandparents’ TV, you might want one of these:

hd rf modulator


Microsoft’s latest open source/cross-platform move brings them back to their “pointy logo” era

gates jobs time covers

Microsoft’s recent announcement that they’re open-sourcing .NET, making Visual Studio free to small developers, and supporting development for Linux, Android, and iOS is a surprising development from one point of view, but if you were noodling with computers 30 years ago, you may think of it as a return to their oldest ways.

microsoft 80s logo 2

Those of you who grew up in the 1980s and took up programming then will remember the Microsoft logo above. You might not remember the logo they used from 1980 through 1981, making it the shortest-lived logo in their history:

microsoft 80s logo 1
Back then, a computer that you could buy from a retail store and could fit on a desktop was called a “home computer”, and more often than not, it had some version of BASIC(back when it was an acronym for Beginners All-purpose Symbolic Instruction Code), particularly Microsoft BASIC. It was either already in the machine’s ROM, or you’d load it from a plug-in ROM cartridge, cassette tape, or one of those newfangled floppy diskettes. During the “pointy logo era”, BASIC interpreters were Microsoft’s bread and butter, and if you used a version of BASIC that had the LEFT$(), MID$(), and RIGHT$() functions, you were most likely using a version of BASIC with a Microsoft license.

Some of my earliest programming experiences were on a friend’s TRS-80 Model I, which boasted a whopping 16K of RAM and Level II BASIC

trs-80 model i
…or its bigger, beefier, disk drive-equipped successor, the Model III, which another friend had:

trs-80 model iii
I would’ve loved to have a portable Model 100 back then:
trs-80 model 100
…because it would’ve let me program anywhere. By this time, a Microsoft copyright notice appeared when you started up BASIC:

trs-80 model 100 microsoft basic
Computers were still largely monochrome-displaying creatures back then, so when Radio Shack released a computer that could display color, it was a big enough differentiator for them to name it the Color Computer, even though it could display a maximum of 4 colors onscreen at any given time:

trs-80 color computer
It also had a version of Microsoft BASIC:

coco basic

If you had an Atari 400 or 800 computer and wanted to program, you’d load up Microsoft BASIC by diskette, or if you didn’t have a disk drive, you’d use a ROM cartridge…

atari microsoft basic

…pull out the manual…

atari microsoft basic book

…and start coding:

atari microsoft basic screen

Terrible as the TI 99/4 was, it did have a decent enough implementation of Microsoft BASIC for me to get started with programming simple adventure games:


At my high school in the early ’80s, we had Commodore PET computers…

commodore pet 4032

…and a good number of us at home had Vic-20s and Commodore 64s

commodore 64

Commodore machines ran some variation of Microsoft BASIC. Bill Gates offered to license it to Commodore for $3 per unit, but founder Jack Tramiel said “I’m already married” in response. He then managed to negotiate a “pay once, no royalties” deal where they got a perpetual license for $25,000. I have a theory that experiences like this and the copying of his Altair BASIC tape led Gates to become a ruthless businessman in the late ’80s and ’90s.

Here’s a video of the Computer History Museum’s 25th anniversary party for Commodore, where Jack Tramiel tells the story of how he negotiated the deal with Gates:

We think of Apple and Microsoft as rivals, but it wasn’t always that way. Once upon a time, in the days of the
Apple ][, they were hardware/software buddies…

apple 2

You could program an Apple ][ using the original BASIC that Woz implemented, but if you wanted real programming power, you used Applesoft BASIC, a variant of Microsoft BASIC. The first version was something you loaded via cassette tape:

Applesoft II came out afterwards, and it was 16K in size, which was a lot at the time. Most home computers were based on either the Z-80 processor (the TRS-80s were) or the 6502 (as Apple’s, Atari’s, and Commodore’s were), both of which had a 16-bit address bus. That meant that they could address a maximum of 64K memory locations.

A maxed-out Apple ][‘s memory was arranged this way:

  • The lower 48K were for RAM. If you had a disk drive, some of this RAM was devoted to the disk operating system.
  • The upper 16K were for ROM, which included the original BASIC.

It turned out that through some bank-switching magic, you could boost an Apple ][ to 64K of RAM. You could buy a 16K RAM card that would plug into one of the Apple ][‘s many expansion slots, where it would replace the upper 16K taken up by ROM. You often loaded Applesoft BASIC, Apple Pascal, or some other programming language into it, which is why this 16K card was often called a “language card”. A number of third-party vendors sold such language cards, including Microsoft:

microsoft ramcard

Microsoft even sold a card that put a Z-80-based computer into your Apple ][, which let it run CP/M:

microsoft softcard

Later, when the original Macintosh came out…

mac 128k

…Microsoft came out with a BASIC interpreter for it…

microsoft basic for mac

…and Bill Gates made an appearance at an Apple event where he said that he expected that the Mac would account for half of Microsoft’s revenues in 1984:

When IBM approached Microsoft for software for their new Personal Computer, they got more than just DOS (which Microsoft put together in a hurry by buying 86-DOS from Seattle Computer Products), they also got BASIC:

ibm basic

80s computer lab

It was a time when so many different computing platforms were available, each with its own operating system and features. It might have been more difficult to program them, but I found that I could leap from computer to computer with ease, because Microsoft BASIC connected them all. I knew that I could take the code from books like these…

basic computer games

…and make it work on an Apple, Atari, Commodore, IBM PC, Texas Instruments, and TRS-80 with only a few tweaks for each machine.

I’d like to see if Microsoft can repeat this with their new open-approach, open-sourced .NET.


BYOD: Why employees hate it, how many do it without IT approval, and how to make it work

Why employees hate BYOD

pitchforks and torches

In a CIO article, Tom Kaneshige opens his article about the dislike of BYOD with a couple of examples where employees were “burned by BYOD”:

At a New York banking firm, a couple of executives lost their jobs because they didn’t report lost phones within 24 hours, in violation of a draconian BYOD policy. At a California law firm, the CIO knew every time one of its lawyers slipped away to play golf, exposed by watchful BYOD management software.

Employee issues with BYOD, as Kaneshige points out, isn’t so much about technology as it is about trust — or the lack thereof. People hate BYOD when it encroaches on their privacy, particularly with:

  • GPS location tracking, which many people liken to prisoner monitoring ankle bracelets,
  • App inventory, which can be a bit too revealing about your personal life: “No one wants to be approached in the cafeteria by a co-worker sympathizing with you about your cancer, just because word got out that you have a cancer-related app on your iPhone,” and
  • Bad user experience, which is worsening as more management and security controls are added to BYOD solutions, which are already viewed as electronic shackles.

What causes “Shadow BYOD”?

shadow it

Bad BYOD experiences or outright bans on the work-related use of personal mobile devices often lead to “Shadow IT” or “Shadow BYOD”, a term used to describe when employees use their own devices and applications for work and to access corporate resources without IT’s knowledge or approval. A recent survey by custom business application company TrackVia features these statistics on the mobile work habits of millennials, who are expect to make the majority of the workforce in a few short years:

  • Nearly 70% of millennials surveyed have admitted that they bring applications from outside the enterprise to support their work, such as Box, Evernote, and Google Drive.
  • 69% of millennials surveyed said that they never work with IT to select new business apps.
  • 60% of millennials surveyed weren’t concerned about corporate security when they used personal apps instead of corporate-approved apps.
  • 35% of millennials use their own apps to support use across different devices, something that the corporate-approved apps didn’t support.

You can see TrackVia’s complete survey results on their site, where you’ll find the infographic shown below:

rebels with a cause

For BYOD to really work, there’s got to be trust and training

lots of devices

“Like many other aspects of IT, BYOD operates across a spectrum from ‘definitely not’ to ‘anything goes’,” says Rob Bamforth, an analyst at the research firm Quocirca. “There will be some for whom BYOD is not the route to go down, principally due to concerns over their ability to implement effective data segmentation and access monitoring.”

Bamforth’s observation is important to keep in mind. A simplistic, restrictive, one-size-fits-all approach to BYOD is more than likely to backfire, as employees find work-arounds to such restrictions and as a result, expose the company to risk as they store company data in unsafe places, using unsafe apps, on unsecured devices. While there are certain lines of work where the security and liability requirements are too strict to allow employees to bring their own devices, most businesses can accommodate a BYOD program that balances security with usability.

SecureData’s head of cloud services, Alan Carter, suggests that setting mobile device policy should first. “Before even thinking about investing in technology, get the policy sorted. Doing it the other way around will result in anything but a perfect rollout.” We agree: an user base who’ve been taught about secure mobile use and who are working under a policy that treats them as intelligent people — and hey, if they’re not, why’d you hire them? — is as important a part of mobile security as any mobile device management solution.

Recommended reading

this article also appears in the GSG blog