Categories
Programming

There’s nothing wrong with doing this before pushing to Github

2-panel meme. Panel 1: Cat, with caption “Code I wrote to make it work.” Panel 2: Same cat, but now wearing a tuxedo, with caption “Code I push to Git.”

I think we all understand that the poster actually means GitHub rather than Git. Personally, I think that cleaning up your code before putting it on Github is a good thing — after all, Harold Abelson put it best:

Programs must be written for people to read, and only incidentally for machines to execute.

Categories
Meetups Mobile Programming Tampa Bay

Tampa’s iOS meetup is coming back as Tampa Bay Apple Coding!

I’m bringing back the Tampa iOS Meetup in 2023 under a new name: Tampa Bay Apple Coding Meetup. If you’re in the Tampa Bay area and want to learn how to program Apple devices in Swift, this meetup will be for you!

I’ve got a fair bit of experience showing people how to build applications for Apple devices and technologies, from doing presentations on coding augmented reality apps for the iPhone…

…to co-authoring the book on iOS development…

…to writing all sorts of apps:

These meetups will follow my usual modus operandi:

  • We’ll define a simple app that we want to make for the iPhone/iPad, Apple Watch, Apple TV, or other Apple device.
  • Then we’ll look at the tools and techniques that will allow us to create that app.
  • And finally, you’ll code along with me as we build the app together. You’ll leave the meetup with either a complete app, or at least a part of the app that you can continue working on.

The goal is to help you learn coding or sharpen your skills by building apps for the preferred devices of the digerati!

I’m currently working on getting a space for the first meetup of Tampa Bay Apple Coding in January — watch this space for announcements!

To find out more, see the Tampa Bay Apple Coding meetup page.

Categories
Programming Video

Watch my new “Advent of Code Tips and Tricks” video!

I’ve got a new video on Auth0 by Okta’s YouTube channel that helps you get started with Advent of Code — check it out!

Advent of Code is an annual event featuring Christmas-themed puzzles that are meant to be solved with code. Since 2015, tens of thousands of programmers have tackled the new puzzles that appear every day from December 1 through 25 at the stroke of midnight (U.S. Eastern standard time).

If you’ve been working on the same sort of programming problems day in and day out and feel that you’re in a coding rut, Advent of Code is a great way to sharpen your skills. If you’re learning a new programming language, Advent of Code’s challenges are a great way to discover the in and outs of your new language. If you’re interviewing for a developer position and a coding exercise is part of the process, Advent of Code can help prepare you.

In the video, I’ll walk you through the solutions for Day 1 of the 2015 and 2020 Advent of Code in Python. Combined with my Advent of Code article on the Auth0 by Okta blog, which covers even more challenges, it should help you get started with this year’s Advent of Code!

Categories
Mobile Programming

Add Auth0 authentication to your Jetpack Compose Android apps!

My newest article on the Auth0 Developer Blog is a two-part that covers adding authentication to Android apps built using the Jetpack Compose UI framework!

Here are the two parts:

  1. Jetpack Compose Basics: An introduction to Jetpack Compose through building a single-screen app with composable functions and managing state the Jetpack Compose Way.
  2. Adding authentication: Taking the app from part one and adding Auth0 authentication.

I’m working on the companion video for the article as I write this — keep an eye out for it!

Categories
Meetups Programming Tampa Bay What I’m Up To

Tampa Devs’ “Mobile App Development” meetup has been postponed [Update]

Tropical storm/hurricane Nicole update (Wednesday, Nov. 9, 2:00 p.m.)

With tropical storm Nicole expected to become a hurricane before bearing down on Florida tonight this event has been postponed until further notice. Keep an eye on the Meetup page for details.

Tampa Devs’ next meetup is tomorrow, and it’s on a topic that’s close to my heart: Mobile Development and Digital Nomad Lifestyles!

The Meetup

The main talk will feature André Crabb — a “once digital nomad settled in Tampa” — talking about “mobile app development, its evolution, and life as a digital nomad.” His talk outline includes:

  • Evolution of mobile development
  • Existing frameworks
  • Android
  • iOS
  • React Native + Expo
  • Other frameworks, but in not as great in detail as the ones above
  • Lifestyle of a digital nomad

Here’s the schedule:

  • 6:00 – 6:30 pm: Networking
  • 6:30 – 7:00pm: Intro slides + quick game
  • 7:00 – 7:30 pm: Lightning talks, 5-10 minute talks anyone can come speak
  • 7:30 – 9:00 pm – Main talk + networking time

This meetup will take place at USF in the “Education Building,” a.k.a. EDU 115, located on 4110 USF Apple Drive:

The event is free to attend — register on their Meetup page — and I’ll see you there!

Categories
Current Events Mobile Programming

A mobile dev’s perspective on that old Vine code

Of the many ideas for Twitter that Elon Musk has been posting for public reaction since taking over, the best one — an easy choice, as most of the ones he’s tweeted run the gamut from dismal to disastrous — is resurrecting Vine, the proto-TikTok short video service where you could share incredibly short (six-second) looping videos:

Vine started as its own company in June 2012, Twitter acquired it in October 2012, and its first official release was in January 2013. Twitter announced that it would discontinue Vine in October 2016 and disabled all uploads.

If Vine could be turned into a TikTok competitor as YouTuber Jimmy “MrBeast” Donaldson suggests, it could help counter TikTok’s serious security issues and help give Twitter a much-needed image boost.

Here’s the problem:

Musk has asked engineers to look at the old code. This would be a sensible thing if we were dealing with a hardware, mechanical, or physical artifact, but Vine is software. Even more challenging is the fact that it’s mobile software. That was first released in 2012 and last updated in 2016.

As software developer and product manager Sara Beykpour put it (and on Twitter, no less!):

An actual book from the early Vine era.

I have no inside knowledge of Vine, but I’d be willing to bet that the Android and iOS Vine apps were probably written as native apps. React Native wasn’t out until 2015, and every other cross-platform solution at the time (including Xamarin) wouldn’t have been up to the task.

In 2012, when Vine began, that would mean:

  • On Android: writing the app in Java using Eclipse (the stable 1.0 version of Android Studio wouldn’t come out until December 2014).
  • On iOS: writing the app in Objective-C, quite possibly using NIBs instead of storyboards.

Simply put — ancient stuff, at least by the standards of mobile development. While there are still some Java-based Android and Objective-C-based iOS projects out there, the majority of the top apps in the stores are written in either Kotlin or Swift.

It would be a good idea to have a handful of developers look over the old Vine code for an audit. There’s a chance that there might be a few useful ideas in there, possibly in feature switches that never got turned on. However, that old code will probably be useless as a starting point to build on in the short timeframe that Musk suggests for the relaunch of Vine.

In case you were wondering…

…the flagship phones of 2016, when Vine was active, were the Samsung Galaxy S7 on the Android side, which came with Android 6 (a.k.a. “Marshmallow”, a.k.a. API 23)

…and on the iOS side, it was the iPhone 7, which came with iOS 10.

Categories
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 JWT.io:

Joey deVilla appears in the corner of the screen showing the JWT.io 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!