What online petitions are really good for

Published on February 08, 2018

“Clicktivism” and other internet-fueled activism have long been criticized as a way for people to feel that they’re taking a stand on important issues, when in reality they’re just poking ineffectively at their phone or computer. When I began working for a digital advocacy nonprofit in 2015, I certainly had my skepticism about the model. But as I worked in the space for over two years, I learned that though they can’t change the world alone, digital campaigning organizations fill a specific niche and fulfill their role very well.

As I see them now, digital campaigning organizations have three primary roles. First, is that they can summon a deluge of vocal criticism for brands, politicians, or other actors that are deeply invested in their public image, creating a sense of accountability. Second, they can bring national or international scale attention to small local battles. And third, they are some of the most effective fundraising nonprofits, enabling not only their activities, but those of other organizations too.

So what’s the deal with all the petitions?

It’s true that there are very few decision makers that care how many people “signed” an online petition — there’s too little accountability for the names and the number of signatories. But online petitions themselves still serve three important purposes, which is why they’re the bread and butter of digital organizing. First, once a petition has enough signatures, it allows campaigners to deliver the petition, creating a spectacle at the office of their target, and usually getting attention from local or even national media, and thereby putting the target’s name in the press in connection to the campaign.

Secondly, and most banally, petitions serve as a growth engine. Sign a petition and you’ll likely be asked next to share the petition on social media. Each friend who clicks through and signs the petition is now on the organization’s contact list, growing the digital campaigners’ reach. This model, emailing people who then sign and share petitions, prompting their friends to sign and thereby begin to receive emails, has been a massive growth model for many advocacy organizations.

Third, and most importantly, online petitions serve to aggregate email lists of people who care about specific issues. By signing a petition, you add yourself to a list of people that care at some level about a certain campaign, a list of people that are most likely to take the actions that can actually effect change — applying pressure and donating money.

Where the real power comes from

The greatest people power I’ve seen in digital organizing is when it comes to making a target feel the heat. Dozens of people calling in to the offices of a politician is effective when the callers are residents in the politician’s district, and dozens of people calling in to every extension at a small company can quickly turn their whole day into damage control.

More publically, large brands seem to become immediately apoplectic when their facebook page is overrun with hostile commenters demanding answers on their supply chain. It may seems bizarre that they would even care, until you realize the massive resources that these brands pour into social media management and brand curation. It takes a sustained and varied campaign, but I have been deeply impressed by the sense of outrage and scrutiny I have seen digital campaigners subject their targets to, simply by directing passionate people to call, email, tweet, write letters, and post on target’s facebook pages.

For example, in 2015 my organization was working with a coalition of partners to convince Starbucks to buy palm oil only from sustainable and ethical sources. The company was largely ignoring the campaign, but when over 18,000 people commented on Starbucks’ Facebook page, they caved and arranged a meeting with their director of ethical sourcing. Several meetings and months of pressure later, including videos, tweet surges, and in-person petition delivery, Starbucks substantially improved their palm oil policy.

This sort of attention can be very effective on campaigns that are already covered in the press and have received national or international attention, but it’s even more impressive when used to escalate small local resistance against a much larger entity. In the cases I saw most often, communities would organize against extraction or water, fuel, or precious metal in their area. It dramatically alters the equation when the local opposition is suddenly echoed by tens of thousands of people around the world who want to escalate the situation.

I watched this pattern play out several times during my tenure, including a handful of consistent campaigns against Nestle. Several times, Nestle’s water bottling operation would sign a deal with a local or regional government or water authority to allow it to pump and bottle water from an aquifer, usually for only a few dollars per million liters. The digital campaigners would amplify the local resistance to the project and bring national level scrutiny, until the extraction deal was dropped or re-negotiated.

The final unique capability of digital campaigning organizations is their ability to fundraise. As online donations have superseded direct mail as the most effective method for nonprofits to raise money, digital campaigning organizations have not only the interfaces and infrastructure to receive donations, but the ability to contact large numbers of sympathetic people and solicit donations for specific causes and actions. Digital campaigning orgs can raise funds to sustain their own staff, but they can also raise money on behalf of other organizations or local groups. This money enables entire suites of splashy campaigning tactics toward the same fundamental goals: raise the risks and PR costs for companies or public officials until they’re willing to change their behavior.

It doesn’t work every time, and with so many different entities advocating in so many directions, it’s very hard to attribute impact to any one organization. But as I watched the campaigns of my organization and others unfold, I was deeply impressed by the effect that digital campaigning can have, well beyond the boundaries of the Internet.

A very non-technical explanation of how AlphaGo Zero can teach itself to play Go so darn well

Published on November 26, 2017

For many years, the ancient Chinese game of Go was seen as the last major board game at which computer programs could not outcompete (or even challenge) top human players. Google subsidiary DeepMind made headlines in March 2016 when their AlphaGo problem defeated Lee Sedol, one of the greatest Go players in the world. It was an impressive achievement, but one that relied on enormous super computers and a massive training dataset of professional Go games.

A few weeks ago, AlphaGo made waves again with a breakthrough that allowed it to surpass the old system “without human knowledge.” Rather than study expert games, the system learned everything about Go simply by playing against itself. The new algorithm is much simpler, much faster, much more efficient, and much more effective than the version that defeated Lee Sedol.

The paper that the team published explaining the new program is a bit puzzling, since it highlights more the simplifications they made than how the simplified version is so much more effective. However, after digging a bit, it became clear that the key change to the algorithm is quite simple — and one that requires no technical background to understand.

How to play Go

Go is simple. Players take turns placing their stones on the board, attempting to surround their opponent’s stones and to encircle territory, thereby claiming it as their own. If a group of any player’s stones are entirely encircled by opposing stones, that group is captured by the opponent. The game has always been very difficult for computers because each turn presents so many choices of where to place the stone, and because it can be tough to tell just who is encircling who.

The original AlphaGo

Imagine that AlphaGo is actually a team of three people, who we’ll call Nora, Valerie and Monty. Nora has studied lots and lots of professional games of Go, and learned to guess where a master Go player would most likely place their stone in any given board situation. She has great intuition about the game, and when shown the board, she can immediately identify the most promising spots to place a stone. Valerie has also studied many professional games of Go, and she’s really good at telling who’s winning, just by looking at the board. Monty doesn’t know much about strategy, but he’s really good at remembering and imagining configurations of Go stones on the board.

On board A, Nora recommends that the spots marked in red and blue are the best options for them to place their black stone. Monty remembers the two middle boards, then asks Nora where she thinks the opponent will play the white stone on hypothetical board B, and he remembers the two hypothetical boards her suggestions would land them on. By evaluating many of these hypotheticals, Monty can come up with his own recommendations for where to play on board A.

Together, Nora, Valerie, and Monty make a good team. When it’s their turn, Monty asks Nora for her top few most promising spots. For each of those, he then shows her the board as if they had played that stone, and asks which moves their opponent is most likely to respond with. For each of those, Monty asks Nora for her probable responses, and so on. Monty is really fast at showing Nora the boards, and really good at remembering her responses, so they can explore a lot of possibilities very quickly.

After Monty and Nora imagine a few steps down the tree of possible moves, Monty asks Valerie to assess how likely they are to win from each possible board that they could reach. He then does some complicated mental math to synthesize Valerie’s assessments of the possible future situations, and comes up with a recommendation of the most promising spots that they could play right now, and plays the stone for their turn in one of them.

The team does this process before each of their turns. Every day, they play many games like this. Every night, Nora and Valerie go home with photos of each move they played that day, labeled with whether or not they ended up winning that game. They study each move from their winning games, remembering it as a good move, and each move from their losing games, remembering it as a bad move. Studying makes Nora less likely to play the losing moves and more likely to play the winning moves.

The new AlphaGo Zero

For AlphaGo Zero, the change that received the most focus is that Nora never studies any professional games of Go. In fact, when she starts, she doesn’t even know the rules of the game, and just places stones at random. What’s more, Valerie isn’t around anymore, and Nora is asked to both predict promising moves and to assess who’s winning. And instead of three months of practice to master the game, Nora and Monty only have three days. Reading just these changes, it’s hard to see how AlphaGo Zero is so much better than the previous iteration.

The new key to success is very subtle. When Nora goes home, she doesn’t study whether the moves they played lead to wins or losses — in fact, she doesn’t study the moves that they played at all. Instead, for each turn, she compares the initial recommendations that she gave to Monty with the recommendations that he came up with after exploring the tree of possibilities with her help.

On board A, Nora recommends that the spots marked in red and blue are the best options for them to place their black stone. Monty remembers the two middle boards, then asks Nora where she thinks the opponent will play the white stone on hypothetical board B, and he remembers the two hypothetical boards her suggestions would land them on. By evaluating many of these hypotheticals, Monty can come up with his own recommendations for where to play on board A.

As fast as Monty is, it takes him a while to imagine so many different possible futures. If Nora could come up with those same recommendations just by glancing at the board, her recommendations would make Monty’s search more useful, and would help him come up with even better recommendations. And if every night she studies better recommendations from Monty, her intuitions will become better, helping Monty make better recommendations, which she can study to build better intuition… a virtuous cycle.

It turns out that engaging with this virtuous cycle between Nora and Monty makes Nora much more effective than when she was simply studying each of their moves as good or bad. Furthermore, because the board is mostly the same after each move, back when she studied good and bad moves, she couldn’t study every move from each game or she’d become overly convinced that anything that looked like that game was good or bad. Instead, she would study just one move played from each game — so she and Valerie and Monty had to play a ton of games to be able to generate enough material for them to study. But now that she’s just studying to predict Monty’s recommendations, she can study the recommendation for every move, and doesn’t need to play nearly as many games to get lots of study material.

Of course, Nora and Monty aren’t real people. In AlphaGo, Nora is a neural network, and Monty is a Monte-Carlo tree search. Both are well known algorithms that people have been working with for years, and both are used in the original AlphaGo. A simple but brilliant change to the implementation of these well known algorithms makes the program vastly more effective. And that sort of brilliant ingenuity, understanding a problem and suggesting a conceptual solution, is exactly what we still have no idea how to make a computer do.

Cutting off federal funding to sanctuary cities won't be easy

Published on December 17, 2016

Both before and after his election as President of the United States, Donald Trump has vowed to cut federal funding to sanctuary cities. Though there are several different ways that he could attempt to do so, each is fraught with complications and opposition.

Sanctuary city policies have existed for decades, primarily as public safety measures in places home to large numbers of undocumented immigrants. Effective law enforcement is dependent on the co-operation of witnesses and victims. In a city like Los Angeles, today home to over 1 million undocumented immigrants, it’s imperative that undocumented immigrants can talk to law enforcement officials without fearing repercussions.

Actual implementation of sanctuary policies vary widely by jurisdiction, and have changed substantially over time. One cornerstone of any sanctuary policy is to ensure that people can interact with local services and law enforcement without fear that their immigration status will be communicated to the federal government. However, the Immigration Reform Act of 1996 introduced Section 1373, which prohibits state and local policies that restrict information flow to immigration authorities. This means that if a city employee asks about someone’s immigration status, they can’t withhold that information from federal agencies, but it doesn’t mean that employee must ask about immigration status in the first place. Now many jurisdictions have policies simply not to ask.

The other cornerstone of sanctuary policy is to ignore detainer requests made by Immigration and Customs Enforcement. It’s standard procedure for local police departments to send the fingerprints of arrestees to the FBI to check for outstanding warrants and criminal history. The FBI then shares these fingerprints with ICE, and ICE may request to the police that they detain the person until ICE agents arrive. However, in a test case brought by the ACLU, it was ruled that these requests must be optional, as compulsory orders would violate judicial precedent around the Tenth Amendment. Many cities and states have policies to simply ignore these requests.

So what can the federal government do to punish cities and states that do not help them enforce immigration policy? Any laws that undermine the federal government supremacy over matters of immigration can be challenged in court, as the Obama administration did to Arizona’s infamous S.B. 1070. However, the rhetorical focus has been on using federal funding to these cities and states as leverage to force compliance.

In summer 2016, a bill by Senator Pat Toomey that proposed to exclude sanctuary jurisdictions from Economic Development Administration grants garnered 53 votes, short of the 60 votes needed to proceed. Although the Republicans held a majority in both houses of Congress, they did not have enough votes to push through legislation against sanctuary cities. After Inauguration Day 2017, their majority will have shrunk by two seats, making the chance of such legislation even more remote.

However, the aforementioned Section 1373 has already been invoked by the executive branch to try and force sanctuary jurisdictions to communicate with immigration enforcement. In 2016, Rep. John Culberson of Houston prodded the Department of Justice to clarify the terms of Section 1373 to its grant recipients. That prodding led to a report by the Inspector General that found that many of their sampled jurisdictions did not comply with the spirit, and in some cases the letter, of Section 1373. The Department of Justice has now clarified that certain FY 2017 grants are contingent on certified compliance with the Section 1373.

In an appearance on Fox News, Culberson crowed that this certification represented “an off-switch” for all federal law enforcement funding to sanctuary cities. In reality, the policy changes apply only to the Byrne Justice Assistance Grants (JAG) and State Criminal Alien Assistance Program (SCAAP). Across the entire country, SCAAP awarded $210 million in grants for FY 2016 to fund states’ housing of aliens in custody, and JAG awarded $86 million nationwide for a broad array of criminal justice functions. To put the programs in perspective, for its 2015-2016 budget Los Angeles received $8.2 million between JAG and SCAAP, and took in $148 million from parking fines - almost twenty times as much.

Though the fiscal impact of law enforcement cuts is small, the symbolic impact is much greater. The threat of these cuts drew the condemnation of the Fraternal Order of Police, the police union that endorsed Trump during the election. In fact, funds for policing is perhaps the last thing that Trump, who pitched himself as the “law and order” candidate, would want to withhold. However, there is strong judicial precedent that while federal funds can come with conditions, those conditions must be related to the programs they fund. That means that Section 1373, which concerns law enforcement practices, cannot be used to condition, say, health care financing.

Which isn’t to say that they won’t try. Indeed, that same judicial precedent could invalidate Toomey’s Senate bill, but he introduced it anyway. Any such withholding would be challenged vigorously in court, but the opportunity for delays of funds could wreak some havoc.

It is mildly reassuring to step back and recognize that this is where the battle lines have been drawn. The issue in contention is not whether ICE can directly deputize state and local law enforcement to carry out workplace raids and the like. Even Section 1373 only mandates sharing information gathered, not gathering information in the first place. Cities and states even have further options to protect their immigrants, such as guaranteeing a right to attorney for deportation cases.

But though this is where the battle lines have been drawn, it will require great political will and legal diligence to hold them fast. The federal government has the ultimate power on immigration and massive amounts of financial leverage, and is led by a man with few scruples and an authoritarian streak. It remains to be seen if our courts, our constitution, and our local institutions will be able to hold up.

Natural selection of artificial brains is why great AI will predate decent neuroscience

Published on August 24, 2016

There is a common complaint in the machine learning community today that nobody understands how the best algorithms work. Deep learning, the process of training enormous neural networks to recognize layered abstractions, has dominated all sorts of machine learning tasks, from character recognition to game playing and image captioning. While the original idea of neural networks was inspired decades ago by observed phenomena in brains, neural networks have diverged wildly from the structure of biological brains. Researchers searching for the best results on their machine learning tasks have dreamed up not only complex new architectures, but also all kinds of tips, tricks, and techniques to make their networks more effective.

The trouble is that many of these methods are found empirically, rather than theoretically. Whereas traditional machine learning algorithms are grounded in rigorous mathematical proofs, many popular techniques for achieving top tier results with deep neural networks have their theories and explanations given after the fact, attempting to justify why this thing they tried was so effective.

While this seems remarkable and frustrating to those who develop algorithms, it makes intuitive sense when you take a step back and consider that the same process of trial and error is exactly what led to the development of animal brains. Rather than the application of an elegant and well-reasoned mathematical theory, brains are the product of iterative improvements on whatever worked. Real brains are happy accidents layered on happy accidents - and that's exactly what the artifical neural networks are becoming too. While animal brains architectures were produced over millions of years by accidental improvements naturally selected, neural networks architectures are produced over years by thoughtful hypotheses naturally selected by their performance on machine learning tasks.

So what? There are a couple key insights that follow-on from this. First, as long as so many researchers stay focused on the predictive power of their models - which they likely will, since breaking records on learning benchmarks makes for good papers - then neural network practice will always continue to be far in front of what the theory can explain. Tips, tricks, and happy accidents will continue to compound onto each other, producing better and better results without prior statistical proof.

Second, this means that we should expect a very powerful artifical intelligence to be engineered long before a comprehensive theory emerges to explain how it actually works, or - crucially - before a theory emerges to explain a human brain actually works. If we can't invent a general theoretical mathematical framework for even our own creations, then we should expect one for the product of real evolution to be much further down the line.

Why I believe Hillary's billionaire backers support her reforms

Published on June 05, 2016

Over the course of Hilary Clinton's presidential campaign, lots of people have expressed doubts about the sincerity of her proposed reform. A major sticking point is her obviously strong connections to elite financiers and the contributions they've made to both her campaign and to the Clinton foundation. It seems like such strong financial support from those most benefitting from the system of great inequality would undermine her ability to achieve the reforms she's outlined. And she has outlined lots of serious reforms around college and healthcare, which will, according to Hillary's official campaign website, "be fully paid for by limiting certain tax expenditures for high-income taxpayers."

I struggled with this discrepancy until I compared her promises to those made during the progressive era in the early 1900s, as I was reading "A People's History of the United States" by Howard Zinn. Zinn claims that the reforms initiated in the early 1900s (such as worker's compensation, santiation inspections of food and workspaces, and limits on weekly working hours) were initiated with the support of the same large businesses that would be regulated. According to Zinn, their primary intentions weren't to improve the lives of their employees, but rather to diffuse the great political energy that was gathering for fundamental reform. The modest concessions aligned with the long term interests of the wealthy and powerful.

In an example given in Zinn's book, Theodore Roosevelt once wrote to Henry Cabot Lodge about railroad lobbyists opposing the Hepburn Act, which allowed the federal government to regulate and limit railroad fares. He said "I think they are very short-sighted not to understand that to beat it means to increase the movement for government ownership of the railroads." Roosevelt believed measured reforms would placate demands for fundamental change, and they did.

It was a time when there was a major sentiment that the system was rigged, and when socialism was a viable political option. Today, we find the two most popular candidates beyond Hillary are a socialist and an anti-free-trade, anti-establishment maverick. There is clearly a tide of energy in the country questioning the obscene levels of economic inequality, the absurd price of higher education, and the grim stagnation of real wages. The 2016 presidential election really seems to be a choice between upheaval and incremental improvement. So when Hillary claims to want to make state universities debt-free for all students willing to work ten hours per week, I really do believe that the wealthiest elite support her in pushing a modest goal to help out American citizens - and making sure they don't challenge the system.

Whether that's good enough for you is another matter. There's definitely appeal in promises of radical change. But when it comes to the credibility of the promises made by the presidential candidates, Hillary's promises seem the most credible in historical context - because of her ties to those perched atop the inequality in America.

Clippy Inc. and transhuman corporations

Published on September 24, 2015

Recently, both Elon Musk and Bill Gates posted publically about their long-term fear of artificial super-intelligence. It's a popular apocalypse fantasy - that some human-created intelligence could learn to better itself, become more and more capable until we simple humans can neither control nor fathom it. Such a creation would wield intellectual power many times greater than a single human, and there's no guarantee its incentives would be aligned with ours.

There's a canonical thought experiment on this topic called the paperclip maximizer. Clippy is an AI designed for a totally benign objective - to get as many paperclips as possible. Its objective function, or internal metric of success, is simply how many paperclips it has. Clippy realizes that by improving its own intelligence, it can become more and more effective at getting paperclips, and so incrementally becomes a super intelligence - but still one entirely focused on accruing paperclips. It begins to chew relentlessly through the world's resources, disregarding the wellbeing of affected humans, all to maximize its arbitrary paperclip objective.

The thought experiment puts the lesson pretty clearly. When creating a powerful and efficient non-human entity, it's critical to sculpt its objective function to make sure that its incentives are aligned with those of the world around it. It seems obvious that if you created something with that level of power, you wouldn't let it pursue some arbitrary objective function to the detriment of real people's lives.

But what's crazy is that there already exist autonomous non-human entities pursuing arbitrary objective functions with the intellectual power of thousands of humans. Transnational corporations. They transcend the abilities and mortality of any human, sustained by the employees that apply their human intelligences to together achieve the ends of the company. But what are those ends? The generation of profit. A metric reported once every three months that singularly determines the success of the company - but one that can be entirely orthogonal to the holistic well-being of its customers, employees, suppliers, or even sharehoders.

This isn't to say that corporations are something bad. They're the engines of not only our economic growth, but of advancement in culture, technology, and quality of life. They're the most efficient method devised to leverage many people working together to produce goods and provide services. It's no surprise that many advocate the hegemony of the private sector given how effectively private firms achieve their goals.

But just as any super-intelligent AI would need rigorously defined objective functions to ensure that it respected the public good, so too do corporations. Regulating corporations is how we ensure that their relentless pursuit of profit causes positive rather than negative externalities. It's bountifully clear that if unconstrained, the profit seeking of corporations can have consequences no person would really want, from halftime shows that can't stop repeating the sponsor's name to reckless pollution and resource extraction.

The beautiful part is that the metric of profit provides units for government adjustment. By incorporating the cost of externalities into the financial bottom line, we can leverage the brilliance and efficiency of enterpreneurs and corporations toward ends that serve the greater citizenry. A great example is cap-and-trade systems. If implemented effectively, they create a market for pollution mitigation technology and carbon offsets that would never otherwise exist.

However, this type of regulation is unpopular in the United States. In fact, the Obama administration has been pushing for international trade agreements that would not only discourage it, but create international courts to allow corporate entities to sue sovereign governments if their laws obstruct the corporation's ability to make profit.

Such a treaty seems bafflingly naive about the double-edged sword of corporate efficiency. I can imagine establishing a system to regulate and wield super-intelligent AIs, if they ever came to exist. But I cannot imagine granting those AIs the power to sue democratic governments for obstructing their ability to pursue an objective function which does not correlate with human good.

Reverse engineering processors and brains

Published on March 15, 2015

In October 2014, Joshua Brown published an interesting opinion piece in Frontiers of Neuroscience. He told a parable about a group of neuroscientists who come upon a computer, and having no idea how it works, they set about applying the techniques of cognitive neuroscience, neurophysiology, and neuropsychology to try to understand the computer's magic. They use EEG, MRI, diffusion tensor imaging, and lesion studies to learn the different functions of the hard drive, the RAM, the processor, and the video card. They learn about its interdependencies and even how to make crude repairs, but they never truly understand how the computer works.

The moral of the story is that neuroscience needs a strong mechanistic theory that can be used to understand how observed effects arise from the systems at work. The author advocates that computational modeling should be as foundational to a neuroscience education as neuroanatomy. But while it was only an analogy, the story about trying to reverse engineer a computer made me really wonder - could we even reverse engineer one of our own processors?

To get an idea of how hard reverse engineering would be, I turned to my friend Warren. He was the TA for my semiconductors class and is about to graduate with his doctorate in electrical engineering. When I asked him about the feasibility, he wrote:

For simple devices and circuits on silicon, it’s trivial- we have the equipment, the SEMs, the TEMs, the AFMs; you can get surface images of components, cross-sectional images no problem. People are also starting to use X-rays to look inside chips... Once you understand what the 20 or 30 different layers of the chip are, you can start to hack down through the layers (destructively) to try and identify layout. Scaling up though it becomes infinitely more complicated.

The latest chips have thousands of pins and not knowing what any of them do, there’s an infinite number of tests you could do. Now, if you have some previous knowledge of, say, how a simpler chip is built, you might start to be able to identify functional regions e.g. a region on a chip with a highly repetitive, dense, pattern will invariably be memory. A region that is repeated, a few times on a chip will, in a modern processor, likely be cores. But I think for the complex chip it’s simply the scale of the number of devices- millions and millions of transistors, and isolating and disentangling them non-destructively is simply unviable, let alone without having any idea of the function that the circuits/devices do!

In a nutshell, you would need many, many chips to test destructively in order to even come close to understanding the basic functionality. If I were to hazard a guess, I’d say deconstructing a chip of the complexity found in a modern computer, without some sort of map would be close to impossible.

Building this map of the physical architecture is akin to the work undertaken by connectomics researchers to digitally reconstruct circuits of neurons. But the physical layout is only a small component of a computer's magic - the hardware, without any of the software running on it. Many neuroscientists that employ a mechanistic, model-focused approach actually record the spiking patterns of individual neurons, either by measuring cell voltages with miniscule metal probes, or by inducing mutations that cause the neurons to glow when their voltage spikes. They add a stimulus, measure the behavior of the network, and try to model it. Imagine doing that with a processor. Measuring would be a nightmare - while brain currents are carried by micron scale neurons, processor currents run on wires and gates only nanometers thick, scarcely probe-able. Perhaps infrared imaging could reveal areas with high current density, but you'd need a system that could read the values in less than a nanosecond, as a two gigahertz processor changes them two billion times per second.

If you could somehow read the binary numbers in the processor registers, you would have the foundation to reverse engineer the processor's binary instruction set. But the layered abstraction so key to complex ideas like programming would make it almost impossible to understand functionality from byte code. Even a simple program written in an interpreted language like Python involves a complex multi-layered program (the interpreter) building data structures and shuffling values. A model that attempts to explain the behavior of bytecode based on the inputs and outputs of a Python application would need to account for so many layers of abstraction that the probe readings could very well appear chaotic.

Reverse engineering a modern processor would clearly be a herculean task. In fact, I would venture it would take more years of academic study and research to reverse engineer a processor than to engineer your own new architecture. Rather than trying to puzzle out the nuances of arbitrary decisions made along the way (endianness, anybody?), engineers would be free to make their own arbitrary decisions and move on. If the goal were to re-create something with the same abilities as a modern computer within a few decades of research, it seems far easier to simply take the big picture ideas revealed by the curious specimen (transistors can be made from silicon, transistors an be used to make hierarchical logic systems, many classes of problems can be solved with the same generalized architecture) and uses those as the foundation for creating a new theory and system.

So where does that leave neuroscience? The processor is the product of generations of engineers trying to find the most efficient, elegant, and consistent solutions. The brain is the product of orders of magnitude more generations of trial and error that went with whatever happened to work first. No doubt reverse engineering the brain would be dramatically more difficult than a computer, so the same heuristic above applies - rather than puzzle out the intricate machinations of the curious specimen, take the big picture ideas it reveals (networks with learned weights can encode high level ideas, many classes of problems can be solved with the same generalized architecture) and use those as the foundation for creating a new theory and system.

Parallel engineering can yield useful understandings of the system under study, but recreating the abilities of the brain is a goal in itself of artifical intelligence research. Neural networks that apply some of the big picture ideas have been around for decades, but the recent explosion of success with convolutional neural networks has been driven by newly engineered architectures and mathematical formulations, not by neuroscience breakthroughs. Other neural network paradigms, like spike-driven and recursive networks, are still in their relative infancy because they're more difficult to get a handle on. However, they are founded on big picture properties of the brain that are known to be effective, so I'm confident that as they receive more engineering attention, they will yield spectacular new results.

Playing sports with dedicated circuits

Published on January 11, 2015

I was recently playing ping-pong when I was struck by an interesting analogy between computational models and the learned reflexes of sports. When you play any physical game or sport involving speed, you rely on both reflexes and higher level thoughts. However, playing by thought and playing by reflex are very different in both their methods and their results. It's most clear in individual sports in which you must react quickly to your opponent's newest challenge while devising your own next strike, such as tennis. As the ball comes toward you, you have a fraction of a second to identify its position and trajectory, position yourself, coordinate the trajectory of your arm with that of the ball, and execute a strike at just the right angles and force.

Any athlete will tell you that when you're competing, you don't think about what you're doing. You just FEEL it. You watch the ball and your arms and legs and hands move and WHAM you hit the ball with just the spin you want. It's like there's a short circuit from your eyes to your arms.

But what if you don't have those kind of reflexes yet? What if you're new to the sport? You play a lot and slowly you develop them, but there can be real value in getting tips on what to focus on. Lessons and workshops from more experienced players are popular because they work. They tell you what to think about, what angle you want your racket to collide with the ball, the motion of arm that can achieve that angle of collision reliably. By thinking about these tips as you play, you can get better fast.

But I think it's just as relatable an experience that in the short term, tips like those will disrupt your play. You may hit some of those shots better, but just as likely your overall play will be a little off, the ball won't seem to go your way, and you give a worse account of yourself than you would have expected if you just focused up and played your game with the flawed technique you're comfortable with.

On the other side of the analogy, consider the contrast between hardware and software solutions to computing problems. The most basic tool of computation is the transistor, in logical terms just a pipe with an on-off switch. From it, you can build the fundamental logic gates - AND, OR, NOT, XOR, and the rest. These can be combined in clever ways to do things like add binary numbers, store the value of a bit, or control which signal goes through an intersection. Circuits like those can then be combined to achieve all sorts of specific goals, like controlling the timer and display of a microwave as you press its buttons.

But the most important logical circuit you can build is a general purpose processor. Equipped with tools to manipulate and store values, the processor acts according to instructions which are themselves data to be manipulated and stored. Rather than specify the operation in the wiring of the circuit, the processor can be programmed to do anything. This is the distinction between solutions in hardware, which use custom physical circuits, and software, which simply run programs on general purpose circuits. Software is obviously incredibly more flexible, allowing people to write simpler and simpler code to specify more and more complexity. It's the go-to solution for most computing problems.

But the flexibility comes at a price of speed. Though they're both unthinkably fast, the time required to execute the same computation with a program on a processor can be orders of magnitude longer than that of a purpose built digital circuit. That's why people go to the expense of engineering application specific integrated circuits for time critical applications like audio processing. Internet routers use dedicated circuits to forward packets out the right wire instead of waiting on a CPU. It's also why most computers have a dedicated graphics processing unit (GPU) to use specific circuits to draw computer graphics in real time.

To draw the analogy, the brain seems to have capacity for both general purpose, CPU style circuits, and specialized, GPU style pipelines from input observations to output actions. The general purpose thinking engine seems the more miraculous with its ability to perform symbolic reasoning, while the special use pathways are indespensible for quick twitch skills like riding a bike. For an activity like playing tennis, playing at a high level requires the competition to be executed almost entirely with dedicated pathways. But when you're trying to improve and you're thinking about applying the tips expressed as verbal symbolic concepts, your observations of the ball's motion has to pass through your general purpose processor before it can tell your arm how to move, slowing you down and throwing off your game.

Luckily, the miracle of human learning is that if similar thoughts passes through the general networks enough, they begin to develop their own dedicated pipelines. With enough training time, you internalize the concepts and can play by reflex better than ever before.

The Credit Card is The Best Mobile Payment System Ever

Published on November 19, 2014

Recently, there’s been a surge in interest by makers of smartphones and gadgets to offer the ultimate unification of the things in your pocket by allowing you to use your phone to purchase things in stores. Google launched their Wallet program in 2011, allowing Android users to make payments with enabled phones, and Apple has been causing a stir with their plans for the new Apple Pay. Retailers are even trying to get in the game with their CurrentC system.

Their motivation is quite clear. Getting money and payments to flow through your company’s hands is a coveted middle-man position. Apple plans to take 0.15% of all transactions. Google doesn’t make money, but gets to see everything you buy and use it to, of course, target ads at you.

However, despite the clear desirability of being a service provider, phone payment systems simply do not solve any user pain points. That’s cause they already have credit cards, which have a host of spectacular features. Check it out -

  • Credit cards never run out of batteries. This is the most obvious problem. Imagine the inconvenience of being unable to purchase anything when your phone dies.
  • Credit cards can be separated from your phone. There are plenty of situations in which you want to be able to give your credit card to someone. Imagine opening a tab at a bar with your phone - certainly less convenient than having a plastic token. Or if your phone is stolen from your purse or pocket - it sure is nice your credit card wasn’t attached.
  • Credit cards are cheap. The cost of the card itself is tiny, so obviating the need for a card saves the user no money at all.
  • Credit cards are light and small. Nobody complains about carrying around a 6g card that is the exact same size and shape as the photo ID they carry around anyway.

It doesn’t matter how smooth they make the interface, the most user-friendly way of integrating credit cards with phones is to offer a cellphone case with credit card slots built in.

Skepticism of skepticism - examining why I reject the supernatural

Published on November 19, 2014

Several weeks ago, I had a really thought-provoking conversation with a friend about beliefs in the supernatural. He was describing to us how he had come to start believing quite seriously in the existence of angels after a series of compelling conversations with both friends in Virginia and new acquaintances in Nicaragua. There were several stories - people stopping on the side of the road because of lights in the sky and facing an angel descended, children cured of chronic illness by holy water from Lourdes, bright figures that appeared in a shadowy room and convinced an alcoholic to change his life.

My initial response was skepticism, but his conviction gave me pause. I don't believe that the people whose testimonials he cited were lying, or had less than complete convictions about the reality of their experience. On the other hand my skepticism was rooted in a sort of generic faith in the scientific method and established corpus of theory. I've frequently heard people counter that on the basis of "I just believe that there are a lot of things that science still doesn't understand." I certainly can't refute that - our scientific consensus has had major errors identified within it time and time again. So why was I so confident that these people had to be wrong?

It made me start thinking harder about the things that "science still doesn't understand." I realized that there’s actually a huge discrepancy between the confidence of different fields of science. Lots of foundational fields, like chemistry, nuclear physics, magnetism and electricity, are consistently jaw-dropping in their ability to understand, and manipulate the physical world with the aid of mathematical models. Their work has been powerfully vindicated by the revolutionary real world power to leverage these models to create things as unbelievably complex as a modern processor or nuclear reactor. Other fields like geology and astronomy can predict with high confidence the creation history and timeline of our star and our planet, and use that to understand and access marvels like fossil fuels. Studying these fields, it’s consistently amazing to learn just how much science does understand.

That bears a sharp contrast to my experience beginning to study neuroscience in my final semesters at Princeton. What consistently astounded me was not how much, but how little science understands about the mechanisms of the brain. Consider the problem of understanding vision - how do people identify and track objects in their field of view? We have a picture from the big perspective - the light hits the retina, and the data is passed upstream to the primary visual cortex before heading to a host of further areas. But how it goes from a collection of firing photoreceptors to a high-level representation of objects is not even within the scope of current research. The cutting edge research, such as this Nature article from 2014 or this Nature Neuroscience article from 2013 is simply to try and determine which types of retina cells or which parts of their dendrites are responsible for direction selectivity, for determining which direction the field of view is moving. There is so much more that is not understood than is.

Now consider, where are the gaps in our body of scientific understanding into which you can fit angels and other life-changing supernatural experiences. Is it easier to imagine that our understanding of aerodynamics is flawed and it is possible for a human figure to fly by its own power, or that our understanding of subjective human experience and memory is flawed? Seemingly 'concrete' evidence like the healing effect of holy water too is well explained by the baffling complexity of the mind. Not only have placebos have been well demonstrated to be extremely effective medicines, but it's also clear that the more involved a placebo treatment is, the more effective it is likely to be. (Magazine article, example study). It should come as no surprise that holy water to a true believer would be a highly effective treatment.

In sum, I realized my skepticism for the supernatural is rooted in recognizing that a person’s experience is informed by the hypothetical objective world transpiring around them, but the experience is ultimately dictated by the unfathomable spaghetti of connections and double crossings of perception, memory, and expectation from whose biases, shortcuts, and fallacies from which we can, by nature, never be free.

Robots are going to run Android

Published on January 10, 2014

When Google launched Android, it seemed like an ironic name for an otherwise exciting offering. The wave of smartphones felt like future in action, and they chose to name it after exactly the thing we'd always been promised but never gotten - robots with arms and legs like ours that could walk and talk and help and who knows what else. They might as well have called it Jetpack.

But after a few of the events of 2013, it's starting to look like maybe the name Android isn't a tease so much as a long game. I'm talking about two developments in particular. First of all, Google went ahead and purchased eight robotics companies in the end of 2013. They captured many of the best minds in the field, and selected Andy Rubin, the director of Android since before its acquisition by Google, to run the new robotics division. They've clearly invested heavily in becoming a leader in robotics, and have not explained why. In the short term, it's likely they want them to work in Google's data centers, swapping servers from their racks as they fail.

Now consider another Google moonshot - Project Ara. Ara aims to replace the current centralized processor architecture used in smartphones with a packet switching model like that used by the Internet. The phone comes with an endoskeleton, with gaps of standardized sizes for modules. The processor, the camera, the battery, the display, the storage, and whatever else you want your phone to have can all be swapped in and out. To upgrade your camera, just tell the system to release the electromagnet holding its module and swap in a better one. The whole thing runs Android, so developers still have the convenience of the JVM to keep the software experience consistent across different hardware. Comapanies can bring to market any component they think people want, such as a blood glucose monitor for diabetics.

For the next few years, it's going to be hard enough to get Ara working in cellphones and robots working in datacenters. But Google dreams big. Imagine if they start offering a bigger Ara chassis. And modules where you can slot in not just a camera and a screen but an IR sensor array, legs, and arms with tactile hands. Little robots running Anroid, running around the house, that you can program as easily as you program an Android app. Any company can make a limb or a tool, and you can get their app from the Play store to make the robot dance, or clean, or cook. The model of modularity could let anyone build, develop, and combine for robots the same way that they have with software, freeing robotics from the end-to-end engineering that keeps it in Toyota's labs. For a while it won't be more than a hobbyist plaything, but thats how personal computers and radio started out too.

I don't mean to say that this is the primary goal, or even the most likely outcome, of Google's work in robotics and in Project Ara. However, if we see personal scale robotics within the next thirty years, this seems like by far the most promising lead. I only wish I could know if it's what Andy Rubin's been planning all along.