Categories
Podcasts Programming What I’m Up To

I’m on episode 123 of “The 6 Figure Developer” — “iOS Apprentice & Accordions w/ Joey deVilla”!

Last month, the folks at The 6 Figure Developer podcast interviewed me, and that interview was published this morning! It’s titled iOS Apprentice & Accordions w/ Joey deVilla, and you can find it right on the 6 Figure Developer site, or through your favorite way to find podcasts.

You can also use the player below:

The topics covered in the interview:

  • How I got started in the industry and where I am now. I started as a developer, then a developer evangelist, then marketing, then product owner, and now I’m a developer again!
  • My new job at Lilypad, which I like to describe as “a CRM for the alcohol industry”, and how much fun I’m having being a developer again.
  • My tech strategy: “Always bet on the toy.” The technology that people dismiss as a toy today often becomes tomorrow’s indispensable tool.
  • Working on the 8th edition of iOS Apprentice for raywenderlich.com. It was an adventure, what with having to cover the new SwiftUI framework in a beginner-friendly way. I also talk about being honored to work on this edition of the book, as I learned iOS programming from an earlier edition written by the original author, Matthijs Hollemans.
  • Cross-platform vs. native mobile development and the challenges with each approach. When do you use each approach?
  • The people whose primary way of getting online is their mobile device. I talk about a key demographic — about 8% — whose smartphone is pretty much their only gateway into the online world.
  • Taking an active role in the Tampa Bay tech scene. I explain that it’s a habit I picked up from the Toronto tech scene in the early 2000s, during the era of DemoCamp Toronto. This work helped turn Toronto into one of the top 5 tech powerhouses in North America, and I think Tampa Bay can borrow a few of those tricks.
  • Don’t forget that two Tampa Bay authors have iOS books! It’s not just me, but Craig Clayton as well.
  • Recommended meetups and resources for Tampa Bay mobile developers. There’s Tampa iOS Meetup, the Suncoast Google Developers Group, and of course, the Coders, Creatives, and Craft Beer meetup.
  • My one piece of career advice: It’s actually Eleanor Roosevelt’s advice — “Do the thing you think you cannot do.”

Who interviewed me?

The hosts of The 6 Figure Developer who interviewed me are:

John Callaway: An International Speaker, Author, and Microsoft MVP, John has been a professional developer since 1999. He has focused primarily on web technologies and currently focuses on C# and .NET Core in Azure. Clean code and professionalism are particularly important to him, as well as mentoring and teaching others what he has learned along the way.

Clayton Hunt: Clayton has been programming professionally since 2005 doing mostly web development with an emphasis on JavaScript and C#. He has a focus Software Craftsmanship and is a signatory of both the Agile Manifesto and the Software Craftsmanship manifesto. He believes that through short iterations and the careful gathering of requirements that we can deliver the highest quality and the most value in the shortest time. He enjoys learning and encouraging other to continuously improve themselves.

Jon Ash: Jon has been a web developer since 2011 and a professional consultant since 2006. Coming from the aerospace industry he brings a passion for professionalism and excellence. He has a broad experience in current web technologies, with a strong foundation in C# and JavaScript. Though working knowledge of technologies are important, he takes pride in practicing and promoting clean code, adherence to the SOLID principles, and disciplines such as Test Driven Development.

Categories
Programming Video What I’m Up To

Now that I’m getting paid to be a developer again…

…it’s time to revive this video that New Relic put out way back in 2011 to promote their application monitoring service.

Titled We Love Developers, it features some of the brightest lights in the industry:

  • Matz: Yukihiro Matsumoto, creator of the Ruby programming language
  • Guido van Rossum: Creator of the Python programming language
  • Linus Torvalds: Creator of the Linux operating system and the Git version control system
  • DHH: David Heinemeier Hansson, creator of the Ruby on Rails framework
  • Bill Joy: Co-founder of Sun Microsystems and creator of the vi text editor
  • James Gosling: Lead designer of the Java programming language
  • Sir Tim: Tim Berners-Lee, creator of the World Wide Web
  • Marc Andreesen: Co-creator of Mosaic, the first widely-used web browser, co-founder of Netscape, co-founder of Andreesen Horowitz
  • Woz: Steve Wozniak, creator of Apple
  • Rasmus Lerdorf: Creator of the PHP programming language
  • The Gu: Scott Guthrie, creator of ASP.NET, Executive VP of Microsoft’s Cloud and AI group
  • Sergey Brin: Co-founder of Google
  • Dries Buytaert: Creator of Drupal

At the end of the video, they wanted to use the image of a more “everyman” developer to represent you, their customer. Guessed who they picked:

My photographer friend Adam P. W. Smith (my old business partner; together, we were datapanik software systems and we worked on some pretty interesting projects back in the late ‘90s) took the picture back in August when I was visiting him in Vancouver. I’d arrived a day early for the HackVAN hackathon and was sitting in his kitchen getting some work done when he decided to get a couple of shots. He poured me a glass of scotch, set it on my accordion, which I’d set down on the chair beside me, and staring taking pictures.


In case you were wondering, you can find out more about my new gig in the article titled — appropriately enough — The new gig.

Categories
What I’m Up To

The new gig

I have a new job: I now hold the title of Mobile Software Developer at Financial Information Technologies LLC, which also goes by the name Fintech. My job will be developing Fintech’s mobile app, Lilypad, which is a sales and customer relationship management tool for the alcoholic beverages industry — a $250+ billion market in the U.S. alone, and a $1.4+ trillion market worldwide.

Fintech created the first EFT (electronic funds transfer) payment system for the alcoholic beverages industry in 1991, and in the 18 years that followed, their system gained approval in all 50 states. Since then, they’ve built systems to improve the way alcohol is managed, priced, promoted, ordered, and sold. They’re a “work hard, play hard” place with a reputation for treating their employees well, based on what I’ve seen at their company gatherings.

Lilypad is a scrappy startup that was founded in 2013. Their original application was a tool to help alcohol sales teams in the field, and has since grown to become a system that helps the industry manage the entire sales process. Lilypad’s customers run the gamut from the smallest kitchen-table craft breweries to global conglomerates whose products are everywhere — perhaps even on your shelves at home. The company was acquired by Fintech earlier this year.

Back in September, I posted a cryptic announcement with the “New gig Monday” image shown above. That marked the start of a trial period during which time I worked at Lilypad on a contract basis. They were incredibly cool about accommodating the vacation plans I’d made months before. I worked for the month of September, went to the Philippines for three weeks in October, and then returned to work through to the end of November.

My job was to dive into their mobile app code for both Android and iOS — comprising hundreds of thousands of lines of code written over the past six years by an untold number of coders who came before me, none of whom left behind any notes  — and start fixing, maintaining, and improving it from the moment I set foot in the office. This would be a challenge.

I landed the trial period based on a very particular set of skills that’s hard to find in the Tampa area: mobile app development (and let’s face it, my penchant for self-promotion). I sold those skills based on:

Still, it’s been some time since I wrote production code. The agreement was that if I could prove my coding mettle during the trial period, they’d take me on as a senior mobile developer.

I’ve got to get back to work, so I’ll spare you the details. Besides, you already know how it worked out.

Categories
Hardware What I’m Up To

A quick picture guide to upgrading the RAM on a Lenovo ThinkPad T430

The oldest-model computer in my stable is a Lenovo ThinkPad T430 (pictured above). Released in 2012, it’s a business workhorse powered by a dual-core i5-3230M processor running at 2.6 GHz (suitable for writing TPS reports and even playing older 3D games) that’s still issued to worker bees at offices everywhere. I acquired mine in 2013 in lieu of payment owed to me from a deadbeat, and since then, it’s been performing yeoman service in its role as a backup machine for tasks that specially require Windows or Linux.

It came with a stock 4GB RAM, which has caused me to run into some limitations, especially with heavier-weight development tools such as Visual Studio and Android Studio, the video capture and recording tool Camtasia, and to a lesser extent, graphic design and audio tools. It was time for that most effective and universal of computer upgrades: more RAM!

The T430 takes two 1600 MHz PC3-12800 SO-DIMMs and supports up to 16GB memory. I ordered a pair on NewEgg for less than $100, which came with two-day free shipping. The DIMMs arrived via FedEx Friday morning, and like any geek with a new tech toy, I took out my set of teeny computer screwdrivers and got to work on installing them right after they arrived.

The first step was to remove the battery. ThinkPads from that era (I’m not certain about present-era ones) followed the old-school philosophy to batteries and kept them external and easily swapped out:

I remembered seeing a RAM upgrade on one of these computers years ago, so I knew that there was a RAM slot located on the bottom of the machine, just underneath the central panel…

…and only two screws stand between you and a RAM upgrade…

…and until you realize that there’s just one RAM slot there. Upon seeing this, I looked around, confirmed that there was only one RAM slot under that panel, and then checked the online specs for the T430. It says two SO-DIMM slots. Where’s the other one?

Here’s the interesting thing about adding RAM to the T430: its two RAM slots are in quite different places with different levels of difficulty to access.

The second RAM slot — where the factory-installed RAM goes — is under the keyboard, and getting to it takes a little more work. My guess is that Lenovo’s engineers expected most users to buy a single DIMM to expand their machine’s RAM, and that they’d install it into the easier-to-access slot at the bottom of the machine.

Even if you have no plans to add or remove RAM from the more easily accessed underside, you still need to open the central panel at the bottom of the machine to access the RAM under the keyboard. That’s because there are two screws inside the central panel that you have to remove in order to get under the keyboard:

These two screws anchor the keyboard, and if they’re in place, you won’t be able to access the RAM slot underneath it.

When you’ve removed those two screws, you can remove the keyboard. Pry it up gently, starting with the edge closest to the trackpad. I used a metal ruler to help me with the process, taking care not to scratch the casing:

Lift the keyboard. You’ll see that it’s connected to the motherboard by a short strip of ribbon cable. There’s a thin piece of dark, slightly translucent plastic to the left of where the ribbon cable meets the motherboard; the RAM slot is underneath it:

To make it easier to pop in the RAM, I disconnected the keyboard. You might not have to do it in order to insert the RAM, but it was pretty easy:

I flipped back the panel, where the factory-installed 4GB DIMM lived…

…and replaced it with the new 8GB DIMM.

With the RAM installed, I reversed my steps, fired up the ThinkPad, and checked my RAM the fun way: by asking Cortana using my voice. Here was her response:

Success! The ThinkPad is back in action, and ready for development work. In the short time with maxed-out RAM, I’ve found that Visual Studio, Android Studio, and Camtasia work wonderfully, and video performance is improved as well (my model has integrated graphics, which relies on system RAM).

If you prefer a video walk-through of the ThinkPad T430 RAM upgrade procedure, try this one:

Categories
What I’m Up To

Day one of the new job: Developer evangelist at SMARTRAC!

Photo: American Airlines jet as seen from below, taking off. Headline: New job - DAY ONE.

Today — Monday, October 3rd, 2016 — marks the start of my new gig, Developer Evangelist at SMARTRAC, a leading manufacturer of high-security RFID inlays and tags, and the world’s largest supplier of RFID inlays for “e-passports”, according to Wikipedia.

Logo: SMARTRAC / Connect Things

SMARTRAC manufacture a wide variety of RFID inlays and tags for all sorts of uses, ranging from asset tracking and supply chain management to access control to contactless payment (such as “tap” credit cards) to remote keyless entry for cars to animal identification to tickets for concerts and sports events to retail sales and anti-counterfeiting protection.

Photo: A roll of SMARTRAC 'DogBone' RFID tags. The tiny black dot in the center of the tag is the actual RFID chip; the dogbone-shaped metal trace making up most of the tag is the antenna.

SMARTRAC started as a hardware company producing radio frequency transponders and reader, but they’ve seen that a lot of the opportunity is in the software that talks to this hardware and in the emerging internet of things (IoT).

Logo: SMARTCOSMOS - Powered by SMARTRAC

That’s where SMART COSMOS comes in. It’s SMARTRAC’s portfolio of cloud-based services that enables developers to build new applications that can work with SMARTRAC’s RFID tags and inlays to “read the world”.

Here’s the official “SMART COSMOS 101” video:

SMART COSMOS needs someone who can wear a number of hats:

  • Developers will be writing applications that make use of SMART COSMOS’ SaaS services, and they’re going to need someone who can speak their language to show them how it’s done.
  • A number of SMARTRAC’s clients are the sales and marketing departments of large retail operations, and they’ll need to someone who can operate in both the worlds of marketing and technology.
  • And finally, SMARTRAC makes appearances at conference worldwide — a quick glance at their site says that they’ll be a conferences in Vegas, Munich, Tehran, Cannes, and Manila before the end of the year — and they’ll need a skilled speaker and presenter to promote their wares.

You know who’s really good at all of these? This guy:

This is a remote job, with me working from the home office…

…but punctuated with trips to conferences where SMARTRAC will have a booth or will be presenting and developer gatherings, visits to the U.S. office in Baltimore or the European office, and possibly SMARTRAC’s RFID manufacturing facilities, which are scattered all over the globe.

Photo: The city of Asheville, North Carolina in the sunset (or sunrise), with forest in the foreground and mountains in the background. Heading: HELLO, ASHEVILLE!

Day one of the job has me on the road to one of those aforementioned manufacturing facilities. I’m off to Asheville, North Carolina to visit the SMARTRAC plant there, and spend the next few days working with my new team on a developer evangelism plan for SMARTTRAC. This will be interesting, and I’ll be posting quite a bit on this topic, so watch this space!

Categories
Hardware What I’m Up To

Unboxing the CanaKit Raspberry Pi 3 Complete Starter Kit

raspberry pi 12
Click the photo to see it at full size.

On the most recent Amazon Prime Day — an annual trick that Amazon pulls in order to boost sales in the same vein as Cyber Monday, but in the summer — I managed to limit myself to buying just one sale-priced thing that I didn’t really need: the CanaKit Raspberry Pi 3 Complete Starter Kit. It normally sells on Amazon for US$75, but it was on sale that day for US$60.

The Raspberry Pi 3 is the current version of a series of single-board computers about the size of a deck of playing cards, and are:

I plan to use the Raspberry Pi to make some initial delving into IoT (Internet of Things) development, and as part of my journey into developing for that category of computer that I call “tiny and shiny” — smartphones, tablets, and now Raspberry Pi / Arduino-type boards.

Here’s the CanaKit Raspberry Pi 3 Complete Start Kit box:

raspberry pi 01

When I opened it, I saw this:

raspberry pi 02

The first thing you should see is a greeting card that also provides an email address for assistance, should you need it. The other side of the card has a diagram explain what each of the GPIO interface pins on the Raspberry Pi 3 board is for.

Below the card was an HDMI cable:

raspberry pi 03

And below that were three boxes:

raspberry pi 04

From largest to smallest, the three boxes contained the Raspberry Pi 3 board and SD card (which functions as its “hard drive”)…

raspberry pi 05

…a case for the board…

raspberry pi 06

…and a power supply for the board:

raspberry pi 07

Below the boxes were these items:

raspberry pi 08

One bag contained a USB microSD card reader. It allows you to use your regular computer to download updated or different versions of the Raspberry Pi OS or software and transfer them onto the microSD card:

raspberry pi 09

The other bag contained two heatsinks for its chips. They already have heatsink adhesive attacked to them; you just have to peel off the backing and stick them onto their respective chips:

raspberry pi 10

At the bottom of the box was the “quick start” guide:

raspberry pi 11

Here’s the board mounted in the lower tray portion of the case:

raspberry pi 13

And here’s the board with the middle section of the case attached:

raspberry pi 14

And here’s what the Pi looks like once the case is assembled:

raspberry pi 15

Assembling the case is pretty easy, as no tools are required. It simply snaps together.

Here’s the case on my desk, placed beside a $20 bill for size comparison:

raspberry pi 16

The Pi case is smaller than the hard drive that I connected to it (you can see it below the Pi):

raspberry pi 18

I decided to take the beginner route and start up the system using NOOBS, short for “New out of the box software”. It came pre-loaded onto the SD card that came with the board, and it installed Raspbian, the official supportedRaspberry Pi OS, and based on Debian. Once the OS is installed, here’s what you see when you boot up the Pi:

raspberry pi 19

Once it finishes booting up, you’re taken to a GNOME desktop:

raspberry pi 20

I used to have a stack of USB keyboards, but I’d given most of them away to friends and family, and my last couple are still back in Toronto. Figuring that I’d end up taking the Pi to meetups, BarCamps, and other demo sessions, or perhaps use it as a living room media center / internet device, I went with the Logitech K400 all-in-one keyboard, shown below. It’s currently on sale at Walmart for US$20:

raspberry pi 21

And thanks to Anastasia Sistevaris, an intern at Wiley, I got hooked up with a set of Raspberry Pi books, the first of which arrived recently: Exploring Raspberry Pi by Derek Molloy. I’ll do a writeup of this book in a later article:

raspberry pi 22

Watch this space for more Raspberry Pi articles as I start noodling with my new toy!

Categories
What I’m Up To

Winning the Gnu

Plush gnu on top of my travelling accordion
The GNU gnu and my accordion.

The CUSEC convention’s last keynote speech was Richard Stallman’s presentation titled Copyright vs. Community in the Age of Computer Networks. It’s similar to the one he gave at the University of Toronto in the summer of 2007; you can see my detailed notes on that presentation here.

At the end of his keynote, he declared an auction, the proceeds of which would go to the Free Software Foundation (I heard a couple of people say “Yeah, right” behind me). The first item up for auction was a hardcover copy of his book Free Software, Free Society. I already own an autographed edition, so I wasn’t interested in bidding.

He started the bidding at CAD$40. In response, someone from the audience yelled out “we’re students!”. Oblivious to the remark, he went on with the bidding. The book ended up selling for somewhere close to a hundred dollars.

With the book sold, he showed the audience the next item for auction: a plush gnu, the mascot of the Free Software Foundation:

stallman_showing_gnu
Stallman shows off the plush gnu for auction. Photo by Matthew Gallant.

“You should totally bid for that!” someone behind me said. I’d been thinking the same thing.

As with the book, the bidding started at student-unfriendly 40 dollars. I waited until the price hit $60, after which the room fell quiet. That’s when I threw my hat in the ring.

“Sixty-five!”

The room burst out in laughter. They’d seen my presentation yesterday and knew I worked for Microsoft, long a major figure in the Free Software Foundation’s demonology.

“You should know that he’s with Microsoft!” someone in the audience said to Stallman.

“There are anti-animal cruelty laws,” said Stallman, facing in my direction.

“You have The Empire’s assurance that no harm will come to him,” I replied.

The bids continued. For every bid that came in, I immediately countered with one that was $5 higher.

“Seventy!”

“Seventy-five!”

“Eighty!”

“Eighty-five!”

By this point, the room was really getting into the bidding war. Would the Microsoftie actually win the auction for the symbol of the organization that views it as The Great Satan?

And up the bids went until I said “One hundred.” Just to underscore my intent on getting that gnu, I bid again. “One hundred five.”

“Going once…” said Stallman, “…twice…SOLD! For one hundred and five dollars.”

I walked up to the stage to thunderous applause.

Richard Stallman, Joey deVilla and the plush gnu at CUSEC 2009
Claiming the spoils of victory. Photo by Andrew Louis.

Stallman seemed a tiny bit confused as to why someone from Microsoft would even want a gnu, never mind pay that much money for one.

“You do promise to obey anti-animal cruelty laws?” he asked again, as if it were a real flesh-and-blood gnu.

“I won’t harm a hair on its head. I do come from the Free Software world,” I replied, being careful not to call it the “Open Source” world. I didn’t want to give him any reason to cancel the sale.

Richard Stallman and Joey deVilla onstage at CUSEC 2009
I give Stallman my word that no harm will come to the GNU Also, look at how he’s playing with his hair while speaking to me. I think he LIKE-likes me! Photo by Andrew Louis.

I pulled out my Microsoft corporate credit card. I held it up and asked the audience: “Would it be all right if I paid with this?”

Joey deVilla showing his Microsoft corporate credit card to Richard Stallman

Joey deVilla showing the Microsoft credit card to the CUSEC 2009 audience
Asking the audience if I should pay with my Microsoft corporate credit card. Photo by Andrew Louis.

That got a good laugh from the audience.

Joey deVilla and the Microsoft credit card
“The Microsoft corporate card. Don’t culture-jam the FSF without it.” Photo by Andrew Louis.

Using my best Darth Vader impression, I extended my hand out to Stallman and said “Join me, Stallman, and together we shall bring order to the galaxy!”, which got a good laugh.

Me inviting Stallman to join the Dark Side
“Join the Dark Side, Stallman, and together we shall bring order to the galaxy!”

At the end of the conference, I walked up to Stallman, who was selling Free Software Foundation paraphernalia at the registration table. I asked him for his autograph, which he gladly provided on the plush gnu’s tag. “Happy hacking! Richard Stallman,” it read.

Joey deVilla gets Richard Stallman to autograph the gnu's tag
Getting Stallman’s autograph after the keynote. Photo by Andrew Louis.

I did it all in the name of fun and also to show that Microsoft people have a sense of humour. I was also more than happy to hand over some money to the Free Software Foundation as a way of saying thanks for all the things they’ve done for developers – myself included – over the years.

As for the gnu, I plan to take it out from time to time, posing it for photographs just as the travelling garden gnome is.

Plush gnu on top of my accordion