This web page contains a free electronic version of the (soon to be) self-published textbook Algorithms by Jeff Erickson, along with other lecture notes written for various theoretical computer science classes at the University of Illinois, Urbana-Champaign since 1998.
A great FREE resource to start the new year and strengthen your algorithmic knowledge!
Design systems are most often aimed at improving the bridge between the design and development of the product. They are useful, but hard to implement and get proper adoption. This article tells a real-life experience implementing a design system that eventually failed. If you are implementing a design system, this article might save you from making some common mistakes.
The story of a rewrite of a Python project in Rust. The rewrite took a fair bit longer than expected, but the results were good (about 9 times faster). If you are exploring Rust, coming from Python or other scripting languages, this is a great resource for you.
Minus zero behaves like zero, right? Not always... well not in V8, Chrome’s JavaScript engine. A bug caused incorrect typing during static analysis, producing incorrect optimizations in just-in-time compiled code. An interesting story of how this bug can be used for an OOB code execution.
In this blog post, we’ll look back at what’s been going on in the world of PostgreSQL in 2018, which is now ranked as the 4th most popular database in the World!
Offline-supported applications are a necessity, and including a service worker is a great start. However, service workers alone will only get someone part of the way to a truly seamless online-to-offline experience. Caching assets is great, but without an internet connection you still can't access new data or send any requests.
The "Background Sync" API can help us to build applications that will synchronize changes back to the server as soon as the connectivity is re-established.
Book of the week
Algorithms to live by
by Brian Christian and Tom Griffiths
A fascinating exploration of how computer algorithms can be applied to our everyday lives, helping to solve common decision-making problems and illuminate the workings of the human mindAll our lives are constrained by limited space and time, limits that give rise to a particular set of problems. What should we do, or leave undone, in a day or a lifetime? How much messiness should we accept? What balance of new activities and familiar favourites is the most fulfilling?