10 interesting stories served every morning and every evening.
Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer’s view in any way.
We are disclosing a significant state-backed information operation focused on the situation in Hong Kong, specifically the protest movement and their calls for political change.
What we are disclosing
This disclosure consists of 936 accounts originating from within the People’s Republic of China (PRC). Overall, these accounts were deliberately and specifically attempting to sow political discord in Hong Kong, including undermining the legitimacy and political positions of the protest movement on the ground. Based on our intensive investigations, we have reliable evidence to support that this is a coordinated state-backed operation. Speciﬁcally, we identiﬁed large clusters of accounts behaving in a coordinated manner to amplify messages related to the Hong Kong protests.
As Twitter is blocked in PRC, many of these accounts accessed Twitter using VPNs. However, some accounts accessed Twitter from speciﬁc unblocked IP addresses originating in mainland China. The accounts we are sharing today represent the most active portions of this campaign; a larger, spammy network of approximately 200,000 accounts — many created following our initial suspensions — were proactively suspended before they were substantially active on the service.
All the accounts have been suspended for a range of violations of our platform manipulation policies, which we deﬁne as:
Covert, manipulative behaviors have no place on our service — they violate the fundamental principles on which our company is built. As we have said before, it is clear that information operations and coordinated inauthentic behavior will not cease. These deceptive strategies have been around for far longer than Twitter has existed. They adapt and change as the geopolitical terrain evolves worldwide and as new technologies emerge. For our part, we are committed to understanding and combating how bad-faith actors use our services.
Today we are adding archives containing complete Tweet and user information for the 936 accounts we’ve disclosed to our archive of information operations — the largest of its kind in the industry.
We will continue to be vigilant, learning from this network and proactively enforcing our policies to serve the public conversation. We hope that by being transparent and open we will empower further learning and public understanding of these nefarious tactics. You can access relevant information on these account sets below.
August 2019, set 1:
Note: We have divided these archives into two parts to better enable review of the intersecting networks of accounts which comprise this campaign. We have evidence to indicate that both sets are associated with the same entity.
Information operations on Twitter: principles, process, and disclosure
Updating our advertising policies on state media
Who We Are
Who We Are
Software has characteristics that make it hard to build with traditional management techniques; effective development requires a different, more exploratory and iterative approach.
Why Bad Software Happens to Good People
Bad software is one of the few things in the world you cannot solve with money. Billion dollar airlines have ﬂight search apps that are often inferior to those built by groups of students. Established taxi companies the world over have terrible booking apps despite the threat they face from ride-sharing services. And painful corporate IT systems are usually projects with massive budgets, built over the course of many years. Whatever the cause of bad software is, it does not seem to be a lack of funding.
Surprisingly, the root cause of bad software has less to do with speciﬁc engineering choices, and more to do with how development projects are managed. The worst software projects often proceed in a very particular way:
The project owners start out wanting to build a speciﬁc solution and never explicitly identify the problem they are trying to solve. They then gather a long list of requirements from a large group of stakeholders. This list is then handed off to a correspondingly large external development team, who get to work building this highly customised piece of software from scratch. Once all the requirements are met, everyone celebrates as the system is launched and the project is declared complete.
The root cause of bad software has less to do with speciﬁc engineering choices, and more to do with how development projects are managed.
However, though the system technically meets speciﬁcations, severe issues are found when it is put in the hands of actual users. It is slow, confusing, and ﬁlled with subtle bugs that make using it an exercise in frustration. Unfortunately, by this time the external development team has been dismissed and there are no resources left over to make the necessary ﬁxes. By the time a new project can be initiated years later, all knowledge of what caused these problems has left the organisation and the cycle starts over again.
The right coding language, system architecture, or interface design will vary wildly from project to project. But there are characteristics particular to software that consistently cause traditional management practices to fail, while allowing small startups to succeed with a shoestring budget:
• Reusing good software is easy; it is what allows you to build good things quickly;
• Software is limited not by the amount of resources put into building it, but by how complex it can get before it breaks down; and
• The main value in software is not the code produced, but the knowledge accumulated by the people who produced it.
Understanding these characteristics may not guarantee good outcomes, but it does help clarify why so many projects produce bad outcomes. Furthermore, these lead to some core operating principles that can dramatically improve the chances of success:
1. Start as simple as possible;
2. Seek out problems and iterate; and
3. Hire the best engineers you can.
While there are many subtler factors to consider, these principles form a foundation that lets you get started building good software.
Software is easy to copy. At a mechanical level, lines of code can literally be copied and pasted onto another computer. More generally, the internet is full of tutorials on how to build different kinds of systems using ready-made code modules that are available online. Modern software is almost never developed from scratch. Even the most innovative applications are built using existing software that has been combined and modiﬁed to achieve a new result.
The biggest source of reusable code modules is the open source community. Open source software is software in which code is freely published for anyone to see and use. Many of the largest contributors to the open source community are giant tech companies. If you want to use a state-of-the-art planet scalable database as Facebook does, just download the code for Cassandra that they open sourced in 2008. If you want to try out Google’s cutting-edge machine learning for yourself, download the TensorFlow system published in 2015. Using open source code does not just make your application development faster, it gives you access to technology that is far more sophisticated than anything you could have developed yourself. For the most popular open source code, it is even more secure as there are many more people paying attention and ﬁxing vulnerabilities. This is the reason digital technology has made such rapid progress: even the newest engineers can build upon the most advanced tools our profession has to offer.
The advent of cloud services has taken reusability even further, offering the full use of even proprietary systems for just a subscription fee. Need a simple website? Just conﬁgure one in a few clicks using a website building service like Squarespace or Wix. A database? Subscribe to a virtual one from Amazon Web Services or Microsoft Azure. Cloud services allow developers to beneﬁt from specialisation; the service provider handles the setup, maintenance, and continued development of a reliable, high-quality piece of software that is used by all its subscribers. This allows software developers to stop wasting time on solved problems and instead focus on delivering actual value.
You cannot make technological progress if all your time is spent on rebuilding existing technology. Software engineering is about building automated systems, and one of the ﬁrst things that gets automated away is routine software engineering work. The point is to understand what the right systems to reuse are, how to customise them to ﬁt your unique requirements, and ﬁxing novel problems discovered along the way.
Software engineering is about building automated systems, and one of the ﬁrst things that gets automated away is routine software engineering work.
How useful a piece of software can be is usually limited by its complexity rather than the amount of resources invested in building it.
IT systems are often full of features but are still hated by users because of how confusing they become. In contrast, highly ranked mobile apps tend to be lauded for their simplicity and intuitiveness. Learning to use software is hard. Beyond a point, new features actually make things worse for users because the accumulated complexity starts to become overwhelming. For example, after serving as the hub of Apple’s media ecosystem for almost 20 years, iTunes was split into three different apps (for music, podcasts, and TV shows) this year, as its features had grown too complex for one app to handle. From a usability perspective, the limit is not how many features can be implemented, but rather what can ﬁt into a simple intuitive interface.
Even ignoring usability, engineering progress slows to a halt once a project becomes too complex. Each new line of code added to an application has a chance of interacting with every other line. The bigger an application’s codebase, the more bugs are introduced whenever a new feature is built. Eventually, the rate of work created from new bugs cancels out the rate of work done from feature development. This is known as “technical debt” and is the main challenge in professional software development. It is the reason why many large IT systems have issues that go unﬁxed for years. Adding more engineers to the project just adds to the chaos: they start running faster in place as the codebase keels over from its own weight.
In such cases, the only way forward is to take a step back to rationalise and simplify the codebase. The system architecture can be redesigned to limit unexpected interactions. Non-critical features can be removed even if they have already been built. Automated tools can be deployed to check for bugs and badly written code. Bill Gates once said “Measuring programming progress by lines of code is like measuring aircraft building progress by weight”. Human minds can only handle a ﬁnite amount of complexity, so how sophisticated a software system can get depends on how efﬁciently this complexity budget is used.
Building good software involves alternating cycles of expanding and reducing complexity. As new features are developed, disorder naturally accumulates in the system. When this messiness starts to cause problems, progress is suspended to spend time cleaning up. This two-step process is necessary because there is no such thing as platonically good engineering: it depends on your needs and the practical problems you encounter. Even a simple user interface such as Google’s search bar contains a massive amount of complexity under the surface that cannot be perfected in a single iteration. The challenge is managing this cycle, letting it get messy enough to make meaningful progress, but not letting it get so complicated that it becomes overwhelming.
There is no such thing as platonically good engineering: it depends on your needs and the
practical problems you encounter.
Software Is about Developing Knowledge More than Writing Code
In software development, most ideas are bad; this is not anyone’s fault. It is just that the number of possible ideas is so large that any particular idea is probably not going to work, even if it was chosen very carefully and intelligently. To make progress, you need to start with a bunch of bad ideas, discard the worst, and evolve the most promising ones. Apple, a paragon of visionary design, goes through dozens of prototypes before landing on a ﬁnal product. The ﬁnal product may be deceptively simple; it is the intricate knowledge of why this particular solution was chosen over its alternatives that allows it to be good.
This knowledge continues to be important even after the product is built. If a new team takes over the code for an unfamiliar piece of software, the software will soon start to degrade. Operating systems will update, business requirements will change, and security problems will be discovered that need to be ﬁxed. Handling these subtle errors is often harder than building the software in the ﬁrst place, since it requires intimate knowledge of the system’s architecture and design principles.
In the short term, an unfamiliar development team can address these problems with stopgap ﬁxes. Over time though, new bugs accumulate due to the makeshift nature of the additional code. User interfaces become confusing due to mismatched design paradigms, and system complexity increases as a whole. Software should be treated not as a static product, but as a living manifestation of the development team’s collective understanding.
Software should be treated not as a static product, but as a
living manifestation of the development team’s collective understanding.
This is why relying on external vendors for your core software development is difﬁcult. You may get a running system and its code, but the invaluable knowledge of how it is built and what design choices were made leaves your organisation. This is also why handing a system over to new vendors for “maintenance” often causes problems. Even if the system is very well documented, some knowledge is lost every time a new team takes over. Over the years, the system becomes a patchwork of code from many different authors. It becomes harder and harder to keep running; eventually, there is no one left who truly understands how it works.
For your software to keep working well in the long term, it is important to have your staff learning alongside the external help to retain critical engineering knowledge in your organisation.
1. Start as Simple as Possible
Projects that set out to be a “one-stop shop” for a particular domain are often doomed. The reasoning seems sensible enough: What better way to ensure your app solves people’s problems than by having it address as many as possible? After all, this works for physical stores such as supermarkets. The difference is that while it is relatively easy to add a new item for sale once a physical store is set up, an app with twice as many features is more than twice as hard to build and much harder to use.
Building good software requires focus: starting with the simplest solution that could solve the problem. A well-made but simplistic app never has problems adding necessary features. But a big IT system that does a lot of things poorly is usually impossible to simplify and ﬁx. Even successful “do it all” apps like WeChat, Grab, and Facebook started out with very speciﬁc functionality and only expanded after they had secured their place. Software projects rarely fail because they are too small; they fail because they get too big.
Software projects rarely fail because they
are too small; they fail because they get too big.
Unfortunately, keeping a project focused is very hard in practice: just gathering the requirements from all stakeholders already creates a huge list of features.
One way to manage this bloat is by using a priority list. Requirements are all still gathered, but each are tagged according to whether they are absolutely critical features, high-value additions, or nice-to-haves. This creates a much lower-tension planning process because features no longer need to be explicitly excluded. Stakeholders can then more sanely discuss which features are the most important, without worrying about something being left out of the project. This approach also makes explicit the trade-offs of having more features. Stakeholders who want to increase the priority for a feature have to also consider what features they are willing to deprioritise. Teams can start on the most critical objectives, working their way down the list as time and resources allow.
We followed a similar process for all our most successful apps. Form.gov.sg started out as a manual Outlook Macro that took us six hours to set up for our ﬁrst user but today has processed about a million public submissions. Data.gov.sg started out as a direct copy of an open source project and has since grown to over 300,000 monthly visits. Parking.sg had a massive list of almost 200 possible features that we never got around to building but still has over 1.1 million users today. These systems are well received not in spite of their simplicity but because of it.
In truth, modern software is so complicated and changes so rapidly that no amount of planning will eliminate all shortcomings. Like writing a good paper, awkward early drafts are necessary to get a feel of what the ﬁnal paper should be. To build good software, you need to ﬁrst build bad software, then actively seek out problems to improve on your solution.
This starts with something as simple as talking to the actual people you are trying to help. The goal is to understand the root problem you want to solve and avoid jumping to a solution based just on preconceived biases. When we ﬁrst started on Parking.sg, our hypothesis was that enforcement ofﬁcers found it frustrating to have to keep doing the mental calculations regarding paper coupons. However, after spending just one afternoon with an experienced ofﬁcer, we discovered that doing these calculations was actually quite simple for someone doing it professionally. That single conversation saved us months of potentially wasted effort and let us refocus our project on helping drivers instead.
Beware of bureaucratic goals masquerading as problem statements. “Drivers feel frustrated when dealing with parking coupons” is a problem. “We need to build an app for drivers as part of our Ministry Family Digitisation Plans” is not. “Users are annoyed at how hard it is to ﬁnd information on government websites” is a problem. “As part of the Digital Government Blueprint, we need to rebuild our websites to conform to the new design service standards” is not. If our end goal is to make citizens’ lives better, we need to explicitly acknowledge the things that are making their lives worse.
Having a clear problem statement lets you experimentally test the viability of different solutions that are too hard to determine theoretically. Talking to a chatbot may not be any easier than navigating a website, and users may not want to install yet another app on their phones no matter how secure it makes the country. With software, apparently obvious solutions often have fatal ﬂaws that do not show up until they are put to use. The aim is not yet to build the ﬁnal product, but to ﬁrst identify these problems as quickly and as cheaply as possible. Non-functional mock-ups to test interface designs. Semi-functional mock-ups to try different features. Prototype code, written hastily, could help garner feedback more quickly. Anything created at this stage should be treated as disposable. The desired output of this process is not the code written, but a clearer understanding of what the right thing to build is.
Beware of bureaucratic goals masquerading as problem statements. If our end goal is to make citizens’ lives better, we need to explicitly acknowledge the things that are making their lives worse.
With a good understanding of the right solution, you can start work on building the actual product. You stop exploring new ideas and narrow down to identifying problems with your particular implementation. Begin with a small number of testers who will quickly spot the obvious bugs that need to be ﬁxed. As problems are addressed, you can increasingly open up to a larger pool who will ﬁnd more esoteric issues.
Most people only give feedback once. If you start by launching to a large audience, everyone will give you the same obvious feedback and you’ll have nowhere to go from there. Even the best product ideas built by the best engineers will start out with significant issues. The aim is to repeatedly reﬁne the output, sanding down rough edges until a good product emerges.
Even after all this iteration, after launch is when problems with a product matter the most. A problem that happens only 0.1% of the time may not get noticed during testing. But once you have a million users, every day the problem goes unresolved is a thousand more angry people you have to deal with. You need to ﬁx problems caused by new mobile devices, network outages, or security attacks before they cause substantial harm to your users. With Parking.sg we built a series of secondary systems that continuously check the main system for any discrepancies in payments, duplicate parking sessions, and application crashes. Building up an “immune system” over time lets you avoid being overwhelmed as new issues inevitably come up.
Overall, the approach is to use these different feedback loops to efﬁciently identify problems. Small feedback loops allow for quick and easy correction but miss out on broader issues. Large feedback loops catch broader issues but are slow and expensive. You want to use both, resolving as much as possible with tight loops while still having wide loops to catch unexpected errors. Building software is not about avoiding failure; it is about strategically failing as fast as possible to get the information you need to build something good.
3. Hire the Best Engineers You Can
The key to having good engineering is having good engineers. Google, Facebook, Amazon, Netﬂix, and Microsoft all run a dizzying number of the largest technology systems in the world, yet, they famously have some of the most selective interview processes while still competing ﬁercely to recruit the strongest candidates. There is a reason that the salaries for even fresh graduates have gone up so much as these companies have grown, and it is not because they enjoy giving away money.
Both Steve Jobs and Mark Zuckerberg have said that the best engineers are at least 10 times more productive than an average engineer. This is not because good engineers write code 10 times faster. It is because they make better decisions that save 10 times the work.
A good engineer has a better grasp of existing software they can reuse, thus minimising the parts of the system they have to build from scratch. They have a better grasp of engineering tools, automating away most of the routine aspects of their own job. Automation also means freeing up humans to work on solving unexpected errors, which the best engineers are disproportionately better at. Good engineers themselves design systems that are more robust and easier to understand by others. This has a multiplier effect, letting their colleagues build upon their work much more quickly and reliably. Overall, good engineers are so much more effective not because they produce a lot more code, but because the decisions they make save you from work you did not know could be avoided.
This also means that small teams of the best engineers can often build things faster than even very large teams of average engineers. They make good use of available open source code and sophisticated cloud services, and ofﬂoad mundane tasks onto automated testing and other tools, so they can focus on the creative problem-solving aspects of the job. They rapidly test different ideas with users by prioritising key features and cutting out unimportant work. This is the central thesis of the classic book “The Mythical Man-Month”1: in general, adding more software engineers does not make a project go faster, it only makes it grow bigger.
Building software is not about avoiding failure; it is about strategically failing as fast as possible to get the information you need to build something good.
Smaller teams of good engineers will also create fewer bugs and security problems than larger teams of average engineers. Similar to writing an essay, the more authors there are, the more coding styles, assumptions, and quirks there are to reconcile in the ﬁnal composite product, exposing a greater surface area for potential issues to arise. In contrast, a system built by a smaller team of good engineers will be more concise, coherent, and better understood by its creators. You cannot have security without simplicity, and simplicity is rarely the result of large-scale collaborations.
The more collaborative an engineering effort, the better the engineers need to be. Problems in an engineer’s code affect not just his work but that of his colleagues as well. In large projects, bad engineers end up creating more work for one another, as errors and poor design choices snowball to create massive issues. Big projects need to be built on solid reliable code modules in an efﬁcient design with very clear assumptions laid out. The better your engineers, the bigger your system can get before it collapses under its own weight. This is why the most successful tech companies insist on the best talent despite their massive size. The hard limit to system complexity is not the quantity of engineering effort, but its quality.
Good software development starts with building a clear understanding of the problem you want to solve. This lets you test many possible solutions and converge on a good approach. Development is accelerated by reusing the right open source code and cloud services, granting immediate access to established software systems and sophisticated new technology. The development cycle alternates between exploration and consolidation, quickly and messily progressing on new ideas, then focusing and simplifying to keep the complexity manageable. As the project moves forward, it gets tested with successively larger groups of people to eliminate increasingly uncommon problems. Launching is when the real work ramps up for a good development team: layers of automated systems should be built to handle issues quickly and prevent harm to actual users. Ultimately, while there are inﬁnite intricacies to software development, understanding this process provides a basis to tackle the complexities of how to build good software.
Li Hongyi leads a team of engineers, designers, and product managers who build technology for the public good. Projects they have worked on include Parking.sg—an app to replace parking coupons, Form.gov.sg—a web app for building online government forms in minutes, and Data.gov.sg—the government’s open data repository. Prior to joining the public sector, Hongyi worked at Google on the distributed databases and image search teams. In his free time, he works on personal projects like typographing.com and chatlet.com.
More in this issue
Services 4.0: A New Wave of Innovation and Partnerships
FormSG: From Idea to Hit Platform in a Year
The Agile Way of Working
The information in this preliminary prospectus is not complete and may be changed. These
securities may not be sold until the registration statement ﬁled with the Securities and Exchange Commission is effective. This preliminary prospectus is not an offer to sell nor does it seek an offer to buy these securities in any jurisdiction
where the offer or sale is not permitted. This is an initial public offering of shares of Class A common stock of Cloudﬂare, Inc. Prior to this offering, there has been no public market for our Class A common stock. It is currently estimated that the initial public offering price per share will be between $ and $ . We have applied to list the Class A common stock on the New York Stock Exchange under the symbol “NET.” We have two classes of authorized common stock, Class A common stock and Class B common stock. The rights of the holders of Class A common stock and Class B common stock are substantially identical, except with respect to voting and conversion. Each share of Class A common stock is entitled to one vote per share. Following the completion of this offering, each share of Class B common stock will be entitled to 10 votes per share and will be convertible at any time into one share of Class A common stock. Following this offering, outstanding shares of Class B common stock will represent approximately % of the voting power of our outstanding capital stock. We are an “emerging growth company” as that term is used in the Jumpstart Our Business Startups Act of 2012 and, as such, may elect to comply with certain reduced public company reporting requirements in future reports after the completion of this offering. See “Risk Factors” beginning on page 16 to read about factors you should consider before buying shares of our Class A
common stock. Neither the Securities and Exchange Commission nor any other regulatory body has approved or disapproved of these securities or passed upon the accuracy or adequacy of
this prospectus. Any representation to the contrary is a criminal offense.
See the section titled “Underwriting” for a description of the compensation payable to the underwriters.
To the extent that the underwriters sell more than shares of Class A common stock, the underwriters have the option to purchase up to an additional shares from Cloudﬂare, Inc. at the initial public offering price less the underwriting discount. The underwriters expect to deliver the shares against payment in New York, New York, on or about , 2019.
20M Internet Properties as of August 15, 2019 10% of Fortune 1,000 are Paying Customers as of August 15, 2019 98% Internet Users in the
Developed World within 100ms as of August 15, 2019 44B Cyber Threats Blocked per Day approximate average over three months ended June 30, 2019 77% GAPP Gross Margin six months ended June 30, 2019 51% Revenue Growth F16-F18 CAGR see
“Prospectus Summary Consolidated Financial and Other Data”
SUMMARY CONSOLIDATED FINANCIAL AND OTHER DATA
SELECTED CONSOLIDATED FINANCIAL AND OTHER DATA
MANAGEMENT’S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS
MATERIAL U. S. FEDERAL INCOME TAX CONSEQUENCES TO HOLDERS OF OUR CLASS A COMMON STOCK
WHERE YOU CAN FIND ADDITIONAL INFORMATION
Through and including , 2019 (the 25th day after the date of this
prospectus), all dealers effecting transactions in these securities, whether or not participating in this offering, may be required to deliver a prospectus. This is in addition to the dealers’ obligation to deliver a prospectus when acting as
underwriters and with respect to their unsold allotment or subscriptions. Neither we nor any of the underwriters have authorized anyone to provide any information or to make any representations other than those contained in this prospectus or in any free writing prospectuses we have prepared. Neither we nor any of the underwriters take responsibility for, and can provide no assurance as to the reliability of, any other information that others may give you. This prospectus is an offer to sell only the shares offered hereby, but only under circumstances and in jurisdictions where it is lawful to do so. The information contained in this prospectus is current only as of its date, regardless of the time of delivery of this prospectus or of any sale of our Class A common stock. For investors outside the United States: Neither we nor any of the underwriters have done anything that would permit our initial public offering or possession or distribution of this prospectus in any jurisdiction where action for that purpose is required, other than in the United States. Persons outside the United States who come into possession of this prospectus must inform themselves about, and observe any restrictions relating to, the offering of the shares of our Class A common stock and the distribution of this prospectus outside the United States.
This summary highlights selected information that is presented in greater detail elsewhere in this prospectus. This summary does not contain all of the information
you should consider before investing in our Class A common stock. You should read this entire prospectus carefully, including the sections titled “Risk Factors” and “Management’s Discussion and Analysis of Financial
Condition and Results of Operations,” and our consolidated ﬁnancial statements and the related notes thereto included elsewhere in this prospectus, before making an investment decision. Unless the context otherwise requires, the terms
“Cloudﬂare,” “the Company,” “we,” “us,” and “our” in this prospectus refer to Cloudﬂare, Inc. and its consolidated subsidiaries, and references to our “common stock” include our
Class A common stock and Class B common stock.
Cloudﬂare’s mission is to help build a better Internet. Today, the Internet is the lifeblood of business and the primary vehicle of commerce and communication for people around the world. While it was brilliantly architected to deliver fault tolerance and robust connectivity, it was not designed to deliver the security, millisecond performance, and reliability required for businesses today.
For decades, a number of vendors have looked to address the core limitations and vulnerabilities of the Internet for businesses that operate online. These vendors built a range of standalone hardware boxes to address the emerging requirements for security, performance, and reliability. These boxes could be deployed in data centers to deliver functions such as virtual private network (VPN), ﬁrewall, routing, trafﬁc optimization, load balancing, and other network services. While they created massive complexity, cost, technical debt, and a tangled web of dependencies for the organizations that deployed them, the approach generally worked and these boxes” were able to alleviate some of the Internet’s fundamental security, performance, and reliability problems. And then the cloud happened. In recent years, the technology industry has undergone a massive transition from hardware and software that customers buy, to services in the cloud that they rent. This transition has swept through the application, compute, and storage layers of enterprise computing architectures. Organizations now exist in a complex, heterogeneous infrastructure environment which exacerbates the fundamental problems of the Internet more than ever, and the boxes that they once relied upon to solve these problems were never designed to work in such an environment. An box will not solve the problems organizations now face. Nor can a business ship a box to a cloud vendor. Even if they wanted to, there is literally no place to install such a box in the cloud. The result is that a major architectural shift at the network layer is now underway. Cloudﬂare is leading this transition. We have built a global cloud platform that delivers a broad range of network services to businesses of all sizes and in all geographies—making them more secure, enhancing the performance of their
business-critical applications, and eliminating the cost and complexity of managing individual network hardware. Our platform serves as a scalable, uniﬁed control plane to deliver security, performance, and reliability across hybrid, cloud, and (SaaS) applications. Today, approximately 10% of the Fortune 1,000 are paying Cloudﬂare customers. Additionally, across the broader Internet, approximately 10% of the top million, 17% of the top 100,000, and 18% of the top 10,000 websites use at least one product on our platform on a paid or free basis.(1) We started by building an efﬁcient, scalable network. This network forms the foundation of our platform on which we can rapidly develop and deploy our products for our customers. Together, the development of our network and products create the interconnected ﬂywheels that drive our business and have allowed us to achieve our market position.
Network Flywheel: We have created a network architecture that is ﬂexible, scalable, and becomes more efﬁcient as it expands.
Product Flywheel: We have leveraged this network to deploy products that are easy to use, continuously improved, and can be delivered without adding significant incremental cost. We have experienced significant growth, with our revenue increasing from $84.8 million in 2016 to $134.9 million in 2017 and to $192.7 million in 2018, increases of 59% and 43%, respectively. As we continue to invest in our business, we have incurred net losses of $17.3 million, $10.7 million, and $87.2 million for 2016, 2017, and 2018, respectively. For the six months ended June 30, 2018 and 2019, our revenue increased from $87.1 million to $129.2 million, an increase of 48%, and we incurred net losses of $32.5 million and $36.8 million, respectively. The Internet was not built for what it has become. Originally conceived as a decentralized, wired network to interconnect academic institutions, the Internet has evolved into a global platform for business and communications, hosting a wide variety of often mission-critical applications. While the Internet was brilliantly architected to deliver fault tolerance and robust connectivity, it was not designed to deliver the security, millisecond performance, and reliability required now that it has become the lifeblood for business and the primary vehicle of commerce and communication for humanity.
Despite the Internet’s limitations, businesses relying on it must meet customer expectations for access to their services, low latency, total reliability, and high levels of security and privacy. Furthermore, businesses are accountable for the delivery of these requirements
to every customer and employee’s desktop or mobile device, forcing them to address security, performance, and reliability globally and well beyond what they once thought of as the perimeter of their own infrastructure.
To meet evolving expectations and navigate the limitations of the Internet, businesses have traditionally relied on a broad array of hardware devices deployed in data centers to deliver
These percentages are derived from Datanyze, Market Share, from January 2019, based on the average percentage market share for website optimization, domain name system, security, and content delivery network solutions for websites in the Alexa top million, top 100,000, and top 10,000. Refer to the section titled “Industry and Market Data.”
functions such as VPN, ﬁrewall, routing, trafﬁc optimization, load balancing, and other network services. These boxes were meant to patch the Internet and address its core limitations. While the boxes added some security, performance, and reliability beneﬁts, they contributed to massive complexity, cost, technical debt, and a tangled web of dependencies. In spite of the drawbacks, the boxes were sufﬁcient to ensure the safety, functionality, and resilience required by businesses that could afford them in the paradigm. But these boxes were never designed to work in the cloud.
In recent years, the technology industry has been undergoing a transition from hardware and software that customers buy, to services in the cloud that they rent. Application vendors led this transition as companies like Salesforce, Workday, and NetSuite provided cloud-based, multi-tenant solutions that disrupted legacy,
software from companies like SAP, Oracle, and Microsoft. Compute and storage followed, with public cloud vendors such as Amazon Web Services, Microsoft Azure, Google Cloud Platform, and Alibaba Cloud disrupting server and storage vendors like HP, Dell, Lenovo, and Sun Microsystems. The Network Layer Transitions to the Cloud
The rise of cloud computing architectures alongside the massive increase in mobile devices vastly complicates the already difﬁcult task of securing and optimizing applications. Organizations exist in a complex, heterogeneous infrastructure environment of public cloud, and hybrid deployments. The threat landscape, functional requirements, and scale of business applications are evolving faster than ever before, and the volume and sophistication of network attacks can strain the defensive capabilities of even the most advanced enterprises.
The hardware-based, inﬂexible, boxes that organizations once relied upon to meet these challenges were never designed to work in an environment like this. And even if the boxes could scale to meet the challenges of the modern enterprise, a business cannot simply ship a box to a cloud vendor. There is literally no place to install such a box in the cloud. This is forcing a major architectural shift in how enterprises address security, performance, and reliability at the network layer. The functionality provided by companies such as Cisco Systems, Juniper Networks, F5 Networks, Check Point Software, Palo Alto Networks, FireEye, Riverbed Technology, and others is being elevated, abstracted, and uniﬁed into the cloud.
We have built a global cloud platform that delivers a broad range of network services to businesses of all sizes around the world—making them more secure, enhancing the performance of their business-critical applications, and eliminating the cost and complexity of managing and integrating individual network hardware. We provide businesses a scalable, uniﬁed control plane to deliver security, performance, and reliability across their hybrid, cloud, and SaaS applications. Previously, enterprises would often string together a diverse set of boxes from different vendors to solve their network challenges. As these solutions move to the cloud, the network
latency, support complexity, and cost of overhead makes stringing together multiple point-cloud solutions that only address a speciﬁc network need untenable. Customers are therefore looking to consolidate behind a single platform. We offer this uniﬁed control plane. Customers who join our platform using one product can adopt our other seamlessly integrated products with a single click. We serve comprehensive customer needs across security, performance, and reliability. Our platform and business model are designed to make rolling out our new products fast and efﬁcient. We believe that platforms with the broadest catalogue of products will ultimately beat point-cloud solutions. To achieve what we have, we started by building an efﬁcient, scalable network. This network forms the foundation of our platform on which we can develop and deploy our products for our customers. Together the development of our network and products create the interconnected ﬂywheels that drive our business and have allowed us to achieve our market position.
We have created a network architecture that is ﬂexible, scalable, and gets more and more efﬁcient as it expands. We designed and built our network to be able to grow capacity quickly and inexpensively; to allow for every server, in every city, to run every Cloudﬂare service; and to allow us to shift customers and trafﬁc across our network efﬁciently. We refer to this architecture as “serverless” because it means we can deploy standard, commodity hardware, and our product developers and customers do not need to worry about the underlying servers. Our software automatically manages the deployment and execution of our product developers’ code and our customers’ code across our network. Because we manage the execution and prioritization of code running across our network, it means that we are both able to optimize the performance of our highest paying customers and also effectively leverage idle capacity across our network. We have chosen to utilize this idle capacity to create a free tier of service—which has generated substantial global scale for us. In turn, this scale makes us attractive partners for Internet Service Providers (ISPs) globally, which reduces our and bandwidth costs. As our network grows, these dynamics become even more powerful. Today, our network spans 193 cities in over 90 countries and interconnects with over 8,000 networks globally, including major ISPs, cloud services, and enterprises. We estimate that we operate within 100 milliseconds of 98% of the Internet-connected population in the developed world, and 93% of the Internet-connected population globally (for context, the blink of an eye is 300-400 milliseconds).(2) And, we have built this powerful network while achieving U. S. GAAP gross margin of 77% in the year ended December 31, 2018 and the six months ended June 30, 2019, demonstrating the cost and capital efﬁciency of our model.
We began with the idea of serving the broadest possible market. To do this, we made our products easy to use and affordable and were able to provide our entry level plan for free in part because of the cost advantage of our network. We leverage the resulting customer scale and diversity to continuously make our products better. Our machine learning systems improve our products with every customer’s request, optimizing our security, performance, and reliability globally. The over 20 million Internet properties (e.g., domains, websites, application programming interfaces, and mobile applications) that use our platform comprise a global sensor network, which functions like an immune system for the Internet—routing around congestion, optimizing for trafﬁc conditions, and using data on cyber attacks
These percentages are derived from our observed round-trip time for all unique IP addresses sending or receiving trafﬁc through our network in the Organisation for Economic Co-operation and Development countries and in all countries, respectively.
against any one of our customers to better protect them all. We leverage these insights to block cyber threats every day, which in the three months ended June 30, 2019 averaged approximately 44 billion per day. Feedback from our diverse, global customer base helps us expand into new, adjacent product areas. Since our customers’ trafﬁc is already passing through our network, our serverless architecture means we can add products on our platform to solve new network challenges without significantly increasing our incremental costs. This allows us to provide new products at competitive prices and further expand the overall market.
We believe our platform disrupts several large and well-established IT markets. The key markets that are addressed by our platform include VPN, internal and external ﬁrewalls, web security (including web application ﬁrewalls and content ﬁltering), distributed denial of service (DDoS) prevention, intrusion detection and prevention, application delivery controls, content delivery networks, domain name systems, advanced threat prevention (ATP), and wide area network (WAN) technology. From our analysis based on IDC data, $31.6 billion was spent on those products in 2018, which is expected to grow to $47.1 billion in 2022, representing a compound annual growth rate of 10.5%. We also are actively developing new products to address adjacent markets including compute, storage, 5G, and Internet of Things (IoT) that are not included in the estimate of our addressable market.
We have six distinct advantages that uniquely position us to win:
Disruptive Business Model. Our business model is designed for efﬁciency. Our network and product ﬂywheels create a virtuous cycle that has driven down our unit costs over time while we increase the diversity and quality of our products. We believe that our serverless platform’s ﬂexibility, as well as our aligned interests with our ISP partners, allows us to continue to become more efﬁcient as we expand our network. At the same time, this architecture allows us to add new products and features across our platform without significant additional operating costs.
Ease of Use. A new customer can sign up in minutes, regardless of its technical ability or budget. The ease of use of our products significantly increases our total addressable market and has also allowed our enterprise customers, which consist of customers that sign up for our Enterprise plan, to simplify and streamline their network operations.
Efﬁcient Go-to-Market Model. Our strategy is designed to efﬁciently address the broad market we serve. Our self-serve offering, coupled with our attractive pricing, allows customers to easily adopt our products. We augment our self-serve offering with a highly productive sales force to serve larger customers.
Product Innovation and Velocity. We drive product innovation by continuously improving our platform through machine learning and diverse customer feedback. Our systems learn from every request that passes through our network. This allows us to automatically mitigate new attacks, optimize protocols for the best performance, and reroute trafﬁc to avoid network outages. Many of our free customers volunteer to test new features early in the development cycle, which allows us to ensure product excellence before deploying to our paying customers.
Integrated, Global Offering. Our network spans 193 cities in over 90 countries, and this ﬂexible, serverless platform offers the same set of core features in every city and country. This gives our customers a uniﬁed control plane—whether they are running with SaaS vendors, in hybrid environments, or solely in the public cloud. Additionally, because we offer an integrated solution, we do not force our customers to choose between safer, faster, or stronger—our solution offers security, performance, and reliability by design.
Trust and Neutrality. As businesses move to the cloud, there are increasing concerns over interoperability and avoiding being locked into any one public cloud vendor. We empower customers to overcome these concerns through our independence and neutrality. Moreover, unlike some public cloud providers, our business model aligns with the interests of our customers. We do not sell user data. Nor do we aim to compete with our customers.
Acquire New Customers: We believe that any person or business that relies on the Internet to deliver products, services, or content can be a Cloudﬂare customer. We will continue to grow our customer base across all of our service offerings—free, self-serve, and enterprise.
Expand Our Relationships with Existing Customers: Today, approximately 10% of the Fortune 1,000 are paying Cloudﬂare customers. Additionally, across the broader Internet, approximately 10% of the top one million, 17% of the top 100,000, and 18% of the top 10,000 websites use at least one product on our platform on a paid or free basis. Customers expand their relationships with us by upgrading to premium plans, increasing their usage of our platform, or adding products. Once a customer has adopted one product on our platform, it can easily add additional products with a single click. Over 70% of our enterprise customers already leverage four or more of our products.
Develop New Products: We continue to invest in new product development, and as we onboard more customers and more trafﬁc on our network, our ability to identify promising new avenues for innovation improves.
Extend Our Serverless Platform Strategy: We have opened our serverless platform to outside developers with a product called Cloudﬂare Workers. This enables our customers to write and deploy their own code in seconds directly onto our global cloud platform and have it run close to their users. We have seen a growing number of customers bring applications to market using Cloudﬂare Workers. This opens up an entirely new market for us: compute and storage.
Our business is subject to numerous risks and uncertainties, including those highlighted in the section titled “Risk Factors” immediately following this prospectus summary. These risks include, but are not limited to, the following:
We have a history of net losses and may not be able to achieve or sustain profitability in the future.
We have experienced rapid revenue growth, which may not be indicative of our future performance.
If we are unable to attract new paying and free customers, our future results of operations could be harmed.
Our business depends on our ability to retain and upgrade paying customers and, to a lesser extent, convert free customers to paying customers, and any decline in renewals, upgrades, or conversions could adversely affect our future results of operations.
Problems with our internal systems, networks, or data, including actual or perceived breaches or failures, could cause our network or products to be perceived as insecure, underperforming, or unreliable, our reputation to be damaged, and our ﬁnancial results to be negatively impacted.
Activities of our paying and free customers or the content of their websites and other Internet properties could subject us to liability.
Activities of our paying and free customers or the content of their websites or other Internet properties, as well as our responses to those activities, could cause us to experience adverse political, business, and reputational consequences with customers, employees, suppliers, government entities, and others.
Although offering a free self-serve plan for certain of our products is an important part of our business strategy, we may not be able to realize all of the expected beneﬁts of this strategy and the costs and other detriments associated with our free plan could outweigh the beneﬁts we receive from our free customers.
The actual or perceived failure of our products to block malware or prevent a security breach could harm our reputation and adversely impact our business, results of operations, and ﬁnancial condition.
If our global network that delivers our products or the core facilities we use to operate our network are damaged or otherwise fail to meet the requirements of our business, our ability to provide access to our platform and products to our customers and maintain the performance of our network could be negatively impacted, which could cause our business, results of operations, and ﬁnancial condition to suffer.
If our customers’ or channel partners’ access to our platform and products is interrupted or delayed for any reason, our business could suffer.
Detrimental changes in, or the termination of, any of our
relationships, ISP partnerships, or our other interconnection relationships with ISPs could adversely impact our business, results of operations, and ﬁnancial condition.
The dual-class structure of our common stock will have the effect of concentrating voting control with those stockholders who held our capital stock prior to the completion of this offering, and it may depress the trading price of our Class A common stock.
Investors, the media, and others should note that, following the completion of this offering, we intend to announce material information to the public through ﬁlings with the Securities and Exchange Commission (the SEC), the investor relations page on our website, press releases, public conference calls, webcasts, our company news site at https://www.cloudﬂare.com/press, and our corporate blog at https://blog.cloudﬂare.com.
The information disclosed by the foregoing channels could be deemed to be material information. As such, we encourage investors, the media, and others to follow the channels listed above and to review the information disclosed through such channels. Any updates to the list of disclosure channels through which we will announce information will be posted on the investor relations page on our website. We were incorporated in the state of Delaware in July 2009. Our principal executive ofﬁces are located at 101 Townsend Street, San Francisco, California 94107, and our telephone number is (888) Our website address is www.cloudﬂare.com and our corporate blog’s address is https://blog.cloudﬂare.com. Information contained on, or that can be accessed through, our website or blog does not constitute part of this prospectus and inclusions of our website and blog addresses in this prospectus are inactive textual references only.
“Cloudﬂare,” our logo, and our other registered or common law trademarks, service marks, and trade names appearing in this prospectus are the property of Cloudﬂare, Inc. Other trademarks and trade names referred to in this prospectus are the property of their respective owners. We are an “emerging growth company” as deﬁned in the Jumpstart Our Business Startups Act of 2012 (the JOBS Act). An emerging growth company may take advantage of speciﬁed reduced reporting requirements that are otherwise applicable generally to public companies. These reduced reporting requirements include:
an exemption from compliance with the auditor attestation requirement on the effectiveness of our internal control over ﬁnancial reporting;
an exemption from the requirements to obtain a advisory vote on executive compensation or stockholder approval of any golden parachute arrangements; and
extended transition periods for complying with new or revised accounting standards.
We may take advantage of these provisions until we are no longer an emerging growth company. We would cease to be an “emerging growth company” upon the earliest to occur of: (i) the last day of the ﬁscal year in which we have greater than $1.07 billion in annual revenue; (ii) the date we qualify as a “large accelerated ﬁler,” with at least $700 million of equity securities held by (iii) the date on which we have, in any three-year period, issued greater than $1.0 billion in debt securities; and (iv) the last day of the ﬁscal year ending after the ﬁfth anniversary of this offering. We may choose to take advantage of some but not all of these reduced reporting burdens. We have taken advantage of certain reduced reporting burdens in this prospectus. Accordingly, the information contained herein may be different than the information you receive from other public companies in which you hold stock.
The JOBS Act permits an emerging growth company like us to take advantage of an extended transition period to comply with new or revised accounting standards applicable to public companies. We have elected to use this extended transition period until we are no longer an emerging growth company or until we afﬁrmatively and irrevocably opt out of the extended transition period. As a result,
our ﬁnancial statements may not be comparable to companies that comply with new or revised accounting pronouncements as of public company effective dates.
See the section titled “Risk Factors—Risks Related to Ownership of Our Class A Common Stock—We are an “emerging growth company” and we cannot be certain if the reduced disclosure requirements applicable to emerging growth companies will make our Class A common stock less attractive to investors.”
Class A common stock to be outstanding after this offering
Class B common stock to be outstanding after this offering
Total Class A common stock and Class B common stock to be outstanding after this offering
Underwriters’ option to purchase additional shares of Class A common stock from us
We estimate that the net proceeds to us from the sale of shares of our Class A common stock in this offering will be approximately $ (or approximately $ if the underwriters’ option to purchase additional shares of our Class A common stock from us is exercised in full), based upon the assumed initial public offering price of $ per share, which is the midpoint of the offering price range set forth on the cover page of this prospectus, and after deducting underwriting discounts and commissions and estimated offering expenses.
The principal purposes of this offering are to increase our capitalization and ﬁnancial ﬂexibility, create a public market for our Class A common stock, and enable access to the public equity markets for us and our stockholders. We intend to use the net proceeds we receive from this offering for general corporate purposes, including working capital, operating expenses, and capital expenditures. Additionally, we may use a portion of the net proceeds we receive from this offering to acquire businesses, products, services, or technologies. However, we do not have agreements or commitments for any material acquisitions at this time. See “Use of Proceeds” for additional information.
Shares of our Class A common stock are entitled to one vote per share.
Following the completion of this offering, shares of our Class B common stock will be entitled to 10 votes per share.
Holders of our Class A common stock and Class B common stock will generally vote together as a single class, unless otherwise required by law or our amended and restated
certiﬁcate of incorporation. The holders of our outstanding Class B common stock will hold approximately % of the voting power of our outstanding capital stock following this offering and will have the
ability to control the outcome of matters submitted to our stockholders for approval, including the election of our directors and the approval of any change in control transaction. Additionally, our executive ofﬁcers, directors, and holders of 5%
or more of our common stock will hold, in the aggregate, approximately % of the voting power of our outstanding capital stock following this offering. See “Principal Stockholders” and “Description of Capital
Stock” for additional information.
The number of shares of our Class A common stock and Class B common stock that will be outstanding after this offering is based on 46,360,728 shares of our Class A common stock and 211,982,959 shares of our Class B common stock outstanding as of June 30, 2019, and reﬂects:
31,381,152 shares of redeemable convertible preferred stock that will automatically convert into shares of Class A common stock immediately prior to the completion of this offering pursuant to the terms of our amended and restated certiﬁcate of incorporation;
14,979,576 shares of our Class B common stock held by former employees that will automatically convert into shares of Class A common stock immediately prior to the completion of this offering pursuant to the terms of our amended and restated certiﬁcate of incorporation; and
134,276,690 shares of redeemable convertible preferred stock that will automatically convert into shares of Class B common stock immediately prior to the completion of this offering pursuant to the terms of our amended and restated certiﬁcate of incorporation, which together with the conversion of redeemable convertible preferred stock and shares of Class B common stock into Class A common stock, we refer to as the Capital Stock Conversions. The shares of our Class A common stock and Class B common stock outstanding as of June 30, 2019 exclude the following:
23,558,731 shares of our Class B common stock issuable upon the exercise of options to purchase shares of our Class B common stock outstanding as of June 30, 2019, with a weighted-average exercise price of $2.27 per share;
No shares of our Class B common stock issuable upon the exercise of options to purchase shares of our Class B common stock granted after June 30, 2019;
177,410 shares of our Class B common stock issuable pursuant to warrants to purchase an aggregate of 177,410 shares of our redeemable convertible preferred stock outstanding as of June 30, 2019, with a weighted-average exercise price of $0.34 per share;
A password will be e-mailed to you.
World’s Largest Rooftop Urban Farm is Set to Open in Paris Next Year
Watch Youngsters Challenge Strangers on the Street to Watergun Fight During Hot Summer Day
No More ‘Sniff Tests’: Cheap Biodegradable Sensors Can Tell Smartphones When Food Has Gone Bad
Foot Doctor Saves Passenger’s Life by Following His Instincts and Ignoring Orders From the Ground
Man’s Emotional Tale of How His Father’s Rebellious Blues Song Helped Him Escape Sleepy Southern Town
This Simple Morning Practice Can Pave Your ‘Path to Wealth’ and Prosperity
Listen to Woman’s Sweet Marriage Proposal Story About Popping the Question to Her Longtime Boyfriend
American Brothers Successfully Save Irish Girl Swept Out to Sea in Serendipitous Twist of Fate (GNN Podcast)
The GNN Paperback Book: “And Now, The Good News”
The Nutrition Company On a Mission to Help Others
Buy Men’s Shoes, And a Free Pair Goes to the Homeless
This Tasty Seaweed Reduces Cow Emissions by 99%—and It Could Soon Be…
This Tasty Seaweed Reduces Cow Emissions by 99%—and It Could Soon Be a Climate Gamechanger
A puffy pink seaweed that can stop cows from burping out methane is being primed for mass farming by Australian researchers.
The particular seaweed species, called Asparagopsis, grows prolifically off the Queensland Coast, and was the only seaweed found to have the effect in a study ﬁve years ago led by CSIRO. Even a small amount of the seaweed in a cow’s diet was shown to reduce the animal’s gases by 99%.
Associate Professor Nick Paul, who is the leader of the Seaweed Research Group at the University of the Sunshine Coast (USC), said that if Australia could grow enough of the seaweed for every cow in the nation, the country could cut its greenhouse gas emissions by 10%.
“Seaweed is something that cows are known to eat. They will actually wander down to the beach and have a bit of a nibble,” Dr. Paul said.
RELATED: Student Treks to Yellowstone and Finds Bacteria That Eats Pollution and ‘Breathes’ Electricity
“When added to cow feed at less than 2% of the dry matter, this particular seaweed completely knocks out methane production. It contains chemicals that reduce the microbes in the cows’ stomachs that cause them to burp when they eat grass.”
The USC team is working at the Bribie Island Research Centre in Moreton Bay to learn more about how to grow the seaweed species, with the goal of informing a scale-up of production that could supplement cow feed on a national—and even global scale.
“This seaweed has caused a lot of global interest and people around the world are working to make sure the cows are healthy, the beef and the milk are good quality,” Dr. Paul said.
“That’s all happening right now. But the one missing step, the big thing that is going to make sure this works at a global scale, is to make sure we can produce the seaweed sustainably.
LOOK: Trees Growing Out of Buildings Could Help Heal China’s Air Pollution Problem
“If we’re able to work out how to scale up the seaweed to such a level to that can feed all of the cows and the sheep and the goats around the world, then it’s going to have a huge impact on the climate; it’s going to address a whole lot of carbon-neutral agendas that different countries have; and it’s ultimately going to save us all billions of dollars,” he concluded.
This article was reprinted from the University of the Sunshine Coast.
Feed Your Friends Some Positivity By Sharing The Good News To Social Media…
SUMMER SALE! 20% Off, Plus Free Shipping on our GOOD NEWS Book
Quote of the Day
Check Out the Weekly GNN Radio Stories From Our Good News Guru
”We ﬁnally got a 3D creation tool like paper and pencil”
The reason why Khara, Inc. started moving to Blender.
Khara, Inc. is known as Hideaki Anno’s motion picture planning and production company. They are currently working on “EVANGELION:3.0+1.0”, ﬁlm to be released in June 2020.
It was titled “Supporting Blender Development Fund”, announcing that they support Blender Foundation on developing the open source 3D creation software “Blender”.
Of course, it was not only a story of funding.
Khara and Anime/CG production company “Project Studio Q, Inc.” are preparing to switch their primary 3D CG tools to Blender. Blender will be used for some parts of “EVANGELION:3.0+1.0” they are currently working on.
3D CG is essential to modern Anime productions. Not only the so called “animation ﬁlms” such as those from Pixar and Dreamworks, but it’s now common for 3D CG to be used in many Anime ﬁlms. 3D CG and hand-drawing make a great combination that improves productivity and quality of Anime.
Khara is a company focusing on a “hybrid of 3D CG and hand-drawing”. They are currently working on “EVANGELION:3.0+1.0” with the same policy. They also founded “Project Studio Q, Inc.” in 2017, a company focusing mainly on the movie production and the training of Anime artists as the joint venture with Dwango Co., Ltd. and Aso College Group.
Khara has been using Autodesk “3ds Max” as their primary tool so far. “EVANGELION:3.0+1.0” production is mainly done with 3ds Max. They are now starting to switch from 3ds Max to Blender. Usually the reason being “due to differences such as quality and functionalities”, but Khara’s reason is different.
Hiroyasu Kobayashi, General Manager of Digital Dpt. and Director of the Board of Khara and President of Studio Q, and Daisuke Onitsuka, CGI Director of Digital Dpt. of Khara and General Manager of Production Dpt. of Studio Q, told about their situation.
“Simply, the project scale got bigger than what was possible with 3ds Max.”
– Hiroyasu Kobayashi
“We need more production resources from outside, not only from Studio Q. We need cooperative work with friend companies for our production. However, many of those companies are small or middle-sized, so if we stick to 3ds Max it will cause higher management costs.”
– Daisuke Onitsuka
You may need a bit further explanation about this.
3dx Max is offered by Autodesk on subscription fee basis, this fee is expensive. According to Autodesk’s website, an annual fee for a single user is JPY 254,880. It is expensive still when they offer discounts for multiple users and years. A large company can absorb this cost with a number of users as it has large revenue. But it turns out to be difﬁcult to recoup those costs of 3ds Max for all users in a company of 20-30 people size.
Different tools are used depending on the studios and works in Anime production. Productivity decreases unless they use the same tools and assets (materials such as models, animation data, etc.). Due to this, they tend to work with companies that use the same tools.
3ds Max is an excellent tool and one of the industry standards, but in some cases it causes a “lack of artists” due to its high costs.
In the past, Khara thought of moving to “Maya” which has as many users as 3ds Max in the industry. “We worked with data prepared for both 3ds Max and Maya, for Maya users.” said Onitsuka. But resulted in a duplication of work resources to have the same data twice. Now, Blender attracted their attention.
Onitsuka: “As a matter of course, we can produce with the same quality and schedule to maximize the efﬁciency of our limited budget. Blender is an open source software and available for free. Also, it has almost the same functionalities with other software, so it was undoubtly attractive to us. While we still have the challenge whether a new partner company can use Blender or not, but at least, cost-wise is much simpler, so we are proposing them to use Blender as we use it.”
No lack of functionalities are blocking the switch. In fact, “Grease Pencil” was key to make the move.
Of course they can not switch the tools if a new tool is lacking functionalities for production. Blender’s reputation has been “for beginners” or “for students” because it was free software. However, the latest version has more functionalities and the difference between Blender and other tools is getting smaller.
Khara had started thinking of the use of Maya 3 years ago, and also about Blender right after that.
Kobayashi: “We have been watching on it and got the feeling that we can use it as our primary software. Discussing with Onitsuka, we decided that we may be better to use Blender as our primary tool than to use various software in the future.”
Takumi Shigyo at production dpt. of Studio Q, has been using Blender also for private use. He is a top “Blender wizard” at Khara and Studio Q. Artists like him helped Khara’s decision to move to Blender. Shigyo spoke about Blender as follows.
“I feel the latest Blender 2.8 is intentionally ‘ﬁlling the gap’ with 3ds Max to make those users feel at home when coming to Blender. I think the learning curve should be no problem.”
– Takumi Shigyo
And there was a key functionality that brought Khara to Blender as production studio of “2D Anime works”. It was “Grease Pencil”.
You can draw lines in 3D space directly with a pen, and not only by making 3D models but you can also draw extra details in the animations themselves.
Onitsuka: “As for our work, we create an image in 3D, and modify it into each frame as ‘2D Anime’. Even a chief animation director directly modiﬁes each frame manually. We also even add shadows with tools like After Effect afterwards. For example, if we wanted a more sharp elbow in a character, we had to modify the 3D model and insert custom rigs (skeleton) into them. This was time consuming. But Blender enables us to draw with Grease Pencil after the animation is ﬁnished. It may not be the way for photo-real CG but it’s a good way for 2D Anime. This helps reducing rigging costs.”
“More animators who are not from 3D are choosing Blender as a ‘steppin-up’ tool not only because it is free software but because of Grease Pencil. This is an important factor for our decision.”
– Hiroyasu Kobayashi
Studio Q is also a facility for training new animators. They are hosting a contest for creators “Award:Q”, more and more candidates are using Blender nowadays.
Shigyo: “We are getting more artists that started by using Blender in Studio Q. We are also seeing more high quality works by Blender users from high school students in Award:Q. I expect these new generations to be the majority working at studios in the future.”
As mentioned, Khara uses Blender, not only the software itself but also helps the Blender Foundation by joining the Development Fund as a corporate member.
Masahiro “Rocky” Iwami, Production Manager of Digital Dpt. of Khara and General Manager of Overseas Dpt. of Studio Q, who is the primary contact person with the Foundation, said “We had no special relationship with Blender Foundation before this”.
Iwami: “We had the contact information of Foundation chairman Mr. Ton Roosendaal, on their website. We got in touch with him from there. It was lucky that the name of ‘Evangelion’ attracted his attention. He kindly replied back to us immediately. We were glad to know that he thought the news that Japanese Anime companies using Blender was important for both of us. We became the ﬁrst, leading player in Japanese Anime industry. As a corporate member of the Blender Development Fund, we are expecting our proposals may be closer to the development team. We would like to get closer with the Blender developers community.”
One of the advantages of Blender is being open source, anyone can develop and add their own functionalities to Blender. Regarding this, Kobayashi said “Development details are to come”.
Onitsuka: “Please understand that we are keeping a good relationship with Autodesk. Not only with Autodesk but also with other companies, we keep requesting improvements. However, it takes time for those improvements to make it to proprietary software. We expect faster improvements by using open source software.”
The full switch will take place after “EVANGELION:3.0+1.0”, but Blender is already used in it.
Some people may think “EVANGELION:3.0+1.0” can be made by Blender from the beginning. But pipelines do not switch that fast in reality.
Kobayashi: “Preliminary testing has been done already. We are now at the stage to create some cuts actually with Blender as ‘on live testing’. However, not all the cuts can be done by Blender yet. But we think we can move out from our current stressful situation if we place Blender into our work ﬂows. It has enough potential ‘to replace existing cuts’.”
Onitsuka: “We will be working on ‘EVANGELION:3.0+1.0’ until June 2020, so all the process cannot be changed before that. But we think we can say that ‘we use Blender from this time onwards’ for the next project. We would like to use and test Blender aggressively in our current ‘EVA’ for the ongoing year.”
Kobayashi: “There are currently some areas where Blender cannot take care of our needs, but we can solve it with the combination with Unity. Unity is usually enough to cover 3ds Max and Maya as well. Unity can be a bridge among environments.”
Onitsuka: “Hand-draw animators can start drawing only with paper and pencil. Just like that, 3D CG animators can start creating only with Blender at the same level cost with ‘paper and pencil’. We already started speaking to partner companies ‘let’s use Blender together’. We are just starting now but high quality work Blender can be the best proof that our choice is the right one. What shows our value is the pictures we make, not the techniques and technologies. We want to share the know-hows with studios so that the Blender community will grow through those.”
OpenDrop is a command-line tool that allows sharing ﬁles between devices directly over Wi-Fi. Its unique feature is that it is protocol-compatible with Apple AirDrop which allows to share ﬁles with Apple devices running iOS and macOS. Currently (and probably also for the foreseeable future), OpenDrop only supports sending to Apple devices that are discoverable by everybody as the default contacts only mode requires Apple-signed certiﬁcates.
OpenDrop is experimental software and is the result of reverse engineering efforts by the Open Wireless Link project. Therefore, it does not support all features of AirDrop or might be incompatible with future AirDrop versions. OpenDrop is not afﬁliated with or endorsed by Apple Inc. Use this code at your own risk.
To achieve compatibility with Apple AirDrop, OpenDrop requires the target platform to support a speciﬁc Wi-Fi link layer. In addition, it requires Python >=3.6 as well as several libraries.
Apple Wireless Direct Link.
As AirDrop exclusively runs over Apple Wireless Direct Link (AWDL), OpenDrop is only supported on macOS or on Linux systems running an open re-implementation of AWDL such as OWL.
OpenDrop relies on current versions of OpenSSL and libarchive. macOS ships with rather old versions of the two, so you will need to install newer version, for example, via Homebrew. In any case, you will need to set the two environmental variables LIBARCHIVE and LIBCRYPTO accordingly. For example, use brew to install the libraries:
brew install libarchive firstname.lastname@example.org
Linux distributions should ship with more up-to-date versions, so this won’t be necessary.
Installation of the Python package release is straight forward using pip3:
pip3 install opendrop
You can also install the current development version by ﬁrst cloning this repository, and then installing it via pip3:
pip3 install ./opendrop
We brieﬂy explain how to send and receive ﬁles using opendrop. To see all command line options, run opendrop -h.
Sending a ﬁle is typically a two-step procedure. You ﬁrst discover devices in proximity using the ﬁnd command. Stop the process once you have found the receiver.
$ opendrop ﬁnd
Looking for receivers. Press enter to stop …
Found index 0 ID eccb2f2dcfe7 name John’s iPhone
Found index 1 ID e63138ac6ba8 name Jane’s MacBook Pro
You can then send a ﬁle using
$ opendrop send -r 0 -f /path/to/some/ﬁle
Asking receiver to accept …
Uploading ﬁle …
Uploading has been successful
Instead of the index, you can also use ID or name. OpenDrop will try to interpret the input in the order (1) index, (2) ID, and (3) name and fail if no match was found.
Receiving is much easier. Simply use the receive command. OpenDrop will accept all incoming ﬁles automatically and put received ﬁles in the current directory.
$ opendrop receive
OpenDrop is the result of a research project and, thus, has several limitations (non-exhaustive list below). I do not have the capacity to work on them myself but am happy to provide assistance if somebody else want to take them on.
Triggering macOS/iOS receivers via Bluetooth Low Energy. Apple devices start their AWDL interface and AirDrop server only after receiving a custom advertisement via Bluetooth LE (see USENIX paper for details). This means, that Apple AirDrop receivers may not be discovered even if they are discoverable by everyone.
Sender/Receiver authentication and connection state. Currently, there is no peer authentication as in Apple’s AirDrop, in particular, (1) OpenDrop does not verify that the TLS certiﬁcate is signed by Apple’s root and (2) that the Apple ID validation record is correct (see USENIX paper for details). In addition, OpenDrop automatically accepts any ﬁle that it receives due to a missing connection state.
Sending multiple ﬁles. Apple AirDrop supports sending multiple ﬁles at once, OpenDrop does not (would require adding more ﬁles to the archive, modify HTTP /Ask request, etc.).
* Milan Stute, Sashank Narain, Alex Mariotto, Alexander Heinrich, David Kreitschmann, Guevara Noubir, and Matthias Hollick. A Billion Open Interfaces for Eve and Mallory: MitM, DoS, and Tracking Attacks on iOS and macOS Through Apple Wireless Direct Link. 28th USENIX Security Symposium (USENIX Security ’19), August 14–16, 2019, Santa Clara, CA, USA. Link
OpenDrop is licensed under the GNU General Public License v3.0. We use a modiﬁed version of the python-zeroconf package (essentially adding rudimentary IPv6 and AWDL support) which is licensed under the GNU Lesser General Public License v2.1. Both licenses are found in the LICENSE ﬁle.
My mom fainted the ﬁrst time she set foot in an American supermarket. It was 1981 and we were freshly arrived in America, and some combination of the culture shock and smell and sensory overload of a Safeway was too much for her, not normally a fainting woman.
I didn’t faint, but I stood transﬁxed in the cereal aisle. After six long years on Earth, here was a place that understood me. These were cartoon characters, made of pure sugar, that you could eat as a meal. Every box had a toy inside. How could I possibly choose just one?
Houston in that era was not an earthly paradise. But try telling that to visitors like us, dazzled by the sheer abundance of American capitalism. There were superhighways in the center city! Everyone had a giant car! You could drive that car up to a restaurant with a yellow “M” on it, and a teenager would hand you a bucket of pink ice cream through the window! According to the sign on the restaurant, this had happened billions of times. It was overwhelming.
All that prelude is to say, coming in to the Hong Kong protests from a less developed country like the United States is disorienting. If you have never visited one of the Zeroth World cities of Asia, like Taipei or Singapore, it can be hard to convey their mix of high density, mazelike design, utterly reliable public services, and high social cohesion, any more than it was possible for me or my parents to imagine a real American city, no matter how many movies we saw. And then to have to write about protests on top of it!
It’s hard to write articulately about the Five Demands when one keeps getting brought up short by basic things, like the existence of clean public bathrooms.
The time and location of protests are set via social media alchemy; once you get notiﬁed about one, you descend through a spotless mall onto a bright and clean train platform, get whisked away by a train that arrives almost immediately, step out into another mall, then ﬁnally walk outside into overwhelming heat and a gathering group of demonstrators.
When it’s over, whether the demonstrators have dispersed of their own will, or are running from rubber bullets and tear gas, you duck into another mall, and another train, and within minutes are back in a land of inﬁnite hypercommerce, tiny alleys and posh hotels with their lobby on the 40th ﬂoor of a skyscraper.
Not everyone lives in a luxury hotel, man! I get it. But my eyes are like saucers. I ask forgiveness of Hong Kongers if at times I am still that six year old kid, dazzled by what to you is ordinary. You live in a kind of city we Americans can only aspire to, and it’s no wonder you love your home so much you will take any risk to save it.
Word spreads that there will be a protest in Tai Po, a residential district in the New Territories, close to the border. The protesters have been cycling events through different neighborhoods, as a way of building sympathy with the people, who can look out from their windows and watch the police reaction ﬁrsthand. At this point, the police reaction almost inevitably means tear gas, and people have been gassed in their own apartments, on high ﬂoors. This is a particular hardship for the sick and elderly, already struggling in the heat.
One of the deeper causes of the present crisis of legitimacy is the housing crisis in Hong Kong, another way in which the government has failed the people it is meant to represent, and you can see it in the extraordinary density of apartment buildings, each unit pock-marked with an air conditioner, tiny living spaces with some of the highest rents in the world.
Tai Po is easily reachable by MTR, the city’s commuter train system. Everywhere except the islands is easily reachable by MTR. The MTR is the one technology the Hong Kong protests could not do without, an autonomous ﬁefdom that the police mostly stay out of. It is neutral territory. The train ride is uneventful until we get off at Tai Po station, where there are an unusual number of people in black, the color of the protests (lucky is the Hong Konger who started the summer as a goth or metal fan, and has some wardrobe options!)
The arriving protesters stream out of the station in groups, consolidating as they approach the rallying point in a local park. Volunteers along the way pass out ﬂyers and hold directional signs. There is a mix of ages, though they trend young. The typical Hong Kong protester, researchers tell us, is a college educated professional in their twenties. There is a roughly equal gender balance.
The streets around the park are almost free of trafﬁc. After a brief false start in the wrong direction, the crowd turns itself around with hand signals and begins to march. The atmosphere is festive, with lots of chanting of “ga yao” (add oil), the idiomatic phrase that is now ﬁnding its way into English.
Once every few minutes a stray vehicle wanders into our path, and demonstrators take pains to let it through, with self-selected volunteers parting the crowd. If the taxi honks in support, a cheer goes up from the marchers.
The road takes us past lush parkland, where skinny white birds observe us from the treetops, and then through a business district with no police, few pedestrians, and almost no trafﬁc. Many stores along the route have been shuttered in anticipation of the march, but the second-ﬂoor restaurant windows are full of curious faces. People are photographing us, and we photograph them back. When someone waves or shouts support, whether from the street or from a passing vehicle, the same cheer goes up.
In the windows, we can see couples on dates, curious children with their hands pressed to the glass, and store keepers looking out with an appraising eye. Up in the high rises, old men in undershirts lean down to watch.
A Thai restaurant has stayed open. The hand-lettered sign in its window invites demonstrators in for free refreshments. There is nothing you can pay for in a protest - volunteers hand out gas masks, water, tea, and endless ﬂyers, designed and printed with astonishing alacrity in response to each day’s events. Anything you may need, people have donated.
Across the street, a man is sticking post-its to the shuttered storefront of a 7-11, creating another one of the post-it walls that are all over Hong Kong. The airport protest on Friday even had a guy styling himself Memo Man, dressed in a black body suit you could paste notes to, until he looked like a paper hedgehog.
The level of heat and humidity is almost comical. My slavic body is shutting down, in a process so unsettling to fellow marchers that concerned people start offering me water or tiny, single use tissues. These turn into wet confetti the second they touch my face. You might as well try to stop Niagara with a hand towel.
“It’s okay,” I tell them. “This is normal. I’m not dying—I’m Polish.” They edge away.
Our group at this point numbers in the thousands. We pass through another neighborhood of residential high-rises and ﬁnd ourselves at a large, empty intersection. In the distance on the left there is a pedestrian overpass full of journalists (we can tell because they’ve set up antenna tripods). Beyond the overpass stands a line of cops, their plastic shields glinting in the sun.
With the police visible, there is a little bit of a hush in the crowd. The march continues in a direction parallel to the police line, to another major intersection. There, volunteers are yelling to offer marchers a choice. We can turn right and walk to a nearby train station. Or we can go left and confront the police. Most people choose to go left, and are handed surgical masks (to hide their faces) if they don’t already have them.
The police station is just ahead, a ﬁve-story building with large Eiffel tower-style antennas on the roof. Another line of riot police has blocked the road leading to it, and journalists rush to get pictures. The demonstrators stop and confer.
I should say a few words here about the curious way the protests are organized. The protesters learned in 2014 that having leaders was a weakness. Once the leadership was arrested, the heart went out of the occupy movement, and it lost momentum. So in 2019, there is no leadership at all. The protests are intentionally decentralized, using a jury-rigged combination of a popular message board, the group chat app Telegram, and in-person huddles at the protests.
This sounds like it shouldn’t possibly work, but the protesters are too young to know that it can’t work, so it works.
The protesters divide themselves into groups based on how much they can risk being arrested. The issue is not jail time, but the prospect of losing a job or being kicked out of school, now that China has shown it will crack down ferociously on companies that employ demonstrators.
The frontmost group are the people who actually come into contact with the police, and put themselves at greatest risk of arrest. Behind them there is a supply group, who passes water and other essentials forward, and helps those in front if they are hurt. And behind that is the great body of demonstrators. Those who will be up front are given leeway to make decisions, including telling the crowd to move back and make room, or deciding to disperse and reassemble elsewhere.
Now these frontline protesters have formed a huddle to discuss the tactical situation. Protesters around them shield the group from surveillance with umbrellas. The police watch, and the rest of us wait.
Journalists are all over these protests. Members of the local press wear yellow vests marked PRESS, and put on headgear if things start to get spicy. Some of the foreign correspondents elect to dress more elaborately, looking like they’re about to explore the lunar surface rather than interview a tiny retiree. You can spot key events or celebrities in the protests by looking for the circle of yellow vests, and pyramid of selﬁe sticks raised above whatever is happening.
The protesters, like beavers, have a strong building instinct. They want to make barricades. The preliminary huddles have expressed concern that we are not on favorable terrain. The police is dead ahead, the street is bordered by a culvert and stream, and it would be too easy to cut the protesters off from behind. So a new set of huddles forms, screened by umbrellas, and after a few minutes we see that they have reassembled steel barricades into triangle shapes, held together by plastic ties, which they will assemble and tie together to block the side roads.
A great hurrah goes up as a group of masked protesters runs one of these triangles down the road, the crowd zippering open in front of them. As they run, the umbrella holders run alongside to keep them screened. Another triangle platoon runs its barricade down to the intersection.. And then - disaster! A third triangle is rushed down the street, but the squad misses their turn, and races off into the distance. The crowd roars for them to stop. Far down the road, they skid to a halt, re-form, and rush back. More cheers.
The rest of us stand and watch this business unfold. It is four o’clock and the heat is cooking me from within. A breeze is blowing towards the police line, and there is speculation that this is why the police have not ﬁred tear gas. The foreign journalists in their body armor are all up at the front of the protest, so there is a disorienting dynamic where people further back can follow a Bloomberg live stream what is happening two hundred meters to their front. Flummoxed by the wind, the police have instead brought out pump tanks of pepper spray, like giant hot sauce dispensers, and are brandishing them at the front of the crowd.
More time passes. Finally, the decision surfaces that the position is too unfavorable. This has been another development in the protesters’ tactics since the start of the summer. Rather than standing their ground, they have found it more effective to melt away and reassemble somewhere else. The tactic is a classic one, but I am impressed with the ability of a decentralized group to adopt it so effectively.
And so, everyone makes their way back to the train station, where again things transition to normal, as if a street protest with thousands of participants hasn’t just happened. The trains absorb the extra passengers easily (the New York subway would be in ﬂames), and we return to the heart of the city.
The next day there is an authorized protest in Victoria Park, where a dour Queen Victoria in the late years of her reign sits sweltering on a metal throne.
These authorized protests are becoming rare, even though Hong Kongers are supposed to enjoy freedom of assembly. In June and July, the police would routinely grant the permits that the leaderless protests always found a way to apply for. More recently, the police have switched tactics and are now refusing permits, then tear-gassing the inevitable illegal assembly.
But today’s rally is ofﬁcial. Demonstrators line the edges of the big open basketball courts and soccer ﬁelds, wherever there is a scrap of shade. A ﬁrst aid station has been set up by the medical volunteers, and free water and electrolyte drinks are available to everyone. The air is still, making the heat worse, and for hours nothing really happens, just a crowd standing and half-listening to speakers rallying the crowd from the stage. A small group of Buddhists has set up incense and performs a ceremony in the frame of a soccer goal.
Anticipating where the real protest will happen feels just like hoping you’re one of the people cool enough to be told about the afterparty. You keep one eye on the cool kids, in this case the fully masked protesters. As long as they are still around, we know we haven’t missed out on anything.
Finally, around six o’clock, two lines of people form up and start to move. We are on the march.
The crowd shifts and reconﬁgures to start making its way out of the park. We ﬁle past groups of Indonesian women in hijab, sitting on ﬂattened cardboard and having their picnic in the park. No amount of politics is going to deprive them of their precious day off. Queen Victoria looks down at us with disapproval, and then, just like that, we a re an illegal assembly. Speakers at the edge of the park blare out an awful, saccharine anthem as we reach the main road. I put on my hard hat.
It is hard to believe this is the tenth week of protests. The energy and numbers are just astonishing. In spite of the relentlessness of the police, in spite of the beatings from thugs who the authorities have allowed to rough up people with impunity, every weekend Hong Kongers come out to march.
We move in the direction of City Hall, down a thoroughfare lined with Times Square-like animated advertising. The crowd boos and shines lasers on a large animated sign belonging to a mainland Chinese newspaper. Then there is a sudden stop and a sea of hand gestures, thumb and pinky out, hands twisting rapidly. Someone up in the vanguard needs an Allen wrench! This is procured and passed, and then the gesture turns to a “C” shape. They need a monkey wrench!
Finally, whatever barricade full of hex nuts that is impeding our progress gets dismantled, and the crowd ﬂows on through.
The march is entering the administrative heart of the city. It parts for a while to let through some trapped buses and taxis, and then re-forms again, moving toward Central. We are getting close to police headquarters, and soon a decision will be necessary. As we get closer, all motion stops, more consultative huddles form, and twenty or so aimless minutes go by.
Then, a hand gesture. Retreat. The police are too strong here. The crowd heads back in the general direction of the park.
A woman standing on a concrete planter by the MTR station is yelling “go to Tsim Sha Tsui!”. People are looking at their phones, checking the latest news. Some of the Telegram groups around the protests have tens of thousands of participants, and information gets ampliﬁed quickly. We decide to follow the woman’s advice and take the train to Kowloon.
Down in the MTR, it’s a different world. Though we have just left a huge protest march, here we are in the midst of families, couples on dates, elderly people, women in saris, white expats in business clothes. The helmets come off and we again join the ranks of the lawfully assembled, the train system effortlessly absorbing a surging crowd that would turn BART into a mass tomb.
At Tsim Sha Tsui station we meet an arriving train full of demonstrators, some already wearing pink-capped respirators. We follow them up and out onto the street, emerging somewhat unexpectedly outside a mosque, where a South Asian woman on the steps is yelling “no photos!”. She doesn’t mean not to photograph the mosque. Rather, she’s yelling at people who are taking photos of the demonstrators from its steps.
We are now in the heart of the tourist district, with hotels and fancy restaurants all around us. If I came here during the day, I would be stopped and asked a dozen times if I wanted my clothes tailored. Tonight, the tailors have stayed home. The street is a sea of black-clad people in masks and hard hats. Word goes around that tear gas has already been ﬁred two blocks away, and I fumble to get my equipment on.
The Persian poets say the nose is the outpost of the face. I am normally proud of mine. Its great bulk has preceded me into every difﬁcult situation in my life, sniffing out both danger and opportunity.
But the mask I bought here is designed for more delicate faces than mine. When I put it on, it somehow channels the air I exhale directly into my goggles, which fog up instantly. I can only see for a few seconds at a time before the world turns into a white mist. But, I reason, not being able to see from condensation will be much better than not being able to see from tear gas. I hang goggles and mask around my neck and await developments.
The crowd has begun to move in the direction of the police. Up ahead, someone is waving a big black ﬂag with the Hong Kong emblem on it. They are silhouetted against a pale cloud of smoke, and as I watch I see streams of more smoke falling in arcs around the ﬂag waver. That is the tear gas.
The people around me are ﬁlling bottles with water. Tear gas is kind of a misnomer - it’s a solid dispersion that gets deliverd through a burning smoke bomb. You can extinguish it by dousing it in water The kids have a well-practiced assembly line going, delivering water to the front line, and I try to stay out of everybody’s way.
Supply volunteers are handing out wet wipes (to get the chemical residue off your skin) and single-use plastic sticks of saline solution for an eye rinse. I am just moving up to get a better view of the ﬂag waver when a tear gas canister lands at my feet, and I suddenly remember an important engagement elsewhere.
When you are in a foreign land with strangers, it is good to have shared interests. They bring people together across cultural and linguistic barriers. Right now, the crowd and I are all deeply interested in moving back a bit. As we go, medical volunteers approach people who have been affected by the tear gas and help them rinse their eyes. “Don’t rub.” Everybody is tended to. Hong Kong protests have better medical care than any place in America, I think, in another of those little culture shock moments that keep lifting me out of the situation.
For a while, the situation is static. I notice the ﬂag waver has never stopped, deﬁantly waving right in front of the police line. Word comes that the police have now raised an orange warning ﬂag, which means they will use rubber bullets.
The front line asks for people to move further back, and we comply. It is dangerous to look directly back into the crowd because of the dozens and dozens of green lasers being beamed in the direction of the police (who have taped foil to their visors as a defense).
At one point, I hear a tremendous cheer go up. A group of protesters rushes past with their prize, a tall section of scaffolding they have detached from a nearby work site. The lasers dance over it in celebration. It is rushed forward for barricade duty on the front line. I see other people forming a bucket brigade to pass up water bottles.
Then, for no reason I can see, there is panic. People are running ﬂat out, and I worry about being knocked down in the surge. I catch the briefest glimpse of a woman with no protective gear, dressed normally, who is weaving her way upstream through the escaping demonstrators with a placid smile on her face.
When the running subsides, I duck behind a tree in the median. I don’t know what’s going on, only that people ran and now have stopped running. Someone says that the police line has pushed forward. Then there is a new sound from up front, the pop-pop-pop of rubber bullets being ﬁred, and people start to run again. “When in Rome,” I think to myself, and our little group legs it into the ﬁrst side street we can ﬁnd. And there we come across an open snack stall.
With tear gas, adrenaline, and the advancing riot police behind us, an appetizing line of skewers is displayed in neat rows ahead of us, in front of vats of steaming broth. The choice is obvious.
I select skewers of indeterminate seafood and wait for them to be heated by the completely unfazed proprietor. We are in little side street full of boutiques, stores and restaurants, many of them still open, the owners standing outside to assess the situation. Other demonstrators are ﬁling past in their headgear deciding which way to go to avoid the police.
I put my mask and goggles in the backpack, and return to the role of ordinary tourist. In this respect, I am far more fortunate than Hong Kongers, who will have to worry about being stopped at random by police on their way home, and being caught with masks and helmets on their person.
I can’t get over the oddness of the situation. In one direction is bedlam, in the other complete normalcy, separated by a few hundred meters. Some actual tourists are weaving about, worried, and demonstrators turn them around if they accidentally head towards the tear gas.
Skewers eaten, we elect to call it a night, and ﬁnd our way to the nearby MTR train station. The escalator at the entrance is not working, the ﬁrst time I’ve seen anything fail to function in this indomitable train system. Underground, the station is packed with demonstrators, and illuminated signs above our heads apologize for the slight disruption in service. Trains are now running every seven minutes, instead of every two, and MTR regrets the inconvenience.
Sympathetic subway workers have opened the gates to the platform, so people can get to the platform without a potentially trackable swipe of their Octopus card (the magic rechargeable card with which you can buy almost anything in t he city).
And then, just as we are descending the escalator to the train tracks, a group of demonstrators rushes in behind us and calling for everyone to run—the police are coming.
This is the scariest moment of the night, as a quick stampede starts in the very conﬁned space of the escalator. I am terriﬁed that someone will trip and get trampled. On the train, people are holding the doors open, and yellow-shirted MTR personnel appear to restore order. Protests are protests, but the MTR must run!
Later that night, we will learn that in another subway station, police ﬁred tear gas canisters directly at people, a terrible thing to do in a conﬁned space. There is video of police beating unarmed protesters savagely on an MTR escalator. And the whole city sees the pictures of a young medic who lost the vision in her eye after police shot her in the face with a bean bag round. The outrage from those acts of violence will provoke the massive protests that shut down the airport on Monday and Tuesday.
But that news is still a few hours away, and again the MTR performs its alchemy of taking us into a world apart, the skyscrapers and hotels around Central, where the view is of tankers and brightly lit junks drifting through the harbor, and there is no sign at all of the turmoil we have just witnessed.
That is the Hong Kong I saw last weekend. I don’t know - I suspect no one knows - what will happen tomorrow. The only sure thing is that people will march. There are many Hong Kongers and other smart people writing online who can explain the political context of the protests, the likelihood of intervention, and what this means in a deeper way. I am just a visitor who perhaps thinks too much about ﬁsh cakes when being tear gassed.
But I hope everyone stays safe, that the inevitable protests this weekend are allowed to proceed peacefully, and that those in a position to escalate the crisis instead recognize the fundamental reasonableness of what Hong Kongers are asking for—to be ruled by the agreed laws, applied fairly to all. Above all, I hope no one is hurt.
To the many, many Hong Kongers who have shown kindness and gone out of their way to welcome visitors to their city even in these difﬁcult times, I want to offer my deepest gratitude. What to me is something to observe and write about, to you has become a question of survival.
Thank you for letting me join you in your city, and see what you are experiencing at ﬁrst hand. I know that in America, all our hearts will remain with you, and with Hong Kong, whatever comes next.
A place for redditors/serious people to discuss quantitative trading, statistical methods, econometrics, programming, implementation, automated strategies and bounce ideas off each other for constructive criticism, feel free to submit papers/links of things you ﬁnd interesting.