I appear in two segments of the piece, along with:
Local realtor Chris Logan, who’s been using ChatGPT to speed up the (presumably tedious) process of writing up descriptions of houses for sale
University of South Florida associate director of the School of Information Systems and Management Triparna de Vreede, who talked about its possible malicious uses and what might be possible when AI meets quantum computing.
IP lawyer Thomas Stanton, who talked about how AI could affect jobs.
Watching the segment, it occurred to me that I need to light my office the way that the news crew did for the segment — it’s got such a great “cinematic hacker” vibe!
Also: My thanks to Kristin Moore for inviting me to be part of the piece!
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!
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:
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
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, 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
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.
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)
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 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:
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
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
PHP
9
Swift
6
R
3
Rust
3
Ruby
2
SQL
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.
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
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
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
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:
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.
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
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
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
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
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.
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.