I recently got a Mokin 10-in-1 USB-C dongle for use with my work computer, a 2019 16″ MacBook Pro, whose only connectors are 4 Thunderbolt/USB-C ports and a 3.5 mm audio jack.
The dongle worked like a charm out of the box with the notable exception of one part: The Ethernet port. I had a pretty good guess why this was happening and how to fix it.
Most dongle vendors are integrators. They may manufacture the cases and simpler electronics, but they purchase lot (or all of) the fancier tech from manufacturers, such as networking chips.
Here’s a pic showing a Mokin dongle and its internals:
My plan was to find the manufacturer of the networking chip inside my dongle, then find their webpage, then hopefully find a driver.
Here’s what I did.
Step 1: Identify the vendor
With the dongle plugged into my MacBook, I opened the Apple menu and selected About This Mac. This window appeared:
I clicked the System Report… button, which opened the System Report window:
This window provides a run-down of the hardware, software, and networking on your Mac. Its Hardware list provides information about the hardware in and attached to the computer. A lot of peripherals have information such as vendor IDs encoded to them, and you can use System Report to find it.
I expanded the Hardware menu and selected the USB item. The USB Device Tree list appeared in the window’s right pane.
I then went through the USB 3.1 Bus entries in the USB Device Tree list in search of an entry containing the word LAN. Once I found that entry, I clicked on it, which then caused its details to appear in the lower part of the right pane.
I found the information that I needed: the Vendor ID, and better still, an actual vendor name: Realtek.
Step 2: Search for the vendor’s site, and in particular, the page containing the driver you need
Now that I had a vendor name, I did a search with using the search term realtek lan 10/100/1000 driver mac. This was my first result:
What if you don’t have a vendor name, but just a vendor ID number?
In the case where you just have a vendor ID number and no name, you should consult a USB ID database, such as the one at The SZ Development:
I decided to see if I could find the driver using this route.
I entered the vendor ID reported by my Mac, 0x0BDA, in the Vendor ID field and the reported product ID, 0x8153, in the Product ID field. I clicked Search and got these results:
USB 10/100/1000 LAN
RTL8153 Gigabit Ethernet Adapter
The links that the site provides aren’t all that useful. You’ll get much farther if you simply include the result text with the words driver and mac as your search term.
Doing that took me to the same page as the previous method:
Step 3: Install the driver
From the Realtek page I found, I downloaded the installer that applied to me and ran it. It worked without a problem.
(They would be well-served by a team that could do a half-decent job localizing the language on their installer.)
Step 4: Enable wired networking
With the driver installed, it’s time to make wired networking happen!
Open System Preferences. To add wired networking, you’ll need to add a new networking service, which you do by clicking the + button at the bottom of the menu on the left side of the window: You’ll be asked to select the interface and provide a name for the new networking service. Select USB 10/100/1000 LAN from the Interface menu, and enter whatever you like for in the Service Name field. I entered “Wired” for mine:
I clicked the Create button, which created the service and dismissed the dialog box. The new service, named Wired, appeared in the menu on the left side, with Not Connected as its subtitle.
I clicked the Apply button…
…and the Wired service went from Not Connected to Connected:
Success!
Now it was time to test the connection. I shut off wifi and ran Speedtest.net on my wired connection. The results shown below are for my work computer, which uses a VPN that I need to always keep on (or there will be. consequences):
That’s a good deal faster than I get on wireless, and I’m sure I’ll get better speeds on my personal computer when it’s not on a VPN.
It happened: Twitter hit Donald Trump with the perma-banhammer. They’ve posted an explanation in their corporate blog, and in the usually feckless world of social media platforms, this is uncharacteristically bold. It’s a good move, seeing as the outgoing president* has used it as a tool of stochastic terror.
No technology is purely neutral, and as technologists, we have responsibilities for the platforms and tools we create.
Now it’s your turn, Facebook.
In the meantime, I checked up on my secret Parler account, and the system is non-responsive, probably because it’s swamped:
I’m on a very distributed remote team at Auth0. I’m in Tampa, with teammates in Spain, Italy, Argentina, the north and south US west coast, Australia, and more. Slack is our combination hallway, water cooler, and memorandum system, and it’s down at the moment.
I thought I’d commemorate the first work tool outage of 2021 andthe official end of Flash support with the meme pictured above, along with the classic animation from which it came. And here’s hoping that Slack comes back online soon!
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
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.
If you’re reading this, it means that you’ve survived 2020 and made it to a whole new year! I know that the current situation doesn’t really pay attention to arbitrary calendar divisions, but there’s a reason why we celebrate birthdays and anniversaries. If you haven’t done so yet, take some time to reflect on 2020 and tink about what you’d like to accomplish in 2021. Global Nerdy is here to help the people in the Tampa Bay tech scene meet their goals!
Sad new Meetup! (Or: Why this list even more useful than ever)
Over the holidays, Meetup.com changed their home page format, and it’s now even harder to find out what’s going on this week.
To see what I mean, go to Meetup.com and try to see what’s happening in Tampa this week. You’ll see something like this:
Events for any groups that you belong to will still be listed in chronological order. But everything else? It’ll be a mish-mash, with an event scheduled for next week followed by one taking place tomorrow, and all of them subdivided into sections to maximize your clicking and viewing pages instead of finding events.
This sort of mess is why I made this weekly list in the first place. Between our geographical spread, our limited time, and the pandemic, it was already hard enough to find tech, entrepreneur, and nerd events in Tampa Bay. Meetup’s new home page makes things worse. This list is meant not only to fix that problem, but to help facilitate Tampa Bay tech gatherings and help grow our scene.
Casting a wider net
I’ve tweaked the list a little — you’ll see that it now covers events within 100 miles of Tampa Bay, which includes some Orlando-based events. Howdy, neighbors!
I’m still listing only online events for the time being
I’m tired of the “new normal”, and I’m sure you are as well. But we’re not out of trouble yet:
1 in 16 Americans has been infected with COVID-19 (20.5 million cases as of Sunday, January 3, out of a total population of 328.2 million).
1 in 1000 Americans has died from COVID-19 (350,000 deaths as of Sunday, January 3, out of a total population of 328.2 million).
1 in 16 Floridians has been infected with COVID-19 (1.35 million cases as of Sunday, January 3, out of a total population of 21.48 million).
1 in 980 Floridians has died from COVID-19 (21,889 deaths as of Sunday, January 3, out of a total population of 21.48 million).
These numbers, coupled with the recent holidays — where a lot of people threw precautions to the wind — are why I’m doing my part and not promoting any in-person events just yet.
This list covers events from Monday, January 4 through Sunday, January 10, 2020.
Events — especially virtual, online ones — can pop up at the last minute. I add them to the list as I find out about them. Come back and check this article from time to time, as you might find a new listing that wasn’t there before!
If you’d like to get this list in your email inbox every week, enter your email address below. You’ll only be emailed once a week, and the email will contain this list, plus links to any interesting news, upcoming events, and tech articles.
Join the Tampa Bay Tech Events list and always be informed of what’s coming up in Tampa Bay!
Avocado Labs an Auth0 project whose goal is to keep developers and techies — and people who want to become developers and techies — connected through high-quality online talks.
Today at noon Eastern (17:00 UTC), join Avocado Labs’ Twitch channel to meet Matthew Pegula, Director of Creative Technology at the technology/experience design studio Deeplocal.
He’ll be talking about some of their cool projects, including a project called “Connected Mistletoe”, which keeps distant people connected over the holidays:
Here’s the brief for the talk:
Matthew Pegula works at Deeplocal, a creative technology and experience design studio based in Pittsburgh, PA. They’re a group of engineers and creatives who use technology to tell stories and create experiences in novel ways. At first glance, their projects don’t always jump out as being overly technical or software-driven, but that’s sort of the idea: the technology enables the story, it doesn’t overshadow it. Matthew is going to show a few of their favorite projects, talk about the technology that’s driving them, and some of the challenges they ran into along the way.
Matthew Pegula is a software engineer who has been lucky enough to blend his interests in technology, design, writing, and engineering into a career that encompasses them all. He has a BS in computer science from Allegheny College and leads the Creative Technology team at Deeplocal.