Inline PGP signatures considered harmful
People often suggest that inline PGP signatures in e-mail are somehow more compatible or more acceptable than using PGP/MIME . This is a mistake. Inline PGP signatures are prone to several failure modes, up to and including undetectable message tampering.
Let’s Make a Bubble Map
My previous Let’s Make a Map tutorial describes how to make a basic map with D3 and TopoJSON ; now it’s time to cover thematic mapping in the form of a proportional symbol map. The simplest symbol is a circle, or bubble , whose area is proportional to the associated data. In this tutorial, we’ll make a bubble map of…
A Gentle Introduction to Data Compression
Joe Bertolami's portfolio and blog covering artificial intelligence, game development, computer graphics, data compression, and more.
Formal Methods in Building Robust Distributed Systems
We all know that when designing and operating applications at scale, it is persistent state management that brings the most difficult challenges. Delivering state-free applications has always been (fairly) easy. But most interesting commercial and consumer applications need to manage persistent state. Advertising…
1971 Social Engineering Attack
From Betty Medsger’s book on the 1971 FBI burglary (page 22): As burglars, they used some unusual techniques, ones Davidon enjoyed recalling years later, such as what some of them did in 1970 at a draft board office in Delaware. During their casing, they had noticed that the interior door that opened to the draft…
Anthropology of Mid-Sized Startups
In their natural habitats, social species organize into characteristic groups. Gazelles form herds, wolves form packs, and ants form colonies. Humans, in the…
"If you're over 30, you're a slow old man" – Zuckerberg. He turns 30 tomorrow.
Came across this article: on SFGate the other day, relating the difficulties of older workers finding employment in Silicon Valley. 40 is the new 60 down there. I would usually file this under &#…
How Google missed the boat
Their biggest mistake was their attitude about the rest of us.
Don't Learn to Code, Learn to Program – But Come Back in 10 Years
I want to discuss why programming and coding are not the same, and why I can no longer support the Learn to Code movement. I can no longer tell my friends to learn coding. Although I’m passionate about it, it’s too arcane and insular for mainstream practice.
The Future of Space Launch Is Near
Until recently, the future of space launch looked pretty much like its past. For over 50 years, humanity has blasted thousands of spacecraft and satellites into space. Every launch vehicle that carried them aloft has ended up littering the planet with the broken, twisted remains of expended rocket stages. The scenario…
JavaScript Promises in Wicked Detail
GOPAY303 adalah platform game digital yang menyediakan strategi pola RTP paling ajaib saat ini. Menyajikan analisis akurat, navigasi kencang, dan aksesibilitas ramah mobile 24 jam.
Stranger in a Strange Land: “Big Data” programmer meets HPC community
I attended the SIAM PP 2014 conference this week, because I'm developing an interest in MPI-style parallel algorithms (also, it was close b...
The Eighth Meditation on Superweapons and Bingo
Your life is the best story! Just start your blog today!
Customer churn can kill your startup
<p class="p1"><a href="http://www.paulgraham.com/growth.html">Startups are about growth</a>, and of all the different possible metrics, s...
An FPGA sprite graphics accelerator
A very warm welcome to my most ambitious project to date. In this project I’m going to attempt to design and build a sprite-based graphics accelerator that will function as a co-processor to an MCU. Using cheap off-the-shelf components I’m hoping to achieve a level of gaming performance that compares well to popular…
Clojure 2013 Year in Review
This is my third Clojure year-in-review post. In 2011 I was excited about Clojure 1.3, ClojureScript, and the second Clojure/conj. By 2012 I was blown away by four Clojure conferences, two O’Reilly books, reducers, Datomic, Immutant, and a partridge in a pear tree.
The JSMESS Sound Emergency
UPDATE: I’m happy to say a developer has come forward and we’re out of the woods on sound. It’s not perfect, but the web audio API isn’t perfect and we’re much better …
The Colors of Chemistry
This notebook documents my exploration of color theory and its applications to photochemistry. It also shows off the functionality of several Julia packages: Color.jl for color theory and colorimetry, SIUnits.jl for unitful computations, and Gadfly.jl for graph plotting.
Rust for C++ programmers – Part 8: destructuring
First an update on progress. You probably noticed this post took quite a while to come out. Fear not, I have not given up (yet). I have bee...
Mixins, Forwarding, and Delegation in JavaScript
This essay discusses how to separate JavaScript domain properties from object behaviour, without prototypes . This is deliberate. By examining four basic ways to have one object define the behaviour of other objects, we gain insight into what we’re trying to accomplish at a very basic level.
OCaml on iOS 7 Released
Pansophical reader, with your bafflingly good mobile OCaml project, I’m ready at last to release an OCaml compiler for iOS 7. It works for all my projects, and I hope it works for yours.
Gox.com Domain Name Acquired by Mt. Gox Parent Company
It appears that Tibanne Co. Ltd. the company that operates the Mt. Gox bitcoin exchange has acquired the Gox.com domain name from Andy Booth.
Principles of good data analysis
Good, thorough data analysis is difficult. Throughout my work, I've found it useful to follow these principles in order to ensure quality and consistency.