Pixelmator Pro released
Pixelmator Pro is a powerful, easy-to-use image editor that brings professional tools and powerful AI features to everyone across Mac and iPad.
Pixelmator Pro is a powerful, easy-to-use image editor that brings professional tools and powerful AI features to everyone across Mac and iPad.
In this position, I know about a bunch of mines on all the remaining fronts, but I can't quite determine where they are. There are a few mines that might be in one of two positions (red or blue), a cluster of mines that might be in one of two arrangements (green), and a more complex situation in the top left which I…
On January 30, 2017 the combination of IDPF and W3C was completed (see W3C press release ), and IDPF has ceased operations as a membership organization. This website is now an archive. For current information about EPUB and more visit https://www.w3.org/publishing/ .
In the movie Avatar , there’s this big badass bird-brained pterodactyl thing called a Toruk that the main character must learn to ride in order to regain the trust of the blue people. As a general rule, Toruks do not like to be ridden, but if you fight one, subdue it, and then link your Blue Man ponytail to the…
Solving systems of linear equations is a staple food of linear algebra. It can be applied as a part of many machine learning tasks, although it is not always...
Introduction Back in 2014, while at Project Zero, I exploited a buffer overflow of a single NUL byte in glibc . Tavis Ormandy had found th...
Following the disclosure of the BlueBorne attack vector this past September, Armis discovered that critical Bluetooth vulnerabilities impact the Amazon Echo and Google Home.
Linux uses an LPC-trie for looking up routes. It provides good performance with low memory use even with millions of routes.
How to work with multiple processes in Elixir
This post is by Guy Shrubsole. Updated 16th Dec 2017 with post-script on Birmingham’s secret tunnels. The existence of a secret network of Cold War-era tunnels beneath central London can be …
This post is about an obscure corner of TCP network programming, a corner where almost everybody doesn’t quite get what is going on. I used to think I understood it, but found out last week that I didn’t.
In the world of physics, there are many different models that can be used, though typically each of them has different applicability to different contexts. At the small scale, quantum physics is a very useful model, Newtonian physics will yield evidently incorrect predictions so is less valuable. Where a Newtonian…
Last year I found a design error in the MD5 version of the hashing method used by Mastercard Internet Gateway Service. The flaw allows modification of transaction amount. They have awarded me with a bounty for reporting it. This year, they have switched to HMAC-SHA256, but this one also has a flaw
This is the first post in a series about JIT compilers. The plan is to take a simple input language and develop some interpreters and JITs for it, in roughtly increasing degree of complexity. It's my hope that by the end of the series readers will have a good understanding of what it takes to develop a JIT compiler…
Programming is all about managing complexity. Without good tools to manage it, the complexity of programs becomes mentally intractable for our limited brains and we’d lose control and understanding of our programs (imagine writing a big software system entirely in assembly language).
Apple reported its fourth quarter financial results for the fiscal year after the market close on Thursday, November 2, 2017.
Wherein I felt the urge to respond to a recent WIRED article that hits close to home.
Global mutable state is one of the biggest drivers of complexity in software systems. We tackle a definition and how to reduce our reliance on it.
In this installment in my continuing series about the tricky parts of embedded systems , I discuss some important areas that are often overlooked or undervalued.
What follows is my personal perspective on an interesting dispute. Obviously, it is only my opinion of the situation and there are two sides to every story. I invite the other side to respond if they wish in the comments. I also made the decision to keep the other side anonymous after I first wrote
TOKYO – Automotive Linux Summit – May 31, 2017 – Automotive Grade Linux (AGL), a collaborative cross-industry effort developing an open platform for the connected car, today announced that Toyota has adopted the AGL platform for Toyota’s next-generation infotainment system. The 2018 Toyota Camry will be the first…