Google Chrome, Firefox Address Bar Spoofing Vulnerability

Turns out one single right-to-left character in a URL can make the omnibox (Address Bar) freak out, and render it wrongly: Placing neutral characters such as “/”, “ا” in filepath causes the URL to be flipped and displayed from Right To Left. In order for the URL to be spoofed the URL must begin with …

Getting Stories from the Instagram API

Alec Garcia: It took Instagram 2 years to build their first web app, and then another 3 years to implement web search. It will probably be a while, if at all, before Instagram brings Stories to the web, so I thought I’d do it myself. The result is Chrome IG Story: Chrome IG Story is …

Cordova WKWebView Plugin

Great work by the Ionic folks: One of our awesome engineers has been working hard to bring WKWebView to Ionic apps and is working to bring the new plugin into Cordova! The new plugin will work with both Ionic V1 and Ionic V2 apps. In fact, it should work with any iOS Cordova build! That …

Monitoring changes in a web application

Eric Bidelman has bundled lots of code snippets around change events that can get triggered in the browser: Changes range from simple things like DOM mutations and catching client-side errors to more complex notifications like knowing when the user’s battery is about to run out. The thing that remains constant are the ways to deal …

React Binding Patterns: 5 Approaches for Handling this

Cory House: There are at least five ways to handle the this context in React. Let’s consider the merits of each approach. Use React.createClass Bind in Render Use Arrow Function in Render Bind in Constructor Use Arrow Function in Class Property Currently I’m mostly using Approach 4 (“Bind in Constructor”), but Approach 5 (“Arrow Function …

Context aware MySQL pools via HAProxy

At GitHub they use MySQL as their main datastore. The setup is a typical “single-writer-multiple-readers” design. They loadbalance between server pools using HAProxy, with some cleverness built in: Instead [of checking whether a MySQL server is live with mysql-check], we make our HAProxy pools context aware. We let the backend MySQL hosts make an informed …

30K Page Views for $0.21: A Serverless Story

Pete built the Fantasy Movie League Lineup Calculator. In July it got about 30K pageviews, resulting in a $0.21 bill from Amazon AWS: The Lineup Calculator is comprised of a set of AWS Lambda functions. Boiling what I’ve done down to its essentials, I’m using Lambda as a free batch server where I’m well below …