You may have heard about a new bill working its way through the US congress, the EARN IT act. That’s the “Eliminating Abusive and Rampant Neglect of Interactive Technologies Act of 2020”. (What does that mean? It means someone really wanted their initials to spell out “EARN IT”.)
EARN IT is a bipartisan bill that claims to be an effort to put a dent in child exploitation online. It’s also managed to catch the attention of the EFF, Schneier, and a variety of news outlets. The overwhelming opinion has been that EARN IT is a terrible idea, will make implementing end-to-end encryption impossible, and violates the First and Fourth Amendments. How does a bill intended to combat child pornography and sex trafficking end up on the EFF bad list? It’s complicated.
The Apollo program proved that humans could land on the Moon and do useful work, but due to logistical and technical limitations, individual missions were kept short. For the $28 billion ($283 billion adjusted) spent on the entire program, astronauts only clocked in around 16 days total on the lunar surface. For comparison, the International Space Station has cost an estimated $150 billion to build, and has remained continuously occupied since November 2000. Apollo was an incredible technical achievement, but not a particularly cost-effective way to explore our nearest celestial neighbor.
Leveraging lessons learned from the Apollo program, modern technology, and cooperation with international and commercial partners, NASA has recently published their plans to establish a sustained presence on the Moon within the next decade. The Artemis program, named for the twin sister of Apollo, won’t just be a series of one-off missions. Fully realized, it would consist not only of a permanent outpost where astronauts will work and live on the surface of the Moon for months at a time, but a space station in lunar orbit that provides logistical support and offers a proving ground for the deep-space technologies that will eventually be required for a human mission to Mars.
It’s an ambitious program on a short timeline, but NASA believes it reflects the incredible technological strides that have been made since humans last left the relative safety of low Earth orbit. Operating the International Space Station for 20 years has given the countries involved practical experience in assembling and maintaining a large orbital complex, and decades of robotic missions have honed the technology required for precision powered landings. By combining all of the knowledge gained since the end of Apollo, the Artemis program hopes to finally establish a continuous human presence on and around the Moon.
As the world pulls back from the acute phase of the COVID-19 pandemic, it enters what will be perhaps a more challenging time: managing the long-term presence of the SARS-CoV-2 virus that causes the disease. In the roughly two-century history of modern vaccination practices, we’ve gotten pretty good at finding ways to protect ourselves from infectious diseases, and there’s little doubt that we’ll do the same for SARS-CoV-2. But developing a vaccine against any virus or bacterium takes time, and in a pandemic situation, time is exactly what’s at a premium.
In an effort to create an effective vaccine against this latest viral threat, scientists and physicians around the world have been taking a different approach to inoculation. Rather than stimulating the immune system in the usual way with a weakened sample of the virus, they’re trying to use the genetic material of the virus to stimulate an immune response. These RNA vaccines are a novel approach to a novel infection, and understanding how they work will be key to deciding whether they’ll be the right way to attack this pandemic.
Saying that it was finally time for the community to bid a “fond but firm farewell to Python 2”, core developer Benjamin Peterson marked the release of Python 2.7.18 on April 20th; officially ending support for the 2.x branch of the popular programming language. It was hardly a snap decision. Python 3.0 was released all the way back in December 2008, and it was never a secret that the newer branch was not only incompatible with the earlier version, but that it would eventually superseded it to become the standard.
But migrating the incredible amount of Python code in the wild over to the latest and greatest was easier said than done. Millions upon millions of lines of code used in everything from Linux distributions to virtually every major web service needed to be reviewed and migrated over to Python 3. In many cases the changes were relatively minor, but when code is being used in mission critical applications, even the smallest of changes are often avoided unless it’s absolutely necessary. The voluntary migration took far longer than expected, and the end-of-life (EOL) for Python 2 was pushed back by years to accommodate developers who hadn’t made the necessary changes yet.
Given the somewhat fluid nature of the Python 2 EOL date, it seems fitting that this last final release would come several months after the “official” January 2020 deadline. The intention was for it to coincide with PyCon 2020, but just like so many of the events planned for the first half of the year, the in-person conference had to be canceled in favor of a virtual one due to the COVID-19 epidemic. That might have stymied the celebration somewhat, but the release of Python 2.7.18 will still be looked on as a special moment for everyone involved.
Is history doomed to repeat itself? Or rather, is there really any doubt that it isn’t, considering recent events that made the news? I am of course talking about New Jersey’s call for COBOL programmers to fix their ancient unemployment system, collapsing under the application spikes caused by the COVID-19 lockdown. Soon after, other states joined in, and it becomes painfully apparent that we have learned absolutely nothing from Y2K: we still rely on the same old antiques running our infrastructure, and we still think people want to voluntarily write COBOL.
Or maybe they do? Following the calls for aid, things went strangely intense. IBM announced to offer free COBOL trainings and launched a forum where programmers can plug their skills and availability. The Open Mainframe Project’s COBOL programming course suddenly tops the list of trending GitHub projects, and Google Trends shows a massive peak for COBOL as well. COBOL is seemingly on its way to be one of the hottest languages of 2020, and it feels like it’s only a matter of time until we see some MicroCOBOL running on a Teensy.
However, the unemployment systems in question are unfortunately only a tiny selection of systems relying on decades old software, written in a language that went out of fashion a long time ago, which makes it difficult to find programmers in today’s times. Why is that?
Google and Apple have joined forces to issue a common API that will run on their mobile phone operating systems, enabling applications to track people who you come “into contact” with in order to slow the spread of the COVID-19 pandemic. It’s an extremely tall order to do so in a way that is voluntary, respects personal privacy as much as possible, doesn’t rely on potentially vulnerable centralized services, and doesn’t produce so many false positives that the results are either ignored or create a mass panic. And perhaps much more importantly, it’s got to work.
Slowing the Spread
As I write this, the COVID-19 pandemic seems to be just turning the corner from uncontrolled exponential growth to something that’s potentially more manageable, but it’s not clear that we yet see an end in sight. So far, this has required hundreds of millions of people to go into essentially voluntary quarantine. But that’s a blunt tool. In an ideal world, you could stop the disease globally in a couple weeks if you could somehow test everyone and isolate those who have been exposed to the virus. In the real world, truly comprehensive testing is impossible, and figuring out whom to isolate is extraordinarily difficult due to two factors: COVID-19 has a long incubation period during which it is nonetheless transmissible, and some or even most people don’t know they have it. How can you stop what you can’t see, and even when you can detect it, it’s a week too late?
One promising approach is to isolate those people who’ve been in contact with known cases during the stealth contagion period. To do this is essentially to keep a diary of everyone you’ve been in contact with for the last week or two, and then if you eventually test positive for COVID-19, alert them all so that they can keep from infecting others even before they test positive: track and trace. Doctors can do this by interviewing patients who test positive (this is the “contact tracing” we’ve been hearing so much about), but memory is imperfect. Enter a technological solution. Continue reading “Google And Apple Reveal Their Coronavirus Contact Tracing Plans: We Kick The Tires”→
Under the current Administration, NASA has been tasked with returning American astronauts to the Moon as quickly as possible. The Artemis program would launch a crewed mission to our nearest celestial neighbor as soon as 2024, and establish a system for sustainable exploration and habitation by 2028. It’s an extremely aggressive timeline, to put it mildly.
To have any chance of meeting these goals, NASA will have to enlist the help of not only its international partners, but private industry. There simply isn’t enough time for the agency to design, build, and test all of the hardware that will eventually be required for any sort of sustained presence on or around the Moon. By awarding a series of contracts, NASA plans to offload some of the logistical components of the Artemis program to qualified companies and agencies.
Artist’s Rendering of the Dragon XL
For anyone who’s been following the New Space race these last few years, it should come as no surprise to hear that SpaceX has already been awarded one of these lucrative logistics contracts. They’ve been selected as the first commercial provider for cargo deliveries to Gateway, a small space station that NASA intendeds to operate in lunar orbit. Considering SpaceX already has a contract to resupply the International Space Station, they were the ideal candidate to offer similar services for a future lunar outpost.
But that certainly doesn’t mean it will be easy. The so-called “Gateway Logistics Services” contract stipulates that providers must be able to deliver at least 3,400 kilograms (7,500 pounds) of pressurized cargo and 1,000 kilograms (2,200 pounds) of unpressurized cargo to lunar orbit. That’s beyond the capabilities of SpaceX’s Dragon spacecraft, which was only designed to service low Earth orbit.
To complete this new mission, the company is proposing a new vehicle they’re calling the Dragon XL that would ride to orbit on the Falcon Heavy booster. But even for this New Space darling, there’s not a lot of time to design, test, and build a brand-new spacecraft. To get the Dragon XL flying as quickly as possible, SpaceX is going to need to strip the craft down to the bare minimum.