Programming Reading Material

My tutorial on iOS authentication using SwiftUI and Auth0

Banner: Get Started with iOS Authentication using SwiftUI

Hey, iOS developers! My latest tutorial article on the Auth0 blog shows you how to easily add authentication (that is, login and logout) to SwiftUI apps and display information from their user profile.

The article demonstrates the most basic use of the Auth0.swift SDK, the Auth0 SDK for all Apple platforms — not just iOS, but macOS, iPadOS, watchOS, and tvOS. It’s Auth0’s third most-used SDKs, accounting for more than one in ten API requests to Auth0 systems!

It’s a two-part tutorial. Part 1 of the tutorial starts with File → New Project…, adds some basic interactivity, adds the Auth0.swift package, walks you through setup on the Auth0 side, and finally enables login and logout:

iOS Simulator screen shot: Screen with title “SwiftUI Login Demo” and “Log in” button.
The app’s “logged out” screen.
iOS Simulator screen shot: Auth0 Universal Login screen.
Auth0’s Universal Login.
iOS Simulator screen shot: Screen with title “Logged in” and “Log out” button.
The app’s “logged in” screen.

Part 2 of the tutorial takes your basic login/logout app and gives it the ability to read user information from the user profile and display it onscreen:

iOS Simulator screen shot: Screen with title “Logged in”, photo of user, user]s name and email address, and “Log out” button.
The revised “logged in” screen.
Programming Reading Material

Two Kotlin/data science articles from Yours Truly!

Kotlin developers who want to get into data science: these articles are for you! They’re about using Jupyter Notebook, but with Kotlin instead of Python. Why should Pythonistas make all the big bucks?

Read the articles, which appear on (the premier mobile development site, and it’s where I learned iOS and Android dev) in this order:

  1. Create Your Own Kotlin Playground (and Get a Data Science Head Start) with Jupyter Notebook: Learn about Jupyter Notebook, get it set up on your computer, and get familiar with krangl, the Kotlin library for data wrangling.
  2. Beginning Data Science with Jupyter Notebook and Kotlin: Once you’re familiar with krangl, it’s time to get familiar with data frames and working with datasets. This article will help you get started by exploring real data, crunching it, and even getting some insights from it.

Reading Material

Arguments for staying away from crypto, NFTs, and “Web3” in general

If you have doubts about cryptocurrencies, NFTs, and web3 in general and need some more convincing, you might find these arguments helpful. If you’re a true believer, these are the arguments you’ll have to counter. Either way, enjoy!

The “You’ll be running with a crowd of terrible human beings” argument

Tap to view the original tweet

The article Bitcoin Goes to War in The New Republic has a subtitle that explains its thesis a little better: “For some crypto holders, Russia’s invasion of Ukraine is an opportunity⁠—and a validation of their increasingly radical beliefs.”

However, I feel that the best summary comes from a sentence in the middle of the article, which reads “For some right-wing libertarian-minded coiners, the right to freely trade crypto takes precedence over opposing a Russian invasion of a sovereign nation.”

Nothing drives this point home better than investor Mike Alfred’s Twitter response to Mykhailo Fedorov, Vice Prime Minister of Ukraine and Minister of Digital Transformation of Ukraine, who asked:

Alfred’s response? This gem, which will someday be cited regularly in ethics courses under the “don’t be this guy” category:

The computer science argument

UC Berkeley professor Nicholas Weaver dedicated one lecture of the Computer Security 161 course to material that would not be on the exam, but simply to help “immunize you from crap”. The topic is cryptocurrency, and luckily for us, he posted it on YouTube!

Here’s Weaver’s opening slide:

He points out that the blockchain data structure isn’t anything revolutionary, but instead is based on decades-old, well-documented structures: hash chains and hash trees (a.k.a. Merkle trees):

He also talks about the excuses that crypto-fans make for its massive power consumption…

…how easy it is to steal or grift from other people…

…that it just created a new business model for VCs…

…the dubious economics…

…and the incredible inefficiency:

It’s an amazing lecture that’s well worth viewing, even if you’re a crypto believer — just so you know the arguments against your thing.

The layperson’s argument

If you (or someone you know) has heard of cryptocurrency and NFTs but doesn’t know much about them or why they’re getting a lot of hype, Dan Olson’s Line Goes Up — The Problem with NFTs explains everything quite well.

Don’t let the 2-hour 18-minute runtime scare you off — it’s broken into chapters and presents its material so well that you won’t even notice the time passing.

Here’s its table of contents:

  • 00:00:00 Preface
  • 00:01:12 0. In 2008 The Economy Collapsed
  • 00:07:09 1. Bitcoin
  • 00:18:18 2. Ethereum
  • 00:24:34 3. The Machine
  • 00:39:07 4. NFTs Exist To Get You To Buy Crypto
  • 00:57:54 5. The Unbearable Cringe Of Crypto
  • 01:11:46 6. A Self-Organizing High Control Group
  • 01:16:57 7. Crypto Reality
  • 01:25:36 8. There Is No Privacy On The Chain
  • 01:32:52 9. If This “Looks Like Scam” Then Every NFT Room I’m In Looks Like Scam LOL
  • 01:38:29 10. Play To Earn Exists To Get You To Buy Crypto
  • 01:46:39 11. We’re All Gonna Make It And By “We” I Mean “Us” Not You
  • 01:56:08 12. DAOs Exist To Get You To Buy Crypto
  • 02:13:21 13. I Know It’s Rigged, But It’s The Only Game In Town

The “Fucked Company” argument

If you were around during the dot-com bubble’s burst, you might remember a website called Fucked Company (whose name s a pardoy of Fast Company) that chronicled the ongoing failures of dot-coms with maximum snark.

There’s now a Web3 version: Web3 is going just great, and it’s part of my daily cautionary reading. Check it out.

Programming Reading Material’s free programmer’s notes for all sorts of platforms

I mentioned these FREE ebooks back on Programmer’s Day, but I feel that they merit their own post: has a great collection of FREE ebooks featuring programming recipes for all sorts of platforms, from Angular to Android, C to C++ to C#, Java to Kotlin, MongoDB to MySQL, Perl to PHP to Python, Ruby on Rails to React, Swift to Xamarin Forms and more!

You can download them for free here, but if you’re feeling really grateful and generous, you can buy them one or more coffees!

Deals Programming Reading Material

Happy Programmer’s Day 2021!

Once again, it’s September 13th — the 256th day of the year (on non-leap years)! As the number of values that can be expressed in a single byte, 256 means something to programmers, and as the largest power of 2 that will fit into 365, the 256th day of the year is a perfect excuse to declare it as Day of the Programmer.

Here are some things that you might find useful on this special day…

Want a free programming book? How about a whole lot of free programming books? has a series of notes for professionals for a wide array of programming languages and platforms. You can download them for free, but if you’re feeling really grateful and generous, you can buy them one or more coffees!

There’s Humble Bundle’s Python Superpowers bundle, which provides a lot of goodies for $25, including some really good Python video courses, ebooks, and a 6-month free license of PyCharm Professional Edition!

All work and no play makes Jack/Jackie a dull programmer, so why not play some programming games, like Shenzhen I/O, pictured above? Here’s a list of nine coding games that could sharpen your skills.

And finally, if you’re a new programmer or just need a Git refresher, you’ll want to check out Get Gud with Git.

Reading Material

Everything terrible about Medium, captured in a single post.

I stumbled across the headline I really hate the Medium experience, which resonated with me because — well, I really hate the Medium experience. When I tried to follow the link to read the article, I was presented with this:

Tap the image to view the terribleness at full size.

And that perfectly (and self-referentially too!) sums up the Medium experience.

If you’re writing developer articles, don’t write on Medium.

It won’t grow your audience or your reputation, the knowledge you’re trying to share will remain hidden as developers look elsewhere for answers, and you won’t be in control of your own content. Medium promises monetization, but speaking as someone who used to be able to pay the rent on Adsense revenues, articles don’t monetize that well anymore, and Medium pays worse.

Get a domain, set up whatever publishing system works for you, and post your articles there.

Don’t believe me? Listen to these people instead.

Mobile Reading Material

New book: “Androids: The Team That Built the Android Operating System”

Androids: The Team That Built the Android Operating System is a new book written by Chet Haase, a long-time lead on the Android UI toolkit team, and more recently, an Android developer advocate.

This article is part of the Android August series, in which I’m writing an Android development-related article every day during the month of August 2021.

Haase has been on the Android team since 2010, which is back when it was still considered to be the “wild card” in the race for mobile OS dominance. This gives him serious “in the room where it happened” cred, as well as access to people, photos, documentation, and other behind-the-scenes information about the creation of a operating system that now drives over 3 billion active devices today.

The original demo, written by Brian Swetland and Chris White and later enhanced by Fadden, showing a home screen and several apps (most of which were not implemented). It’s a far cry from a modern Android home screen.
The is the original demo of Android on a mid-2000s phone, showing a home screen and a selection of apps, most of which weren’t implemented at the time. Hey, it was a demo for a pitch! (Photo by Chet Haase)

Android wasn’t originally meant to be a phone OS. The original plan was for it to be an advanced OS for digital cameras, which were more common back in the early 2000s, and it’s the use case they presented to investors in early 2004.

It was later decided that the camera market wasn’t big enough, and that Android should aim for the same space occupied by the big mobile operating systems at the time: Symbian (the most popular mobile OS until 2010) and Windows Mobile. They courted Samsung and HTC, but in July 2005, Google made the prescient decision to acquire Android for $50 million. According to Wikipedia, this move was described in 2010 as Google’s “best deal ever” by their then VP of corporate development, David Lawee, to whom I reported during the dot-com era at OpenCola.

A Look Back at the First Android Phone, 10 Years Later | Digital Trends
The first commercially-available Android device: The HTC Dream, also known as the T-Mobile G1, released September 2008. (Creative Commons photo by Michael Oryl.)

Androids is an insider’s history of the Android operating system, but Haase also promises that it won’t be above a non-techie’s head:

Instead, it’s a history: It describes the events, stories, experiences, thinking, and decisions made by the Android team, most notably in the early days, well before the present-day concept of a smartphone existed.

Want to find more about the book? Check out these articles:

Want to get the book? There are a couple of ways to do so:

The book will also be available in paperback form.

The Connectory
Women Who Code: WWCode is a non profit that helps mid-career engineers get  promoted. | Y Combinator

Here’s another reason to buy the book: Haase is donating profits from the book to Black Girls Code and Women Who Code.