Apple introduced a new feature to developers in iOS 12 that allows users to report unwanted calls (and text) as spam. Developers will now be able to monitor incoming calls and build anti spam platforms for iOS. Users will be able to swipe left on items they would like to report and mark them as spam. Read Chance Miller’s write up for more information.
That box It's really good, and we think you'll dig our stories.
(we share code, not email addresses)
James Chambers has spent a year reverse engineering Animal Crossing for GameCube and shares what he learned and how he learned it (slides). The bulk of the post outlines how to turn on "zurumode", which can output a host of debugging information. By reverse engineering the ROM, he identified a heretofore-unknown cheat code that will enable this mode. He’s doing all of this work in an effort to enable modding the game. If you’re interested in ROM hacking or reverse engineering, this is highly valuable.
Ben Marx, José Valim and Bruce Tate released a new book called ‘Adopting Elixir’, which is all about the Elixir adoption life-cycle. Read the intro for free, or just buy it because is José Valim awesome. If you need to be convinced to adopt Elixir in the first place, read Cees de Groot’s post on Elixir at PagerDuty, detailing how they decided to adopt Elixir for things they previously used Scala for.
GnuPG, Enigmail, GPGTools and potentially other applications using GnuPG can be attacked with in-band signaling. Marcus Brinkman writes a post detailing a new vulnerability he discovered, CVE-2018-12020, which enables remote attackers to spoof arbitrary signatures via GPG. He outlines quite a few potential attack methods - one of which uses ANSI terminal escape sequences to produce a message that is visibly virtually identical to a true signed message.
7Mind announces KaufmannEx - Elixir Microservices with Kafka and Avro. It’s "a library for building highly parallel, efficient, Kafka backed services in Elixir." 7Mind built the library as they were migrating from a Rails-based monolith to Elixir-powered microservices, and they use Apache Avro to define message schemas. In the article, they describe the library as well as provide an example if you want to use it.
Tagged with: Elixir Kafka
Just recently I had a friend ask If I had used Google Photos before. My friend said it looked super neat. What makes it neat? Well, my friend didn’t know. However, Google Design happened to give us a couple hints in Antin Harasymiv’s recent post, ‘Building the Google Photos Web UI’. We typically don’t get too heavy into the UI scene, but this was too good to pass up. Find out why Google Photos looks great, and learn about scrubbable photos, justified layout, and 60fps scrolling.
Tagged with: UI Google Design
While not strictly a development story, the SEC announces cryptocurrency Ether is not a security. This decision will have a massive impact on the crypto development space, and US investment in the sector will probably go up. Sounds like a good time to pick up some blockchain development skills.
Digital Ocean’s report on dev trends in the cloud taught us three big things. 1) Developers want to grow in their jobs more than anything else. 2) 49% of devs are using containers 3) Serverless computing is not being used in production commonly even though you hear about it all the time. These were just some of the key findings, read the rest of the report if this kind of thing interest you.
Apple deprecated OpenGL in favor of their own bullshit (Metal 2) - Fewer supported open standards is just one of the features in macOS Mojave! Other features in Mojave include a dark mode (see a leaked image of Xcode), updated Mac App store, Create ML a native framework for doing machine learning, and an updated Network Framework -- maybe this means the networking stack got an update and will be less crappy. Let’s just hope that Network Framework 2 doesn't deprecate TCP.
Tagged with: Network Framework Create ML Mac App store Xcode Mojave OpenGL
Open Source re-creation of Dune II - This was the first RTS I ever played, and I loved it. Now it’s been re-created from scratch in C89. The code’s pretty readable at first glance.
We haven’t seen a good ‘hate on AMP’ article recently, until today. Thank you Jeremy Keith for reminding us how much AMP sucks in your piece AMPstinction. Jeremy argues that from the beginning AMP’s intentions weren’t clear. He argues that AMP would be better thought of as a temporary polyfill instead of the solitary viable framework. Don’t let an advertising company dictate how you communicate with your users, AMP needs to die in a fire.
Tagged with: AMP
If you like reading up on database internals, CrateDB wrote up how they made joins 23,000 times faster. It’s a deep-dive into implementing Block Hash Joins. In an earlier article they described the implementation of Hash Joins - this article goes into how they made it possible to perform joins when neither of the joined tables can fit into memory.
Tagged with: joined tables database
Introducing Cinoop, a gameboy emulator written from scratch in C. If you have time to build a gameboy emulator or time to read about one getting built, please feel free to give us a deeper dive into this story. In all seriousness, this is awesome. Check it out. It’s open source.
Tagged with: emulator
In Monads Made Simple, Mark Cohen provides an introduction monadic programming without getting into the weeds of what a Monad is, by working through a concrete use case. This is more valuable than any number of Monad <-> Burrito articles.
Tagged with: Monad
A Program Synthesizer will produce a program that satisfies a constraint. Building on seems complicated. Great news: With Rosette you can build a program synthesizer in 20 lines of code. Even greater news: James Bornhold will show you how. The synthesizer code is on Github as well.
Tagged with: Program Synthesizer
The "Good Luck With That" Public License is a license for when you want to release code but don’t want to suggest that the released code actually works. "The author has absolutely no clue what the code in this project does."
Is it possible to write non-trivial codebases in C without going mad? Andre Weissflog reflects on his experience with C and the 32k lines of code across 4 projects he has written. What he learned: 1. Pick the right language for a problem. 2. C + WebAssembly = 💖. 3. C99 > C89. Read the entire piece ‘One year of C’, to get a feel for the current state of C.
Tagged with: WebAssembly C