The coronavirus is the first true social-media “infodemic”

Social media has zipped information and misinformation around the world at unprecedented speeds, fueling panic, racism … and hope.

by Karen Hao and Tanya BasuFeb 12, 2020

On January 19—a week before the Lunar New Year—Tommy Tang left Shenzhen with his girlfriend to visit her family in Wuhan for the holiday. They had heard of the novel coronavirus (now officially known as COVID-19), but as far as they knew, it was localized to a small area. The local government had assured people that it would only affect those who visited a specific food market and contracted it directly from wild animals.

But on the night of the 20th, Dr. Zhong Nanshan—the same doctor who first revealed the extent of SARS in 2003—went on national TV to correct the record. The virus could spread from person to person, he said. Panic ensued. Overnight, everyone in the city began wearing masks. Tang and his girlfriend realized it was no longer safe to stay. They cancelled their plans and left on a train the next day. Less than 48 hours later, the city went into lockdown.

Continue reading “The coronavirus is the first true social-media “infodemic””

What AI still can’t do

Artificial intelligence won’t be very smart if computers don’t grasp cause and effect. That’s something even humans have trouble with.

by Brian BergsteinFeb 19, 2020

In less than a decade, computers have become extremely good at diagnosing diseases, translating languages, and transcribing speech. They can outplay humans at complicated strategy games, create photorealistic images, and suggest useful replies to your emails.

Yet despite these impressive achievements, artificial intelligence has glaring weaknesses.

Machine-learning systems can be duped or confounded by situations they haven’t seen before. A self-driving car gets flummoxed by a scenario that a human driver could handle easily. An AI system laboriously trained to carry out one task (identifying cats, say) has to be taught all over again to do something else (identifying dogs). In the process, it’s liable to lose some of the expertise it had in the original task. Computer scientists call this problem “catastrophic forgetting.”

Continue reading “What AI still can’t do”

How to configure port forwarding on a Windows 10 PC

How to configure port forwarding on a Windows 10 PC

To port forward to in Windows 10:

  1. Launch an Administrator Command Prompt.
  2. Run “netsh interface portproxy add v4tov4 listenaddress= listenport=9000 connectaddress= connectport=80”.

Applies to All Windows 10 Versions

Windows 10 has built-in support for port forwarding but it’s not exposed in the Settings interface. Port forwarding allows you to access network resources as if they’re hosted on your local machine, which can be helpful when working on a LAN (local area network) or developing with web servers.

Continue reading “How to configure port forwarding on a Windows 10 PC”

Become a mature developer, not a senior developer

I first read about the notion of a mature developer in the blog post On Being a Senior Engineer by John Allspaw, way back in 2012. A lifetime in the tech industry, but this simple idea has stuck with me and hasn’t been bettered.

The thrust of this post is that being a mature engineer (or developer) should be valued much more highly than being a senior engineer.

You should really take the time to read that post—I’m not going to try to repeat it here as it’s long and detailed and worth reading multiple times.

What follows is just some random, less relevant information from my own life.

Continue reading “Become a mature developer, not a senior developer”

Consent Matters: When Tech Takes Remote Control Without Your Permission

In my previous post I talked about why consent matters when it comes to privacy; and yet, privacy is only one of the areas where tech companies take advantage of users without their consent. Recently, tech companies have come to a troubling consensus: that they can change your computer, remotely (and often silently) without your knowledge or permission.

Some examples of this include:

Below you will find the origins of this mentality, the risks and harm that arise from it, and what it says about who really owns a computer.

Continue reading “Consent Matters: When Tech Takes Remote Control Without Your Permission”

The PGP Problem

Cryptography engineers have been tearing their hair out over PGP’s deficiencies for (literally) decades. When other kinds of engineers get wind of this, they’re shocked. PGP is bad? Why do people keep telling me to use PGP? The answer is that they shouldn’t be telling you that, because PGP is bad and needs to go away.

There are, as you’re about to see, lots of problems with PGP. Fortunately, if you’re not morbidly curious, there’s a simple meta-problem with it: it was designed in the 1990s, before serious modern cryptography. No competent crypto engineer would design a system that looked like PGP today, nor tolerate most of its defects in any other design. Serious cryptographers have largely given up on PGP and don’t spend much time publishing on it anymore (with a notable exception). Well-understood problems in PGP have gone unaddressed for over a decade because of this.

Continue reading “The PGP Problem”

The Forgotten History of OOP

Note: This is part of the “Composing Software” series (now a book!) on learning functional programming and compositional software techniques in JavaScript ES6+ from the ground up. Stay tuned. There’s a lot more of this to come!
Buy the Book | Index | < Previous | Next >

The functional and imperative programming paradigms we use today were first explored mathematically in the 1930s with lambda calculus and the Turing machine, which are alternative formulations of universal computation (formalized systems which can perform general computation). The Church Turing Thesis showed that lambda calculus and Turing machines are functionally equivalent — that anything that can be computed using a Turing machine can be computed using lambda calculus, and vice versa.

Continue reading “The Forgotten History of OOP”

The economics of privacy

Perhaps the biggest complaint about tech companies today is that they do not respect our privacy. They gather and store data on us, and in some cases, such as Facebook, they charge companies for the ability to send targeted ads to us. They induce us to self-reveal on the internet, often in ways that are more public than we might at first expect. Furthermore, tech data practices are not entirely appropriate, as for instance Facebook recently stored user passwords in an insecure, plain text format.

Continue reading “The economics of privacy”

Video games probably aren’t bad for boys, but it’s a different story for girls

Plenty of parents fret over their children’s undying love of video games. Do interactive games like Fortnite and World of Warcraft inhibit kids’ ability to hold normal human conversations? Do aggressive games foster an unnatural desire to wield guns and destroy things? Or does gaming help kids develop a crucial suite of 21st-century skills?

A new study from Norway investigates these questions by tracking the relationship between time spent gaming and social competence in a group of 873 kids, starting at age six and checking in every two years until age 12. The results showed that more gaming did not generally predict worse social outcomes in boys, but did have a negative impact on girls: 10-year-old girls who played more games had less social competence at 12.

Continue reading “Video games probably aren’t bad for boys, but it’s a different story for girls”