Mobile Programming Video What I’m Up To

How to add Auth0 authentication to a SwiftUI app

Joey deVilla in his home office, holding an “Einstein” rubber duck up to the camera.
C’mon, how many programming tutorial videos have a scene like this?

If you’re making an iOS app, the odds are pretty good that sooner or later, you’re going to have to integrate authentication — login and logout — into it. I show you how to do that with Auth0 in both a video

…as well as a matching two-part article series that walks you through the process:

Both the video and article present how the final app will look and work:

Tap to view at full size.

And then they’ll get you started with a starter project:

Joey deVilla appears in the corner of the screen showing the starter project of Auth0’s iOS/SwiftUI authentication video.
Tap to view at full size.

I’ll walk you through the processes of getting Auth0 set up to recognize your app and creating a user with which to log in:

Joey deVilla appears in the corner of the screen showing the Auth0 dashboard in Auth0’s iOS/SwiftUI authentication video.
Tap to view at full size.

And then, I’ll show you how to add login and logout to the project’s app:

Joey deVilla appears in the corner of the screen, while adding login and logout to the starter project of Auth0’s iOS/SwiftUI authentication video.
Tap to view at full size.

And along the way, I’ll provide a brief intro to ID tokens, JWTs, and

Joey deVilla appears in the corner of the screen showing the site in  Auth0’s iOS/SwiftUI authentication video.
Tap to view at full size.

Of course the video ends with an accordion number!

Joey deVilla plays accordion at the end of an Auth0 tutorial video.
Again, I ask: how many programming tutorial videos have a scene like this?

Once again, the here’s the video, How to Integrate Auth0 in a SwiftUI App, and here are the articles:

Whether you prefer to learn by watching video, reading, or a little bit of both, I hope you find these useful!

Security Video

Get to know Bellingcat and open source intelligence (OSINT)

The Bellingcat logo.

As the Russian invasion of Ukraine continues, you’re increasingly likely to hear the name “Bellingcat”. It’s the name of an independent group of researchers, investigators, and citizen journalists who practice open source intelligence (OSINT). Here’s a quick primer about Bellingcat and open source intelligence, plus a whole lot of videos about Bellingcat’s work and their reporting on aggression by Russia’s government and armed forces.

Bellingcat’s origins

Illustration: The mice planning to bell the cat.

Bellingcat get their name from Aesop’s fable, Belling the Cat. In the fable, the youngest of a group of mice who were terrorized by a cat suggests that they put a bell on the cat, which would act as an early warning system. While the suggestion was warmly received, one of the elder mice brought up a serious challenge to the plan: “Who will bell the cat?”

Eliot Higgins founded Bellingcat in 2012 after being laid off from an administrative job. He started doing independent research on the civil war in Syria by collecting and analyzing publicly available photos and footage, and cross-referencing them with reports. Since then, he’s grown the organization, who’ve gone on to apply their open source intelligence skills to stories including:

Open source intelligence

Open source intelligence, often referred to as OSINT, is a term meaning any information that can be gathered from freely-available, publicly-available sources. It’s most often used to referred to information gathered online — the kind that anyone with an internet connection would be able to access. This information could be available free of charge, or it could be acquired for a fee (e.g. a subscription to a news organization, data source, or API).

It also applies to non-online/non-digital information from books, newspapers, magazines, academic journals and papers, FOIA requests and their equivalents, and so on.

It could be in text form, but it also applies to video, photographs, sound recordings, data files, and databases.

Giancarlo Fiorella, a senior Bellingcat investigator based in Toronto, makes it clear that OSINT is not “hacking” (as in accessing computer systems or information illegally), stealing, or spying. It’s about gathering data and doing the research.

Bellingcat contribute to the Russia-Ukraine monitor map

Click the image to visit the map page.

You may have read about the Russia-Ukraine Monitor Map on my personal blog, but if you haven’t, it’s a a public resource for mapping, documenting, and verifying significant incidents that happen in the Russian invasion of Ukraine. Bellingcat are a primary contributor of information to this resource.

Videos about Bellingcat

Here’s a collection of YouTube videos on Bellingcat for those of you who’d like to know more about them or about OSINT.

Insights from Bellingcat on Russia’s Ukraine Ambitions (March 2, 2022 – Reuters Institute)

This is a Zoom interview with Christo Grozev, Bellingcat’s lead Russia investigator.

Researchers create open-source map tracking incidents in Ukraine (February 28, 2022 – CBC)

Fact-checkers on the front line of Russian propaganda machine (February 25, 2022 – CBC)

Inept Info-Wars: Bellingcat’s Eliot Higgins on Putin’s Problems with Reality (February 24, 2022 – Foreign Press Association USA)

Open-source Intelligence (OSINT) by Giancarlo Fiorella, Investigator and Trainer at Bellingcat (December 2021 – Asian College of Journalism)

This features a presentation by senior Bellingcat investigator Giancarlo Fiorella about Bellingcat, open source investigations and how they’re conducted. He goes into detail about investigating the Mahbere Dego massacres and the ethical issues and challenges in open source research.

We Are Bellingcat: An Intelligence Agency for the People (May 2021 – Talks at Google)

Ethical Matters: Bellingcat – The Citizen Intelligence Agency (April 2021 – Conway Hall)

Putin’s Assassins Exposed: An Evening w/ Bellingcat Founder Eliot Higgins (March 2021 – Renew Democracy Initiative)

I Exposed a Russian Assassination Squad (March 2021 – Vice’s “Super Users” series)

Discussion with Bellingcat Founder Eliot Higgins (March 2021 – Center for the Study of the Presidency and Congress)

How Bellingcat tracked a missile system in Ukraine (February 2020 – 60 Minutes Overtime)

Bellingcat: Truth in a Post-Truth World (2018 documentary film)

Business Video

The “How to Business” YouTube channel

How to Business is a new YouTube channel created by Tampa Bay-area techie Frederick Weiss of Thunder Nerds fame that features quick video interviews (typically around 10 minutes in length) that show techies how to tackle business tasks that they may need to take on.

While there’s no shortage of resources that teach you how to use a particular technology, there is a need for how-tos aimed at techies who need to know how to do things related to money, business processes, sales, and other topics outside our main areas of expertise. That’s what How to Business is for!

Here’s How to Business’ promo video:

Here’s the first interview, How to Make Websites Accessible. It features Todd Libby, accessibility engineer at WebstaurantStore and host of the Front End Nerdery podcast.

The next interview, How to Qualify Sales Opportunities, features John Roth, SVP of the Sales Specialists Team at Sangoma.

The most recent interview, How to Implement Authentication and Authorization with Auth0, features Yours Truly, where I’m operating in my capacity as a Senior Developer Advocate at Auth0, and I talk about not rolling your own authentication and authorization but going with an experienced provider instead:

Keep an eye on the How to Business channel — Frederick’s been recording interviews, and it’s looks like they’ll be interesting and useful!

Programming Video

I watched a lot of “Top Programming Languages for 2021” videos so you don’t have to

It’s that time of the year again

It’s the start of a brand new year, and in the world of developer YouTube, that means one thing: A whole lot of videos on the topic of the programming languages that you must know or learn for the upcoming year.

In a non-pandemic year, “Top programming languages for 2021” is a relatively easy topic to cover, and one that’s sure to attract some extra search-based viewership. In the year after the one we just had, a good number of people who are trying to pivot to software development, and a title like “Top programming languages for 2021” is pure YouTube audience bait.

Since I had some time to kill while reformatting one of my machines over the holiday break, I decided to enter the search term top programming languages for 2021 into YouTube’s search field and see what came up. To keep the number of videos down to something manageable, I considered only videos posted after the start of November 2020.

A lot of the same recommendations

Creative Commons photo by Doug Kline. Tap to see the source.

I ended up watching 17 videos, and there was a high degree of overlap in their recommendations:

Language Recommendations
JavaScript 17
Python 16
Go 12
Java 11
C# 10
Kotlin 10
C / C++ 9
Swift 6
R 3
Rust 3
Ruby 2
TypeScript 2
Dart 1
Shell scripting 1

Unsurprisingly, every video recommended JavaScript and all but one recommended Python. The more interesting results were further down the list including:

  • A surprisingly high number of recommendations for Go and C/C++ — lower-level systems programming languages that are a little less suited for web development than the others. Most of the people who posted “top languages for 2021” videos seemed to be targeting an audience of web developers, which makes me wonder if their recommendations are based simply on C’s, C++’s, and Go’s strong showing on the TIOBE Index.
  • I thought Kotlin and Swift would be about even, but 10 reviewers recommended Kotlin, while only 6 recommended Swift.
  • I thought TypeScript would get more recommendations.

The videos

For the benefit of the curious, I’ve listed the videos below, complete with links and each one has a list of the recommendations made in the video.

I feel obliged to remind you that these are subjective opinions that could easily be based on the presenter’s biases, some Googling, or cribbing notes from the Technology section of the 2020 Stack Overflow developer survey.

If you’re planning to learn a new programming language or sharpen your skills on a language you’re already familiar with, you should make sure that it’s in service of some kind of goal. Is knowing a language part of a larger career plan, to assist you with your current job, to make yourself more attractive to prospective employers, or for fun? All of these are valid reasons, but you should have a reason.

And now, the videos:

Top 10 Programming Languages to learn for 2021:
(December 26, 2020, <1K views)

I thought I’d start by giving my home state of Florida some love by presenting Jacksonville-based polyglotengineer’s list of languages to learn this year. Here are his picks:

10. Java
9. C#
8. PHP
7. C / C++
6. Go
5. Kotlin
4. Rust
3. Python
2. Swift
1. JavaScript

Top 10 Programming Languages In 2021:

(Nov 19, 2020, 93K views)

Simplilearn is an online bootcamp that boasts of partnerships with Purdue, Caltech, UMass Amherst, AWS, IBM, Microsoft, and Accenture. Here’s their “top ten” list of programming languages to take up in 2021:

10. C#
9. Go
8. C++
7. JavaScript
6. Swift
5. Java
4. R
3. Kotlin
2. PHP
1. Python

Top 10 Programming Languages to Learn in 2021:
Chris Hawkes
(December 28, 2020, 4K views)

Here’s a short one — Chris Hawkes takes you on a literal walk through the woods as he goes over his picks for 2021.

  • JavaScript
  • Python
  • PHP
  • Java / .NET Core
  • Go
  • Ruby
  • Rust
  • C++
  • TypeScript
  • JVM languages (Kotlin, Scala…)

Top 7 Programming Languages to learn in 2021! (Pay attention to these!):
(December 14, 2020, 9K views)

Danny “DThompsonDev” Thompson wins the prize for best use of props in his round-up of the languages you should learn in the new year, with the Python fanboy baseball bat and PHP cash money.

Here’s his selection of the top seven programming languages to take in the 2G21:

7. Go
6. PHP
5. C#
4. Java
3. C++
2. JavaScript
1. Python

Top 5 programming language for 2021:
Hitesh Choudhary
(December 7, 2020 / 96K views)

Hitesh Choudhary is one of the instructors at LearnCodeOnline, an online coding school.  Here’s his list of the top five programming languages to learn this year:

  • JavaScript / ReactJS
  • Python / Django
  • C++
  • Java
  • PHP

Top 10 Best Programming Languages To Learn In 2021:
(December 27, 2020, 5K views)

“Tiffin” is Tiffany Janzen, a software developer based in my old home town of Toronto who started her career in the modeling & fashion industry. You can find out more about here on this episode of the podcast You’re Too Pretty.

Here’s her list:

  • Python
  • JavaScript
  • Java
  • Kotlin
  • Swift
  • C / C++
  • Go
  • PHP
  • R
  • Ruby

Top 10 Programming Languages For 2021:
(December 29, 2020, 28K views)

Here’s the list from Edureka, an online corporate training site:

  • PHP
  • R
  • Dart
  • Go
  • C#
  • SQL
  • C / C++
  • Java
  • JavaScript
  • Python

The Top Programming Languages to Learn in 2021!:
Bryan Cafferky
(October 3, 2020, 3K views)

Here’s Boston-area-based Bryan Cafferky’s take on what you should learn this year, broken down by category. His is the one list that has a recommendation that no one else gave: Learn shell scripting, whether for Windows or Unix-based platforms.

  • C / C++
  • Python
  • PowerShell / Bash
  • JavaScript

Top programming languages to learn in 2021:
Vicky Mei
(December 22, 2020, <1K views)

Vicky Mei has a YouTube channel with the motto “No BS, build your career in tech”, where she posts a new video every week. Here’s her list:

  • JavaScript
  • Python
  • Java
  • Kotlin
  • Swift
  • SQL

Top 5 Programming Languages For 2021 To Land A Job During COVID-19:
(December 15, 2020, <1K views)

This is a very new channel, whose host started posting videos about a month ago. He’s a mobile developer, and here are his recommendations:

5. C#
4. Swift
3. Kotlin
2. JavaScript
1. Python

Top 5 programming languages to learn in 2021:

(December 27, 2020, 32K views)

codebasics is Dhaval Patel’s YouTube channel, where he covers a lot of data science and Python topics. Here are his top five languages to learn in 2021:

5. Go
4. Kotlin
3. JavaScript
2. TypeScript
1. Python

Top 5 Programming Languages For 2021:
(December 28, 2020, 6K views)

Here’s another video from a channel that’s just getting started — NeuralNine, which is “an educational brand focusing on programming, machine learning and computer science in general.”

Here’s their list:

5. C# / Java
4. C / C++
3. JavaScript
2. Go
1. Python

top programming languages 2021 // best languages for beginners to learn to get hired!:
Lena Elizabeth Shapiro
(December 13, 2020, 3K views)

Lena’s channel is a mix of tech and lifestyle. Here’s her list of languages to learn in the new year:

  • Python
  • JavaScript
  • ReactJS
  • C#

Top 10 Programming Languages in 2021:
Great Learning
(December 18, 2021, 47K views)

Great Learning say they have over 200 free certificate courses and seven years’ worth of videos. Here’s their top ten list of programming languages to take up in 2021:

10. Kotlin
9. Swift
8. C#
7. R
6. PHP
5. Go
4. C++
3. Java
2. Python
1. JavaScript

Top 5 Programming Languages to Learn in 2021:
Yazeed AlKhalaf
(November 21, 2020, <1K views)

Yazeed Alkhalaf is the youngest YouTubers in this list — he’s 15, and he’s got four videos in his channel. Here are his recommendations:

  • Python
  • Kotlin
  • Java
  • JavaScript
  • Go

Top 7 Programming Languages to Learn in 2021:
(December 23, 2020, 57K views)

Ishan Sharma looks to be just a bit older than Yazeed (judging from his youthful appearance and bookshelf contents). In addition to making videos at GeeksForGeeks, he also has his own YouTube channel, which boasts over 32,000 subscribers.

He recommends the same languages as Yazeed, plus two more:

7. Kotlin
6. PHP
5. C++
4. Go
3. Java
2. Python
1. JavaScript

Top Programming Languages 2021:
John Codes
(December 26, 2020, <1K views)

I’ll close out this collection with a more general list from John Codes, who describes himself with the phrase “software engineer turned content creator”. Here’s a quick summary of his recommendations for 2021:

  • If you don’t know it already, pick up a little JavaScript.
  • If you’re looking for a new back-end language and stack, look at Go and Kubernetes.
  • For operating systems and embedded programmers, look at Rust.
Programming Video

Worth watching: Videos on programming paradigms and object-oriented vs. functional programming

Watching programmers debate can sometimes be like watching a monkey knife fight.

Even in this day and age, when programming languages freely mix object-oriented and functional features, there are still arguments over which approach is “better”, or at least which one should be used in a given situation. Here are some videos that cover these paradigms; they might event give you some insight on how you can use them in your day-to-day coding.

4 Programming Paradigms In 40 Minutes – Aja Hammerly

Here’s a nice overview of four programming paradigms: object-oriented, functional, procedural, and logical, including the strengths of each. Start with this one.

Why Isn’t Functional Programming the Norm? – Richard Feldman

Functional programming is actually the earliest programming paradigm, but it’s not the primary paradigm of any of the top ten programming languages that programmers are using in 2019.

Object-Oriented Programming is Embarrassing: 4 Short Examples — Brian Will

In this video, Brian Will — an OO skeptic — takes four examples of “proper” object-oriented code and rewrites them using a procedural approach, resulting in what he considers to be “better” code. He’s not a big fan of the philosophy where data and code grouped together — he says “Let data just be data; let actions just be actions.” I leave it to the viewer to make their own call as to whether he’s right or wrong. (Hey, I figured I should throw in at least one curmudgeon into the list!)

FP vs. OO: Choose Two — Brian Goetz

When it comes to FP vs. OO, I’m of the “Why not both?” school of thought, and so in Brian Goetz.

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.