Raw thoughts from Alex Dong

CAP FAQ, Affordance of Line and Color, Anarchism and China’s Drone Program

The CAP FAQ: CAP is one of those fundamental concept I hope more engineers understand, no matter which kind of database technology you use. MySQL, MongoDB, Cassandra, Riak. They are all trying to accomplish at most two of the three properties as defined by CAP. I can’t imagine a civilized and in-depth discussion on database technology without knowing the other party has a solid grasp of the CAP theory.

Frequency Trails: What’s fascinating about this is the comparison with heatmap and the affordance of color and line in data visualization tasks. Frequency trails are […] developed to study the finer details of hundreds of measured latency distributions from production servers, and in particular, to study latency outliers. … Frequency trails use height to show the frequency of data rather than color, and provide higher resolution for outliers. Subtle details can be more easily seen by small variations in height, rather than small variations in color saturation.

The Kind of Anarchism I Believe in, and What’s Wrong with Libertarians: I like and respect Chomsky but I am suspicious of anything that can be summarized into a word ends with an -ism. anarchism […] is a tendency that is suspicious and skeptical of domination, authority, and hierarchy. It seeks structures of hierarchy and domination in human life over the whole range, extending from, say, patriarchal families to, say, imperial systems, and it asks whether those systems are justified. It assumes that the burden of proof for anyone in a position of power and authority lies on them. Their authority is not self-justifying. They have to give a reason for it, a justification. And if they can’t justify that authority and power and control, which is the usual case, then the authority ought to be dismantled and replaced by something more free and just. … Well what’s called libertarian in the United States, which is a special U. S. phenomenon, it doesn’t really exist anywhere else — a little bit in England — permits a very high level of authority and domination but in the hands of private power: so private power should be unleashed to do whatever it likes.

China To Peddle Discount Drones to Developing World?: Same way Facebook figures out privacy settings and NSA polishes its powerpoint slides. Cashed-up aviation enthusiasts in the US and Europe are struggling to get their hands on UAVs – unmanned aerial vehicles (drones), because governments are still trying to work out how to regulate their purchase and use. But in China, there are no rules

Python on LLVM, Sequencing Tuatara Genome, the Pragmatic Web and Cost of a Computer on Your Face

Numba vs. Cython: Take 2: The author compares different python implementations for N dimension pairwise distance. Numba stands out brilliantly: a single function decorator results in a 1300x speedup of simple Python code. I’m becoming more and more convinced that Numba is the future of fast scientific computing in Python. Two things makes it so fast: 1) no dynamic type checking; 2) a new autojit that leverages the llvm; (Via: Nick Philips)

Why sequence the tuatara genome?: New Zealand scientists are starting to sequencing tuarara genome. Here is why it’s so important: Modern birds descend from one branch in the diverse group we call dinosaurs, but each of those ten thousand species are dinosaurs. The tuatara, on the other hand, are the only living members of a lineage that separated from other reptiles more than 200 million years ago. (If you can’t see the graph, it’s here)

Paul Irish on Chrome Moving to Blink: The part I really like: Let me take a moment to provide my own perspective on Dart. :) Now, as you know, I’m a JavaScript guy, so early on, I took a side and and considered Dart an enemy. JavaScript should win; Dart is bad! But then I came to realize the Dart guys aren’t just setting out to improve the authoring and scalability of web application development. They also really want the web to win. Now I’ve recently spoke about how The Mobile Web Is In Trouble, and clarified that my priorities are seeing it provide a fantastic user experience to everyone. For me, seeing the mobile web be successful trumps language wars and certainly quibbling over syntax. So I’m happy to see developers embrace the authoring advantages of Coffeescript, the smart subset of JavaScript strict mode, the legendary Emscripten & asm.js combo, the compiler feedback of TypeScript and the performance ambitions of Dart. It’s worth trying out technologies that can leapfrog the current expectations of the user experience that we can deliver. Our web is worth it.

To justify having a computer on your face for everyone to see would have to deliver spectacular results.: if Google Glass would let you see 10x better than 20:20 vision then it might be a compelling proposition. The problem Google Glass has is that it simply isn’t much better than a smart phone, and it comes as a huge price – having something on your face.

The Feudal Cloud, Einstein’s Secret of Learning Anything, Random Forest in Python and Dirt Cheap to Save All US Phone Calls

Schneier on Security: The relationship between us and the “cloud service providers” * is inherently a feudal relationship. We cede control of our data and computing platforms to these companies and trust that they will treat us well and protect us from harm. … In the longer term, we all need to work to reduce the power imbalance. Medieval feudalism evolved into a more balanced relationship in which lords had responsibilities as well as rights. Today’s Internet feudalism is both ad hoc and one-sided. We have no choice but to trust the lords, but we receive very few assurances in return.*

The Secret to Learning Anything: Albert Einstein’s Advice to His Son: I am very pleased that you find joy with the piano. This and carpentry are in my opinion for your age the best pursuits, better even than school. Because those are things which fit a young person such as you very well. Mainly play the things on the piano which please you, even if the teacher does not assign those. That is the way to learn the most, that when you are doing something with such enjoyment that you don’t notice that the time passes. I am sometimes so wrapped up in my work that I forget about the noon meal… .

Random Forests in Python: random forest is an aggregation of other models. The algorithm to induce a random forest will create a bunch of random decision trees automatically. Since the trees are generated at random, most won’t be all that meaningful to learning your classification/regression problem (maybe 99.9% of trees). Simply, the 99.9% of trees that are irrelevant make predictions that are all over the map and cancel each another out. The predictions of the minority of trees that are good top that noise and yield a good prediction.

What would it cost to store all of America’s phone calls?: Intuitively we all know that storage is cheap but this one still surprised me. Considering Facebook’s 57B market cap, no wonder why privacy is so cheap. $27M in capital cost, and $2M in electricity and take less than 5,000 square feet of space to store and process all US phone calls made in a year. The NSA seems to be spending $1.7 billion on a 100k square foot datacenter that could easily handle this and much much more.

Is iOS 7 the Victim of Narrow Design Mentality? Design for Design’s Sake?

Like I said, I feel let down by the iOS 7 design. It is not that Apple won’t be able to get the contrasts right or they can’t nail the design details. It is not that this does not open up a whole new trend of design that focuses on content, which I agree is a good thing. It is about what is Apple.

Designed by Apple is fine. I love Apple’s product because they are beautiful and such a joy to use. But down in my heart, I see Apple as a technology company, not a design company. Macintosh made it possible for normal people to run VisiCalc at home. iPhone offered GPS and high-def camera which enabled a whole range of innovations/industries. These are the things I am looking for on a technology platform provider.

The following comment from HackerNews summarized my thoughts perfectly.

Yay change for change’s sake.

This is exactly the wrong attitude in my opinion. How does it help users to all of a sudden have most apps feel ancient? Is it really something to be proud of? That for the next year we’ll be working on replacing existing utilities so that they feel “right” and “fresh” instead of doing what we should be doing: thinking of actual new software that is worthwhile to write.

I’ve been saying this for a while but I think what is happening, and what many developers haven’t noticed yet, is that we have exhausted the utility of software for software’s sake. The interesting stuff happening in mobile now has nothing to do with “design” in the traditional sense any more. Its not enough to just have a coder and a designer on the team. The really cool stuff is all about what your phone actually allows you to do in the real world. Look at apps like uber, postmates, spotify, and twitch.tv. Most of these have terrible UI’s, but that’s not the point. The point is that they allow you to do things. I can have a car on my doorstep! I can listen to almost any song I want. They’re not just another calculator app or news reader, so who cares if its not the prettiest or easiest thing to use in the world. They are an interface to actually useful services. Software was interesting on its own a decade ago, but the industry has grown up, its time to do things now. That doesn’t mean that “UI and UX” don’t matter, it just means their definition changes and grows beyond just how you tap things on glass and what pixels you choose to animate.

The reason that iOS 7 seems comforting in the way its described in this article is because it gives developers who haven’t realized this something to do again. Marco is absolutely right, for a long time it has felt like all the major categories have been covered on the app store. That’s a good thing! It means we’ve solved lots of problems. We shouldn’t daydream of a day when those problems get artificially unsolved so we can have another shot at them. We should move on.

Ray Ozzie on NSA, PRISM and the Critical Junction for the Next Decade

Ray Ozzie on why NSA’s PRISM program makes now the critical moment for the internet industry for next 10 years. (Via: HackerNews)

Back to the present – it pains me to see such a lack of transparency in how our elected officials are running our government. Of course, the common man knows it’s common sense that there’s an inherent need for secrecy in conducting small scale covert operations. We do get it. However, it’s also common sense that it’s inevitable that any complex large-scale long-term operation will ultimately come to light. And so it’s just common sense that any such broad-based operations that might be perceived as impacting our constitutional rights should be the subject of broad public debate. No, not when they’re being prototyped or tested or used in small scale settings – but definitely somewhere on the path from “tactical use” to “broad strategic dependence”.

These are not small issues, nor need they be at all partisan. Wyden, Paul, and others are trying. Theses issues are fundamental to defining the relationship between us citizens and our government in the decades ahead. In particular, in this world where “SaaS” and “software eats everything” and “cloud computing” and “big data” are inevitable and already pervasive, it pains me to see how 3rd Party Doctrine may now already be being leveraged to effectively gut the intent of U.S. citizens’ Fourth Amendment rights. Don’t we need a common-sense refresh to the wording of our laws and potentially our constitution as it pertains to how we now rely upon 3rd parties? It makes zero sense in a “services age” where granting third parties limited rights to our private information is so basic and fundamental to how we think, work, conduct and enjoy life. For example, did you really intend to yield your 4th amendment rights when you granted a 3rd party access to your files as a part of Mac Software Update, Windows Update, Virus Scanners, etc., or when you started using a service-tethered smartphone?

Anyway, unlike ‘web tracking’ issues which seem to be broadly ignored because of our love for ad-supported services, I hope we all (especially the young readers of reddit, hackernews, etc) wake up to the fact that these privacy and transparency issues are REAL, and that they truly will impact you and the country you live in, and that even if you don’t consider yourself an activist you really should get informed and form an opinion. Again, this is a non-partisan issue, and let’s all work to ensure that it stays this way.

Two great organizations where you can learn are EPIC and EFF. (Disclosure: I am on the board of EPIC.) Take it in, and think. Your contributions are needed and would of course be quite welcome.

Weekend Reads and Videos on Deep Learning

Yesterday I posted the link on Google’s new photo search and how “deep learning” makes that possible. Here are some weekend reads on this topic. The two videos focusing on different aspect of this concept. The first one explains the concept and the implication. The second talk covers how to use a large distributed computing model to train the multiple layers.

What is Deep learning: Deep learning is set of algorithms in machine learning that attempt to learn layered models of inputs, commonly neural networks. The layers in such models correspond to distinct levels of concepts, where higher-level concepts are defined from lower-level ones, and the same lower-level concepts can help to define many higher-level concepts.

Deep learning – The Biggest Data Science Breakthrough of the Decade (60m video): This one talks more about the historical context and the Kaggle machine learning platform. Not particularly technically challenging but interesting enough since it provides lots of the applications of this technology. Machine learning and AI have appeared on the front page of the New York Times three times in recent memory: 1) When a computer beat the world’s #1 chess player 2) When Watson beat the world’s best Jeopardy players 3) When deep learning algorithms won a chemo-informatics Kaggle competition. We all know about the first two… but what’s that deep learning thing about?

Tera-scale deep learning – Quoc V. Le (60m video): Deep learning and unsupervised feature learning offer the potential to transform many domains such as vision, speech, and NLP. However, these methods have been fundamentally limited by our computational abilities, and typically applied to small-sized problems. In this talk, I describe the key ideas that enabled scaling deep learning algorithms to train a very large model on a cluster of 16,000 CPU cores (2000 machines). This network has 1.15 billion parameters, which is more than 100x larger than the next largest network reported in the literature. (via: data science 101)

Google Photo Search Break-through, Linkin’s MonitorRank, Apple’s Picasso-style Design and On-demand Music Touring

Improving Photo Search: A Step Across the Semantic Gap: To be able to search for a photo without up-front labeling has been a dream until recently Google reported a doubled average precision. Two things make this break-through possible. First, the ability (pdf) to training a deep network with billions of parameters using tens of thousands of CPU cores. Second, the training now uses Freebase entities to form the basis of knowledge graph.

Root Cause Detection in a Service-Oriented Architecture [pdf] Like Etsy’s Loupe/Kale. An anomalous change in a metric of one service can propagate to other services during this communication, resulting in overall degradation of the request. … A modern website is usually composed of hundreds of services running on thousands of machines in multiple data centers. This paper introduces MonitorRank, an algorithm that can reduce the time, domain knowledge, and human effort required to find the root causes of anomalies in such service-oriented architectures. In the event of an anomaly, MonitorRank provides a ranked order list of possible root causes for monitoring teams to investigate. MonitorRank uses the historical and current time-series metrics of each sensor as its input, along with the call graph generated between sensors to build an unsupervised model for ranking.

The Enduring Appeal of Macintosh Picasso Artwork: I am happily surprised to see that even as early as 1984, Steve Jobs has already got a strong, long lasting and consistent brand image nailed. This is used all the way into mid 1990s. The famous Macintosh Picasso logo was developed for the introduction of the original 128k Mac back in 1984. A minimalist line drawing in the style of Pablo Picasso, this whimsical graphic implied the whole of a computer in a few simple strokes. It was an icon of what was inside the box, and became as famous as the computer it represented. It’s been beloved ever since, and the graphic style has endured across decades.

On-demand touring: Fans still crave going to shows, yet increased digital access has led to slumps in live concert attendance. many complain that the process of acquiring tickets is increasingly frustrating. Services like Detour … Services like Detour have determined that fans are more than willing to leave the house for a live-music experience, if someone will simply organise that experience well.

Classic Music Publishing, Slow Feed, iOS 7’s Content Focus and a Language Called ATS.

The future of classical music: Where is classical music publishing headed now that the great works are available for free online? Two types of companies get to survive when the scores are free. Produce beautifully printed scholarly editions. Or do research to discover scores that weren’t available.

The importance of serial media vs. sampled and Google Reader: Serial media has lower publishing frequency but higher quality. Sampled media is a fast flowing river one only dip into from time to time. RSS still plays an important role in the age of twitter and Facebook. You don’t want to miss an item just because you didn’t happen to do a reading session shortly after it was posted. These fare terribly in places like Twitter. The first comment worths a read too. (via: Rodney)

Been there, done that: A positive view on the new iOS 7 design. with major user interface changes such as Aqua or iOS 7, Apple has another tendency: they overshoot the mark. Also In the design of Twitterrific 5, we went through the process of figuring out what content was most important and then designing controls around that information. Previous designs focused on the control structure first and then filled it with content. It’s clear that Apple’s designers have done the same thing: their focus has shifted towards content. (via: rmi)

Replacing Python: Candidates: Evaluating ATS, C#, Go, Haskell, OCaml and Rust by rewriting a simple python app. I found the safety and diagnostics evaluation result quite surprising. (via: Manu)

iOS 7 New Design: Feels 1.0 and That Might Be Ok.

(If you are looking for polarized rants as a confirmation bias, this is not for you.)

I love Apple. Before Apple, design was a luxury item that quite often was left to the last stage of product development. After Apple, it has become a top priority. As an engineer with 15 years training in calligraphy, I feel grateful that Apple has lifted the public’s taste for good design. I don’t think I am an Apple fanboy. I am just someone who gets a bit too easily annoyed by bad designs.

Having said that, I have to say I am a bit let down by the new iOS 71. Yes, it is a totally new direction for iOS. Apple needs a few iterations to consolidate and refine the design language. Yes, each product needs time to catch up with the new direction. And yes, it takes efforts and compromises to provide a smooth migration path between the old and the new. There are many reasons I can use to justify why Apple released these products at the current stage. However deep in my heart I worry that I might lose yet another company I love and respect 2.

To get started, there are some very well designed apps. Like Clock, Weather3 and Compass. These designs have nothing loose or left unsettled. Whitespace ample and balanced. Functions laid out clearly. No surprise. No guess work. Everything is where they should be.

Well designed apps

Do keep in mind though that there are little design-tech-feature tensions here though. The feature sets of these apps are well defined so it’s mainly a design exercise. So these are the easy ones.

Once we get over simple ones, I start to see inconsistent metaphors. For example, here are 3 apps all offering the ability to select media from a library. I am particularly perplexed by the newsstand app. On one hand, its “store” sits on the bottom “frosted glass” toolbar, which is kind of new metaphor. On the other hand, it seems to carry with it the old skeuomorphism of a physical magazine stand.

Newsstand's new design

Here is another example. There are 2 ways to select from a range of screens. The left is the new “look-down” view on a list of open tabs in Safari. Flip up-and-down to navigation, click the small x on top right corner to delete. The right one is the new screen manager. Flip left-to-right to navigate, swipe to the top to close one. I’m not sure why Apple releases two totally new yet visually so different ways for the same task.

Tab selection metaphor

Besides the inconsistent metaphors, I have to admit that I feel the new “simplified” interface maybe have gone a bit too far in some apps.

The logos feel a bit “too simple”. They feel like the Apple logo without the bite. The naughtiness has disappeared. Checkout the logos on the right of the “Contact detail” page and the ones in Safari browser’s toolbar. I am sure we’ll have no problem finding and using those buttons to perform the tasks but somehow I am left to want a bit more. I want “that bite”. I want some personality. Something beyond a sleek and minimal design.

Newsstand's new design

The two answer incoming call interfaces below left wondering whether the “slide to answer” new design is a bit too clever. One the left, the green square is clearly a button. Click to answer. On the right though, the same green square requires a “slide”. It looks like a light will slide across the surface to indicate an affordance to “slide”, but maybe it is a bit too subtle?

Slide to answer

I genuinely hope that all these shortcomings are either deliberate design compromises4 or Apple is well on its path to fix them, as in all 1.0 products. The next year or two will be crucial. The best case scenario is the company lifts itself to a new solid ground for another 5-10 years solid growth. The worst case is that the company fails to consolidate and the gaps get wider and scarier. We’ll have to wait and see.


  1. Now since I’m looking at these logos out of their designed context, I might feel different when I use the physical device. There are just too many steps we can project our own thoughts into screenshots.

  2. Microsoft and Google are the two companies I used to like and respect. Microsoft has being enjoying a quiet long death whereas Google has become a destroyer of ecosystems.

  3. There are some words being said about the contrast of the app. I’ll have to wait to see the screen on a real device to give my own judgement here.

  4. At the end of the day, Jonny is the one who has done so many amazing designs. Based on pure probability, I have a higher chance to be proven wrong.

Standing Ovation Model and Its Application on User Acquisition

The Standing Ovation Problem is a social science model that is extremely simple yet “provides a rich domain to explore the world”. Here is how a SOP is defined:

A brilliant economics lecture ends and the audience begins to applaud. The applause builds and tentatively, a few audience members may or may not decide to stand. Does a standing ovation ensue or does the enthusiasm fizzle?

You can watch Scott explains the theory in this 18-minutes video but here is the gist of the theory. The following 6 factors have a strong impact on whether a standing ovation happens or not.

  1. Higher quality
  2. Lower Threshold: how easy the audiences are to be satisfied.
  3. Larger Peer Effects: how likely the audiences are influenced by each other.
  4. More variation
  5. Use celebrities
  6. Big groups.

The first three are self explainable and in most cases out of our control. What’s more fascinating are 4-6. Let’s dive into each one a bit more.

First, more variation. Let’s say there are two groups. Each group has 6 people. Here is the number of other people who has to stand up before one stand up: (1, 1, 1, 2, 2, 2). This basically says that for three people in the group, if they see one person stand up, they will stand up. The other three needs two people. Say we have a second group like this (0, 1, 2, 3, 4, 5). 0 means the person will stand up no matter how others behave and 5 means that dude is really reluctant to change his body position unless almost everyone is doing it. Which one of these two groups will be more likely to pull a standing ovation? Yes, the second one even though it has a difficulty score of 2.5 whereas the first group has only 1.5.

The difference? The second group has a more varied group so that a cascading effect can happen; also it has the 0 movement guy. Without any of these two factors, getting the second group to all stand up would be hard.

Second, use celebrities. The model uses celebrities to describe the people sitting at the front rows. They are not necessarily celebrities per se but they share the same traits which is they can’t see other people’s behavior yet everyone else can see theirs. This gives them the power as ‘magnifiers’. 1

Third, big groups. If people come in groups, let’s say the wife stands up, there is a pretty high chance that the husband would get his bum up. If we have an audience like this one: {1: 0%, 2: 30%, 3: 30%, 4: 20%, 5: 10%, 6: 10%}, which is a group that’s hard to please. Having a couple to stand up would be sufficient to tip the whole audience over even if no one would stand up without two other people do it before them.

To apply this theory to user acquisition is a fun exercise. If we have a software product that makes it really easy for people to have a link blog2, basically to share interesting links in the form of a blog like DaringFireball, here is a list of things that could be done to help getting new user sign ups:

  • Besides getting onto the radar of big social news sites, finding many topic niches where people tie closely together would be important too. Say targeting niches where there is at least a forum for people to hang out.
  • Groups with larger peer effects would be the natural candidates. These are the groups where people pays lots of attention to each other and eager to jump onto the new bandwagon.
  • For each group, find out who are the celebrities and get them to use the service first. Then we can go after the other group members by leveraging the first batch of ‘celebrities’

  1. The people sit in the last role is defined as academics, which I find quite funny. The nature of the academics is that they can see everyone yet no one can see them. Which means that they have the perfect information yet zero influence.

  2. Aldo Cortesi and I are building one such a service at the moment. If you are interested to have one when we launch it, please follow us on twitter as @alexdong and @cortesi.