WWDC21 wasn’t the most exciting Apple keynote ever (especially for those of us hoping for some new hardware), but there were a lot of software things announced. Apple continues to iterate on Swift, and the new 5.5 beta has some really cool stuff in it. InfoQ has the rundown on its two flagship improvements.
Congrats to the entire Crystal team and community on the big One O!
Crystal, a new object-oriented, compiled systems programming language that aims to blend the conciseness and friendliness of Ruby with the efficiency of C, recently released its first major version. Crystal 1.0 has a syntax close to Ruby’s and features statically inferred types, C bindings, and macros. Crystal may attract developers with a Ruby/Rails, Elixir/Phoenix background.
This has been a long time in the making. Can you believe it’s been five years since we had Ary and Juan on The Changelog? On that episode we discussed what it would take to get Crystal to 1.0…
A team of scientists at LMU Munich have developed Pattern-Exploiting Training (PET), a deep-learning training technique for natural language processing (NLP) models. Using PET, the team trained a Transformer NLP model with 223M parameters that out-performed the 175B-parameter GPT-3 by over 3 percentage points on the SuperGLUE benchmark.
A solid, brief Q&A with a couple of Redis’ core team members about what’s next for the project now that its BDFL is no more.
InfoQ has a nice rundown of all that GitHub announced at Satellite this week. On Codespaces:
Codespaces gives you a fully-featured, cloud-hosted dev environment that spins up in seconds, directly within GitHub, so you can start contributing to a project right away.
At the heart of Codespaces lies Visual Studio Code running in your browser, so you get code completion, extensions, code navigation, and the rest of Visual Studio Code features you are used to.
GitHub Discussions appear very similar to Issues and Pull Requests on the outside, but they aim to go beyond the linear structure of the latter by supporting a threaded questions and answers format. According to GitHub, this should make it easier to organize an otherwise unstructured conversation and build a persistent knowledge base.
I’m personally not too excited about either of these features. I think Codespaces could be a big deal for casual contributions, but those are the lowest form of contribution. Discussions seems like a direct shot at StackOverflow, which makes good business sense, but I wonder if it will get mired in the Issues/Pull Requests/Wikis mucky muck.
HTTP/3 is the next protocol for network communication across the Web, which is meant to partially replace HTTP/1 and HTTP/2. One month before the next QUIC Working Group meeting, to be held in Zurich next February, it may be useful to recap what HTTP/3 promises and what its current client/server support looks like.
It’s been awhile since we discussed QUIC and HTTP/3 with curl’s Daniel Stenberg. A lot has happened since then, and this InfoQ article will do a good job of catching you up. Browser support is still limited, but things are coming along nicely.
The copyright battle that’s been going on since 2010 between these two tech giants will finally reach its conclusion at the highest court in the land.
Google will have just 30 minutes to present its case; Oracle will have 30 minutes to respond… The two tech giants have agreed to the following filing schedule:
- January 6, 2020 – Google will submit its brief (i.e. argument why they should prevail).
- February 12, 2020 - Oracle will submit its response brief.
- March 13, 2020 - Google will file a reply to Oracle’s brief addressing any opposing points raised.
If Google wins, the case is finally closed. If Oracle wins, the damages will be calculated by a California jury. Estimated damages in this case are in the $8-9 billion range.
iOS 13’s rollout was soooo buggy. Most notably: backgrounded apps were routinely being killed for no reason. What was to blame?
…Apple top executives Craig Federighi and Stacey Lysik identified iOS daily builds’ instability as the main culprit for iOS 13 bugs. In short, Apple developers were pushing too many unfinished or buggy features to the daily builds. Since new features were active by default, independently of their maturity level, testers had a hard time to actually use their devices, which caused Apple’s buggy releases.
Here’s how they plan to address the problem:
Federighi suggested leaving all new features disabled by default, so testers can ensure no regressions make it into the latest build and avoid being impaired by new bugs. New features shall be enabled on-demand by testers using a new internal Flags menu, making it possible to test each new feature in isolation.
How did it take Apple to the end of 2019 before they discovered feature flags? I hope it helps 🤞
Sergio De Simone, reporting for InfoQ:
In a recent paper, MIT researchers introduced Gen, a general-purpose probabilistic language based on Julia that aims to allow users to express models and create inference algorithms using high-level programming constructs.
Following the sad news about Joe Armstrong passing away, some of his former colleagues from Ericsson wrote a good-bye note and asked if InfoQ would publish it.
Joe has been on my shortlist of people to invite on The Changelog for a long time, but I never got around to contacting him. Regretful. This is a touching tribute. I especially enjoyed this bit:
Nobody could avoid being affected by Joe’s good mood and boundless enthusiasm. He was highly appreciated as a speaker and panel member at many international conferences. Many programmers can testify to just how important Joe has been for them in developing their profession.
When Apple open sourced Swift, it was only a matter of time before the server-side frameworks started rolling out. Perhaps that time is now? Amazon’s entry is called Smoke, and InfoQ has the deets:
Amazon Smoke framework is a new open-source light-weight server-side framework written in Swift and aimed to build REST-like or RPC-like services. Its architecture stresses ease of use and favours a pure-functional programming style for request handlers.
Click through for some code snippets and to learn exactly how Smoke is built (hint: they’re using SwiftNIO)
.NET is getting ever-closer to running in the browser thanks to Blazor, an experimental web UI framework where you write C#/Razor and HTML and it compiles to WebAssembly.
Blazor started out as a personal project by Microsoft engineer, Steve Sanderson. But now it’s getting the “official” designation and has been moved to the aspnet org on GitHub.