JavaScript immutability-helper – Mutate a copy of data without changing the original source

Dealing with immutable data in JavaScript is more difficult than in languages designed for it, like Clojure. However, we’ve provided a simple immutability helper, update(), that makes dealing with this type of data much easier, without fundamentally changing how your data is represented. Say you have an object like so: const user = { id: …

Efficiently render large lists and tabular data with react-virtualized

Just like Infinity.js, but then for React. The list is windowed (or “virtualized”) meaning that only the visible rows are rendered. Less DOM nodes = better performance 🙂 Also works with rows that have different heights, something not quite common for this kind of thing. react-virtualized →

Rome’s Invisible City

Sometime last week “Rome’s Invisible City” aired on the telly here in Belgium. With the help of a team of experts and the latest in 3D scanning technology, Alexander Armstrong, along with Dr Michael Scott, explores the hidden underground treasures that made Rome the powerhouse of the ancient world. In his favourite city, he uncovers …

PanelKit, a UI framework enabling floating and pinned panels on iOS

Great stuff by Louis D’hauwe, a former student of mine: PanelKit is a UI framework that enables panels on iOS. A panel can be presented in the following ways: Modally As a popover Floating (drag the panel around) Pinned (either left or right) This framework does all the heavy lifting for dragging panels, pinning them …

Reflecting On One Very, Very Strange Year At Uber

Susan J. Fowler, whom left Uber after about a year of employment there: I joined Uber as a site reliability engineer (SRE) back in November 2015, and it was a great time to join as an engineer […] After the first couple of weeks of training, I chose to join the team that worked on …

Use box-decoration-break: clone; to consistently style fragments of wrapped elements

The box-decoration-break CSS property specifies how the background, padding, border, border-image, box-shadow, margin and clip of an element is applied when the box for the element is fragmented. Fragmentation occurs when an inline box wraps onto multiple lines, or when a block spans more than one column inside a column layout container, or spans a …

Jasonette – Build cross-platform mobile apps using JSON

Just like how web browsers turn HTML into a web page, Jasonette turns JSON into iOS native components. This lets you build native apps by writing a simple JSON. Here’s a small snippet/example: { “$jason”: { “head”: { “title”: “{ ˃̵̑ᴥ˂̵̑}”, “offline”: “true”, “actions”: { “$foreground”: { “type”: “$reload” }, “$pull”: { “type”: “$reload” } …

Behind the Magic: Creating Jedha and Scarif for Rogue One: A Star Wars Story

A taste of the Oscar Nominated Visual Effects work behind the destruction of Jedha and the battle on the beaches of Scarif in Rogue One: A Star Wars Story. Hope to see a longer cut of this in the future, as it’s rather short. Spectacular nonetheless. UPDATE 2017.03.02 The BBC has a bit more backstory …

Understanding the Critical Rendering Path

When a browser receives the HTML response for a page from the server, there are a lot of steps to be taken before pixels are drawn on the screen. This sequence the browsers needs to run through for the initial paint of the page is called the “Critical Rendering Path”. Good and short writeup on …

Typora – a minimal markdown reading & writing app

Typora will give you a seamless experience as both a reader and a writer. It removes the preview window, mode switcher, syntax symbols of markdown source code, and all other unnecessary distractions. Replace them with a real live preview feature to help you concentrate the content itself. Looks great! Not sure if it’s still actively …