Implementing and Understanding Type Classes (2014)
Describing three strategies of implementing type classes, aiming to clarify their behavior
Describing three strategies of implementing type classes, aiming to clarify their behavior
How to solve linear systems that have many solutions, or those that have no solutions at all? That's the theme for a thick math textbook, of course, but from...
It's been five great years, but now it is time for me to move on and try something else. During these five years I've met and interacted with a large number of awesome people at Mozilla, lots of new friends! I got the chance to work from home and yet work with a global team … Continue reading I’m leaving Mozilla →
Car people often look at Tesla the way Nokia looked at the iPhone. “Nice ideas, but we can easily do all of that, and they don’t understand our industry.” Nokia was wrong - but will the car industry look the same? Maybe not.
In Praise of APL: A Language for Lyrical Programming Professor Alan J. Perlis Yale University
Google Maps gets a two-wheeler makeover. Discover how researchers rode motorbikes in India & Indonesia to design a better user experience.
Jupyter presents a unique programming style where the programmer can change her code while it's running, reducing the cost of mistakes and improving the interactivity of the programming process. I discuss the benefits and limitations of this approach along with the related work.
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
Apple introduced the “Hey Siri” feature with the iPhone 6 (iOS 8). This feature allows users to invoke Siri without having to press the home…
One of the big myths in Silicon Valley is that co-founders should be equal. However, if you look at the most successful tech startups of the last 50 years, almost all of them had a dominant co-founder for most of the life of the company. This includes[1]:
Data sent over the Internet will traverse a large number of smaller links. The combination of these links forms a path from the sender to the receiver. Sometimes data is lost when it traverses this path. For video and audio streams such losses can lead to playback glitches if not corrected.
This is the 6th post in the Learning Clojure focus series. In general, one learns by comparing to what one already knows: I’m learning Clojure in that way. Coming from a Java background, I naturally want to use streaming features. So, what would be the Clojure counterparts of Java’s functions filter(), map(), etc.?
I’ve sent a message to my family and delegated my open source projects to my friends. With my last tweet sent, I turn off my laptop, phone, and tablet. My Digital Sabbath begins in 10 minutes: no digital devices for the next month.
Like many others, we have been following the latest developments in Australia related to the “Assistance and Access” bill with a growing sense of frustration. The widespread adoption of strong cryptography and end-to-end encryption has given people around the world the ability to protect their pe...
In this tutorial, you are going to learn the basics of Vue.js. While we learn, we are going to build a Todo app that will help us to put in practice what we learn.
Resurrecting an old tradition of this blog, let’s take a simple problem, go over a way too long list of alternative solutions, and evaluate their merits. Our simple problem is this: we want t…
Map any 3D point on or above a triangle-subdivided sphere to a triangle index in constant time, without recursion, table lookups or complicated branching logic.
WHAT THE RESEARCH IS: Zero-shot learning (ZSL) is a process by which a machine learns to recognize objects it has never seen before. Researchers at Facebook have developed a new, more accurate ZSL …
A hallmark of startup companies, the tech sector more broadly, and certainly our portfolio companies, is that they include equity in their compensation packages for their employees, often all employees. If you work for a tech company, chances are good that you will get options as part of your compensation package. I…
When Apple introduced the App Store on July 10, 2008 with 500 apps, it ignited a cultural, social and economic phenomenon.
Find out about sick building syndrome (SBS), including symptoms, things you can do to ease symptoms and possible causes.
Online communities are in a precarious and unhealthy state right now. We can do better.