Google Chrome

75 results back to index


pages: 1,881 words: 178,824

HTML5 Canvas by Steve Fulton, Jeff Fulton

barriers to entry, Firefox, game design, Google Chrome, web application, WebSocket

We do the exact same thing for the chatMessages array: //status box context.strokeStyle = '#000000'; context.strokeRect(345, 10, 145, 285); var starti = 0; if (statusMessages.length > maxMessages) { starti = (statusMessages.length) - maxMessages; } for (var i = starti;i< statusMessages.length;i++) { context.fillText (statusMessages[i], 350, starty ); starty+=12; //chat box context.strokeStyle = '#000000'; context.strokeRect(10, 10, 335, 285); starti = 0; lastMessage = chatMessages.length-1; if (chatMessages.length > maxMessages) { starti = (chatMessages.length) - maxMessages; } starty = 15; for (var i = starti;i< chatMessages.length;i++) { context.fillText (chatMessages[i], 10, starty ); starty+=12; } } That’s it! We’ve finished developing our multiuser chat application. Testing the Application in Google Chrome To test the current ElectroServer JavaScript API, you need to start Google Chrome with web security disabled. The method of doing this varies by operating system, but on Mac OS X, you can open a Terminal session and execute the following command (which will open Chrome if you have it in your Applications folder): /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security On a Windows-based PC, input a command similar to this from a command prompt or from a .bat file: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security Note Obviously this is not a workable solution for a production application.

All you need is a modern web browser and a text editor. As far as compatible browsers go, we suggest that you download and use the latest version of the following web browsers. The browsers are listed in the order that we suggest you test them: Chrome Safari Firefox Internet Explorer (version 10) Opera Every example in this book was tested with Google Chrome, Safari, and Firefox. While we made every attempt to ensure that these examples worked across as many browsers as possible, we suggest that you use Google Chrome or Safari for the best results. What You Need to Know It would be good if you knew your way around programming in some kind of modern language like C, C++, C#, ActionScript 2, ActionScript 3, Java, or JavaScript. However, we will introduce the Canvas in the first chapter in a way that should ease you into web programming at the same time.

After you install the add-on, you can right-click on the web page and choose the “View Fangs” option to see what a screen reader would see on your page. For the Canvas page we just created, Fangs tells us that the page would read as follows: “Chapter one Example six Canvas Sub Dom Example dash Internet Explorer A yellow background with an image and text on top List of two items one The text says quote Hello World quote two The image is of the planet earth.List end” For Google Chrome, you can get the Google Chrome extension Chrome Vox, which will attempt to verbally read all the content on your pages. (For the full example, see CH1EX6.html in the code distribution.) Hit Testing Proposal The “sub dom” concept can quickly become unwieldy for anyone who has tried to do anything more intricate than a simple Canvas animation. Why? Because associating fallback elements with Canvas interaction is not always an easy task, and it is complicated by screen readers that need to know the exact position of an element on the Canvas so that they can interpret it.


pages: 210 words: 42,271

Programming HTML5 Applications by Zachary Kessin

barriers to entry, continuous integration, fault tolerance, Firefox, Google Chrome, mandelbrot fractal, QWERTY keyboard, web application, WebSocket

Closure in a button $('document').ready(function Ready() { var button, tools; tools = ['save', 'add', 'delete']; console.info($('div#toolbar')); tools.forEach(function (tool) { console.info(tool); var button = $('<button>').text(tool).attr({ css: 'tool' }).appendTo('div#toolbar'); button.click(function clickHandler() { console.info(tool, button); alert("User clicked " + tool); }); }); }); When using closures, it can be hard to know which variables are or are not in the scope of a function. However, both Google Chrome’s DevTools and Firebug will show the list of closed variables. In Firebug, the scope chain can be seen in the Script tab by looking under “Watch.” Under all the variables of the current scope will be a ladder of the scopes going up to the main “window” object. In DevTools, for example, when the code is halted in the debugger, a subsection called “closure” in the right-hand column under Scope Variables will show the closed variables for the current function (see Figure 2-1). In this case, it shows that we have clicked on the “delete” button and lists the reference to the jQuery object for the button itself. Figure 2-1. Closures in Google Chrome’s DevTools Functional Programming Functional programming is a methodology that is more commonly associated with languages like Lisp, Scala, Erlang, F#, or Haskell, but works quite well in JavaScript also.

Beyond the core language, developers built tools that made debugging JavaScript much easier. Although Venkman, an early debugger, had appeared in 1998, the 2006 release of Firebug became the gold standard of JavaScript debuggers. It allows the developer to track Ajax calls, view the state of the DOM and CSS, single-step through code, and much more. Browsers built on WebKit, notably Apple’s Safari and Google Chrome, offer similar functionality built in, and Opera Dragonfly provides support for Opera. Even developers working in the confined spaces of mobile devices can now get Firebug-like debugging with weinre (WEb INspector REmote). The final key component in this massive recent investment in JavaScript was libraries. Developers still might not understand all the code they were using, but organizing that code into readily upgradeable and sometimes even interchangeable libraries simplified code management.

For example, a programmer may store product catalog data into an IndexedDB store so that when the user searches for an item, the server does not need to make a trip to the server to find the data for a particular item. IndexedDB is a NoSQL database that will feel familiar to people who have used such products as MongoDB or CouchDB. A program can store JavaScript objects directly into an IndexedDB data store. IndexedDB has been in Firefox starting with version 4. It also was introduced into Google Chrome starting with version 11. Microsoft has a version online at its HTML5 Labs website as an ActiveX control, which can be added into IE, and presumably it will be in the main IE release at some point. It will probably be available in other browsers in the next year or two. Formally, IndexedDB is now a draft proposal from the W3C. Note Because IndexedDB is supported by only two browsers at this point, use should probably be restricted to internal applications where you can limit use to browsers of your choice.


pages: 292 words: 66,588

Learning Vue.js 2: Learn How to Build Amazing and Complex Reactive Web Applications Easily With Vue.js by Olga Filipova

Amazon Web Services, continuous integration, create, read, update, delete, en.wikipedia.org, Firefox, Google Chrome, MVC pattern, pull request, side project, single page application, Skype, source of truth, web application

But fortunately for us, Travis provides a mechanism of performing some commands before building. It should be done in the before_script section of the YML file. Let's invoke the necessary commands to install Chrome and export the CHROME_BIN variable. Add the following to your .travis.yml files: before_script: - export CHROME_BIN=/usr/bin/google-chrome - sudo apt-get update - sudo apt-get install -y libappindicator1 fonts-liberation - wget https://dl.google.com/linux/direct/google-chrome- stable_current_amd64.deb - sudo dpkg -i google-chrome*.deb As you can see, in order to perform the installation and system update, we must invoke commands with sudo. By default, Travis does not let you execute sudo commands in order to prevent accidental damage by non-trustworthy scripts. But you can tell Travis explicitly that your script uses sudo, which means that you are aware of what are you doing.

But you can tell Travis explicitly that your script uses sudo, which means that you are aware of what are you doing. Just add the following lines to your .travis.yml files: sudo: required dist: trusty Now your whole .travis.yml file should look like the following: //.travis.yml language: node_js sudo: required dist: trusty node_js: - "5.11.0" before_script: - export CHROME_BIN=/usr/bin/google-chrome - sudo apt-get update - sudo apt-get install -y libappindicator1 fonts-liberation - wget https://dl.google.com/linux/direct/google-chrome- stable_current_amd64.deb - sudo dpkg -i google-chrome*.deb Try to commit it and check your Travis dashboard. Oh no! It fails again. This time, it seems to be timeout issue: Even after installing Chrome, tests silently fail due to the timeout Why did it happen? Let's recall what actually happens when we run our end-to-end tests. Each test opens the browser and then performs clicks, inputs, and other things to test our UI.

So open the .travis.yml files and add the following to the before_script section: - export DISPLAY=:99.0 - sh -e /etc/init.d/xvfb start The whole YML file now looks like the following: //.travis.yml language: node_js sudo: required dist: trusty node_js: - "5.11.0" before_script: - export CHROME_BIN=/usr/bin/google-chrome - sudo apt-get update - sudo apt-get install -y libappindicator1 fonts-liberation - wget https://dl.google.com/linux/direct/google-chrome- stable_current_amd64.deb - sudo dpkg -i google-chrome*.deb - export DISPLAY=:99.0 - sh -e /etc/init.d/xvfb start Commit it and check your Travis dashboard. The Pomodoro application was built successfully! The Pomodoro application built with success! However, the shopping list application's build has failed. Note that Travis even changes the tab's title color for each of the build states: Travis changes the icon on the tab's title according to the build state So what is happening with the shopping list application build?


Backbone.js Cookbook by Vadim Mirgorod

Airbnb, create, read, update, delete, en.wikipedia.org, Firefox, Google Chrome, MVC pattern, QR code, rolodex, Ruby on Rails, web application

In this recipe, we will learn how to detect memory leaks in a Backbone application and how to fix them. We will use Google Chrome Heap Profiler, which is a part of the Google Chrome browser. Getting ready... In this recipe, we are going to take an example application from the recipe binding a collection to a view of Chapter 5, Events and Binding and modify it. Such modifications are not required in the production application but will help us to detect memory leaks using Google Chrome Heap Profiler. 250 Chapter 8 1. Add a named constructor to the each object in your program, which is extended from a standard Backbone object, such as Model or View. Inside this constructor, call a parent constructor. 1. It could be much easier to detect memory leaks in Google Chrome Heap Profiler by finding object instances using their class names, which would only be possible if we defined such classes using named constructors. 2.

Following code shows the InvoiceItemModel object with the named constructor defined. var InvoiceItemModel = Backbone.Model.extend({ calculateAmount: function() { return this.get('price') * this.get('quantity'); }, constructor: function InvoiceItemModel() { InvoiceItemModel.__super__.constructor.apply( this, arguments ); } }); 2. Make sure your application code is performed in a global scope. This will make it easier to find Backbone objects in Google Chrome Heap Profiler. Contents of your main.js file shouldn't be enclosed by any function. The next few lines of code should be removed from your main.js file. (function($){ $(document).ready(function () { }); })(jQuery); Inclusion of main.js into index.html should be performed in the body section as follows: <body><script src="js/main.js"></script></body> 3. Modify ControlsView by adding a button which deletes InvoiceItemsTableView to demonstrate a memory leak.

See model backbone-mongodb extension downloading 224 Backbone.Mousetrap extension 136 Backbone objects events, handling 117, 118 using, with mixins 210, 211 Backbone Query about 78 downloading 78 Backbone.QueryCollection 79 Backbone.Relational 87 Backbone relational extension downloading 87 Backbone.RelationalModel 89 Backbone.Router used, for switching views 110-113 Backbone.Router object 18, 25 Backbone.stickit extension advanced usage 132 model getters/setters, overriding 132 specific HTML event, listening to 133 used, for bi-directional binding 128-132 view element updates, overriding 132 Backbone.sync() method 206 260 Backbone.Validation extension 50, 54 Backbone.View 171 Backbone.View object 18 Backgrid documentation URL 175 Backgrid example 167 Backgrid extension 175 Backgrid.Grid 171 bidirectional binding performing, with Backbone.stickit 128-131 Billing Application business logic, designing 11 designing, MVC pattern used 8-11 Bootstrap framework downloading 160 used, for customizing form 158-160 built-in events about 119 add 119 change 119 change:[attribute] 119 destroy 119 error 119 invalid 119 remove 119 reset 119 route 119 route:[name] event 119 sort 119 sync 119 built-in validators acceptance 50 equalTo 52 length 51 max 51 maxLength 52 min 51 minLength 51 oneOf 52 pattern 53 range 51 rangeLength 52 required 50 using 50 bulk operations performing, on grid models 172, 173 business logic, for Billing Application BankAccountModel properties, defining 12 BuyerModel properties, defining 12 designing, with models and collections 11-13 InvoiceItemModel methods, defining 12 InvoiceItemModel properties, defining 12 InvoiceModel methods, defining 13 InvoiceModel properties, defining 13 SellerModel properties, defining 12 C callbacks binding, to transition events 47, 48 Cascading Style Sheets (CSS) 103 chain() method 78 change:[attribute] event 119 changedAttributes() method 118 change event 119 changePage() method 228 changeView() method 113 clear() method 33 clone() method 30, 68 CoffeeScript 47 collection about 93 binding, to select list 134-136 binding, to view 122-128 chaining 77, 78 common operations 65 creating 66 existing models, adding 70 index, getting 68 iterating through 75 model, adding 69 model, getting from by ID 69 model, getting from by index 67 model, removing 71 models, filtering 74 multiple models, adding 70 No SQL queries, running 78, 79 one-to-many relationship, implementing 86-89 rendering, in view 101, 102 sorting 73 various types model, storing 83-85 working, as queue 72 working, as stack 72 combining operators, No SQL operators $and 81 $nor 81 $not 81 $or 81 commit() method 152 comparator about 73 model pair, comparing 74 compatibility ensuring, search engine used 245-247 compiled templates using 148 Cross-site scripting enabling 226 D data fetching, polling technique used 201-205 data grid building 167-170 deepEqual() 218 delegateEvents() method 110 destroy event 119 destroy() method 187, 201 Document Object Model (DOM) 106, 226 DOM events handling, in view 106-110 E each() method 75, 218 Ender.js 98 equalTo validator 52 error event 119 error messages customizing 155 events callback, unbinding 117 delegating, manually 110 listening, on objects 117 managing 116 undelegating, manually 110 events, Backbone objects handling 117, 118 261 event triggering avoiding, while working with objects 119 every() method 76 executePolling() method 205 extend() method 24, 211 F fetch() method 186, 220 form customizing, Bootstrap framework used 158-160 defining 149-151 using without model 152 validation, adding 153, 154 form events handling 156-158 form templates overriding 161 Foursquare 6 G getContext() method 178 get() method about 33 using 69 getters or setters overriding 37-40 GitHub 211 Google Boot 246 Googlebot 247 Google Chrome Heap Profiler using, to detect memory leak 251-256 Groupon Now! 6 Grunt used, for creating Backbone.js extension 211-215 H HTML5 canvas drawing on 175-178 reference link 178 HTML element creating 95, 96 262 HTML form validating 54, 55 I includeInJSON property 90 independent copy, collection model length, getting 68 retrieving 68 indexOf() method 68 IndividualContactModel 84 initialize() method 32, 95, 157, 176 invalid event 119 InvoiceItemModel object 251 InvoiceItemsTableView instance 255 invoiceList() 24 iOS/Android app building, with PhoneGap 233-236 iOS-inspired theme downloading 225 iteration methods, collection about 76 any model, checking for specific condition 76 attribute, getting from model 76 model, checking for specific condition 76 models, boiling down 77 specific calculations, performing 76 J JavaScript Garbage Collector URL 258 jQuery about 93, 97 dealing, with view element 97, 98 URL, for documentation 98 URL, for events 110 jQuery.ajax() method 223 jQuery Mobile about 209 223 library, downloading 224 jQuery Mockjax extension downloading 221 JS files optimizing, with r.js 244 JSON model, exporting to 89 K keyboard shortcuts handling, in view 136, 137 L layouts assembling, LayoutManager used 163-166 length() method 68 length validator 51 LIFO (last in, first out) data structure 43 LinkedIn mobile 6 listenTo() method 117, 256 local storage working with 206, 207 M many-to-many relationship implementing 89 map() method 76 maxLength validator 52 max validator 51 memento stack first state, restoring from 44 working with 43, 44 memory leak about 250 by closure 250 detecting, Google Chrome Heap Profiler used 250-257 in JavaScript, URL 258 minLength validator 51 min validator 51 mixins using, with Backbone objects 210, 211 mobile application developing, with jQuery Mobile 223-232 model about 29, 93 adding, to collection 69 adding, to collection at specific position 70 advanced validation, using 49 binding, to select list 134-136 binding, to view 120-122 checking, for attribute 34 cloning 30 creating 30 default attribute values, setting 30, 31 default attribute values, setting with multiline expression 31, 32 existing models, adding 70 exporting, to JSON 89, 90 filtering, in collection 74 getting from collection, at specific index 67 getting from collection, by ID 69 HTML escaped attribute value, getting 34 multiple models, adding 70 nested attributes, working with 57, 58 removing, from collection 71 rendering, in view 99, 100 model attributes operating 33 validating 35, 36 validation errors, handling 36 validation, triggering manually 37 model getters/setters overriding, Backbone.stickit used 132 model identifier operating 34, 35 model pair comparing 74 models and collections synchronizing, RESTful service used 185-187 models, of various types storing, in collection 83-85 model states managing 41 operating 42, 43 model validation performing 155 mod_proxy_http module 246 mod_proxy module 246 mod_rewrite module 246 MongoDB Extended JSON about 212 handling 188 MongoLab about 181 creating 182-184 URL 181, 212 263 working 185 Moustrap library 137 Mustache about 147 downloading 147 Mustache.compilePartial() function 149 Mustache.render() 147 Mustache templates using 147 Mustche.js syntax URL 149 mutators attribute 38 mutators events handling 41 MVC pattern about 5-7 benefits 7, 8 Controller 7 designing, for Billing Application 9-11 Model 7 View 7 N name() method 84 nested array working with 58 nested attributes, model callbacks, binding to events 59 elements, adding to nested array 59 elements, removing from nested array 59 nested array, working with 58 working with 57, 58 No SQL operators combining operators 80 standard operators 79 No SQL query multiple queries, performing on same key 81 performing, to collection 79 results, caching 82 results, paging 82 results, sorting 82 notDeepEqual() 218 notEqual() 218 notStrictEqual() 218 264 O off() method 117 ok() method 218 once() method 116 onclick callback 250 oneOf validator 52 one-to-many relationship implementing 86-89 one-to-one relationship implementing 60-62 onFetch() method 205 on() function 110 on() method 116, 158 OrganizationContactModel 84 P parameters parsing, in URL 26 parse() method 188 partials using 148 pattern validator 53 Phantom.js docs 250 PhoneGap Build 233 pluck() method 76 plugins used, for extending application 27 polling technique used, for fetching data 201-205 pop() method 72 previousAttributes() method 118 previous() method 118 project directory structure, Backbone application creating 19 project structure organizing, with Require.js 236-241 push() method 72 Q queue collection, working as 72 QUnit about 216 used, for writing tests 216 working 218 R rangeLength validator 52 range validator 51 records filtering performing 174 reduce() method 77 remove event 119 remove() method 71, 97, 255, 256 render() method 95, 102, 130, 143 Rendr 6 Representational State Transfer.


pages: 671 words: 228,348

Pro AngularJS by Adam Freeman

business process, create, read, update, delete, en.wikipedia.org, Google Chrome, information retrieval, inventory management, MVC pattern, place-making, premature optimization, revision control, Ruby on Rails, single page application, web application

The inline script in this example contains a statement that calls the console.log method, which writes a message to the JavaScript console. The console is a basic (but useful) tool that the browser provides that lets you display debugging information as your script is executed. Each browser has a different way of showing the console. For Google Chrome, you select JavaScript console from the Tools menu. You can see how the console is displayed in Chrome in Figure 5-2. Figure 5-2. The Google Chrome JavaScript console ■■Tip Notice that the Chrome window shown in the figure has an AngularJS tab. This is added by the Batarang extension that I described in Chapter 1 and is useful for debugging AngularJS apps. You can see that the output from calling the console.log method is displayed in the console window, along with the details of where the message originated (in this case on line 7 of the jsdemo.html file).

That said, it has some nice features and may well suit you better than it does me. Choosing a Web Browser AngularJS works in any modern web browser, and you should test your app in all of the browsers that your users are likely to use. You will need a go-to browser for development purposes, however, so that you can set up your development environment to show the current state of the application and perform basic testing. I’ll be using Google Chrome in this book, and I suggest you do the same. Not only is Chrome a solid browser, but it complies well with the latest W3C standards and has excellent F12 developer tools (so-called because you access them by pressing the F12 key). The most compelling reason to use Chrome for development is that Google has created a Chrome extension that adds support for AngularJS to the F12 tools. It is a useful—if unpolished—tool, and I recommend you install it.

As long as your preferred editor can write HTML and JavaScript files (both of which are plain text), then you will be able to follow along without any problems. 8 Chapter 1 ■ Getting Ready Installing Node.js Many development tools that are commonly used for client-side web app development are written in JavaScript and rely on Node.js to run. Node.js is built from the same JavaScript engine that is used in the Google Chrome browser but has been adapted to work outside the browser, providing a general-purpose framework for writing JavaScript applications. Go to http://nodejs.org and download and install the Node.js package for your platform (there are versions available for Windows, Linux, and Mac OS). Make sure you install the package manager and that the installation directory is added to your path. To test the Node.js installation, open a command line and type node.


pages: 280 words: 71,268

Measure What Matters: How Google, Bono, and the Gates Foundation Rock the World With OKRs by John Doerr

Albert Einstein, Bob Noyce, cloud computing, collaborative editing, commoditize, crowdsourcing, Firefox, Frederick Winslow Taylor, Google Chrome, Google Earth, Google X / Alphabet X, Haight Ashbury, Jeff Bezos, job satisfaction, Khan Academy, knowledge worker, Menlo Park, meta analysis, meta-analysis, PageRank, Paul Buchheit, Ray Kurzweil, risk tolerance, self-driving car, side project, Silicon Valley, Silicon Valley startup, Skype, Steve Jobs, Steven Levy, subscription business, web application, Yogi Berra, éminence grise

Version_2 For Ann, Mary, and Esther and the wonder of their unconditional love CONTENTS PRAISE FOR MEASURE WHAT MATTERS TITLE PAGE COPYRIGHT DEDICATION FOREWORD Larry Page, Alphabet CEO and Google Cofounder PART ONE: OKRs in Action 1 Google, Meet OKRs How OKRs came to Google, and the superpowers they convey. 2 The Father of OKRs Andy Grove creates and inculcates a new way of structured goal setting. 3 Operation Crush: An Intel Story How OKRs won the microprocessor wars. 4 Superpower #1: Focus and Commit to Priorities OKRs help us choose what matters most. 5 Focus: The Remind Story Brett Kopf used OKRs to overcome attention deficit disorder. 6 Commit: The Nuna Story Jini Kim’s personal commitment to transform health care. 7 Superpower #2: Align and Connect for Teamwork Public, transparent OKRs spark and strengthen collaboration. 8 Align: The MyFitnessPal Story Alignment via OKRs is more challenging—and rewarding—than Mike Lee anticipated. 9 Connect: The Intuit Story Atticus Tysen uses OKR transparency to fortify a software pioneer’s open culture. 10 Superpower #3: Track for Accountability OKRs help us monitor progress and course-correct. 11 Track: The Gates Foundation Story A $20 billion start-up wields OKRs to fight devastating diseases. 12 Superpower #4: Stretch for Amazing OKRs empower us to achieve the seemingly impossible. 13 Stretch: The Google Chrome Story CEO Sundar Pichai uses OKRs to build the world’s leading web browser. 14 Stretch: The YouTube Story CEO Susan Wojcicki and an audacious billion-hour goal. PART TWO: The New World of Work 15 Continuous Performance Management: OKRs and CFRs How conversations, feedback, and recognition help to achieve excellence. 16 Ditching Annual Performance Reviews: The Adobe Story Adobe affirms core values with conversations and feedback. 17 Baking Better Every Day: The Zume Pizza Story A robotics pioneer leverages OKRs for teamwork and leadership—and to create the perfect pizza. 18 Culture OKRs catalyze culture; CFRs nourish it. 19 Culture Change: The Lumeris Story Overcoming OKR resistance with a culture makeover. 20 Culture Change: Bono’s ONE Campaign Story The world’s greatest rock star deploys OKRs to save lives in Africa. 21 The Goals to Come DEDICATION RESOURCE 1: Google’s OKR Playbook RESOURCE 2: A Typical OKR Cycle RESOURCE 3: All Talk: Performance Conversations RESOURCE 4: In Sum RESOURCE 5: For Further Reading ACKNOWLEDGMENTS NOTES INDEX FOREWORD Larry Page Alphabet CEO and Google Cofounder I wish I had had this book nineteen years ago, when we founded Google.

But by no means, as Andy Grove made clear, is it the place to stop: You know, in our business we have to set ourselves uncomfortably tough objectives, and then we have to meet them. And then after ten milliseconds of celebration we have to set ourselves another [set of] highly difficult-to-reach objectives and we have to meet them. And the reward of having met one of these challenging goals is that you get to play again. 13 Stretch: The Google Chrome Story Sundar Pichai CEO Stretch goals were beautifully defined by the leader of the Google X team that developed Project Loon and self-driving cars. Says Astro Teller: “ If you want your car to get fifty miles per gallon, fine. You can retool your car a little bit. But if I tell you it has to run on a gallon of gas for five hundred miles, you have to start over.” In 2008, Sundar Pichai was Google’s vice president of product development.

“tend to assume that” : Eric Schmidt and Jonathan Rosenberg, How Google Works (New York: Grand Central Publishing, 2014). “The way Page sees it” : Levy, “Big Ideas.” start of the period : Interview with Bock. In pursuing high-effort : Locke and Latham, “Building a Practically Useful Theory of Goal Setting and Task Motivation.” “You know, in our business” : iOPEC seminar, 1992. CHAPTER 13: Stretch: The Google Chrome Story “If you want your car” : Laszlo Bock, Work Rules!: Insights from Inside Google That Will Transform How You Live and Lead (New York: Grand Central Publishing, 2015). “If you set a crazy” : Ibid. “Dear Sophie,” a spot : https://whatmatters.com/sophie. CHAPTER 14: Stretch: The YouTube Story “the most powerful woman” : Belinda Luscombe, “Meet YouTube’s Viewmaster,” Time , August 27, 2015.


pages: 48 words: 10,481

Instant Ember.JS Application Development: How-To by Marc Bodmer

don't repeat yourself, Firefox, Google Chrome, MVC pattern, web application

Handling external data (Advanced) will show you how you can incorporate external data from an API into your application. An Ajax method will be used for this recipe. It will also touch upon Ember Data, which is a library the Ember.js is working on to simplify data in more complex applications. What you need for this book The programming language used in this book will be JavaScript. The browser that will be used to run the JavaScript, HTML, and so on will be Google Chrome. Other browsers such as Firefox and Safari should work just as well. The operating system that can be used is Windows, Mac OS X, or Linux. A text editor other than Notepad, such as Notepad++, VIM, or Sublime Text should be used for proper formatting of the code. Who this book is for The target audience for this book is frontend developers who realize that their frontend code base has gotten too large to maintain effectively and properly, and are looking for a complete framework solution.

We can use this starter kit on a Windows, Mac OS X, or Linux operating system. A backend for Ember.js is definitely a possibility. The most commonly used backend for Ember, Rails, has gems to add Ember.js support. Node.js and Django have adapters to incorporate Ember.js as well. For the purposes of this book, we will sacrifice proper application architecture in the interest of time. Getting ready The browser used for the purposes of this book will be Google Chrome. Any text editor for editing our JavaScript and HTML files will work in this case. Ember provides a starter kit that will help us create our sample application. www.it-ebooks.info Instant Ember.js Application Development How-to Download the latest starter kit from https://github.com/emberjs/starter-kit/ downloads or use the starter-kit.zip file provided. Currently, the latest released version of Ember.js is 1.0.0-pre.2.


pages: 305 words: 93,091

The Art of Invisibility: The World's Most Famous Hacker Teaches You How to Be Safe in the Age of Big Brother and Big Data by Kevin Mitnick, Mikko Hypponen, Robert Vamosi

4chan, big-box store, bitcoin, blockchain, connected car, crowdsourcing, Edward Snowden, en.wikipedia.org, Firefox, Google Chrome, Google Earth, Internet of things, Kickstarter, license plate recognition, Mark Zuckerberg, MITM: man-in-the-middle, pattern recognition, ransomware, Ross Ulbricht, self-driving car, Silicon Valley, Skype, Snapchat, speech recognition, Tesla Model S, web application, WikiLeaks, zero day, Zimmermann PGP

Investigators in the Enron case discovered that a lot of data had been deleted at the outset of the investigation, preventing prosecutors from seeing exactly what had gone on within the company. As a result, Senator Paul Sarbanes (D-MD) and Representative Michael G. Oxley (R-OH) sponsored legislation that imposed a series of requirements aimed at preserving data. One was that browser histories must be retained. According to a grand jury indictment, Matanov deleted his Google Chrome browser history selectively, leaving behind activity from certain days during the week of April 15, 2013.2 Officially he was indicted on two counts: “(1) destroying, altering, and falsifying records, documents, and tangible objects in a federal investigation, and (2) making a materially false, fictitious, and fraudulent statement in a federal investigation involving international and domestic terrorism.”3 He was sentenced to thirty months in prison.

In Chrome, go to Options>Under the Hood>Content Settings>Location. There’s a “Do not allow any site to track my physical location” option that will disable geolocation in Chrome. Other browsers have similar configuration options. You might also want to fake your location—if only just for fun. If you want to send out false coordinates—say, the White House—in Firefox, you can install a browser plug-in called Geolocator. In Google Chrome, check the plug-in’s built-in setting called “emulate geolocation coordinates.” While in Chrome, press Ctrl+Shift+I on Windows or Cmd+Option+I on Mac to open the Chrome Developer Tools. The Console window will open, and you can click the three vertical dots at the top right of the Console, then select more tools>sensors. A sensor tab will open. This allows you to define the exact latitude and longitude you want to share.

Imagine your friend using your computer and choosing to log in to the browser. Your friend’s history, bookmarks, etc., will now be synced. That means that your friend’s surfing history, among other information, is now viewable on your computer. Plus, if you sign in to a synchronized browser account using a public terminal and forget to sign out, all your browser’s bookmarks and history will be available to the next user. If you’re signed in to Google Chrome, then even your Google calendar, YouTube, and other aspects of your Google account become exposed. If you must use a public terminal, be vigilant about signing out before you leave. Another downside of syncing is that all interconnected devices will show the same content. If you live alone, that may be fine. But if you share an iCloud account, bad things can happen. Parents who allow their children to use the family iPad, for example, might unintentionally expose them to adult content.5 In an Apple store in Denver, Colorado, Elliot Rodriguez, a local account executive, registered his new tablet with his existing iCloud account.


The Icon Handbook by Jon Hicks

augmented reality, Debian, Firefox, Google Chrome, Kickstarter, Skype, web application

PDF While not a suitable format for icon design on the web (at the moment), PDF is becoming very useful in software as it’s supported by Quartz, the graphics layer in Mac OS X. Traditionally a format thought of as just a means of sending text documents around, PDF actually retains vector information and can be used interchangeably in Adobe Illustrator with its own native format (.ai). Apps like Coda (below) and Google Chrome have already shown that for simple, scalable icons, it can be a handy format. While complex application icons served as PDF would result in too large a file, for icons like this it’s ideal. File sizes vary: the Coda icon weighs in at 22Kb, whereas the Google Chrome icon is down to the low of 6Kb. So while it is a bit heavier than the bitmap version, it’s infinitely scalable. How it affects our artwork The requirement to export as PDF, retaining vector information, will restrict our tool choices to Illustrator, Opacity or OmniGraffle.

Dialog and list view icons Guidelines: http://developer.android.com/guide/practices/ui_guidelines/ icon_design_dialog.html http://developer.android.com/guide/practices/ui_guidelines/icon_design_list.html 24px (ldpi) 32px (mdpi) 48px (hdpi) .png These are shown in pop-up dialog boxes that prompt the user for interaction. They use a light gradient and inner shadow in order to stand out against a dark background. Unlike status bar icons, these use a specific gradient and inner shadow (see link above). List view icons are very similar, but they use an inner shadow effect showing the light source from above. Google Chrome Sizes (px) Format and naming Notes Chrome Extension Icon Guidelines: http://code.google.com/chrome/extensions/manifest.html 16px Sizes (px) 48px 128px icon16.png icon48.png icon128.png The 128px icon is the most important as this is used in the Chrome Web Store. The 48px is shown in the extensions list tab, while the 16px is used on infobars (http://code.google.com/chrome/extensions/experimental.infobars.html).


pages: 1,038 words: 137,468

JavaScript Cookbook by Shelley Powers

Firefox, Google Chrome, hypertext link, semantic web, web application, WebSocket

However, if you’re motivated, you should be able to use your JavaScript skills to create any number of useful browser tools. Creating Google Chrome extensions A Google Chrome extension is the simplest development environment of all the brows- ers. Your extension can consist of a manifest file, created in JSON, a download icon, and then the extension web page and JavaScript. It’s uncomplicated, and it’s the envi- ronment I recommend you try first, before developing an extension for other browsers. You can run through the beginning tutorial and have your first Chrome extension finished in an hour. If, I should add, you can run Chrome in your environment at all, as Google also provides limited platform support for its browser. Currently, the Google Chrome extension environment only seems to work in Windows, though you can see about getting into an early release program for Mac and Linux.

; var div = document.createElement("div"); div.appendChild(txt); document.body.appendChild(div); }</script> After you create the manifest and application page, you’ll load the extension in Chrome via the Tools menu, choosing Extensions. Make sure the Developer Tools are exposed, and click the “Load unpacked extension…” button for the extension folder, as shown in Figure 21-1. If all goes well, the icon shows in the toolbar. If you click the icon, the extension pop-up should open, as shown in Figure 21-2. Access the Google Chrome Extension Lab at http://code.google.com/ chrome/extensions/overview.html. 21.1 Creating a Browser Add-0n, Plug-in, or Extension | 485 Figure 21-1. Loading a Chrome extension Mozilla extensions The Mozilla extensions for the organization’s applications, including Firefox and Thunderbird, are reasonably uncomplicated to create, but even then, the number of files you need in order to implement an add-on is a little awe-inspiring.

(dot) in regular expressions, 25 replacing with footnote bullets, 254–257 dot notation, 118 testing for Boolean attributes, 252–253 " (double quotes) for strings, 1 elements, adding drag-and-drop (HTML5), 132–140 adding paragraphs to divs, 248 drag events, 136 and then adding text, 249–251 dragend events, 136 to end to page, 246–247 dragenter events, 136, 138 before existing elements, 242–246 draggable attribute, 135 with innerHTML property, 241–242 dragleave events, 136 elements property (form element), 212 Dragonfly (Opera), 198–200 embedding SVG into HTML pages, 339–345 using breakpoints, 201 empty strings, checking for, 10–12 dragover events, 136, 138 emulating canvas, 329 dragstart events, 135, 136 emulating SVG in IE, 338–339 drop events, 136 encodeURI method, 160 dtstart class, 447 encodeURIComponent method, 160, 416 duplicate form submissions, preventing, 169– enhancing applications with JavaScript, 496– 171 499 dynamic line charts (canvas), 330–333 enumerable attribute (objects), 370 dynamic pages enumering object properties, 374–377 bookmarking, 153–156 == (equality) operator, 5 preserving state for Back and Refresh, 156– === (strict equality) operator, 6 157 Error Console (Dragonfly), 198 dynamic runtime functions, 98–100 Error Console (Safari), 203 dynamic selection lists, 173–176 error handling, 177 checking for function errors, 180–181 E custom useful exceptions, 184–185 graceful, 182–183 E property (Math), 56 managing when JavaScript is off, 177–180 elapsed time, tracking, 49 Error objects, 183 elements errors, about, 177 accessing all images in, 221–222 errors in forms, highlighting, 302–307 using Selectors API, 222–226 errors with AJax requests, checking for, 421 adding attributes to, 251–252 escape sequences, 15 changing CSS style properties of, 264–267 eval method, 442, 443 collecting by shared attribute, 232–233 EvalError errors, 184 creating arrays of, by class name, 231–232 event listeners, 116 finding parent elements for, 226 stopping listening, 125 getting attribute information for, 237–238 Event objects, 120 getting CSS style information for, 238–240 EventException exceptions, 185 hiding or showing page sections, 299–300 events, 115–142 hiding until needed, 276–277 516 | Index canceling, 116, 125–126 filtering arrays, 84–85 capturing mouse-click information, 119– finally statements, for exception handling, 183 122 finding (see searching) flashing color, to signal action, 316–320 Firebox, Greasemonkey scripts for, 487–488 with forms Firebug debugger, 185–188 acting on radio button clicks, 164–166 using breakpoints, 188–190 capturing form data, 161–163 Firebox, debugging in, 185–188 generic reusable handler functions, 122– profiling application performance, 190– 125 194 HTML5 drag-and-drop, 132–140 using breakpoints, 188–190 keyboard events, 116, 129–132 Firefox, WebGL support in, 350–351 keyboard listening, 308–312 Firefox extensions, building, 486 live regions, accessibility of, 323–324 :first-child selector (CSS), 229 propagating through nested elements, 126– :first-of-type selector (CSS), 227 129 flashing color, to signal action, 316–320 running functions after page load, 117–118 flattening multidimensional arrays, 79–80 Safari orientation events, 140–142 floor method (Math), 57, 60 every method (Array), 86 fn property (jQuery), 404 exceptions, 184–185 focus events, 116 exp method (Math), 57 with form elements, 162 expires= parameter (cookies), 463 footnote bullets, replacing links with, 254– explorercanvas library, 329 257 ExtendScript Toolkit (ESTK), 496–498 for...in loops, 374 extensibility, object forEach method (Array), 82 adding methods, 362–364 foreignObject elements (SVG), 349 adding properties, 369–374 form data, processing for Ajax calls, 416–417 preventing, 377–378 forms, 159–176 preventing property descriptor changes, accessing text input values, 159–161 379–380 acting upon radio button clicks, 164–166 extensions, creating, 484–488 capturing data upon events, 161–163 external libraries, using, 400–402 collapsible sections for, 277–280, 312–316 combining libraries, 408–411 disabling and enabling elements, 161 extracting data from XML documents, 437– after radio button events, 164 442 dynamic selection lists, 173–176 hiding and displaying elements, 171–173 F highlighting invalid fields, 302–307 multiple submissions, preventing, 169–171 factorials, 101 with no JavaScript support, 177–180 fades, to signal action, 316–320 storing data in associative arrays, 88–91 Fibonacci Sequence, 101, 110 validating input for fields, form (see see forms) based on format, 166–167 FIFO (first-in, first out), 75–76 canceling invalid data submission, 167– File API, 500–509 168 file elements (forms), 163 forms collection (document element), 160, File objects (File API), 500 212 FileList objects (File API), 500 frame elements, 143 fileName property (Error), 183 freeze method (Object), 380 FileReader objects (File API), 500 Function.apply method, 366–369 fillRect method (canvas), 327 function closers with timers, 52–53 filter method (Array), 85 Index | 517 function closures, 103–106, 105 getElementById method (document element), (see also currying) 214, 215 function constructors, 93 getElementsByClassName method function literals (function expressions), 94, creating arrays of objects with, 231–232 100 getElementsByClassName method (document Function objects, 93, 98 element), 214 function scope, 104 getElementsByTagName method (document function statements, 93, 94 element), 214, 216, 218, 222 functions, 93–113 summing table row/column elements, 235 anonymous, wrapping global variables with, getFullYear method (Date), 39, 48 112–113 getHours method (Date), 39, 48 applying against array elements, 82–83 getMilliseconds method (Date), 39, 48 to create new array, 83–84 getMinutes method (Date), 39, 48 controlling scope of, 383–385 getMonth method (Date), 40 creating, 94 getOwnPropertyDescription method (Object), currying, 104, 107–108 370 dynamic runtime functions, 98–100 getOwnPropertyDescriptor method, 374 errors in, checking for, 180–181 getOwnPropertyNames method (Object), 375, memoization (caching calculations), 109– 376 112 getResponseHeader method passing as function arguments, 100–101 (XMLHttpRequest), 414 passing complex objects to, 96–98 getSeconds method (Date), 40, 48 passing data to/from, 95–96 getSVGDocument method, 336 recursion, 101–103 getter/setter functionality, 364–366 remembering data among, 103–106 getTime method (Date), 40 running after page load, 117–118 getTimezoneOffset method (Date), 40 running repetitively, 50–51 getUTCDate method (Date), 40 future dates, scheduling, 48 getUTCDay method (Date), 40 getUTCFullYear method (Date), 40 G getUTCHours method (Date), 40 getUTCMilliseconds method (Date), 40 \g flag (regular expressions), 26, 28 getUTCMinutes method (Date), 40 garbage collection, function closures and, 105 getUTCMonth method (Date), 40 generalized currying functions, 107–108 getUTCSeconds method (Date), 40 geolocation API, 500 github host, 399 geometry global search flag (\g), 26, 28 calculating arc lengths, 67–68 global variables, 58 circles that fit page elements, 65–67 function closures to avoid, 103–106 gesture events, 117 wrapping in anonymous functions, 112– GET requests, 417–420 113 getAllResponseHeaders method Google Chrome extensions, building, 484– (XMLHttpRequest), 415 485 getAttribute method, 237 Google Code host, 398 getAttributeNS method, 238 Google Gears, 457 getBoundingClientRect method (element), Google’s Chrome, debugging in, 208–209 272, 273 Greasemonkey scripts, 487–488 getComputedStyle method (window element), > (greater than) operator, 7 240 >= (greater than or equal) operator, 7 getDate method (Date), 39, 48 getDay method (Date), 39 518 | Index H accessing all in page, 216–221 images collection (document element), 212 hasAttribute method, 238, 252 ++ (increment) operator, 58 hash maps (hash tables), 91 incremental counters, 57–58 hash property (location element), 151, 153 index (array elements), 70 hCalendar Microformat annotations, 447–450 indexOf method (Array), 78, 80 head elements, 211 indexOf method (String), 8, 9 height (see size) !


pages: 290 words: 119,172

Beginning Backbone.js by James Sugrue

Airbnb, continuous integration, don't repeat yourself, Firefox, Google Chrome, loose coupling, MVC pattern, node package manager, single page application, web application, Y Combinator

Here is a selection of the tools that I use for my own JavaScript development. Apache You’re definitely going to need some version of Apache to host your web app locally. Although for the type of apps we’ll create in this book, PHP and MySQL aren’t going to be required, so it’s hard to beat XAMPP (www.apachefriends.org/en/xampp.html) for ease of installation across Mac or Windows platforms. 19 Chapter 1 ■ An Introduction to Backbone.js Google Chrome When developing JavaScript, Chrome is my browser of choice, purely because of the strength of the developer tools included. The Chrome Developer Tools (Figure 1-15) are among the best web debugging tools available. From the Sources tab you can open any JavaScript and add breakpoints, allowing you to inspect the values of variables and go step by step through the execution of your program. Figure 1-15 illustrates a breakpoint within backbone.js as the script is loaded in the code previously illustrated.

Once all of the code has been successfully migrated, the following code should execute the app in the same condition as it was in Chapter 6: require([ 'backbone', 'app/view/TimelineView', 'app/view/ProfileView', 'app/model/Search', 'app/view/SearchView', 'app/router/AppRouter', 'app/util/Helpers' ], function (Backbone, TimelineView, ProfileView, Search, SearchView, AppRouter) {    var timelineView = new TimelineView(), profileView = new ProfileView({user: 'sugrue'}), searchModel = new Search(), searchView = new SearchView({model: searchModel}), appRouter = new AppRouter({searchModel: searchModel}); Backbone.history.start(); });   Using Yeoman to Get Started Quickly In Chapter 10 we discussed how Grunt provides generators to help you get started with a complete application structure quickly. Yeoman (http://yeoman.io, Figure 12-3) makes this process even easier, with generators available for Backbone applications that utilize RequireJS. 261 Chapter 12 ■ Creating a Manageable JavaScript Code Base Figure 12-3. Yeoman web site at http://yeoman.io Yeoman, created by the Google Chrome Developer Relations team, is a tool stack that brings together three tools to improve your productivity when creating web applications. It includes Grunt, which we discussed in depth in Chapter 9, as well as two other tools: Bower and Yo. Bower is a package manager for libraries and frameworks that are used within web applications. In a similar fashion to NPM, Bower allows you to download the libraries you need through the command line and brings all the dependent libraries along with it.

The key thing to remember is that even though JavaScript is a dynamic language and allows you to do almost anything you want, there is always the opportunity to apply real structure to your code to make it future-proof and ready for any application requirements that get added late in the project life cycle. 269 Index „„         A AngularJS, 8 Apache, 19 Asynchronous JavaScript and XML (Ajax), 2 Asynchronous Module Definition (AMD), 249 „„         B Backbone applications error alert, 233 error validation, 232 error events, 233 invalid event, 232 validate function, 232 validate method, 232 memory leaks listenTo function, 234 patterns, 234–236 unbind events, 233–234 network performance, 244 perceived performance Cache objects, 247 document fragment, 245–246 extra data storage, 246–247 optimistic network calls, 244 rendering views registerPartial function, 238–239 render function, 236, 238 template precompilation, 240–241 underscore templates, 239–240 separation of concerns, 231 view management common code sharing, 242 parent view updation, 242–243 Backbone collections adding models, 54 constructors, 54 definition, 53 events, functions and property, 62 exchanging data deleting data, 60 retrieving data, 59 saving data, 60 setup, 59 functions and property, 61 getting list of attributes, 58 iterating function, 57 removing models, 55 reset function, 55 retrieving models, 56 search mechanisms, 58 set function, 56 shuffle function, 58 sorting function, 57 Backbone community code samples, 127 developer tools and utilities, 148 models and collection extensions (see Models and collection extensions) quick reference, 149 user interface components (see User interface components) Backbone.history.start() function, 86 Backbone.js advantages, 14 Ajax, 2 Ashkenas, Jeremy, 1 companies Airbnb, 12 Foursquare, 13 SoundCloud, 12 design patterns (see Design patterns, web applications) development tools Apache, 19 Google Chrome, 20 Sublime Text 2, 20 271 ■ index Backbone.js (cont.) disadvantages, 15 DocumentCloud application, 1 downloading CDNs, 18 development versions, 16 edge version, 17 jQuery.com, 17–18 production version, 17 underscorejs.org, 17 Underscorejs.org, 17 Gmail web application, 3 jQuery, 2 library, 1 Model View Controller pattern, 1 server-side logic, 1 single-page web applications, 2 testing, 18 Backbone models adding functions, 43 attributes changing attribute values, 41 cloning models, 42 deleting attributes, 41 operations, 42 retrieving attribute values, 41 constructors, 40 creation, 40 deleting models, 52 events listening for changes, 43–44 operations relatedto attributes changes, 45 tracking changes, 44 exchanging data, 47 extend mechanism, 52 identifiers, 50 model validation, 45 Node.js server back end, 47 parsing server responses, 52 retrieving models, 51 save function, 50 Backbone view binding View class, 65 changing DOM element, 68 creation, 64 extend() function, 64 finding nested elements, 67 properties and functions, 69 rendering content, 66 self and this objects, 69 viewing events, 68 Behavior-Driven Development (BDD), 170 Booleans, 24 272 „„         C .clone() method, 42 CoffeeScript, 1 CollectionView, Marionette Backbone.View class, 209 callbacks, 215 child views, 216 collection attribute, 210 for empty datasets, 216 ItemView, 216 root element updation, 209 showProfile event, 208 template parameter, 209 TimelineItemView, 208, 210–211 Twitter timeline, 211 CompositeView, Marionette appendHtml function, 212 complete code, 213 HTML page, 212 TimelineItemView declaration, 214 tagName attribute, 213 timeline div, 212 timeline-item-template, 213–214 timeline-template creation, 212 ul declaration, 212 Content delivery network (CDN), 18 „„         D Date objects, 25 Design patterns Facade pattern convert function, 266–267 definition, 265 model objects, 265 twitter, 266 Mediator pattern airport control tower, 267 definition, 267 handling, 268 implementation, 267–268 name.change notification, 268 Model View * AngularJS, 8 Backbone.Collection, 6 Backbone.Model, 6 Backbone.Router, 6 Backbone.View, 6 Ember.js, 9 implementation, 6 Knockout.js, 7 ■ Index Model View Presenter, 5 MVVM, 6 Model View Controller (MVC) code reuse, 5 data representation, 5 key terms, 4 separation of concerns, 5 sequence diagram, 5 structure benefits, 4 DocumentCloud application, 1 Document Object Model (DOM), 2 „„         E ECMAScript, 21 el attribute, 65 Ember.js, 9 Events, backbone application binding, 88–89 collection events, 91 custom event creation, 93 DOM, 94 global, 93 listenTo function, 90 model, 92 router class, 92 stopListening function, 90 triggering, 91 unbinding, 89–90 „„         F Facade pattern convert function, 266 definition, 265 model objects, 265 twitter, 266 fetch() function, 51 findWhere function, 59 forEach function, 57 „„         G Globbing, 187 Google Chrome, 20 Grunt CSSMin, 194 file system array format, 185 compact format, 185 globbing, 187 object format, 185 properties, 186 installation, 180 jasmine task, 197 JavaScript, 180 JavaScript source code compression, 190 externalLibraries, 191–192 installation, 190 minification task, 192 report property, 193 UglifyJS Task configuration, 191 uglify task, 193 plug-ins, 201 projects configuration, 182 dependency, 181 grunt.loadNpmTasks function, 183 grunt.registerTask function, 183–184 index.html file, 181 scaffolding, 199 src and dest property, 183 uglify task, 182–183 QUnit task configuration, 195 installation, 195 output, 196 reporting task, 196 static analysis tools initConfig, 188–189 installation, 188 JSHint checks, 188 JSHint output, 189 lint tool, 188 registerTask function, 189 reporterOutput attribute, 189–190 task configuration, 184 task sets, 198 web site, 180 grunt.loadNpmTasks function, 183 grunt.registerTask function, 183–184 „„         H Handlebars function built-in helpers, 76 conditional statements, 75 creating helpers, 76 displaying variables, 74 each helper, 75 inserting comments, 74 precompiling templates, 77 usage with Backbone, 73 „„         I Inheritance prototype chain, 34 overriding methods, 34 parasitic combination, 34–35 talk method, 33 273 ■ index „„         J Jasmine, 170 BDD, 170 describe function, 172 directory structure, 171 expect function, 172 fake server, 177 it function, 172 jQuery matchers, 175 matchers, 174 output, 172 run tests, PhantomJS, 178 setup and teardown function, 174 view test, 175 website, 170 jQuery, 2 „„         K Knockout.js, 7 ko.observable() function, 7 „„         L log helper, 76 „„         M Marionette application creation, 203, 205 application infrastructure, 204 application structure, 204 developers, 203–204 download options and version, 204 messaging, 205 m.html page, 205 nested regions, 216 object layout, 217–218 region addition, 206 TemplateCache, 205 views, 204 attachView function, 207 callbacks, 214–215 collectionview (see CollectionView, Marionette) CompositeView (see CompositeView, Marionette) currentView attribute, 207 events, 214 ItemView, 206 Region objects manage views, 207 show() or close() functions, 207 TimelineView, 206 274 Math functions, 25 Mediator pattern airport control tower, 267 definition, 267 handling, 268 implementation, 267–268 name.change notification, 268 Models and collection extensions Backbone.dualStorage Chrome Developer Tools, 142 configuration, 141 uses, 141 Backbone.memento Chrome Developer Tools, 140 configuration, 138, 140 plug-in ignore changes, 139 uses, 138–139 Backbone.trackit configuration, 137 individual model objects, 137 uses, 137 Backbone-Validator configuration, 144 uses, 144 Backbone.ViewModel computed attributes, 143 configuration, 143 Handlebars helpers, 144 uses, 142 ModelAttrs configuration, 147 library, 147 uses, 147 Query Engine configuration, 146 standard and live collections, 146 uses, 146 Model View * AngularJS, 8 Backbone.Collection, 6 Backbone.Model, 6 Backbone.Router, 6 Backbone.View, 6 Ember.js, 9 implementation, 6 Knockout.js, 7 Model View Presenter, 5 MVVM, 6 Model View Controller (MVC) code reuse, 5 data representation, 5 key terms, 4 ■ Index separation of concerns, 5 sequence diagram, 5 structure benefits, 4 Model View Presenter (MVP), 5 Model View ViewModel (MVVM), 6 MooTools, 38 Mustache template comment sections, 79 displaying variables, 78 iterating through a list, 78 usage with Backbone, 77 „„         N, O Object oriented-JavaScript basic syntax arrays, 28–29 closures, 29 loops and conditionals, 27 variable declaration, 26 characteristics, 21 constructors, 30 controlling access, 36 core objects date, 24 math, 25 RegExp, 26 creating methods, 30–31 encapsulation, 32 frameworks Backbone.js, 38 MooTools, 38 Prototype.js, 37 namespace, 36 object creation, 30 objects, 22 primitive data types Boolean, 24 number, 24 String, 22, 24 undefined and null, 24 prototype inheritance (see Inheritance prototype) property, 31–32 snippets, 22 versions, 21 „„         P parse() function, 52 PhantomJS, 162 „„         Q QUnit, 154.


pages: 628 words: 107,927

Node.js in Action by Mike Cantelon, Marc Harter, Tj Holowaychuk, Nathan Rajlich

Amazon Web Services, Chris Wanstrath, create, read, update, delete, Debian, en.wikipedia.org, Firefox, Google Chrome, MITM: man-in-the-middle, MVC pattern, node package manager, p-value, pull request, Ruby on Rails, web application, WebSocket

Since the release of Google Chrome in late 2008, JavaScript performance has improved at an incredibly fast rate due to heavy competition between browser vendors (Mozilla, Microsoft, Apple, Opera, and Google). The performance of these modern JavaScript virtual machines is literally changing the types of applications you can build on the web.[2] A compelling, and frankly mind-blowing, example of this is jslinux,[3] a PC emulator running in JavaScript where you can load a Linux kernel, interact with the terminal session, and compile a C program, all in your browser. 2 See the “Chrome Experiments” page for some examples: www.chromeexperiments.com/. 3 Jslinux, a JavaScript PC emulator: http://bellard.org/jslinux/. Node uses V8, the virtual machine that powers Google Chrome, for server-side programming.

filter function filters, in EJS case manipulation filters custom filters map filter selection filters sorting filters text manipulation filters find method, 2nd, 3rd first filter Fleet tool folders, watching for changes triggering page reload for using fs module for loops forEach statement foreground color Forever tool fork() function, 2nd forking repositories form function form input handling submitted form fields uploaded files calculating upload progress handling with formidable module using querystring module format method, 2nd format property formidable module frameworks vs. platforms Freenode fstream module functional testing. See acceptance testing. G games gcc4-g++ package Generic Security Services Application Program Interface. See GSSAPI. genSalt method get filter get method, 2nd GET requests, 2nd getHeader method global scope included files modules global variables, testing for globally installing packages gm module Gmail Google Chrome influence on JavaScript JavaScript engine in Google group for Node.js Google Groups Google Maps GraphicsMagick library GSSAPI (Generic Security Services Application Program Interface) H Handlebars.js template engine handleRequest function hash method hash tables headers Hello World server, 2nd Heroku HGETALL command hidden option hiredis module hkeys command hmset command Hogan creating templates customizing tags for displaying values history of inverted sections iterating through sections overview partials in section lambdas Homebrew hooks defined in Mocha host setting, 2nd, 3rd htmlparser module, 2nd HTTP module http module httpOnly property HTTPS (Hypertext Transfer Protocol Secure) module using for web applications :http-version token I icons option IDE (integrated development environment) if statements ImageMagick library immediate option include directive and global scope in Jade using IncomingForm object index function, 2nd index.html, serving when directory is requested index.js file inetutils package info function inheritance, for templates in Jade inherits function in-memory storage install command installing dependencies Express framework Node compiling on CentOS on Linux on OS X on OS X with Homebrew on Ubuntu on Windows nodeunit npm Selenium Server Soda using npm exploring documentation and package code installing packages searching for packages instances integrated development environment.

genSalt method get filter get method, 2nd GET requests, 2nd getHeader method global scope included files modules global variables, testing for globally installing packages gm module Gmail Google Chrome influence on JavaScript JavaScript engine in Google group for Node.js Google Groups Google Maps GraphicsMagick library GSSAPI (Generic Security Services Application Program Interface) H Handlebars.js template engine handleRequest function hash method hash tables headers Hello World server, 2nd Heroku HGETALL command hidden option hiredis module hkeys command hmset command Hogan creating templates customizing tags for displaying values history of inverted sections iterating through sections overview partials in section lambdas Homebrew hooks defined in Mocha host setting, 2nd, 3rd htmlparser module, 2nd HTTP module http module httpOnly property HTTPS (Hypertext Transfer Protocol Secure) module using for web applications :http-version token I icons option IDE (integrated development environment) if statements ImageMagick library immediate option include directive and global scope in Jade using IncomingForm object index function, 2nd index.html, serving when directory is requested index.js file inetutils package info function inheritance, for templates in Jade inherits function in-memory storage install command installing dependencies Express framework Node compiling on CentOS on Linux on OS X on OS X with Homebrew on Ubuntu on Windows nodeunit npm Selenium Server Soda using npm exploring documentation and package code installing packages searching for packages instances integrated development environment. See IDE. intermediary functions Internet Explorer Internet Relay Chat. See IRC. interprocess communication. See IPC. INTERVAL option inverted sections io variable IPC (interprocess communication) IRC (Internet Relay Chat), 2nd IRC channel for Node.js it function, 2nd J Java JavaScript Google Chrome influence on Node.js built on using in Jade JavaScript Object Notation. See JSON. javascripts directory JavaServer Pages. See JSP. join method Jonny-Five project jQuery, 2nd jsdom module JSHint JSLint jslinux json spaces option json_replacer option json() middleware JSP (JavaServer Pages) K keys in hash tables L last filter least significant byte. See LSB. leave method lengthAbove method level option lib directory, 2nd libuv library Lightweight Directory Access Protocol (LDAP) limit() middleware overview why needed wrapping for greater flexibility link command Linode list command listen function, 2nd listeners, 2nd lists little-endian LLEN command locally installing packages locals argument log method, 2nd logging requests customizing formats options for overview lookup directory in Express framework lpush command lrange command LSB (least significant byte) M main key make package malloc() function map filter mapping file extensions in Express master branch maxAge argument, 2nd Memcached memLevel option memory storage MemoryStore object message property method property, 2nd, 3rd, 4th, 5th :method token methodOverride() middleware accessing original req.method property overview Microsoft Azure SDK for Node.js mime module, 2nd MIME types, 2nd, 3rd, 4th, 5th mixins defined in Jade mkdir() function model-view-controller pattern.


pages: 338 words: 74,302

Only Americans Burn in Hell by Jarett Kobek

AltaVista, coherent worldview, corporate governance, crony capitalism, Donald Trump, East Village, ghettoisation, Google Chrome, haute couture, illegal immigration, indoor plumbing, Jeff Bezos, mandelbrot fractal, MITM: man-in-the-middle, pre–internet, sexual politics, Skype, Snapchat, Steve Jobs, Telecommunications Act of 1996

There were two DXRacer chairs, a desk, and a giant LCD display attached to an Alienware Area-51 desktop computer. HRH sat in one of the chairs. “Position your meat in the other receptacle,” said HRH. “Join me at this terminal to infinity.” “Are you trying to make me watch porn?” asked the sex worker. “I’ve seen porn. But it’s your money.” HRH powered on the Alienware Area-51 desktop computer. HRH opened the Google Chrome web browser. HRH directed the Google Chrome web browser to https://www.twitch.tv. https://www.twitch.tv was the URL of Twitch, a subsidiary of Amazon.com, which was a website dedicated to the destruction of the publishing industry. Amazon.com was owned by Jeff Bezos, who also owned Goodreads.com, the Internet Movie Database, Blue Origin, and the Washington Post, which was a newspaper with a slogan that said: “Democracy Dies in Darkness.”

“Are we going to fuck or what?” “Such crassness!” cried HRH. “Delightful! Delightful! Did I not inform you that I would demonstrate the greatest perversity? Do not think that Twitch itself constitutes the horror. There remains another dimension.” HRH scrolled down on the webpage hosting the Sidcup woman’s Twitch channel. HRH clicked the donate button. The donate button opened another browser tab in Google Chrome. HRH switched to this tab. HRH filled out the form on the donate page. HRH clicked donate. A notification appeared on the Sidcup woman’s stream. It informed the woman and her viewers that HRH had donated £2,000. The woman pulled off her headphones and began to cry. “One cannot donate to any Twitch channel which experiences true popularity,” said HRH. “Fellows with an audience in the hundreds of thousands will not evidence the appropriate response when presented with a mere £2,000.”


The Complete Android Guide: 3Ones by Kevin Purdy

car-free, card file, crowdsourcing, Firefox, Google Chrome, Google Earth, Googley, John Gruber, QR code, Skype, speech recognition, telemarketer, turn-by-turn navigation

Navigating with the Browser A quick bit of history and perspective on your Android browser. It's built with WebKit, a web browser backend originally built for KDE, a desktop version of the (very geeky) Linux operating system. Apple, the maker of Mac, iPods, and iPhones, picked up the project and used it as the base for its Safari browser and all of the Mac's web abilities. WebKit has since been adopted by many software projects, including Google's Chrome browser and, yes, the browser on your Android phone. The Android Browser is not, however, Chrome for Android. It can render full web pages that look as they do on a desktop computer 99% of the time, and, with the 2.2 Android update, the Browser can even render sites that require Adobe Flash, putting it ahead of the pack in that regard. There's no built-in bookmark syncing or importing in Android Browser, but that's (hopefully) coming soon.

It's a service with a lot to offer, but neither Google, nor certain intrepid authors, can capture it all in a few textual nuggets. Here are a few quick tips on getting more from Google Voice on your phone and in your phone life. Add a browser extension for quick desk calling: When you find a restaurant or business phone number you want to call, you don't need to pick up your phone and punch the number in. With a Google Voice extension installed in Google Chrome or Firefox, you can simply click on phone numbers on a web page, then answer your phone when it rings to make the call. These extensions also offer instant SMS and message checking abilities, making them well worth the download for any Voice enthusiast. Moving an app icon Make free desktop calls with Voice: Your Android handles Google Voice calls just fine. Need to save on minutes, or just like the convenience of headset calling?


pages: 270 words: 64,235

Effective Programming: More Than Writing Code by Jeff Atwood

AltaVista, Amazon Web Services, barriers to entry, cloud computing, endowment effect, Firefox, future of work, game design, Google Chrome, gravity well, job satisfaction, Khan Academy, Kickstarter, loss aversion, Marc Andreessen, Mark Zuckerberg, Merlin Mann, Minecraft, Paul Buchheit, Paul Graham, price anchoring, race to the bottom, recommendation engine, science of happiness, Skype, social software, Steve Jobs, web application, Y Combinator, zero-sum game

For example, certain Google projects also appear to understand Boyd’s Law of Iteration. Boyd decided that the primary determinant to winning dogfights was not observing, orienting, planning or acting better. The primary determinant to winning dogfights was observing, orienting, planning and acting faster. In other words, how quickly one could iterate. Speed of iteration, Boyd suggested, beats quality of iteration. Speed of iteration — the Google Chrome project has it. 1.0 December 11, 2008 2.0 May 24, 2009 3.0 October 12, 2009 4.0 January 25, 2010 5.0 May 25, 2010 6.0 September 2, 2010 Chrome was a completely respectable browser in V1 and V2. The entire project has moved forward so fast that it now is, at least in my humble opinion, the best browser on the planet. Google went from nothing, no web browser at all, to best-of-breed in under two years.

Both classes are important, but have fundamentally different needs. Anonymous users are voracious consumers optimizing for rapid browsing, while our avid community members are the source of all the great content that drives the network. These guys (and gals) need each other, and they both deserve special treatment. We design and optimize for two classes of users: anonymous, and logged in. Consider the following Google Chrome network panel trace on a random Super User question I picked: requests data transferred DOMContentLoaded onload Logged in (as me) 29 233.31 KB 1.17 s 1.31 s Anonymous 22 111.40 KB 768 ms 1.28 s We minimize the footprint of HTML, CSS and Javascript for anonymous users so they get their pages even faster. We load a stub of very basic functionality and dynamically “rez in” things like editing when the user focuses the answer input area.


Realtime Web Apps: HTML5 WebSocket, Pusher, and the Web’s Next Big Thing by Jason Lengstorf, Phil Leggetter

Amazon Web Services, barriers to entry, don't repeat yourself, en.wikipedia.org, Firefox, Google Chrome, MVC pattern, Ruby on Rails, Skype, software as a service, web application, WebSocket

As well as being discoverable, a presence in a marketplace means your app has the opportunity to benefit from the in-marketplace review system. The theory is that if you build a great app, you’ll receive great reviews and benefit by soaring up the app charts. Marketplaces were initially created for native apps and have proven to be highly successful. The idea has been copied for web apps, but with much less success. There are efforts to change this, such as the Google Chrome Web Store,2 Firefox Marketplace,3 Facebook App Center,4 and even the Apple “web apps” directory,5 but the uptake is much slower than their native app counterparts. 1 http://en.wikipedia.org/wiki/Persona_(user_experience) https://chrome.google.com/webstore 3 https://marketplace.firefox.com/ 4 http://www.facebook.com/appcenter 5 http://www.apple.com/webapps/ 2 58 Chapter 4 ■ Choosing Web Apps Over Native Apps Established and controlled marketplaces can also come with a downside, however.

The closed room Reopening the Room Make sure the room can be reopened by clicking the Open This Room button, which brings the room back to its original active state (see Figure 9-4). Figure 9-4. The reopened room 234 Chapter 9 ■ Building the Back-End: Part 2 Joining a Room Next, open a different browser (meaning an entirely different application: Firefox, Safari, Opera, or Internet Explorer if you started out using Google Chrome) and navigate to http://rwa.local/. Enter 1 for the room’s ID, according to the figures in this section,—and click the Join This Room button (see Figure 9-5). Figure 9-5. Joining a room (using a different browser) from the home page The room opens, and you can now see the “ask a question” form (see Figure 9-6). 235 Chapter 9 ■ Building the Back-End: Part 2 Figure 9-6. The “ask a question” form is shown you view the room as an attendee Asking Your First Question Test that attendees can ask new questions by typing a new question into the form field (see Figure 9-7).


Learning Node.js: A Hands-On Guide to Building Web Applications in JavaScript by Marc Wandschneider

database schema, en.wikipedia.org, Firefox, Google Chrome, node package manager, telemarketer, web application

At the same time, a new generation of browser competition has erupted, with Google’s Chrome, Mozilla’s Firefox, Apple’s Safari, and Microsoft’s Internet Explorer all vying for the crown of browser king. As part of this, all these companies are investing heavily in the JavaScript portion of these systems as modern web applications continue to grow ever-more dynamic and script-based. In particular, Google Chrome’s V8 JavaScript runtime is particularly fast and also open-sourced for use by anybody. With all these things in place, the opportunity arose for somebody to come along with a new approach to network (web) application development. Thus, the birth of Node.js. What Exactly Is Node.js? In 2009, a fellow named Ryan Dahl was working for a company called Joyent, a cloud and virtualization services company in California.

.), 16 end event, 84 equality operator (==), 38 err parameter (callbacks), 54 error handling global error handlers, 158-159 handle_incoming_request function, 69 with if...then...else statements, 55-56 recursion, error handling for album-listing server, 71-72 errors catching, 47 throwing, 47 event queue, 52 events, 119 data event, 115 end, 84 readable, 84 executing code async.auto function, 109-111 in parallel, 108-109 in serial, 105-108 execution, resuming in Node debugger, 21 exiting Node Shell, 16 exports object, 90 express Hello World application, 138-139 installing, 137-139 memcached, using for session data, 224 middleware bodyParser, 155 configuration, 149-150 cookies, 153-155 ordering, 150-151 sessions, 153-155 usage, 148-149 modules, 146-148 static files, handling, 151-153 URLs, routing functions, 140-141 virtual hosting, 225-226 testing, 225 expressions, literal format, 31 F factory model, returning objects from modules, 91 fetching MySQL database users, 195-196 file APIs, 61, 237-238 files binary files, serving with buffers, 118-119 reading with streams, 114 static files, serving with buffers, 114-118 uploading, 155 find, 168-171 floating-point mathematical operations, 27 folders, returning for album-listing server, 70-72 following Node.js with Twitter, 22 for...in loops, 43-44 fs (file system) module file APIs, 237-238 funcsync API, 237 mkdirs function, 239-240 fs.readdir function, 67-69 fs.stat function, 70 funcsync API, 237 functions, 39-43 anonymous, 41-42 Array.isArray (V8 JS), 35 for arrays, 36-38 async.auto, 109-111 async.forEach, 111 asynchronous, 51 calling, 54 async.parallel, 108-109 async.series, 105-108 Boolean, 29 callback functions, 54-56 nested callbacks, 57-58 calling, 40-41 compute_intersection, 59-61 createServer, 19 express.logger, 148 fs.readdir, 67-69 fs.stat, 70 handle_incoming_request, 69 helper functions, 146-147 indexOf, 30 join, 37 load_album, 76 mkdirs, 239-240 modules bcrypt, 195 caching, 94-95 connect, 139 consuming, 93-95 creating, 96-101 cycles, 95 developing with, 101-102 exports object, 90 generic-pool, 204-205 npm, 92-93 publishing, 102-103 searching for, 93-94 writing, 89-92, 95 nameless, 41-42 parameters, declaring, 40 parseFloat, 28 parseInt, 28 pop, 36 process.exit, 238 push, 36 replace, 31 require, 52 requirePageLogin, 197 scoping, 42-43 search, 32 send_failure, 76 send_success, 76 ServerResponse#writeHead, 11 setTimeout, 50-51 sort, 37 spawn, 248-250 string functions, 30-31 splice, 30 split, 31 substr, 30 trim, 31 unshift, 37 url.parse, 80 G generating JSON, 33 test certificates, 228 generic-pool module, 204-205 GET parameters, 79-83 global error handlers, 158-159 global variables console, 48 global, 47-48 process, 48 Google Chrome V8 JavaScript. See V8 JS Google groups, nodejs, 22 gzip, 156 H handle_incoming_request function, 69 handling. See also error handling computationally intensive tasks, 59-61 paging for photo album application, 80-82 path differences for multiplatform development, 231-232 static files, 151-153 Hello World, writing for express, 138-139 helper functions, 146-147 home page template (Mustache), 129-132 HTTP <form> elements, receiving POST data, 87-88 Basic Authentication, 157-158, 206 POST data data, sending, 83-84 receiving, 84-88 response codes, 79 HTTP server request objects, 78-79 response objects, 78-79 HTTPS test certificates, generating, 228 I if...then...else statements, error handling, 55-56 implementing round-robin load balancer, 219 including modules in Node files, 93 indexOf function, 30 inheritance, 45-46 input readline module, 243 line-by-line processing, 243-246 questions, asking, 246-247 stdin streams, 240-241 RawMode, 241-243 installing express, 137-139 memcached on UNIX and Mac OS, 223 on Windows, 222-223 modules, 92-93 MongoDB, 161-162 mongodb module, 162 MySQL, 189-190 mysql module, 190 Node.js, 9-14 on Linux, 14 on Mac OS, 12-14 on Windows, 9-11 nodeunit, 254 instanceof operator, 46 IO-based applications, 49 iterating over items in arrays, 38 J JavaScript bitwise operations, 43 classes, 44 properties, adding, 44 constants, 26-27 errors catching, 47 throwing, 47 files, running Node.js with, 17 inheritance, 45-46 JSON, 33 generating, 33 loops, 43-44 numbers, 27-28 floating-point mathematical operations, 27 NaN, 28 numbers (JavaScript), dividing by zero, 27 page loader, creating, 126-127 prototypes, 45-46 types arrays, 34-38 booleans, 28-29 complex types, 26 displaying, 26 null, 26 objects, 32-34 strings, 29-32 undefined, 26 V8 JS, 25 join function, 37 JPEG images, serving with buffers, 118-119 JSON (JavaScript Object Notation), 33.


pages: 375 words: 66,268

High Performance JavaScript by Nicholas C. Zakas

en.wikipedia.org, Firefox, Google Chrome, sorting algorithm, web application

In Internet Explorer, for example, the JavaScript implementation is called JScript and lives in a library file called jscript.dll, while the DOM implementation lives in another library, mshtml.dll (internally called Trident). This separation allows other technologies and languages, such as VBScript, to benefit from the DOM and the rendering functionality Trident has to offer. Safari uses WebKit’s WebCore for DOM and rendering and has a separate JavaScriptCore engine (dubbed SquirrelFish in 35 its latest version). Google Chrome also uses WebCore libraries from WebKit for rendering pages but implements its own JavaScript engine called V8. In Firefox, Spider-Monkey (the latest version is called TraceMonkey) is the JavaScript implementation, a separate part of the Gecko rendering engine. Inherently Slow What does that mean for performance? Simply having two separate pieces of functionality interfacing with each other will always come at a cost.

Send email to index@oreilly.com. 203 WebKit-based and innerHTML, 38 D XPath, 137 build process, Agile JavaScript, 174 data access, 15–33 buildtime versus runtime build processes, 170 object members, 27–33 scope, 16–26 C data caching, 145 data formats, 134–145 caching custom, 142 Ajax, 145 HTML, 141 JavaScript files, 171 JSON, 137–141 layout information, 56 XML, 134–137 object member values, 31 data transmission, 125–134 using, 172 requesting data, 125–131 call stack size limits, 74 sending data, 131–134 CDN (content delivery network), 173 data types: functions, methods and properties, chains (see prototype chains; scope chains) 27 childNodes collection, 47 Date object, 178 Chrome deferred scripts, 5 developer tools, 192 delegation, events, 57 just-in-time JavaScript compiler, 160 deploying JavaScript resources, 173 time limits, 110 displayName property, 190 cloning nodes, 41 do-while loops, 62 Closure Compiler, 169 document fragments, batching DOM changes, Closure Inspector, 169 55 closures, scope, 24 DOM (Document Object Model), object collections members, 27 childNodes collection, 47 DOM scripting, 35–59 collection elements, 45 access document structure, 46–50 HTML collections, 42–46 browsers, 35 combining JavaScript files, 165 cloning nodes, 41 compile-time folding, Firefox, 84 event delegation, 57 compression, 170 HTML collections, 42–46 concat method, 86 innerHTML, 37–40 concatenating strings, 40, 81–87 repaints and reflows, 50–57 conditional advance loading, 156 dot notation versus bracket notation, 31 conditionals, 68–73 double evaluation, 151–153 if-else, 68, 70 downloading, 122 lookup tables, 72 (see also DOM scripting; loading; console API, Firebug, 184 nonblocking scripts; scripts) Console panel profiler, Firebug, 183 blocking by <script> tags, 3 console.time() function, 185 using dynamic script nodes, 7 constants, mathematical constants, 159 dynamic scopes, 24 content delivery network (CDN), 173 dynamic script elements, 6–9 crawling DOM, 47 dynamic script tag insertion, 127 CSS files, loading, 13 dynaTrace, 199 CSS selectors, APIs, 48 cssText property, 53 E element nodes, DOM, 47 elements, 45 204 | Index (see also collections; <script> elements; assignEvents() function, 25 tags) caching object member values, 31 DOM, 50 console.time() function, 185 dynamic script elements, 6–9 data types, 27 reflows, 56 eval() function, 24, 138, 151 emulating atomic groups, 93 execute() function, 24 eval() function, 24, 138, 151 factorial() function, 75, 78 event delegation, DOM scripting, 57 initUI() function, 21 events loadScript() function, 11 message events, 121 mergeSort() function, 77 onmessage events, 121 multistep() function, 118 readystatechange events, 7 processArray() function, 116 execute() function, 24 profileEnd() function, 184 execution (see scripts) removeEventListener() function, 154 Expires headers, 146 setInterval() function, 112, 151 ExpiresDefault directive, Apache web server, setTimeout() function, 112, 151 172 tasks, 116 external files, loading, 122 variables in execution, 18 F G factorial() function, 75, 78 GET versus POST when using XHR, 127 Fiddler, 196 global variables, performance, 19 files, 122 Google Chrome developer tools, 192 (see also DOM scripting; downloading; Google Closure Compiler, 169 loading; nonblocking scripts; scripts) grouping scripts, 4 caching JavaScript files, 171 gzip compression, 169, 170 combining JavaScript files, 165 loading external files, 122 H preprocessing JavaScript files, 166 handleClick() method, 108 Firebug, 183–186 hasOwnProperty() method, 28 Firefox headers compile-time folding, 84 Expires headers, 146 time limits, 110 HTTP headers, 146 flow control, 61–80 :hover, IE, 57 conditionals, 68–73 HTML collections loops, 61–68 expensive collections, 43 recursion, 73–79 local variables, 45 flows (see reflows) HTML, data format, 141 flushing render tree changes, 51 HTTP headers, Ajax, 146 folding, compile-time folding and Firefox, 84 for loops, 62 for-in loops, 62, 63 I forEach() method, 67 idempotent action, 127 Function() constructor, 151 identifier resolution, scope, 16–21 functions, 116 IE (Internet Explorer) (see also methods; statements) array joining, 84 add() function, 17 concatenating strings, 40 addEventListener() function, 154 dynamic script elements, 7 anonymous functions, 181, 182 nextSibling, 47 Index | 205 reflows, 57 limits repeated actions, 111 call stack size limits, 74 time limits, 109 long-running script limit, 109 using, 186 literal values, defined, 15 XHR objects, 148 loading, 122 if-else (see also DOM scripting; downloading; optimizing, 70 nonblocking scripts; scripts) versus switch, 68 conditional advance loading, 156 initUI() function, 21 CSS files, 13 injecting nonblocking scripts, 9 external files, 122 innerHTML JavaScript, 10 data format, 141 lazy loading, 154 versus DOM, 37–40 scripts, 192 interfaces (see user interfaces) loadScript() function, 11 Internet Explorer (see IE) local variables interoperability, JSON, 140 HTML collections, 45 iPhone (see Safari) performance, 19, 36 iteration long-running script limit, 109 function-based, 67 lookaheads, emulating atomic groups, 93 loop performance, 63–67 lookup tables, 72 recursion, 76 loops, 61–68 function-based iteration, 67 J measuring timing with console.time(), 185 performance, 63–67 JavaScript files types of, 61 caching, 171 combining, 165 preprocessing, 166 M JavaScript namespacing, nested properties, 32 mathematical constants and methods, lists of, JavaScript profiling, 178 159 joining arrays, 84 memoization, recursion, 77 jQuery library, gzipping, 171 mergeSort() function, 77 JSMin, 168 message events, 121 JSON (JavaScript Object Notation), data methods, 159 formats, 137–141 (see also functions; object members; JSON-P (JSON with padding), 139 properties; statements) Array.prototype.join method, 84 L concat method, 86 data types, 27 $LAB.script() method, 13 forEach() method, 67 $LAB.wait() method, 13 handleClick() method, 108 LABjs library, loading JavaScript, 13 hasOwnProperty() method, 28 layouts, caching, 56 $LAB.script() method, 13 lazy loading, 154 $LAB.wait() method, 13 LazyLoad library, loading JavaScript, 12 mathematical methods, 159 length property, 43 native methods, 159 libraries postMessage() method, 121 Ajax, 148 querySelector() method, 160 LABjs library, 13 querySelectorAll() method, 48, 160 LazyLoad library, 12 string concatenation, 82 206 | Index this in object methods, 33 panels toString() method, 28 Console panel profiler: Firebug, 183 trim method, 99 Net panel: Firebug, 185 minification, 168 Profiles panel, 189 multistep() function, 118 Resources panel: Safari Web Inspector, MXHR (multipart XHR), 128–131 191 parse times, XML, 137 N parsing, eval() function with JSON, 138 performance namespacing, nested properties, 32 Ajax, 145–149 native methods, 159 array joining, 84 nested object members, 30 browsers, 15 nested quantifiers, runaway backtracking, 94 closures, 25 Net panel, Firebug, 185 DOM scripting, 35, 36 Nielsen, Jakob, on UI response time, 110 format comparison, 144 nodes, cloning, 41 HTML format, 142 nonblocking scripts, 5–14 identifier resolution, 19 deferred scripts, 5 JavaScript engines, 24 dynamic script elements, 6–9 JavaScript in browsers, 1 loading JavaScript, 10 JSON formats, 139 XMLHttpRequest Script Injections, 9 JSON-P formats, 140 noncapturing groups, 97 loops, 63–67 O native code versus eval(), 152 nested members, 31 object members, 27 regexes, 87, 96 (see also methods; properties) timers, 119 caching object member values, 31 trim implementations, 103 data access, 27–33 XHR formats, 144 defined, 15 XML, 137 nested, 30 plus (+) operator, 82–84 prototype chains, 29 plus-equals (+=) operator, 82–84 prototypes, 27 positioning, scripts, 2 objects POST versus GET when using XHR, 127 activation objects, 18 postMessage() method, 121 Date object, 178 preprocessing JavaScript files, 166 HTMLCollection, 42 pretest conditions, loops, 62 programming practices, 153 processArray() function, 116 XHR objects, 148 profileEnd() function, 184 onmessage events, 121 Profiler (YUI), 179–182 Opera, time limits, 110 Profiles panel, Safari Web Inspector, 189 operators profiling, JavaScript, 178 bitwise operators, 156–159 programming practices, 151–161 plus (+) and plus-equals(+=) operators, 82– bitwise operators, 156–159 84 double evaluation, 151–153 optimizing (see performance) native methods, 159 out-of-scope variables, 26 object/array literals, 153 repeating work, 154 P prop variable, 62 properties, 27 Page Speed, 194 Index | 207 (see also methods; object members) trimming strings, 99, 100, 103 cssText property, 53 when not to use, 99 data types, 27 removeEventListener() function, 154 displayName property, 190 render trees DOM properties, 47 DOM, 50 innerHTML property, 37 reflows, 51 length property, 43 repaints, minimizing, 52–56 prototypes, 27 repeating work, 154 reading in functions, 32 repetition and backtracking, 90 readyState properties (<script> element), 7 requesting data, Ajax, 125–131 [[Scope]] property Resources panel: Safari Web Inspector, 191 prototype chains, object members, 29 runaway backtracking, 91 prototypes, object members, 27 runtime build versus buildtime processes, 170 Q S quantifiers Safari nested quantifiers, 94 caching ability, 172 performance, 98 loading scripts, 192 queries, HTML collections, 43 passing strings, 122 querySelector() method, 160 starting and stopping profiling querySelectorAll() method, 48, 160 programmatically, 189 time limits, 110 R Safari Web Inspector, 188–192 scope, 16–26 readyState closures, 24 MXHR, 130 dynamic scopes, 24 XHR, 126 identifier resolution, 16–21 XMLHttpRequest, 148 scope chains readyState properties (<script> element), 7 augmentation, 21 readystatechange events, IE, 7 identifier resolution, 16 recursion, 73–79 performance, 20 call stack size limits, 74 [[Scope]] property, 25 iteration, 76 script blocking, 193 memoization, 77 script tags, dynamic insertion, 127 patterns, 75 <script> elements reflows, 50–57 defer option, 6 caching layout information, 56 DOM, 6 elements, 56 performance, 1, 4 IE, 57 placement of, 2 minimizing, 52–56 scripts, 1–14 queuing and flushing render tree changes, (see also DOM scripting) 51 debugging and profiling, 183 regular expressions (regexes), 87–99 grouping, 4 about, 88 loading, 192 atomic grouping, 93 nonblocking scripts, 5–14 backtracking, 89, 91 positioning, 2 benchmarking, 96 selectors, CSS, 48 performance, 87, 96, 99 sending data, Ajax, 131–134 repetition, 90 setInterval() function, 112, 151 208 | Index setTimeout() function, 112, 151 U smasher, 174 speed (see performance) user interfaces, 107–124 stacks, call stack size limits, 74 browser UI threads, 107–111 statements, 116 web workers, 120–124 (see also conditionals; functions; methods) yielding with timers, 111–120 try-catch statements, 23, 75 <user> tags, 136 var statement, 62 with statements, 21 V string.concat() method, 82 values, caching object member values, 31 strings var statement, 62 concatenating, 40, 81–87 variables, 19 passing in Safari, 122 (see also local variables) trimming, 99–103 defined, 15 styles, repaints and reflows, 53 function execution, 18 switches, if-else versus switch, 68 local versus global, 19 out-of-scope variables, 26 T prop variable, 62 tables, lookup tables, 72 tags, 127 W (see also elements) Web Inspector (Safari), 188–192 <user> tags, 136 web workers, 120–124 dynamic script tag insertion, 127 communication, 121 this, object methods, 33 environment, 120 Thomas, Neil, on multiple repeating timers, loading external files, 122 120 uses for, 122 threads, browser UI threads, 107 WebKit-based browsers, innerHTML, 38 time limits, browsers, 109–111 while loops, 62, 63 timers with statements, 21 performance, 119 yielding with, 111–120 tokens, exposing, 98 X tools, 177–202 XHR (XMLHttpRequest) anonymous functions with, 182 about, 126 Chrome developer tools, 192 MXHR, 128–131 dynaTrace, 199 POST versus GET, 127 Fiddler, 196 sending data, 131–134 Firebug, 183–186 XHR objects, IE, 148 IE (Internet Explorer), 186 XML data format, 134–137 JavaScript profiling, 178 XMLHttpRequest, 131, 148 Page Speed, 194 XMLHttpRequest Script Injections, 9 Safari Web Inspector, 188–192 XPath, 137 script blocking, 193 YSlow, 198 YUI Profiler, 179–182 Y toString() method, 28 yielding with timers, 111–120 trees (see render trees) YSlow, 198 trimming strings, 99–103, 99, 103 YUI 3, loading JavaScript, 12 try-catch statements, 23, 75 YUI Profiler, 179–182 Index | 209 About the Author Nicholas C.


Engineering Security by Peter Gutmann

active measures, algorithmic trading, Amazon Web Services, Asperger Syndrome, bank run, barriers to entry, bitcoin, Brian Krebs, business process, call centre, card file, cloud computing, cognitive bias, cognitive dissonance, combinatorial explosion, Credit Default Swap, crowdsourcing, cryptocurrency, Daniel Kahneman / Amos Tversky, Debian, domain-specific language, Donald Davies, Donald Knuth, double helix, en.wikipedia.org, endowment effect, fault tolerance, Firefox, fundamental attribution error, George Akerlof, glass ceiling, GnuPG, Google Chrome, iterative process, Jacob Appelbaum, Jane Jacobs, Jeff Bezos, John Conway, John Markoff, John von Neumann, Kickstarter, lake wobegon effect, Laplace demon, linear programming, litecoin, load shedding, MITM: man-in-the-middle, Network effects, Parkinson's law, pattern recognition, peer-to-peer, Pierre-Simon Laplace, place-making, post-materialism, QR code, race to the bottom, random walk, recommendation engine, RFID, risk tolerance, Robert Metcalfe, Ruby on Rails, Sapir-Whorf hypothesis, Satoshi Nakamoto, security theater, semantic web, Skype, slashdot, smart meter, social intelligence, speech recognition, statistical model, Steve Jobs, Steven Pinker, Stuxnet, telemarketer, text mining, the built environment, The Death and Life of Great American Cities, The Market for Lemons, the payments system, Therac-25, too big to fail, Turing complete, Turing machine, Turing test, web application, web of trust, x509 certificate, Y2K, zero day, Zimmermann PGP

It’s not surprising then that one major CA’s summary of the audits is that they’re “effectively a ‘least common denominator’ where the audit has been so dumbeddown that it is meaningless” (there’s no record of any CA ever failing the required audit and having their certificates removed from web browsers) [360]14. The following year yet another trusted CA, this time one run by the French government, was caught issuing MITM certificates [361][362][363][364]. As before, the problem was noticed in Google Chrome when fake certificates for Google-run sites started appearing [365]. No other browser noticed that there was a problem. The issue in this case was that the trusted root CA had created a veritable forest of sub-CAs for different government agencies and departments. The fact that running a CA wasn’t necessarily the primary business function for these organisations showed in the way that the CAs were managed [366][367].

Informing users that “You are about to override how Firefox identifies this site. Legitimate banks, stores and other public sites will not ask you to do this” (emphasis added) would almost certainly be seen by a lawyer as libellous or defamatory (see the discussion in “Legal Considerations” on page 553 on why you have to be very careful about how you word warnings to users). Other browsers go too far in the other direction, with Google Chrome at one point promising users that the presence of a certificate meant that “it can be guaranteed that you are actually connecting to” a particular entity, conveniently omitting to mention who was supposed to be providing this guarantee [576]). Even the message displayed by browsers for standard certificates, “You are connected to bank-name which is run by (unknown)” (which is done in order to enhance the value of EV certificates, for which the string “(unknown)” is replaced by the actual organisation name), is misleading because it tends to make customers suspicious about the nature of the site that they’ve connected to.

Java tried to implement a mitigated-trust mechanism in initial releases when the evangelists were in the driving seat, but backed down in later releases when the pragmatists got control. .NET only went through the motions, in theory implementing a Java-like mitigated-trust access model but in practice defaulting to the access-all-areas trust level="Full". ActiveX, and by extension any standard native application, never even tried. The Google Chrome browser in contrast requires that plugins written for it include a manifest that specifies exactly what privileges the plugin requires, which includes specifying the web sites and functions that the plugin needs (or at least wants) to access [599][600]. The concept of modelling trust as a failure mode is applicable to other areas as well. Just as trust is usually treated as a boolean all-or-nothing value, so VPNs also typically act in an all-or-nothing manner.


pages: 570 words: 115,722

The Tangled Web: A Guide to Securing Modern Web Applications by Michal Zalewski

barriers to entry, business process, defense in depth, easy for humans, difficult for computers, fault tolerance, finite state, Firefox, Google Chrome, information retrieval, RFC: Request For Comment, semantic web, Steve Jobs, telemarketer, Turing test, Vannevar Bush, web application, WebRTC, WebSocket

Hickson, “HTML Living Standard,” WHATWG (2011), http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#attr-iframe-sandbox. [251] J. Hodges, C. Jackson, and A. Barth, “HTTP Strict Transport Security (HSTS),” (draft) IETF Request for Comments (August 5, 2011), http://tools.ietf.org/html/draft-ietf-websec-strict-transport-sec-02. [252] A. Klein, “Google Chrome 6.0 and Above: Math.random Vulnerability” (2010), http://www.trusteer.com/sites/default/files/Google_Chrome_6.0_and_7.0_Math.random_vulnerability.pdf. [253] “.NET Framework 3.0: toStaticHTML Method,” Microsoft, http://msdn.microsoft.com/en-us/library/cc848922%28v=vs.85%29.aspx. [254] D. Ross, “IE8 Security Part IV: The XSS Filter,” IEBlog (2008), http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-iv-the-xss-filter.aspx. [255] E.

* * * [9] The primary seven varieties, as discussed throughout Part II of this book, include the security policy for JavaScript DOM access; XMLHttpRequest API; HTTP cookies; local storage APIs; and plug-ins such as Flash, Silverlight, or Java. Global browser market share, May 2011 Vendor Browser Name Market Share Microsoft Internet Explorer 6 10% 52% Internet Explorer 7 7% Internet Explorer 8 31% Internet Explorer 9 4% Mozilla Firefox 3 12% 22% Firefox 4+ 10% Google Chrome 13% Apple Safari 7% Opera Software Opera 3% Source: Data drawn from public Net Applications reports.[93] Part I. Anatomy of the Web The first part of this book focuses on the principal concepts that govern the operation of web browsers, namely, the protocols, document formats, and programming languages that make it all tick. Because all the familiar, user-visible security mechanisms employed in modern browsers are profoundly intertwined with these inner workings, the bare internals deserve a fair bit of attention before we wander off deeper into the woods.


pages: 100 words: 15,500

Getting Started with D3 by Mike Dewar

Firefox, Google Chrome, linked data

In this book’s examples, we only ever use the .enter() method in its simplest incarnation, as in the preceding example. For more details on this aspect of D3, check out http://bost.ocks.org/mike/join/. In this first example, we don’t have any elements on the page at all, so the .enter() method returns a selection containing data for all 11 data elements. This enter selection is now ready for us to append elements to it. Developer Tools Google Chrome’s Developer Tools or Firefox’s Firebug are an essential part of a web developer’s toolset. If you are investigating JavaScript for the first time, especially in the context of drawing visualizations, your first experience of the developer tools is like a breath of fresh air. In Chrome, to access the developer tools, navigate to View→Developer→Developer Tools. In Firefox, you can download Firebug from http://getfirebug.com/.


Mastering Structured Data on the Semantic Web: From HTML5 Microdata to Linked Open Data by Leslie Sikos

AGPL, Amazon Web Services, bioinformatics, business process, cloud computing, create, read, update, delete, Debian, en.wikipedia.org, fault tolerance, Firefox, Google Chrome, Google Earth, information retrieval, Infrastructure as a Service, Internet of things, linked data, natural language processing, openstreetmap, optical character recognition, platform as a service, search engine result page, semantic web, Silicon Valley, social graph, software as a service, SPARQL, text mining, Watson beat the top human players on Jeopardy!, web application, wikimedia commons

Some microformats apply and reuse features of existing technologies, such as the rel attribute of (X)HTML, while others, such as hCard, extend the core markup vocabulary the simplest way possible: based on Plain Old Semantic HTML (POSH). Microformats can be implemented not only in (X)HTML markup but also in XML, RSS, Atom, and so on. Microformats can express site structure, link weight, content type, and human relationships with the class, rel, and rev attribute values. They are very easy to write, and a great deal of software supports them (the Operator and Tails Export add-ons for Firefox, the Michromeformats Google Chrome extension, the microformats transformer Optimus, or the Microformats Bookmarklet for Safari, Firefox, and IE). 24 Chapter 2 ■ Knowledge Representation However, due to limitations and open issues, other machine-readable annotation formats gradually overtook microformats. Applying various microformats as multiple values on the same a element, such as rel="nofollow" and rel="friend", cannot be used.

For manual installation, invoke the ant install and remove tasks on the source distribution, then invoke the servlet at the directory root. Among others, Marbles is implemented in DBpedia Mobile. OpenLink Data Explorer (ODE) OpenLink Data Explorer (ODE, originally OpenLink RDF Browser) is a browser extension to exploit structured data. ODE adds two options to the standard View menu, both in the main menu and the context menu (see Figure 4-21). The Data Explorer is available for Internet Explorer, Firefox, Safari, Google Chrome, and Opera (http://ode.openlinksw.com/#Download). Let’s install the add-on, say, for Firefox! 114 1. Go to http://s3.amazonaws.com/opldownload/ajax-tools/ode/1.1/ firefox3.0/ode.xpi. 2. Depending on your security settings, Firefox might prevent automatic installation. Click Allow to download the add-on. 3. The Software Installation pop-up asks for permission to proceed (“Install add-ons from authors whom you trust.”)


pages: 296 words: 78,631

Hello World: Being Human in the Age of Algorithms by Hannah Fry

23andMe, 3D printing, Air France Flight 447, Airbnb, airport security, augmented reality, autonomous vehicles, Brixton riot, chief data officer, computer vision, crowdsourcing, DARPA: Urban Challenge, Douglas Hofstadter, Elon Musk, Firefox, Google Chrome, Gödel, Escher, Bach, Ignaz Semmelweis: hand washing, John Markoff, Mark Zuckerberg, meta analysis, meta-analysis, pattern recognition, Peter Thiel, RAND corporation, ransomware, recommendation engine, ride hailing / ride sharing, selection bias, self-driving car, Shai Danziger, Silicon Valley, Silicon Valley startup, Snapchat, speech recognition, Stanislav Petrov, statistical model, Stephen Hawking, Steven Levy, Tesla Model S, The Wisdom of Crowds, Thomas Bayes, Watson beat the top human players on Jeopardy!, web of trust, William Langewiesche

Well, let me tell you about an investigation led by German journalist Svea Eckert and data scientist Andreas Dewes that should give you a clear idea.16 Eckert and her team set up a fake data broker and used it to buy the anonymous browsing data of 3 million German citizens. (Getting hold of people’s internet histories was easy. Plenty of companies had an abundance of that kind of data for sale on British or US customers – the only challenge was finding data focused on Germany.) The data itself had been gathered by a Google Chrome plugin that users had willingly downloaded, completely unaware that it was spying on them in the process.† In total, it amounted to a gigantic list of URLs. A record of everything those people had looked at online over the course of a month. Every search, every page, every click. All legally put up for sale. For Eckert and her colleagues, the only problem was that the browser data was anonymous.

‘ambiguous images 211n13’ 23andMe 108–9 profit 109 promises of anonymity 109 sale of data 109 volume of customers 110 52Metro 177 abnormalities 84, 87, 95 acute kidney injuries 104 Acxiom 31 Adele 193 advertising 33 online adverts 33–5 exploitative potential 35 inferences 35 personality traits and 40–1 political 39–43 targeted 41 AF447 (flight) 131–3, 137 Afigbo, Chukwuemeka 2 AI (artificial intelligence) 16–19 algorithms 58, 86 omnipotence 13 threat of 12 see also DeepMind AI Music 192 Air France 131–3 Airbnb, random forests 59 Airbus A330 132–3 algebra 8 algorithmic art 194 algorithmic regulating body 70 algorithms aversion 23 Alhambra 156 Alton Towers 20–1 ALVINN (Autonomous Land Vehicle In a Neural Network) 118–19 Alzheimer’s disease 90–1, 92 Amazon 178 recommendation engine 9 ambiguous images 211n13 American Civil Liberties Union (ACLU) 17 Ancestry.com 110 anchoring effect 73 Anthropometric Laboratory 107–8 antibiotics 111 AOL accounts 2 Apple 47 Face ID system 165–6 arithmetic 8 art 175–95 algorithms 184, 188–9 similarity 187 books 178 films 180–4 popularity 183–4 judging the aesthetic value of 184 machines and 194 meaning of 194 measuring beauty 184–5 music 176–80 piano experiment 188–90 popularity 177, 178, 179 quality 179, 180 quantifying 184–8 social proof 177–8, 179 artifacts, power of 1-2 artificial intelligence (AI) see AI (artificial intelligence) association algorithms 9 asthma 101–2 identifying warning signs 102 preventable deaths 102 Audi slow-moving traffic 136 traffic jam pilot 136 authority of algorithms 16, 198, 199, 201 misuse of 200 automation aircraft 131–3 hidden dangers 133–4 ironies of 133–7 reduction in human ability 134, 137 see also driverless cars Autonomous Emergency Braking system 139 autonomy 129, 130 full 127, 130, 134, 138 autopilot systems A330 132 driverless cars 134 pilot training 134 sloppy 137 Tesla 134, 135, 138 bail comparing algorithms to human judges 59–61 contrasting predictions 60 success of algorithms 60–1 high-risk scores 70 Bainbridge, Lisanne 133–4, 135, 138 balance 112 Banksy 147, 185 Baril, David 171–2 Barstow 113 Bartlett, Jamie 44 Barwell, Clive 145–7 Bayes’ theorem 121–4, 225n30 driverless cars 124 red ball experiment 123–4 simultaneous hypotheses 122–3 Bayes, Thomas 123–4 Bayesian inference 99 beauty 184–5 Beck, Andy 82, 95 Bell, Joshua 185–6 Berk, Richard 61–2, 64 bias of judges 70–1, 75 in machines 65–71 societal and cultural 71 biometric measurements 108 blind faith 14–16, 18 Bonin, Pierre-Cédric ‘company baby‘ 131–3 books 178 boost effect 151, 152 Bratton, Bill 148–50, 152 breast cancer aggressive screening 94 detecting abnormalities 84, 87, 95 diagnoses 82–4 mammogram screenings 94, 96 over-diagnosis and over-treatment 94–5 research on corpses 92–3 ‘in situ’ cancer cells 93 screening algorithms for 87 tumours, unwittingly ­carrying 93 bridges (route to Jones Beach) racist 1 unusual features 1 Brixton fighting 49 looting and violence 49–50 Brooks, Christopher Drew 64, 77 Brown, Joshua 135 browser history see internet browsing ­history buffer zone 144 Burgess, Ernest W. 55–6 burglary 150–1 the boost 151, 152 connections with earthquakes 152 the flag 150–1, 152 Caixin Media 45 calculations 8 calculus 8 Caldicott, Dame Fiona 223n48 Cambridge Analytica 39 advertising 42 fake news 42 personality profiles 41–2 techniques 41–2 whistleblowers 42 CAMELYON16 competition 88, 89 cameras 119–20 cancer benign 94 detection 88–9 and the immune system 93 malignant 94 ‘in situ’ 93, 94 uncertainty of tumours 93–4 see also breast cancer cancer diagnoses study 79–80 Car and Driver magazine 130–1 Carnegie 117 Carnegie Mellon University 115 cars 113–40 driverless see driverless cars see also DARPA (US Defence Advanced Research Projects Agency) categories of algorithms association 9 classification 9 filtering 9–10 prioritization 8 Centaur Chess 202 Charts of the Future 148–50 chauffeur mode 139 chess 5-7 Chicago Police Department 158 China 168 citizen scoring system 45–6 breaking trust 46 punishments 46 Sesame Credit 45–6, 168 smallpox inoculation 81 citizen scoring system 45–6 Citroen DS19 116, 116–17 Citymapper 23 classification algorithms 9 Clinical vs Statistical Prediction (Meehl) 21–2 Clinton Foundation 42 Clubcard (Tesco) 26 Cohen’s Kappa 215n12 cold cases 172 Cold War 18 Colgan, Steyve 155 Commodore 64 ix COMPAS algorithm 63, 64 ProPublica analysis accuracy of scores 65 false positives 66 mistakes 65–8 racial groups 65–6 secrecy of 69 CompStat 149 computational statistics 12 computer code 8 computer intelligence 13 see also AI (artificial intelligence) computer science 8 computing power 5 considered thought 72 cookies 34 Cope, David 189, 190–1, 193 cops on the dots 155–6 Corelogic 31 counter-intuition 122 creativity, human 192–3 Creemers, Rogier 46 creepy line 28, 30, 39 crime 141–73 algorithmic regulation 173 boost effect 151, 152 burglary 150–1 cops on the dots 155–6 geographical patterns 142–3 gun 158 hotspots 148, 149, 150–1, 155 HunchLab algorithm 157–8 New York City subway 147–50 predictability of 144 PredPol algorithm 152–7, 158 proximity of offenders’ homes 144 recognizable patterns 143–4 retail 170 Strategic Subject List 158 target hardening 154–5 see also facial recognition crime data 143–4 Crimewatch programme 142 criminals buffer zone 144 distance decay 144 knowledge of local geographic area 144 serial offenders 144, 145 customers data profiles 32 inferred data 32–4 insurance data 30–1 shopping habits 28, 29, 31 supermarket data 26–8 superstore data 28–31 cyclists 129 Daimler 115, 130 DARPA (US Defence Advanced Research Projects Agency) driverless cars 113–16 investment in 113 Grand Challenge (2004) 113–14, 117 course 114 diversity of vehicles 114 GPS coordinates 114 problems 114–15 top-scoring vehicle 115 vehicles’ failure to finish 115 Grand Challenge (2005) 115 targeting of military vehicles 113–14 data 25–47 exchange of 25, 26, 44–5 dangers of 45 healthcare 105 insurance 30–1 internet browsing history 36–7, 36–8 internet giants 36 manipulation and 39–44 medical records 102–7 benefits of algorithms 106 DeepMind 104–5 disconnected 102–3 misuse of data 106 privacy 105–7 patterns in 79–81, 108 personal 108 regulation of America 46–7 Europe 46–7 global trend 47 sale of 36–7 Sesame Credit 45–6, 168 shopping habits 28, 29, 31 supermarkets and 26–8 superstores and 28–31 data brokers 31–9 benefits provided by 32 Cambridge Analytica 39–42 data profiles 32 inferred data 32–4, 35 murky practices of 47 online adverts 33–5 rich and detailed datasets 103 Sesame Credit 45–6 unregulated 36 in America 36 dating algorithms 9 Davies, Toby 156, 157 decision trees 56–8 Deep Blue 5-7, 8 deep learning 86 DeepMind access to full medical ­histories 104–5 consent ignored 105 outrage 104 contract with Royal Free NHS Trust 104 dementia 90–2 Dewes, Andreas 36–7 Dhami, Mandeep 75, 76 diabetic retinopathy 96 Diaconis, Pesri 124 diagnostic machines 98–101, 110–11 differential diagnosis 99 discrimination 71 disease Alzheimer’s disease 90–1, 92 diabetic retinopathy 96 diagnosing 59, 99, 100 disease (continued) hereditary causes 108 Hippocrates’s understanding of 80 Huntington’s disease 110 motor neurone disease 100 pre-modern medicine 80 see also breast cancer distance decay 144 DNA (deoxyribonucleic acid) 106, 109 testing 164–5 doctors 81 unique skills of 81–2 Dodds, Peter 176–7 doppelgängers 161–3, 164, 169 Douglas, Neil 162–3 driver-assistance technology 131 driverless cars 113–40 advantages 137 algorithms and 117 Bayes’ red ball analogy 123–4 ALVINN (Autonomous Land Vehicle In a Neural Network) 118–19 autonomy 129, 130 full 127, 130, 134, 138 Bayes’ theorem 121–4 breaking the rules of the road 128 bullying by people 129 cameras and 117–18 conditions for 129 cyclists and 129 dealing with people 128–9 difficulties of building 117–18, 127–8 early technology 116–17 framing of technology 138 inevitability of errors 140 measurement 119, 120 neural networks 117–18 potential issues 116 pre-decided go-zones 130 sci-fi era 116 simulations 136–7 speed and direction 117 support for drivers 139 trolley problem 125–6 Uber 135 Waymo 129–30 driverless technology 131 Dubois, Captain 133, 137 Duggan, Mark 49 Dunn, Edwina 26 early warning systems 18 earthquakes 151–2 eBureau 31 Eckert, Svea 36–7 empathy 81–2 ensembles 58 Eppink, Richard 17, 18 Epstein, Robert 14–15 equations 8 Equivant (formerly Northpointe) 69, 217n38 errors in algorithms 18–19, 61–2, 76, 159–60, 197–9, 200–201 false negatives 62, 87, 88 false positives 62, 66, 87, 88 Eureka Prometheus Project 117 expectant mothers 28–9 expectations 7 Experiments in Musical Intelligence (EMI) 189–91, 193 Face ID (Apple) 165–6 Facebook 2, 9, 36, 40 filtering 10 Likes 39–40 news feeds experiment 42–3 personality scores 39 privacy issues 25 severing ties with data brokers 47 FaceFirst 170, 171 FaceNet (Google) 167, 169 facial recognition accuracy 171 falling 168 increasing 169 algorithms 160–3, 165, 201–2 2D images 166–7 3D model of face 165–6 Face ID (Apple) 165–6 FaceFirst 170 FaceNet (Google) 167, 169 measurements 163 MegaFace 168–9 statistical approach 166–7 Tencent YouTu Lab 169 in China 168 cold cases 172 David Baril incident 171–2 differences from DNA testing 164–5 doppelgängers 161–3, 164, 169 gambling addicts 169–70 identical looks 162–3, 164, 165 misidentification 168 neural networks 166–7 NYPD statistics 172 passport officers 161, 164 police databases of facial images 168 resemblance 164, 165 shoplifters 170 pros and cons of techno­logy 170–1 software 160 trade-off 171–3 Youssef Zaghba incident 172 fairness 66–8, 201 tweaking 70 fake news 42 false negatives 62, 87, 88 false positives 62, 66, 87, 88 FBI (Federal Bureau of Investigation) 168 Federal Communications Commission (FCC) 36 Federal Trade Commission 47 feedback loops 156–7 films 180–4 algorithms for 183 edits 182–3 IMDb website 181–2 investment in 180 John Carter (film) 180 novelty and 182 popularity 183–4 predicting success 180–1 Rotten Tomatoes website 181 study 181–2 keywords 181–2 filtering algorithms 9–10 Financial Times 116 fingerprinting 145, 171 Firebird II 116 Firefox 47 Foothill 156 Ford 115, 130 forecasts, decision trees 57–8 free technology 44 Fuchs, Thomas 101 Galton, Francis 107–8 gambling addicts 169–70 GDPR (General Data Protection Regulation) 46 General Motors 116 genetic algorithms 191–2 genetic testing 108, 110 genome, human 108, 110 geographical patterns 142–3 geoprofiling 147 algorithm 144 Germany facial recognition ­algorithms 161 linking of healthcare ­records 103 Goldman, William 181, 184 Google 14–15, 36 creepy line 28, 30, 39 data security record 105 FaceNet algorithm 167, 169 high-paying executive jobs 35 see also DeepMind Google Brain 96 Google Chrome plugins 36–7 Google Images 69 Google Maps 120 Google Search 8 Google Translate 38 GPS 3, 13–14, 114 potential errors 120 guardian mode 139 Guerry, André-Michel 143–4 gun crime 158 Hamm, John 99 Hammond, Philip 115 Harkness, Timandra 105–6 Harvard researchers experiment (2013) 88–9 healthcare common goal 111–12 exhibition (1884) 107 linking of medical records 102–3 sparse and disconnected dataset 103 healthcare data 105 Hinton, Geoffrey 86 Hippocrates 80 Hofstadter, Douglas 189–90, 194 home cooks 30–1 homosexuality 22 hotspots, crime 148, 149, 150–1, 155 Hugo, Christoph von 124–5 human characteristics, study of 107 human genome 108, 110 human intuition 71–4, 77, 122 humans and algorithms opposite skills to 139 prediction 22, 59–61, 62–5 struggle between 20–4 understanding the ­human mind 6 domination by machines 5-6 vs machines 59–61, 62–4 power of veto 19 PredPol (PREDictive ­POLicing) 153–4 strengths of 139 weaknesses of 139 Humby, Clive 26, 27, 28 Hume, David 184–5 HunchLab 157–8 Huntington’s disease 110 IBM 97–8 see also Deep Blue Ibrahim, Rahinah 197–8 Idaho Department of Health and Welfare budget tool 16 arbitrary numbers 16–17 bugs and errors 17 Excel spreadsheet 17 legally unconstitutional 17 naive trust 17–18 random results 17 cuts to Medicaid assistance 16–17 Medicaid team 17 secrecy of software 17 Illinois prisons 55, 56 image recognition 11, 84–7, 211n13 inferred data 32–4, 35 personality traits 40 Innocence Project 164 Instagram 36 insurance 30–1 genetic tests for Huntington’s disease 110 life insurance stipulations 109 unavailability for obese patients 106 intelligence tracking prevention 47 internet browsing history 36–8 anonymous 36, 37 de-anonymizing 37–8 personal identifiers 37–8 sale of 36–7 Internet Movie Database (IMDb) 181–2 intuition see human intuition jay-walking 129 Jemaah Islam 198 Jemaah Islamiyah 198 Jennings, Ken 97–8 Jeopardy!


pages: 313 words: 75,583

Ansible for DevOps: Server and Configuration Management for Humans by Jeff Geerling

AGPL, Amazon Web Services, cloud computing, continuous integration, database schema, Debian, defense in depth, DevOps, fault tolerance, Firefox, full text search, Google Chrome, inventory management, loose coupling, microservices, Minecraft, MITM: man-in-the-middle, Ruby on Rails, web application

Inside main.yml, update the roles section: 9 roles: 10 - geerlingguy.homebrew Then add the following into vars/main.yml: 1 --- 2 homebrew_installed_packages: 3 - ansible 4 - sqlite 5 - mysql 6 - php56 7 - python 8 - ssh-copy-id 9 - cowsay 10 - pv 11 - drush 12 - wget 13 - brew-cask 14 15 homebrew_taps: 16 - caskroom/cask 17 - homebrew/binary 18 - homebrew/dupes 19 - homebrew/php 20 - homebrew/versions 21 22 homebrew_cask_appdir: /Applications 23 homebrew_cask_apps: 24 - google-chrome 25 - firefox 26 - sequel-pro 27 - sublime-text 28 - vagrant 29 - vagrant-manager 30 - virtualbox Homebrew has a few tricks up its sleeve, like being able to manage general packages like PHP, MySQL, Python, Pipe Viewer, etc. natively (using commands like brew install [package] and brew uninstall package), and can also install and manage general application installation for many Mac apps, like Chrome, Firefox, VLC, etc. using brew cask.

Using UDP instead of TCP requires Mosh to do a little extra behind-the-scenes work to synchronize the local and remote sessions (instead of sending all local keystrokes over the wire serially via TCP, then waiting for stdout and stderr to be returned, like SSH). Mosh also promises better UTF-8 support than SSH, and is well supported by all the major POSIX-like operating systems (and can even run inside Google Chrome!). It will be interesting to see where the future leads with regard to remote terminal access, but one thing is for sure: Ansible will continue to support the most secure, fast, and reliable connection methods to help you build and manage your infrastructure! Use secure and encrypted communication We spent a lot of time discussing SSH’s heritage and the way it works because it is, in many ways, the foundation of a secure infrastructure—in almost every circumstance, you will allow SSH remote access for your servers, so it’s important you know how it works, and how to configure it to ensure you always administer the server securely, over an encrypted connection.


pages: 422 words: 104,457

Dragnet Nation: A Quest for Privacy, Security, and Freedom in a World of Relentless Surveillance by Julia Angwin

AltaVista, Ayatollah Khomeini, barriers to entry, bitcoin, Chelsea Manning, Chuck Templeton: OpenTable:, clean water, crowdsourcing, cuban missile crisis, data is the new oil, David Graeber, Debian, Edward Snowden, Filter Bubble, Firefox, GnuPG, Google Chrome, Google Glasses, informal economy, Jacob Appelbaum, John Markoff, Julian Assange, Marc Andreessen, market bubble, market design, medical residency, meta analysis, meta-analysis, mutually assured destruction, Panopticon Jeremy Bentham, prediction markets, price discrimination, randomized controlled trial, RFID, Robert Shiller, Ronald Reagan, security theater, Silicon Valley, Silicon Valley startup, Skype, smart meter, Steven Levy, Upton Sinclair, WikiLeaks, Y2K, zero-sum game, Zimmermann PGP

He found that Web-browsing data were more predictive than standard demographic data of users’ willingness to pay high prices for a Netflix subscription. “This suggests that 1st degree price discrimination might evolve from merely theoretical to practical and widely employed,” he concluded. * * * I wanted to block ad tracking. But first I had to sort through all the misinformation about how to block tracking. Many people believe that they can use Google Chrome’s “Incognito” mode or Microsoft Internet Explorer’s “InPrivate Browsing” mode to avoid being monitored online. But that is not true. Incognito mode is privacy protection against one threat: the person with whom you share a computer. It simply wipes away the tracking cookies that were generated during a Web-browsing session, once the session is completed. However, the websites that you visited while in Incognito mode still receive information from you—and so do the trackers on those sites.

See also specific agencies and laws auditing your data and Cypherpunks and e-mails and fighting unfair surveillance by Internet traffic and watch lists and Federal Privacy Act Federal Trade Commission (FTC) Feinstein, Dianne Fesabeelillah Services of NYC (FSNYC) Fight Club (film) file-sharing networks financial manipulation Financial Times fingerprinting Finkelhor, David FinSpy Firefox Firm, The (Bruce) First Amendment Flash Florida Department of Motor Vehicles Fogel, Karl Forbes Foreign Intelligence Surveillance Act (1978, 2008) Foreign Intelligence Surveillance Court Foreign Policy ForeignPolicy.com Fort Hood shooting Foucault, Michel Fourteenth Amendment Fourth Amendment France Franken, Al freedom of association Freedom of Information Act (1966) freedom of speech FreePhoneTracer free software movement Freestylers Freitas, Nathan FreshDirect Frizzell, Trude Furniture.com fusion centers gag orders Gamma Group Garrett, Deborra Gass, John GenealogyArchives.com Geoweb Summit German Military Ciphers from February to November 1918 (Childs) Germany Nazi Ghostery Gill, Sharon Giorgio, Ed Gmail GMRS (General Mobile Radio Service) GNU Privacy Guard (GPG) Goldberg, Ian Goldberg, Jeffrey Goldman, Adam Gonzalez, Tony GoodHire.com Google auditing your data on surveillance problems and Google+ Google Buzz Google Chrome Google Dashboard Google Drive Google Glass Google Maps Google News Google Street View Google Web History Gorman, Siobhan government. See federal government; state and local governments; and specific agencies GPS tracking Graeber, David Graham, Robert Greene, David Griffin, Mike Guardian Guardian Project Gupta, Vinod Guthrie, Woody hackers Hadayet, Hesham Mohamed Hall of Mirrors Hancock, Jeff Hardin, Garrett Harlan, John Marshall Harper, Jim Harriton High School Harvey, Adam Hasan, Nidal Malik Hasbrouck, Edward Hashcat hashing Hayden, Michael Hayes-Beaty, Ashley Health Insurance Portability and Accountability Act (1996) Heinzerling, Lisa Hempel, Leon Hezbollah Highland Capital “High Terrorist Factor” list Hill, Kashmir Hilton, Paris Hinman, Donald Hirsch, Dennis Holmes, Harlo home address Home Depot Homeland Security Department (DHS) auditing your data and Hoover, J.


pages: 666 words: 181,495

In the Plex: How Google Thinks, Works, and Shapes Our Lives by Steven Levy

23andMe, AltaVista, Anne Wojcicki, Apple's 1984 Super Bowl advert, autonomous vehicles, book scanning, Brewster Kahle, Burning Man, business process, clean water, cloud computing, crowdsourcing, Dean Kamen, discounted cash flows, don't be evil, Donald Knuth, Douglas Engelbart, Douglas Engelbart, El Camino Real, fault tolerance, Firefox, Gerard Salton, Gerard Salton, Google bus, Google Chrome, Google Earth, Googley, HyperCard, hypertext link, IBM and the Holocaust, informal economy, information retrieval, Internet Archive, Jeff Bezos, John Markoff, Kevin Kelly, Kickstarter, Mark Zuckerberg, Menlo Park, one-China policy, optical character recognition, PageRank, Paul Buchheit, Potemkin village, prediction markets, recommendation engine, risk tolerance, Rubik’s Cube, Sand Hill Road, Saturday Night Live, search inside the book, second-price auction, selection bias, Silicon Valley, skunkworks, Skype, slashdot, social graph, social software, social web, spectrum auction, speech recognition, statistical model, Steve Ballmer, Steve Jobs, Steven Levy, Ted Nelson, telemarketer, trade route, traveling salesman, turn-by-turn navigation, undersea cable, Vannevar Bush, web application, WikiLeaks, Y Combinator

We’re not a toy. Google doesn’t control us.” But she could not mask the bitterness when, after the Google browser came out, Google began promoting it with AdWords delivered to people who searched using the keyword “Mozilla.” “They’re actively trying to take people away from Firefox,” she complained. After the usual flurry of crazy alternatives for a code name, the team decided to call its browser Google Chrome. The moniker came from the term used to describe the frame, toolbars, menus, and other graphic elements that border a browser window. In a way, the name was counterintuitive, because Google wanted to strip off a lot of the decorative chrome seen in other browsers and create a sleek sports car of a browser. The idea was to make the interface so minimal that people wouldn’t feel they were using a browser at all but interacting directly with the pages and web apps.

., 9–11, 358–62 Ayers, Charlie, 133–34, 154, 289 Babel Fish, 63 BackRub, 17, 18, 21–24, 26, 28–31; renamed Google, 30–31 Baidu, 4, 273, 279, 281, 292–98, 304, 305, 307 Bailey, David, 58, 59 Baker, Mitchell, 208 Bak, Lars, 209 Ballmer, Steve, 197, 282–83, 380 Barnes & Noble, Nook, 228 Barroso, Luiz, 197–98 BART system, 45, 56 Bartz, Carol, 346 Beard, Ethan, 375–76 Bechtolsheim, Andy, 28, 33–34, 73, 74 Bell, George, 29–30 Berkshire Hathaway, 147, 149 Berners-Lee, Tim, 15–16 Bezos, Jeff, 12, 34, 57, 80, 355, 363 Bharat, Krishna, 38–39, 40, 46, 54, 58, 239 Billington, James, 352 Bisciglia, Christophe, 199–200 Blogger, 101, 335, 374, 376 Bock, Laszlo, 141–42, 256–57, 259, 260 books: and Amazon, 355–56, 363 and class action lawsuit, 9–11, 358–67 digitization of, 11, 347–67 Google Book Settlement, 362–67 metadata in, 351 nondestructive scanning, 348–51, 353, 360 Ocean, 350–55 online future of, 352, 360 “orphan,” 357, 359, 366 payment for use of, 360–63 in public domain, 354 publishers of, 356–62 snippets of, 353, 356, 357, 362 and social good, 360–61, 364, 365, 366 transformative use of, 353–54 Boolean syntax, 36 Boorstin, Robert, 329 Braddi, Joan, 143 brain, virtual, 66, 67–68, 232, 385–86 Branson, Richard, 254 Bray, Tim, 136 Brilliant, Larry, 258 Brin, Michael, 274–75 Brin, Sergey, 3, 5, 16 achievements of, 53, 383 and advertising, 84, 86, 90, 92, 94, 95, 97, 101, 103–6, 108, 110–11, 334, 336–37 ambition of, 128, 139 and applications, 205, 207, 208, 210, 240–42 and artificial intelligence, 385–86 birth and early years of, 13–14, 274–75, 310 and birth of Google, 31–34 and Book Search, 11, 347, 350–52, 364 on capturing all the web, 22–24, 52, 58, 60 on changing the world, 6, 72, 97, 120, 125, 146, 232, 316, 384 and China, 267, 273–74, 276, 277–79, 283, 305, 307, 310–12 and eco-activism, 241 and email, 169–72, 174, 178, 179 and Excite, 29 and funding, 32, 33–34, 73–75 and government issues, 329 and IPO, 146–47, 149–54 and language translation, 63 and management, 74, 75–77, 79–82, 110, 143, 158–60, 162–66, 228, 235, 252–53, 260, 273, 373–74, 386, 387 marriage of, 126, 253 as Montessori kid, 121–25, 127–28, 149 and Obama, 316, 318, 329 and PageRank, 21–24, 48–49 and popular culture, 238 and privacy, 174, 176–77, 253–54, 337 and secrecy, 32, 72, 106, 218 and smart phones, 215–16, 224, 226–30, 234–36 and social networking, 372, 377–78, 380 and speed, 185, 207 and Stanford, 13–14, 16, 17, 28, 29, 34 and trust, 221, 237 values of, 127–28, 130, 132, 135, 139, 141, 146, 196, 275, 305, 364 and web links, 18, 51 and Yahoo, 344 and YouTube, 248, 264 browsers, 204–12 Google Chrome, 208–12, 220, 221, 228, 354 open-source, 204 as operating systems, 210–12 and privacy, 336–37 browser wars, 206, 283 Buchheit, Paul, 102, 259 and email, 167–71, 176, 178–80, 185, 370 and Google motto, 143–44, 170 Buffett, Warren, 147, 149 Burning Man, 76, 80 Bush, Vannevar, 15, 44 Buyer, Lise, 70, 148, 150, 151–52, 154 Buyukkokten, Orkut, 371 Buzz, 377–80 Cairns, Heather, 125 Campbell, Bill, 143, 158–60, 218, 237 Caribou (later, Gmail), 169–71 Cavanaugh, William, 366 Center for Democracy & Freedom, 337, 339 Cerf, Vinton, 222 Chan, Wesley, 113–15, 166, 205, 233–36, 291 Changchun, Li, 306 Chavez, Pablo, 329–30, 346 Chen, Steve, 243–44, 247–51, 264 Cheriton, David, 27–28, 33–34, 79 Cheung, Harry “Spider-Man,” 41, 125, 128 Chin, Denny, 9–10, 365–66 China, 276–314 aim to do good in, 279–80, 303–4, 313 bureaucracy of, 277–79, 280, 291, 295, 298, 304, 312 censorship in, 268, 273, 276, 277, 279, 280–81, 283–86, 290, 293, 295, 297–98, 303–8, 310–13 competition in, 278, 281, 292–98, 300, 305–6, 313 cooperation with government in, 279, 284–85, 292, 297, 299, 301, 302, 305 cultural differences in, 278, 290, 291, 292, 298, 302–3 Google closed in, 311–14, 383 Google’s Chinese name, 287–88 Google’s launch in, 287–89 license to operate in, 277, 279, 280, 295, 340 Obama town meeting in, 324 Olympic Games in, 304 recruitment in, 290–91 “red pockets” in, 297 search in Chinese language, 272–74, 280, 294, 299–300, 304, 306 security issues in, 267–68, 270, 298, 301–2, 303, 308–11, 313–14 stolen code in, 300, 309 and U.S.

., 366–67 EarthLink, 95 eBay, 15, 113, 318 Edison, Thomas, 13 Edwards, Doug, 140 eGroups, 30 Elbaz, Gil, 103 Electronic Frontier Foundation, 337, 339 email, 161, 167–81 and ads, 102, 170–73, 177, 179, 180 and cloud computing, 180–81 Gmail, see Gmail and privacy, 170–78, 211, 378 and revenues, 170–73 and storage, 168–69, 172, 179–80 Emerald Sea, 382–83 employees: and austerity period, 256–57, 258–59 contract workers, 257, 269 first, 34, 36, 37 as Googley, 4, 36, 138–40, 158, 159, 162, 270, 309 numbers of, 5, 134, 158, 164, 373, 386 pampered, 58, 133–38, 259 promotions of, 260 recruitment/hiring of, 35–41, 72, 138–43, 258–59, 266, 386 and security issues, 269–70 70–20–10 balance, 162, 323 teamwork, 162 and 20 percent rule, 124 wealth of, 155–57, 259 Engelbart, Douglas, 15 Epstein, Scott, 76–77 Eustace, Alan, 145–46, 215, 271, 281, 289, 301, 303, 308 Ewing, Jessica, 174 Excite, 20, 27, 28–30, 136, 268 Facebook, 309, 322, 369–71, 373, 375–77, 379–80, 382–83 face recognition, 232 Farrell, Carrie, 139 Federal Communications Commission (FCC), 222, 223 Federal Trade Commission (FTC), 331–34, 379 Feiken, Jennifer, 242–43, 244–45 fiber optics, ownership of, 187–88, 198, 199, 261 Figueroa, Liz, 176–78 Filo, David, 28, 344 Fino, Audrey, 49–50, 52, 60 Fischer, David, 98 Fisher, Darin, 204 Flake, Gary, 98 Fleischer, Peter, 338–39 forecasting, 119–20 Foursquare, 374 Fred (video channel), 263–64 FriendFeed, 259, 370 Friendster, 371 Gaia password system, 308–9 Garcia-Molina, Hector, 14, 16, 17, 18, 23, 33 Gates, Bill, 14, 179, 204, 219, 278, 282, 283, 344, 381 GDrive, 205, 211 Gelernter, David, Mirror Worlds, 59–60 Genachowski, Julius, 322, 326 Ghemawat, Sanjay, 42, 43, 47, 100, 184, 197, 198–200 Gibson, William, 7 Gilbert, Judy, 257, 258, 259, 260 Gilbert, Roy, 272 GIMP, 31 Girouard, Dave, 180 Glazer, David, 375, 376 Gmail, 171–81, 322 and applications, 219, 227, 233, 236 as Caribou, 169–71 and cloud computing, 180–81 launch of, 161, 171–72, 206 and privacy, 170–78, 211 and security breach, 267–68 and social networking, 375, 377 and speed, 185 Goetz, Thomas, 254 Gomes, Ben, 40, 54, 58, 67–68, 100 Gonzalez, Steven, 283 Goodger, Ben, 204 Google: and access to all the world’s information, 6, 10, 58, 59, 63, 67, 75, 130, 146, 173, 198, 215, 219, 275, 335, 340, 342–43, 356, 363 ads of, see advertising and antitrust issues, 330, 331–34, 343–47, 364 APM program, 1–2, 3–5, 161–62, 259 and applications, 200–212, 239 austerity time of, 83, 86, 252–53, 255–57, 258–59, 265–66, 272, 376 BackRub renamed as, 30–31 business plan for, 72, 75, 77–78, 95, 115, 138, 152, 201 changing the world, 6, 34, 39, 52, 97, 120, 125, 126, 146, 316, 319, 329, 349, 365, 367, 369 cheap equipment bought for, 33, 129, 183–84, 189 Code Yellow in, 186 conference rooms of, 136–37 culture (Googley) of, 3, 36, 121–28, 129–42, 159, 186–87, 364, 365, 370, 385 design guidelines for, 129–30, 132, 206–7 development of, 32–34, 35–37, 45–57, 58 “Don’t be evil” motto of, 6, 11, 143, 144–46, 150, 170, 238, 276, 285, 286, 366–67, 384–85 employees, see employees engineers as top dogs in, 129, 130, 158, 160, 161, 323 failure and redundancy built into, 183–84, 189, 198, 211, 255, 372 filing for incorporation, 34 funding of, 32, 33–34, 72–75, 79, 129, 182 global scope of, 196–97, 270–72; see also China growth of, 3, 5, 6, 11, 43, 99, 127–28, 130, 131–32, 143, 164, 183, 198, 238–42, 253, 259, 271 headquarters of, 34, 36, 43, 125–26, 127–28, 130 home page of, 31, 184–85 IPO of, 2, 70, 94, 108, 134, 146–57 lawsuits against, 9–11, 56, 98, 150–51, 244, 328–29, 353, 358–67 as learning machine, 45, 47, 48, 65–68, 173, 216, 239, 383, 385 management structure, 74, 75–77, 79–82, 110, 143, 147, 157–66, 235, 254–55, 273, 373–74, 386–87 mission and vision of, 3, 6, 75, 97, 117, 124–25, 132, 169, 175, 215, 238, 363, 365 moral purity of, 6, 97, 268, 356, 360, 367 name of, 30–31, 180 no customer support from, 230–31, 376 1-800-GOOG-411 directory assistance, 219, 229 and politics, 317–19, 329–30 profitability of, 3, 69–71, 72, 77–78, 79, 99, 130, 256, 383, 386 public image of, 57, 74–75, 76, 77, 126, 144, 153–54, 173, 176, 237, 328–29, 337, 343, 364, 366, 383–84 secrecy in, 49, 52, 56–57, 69–70, 72–73, 83, 93, 106–7, 108, 146, 164–65, 191, 198, 218, 260, 261, 354, 357 security issues in, 267–70, 308–10, 313–14 shares in, 147–49, 155–57, 252 speed as focus of, 31, 37, 42, 52, 184–87, 206, 207, 208–9, 272, 372–73 TGIF meetings, 130–31, 166 20 percent rule, 124 user data amassed by, 45–48, 59, 84, 144, 173–74, 185, 333–36 user focus of, 5, 77, 241–42 values of, 6, 143–46, 147, 198, 256–58, 275–76, 300, 307, 310, 321, 323, 336, 343, 354, 364, 370, 384–85 war rooms of, 42–43, 45, 176, 186, 206, 309–10, 379, 380–81 and Yahoo, 44–45, 57, 151 and YouTube, 199, 242–52, 260–65 Google Analytics, 114–15, 205, 233, 234 Google Answers, 102 Google Book Search, 11, 347–67 Google Book Settlement, 362–67 Google Calendar, 233, 236 Google cars, 385, 386 Google Catalogs, 348 Google Checkout, 229, 242 Google China, see China Google Chrome, 208–12, 220, 221, 228, 319, 321, 354 “Google dance,” 56 Google Desktop, 205 Google Docs, 203, 210, 211 Google Earth, 239–40, 299, 340 Google Elections Team, 318, 321 Google Fellows, 49 Google Fiber for Communities, 327 Google File System, 184 Google Flu Trends, 258 Google Goes to the Movies, 265 Google Goggles, 232 Google Grants, 98 Google Help Forums, 231 Google Image Search, 382 Google Instant, 68 Google Latitude, 338–40, 374 Google Libraries, 357–58, 359 Google Maps, 219, 227, 240, 298–99, 318, 338, 340, 383 Google News, 58, 124, 239 Google.org, 241, 257 Google Pack, 205 Google Print, 356–57, 359 Google Product Client Group, 204 Google Product Strategy (GPS) meetings, 6, 135, 171 Google Quick Search Box, 78 Google Scholar, 58 Google Security Team, 267–70 Google settlement, 9–11 Google Street View, 340–43, 383, 384, 385 Google Suggest, 306–7 Google Talk, 233, 322, 375 Google Toolbar, 204–5, 233, 234 Google University, 136 Google Video, 242–47, 249, 261, 263, 429–30 Google Voice, 234, 236 Google Wave, 376–77, 379 Google Website Optimizer, 320 Google Zeitgeist, 46, 249, 253 googolplex, 31, 43 Gordon, Cathy, 195–96, 356, 359 Gore, Al, 177, 218, 237, 278, 352 GoTo, 87–89, 99, 102 Gphone, 218, 222, 226 GPS device, 229, 232, 338 Graham, Bill, 353 GrandCentral, 233–34, 236 Griffin, Denise, 130, 173–75, 231 Gross, Bill, 87–89, 95, 98, 102–3 Grove, Andy, 80, 163, 325 Gu, Xuemei, 290–92, 308, 312 Gundotra, Vic, 219–20, 232, 337, 377, 382–83 Gutenberg, Johannes, 347 Hackborn, Dianne, 217 Haiti, earthquake in, 325–26 Hamoui, Omar, 227 Hanke, John, 239 Harding, Matt, 243 Harik, Georges, 100–102, 105, 127, 139 Harvard University, 357, 358 Hassan, Scott, 17–18, 22, 28, 29, 30, 32 Haugen, Frances, 351 Heath, Taliver, 323 Heilemann, John, 356 Hendrix, Jimi, 76 Hertzfeld, Andy, 206 Hewlett-Packard, 37, 124, 181 Hölzle, Urs, 76, 100, 125, 162, 182, 257, 379 and cloud computing, 180 and data centers, 188–90, 194, 198 hired by Google, 36–37, 38 on speed, 185–87 Urs-Quake of, 381–82 Horowitz, Bradley, 211, 376–78, 379, 382 Horvath, Jane, 335, 338 HTC, 214, 226, 228, 230, 237 HTML 5, 212 Huber, Jeff, 116 Huffman, Scott, 61 Hulu, 260–61 Hurley, Chad, 243–44, 247–51, 260, 264 HyperCard, 15 hypertext connections, 15, 27 IBM, 24, 25–26, 63, 286 Idealab, 87–88, 99 indexing, 20, 21–22, 26, 41–43 checkpointing in, 43 comprehensiveness in, 52–53 in-RAM system, 43–44, 47–48 mirror worlds in, 60 updating, 45, 56 information retrieval (IR), 20, 22, 110, 239 Inktomi, 36, 44, 88, 290 innovator’s dilemma, 98–99 Intel, 163, 167, 218 intellectual property (IP), 88–89, 176, 221 Internet: bottom-up management of, 158 in China, 273, 279, 284, 285, 305, 308, 311, 313, 324 and cloud computing, 180–81 and copyright issues, 355, 367 disruptive platform of, 275 and Haiti earthquake, 325–26 net neutrality, 222, 383–84 and news, 239 open spectrum on, 15, 222–25, 329–30, 333, 334, 383–84 profitability of, 69–71 redefining commerce, 117 and social networking, 369–83 and user data, 334–36 values of, 322, 367 video, 242–52, 265 wireless service, 223 Internet Archive, 362 Ivester, Devin, 135, 141 Java, 17–18 JavaScript, 53, 105, 168, 169, 208, 209 Jen, Mark, 164–65 Jobs, Steve, 75, 80, 143, 209–10, 218–22, 237–38 Jones, Mike, 328, 340–42 JotSpot, 201 Joy, Bill, 28 Justice Department, U.S., 236, 331, 344–47, 364, 365–66 Kahle, Brewster, 362, 365 Kamangar, Salar, 71–72, 74, 233, 235 and advertising, 86, 89, 91–92, 109, 113 and business plan, 72, 75, 201 and Google motto, 143–44 and YouTube, 248, 260–65 Karen, Alana, 97–98 Karim, Jawed, 243, 247, 250 Kay, Erik, 207 Keyhole, 239–40, 340 Keyword Pricing Index, 118 Khosla, Vinod, 28, 29 Kim, Jini, 166 Klau, Rick, 312, 318 Kleinberg, Jon, 24–26, 34, 38, 292 Knol, 240 Knuth, Donald, 14 Kohl, Herb, 332 Koogle, Timothy, 44 Kordestani, Omid, 75–76, 78, 81, 96, 97, 130, 155, 242 Krane, David, 69–70, 143, 144–45, 150, 156 Kraus, Joe, 28, 136, 201, 374–75 Kundra, Vivek, 322, 326 Kurzweil, Raymond, 66 language, translations, 55, 62–65 Lantos, Tom, 285–87 Larson, Mark, 208 Leach, Jim, 286 Lee, Kai-Fu: and China office, 4, 281–83, 289–90, 291, 292, 293, 294, 296, 298, 302, 303, 305, 307–8, 313 departure of, 307–8, 312 Lee, Steve, 338–39 Lenat, Douglas, 47 Leonard, Herman, 117 Lessig, Lawrence, 359, 360, 363 Levick, Jeff, 96, 110–11, 112–13 Levinson, Arthur, 218, 237 Li, Mark, 293, 298–99 Li, Robin (Yanhong), 26–27, 278, 292, 293, 298 Library of Congress, 352, 361 Liebman, Jason, 103–5 LinkAds, 102–3 Linux, 78, 182, 210 Litvack, Sanford “Sandy,” 345, 347 Liu, John, 296 Liu, Jun, 294, 303–4 long-tail businesses, 85, 105, 107, 118, 243, 334 Lu, Qi, 380 Lucovsky, Mark, 283 Luk, Ben, 290, 302 Maarek, Yoelle, 272 MacDonald, Brian, 380 Macgillivray, Alex “AMac,” 353–55 machine learning, 64–66, 100–101, 385 Malone, Kim (Scott), 107–8, 135 Manber, Udi, 44, 45, 57–58, 68, 240, 355, 380 MapReduce, 199–200 Marconi International Fellowship Award, 278 Markoff, John, 193 Matias, Yossi, 272 Mayer, Marissa, 36, 41, 381 and advertising, 78–79 and APM program, 1, 4, 5, 161–62, 259 and books, 348–50, 358, 365 and Gmail, 170–71 and Google culture, 121, 122, 126–27, 141, 142, 163, 164, 365 and Google motto, 143–44 and Google’s look, 206–7 and management structure, 160, 235 and social networking, 371–73, 375 and stock price, 155, 156–57 McCaffrey, Cindy, 3, 76, 77, 145, 150, 153, 164 McCarthy, John, 127 McLaughlin, Andrew: and China, 276–79, 283–84, 303, 304 and Obama administration, 316, 321, 322–23, 325–26, 327 and privacy, 176–78, 379 memex, 15, 44 Merrill, Douglas, 183 Mi, James, 276 Microsoft: and antitrust issues, 331–32, 344–45 and aQuantive, 331 Bing search engine, 186, 380–81 and books, 361, 363 and browser wars, 206, 283 and China, 281, 282, 283, 284, 285, 304 and competition, 70, 191, 197, 200–212, 218, 220, 266, 282–83, 331, 344–47, 363, 380–81 and Danger, 214 data centers of, 190 and disclosure, 108 and email, 168, 169, 179–80 Excel, 200 and Facebook, 370 Hotmail, 30, 168, 172, 180, 209 IE 7, 209 Internet Explorer, 204–7 and mapping, 342 monopolies of, 200, 331–32, 364 Office, 200, 202, 203 Outlook, 169 PowerPoint, 200, 203 and user data, 335 and values, 144 WebTV, 217 Windows, 200, 210, 212, 219, 331 Windows Mobile, 220 Word, 200 and Yahoo, 343–44, 346, 380 of yesterday, 369 MIDAS (Mining Data at Stanford), 16 Milgrom, Paul, 90 Miner, Rich, 215, 216 Mobile Accord, 325 mobile phones, 214–17, 219–22, 251 Moderator, 323–24 Mohan, Neal, 332, 336 Monier, Louis, 19, 20, 37 Montessori, Maria, 121, 124, 166 Montessori schools, 121–25, 129, 138, 149 Moonves, Leslie, 246 Moore’s Law, 169, 180, 261 Morgan Stanley, 149, 157 Moritz, Mike, 32, 73–74, 80, 147, 247–48, 249 Morozov, Evgeny, 379 Morris, Doug, 261 Mossberg, Walt, 94 Mowani, Rajeev, 38 Mozilla Firefox, 204, 206, 207–8, 209 Murdoch, Rupert, 249, 370 MySpace, 243, 375 name detection system, 50–52 Napier’s constant, 149 National Federation of the Blind, 365–66 National Institute of Standards and Technology (NIST), 65 National Science Digital Library, 347 National Security Agency (NSA), 310 Native Client, 212 navigation, 229, 232, 338 Nelson, Ted, 15 net neutrality, 222, 326–27, 330, 383–84 Netscape, 30, 75, 78, 147, 204, 206 Nevill-Manning, Craig, 129 Newsweek, 2, 3, 20, 179 New York Public Library, 354, 357 Nexus One, 230, 231–32 95th Percentile Rule, 187 Nokia, 341, 374 Norman, Donald, 12, 106 Norvig, Peter, 47, 62, 63, 138, 142, 316 Novell, 70 Obama, Barack, 315–21, 322, 323–24, 329, 346 Obama administration, 320–28 Ocean, 350–55 Och, Franz, 63–65 Oh, Sunny, 283, 297, 298 OKR (Objectives and Key Results), 163–64, 165, 186, 209, 325 Open Book Alliance, 362 Open Handset Alliance, 221–22 OpenSocial, 375–76 operating systems, 210–12 optical character recognition (OCR), 53, 349–50 Oracle, 220 Orkut, 371–73, 375 Otellini, Paul, 218 Overture, 89, 90, 91, 95, 96, 98–99, 103, 150 Oxford University Press, 354, 357 Page, Larry, 3, 5 achievements of, 53, 383 and advertising, 84, 86–87, 90, 92, 94, 95–97, 114, 334, 336–37 ambition of, 12, 39, 73, 127–28, 139, 198, 215, 238, 362, 386–87 and applications, 205, 206, 207, 208, 210, 240–42, 340 and artificial intelligence, 62, 100, 246, 385–86 and BackRub/PageRank, 17, 18, 21–24, 26 and birth of Google, 31–34 and Book Search, 11, 347–52, 355, 357, 359, 361, 362, 364 on capturing all the web, 22–24, 52, 58, 63 on changing the world, 6, 13, 33, 39, 97, 120, 125, 146, 173, 232, 279, 316, 327, 361, 384–85 childhood and early years of, 11–13 and China, 267, 276, 277–78, 279–80, 283, 284, 305, 311 and data centers, 182–83 and eco-activism, 241 and email, 169–72, 174, 179 and Excite, 28–29 and funding, 32, 33–34, 73–75 and hiring practices, 139–40, 142, 182, 271, 386 imagination of, 14, 271 and IPO, 146–47, 149–54, 157 and machine learning, 66, 67 and management, 74, 75–77, 79–82, 110, 143, 158–60, 162–66, 228, 231, 235, 252–53, 254, 255, 260, 272, 273, 386–87 marriage of, 254 as Montessori kid, 121–25, 127–28, 149, 331, 387 and Obama, 315–16 and philanthropy, 257–58 and privacy, 174, 176–77, 337 and robots, 246, 385 and secrecy, 31–32, 70, 72–73, 106, 218 and smart phones, 214–16, 224, 225, 226–30, 234 and social networking, 372 and speed, 184–85, 207 and Stanford, 12–13, 14, 16–17, 28, 29, 34 and trust, 221, 237 values of, 127–28, 130, 132, 135, 139–40, 146, 196, 361, 364 and wealth, 157 and web links, 51 and YouTube, 248 PageRank, 3, 17, 18, 21–24, 27, 34, 38, 48–49, 53, 55, 56, 294 Palm, 216, 221 Park, Lori, 235, 258 Pashupathy, Kannan, 270–72, 277, 282 Passion Device, 230 Patel, Amit, 45–46, 82 and Google motto, 143–44, 146 patents, 27, 39, 89, 102, 221, 235, 237, 350 PayPal, 242, 243 peer-to-peer protocols, 234–35 Peters, Marybeth, 352 Phil, 99–103 Philip, Prince, 122 Picasa, 185–86, 187, 239 Pichai, Sundar, 205–6, 207–8, 209–12 Pichette, Patrick, 120, 150, 254–56 Pike, Rob, 241 Pittman, R.


pages: 193 words: 36,189

Html5 Boilerplate Web Development by Divya Manian

en.wikipedia.org, Firefox, Google Chrome, node package manager, pull request, Ruby on Rails, search engine result page

For example, on a Mac, the full path would be /~<username>/404.html, if you are hosting it in the website's folder under your <username> folder. The following screenshot shows how a browser renders the default HTML5 Boilerplate 404 page, when HTML5 Boilerplate's .htaccess file is used: Forcing the latest IE version Internet Explorer utilizes a meta tag to decide whether it should render a site in compatibility mode or use the latest rendering engine to render it. Google Chrome has released a plugin named Chrome Frame , downloadable from https://developers.google.com/chrome/chrome-frame/ that, if installed on a user's computer, will provide the experience of a modern browser when the user uses older versions of Internet Explorer. Your site can opt-in to using this plugin on a user's computer, when your page is being viewed on older versions of Internet Explorer. To opt-in to using this plugin automatically, append ", chrome=1" to the content attribute value for the http-equiv meta tag.


iPad: The Missing Manual, Fifth Edition by J.D. Biersdorfer

clockwatching, cloud computing, Downton Abbey, Firefox, Google Chrome, Internet Archive, Skype, stealth mode startup

Like Opera Mini, Dolphin for iPad offers a Speed Dial starter page to stash links to your most frequently visited sites. Don’t like tapping around for bookmarks or tabs to jump to other sites? Dolphin for iPad lets you assign on-screen gestures to web addresses. For example, just trace the outline of the letter G across the iPad’s glass and Dolphin can take you to the Google home page. Google Chrome. You can’t get very far on the Web without running into a Google site or app, and the company happens to make a free, iPad-ready version of its popular Chrome browser. Like its desktop counterpart, mobile Chrome offers the same clean interface, history-free “Incognito” mode for private browsing, and an unlimited number of open page tabs. If you want to roam with Chrome and you use it at home, sign in to the mobile edition and sync up bookmarks, tabs, and passwords from your computer to your iPad.

., Use Game Center with OS X 10.8 Wi-Fi logo, Play Multiplayer Games in Person GarageBand, Manage and Play Music and Other Audio, Make Music with GarageBand–Make Music with GarageBand, Make Music with GarageBand, Make Music with GarageBand Jam Session, Make Music with GarageBand Get CD Track Names (iTunes), Edit Song Information Get Info, Edit Song Information getting online, Get Online–Travel Internationally with the iPad, Get Your WiFi Connection, Use a Cellular Data Network, Pick a Sprint Service Plan, Sign Up for Cellular Data Service, Turn Cellular Data Service Off or On, Use a Mobile Broadband Hotspot, Use a Mobile Broadband Hotspot, Use the iPad as a Personal Hotspot, Make Video Calls with FaceTime, Use Skype to Make Internet Calls, Travel Internationally with the iPad hotspots, Use a Mobile Broadband Hotspot, Use the iPad as a Personal Hotspot network options, Use a Cellular Data Network Ghostbird Software’s PhotoForge 2, Find Third-Party Photo-Editing Apps global dictionary, Use the iPad’s Global Dictionary Gmail, Activate and Set Up Your iPad Over WiFi, Work with Online Apps, Set Up Mail Accounts on the iPad, Read Mail, Webmail On the iPad, Webmail On the iPad, Notes Gogo, Use Public WiFi Hotspots Google Chrome, Use Other Web Browsers Google Drive (formerly Google Docs), Work with Online Apps–Work with Online Apps, Work with Online Apps, Work with Online Apps Google+, Social Networking on Your iPad Google’s Android, Sign Up for Game Center GPRS (°) network, Use a Cellular Data Network GPS, Locate Your Position Using GPS, Troubleshoot Apps graphic equalizer (EQ), Improve Your Tunes with the Graphic Equalizer–Improve Your Tunes with the Graphic Equalizer, Improve Your Tunes with the Graphic Equalizer, Improve Your Tunes with the Graphic Equalizer Grid View (iTunes), Four Ways to Browse Your Collection Griffin Technology, Protect Your iPad GSM network, Cellular: 4G LTE, 4G, and 3G Networks, Use a Cellular Data Network H HandBrake, Video Formats That Work on the iPad HD movies, Watch, Create, and Edit Videos HDMI cables, Play iPad Videos on Your TV, Play Slideshows on Your TV HDMI-to-iPad cable, Play iPad Videos on Your TV headphone jack, Connect Through iPad Jacks and Ports headphones, Add Earbuds and Earphones Home button, Find the Home Button and Cameras, Use the Home Button, Organize Your Home Screen Icons, Navigate Multiple Home Screens Home screens, Use the Home Button, Your Home Screen Apps, Your Home Screen Apps–Your Home Screen Apps, Your Home Screen Apps, Your Home Screen Apps, Organize Your Home Screen Icons, Organize Your Home Screen Icons, Navigate Multiple Home Screens, Make Home Screen App Folders, Make Home Screen App Folders, Make Home Screen Bookmarks, Use the Safari Action Menu apps, Your Home Screen Apps–Your Home Screen Apps, Your Home Screen Apps, Your Home Screen Apps folders, Make Home Screen App Folders organizing icons, Organize Your Home Screen Icons Home Sharing, The iTunes Window, Use iTunes Home Sharing on Your iPad–Photo Sharing with iTunes, Use iTunes Home Sharing on Your iPad, Photo Sharing with iTunes iTunes, Use iTunes Home Sharing on Your iPad–Photo Sharing with iTunes, Use iTunes Home Sharing on Your iPad, Photo Sharing with iTunes network, The iTunes Window Hotmail, Set Up Mail Accounts on the iPad hotspots, Use Public WiFi Hotspots, Use a Mobile Broadband Hotspot, Use the iPad as a Personal Hotspot mobile broadband, Use a Mobile Broadband Hotspot using iPad as, Use the iPad as a Personal Hotspot Hybrid (Map view), See Maps in Different Views hyperlinks in iBooks, Create Bookmarks and Margin Notes I iBooks, Download the iBooks App–Find Newspaper and Magazine Apps, Download the iBooks App, Go to the iBookstore, Browse and Search for Books, Browse and Search for Books, Browse and Search for Books, Browse and Search for Books, Browse and Search for Books, Browse and Search for Books, Browse and Search for Books, Browse and Search for Books, Browse and Search for Books, Browse and Search for Books, Buy and Download a Book, Buy and Download a Book, Find Free iBooks, Find Free iBooks, Sync Books Using iTunes, Sync Books Using iTunes, Sync Books Using iTunes, Sync Books Using iTunes, Read Other Ebooks on the iPad, Read Other Ebooks on the iPad, Read Other Ebooks on the iPad, Read Other Ebooks on the iPad, Read an iBook–Read an iBook, Read an iBook, Read an iBook, Read an iBook, Read an iBook, Read an iBook, Read an iBook, Read an iBook, Change the Type in an iBook, Change the Type in an iBook, Use the Dictionary, Create Bookmarks and Margin Notes, Create Bookmarks and Margin Notes, Create Bookmarks and Margin Notes, Use iBooks Textbooks, Use iBooks Textbooks, Use iBooks Textbooks, Delete or Rearrange iBooks, Delete or Rearrange iBooks, Use Newsstand for Your ePeriodicals, Subscribe to ePublications, Subscribe to ePublications, Find Newspaper and Magazine Apps, Videos adding other eBooks to iPad, Read Other Ebooks on the iPad Amazon, Read Other Ebooks on the iPad Author app, Use iBooks Textbooks bookmarks and margin notes, Create Bookmarks and Margin Notes Bookshelf screen, Delete or Rearrange iBooks categories, Browse and Search for Books changing typeface, Change the Type in an iBook comics, Subscribe to ePublications Dictionary, Use the Dictionary downloading, Download the iBooks App, Browse and Search for Books, Buy and Download a Book, Find Free iBooks, Sync Books Using iTunes app, Download the iBooks App free sample, Browse and Search for Books, Buy and Download a Book, Find Free iBooks from iCloud, Sync Books Using iTunes Full Screen mode, Read an iBook getting information about title, Browse and Search for Books iCloud downloads, Sync Books Using iTunes Library, Read an iBook Newsstand app, Use Newsstand for Your ePeriodicals Project Gutenberg, Read Other Ebooks on the iPad Purchased, Browse and Search for Books reading, Read an iBook–Read an iBook, Read an iBook, Read an iBook Scroll mode, Read an iBook searching, Browse and Search for Books, Browse and Search for Books for, Browse and Search for Books, Browse and Search for Books settings, Videos Share button, Create Bookmarks and Margin Notes Subscriptions, Subscribe to ePublications syncing with iTunes, Sync Books Using iTunes textbooks, Use iBooks Textbooks Top Charts, Browse and Search for Books Write a Review link, Browse and Search for Books iBookstore, Go to the iBookstore–Read Other Ebooks on the iPad, Browse and Search for Books, Browse and Search for Books, Buy and Download a Book, Find Free iBooks, Read Other Ebooks on the iPad, Read Other Ebooks on the iPad iCal, Set Up Your Calendars iCalShare.com, Subscribe to an Online Calendar iCloud, Use Safari’s Reading List, Copy your Desktop Mail Settings Using iTunes, Syncing With iCloud, Set Up Your Calendars, Maintain Contacts, Use iTunes Match, Getting Ready for iTunes 11, Automatically Download Photos with Photo Stream, Back Up and Sync Your Gadgets with iCloud, Back Up and Sync Your Gadgets with iCloud, Back Up and Sync Your Gadgets with iCloud, Set Up iCloud on Your iPad, Set Up iCloud on Your iPad, Set Up iCloud on Your iPad, Set Up iCloud on Your iPad, Set Up iCloud on Your iPad, Set Up iCloud on Your iPad, Set Up iCloud on Your iPad, Set Up iCloud on Your iPad, Set Up iCloud on Your iPad, Set Up iCloud on Your iPad, Set Up iCloud on Your iPad, Set Up iCloud on Your Computer, Set Up iCloud on Your Computer, Using iWork with iCloud on the Web, Using iWork with iCloud on the Web, Stream Photos with iCloud, Stream Photos with iCloud, Photo Stream for Windows Users, Photo Stream for Mac OS X Users, Share Your Photo Stream, iCloud, USB Backup and Restore with iTunes backups, Set Up iCloud on Your iPad, USB Backup and Restore with iTunes calendars, Set Up Your Calendars contacts, Maintain Contacts Documents & Data, Set Up iCloud on Your iPad downloading photos, Automatically Download Photos with Photo Stream email accounts, Copy your Desktop Mail Settings Using iTunes Find My iPad feature, Set Up iCloud on Your iPad iOS 5 and later, Back Up and Sync Your Gadgets with iCloud, Set Up iCloud on Your iPad iTunes 11, Getting Ready for iTunes 11 iTunes Match, Use iTunes Match iWork suite, using with, Using iWork with iCloud on the Web MobileMe and, Set Up iCloud on Your iPad Photo Stream, Set Up iCloud on Your iPad, Stream Photos with iCloud, Photo Stream for Windows Users Reading List, Use Safari’s Reading List setting up, Set Up iCloud on Your iPad, Set Up iCloud on Your iPad, Set Up iCloud on Your Computer on computer, Set Up iCloud on Your Computer on iPad, Set Up iCloud on Your iPad, Set Up iCloud on Your iPad storage space, Back Up and Sync Your Gadgets with iCloud, Set Up iCloud on Your iPad syncing with, Syncing With iCloud iTunes, Syncing With iCloud iCloud Tabs, Take a Safari Tour, Use iCloud Tabs IMAP accounts, POP3 and IMAP Accounts on the iPad iMessage, Send Messages, Share Your Video Clips, Messages videos, Share Your Video Clips iMovie, Edit Videos with iMovie–Edit Videos with iMovie, Edit Videos with iMovie, Edit Videos with iMovie importing, iWork by iTunes Sync–Troubleshooting iWork Files, Troubleshooting iWork Files, Troubleshooting iWork Files, Change Import Settings for Better Audio Quality files in iWork, iWork by iTunes Sync–Troubleshooting iWork Files, Troubleshooting iWork Files, Troubleshooting iWork Files iTunes import settings, Change Import Settings for Better Audio Quality Info, syncing with iTunes, Sync Your Personal Info to the iPad installing apps, Buy, Download, and Install Apps international, Use an International or Emoji Keyboard, Delete a Keyboard, Travel Internationally with the iPad, General iOS 5 and later, Use Multitasking Gestures on the iPad, Enter Text By Voice–Using Dictation on the iPad, Using Dictation on the iPad, Watch, Create, and Edit Videos, Back Up and Sync Your Gadgets with iCloud–Set Up iCloud on Your iPad, Set Up iCloud on Your iPad, Set Up iCloud on Your iPad, Privacy (iOS 6) / Location Services (iOS 5), Use iPad Backup Files backing up iPad, Use iPad Backup Files dictation, Enter Text By Voice–Using Dictation on the iPad, Using Dictation on the iPad high-definition videos, Watch, Create, and Edit Videos iCloud and, Back Up and Sync Your Gadgets with iCloud–Set Up iCloud on Your iPad, Set Up iCloud on Your iPad, Set Up iCloud on Your iPad Location Services, Privacy (iOS 6) / Location Services (iOS 5) multitasking gestures, Use Multitasking Gestures on the iPad iOS 6, Command Your iPad with Siri–Customizing Siri, Customizing Siri, Enter Text By Voice, Use Safari Reader, Use Safari’s Reading List, Use Safari’s Reading List, Work with Online Apps, Use iCloud Tabs, Social Networking on Your iPad, Track Time With the iPad’s Clock–Timer, Stopwatch, Timer, Hang Out the “Do Not Disturb” Sign, Hang Out the “Do Not Disturb” Sign, Set App Privacy Settings–Privacy and Location Services, Privacy and Location Services, Privacy and Location Services, Use Facebook on the iPad, Use the Podcasts App, Working with Albums, View Pictures on Your iPad, Share and Print Photos, Bluetooth, Do Not Disturb (iOS 6 only), General, Privacy (iOS 6) / Location Services (iOS 5), Reminders (iOS 6 only), Maps (iOS 6 only), iTunes & App Stores (iOS 6) / Store (iOS 5), Photos & Camera (iOS 6) / Photos (iOS 5) Bluetooth, Bluetooth Clock app, Track Time With the iPad’s Clock–Timer, Stopwatch, Timer creating photo albums, Working with Albums Do Not Disturb, Hang Out the “Do Not Disturb” Sign, Hang Out the “Do Not Disturb” Sign, Do Not Disturb (iOS 6 only) Facebook, Use Facebook on the iPad iCloud Tabs, Use iCloud Tabs iTunes & App Stores, iTunes & App Stores (iOS 6) / Store (iOS 5) Maps, Maps (iOS 6 only) Photos & Camera, Photos & Camera (iOS 6) / Photos (iOS 5) podcasts, Use the Podcasts App posting photo to Facebook, View Pictures on Your iPad, Share and Print Photos Privacy, Privacy (iOS 6) / Location Services (iOS 5) Privacy settings page, Set App Privacy Settings–Privacy and Location Services, Privacy and Location Services, Privacy and Location Services Reading List, Use Safari’s Reading List Reminders, Reminders (iOS 6 only) Safari Reader, Use Safari Reader Siri, Command Your iPad with Siri–Customizing Siri, Customizing Siri, Enter Text By Voice, General Twitter, Social Networking on Your iPad uploading photos, Work with Online Apps using iCloud, Use Safari’s Reading List iPad, Meet the iPad, Meet the iPad, Meet the iPad Mini, Meet the iPad Mini, Meet the iPad Mini, Turn the iPad On and Off, Activate and Set Up Your iPad via USB, Command Your iPad with Siri, Using Siri, Surf Securely, Protect Your iPad, AppleCare—What It Is and Whether You Need It cache, clearing, Surf Securely disconnecting from USB, Activate and Set Up Your iPad via USB erasing all content and settings, AppleCare—What It Is and Whether You Need It Mini, Meet the iPad, Meet the iPad Mini, Meet the iPad Mini protecting, Protect Your iPad Retina display, Meet the iPad, Meet the iPad Mini Siri, Command Your iPad with Siri, Using Siri turning on/off, Turn the iPad On and Off iPhone apps, scaling up, Scale Up iPhone Apps iPhoto for iPad, View, Shoot, Edit, and Manage Photos, Find Third-Party Photo-Editing Apps, Use iPhoto for iPad, Use iPhoto for iPad iResQ, Find an iPad Repair Shop iTunes, Activate and Set Up Your iPad via USB–Activate and Set Up Your iPad via USB, Activate and Set Up Your iPad via USB, Tour iTunes–Tour iTunes, Tour iTunes, Tour iTunes, Tour iTunes, Your Home Screen Apps, Set Up an Apple ID–Sign Up Without a Credit Card, Sign Up Without a Credit Card, Uninstall Apps, The iTunes Window, The iTunes Window, The iTunes Window, The iTunes Window, The iTunes Window, The iTunes Window, The iTunes Window, The iTunes Window, The iTunes Window, The iTunes Window, How iTunes Organizes Your Content, Where iTunes Stores Your Files, Where iTunes Stores Your Files, Where iTunes Stores Your Files, Where iTunes Stores Your Files, Where iTunes Stores Your Files, Check for Downloads, Check for Downloads, Authorize Computers for iTunes and Home Sharing, Automatically Sync the iPad, Troubleshoot Syncing Problems, Troubleshoot Syncing Problems, Troubleshoot Syncing Problems, Use iTunes in the Cloud, Use iTunes Home Sharing on Your iPad, Photo Sharing with iTunes, Photo Sharing with iTunes, Master iTunes On the Desktop–Get iTunes News on Twitter, Master iTunes On the Desktop, Change the Size of the iTunes Window, Change Import Settings for Better Audio Quality, Change Import Settings for Better Audio Quality, Change Import Settings for Better Audio Quality, Change Import Settings for Better Audio Quality, Four Ways to Browse Your Collection, Four Ways to Browse Your Collection, Four Ways to Browse Your Collection, Four Ways to Browse Your Collection, Search for Songs in iTunes, Change a Song’s File Format, Change a Song’s File Format, Change a Song’s File Format, Improve Your Tunes with the Graphic Equalizer, Edit Song Information, Edit Song Information, Edit Song Information, Edit Song Information, Edit Song Information, Edit Album Information and Song Gaps, Make a New Playlist in iTunes, Make a New Playlist in iTunes, Playlist-Making Method #2, Playlist-Making Method #2, Change or Delete an Existing Playlist, Change or Delete an Existing Playlist, Make a Genius Playlist in iTunes, Make a Genius Playlist in iTunes, Make a Genius Playlist in iTunes, Genius Mixes in iTunes, You’re the Critic: Rate Your Music, You’re the Critic: Rate Your Music, You’re the Critic: Rate Your Music, Smart Playlists: Another Way for iTunes to Assemble Song Sets–Smart Playlists: Another Way for iTunes to Assemble Song Sets, Smart Playlists: Another Way for iTunes to Assemble Song Sets, Smart Playlists: Another Way for iTunes to Assemble Song Sets, Smart Playlists: Another Way for iTunes to Assemble Song Sets, Smart Playlists: Another Way for iTunes to Assemble Song Sets, Automatically Add Art, Manually Add Art, See Your iTunes Purchase History and Get iTunes Store Help, See Your iTunes Purchase History and Get iTunes Store Help, See Your iTunes Purchase History and Get iTunes Store Help, See Your iTunes Purchase History and Get iTunes Store Help, See Your iTunes Purchase History and Get iTunes Store Help, Set Up Multiple iTunes Libraries, Move the iTunes Music/Media Folder to an External Drive, Move the iTunes Music/Media Folder to an External Drive, iTunes and Social Media–Get iTunes News on Twitter, iTunes and Social Media, iTunes and Social Media–Get iTunes News on Twitter, Get iTunes News on Twitter, Get iTunes News on Twitter, Get iTunes News on Twitter, Buy Music in the iTunes Store, Control the Now Playing Screen, Control the Now Playing Screen, Make Genius Playlists on the iPad, Make Genius Playlists on the iPad, Getting Videos Into iTunes, Transfer Photos with iTunes, Find Pictures on Your iPad, Working with Albums, Download iTunes and iTunes Updates, and Reinstall iTunes–Download iTunes and iTunes Updates, and Reinstall iTunes, Download iTunes and iTunes Updates, and Reinstall iTunes, Download iTunes and iTunes Updates, and Reinstall iTunes, USB Backup and Restore with iTunes Account and Billing Support, See Your iTunes Purchase History and Get iTunes Store Help activating and setting up via USB, Activate and Set Up Your iPad via USB–Activate and Set Up Your iPad via USB, Activate and Set Up Your iPad via USB Album List View, Four Ways to Browse Your Collection albums, Edit Song Information, Automatically Add Art, Find Pictures on Your iPad, Working with Albums covers, Automatically Add Art editing information, Edit Song Information working with, Working with Albums apps and games, The iTunes Window Artwork pane, Manually Add Art audio format and quality, Change Import Settings for Better Audio Quality backups, USB Backup and Restore with iTunes bit rate, Change Import Settings for Better Audio Quality browsing collection, Four Ways to Browse Your Collection buttons and controls, The iTunes Window Check for Available Downloads, Check for Downloads content organization, How iTunes Organizes Your Content Create New Account, Set Up an Apple ID–Sign Up Without a Credit Card, Sign Up Without a Credit Card Devices area, The iTunes Window downloading and reinstalling, Download iTunes and iTunes Updates, and Reinstall iTunes–Download iTunes and iTunes Updates, and Reinstall iTunes, Download iTunes and iTunes Updates, and Reinstall iTunes, Download iTunes and iTunes Updates, and Reinstall iTunes Downloads, Check for Downloads Facebook, iTunes and Social Media–Get iTunes News on Twitter, Get iTunes News on Twitter file storage, Where iTunes Stores Your Files Genius, The iTunes Window, Make a Genius Playlist in iTunes, Genius Mixes in iTunes, Control the Now Playing Screen, Make Genius Playlists on the iPad Mixes, Genius Mixes in iTunes Now Playing screen, Control the Now Playing Screen Get Info, Edit Song Information getting videos into, Getting Videos Into iTunes Home Sharing, The iTunes Window, Use iTunes Home Sharing on Your iPad, Photo Sharing with iTunes, Photo Sharing with iTunes photos, Photo Sharing with iTunes import settings, Change Import Settings for Better Audio Quality in the Cloud, Use iTunes in the Cloud, See Your iTunes Purchase History and Get iTunes Store Help, Buy Music in the iTunes Store libraries, Tour iTunes, Set Up Multiple iTunes Libraries library file, Where iTunes Stores Your Files Library group, The iTunes Window List View, Four Ways to Browse Your Collection Media folder, Where iTunes Stores Your Files moving Music/Media folder, Move the iTunes Music/Media Folder to an External Drive Music folder, Where iTunes Stores Your Files Now Playing window, You’re the Critic: Rate Your Music playlists, Tour iTunes, The iTunes Window, Make a New Playlist in iTunes, Playlist-Making Method #2, Change or Delete an Existing Playlist, Control the Now Playing Screen, Make Genius Playlists on the iPad changing or deleting, Change or Delete an Existing Playlist Plus songs, Authorize Computers for iTunes and Home Sharing Preferences menu, The iTunes Window Purchase History, See Your iTunes Purchase History and Get iTunes Store Help ratings, You’re the Critic: Rate Your Music removing apps, Uninstall Apps Shared, The iTunes Window Smart Playlists, Smart Playlists: Another Way for iTunes to Assemble Song Sets–Smart Playlists: Another Way for iTunes to Assemble Song Sets, Smart Playlists: Another Way for iTunes to Assemble Song Sets songs, Change a Song’s File Format, Edit Song Information, Edit Album Information and Song Gaps converting file format, Change a Song’s File Format editing album information and song gaps, Edit Album Information and Song Gaps editing information, Edit Song Information Source list, Tour iTunes–Tour iTunes, Tour iTunes Source panel, The iTunes Window troubleshooting, Troubleshoot Syncing Problems, Troubleshoot Syncing Problems, Troubleshoot Syncing Problems error messages while syncing, Troubleshoot Syncing Problems iPad does not show up, Troubleshoot Syncing Problems some items didn’t sync to iPad, Troubleshoot Syncing Problems Twitter, iTunes and Social Media–Get iTunes News on Twitter, Get iTunes News on Twitter where files are stored, Where iTunes Stores Your Files Wi-Fi Sync, Automatically Sync the iPad, Transfer Photos with iTunes iTunes 11, Getting Ready for iTunes 11–Getting Ready for iTunes 11, Getting Ready for iTunes 11, iPad Troubleshooting and Care getting ready for, Getting Ready for iTunes 11–Getting Ready for iTunes 11, Getting Ready for iTunes 11 iTunes Match, Sync and Share Media Files Using iTunes and iCloud, The iTunes Window, Use iTunes Match, Use iTunes Match, Set Up iCloud on Your iPad, Music iCloud, Use iTunes Match iTunes Store, Buy, Download, and Install Apps, The iTunes Store, The Wireless iTunes Store, Buy Music in the iTunes Store, Get Video Onto Your iPad, iTunes & App Stores (iOS 6) / Store (iOS 5) buying music, Buy Music in the iTunes Store getting apps, Buy, Download, and Install Apps videos, Get Video Onto Your iPad wireless, The Wireless iTunes Store iTunes U, Go to School at iTunes U, iTunes U iTunes window, The iTunes Window–The iTunes Window, The iTunes Window, The iTunes Window, Change the Look of the iTunes Window, Change the Size of the iTunes Window, Change the Size of the iTunes Window changing look, Change the Look of the iTunes Window changing size, Change the Size of the iTunes Window Keep Mini Player on top of all other windows, Change the Size of the iTunes Window iWork, Get Productive with iWork–Find Alternatives to iWork, Meet iWork, Meet iWork, Get Started with iWork, Get Started with iWork–Get Started with iWork, Get Started with iWork, Get Started with iWork, Tips for Working with Text and Photos, Create Presentations in Keynote, Import, Export, and Share iWork Files, iWork by Email, iWork by iTunes Sync, iWork by Online Server, Troubleshooting iWork Files–Getting Help with iWork, Troubleshooting iWork Files, Troubleshooting iWork Files, Troubleshooting iWork Files, Troubleshooting iWork Files, Troubleshooting iWork Files, Getting Help with iWork, Getting Help with iWork, Find Alternatives to iWork–Find Alternatives to iWork, Find Alternatives to iWork, Find Alternatives to iWork, Find Alternatives to iWork, Using iWork with iCloud on the Web alternatives, Find Alternatives to iWork–Find Alternatives to iWork, Find Alternatives to iWork fonts, Troubleshooting iWork Files getting help, Getting Help with iWork getting started, Get Started with iWork–Get Started with iWork, Get Started with iWork iTunes Sync, iWork by iTunes Sync linked files, Troubleshooting iWork Files online servers and, iWork by Online Server tracking changes, Troubleshooting iWork Files troubleshooting, Troubleshooting iWork Files–Getting Help with iWork, Getting Help with iWork using with iCloud, Using iWork with iCloud on the Web iWork files, File Attachments K keyboards, Use the Standard iPad Keyboard, Use the Standard iPad Keyboard, Use the Standard iPad Keyboard, Use the Standard iPad Keyboard, iPad Keyboard Shortcuts–iPad Keyboard Shortcuts, iPad Keyboard Shortcuts, iPad Keyboard Shortcuts, iPad Keyboard Shortcuts, iPad Keyboard Shortcuts, iPad Keyboard Shortcuts, Use the Split Keyboard, Add an External Keyboard, Bluetooth Keyboard, Use an International or Emoji Keyboard, Use an International or Emoji Keyboard–Delete a Keyboard, Delete a Keyboard, Delete a Keyboard, General Auto-Correction, iPad Keyboard Shortcuts Bluetooth, Bluetooth Keyboard Emoji, Use an International or Emoji Keyboard external, Add an External Keyboard international, Use an International or Emoji Keyboard–Delete a Keyboard, Delete a Keyboard, Delete a Keyboard Keyboard Settings area, iPad Keyboard Shortcuts portrait versus horizontal mode, Use the Standard iPad Keyboard settings, General shortcuts, iPad Keyboard Shortcuts–iPad Keyboard Shortcuts, iPad Keyboard Shortcuts, iPad Keyboard Shortcuts special keys, Use the Standard iPad Keyboard split keyboard, Use the Split Keyboard standard iPad, Use the Standard iPad Keyboard virtual, Use the Standard iPad Keyboard Keynote (iWork), Get Productive with iWork, Meet iWork, Create Presentations in Keynote–Create Presentations in Keynote, Create Presentations in Keynote presentations, Create Presentations in Keynote–Create Presentations in Keynote, Create Presentations in Keynote Kindle app for iPad, Read Other Ebooks on the iPad L Landscape Mode, Zoom and Scroll Through Web Pages libraries, Video Formats That Work on the iPad Library (iBooks), Read an iBook Lightning connector, What’s in the Box, Meet the iPad Mini, Activate and Set Up Your iPad via USB Lightning port, Connect Through iPad Jacks and Ports, Keep the iPad Screen Clean, Play iPad Videos on Your TV, Play iPad Videos on Your TV Lightning-to-30-pin adapter, Play iPad Videos on Your TV Location Services, Privacy and Location Services, Privacy (iOS 6) / Location Services (iOS 5) Lock Rotation, Use the Mute/Lock and Volume Buttons Lock screen, Use the Home Button, General LTE network, Use a Cellular Data Network M M4V files, Video Formats That Work on the iPad magazine apps, Find Newspaper and Magazine Apps–Find Newspaper and Magazine Apps, Find Newspaper and Magazine Apps Maps, Your Home Screen Apps, Use Twitter, Find Your Way with Maps, Find Your Way with Maps, Find Your Way with Maps, Find Your Way with Maps, See Maps in Different Views, See Maps in Different Views, Locate Your Position Using GPS, Locate Your Position Using GPS, Get Directions on the Map–Turn-by-Turn Directions, Get Directions on the Map, Turn-by-Turn Directions, Maps (iOS 6 only) different views, See Maps in Different Views finding an address, Find Your Way with Maps getting directions, Get Directions on the Map–Turn-by-Turn Directions, Get Directions on the Map, Turn-by-Turn Directions locating position with GPS, Locate Your Position Using GPS marking the spot, Find Your Way with Maps meeting invitations, Subscribe to an Online Calendar Messages, Your Home Screen Apps, Messages Messaging, Activate and Set Up Your iPad Over WiFi microfiber cleaning cloth, Keep the iPad Screen Clean microphone, Connect Through iPad Jacks and Ports Microsoft Exchange, Set Up Mail Accounts on the iPad, POP3 and IMAP Accounts on the iPad Microsoft Office files, File Attachments Milliamp, Find an iPad Repair Shop Mini, Set Up Your iPad–Find the Home Button and Cameras, Meet the iPad, What’s in the Box, What’s in the Box, Meet the iPad Mini, Turn the iPad On and Off, Find the Home Button and Cameras, Sync Your iPad with iTunes syncing iTunes, Sync Your iPad with iTunes mini-iTunes window, Change the Size of the iTunes Window mirroring files, Stream and Mirror Files with AirPlay–Video Mirroring, Video Mirroring, Video Mirroring mobile broadband hotspot, Use a Mobile Broadband Hotspot MOV files, Video Formats That Work on the iPad MP3 files, Stream Web Audio and Video, Change Import Settings for Better Audio Quality, Change a Song’s File Format MP4 files, Video Formats That Work on the iPad music, Tour iTunes, Your Home Screen Apps, The iTunes Window, Where iTunes Stores Your Files, You’re the Critic: Rate Your Music, Import CD Tracks to iTunes, Sync Music, Audiobooks, and Podcasts, Explore the Music Menu, Play Music, Play Audiobooks, Control the Now Playing Screen, Make Music with GarageBand, Music audiobooks in Music app, Play Audiobooks converting large song files to smaller ones, Tour iTunes GarageBand, Make Music with GarageBand importing CD, Import CD Tracks to iTunes library’s contents, The iTunes Window menu, Explore the Music Menu Music folder (iTunes), Where iTunes Stores Your Files Now Playing, You’re the Critic: Rate Your Music, Control the Now Playing Screen playing, Play Music syncing iTunes, Sync Music, Audiobooks, and Podcasts Music (Photos app), Play Slideshows on Your iPad Mute, Use the Mute/Lock and Volume Buttons MySpace, Social Networking on Your iPad N nano-SIM card, What’s in the Box network, Cellular: 4G LTE, 4G, and 3G Networks, Use a Cellular Data Network new features, Track Time With the iPad’s Clock–Timer, Timer, Hang Out the “Do Not Disturb” Sign, Set App Privacy Settings–Privacy and Location Services, Privacy and Location Services Clock app, Track Time With the iPad’s Clock–Timer, Timer Do Not Disturb, Hang Out the “Do Not Disturb” Sign Privacy settings page, Set App Privacy Settings–Privacy and Location Services, Privacy and Location Services New Playlist From Selection (iTunes), Playlist-Making Method #3 newspaper apps, Find Newspaper and Magazine Apps–Find Newspaper and Magazine Apps, Find Newspaper and Magazine Apps Newsstand, Your Home Screen Apps, Use Newsstand for Your ePeriodicals Nexvio’s ReelDirector, Edit Videos with iMovie Nook app for iPad, Read Other Ebooks on the iPad Notepad, Find Alternatives to iWork Notes, Your Home Screen Apps, Cut, Copy, Paste, and Replace Text, Take Notes–Take Notes, Take Notes, Take Notes, Take Notes, Take Notes, Reminders (iOS 6 only) new note, Take Notes settings, Reminders (iOS 6 only) stashing text, Cut, Copy, Paste, and Replace Text syncing, Take Notes with iCloud, Take Notes Notifications, Organize Your Life With the iPad’s Apps, Use Notifications, Customizing Notifications, Do Not Disturb (iOS 6 only) Novatel’s MiFi, Use a Mobile Broadband Hotspot Now Playing, You’re the Critic: Rate Your Music, Control the Now Playing Screen, Control the Now Playing Screen Numbers (iWork), Get Productive with iWork, Meet iWork, Create Spreadsheets in Numbers–Create Spreadsheets in Numbers, Create Spreadsheets in Numbers spreadsheets, Create Spreadsheets in Numbers–Create Spreadsheets in Numbers, Create Spreadsheets in Numbers O Office, Find Alternatives to iWork Office 365, Work with Online Apps oleophobic coating, Protecting the iPad’s Screen On/Off button, Turn the iPad On and Off online apps, Work with Online Apps–Work with Online Apps, Work with Online Apps, Work with Online Apps OnLive Desktop, Find Alternatives to iWork OnLive iPad app, Find Alternatives to iWork Opera Mini, Use Other Web Browsers Organize Library (iTunes), Where iTunes Stores Your Files OS X 10.8 (Mountain Lion), Use iCloud Tabs, More Ways to Get Your Game On Game Center, More Ways to Get Your Game On iCloud Tabs, Use iCloud Tabs Outlook Express, Maintain Contacts Outlook meeting invitations, Subscribe to an Online Calendar Outpost 2, Work with Online Apps Overdrive from Sierra Wireless, Use a Mobile Broadband Hotspot P Page Navigator (iBooks), Read an iBook Pages (iWork), Get Productive with iWork–Tips for Working with Text and Photos, Meet iWork, Meet iWork, Get Started with iWork, Get Started with iWork–Tips for Working with Text and Photos, Get Started with iWork, Get Started with iWork, Create Documents in Pages, Create Documents in Pages, Create Documents in Pages, Create Documents in Pages, Create Documents in Pages, Create Documents in Pages, Tips for Working with Text and Photos, Tips for Working with Text and Photos documents, Get Started with iWork–Tips for Working with Text and Photos, Get Started with iWork, Create Documents in Pages, Create Documents in Pages, Tips for Working with Text and Photos text and photos, Create Documents in Pages, Create Documents in Pages Paint, Find Alternatives to iWork Passcode Lock, General Paste, Cut, Copy, Paste, and Replace Text–Cut, Copy, Paste, and Replace Text, Cut, Copy, Paste, and Replace Text, Cut, Copy, Paste, and Replace Text PDF files, File Attachments, Sync Books Using iTunes phishing, Surf Securely Photo Booth, Find the Home Button and Cameras, Your Home Screen Apps, Transfer Photos with iPad Camera Adapters, Take Portraits with Photo Booth Photo Stream, Automatically Download Photos with Photo Stream, Find Pictures on Your iPad, Set Up iCloud on Your iPad, Stream Photos with iCloud, Photo Stream for Windows Users, Share Your Photo Stream, iCloud, Music automatically downloading, Automatically Download Photos with Photo Stream finding photos, Find Pictures on Your iPad sharing, Share Your Photo Stream, Music photos, Your Home Screen Apps, Add Picture and Video Attachments to Mail Messages, Photo Sharing with iTunes, Automatically Download Photos with Photo Stream, Take Photos With the iPad’s Camera, Find Pictures on Your iPad, Find Pictures on Your iPad–Working with Albums, Find Pictures on Your iPad, Find Pictures on Your iPad, Find Pictures on Your iPad, Find Pictures on Your iPad, Find Pictures on Your iPad, Working with Albums, Edit Photos on the iPad, Edit Photos on the iPad, Edit Photos on the iPad, Find Third-Party Photo-Editing Apps, Find Third-Party Photo-Editing Apps, Find Third-Party Photo-Editing Apps, Find Third-Party Photo-Editing Apps, Find Third-Party Photo-Editing Apps, Videos albums, Find Pictures on Your iPad Contrast, Find Third-Party Photo-Editing Apps Crop, Edit Photos on the iPad downloading with Photo Stream, Automatically Download Photos with Photo Stream editing, Find Third-Party Photo-Editing Apps exposure, Take Photos With the iPad’s Camera, Find Third-Party Photo-Editing Apps Faces, Find Pictures on Your iPad file attachments, Add Picture and Video Attachments to Mail Messages finding on iPad, Find Pictures on Your iPad–Working with Albums, Find Pictures on Your iPad, Working with Albums Home Sharing, Photo Sharing with iTunes Places, Find Pictures on Your iPad Red Eye, Edit Photos on the iPad Rotate, Edit Photos on the iPad Saturation, Find Third-Party Photo-Editing Apps settings, Videos third-party apps, Find Third-Party Photo-Editing Apps viewing, Find Pictures on Your iPad by Events, Find Pictures on Your iPad Picture Frame, Turn the iPad into a Picture Frame, General, Picture Frame pinch (finger move), Finger Moves for the iPad Pinterest, Social Networking on Your iPad Places, Find Pictures on Your iPad Play Each Slide For… (Photos), Play Slideshows on Your iPad podcasts, The iTunes Window, Play Audiobooks, Use the Podcasts App iOS 6, Use the Podcasts App library’s contents, The iTunes Window POP accounts, POP3 and IMAP Accounts on the iPad Print, Use the Safari Action Menu printing, Print with Your iPad, Share and Print Photos Privacy, Set App Privacy Settings–Privacy and Location Services, Privacy and Location Services, Privacy (iOS 6) / Location Services (iOS 5) settings page, Set App Privacy Settings–Privacy and Location Services, Privacy and Location Services Private Browsing, Erase the History List, Surf Securely, Safari Project Gutenberg, Read Other Ebooks on the iPad protecting iPad, Protect Your iPad punctuation (keyboard shortcut), iPad Keyboard Shortcuts Purchase History (iTunes), See Your iTunes Purchase History and Get iTunes Store Help Purchased (iBooks), Browse and Search for Books Purchased on iPad list, The iTunes Window Q QuickOffice Pro HD, Find Alternatives to iWork QuickTime, Stream Web Audio and Video QuickTime Pro, Troubleshoot Syncing Problems, Video Formats That Work on the iPad quitting frozen app, Troubleshooting Basics R ratings (iTunes), You’re the Critic: Rate Your Music Red Eye (Photos), Edit Photos on the iPad Reminders, Your Home Screen Apps, Organize Your Life With the iPad’s Apps, Use Reminders, Use Reminders, Reminders (iOS 6 only) repair shops, Find an iPad Repair Shop Repeat (Photos), Play Slideshows on Your iPad Replace, Cut, Copy, Paste, and Replace Text Reset, General resetting iPad, Troubleshooting Basics–Reset Your iPad, Reset Your iPad, Reset Your iPad restarting, Troubleshooting Basics restoring software, Start Over: Restore Your iPad’s Software–Start Over: Restore Your iPad’s Software, Start Over: Restore Your iPad’s Software, Start Over: Restore Your iPad’s Software Restrictions, General Retina display, Meet the iPad, The iPad With Retina Display vs. the iPad 2, Meet the iPad Mini returning to Home screen, Use Multitasking Gestures on the iPad Reuters News Pro, Find Newspaper and Magazine Apps Rotate (Photos), View Pictures on Your iPad, Edit Photos on the iPad RSS Feed, Edit and Organize Bookmarks and Folders RTF files, File Attachments S Safari, Your Home Screen Apps, Take a Safari Tour–Take a Safari Tour, Take a Safari Tour, Take a Safari Tour, Take a Safari Tour, Take a Safari Tour, Take a Safari Tour, Take a Safari Tour, Take a Safari Tour, Use Browser Tabs in Safari, Use Browser Tabs in Safari, Use Safari’s Reading List, Jump to Other Web Pages, Use Autofill to Save Time, Create and Use Bookmarks, Add New Bookmarks on the iPad, Add New Bookmarks on the iPad, Make Home Screen Bookmarks, Call Up Your History List, Call Up Your History List, Call Up Your History List, Call Up Your History List, Edit and Organize Bookmarks and Folders, Edit and Organize Bookmarks and Folders, Edit and Organize Bookmarks and Folders, Edit and Organize Bookmarks and Folders, Sync Bookmarks–Save and Mail Images from the Web, Save and Mail Images from the Web, Use the Safari Action Menu, Surf Securely, Surf Securely, Surf Securely, Surf Securely, Surf Securely, Surf Securely, Surf Securely, General, Safari, Safari Accept Cookies, Surf Securely Action menu, Take a Safari Tour, Use the Safari Action Menu address bar, Take a Safari Tour Advanced, Surf Securely Always Show Bookmarks Bar, Safari Autofill, Use Autofill to Save Time Back, Forward, Take a Safari Tour Bookmarks, Take a Safari Tour, Create and Use Bookmarks, Add New Bookmarks on the iPad, Add New Bookmarks on the iPad, Make Home Screen Bookmarks, Call Up Your History List, Call Up Your History List, Edit and Organize Bookmarks and Folders, Edit and Organize Bookmarks and Folders, Edit and Organize Bookmarks and Folders, Sync Bookmarks–Save and Mail Images from the Web, Save and Mail Images from the Web adding new, Add New Bookmarks on the iPad editing and organizing, Edit and Organize Bookmarks and Folders History button, Call Up Your History List Clear Cache, Surf Securely Clear History, Surf Securely cookies, Surf Securely History, Call Up Your History List JavaScript, Surf Securely Reading List, Use Safari’s Reading List, Jump to Other Web Pages, Call Up Your History List RSS Feed, Edit and Organize Bookmarks and Folders screen elements, Take a Safari Tour–Take a Safari Tour, Take a Safari Tour Search box, Take a Safari Tour security, Surf Securely settings, Safari Stop, Reload, Take a Safari Tour tabs, Use Browser Tabs in Safari, Use Browser Tabs in Safari Safari Reader, Use Safari Reader, Use the Safari Action Menu Satchel, Work with Online Apps Satellite (Map view), See Maps in Different Views Saturation (Photos), Find Third-Party Photo-Editing Apps Saved Photos album, Delete Photos schools (online courses), Go to School at iTunes U screen, Keep the iPad Screen Clean–Protecting the iPad’s Screen, Protecting the iPad’s Screen Screen Brightness (iBooks), Read an iBook Screen Care Kit for iPad, Protect Your iPad Screen Orientation Lock, Use the Mute/Lock and Volume Buttons, Read an iBook searching, Search the iPad, Take Notes, Search for Apps, Search for Songs in iTunes, Find Pictures on Your iPad–Working with Albums, Find Pictures on Your iPad, Working with Albums, General for apps, Search for Apps for photos on iPad, Find Pictures on Your iPad–Working with Albums, Find Pictures on Your iPad, Working with Albums iTunes, Search for Songs in iTunes Notes, Take Notes Spotlight, Search the iPad, General Select a Wireless Network, Get Your WiFi Connection Set Up Personal Hotspot, Use the iPad as a Personal Hotspot settings, iPad Settings–App Preferences, Tour the iPad’s Settings, Airplane Mode, Airplane Mode, WiFi, WiFi, Bluetooth, Do Not Disturb (iOS 6 only), Notifications, General, General, General, General, General, General, General, General, General, General, General, General, Sounds, Picture Frame, Privacy (iOS 6) / Location Services (iOS 5), Privacy (iOS 6) / Location Services (iOS 5), iCloud, iCloud, iCloud, iCloud, Mail, Contacts, Calendars, Notes, Reminders (iOS 6 only), Reminders (iOS 6 only), Messages, FaceTime, Maps (iOS 6 only), Safari, Safari, iTunes & App Stores (iOS 6) / Store (iOS 5), Music, Music, Music, Photos & Camera (iOS 6) / Photos (iOS 5), Photos & Camera (iOS 6) / Photos (iOS 5), iBooks, App Preferences Accessibility, General Airplane Mode, Airplane Mode Bluetooth, Bluetooth calendars, iCloud Camera, Photos & Camera (iOS 6) / Photos (iOS 5) Contacts, iCloud FaceTime, FaceTime general, General, General iPad Cover Lock/Unlock, General Usage, General iBooks, iBooks iCloud, iCloud International, General keyboard, General Location Services, Privacy (iOS 6) / Location Services (iOS 5) Mail, Contacts, Calendars, Mail, Contacts, Calendars Maps, Maps (iOS 6 only) Messages, Messages Music, Music Notes, Notes Notifications, Notifications Passcode Lock, General Photos, Photos & Camera (iOS 6) / Photos (iOS 5) Picture Frame, Picture Frame Privacy, Privacy (iOS 6) / Location Services (iOS 5) Reminders, Reminders (iOS 6 only) Restrictions, General Safari, Safari Side Switch, General Store, iTunes & App Stores (iOS 6) / Store (iOS 5) video, Music VoiceOver, General Wi-Fi, Airplane Mode, WiFi Shared (iTunes), The iTunes Window Shared Photo Streams, Photos & Camera (iOS 6) / Photos (iOS 5) sharing, Share and Print Photos, Stream Photos with iCloud–Photo Stream on the Apple TV, Photo Stream on the Apple TV, Share Your Photo Stream–Deleting Photos and Shared Streams, Deleting Photos and Shared Streams, Photos & Camera (iOS 6) / Photos (iOS 5) Photo Stream, Share Your Photo Stream–Deleting Photos and Shared Streams, Deleting Photos and Shared Streams Photo Streams, Photos & Camera (iOS 6) / Photos (iOS 5) photos, Share and Print Photos with iCloud, Stream Photos with iCloud–Photo Stream on the Apple TV, Photo Stream on the Apple TV Show in Playlist (iTunes), Change or Delete an Existing Playlist Shuffle (Photos), Play Slideshows on Your iPad Side Switch, Use the Mute/Lock and Volume Buttons, General Sierra Wireless, Use a Mobile Broadband Hotspot Siri, Meet the iPad Mini, Activate and Set Up Your iPad Over WiFi, Command Your iPad with Siri, Using Siri, Enter Text By Voice, Dictation Options for Older iPads, Search the iPad, General dictation, Enter Text By Voice, Dictation Options for Older iPads searching, Search the iPad Skype, Use Skype to Make Internet Calls Sleep, Turn the iPad On and Off Sleep/Wake switch, Find the Home Button and Cameras slide (finger move), Finger Moves for the iPad slideshows, Play Slideshows on Your iPad–Play Slideshows on Your TV, Play Slideshows on Your TV, Play Slideshows on Your TV Smart Covers, Protect Your iPad Smart Playlists (iTunes), Smart Playlists: Another Way for iTunes to Assemble Song Sets–Smart Playlists: Another Way for iTunes to Assemble Song Sets, Smart Playlists: Another Way for iTunes to Assemble Song Sets, Smart Playlists: Another Way for iTunes to Assemble Song Sets social networking, Social Networking on Your iPad–Social Networking on Your iPad, Social Networking on Your iPad, Social Networking on Your iPad software, Start Over: Restore Your iPad’s Software–Start Over: Restore Your iPad’s Software, Start Over: Restore Your iPad’s Software, Start Over: Restore Your iPad’s Software restoring, Start Over: Restore Your iPad’s Software–Start Over: Restore Your iPad’s Software, Start Over: Restore Your iPad’s Software, Start Over: Restore Your iPad’s Software sorting by, Explore the Music Menu, Explore the Music Menu, Explore the Music Menu, Make Playlists albums, Explore the Music Menu, Make Playlists playlists, Explore the Music Menu song title, Explore the Music Menu Sound Check, Music SoundCloud, Make Music with GarageBand Sounds, Sounds Speak Auto-Text, iPad Keyboard Shortcuts, General speed control in audiobooks, Play Audiobooks spelling, iPad Keyboard Shortcuts Spotlight Search, General spread (finger move), Finger Moves for the iPad Sprint, Cellular: 4G LTE, 4G, and 3G Networks, Sign Up for Cellular Data Service, Use a Mobile Broadband Hotspot data calculator, Sign Up for Cellular Data Service mobile hotspots, Use a Mobile Broadband Hotspot Standard (Map view), See Maps in Different Views Stopwatch, Stopwatch Straighten (Photos), Find Third-Party Photo-Editing Apps streaming, Use the Home Button to Switch Apps, Stream Web Audio and Video–Stream Web Audio and Video, Stream Web Audio and Video, Stream Web Audio and Video, Stream and Mirror Files with AirPlay–Video Mirroring, Stream and Mirror Files with AirPlay, Video Mirroring, Video Mirroring, Get Video Onto Your iPad apps and websites, Get Video Onto Your iPad audio and video, Stream Web Audio and Video–Stream Web Audio and Video, Stream Web Audio and Video, Stream Web Audio and Video mirroring files and, Stream and Mirror Files with AirPlay subscriptions, Subscribe to ePublications switching between open apps, Use Multitasking Gestures on the iPad syncing, Sync Your iPad with iTunes, Sync Your iPad with iTunes–USB or Wi-Fi Sync?


Virtual Competition by Ariel Ezrachi, Maurice E. Stucke

Airbnb, Albert Einstein, algorithmic trading, barriers to entry, cloud computing, collaborative economy, commoditize, corporate governance, crony capitalism, crowdsourcing, Daniel Kahneman / Amos Tversky, David Graeber, demand response, disintermediation, disruptive innovation, double helix, Downton Abbey, Erik Brynjolfsson, experimental economics, Firefox, framing effect, Google Chrome, index arbitrage, information asymmetry, interest rate derivative, Internet of things, invisible hand, Jean Tirole, John Markoff, Joseph Schumpeter, Kenneth Arrow, light touch regulation, linked data, loss aversion, Lyft, Mark Zuckerberg, market clearing, market friction, Milgram experiment, multi-sided market, natural language processing, Network effects, new economy, offshore financial centre, pattern recognition, prediction markets, price discrimination, price stability, profit maximization, profit motive, race to the bottom, rent-seeking, Richard Thaler, ride hailing / ride sharing, road to serfdom, Robert Bork, Ronald Reagan, self-driving car, sharing economy, Silicon Valley, Skype, smart cities, smart meter, Snapchat, social graph, Steve Jobs, supply-chain management, telemarketer, The Chicago School, The Myth of the Rational Market, The Wealth of Nations by Adam Smith, too big to fail, transaction costs, Travis Kalanick, turn-by-turn navigation, two-sided market, Uber and Lyft, Uber for X, uber lyft, Watson beat the top human players on Jeopardy!, women in the workforce, yield management

, Facebook, and Comcast, proposed in July 2015 a Do Not Track standard that distinguished between first and third parties. Basically, when the gazelles are visiting the super-platform’s own apps and websites, the super-platforms can continue to track them and collect data on them, but third parties, like the smaller apps, cannot. So when a user activates the Do Not Track signal, “if he or she enters a query into the Google search engine, signs onto . . . Gmail, or uses Google Chrome or Android, he or she will still be allowing Google to gather information and use it to deliver targeted ads.”64 Here the Frenemy relationship is tilting toward capture. The proposed Do Not Track standard doesn’t really prevent tracking. Instead, the main function of the proposed standard “will be to limit the ability of any potential rivals to collect comparable data.”65 This is key as users spend more time on mobile phones, whose operating systems the super-platforms control, and on the super-platforms’ own apps and ser vices.

As Ghostery explains on its website, “We rely on Ghostery users who opt-in to send us anonymous information about the data collection technology they see, and where they see them. We take that information, add our analysis, and sell it to companies to help them audit and manage their relationships with these marketing tools. None of the information we share is about our users, nor is it stored in a way that could be used to trace back to our users”; https://www.ghostery.com/support/faq /ghostery-add-on/how-does-ghostery-make-money-from-the-add-on/. 41. Google Chrome., Turn “Do Not Track” On or Off, https://support.google.com /chrome/answer/2790761?hl= en. 42. You can control your settings for ads served by Google that you see within a browser by visiting the Ads Settings page in that browser. Some apps may allow you to view web pages without launching your mobile device’s default web browser. Such pages will not recognize your default browser’s settings, including your ads settings for ads served by Google on web pages.


pages: 511 words: 132,682

Competition Overdose: How Free Market Mythology Transformed Us From Citizen Kings to Market Servants by Maurice E. Stucke, Ariel Ezrachi

affirmative action, Airbnb, Albert Einstein, Andrei Shleifer, Bernie Sanders, Boeing 737 MAX, Cass Sunstein, choice architecture, cloud computing, commoditize, corporate governance, Corrections Corporation of America, Credit Default Swap, crony capitalism, delayed gratification, Donald Trump, en.wikipedia.org, George Akerlof, gig economy, Goldman Sachs: Vampire Squid, Google Chrome, greed is good, hedonic treadmill, income inequality, income per capita, information asymmetry, invisible hand, job satisfaction, labor-force participation, late fees, loss aversion, low skilled workers, Lyft, mandatory minimum, Mark Zuckerberg, market fundamentalism, mass incarceration, Menlo Park, meta analysis, meta-analysis, Milgram experiment, mortgage debt, Network effects, out of africa, payday loans, Ponzi scheme, precariat, price anchoring, price discrimination, profit maximization, profit motive, race to the bottom, Richard Thaler, ride hailing / ride sharing, Robert Bork, Robert Shiller, Robert Shiller, Ronald Reagan, shareholder value, Shoshana Zuboff, Silicon Valley, Snapchat, Social Responsibility of Business Is to Increase Its Profits, Stanford prison experiment, Stephen Hawking, The Chicago School, The Market for Lemons, The Myth of the Rational Market, The Wealth of Nations by Adam Smith, Thomas Davenport, Thorstein Veblen, Tim Cook: Apple, too big to fail, transaction costs, Uber and Lyft, uber lyft, ultimatum game, Vanguard fund, winner-take-all economy

To target us with behavioral ads, the advertisers bid against each other on the Gamemaker’s advanced real-time automated bidding platform.88 For an example of how this works, let’s focus on display ads auctioned through Google’s Display Network, which, according to the company, “reaches 90% of Internet users worldwide, across millions of websites, news pages, blogs, and Google sites like Gmail and YouTube.”89 Suppose you want to make an Adirondack chair. In googling for free woodworking plans, you choose, from among the links, the website BuildEazy.90 As your web browser, say Safari or Google Chrome, opens the BuildEazy website, for an infinitesimal fraction of a second the opening page has an empty space marked for a display ad. Your browser sends a request to BuildEazy’s ad server to see if the ad space is already committed. Probably not—if BuildEazy’s New Zealand owner is like many small and mid-sized publishers. Within one hundred milliseconds, behind the scenes, without your ever noticing this is happening, one or more auctions will then occur.91 How heated the bidding becomes will depend on how attractive—meaning lucrative—the potential target of the ad appears to be.

George Cox, “Researchers Find Google Collects More Data than Users Think,” The Spectrum, September 3, 2018, https://www.thespectrum.com/story/news/local/mesquite/2018/09/03/p-c-periodicals-google-collects-more-data-than-users-think/1161460002/; Geoffrey A. Fowler, “Goodbye, Chrome: Google’s Web Browser Has Become Spy Software,” Washington Post, June 21, 2019, https://www.washingtonpost.com/technology/2019/06/21/google-chrome-has-become-surveillance-software-its-time-switch/?utm_term=.25cc4b42cd7b (privacy experiment found Chrome ushered more than 11,000 tracker cookies into the tested browser—in a single week). 77.Autorité Report, 57; ACCC Preliminary Report, 48. 78.ACCC Preliminary Report, 48; Autorité Report, 57: “Google and Facebook also collect massive volumes of data generated on third-party sites that can also be used for advertising campaigns.” 79.Autorité Report, 38 (discussing how Google and Facebook can negotiate with ad blocker publishers to receive special treatment and not have their ads blocked [this is the case for Google, which negotiated with Adblock (Eyeo) to be put on a list of authorized ads] and have the technological and human resources to find ways around ad-blocking technologies [this is the case for Facebook, which has developed techniques for rendering ad blockers ineffective]). 80.Bundeskartellamt, “Bundeskartellamt Prohibits Facebook” (noting how Facebook can collect “an almost unlimited amount of any type of user data from third-party sources, allocate these to the users’ Facebook accounts, and use them for numerous data processing processes.


pages: 196 words: 58,122

AngularJS by Brad Green, Shyam Seshadri

combinatorial explosion, continuous integration, Firefox, Google Chrome, Kickstarter, MVC pattern, node package manager, single page application, web application, WebSocket

They allow you to check the state of your application, its models, and everything in between at a given point in time. “Pause on all exceptions” is a very useful option that is built in to most developer tools nowadays. The debugger will halt when an exception occurs, and highlight the line causing it. Batarang And then, of course, we have Batarang. Batarang is a Chrome extension that adds AngularJS knowledge to the built-in Developer Tools suite in Google Chrome. Once installed (you can get it from http://bit.ly/batarangjs), it adds another tab to the Developer Tools panel of Chrome called AngularJS. Have you ever wondered what the current state of your AngularJS application is? What each model, each scope, and each variable currently contains? How is the performance of your application? if you haven’t yet, trust me, you will! And when you do, Batarang is there for you!


pages: 527 words: 147,690

Terms of Service: Social Media and the Price of Constant Connection by Jacob Silverman

23andMe, 4chan, A Declaration of the Independence of Cyberspace, Airbnb, airport security, Amazon Mechanical Turk, augmented reality, basic income, Brian Krebs, California gold rush, call centre, cloud computing, cognitive dissonance, commoditize, correlation does not imply causation, Credit Default Swap, crowdsourcing, don't be evil, drone strike, Edward Snowden, feminist movement, Filter Bubble, Firefox, Flash crash, game design, global village, Google Chrome, Google Glasses, hive mind, income inequality, informal economy, information retrieval, Internet of things, Jaron Lanier, jimmy wales, Kevin Kelly, Kickstarter, knowledge economy, knowledge worker, late capitalism, license plate recognition, life extension, lifelogging, Lyft, Mark Zuckerberg, Mars Rover, Marshall McLuhan, mass incarceration, meta analysis, meta-analysis, Minecraft, move fast and break things, move fast and break things, national security letter, Network effects, new economy, Nicholas Carr, Occupy movement, optical character recognition, payday loans, Peter Thiel, postindustrial economy, prediction markets, pre–internet, price discrimination, price stability, profit motive, quantitative hedge fund, race to the bottom, Ray Kurzweil, recommendation engine, rent control, RFID, ride hailing / ride sharing, self-driving car, sentiment analysis, shareholder value, sharing economy, Silicon Valley, Silicon Valley ideology, Snapchat, social graph, social intelligence, social web, sorting algorithm, Steve Ballmer, Steve Jobs, Steven Levy, TaskRabbit, technoutopianism, telemarketer, transportation-network company, Travis Kalanick, Turing test, Uber and Lyft, Uber for X, uber lyft, universal basic income, unpaid internship, women in the workforce, Y Combinator, Zipcar

We become conditioned to Facebook’s prying eyes, in the same way we became conditioned to Gmail reading our e-mail so as us to provide us contextual ads. (Imagine the backlash if the U.S. Postal Service started opening every letter, reading its contents, and inserting a contextually relevant advertisement. On the other hand, they do already scan the address information—the metadata—of every letter, cataloguing it for America’s intelligence services.) Some browsers, such as Google Chrome and Mozilla’s Firefox, have installed Do Not Track features, which are supposed to stymie the ability of advertisers, targeters, and ad networks to track browsing habits. But users must activate this capability in the browser’s settings, and as of March 2013, only 11.4 percent of desktop Firefox users had activated Do Not Track. There’s an even bigger flaw in this system, though: Web sites are under no obligation to respect these requests, and in fact, most don’t.

April 16, 2012. money.cnn.com/2012/04/16/technology/google-fcc/index.htm. 296 Do Not Track stats: Natasha Singer. “Do-Not-Track Talks Could Be Running Off the Rails.” Bits, a blog on NYTimes.com. May 3, 2013. bits.blogs.nytimes.com/2013/05/03/do-not-track-talks-could-be-running-off-the-rails. 296 Web sites ignoring Do Not Track: David Goldman. “Turning on Do Not Track in Chrome.” “CNNMoney Tech Tumblr.” Nov. 29, 2012. cnnmoneytech.tumblr.com/post/36831929685/turning-on-do-not-trackin-google-chrome. 296 “on life support”: David Goldman. “Do Not Track Is Dying.” CNNMoney. Nov. 30, 2012. money.cnn.com/2012/11/30/technology/do-not-track/index.html. 296 “permit data collection”: Natasha Singer. “Do Not Track? Advertisers Say ‘Don’t Tread on Us.” New York Times. Oct. 13, 2012. nytimes.com/2012/10/14/technology/do-not-track-movement-is-drawing-advertisers-fire.html. 296 Internet Explorer criticism: ibid. 296 “Consumers have a right”: Office of the Press Secretary, White House.


pages: 272 words: 52,204

Android 3. 0 Application Development Cookbook by Kyle Merrifield Mew

Google Chrome, QWERTY keyboard, social web, web application

With this done, run the code on a handset or emulator, select a hyperlink, and then press the button to return to the previous page: 226 Chapter 10 How it works... We have introduced two new classes here: The WebView, which is an extension of View, and the WebViewClient, which belongs to the android.webkit package. The WebView acts like a canvas and is powered by Webkit which is the layout engine behind Google's Chrome and Apple's Safari browsers. It is not within the scope of this book to cover Webkit in any detail but the android.webkit package offers numerous ways to access and control web content from within an application and is well worth exploring. We created just a single button to go back one page with goBack() but WebView has many such functions and we could have buttons calling goForward() and reload() easily.


pages: 678 words: 159,840

The Debian Administrator's Handbook, Debian Wheezy From Discovery to Mastery by Raphaal Hertzog, Roland Mas

bash_history, Debian, distributed generation, do-ocracy, en.wikipedia.org, failed state, Firefox, GnuPG, Google Chrome, Jono Bacon, MITM: man-in-the-middle, NP-complete, QWERTY keyboard, RFC: Request For Comment, Richard Stallman, Skype, SpamAssassin, Valgrind, web application, zero day, Zimmermann PGP

Clients trying to access another virtual host would then display warnings, since the certificate they received didn't match the website they were trying to access. Fortunately, most browsers now work with SNI; this includes Microsoft Internet Explorer starting with version 7.0 (starting on Vista), Mozilla Firefox starting with version 2.0, Apple Safari since version 3.2.1, and all versions of Google Chrome. The Apache package provided in Debian is built with support for SNI; no particular configuration is therefore needed, apart from enabling name-based virtual hosting on port 443 (SSL) as well as the usual port 80. This is a simple matter of editing /etc/apache2/ports.conf so it includes the following: <IfModule mod_ssl.c> NameVirtualHost *:443 Listen 443 </IfModule> Care should also be taken to ensure that the configuration for the first virtual host (the one used by default) does enable TLSv1, since Apache uses the parameters of this first virtual host to establish secure connections, and they had better allow them!

This browser is developed by Google at such a fast pace that maintaining a single version of it across the whole lifespan of Debian Wheezy is unlikely to be possible. Its clear purpose is to make web services more attractive, both by optimizing the browser for performance and by increasing the user's security. The free code that powers Chromium is also used by its proprietary version called Google Chrome. 13.6. Development 13.6.1. Tools for GTK+ on GNOME Anjuta (in the anjuta package) is a development environment optimized for creating GTK+ applications for GNOME. Glade (in the glade package) is an application designed to create GTK+ graphical interfaces for GNOME and save them in an XML file. These XML files can then be loaded by the libglade shared library, which can dynamically recreate the saved interfaces; such a feature can be interesting, for instance for plugins that require dialogs.


pages: 245 words: 64,288

Robots Will Steal Your Job, But That's OK: How to Survive the Economic Collapse and Be Happy by Pistono, Federico

3D printing, Albert Einstein, autonomous vehicles, bioinformatics, Buckminster Fuller, cloud computing, computer vision, correlation does not imply causation, en.wikipedia.org, epigenetics, Erik Brynjolfsson, Firefox, future of work, George Santayana, global village, Google Chrome, happiness index / gross national happiness, hedonic treadmill, illegal immigration, income inequality, information retrieval, Internet of things, invention of the printing press, jimmy wales, job automation, John Markoff, Kevin Kelly, Khan Academy, Kickstarter, knowledge worker, labor-force participation, Lao Tzu, Law of Accelerating Returns, life extension, Loebner Prize, longitudinal study, means of production, Narrative Science, natural language processing, new economy, Occupy movement, patent troll, pattern recognition, peak oil, post scarcity, QR code, race to the bottom, Ray Kurzweil, recommendation engine, RFID, Rodney Brooks, selection bias, self-driving car, slashdot, smart cities, software as a service, software is eating the world, speech recognition, Steven Pinker, strong AI, technological singularity, Turing test, Vernor Vinge, women in the workforce

The development of ‘Robots will steal your job, but that is OK: how to survive the economic collapse and be happy’ was possible thanks to a crowdfunding campaign that I lunched on a website. The software used to write the book was mostly Free and Open Source (FOSS), running on an operating system which heavily relies on FOSS to work.220 The very browser you used to find my book is probably FOSS, too. Google Chrome, Firefox, Safari, they are all FOSS. But also Wikipedia, Creative Commons, many Flickr photos and videos on YouTube and Vimeo are released under some sort of free/open licenses. More recently, there has been a wave of Open Source projects throughout the whole spectrum, even physical objects such as flashlights, sensors, bicycles, solar panels, and 3D printers. Internet communities such as IndieGoGo and Kickstarter are great places to start directly supporting Open Source projects that will help you live a better life.


pages: 288 words: 66,996

Travel While You Work: The Ultimate Guide to Running a Business From Anywhere by Mish Slade

Airbnb, Atul Gawande, business process, Checklist Manifesto, cloud computing, crowdsourcing, Firefox, Google Chrome, Google Hangouts, Inbox Zero, job automation, Kickstarter, low cost airline, Lyft, remote working, side project, Skype, speech recognition, turn-by-turn navigation, uber lyft

Gett (www.worktravel.co/gett) is similar to Lyft and Uber, but the pricing remains consistent (there's no "surge pricing", and you can book cabs in advance. Gett currently operates in the USA, UK, Israel and Russia – but many other countries are coming on board soon. There are also city-specific taxi apps; have a search for "taxi app [city]" and see what comes up (or ask a local). You might find yourself on a lot of foreign websites throughout all this. They'll almost always have an English language option, but if they don't you can use Google Chrome's built-in website translator or go to the Google Translate website (www.worktravel.co/gtranslate): copy and paste the URL of that website into the box. Money In Chapter 2: Get To Grips With Money And Taxes, there's more information about bank accounts, credit cards, debit cards, alternative forms of payment, and ATMs. This is just a mini-section about preparing for a new currency and a (perhaps) different way of spending it than you're used to – because goodness knows we've been caught out by such seemingly simple things as "buying stuff at the supermarket".


The Ethical Algorithm: The Science of Socially Aware Algorithm Design by Michael Kearns, Aaron Roth

23andMe, affirmative action, algorithmic trading, Alvin Roth, Bayesian statistics, bitcoin, cloud computing, computer vision, crowdsourcing, Edward Snowden, Elon Musk, Filter Bubble, general-purpose programming language, Google Chrome, ImageNet competition, Lyft, medical residency, Nash equilibrium, Netflix Prize, p-value, Pareto efficiency, performance metric, personalized medicine, pre–internet, profit motive, quantitative trading / quantitative finance, RAND corporation, recommendation engine, replication crisis, ride hailing / ride sharing, Robert Bork, Ronald Coase, self-driving car, short selling, sorting algorithm, speech recognition, statistical model, Stephen Hawking, superintelligent machines, telemarketer, Turing machine, two-sided market, Vilfredo Pareto

What we advocate is scientific methodology, driven by precise definitions, and not any particular existing technology. At its best, this methodology can bear valuable fruit. Differential privacy is a case in point. Over the past fifteen years, differential privacy has transitioned from a purely academic curiosity among theoretical computer scientists to a maturing technology trusted with protecting the statistical disclosures for the 2020 US Census and deployed at a large scale on iPhones and Google Chrome web browsers. Differential privacy offered a change from its predecessors in its precise definition of what it was supposed to guarantee, and this greatly aided its development. Of course, differential privacy does not promise us everything that we might mean when we use the English word privacy; no single definition could. But the precision of its definition aids us in delineating exactly when its promises are, and are not, what we want.


pages: 260 words: 67,823

Always Day One: How the Tech Titans Plan to Stay on Top Forever by Alex Kantrowitz

accounting loophole / creative accounting, Albert Einstein, AltaVista, Amazon Web Services, augmented reality, Automated Insights, autonomous vehicles, Bernie Sanders, Clayton Christensen, cloud computing, collective bargaining, computer vision, Donald Trump, drone strike, Elon Musk, Firefox, Google Chrome, hive mind, income inequality, Infrastructure as a Service, inventory management, iterative process, Jeff Bezos, job automation, Jony Ive, knowledge economy, Lyft, Mark Zuckerberg, Menlo Park, new economy, Peter Thiel, QR code, ride hailing / ride sharing, self-driving car, Silicon Valley, Skype, Snapchat, Steve Ballmer, Steve Jobs, Steve Wozniak, Tim Cook: Apple, uber lyft, wealth creators, zero-sum game

it introduced Google Calendar: Sjogreen, Carl. “It’s About Time.” Official Google Blog, April 13, 2006. https://googleblog.blogspot.com/2006/04/its-about-time.html. it introduced Google Spreadsheets: Rochelle, Jonathan. “It’s Nice to Share.” Official Google Blog, June 6, 2006. https://googleblog.blogspot.com/2006/06/its-nice-to-share.html. Pichai said as he introduced Chrome: “Sundar Pichai Launching Google Chrome.” YouTube, February 19, 2017. https://www.youtube.com/watch?v=3_Ye38fBQMo. Chrome debuted in 2008: Doerr, John E. Measure What Matters: How Google, Bono, and the Gates Foundation Rock the World with OKRs. New York: Portfolio, 2018. ceased developing Internet Explorer: Newcomb, Alyssa. “Microsoft: Drag Internet Explorer to the Trash. No, Really.” Fortune. Fortune, February 8, 2019. https://fortune.com/2019/02/08/download-internet-explorer-11-end-of-life-microsoft-edge/?


pages: 231 words: 71,248

Shipping Greatness by Chris Vander Mey

corporate raider, don't be evil, en.wikipedia.org, fudge factor, Google Chrome, Google Hangouts, Gordon Gekko, Jeff Bezos, Kickstarter, Lean Startup, minimum viable product, performance metric, recommendation engine, Skype, slashdot, sorting algorithm, source of truth, Steve Jobs, Superbowl ad, web application

When I worked on Google Pack in 2007 and 2008, we knew that users rarely applied software updates, because the experience of applying updates was complicated. And because the users’ computers weren’t updated, users had slow systems and security vulnerabilities, and were generally hassling their kids during holiday breaks. Rather than trying to optimize each complicated user experience around updates, we built a system, subsequently used by Google Toolbar and Google Chrome, that enabled us to update all software, including third-party applications, without bothering users. This was a much harder problem to solve, especially in light of the myriad installation processes that third-party software requires. But because we built this software, we were able to reach and help hundreds of millions of users. The software was eventually open-sourced as Google Update. Based on its broad usage and utility as a platform, I think this was a highly successful product.


pages: 260 words: 76,223

Ctrl Alt Delete: Reboot Your Business. Reboot Your Life. Your Future Depends on It. by Mitch Joel

3D printing, Amazon Web Services, augmented reality, call centre, clockwatching, cloud computing, Firefox, future of work, ghettoisation, Google Chrome, Google Glasses, Google Hangouts, Khan Academy, Kickstarter, Kodak vs Instagram, Lean Startup, Marc Andreessen, Mark Zuckerberg, Network effects, new economy, Occupy movement, place-making, prediction markets, pre–internet, QR code, recommendation engine, Richard Florida, risk tolerance, self-driving car, Silicon Valley, Silicon Valley startup, Skype, social graph, social web, Steve Jobs, Steve Wozniak, Thomas L Friedman, Tim Cook: Apple, Tony Hsieh, white picket fence, WikiLeaks, zero-sum game

Is there an example of a firm that didn’t completely implode everything and start over yet didn’t just sit back and let the evolution of business send them toward extinction? The answer is, of course, yes. Instagram started out as a very derivative copy of foursquare before switching its focus to mobile photos with a social edge. Google continues to fascinate as the search engine expands into areas like online video (YouTube), mobile (Android and the Nexus line of devices), email services (Gmail), Web browsers (Google Chrome), online social networking (Google+), and beyond (self-driving cars and Google Glasses). Amazon continues to squiggle by pushing beyond selling books online into e-readers (Kindle), selling shoes (Zappos), offering cloud computing technology (Amazon Web Services), and beyond. When you actually start digging down deep into how these companies have evolved and stayed relevant, you won’t see business models that look like anything from the playbooks of Kodak or RIM.


pages: 420 words: 79,867

Developing Backbone.js Applications by Addy Osmani

Airbnb, anti-pattern, create, read, update, delete, don't repeat yourself, Firefox, full text search, Google Chrome, Khan Academy, Kickstarter, loose coupling, MVC pattern, node package manager, pull request, Ruby on Rails, side project, single page application, web application

The callback will be called with an error object and an array of found objects. If there was no error we return the array of objects to the client using the send function of the response object, otherwise we log the error to the console. To test our API we need to do a little typing in a JavaScript console. Restart node and go to localhost:4711 in your browser. Open up the JavaScript console. If you are using Google Chrome, go to View->Developer->JavaScript Console. If you are using Firefox, install Firebug and go to View->Firebug. Most other browsers will have a similar console. In the console type the following: jQuery.get( '/api/books/', function( data, textStatus, jqXHR ) { console.log( 'Get response:' ); console.dir( data ); console.log( textStatus ); console.dir( jqXHR ); }); …and press enter and you should get something like this: Here I used jQuery to make the call to our REST API, since it was already loaded on the page.


pages: 319 words: 72,969

Nginx HTTP Server Second Edition by Clement Nedelcu

Debian, fault tolerance, Firefox, Google Chrome, Ruby on Rails, web application

It turns out to be particularly useful in situations resembling the following: server { […] server_name website.com; location /documents/ { type { } default_type text/plain; } } By default, if the client attempts to access http://website.com//documents/ (note the // in the middle of the URI), Nginx will return a 404 Not found HTTP error. If you enable this directive, the two slashes will be merged into one and the location pattern will be matched. Syntax: on or off Default value: off msie_padding Context: http, server, location This directive functions with the Microsoft Internet Explorer (MSIE) and Google Chrome browser families. In the case of error pages (with error code 400 or higher), if the length of the response body is less than 512 bytes, these browsers will display their own error page, sometimes at the expense of a more informative page provided by the server. If you enable this option, the body of responses with a status code of 400 or higher will be padded to 512 bytes. Syntax: on or off Default value: off [ 90 ] www.it-ebooks.info Chapter 3 msie_refresh Context: http, server, location It is another MSIE-specific directive that will take effect in the case of HTTP response codes 301 Moved permanently and 302 Moved temporarily.


pages: 302 words: 74,878

A Curious Mind: The Secret to a Bigger Life by Brian Grazer, Charles Fishman

4chan, Airbnb, Albert Einstein, Apple II, Asperger Syndrome, Bonfire of the Vanities, en.wikipedia.org, game design, Google Chrome, Howard Zinn, Isaac Newton, Jeff Bezos, Kickstarter, Norman Mailer, orbital mechanics / astrodynamics, out of africa, RAND corporation, Ronald Reagan, Silicon Valley, stem cell, Steve Jobs, Steve Wozniak, the scientific method, Tim Cook: Apple

And what has now become an influential example of online design usability was so baffling when it was first unveiled that people couldn’t figure out how to use it. But the home page isn’t really Google at all. Google is the vast array of computer code and algorithms that allow the company to search the web and present those results. There are millions of lines of code behind a Google search—and millions more behind Google mail, Google Chrome, Google ads. If we can envision dozens, hundreds of ways of designing a search page, imagine for a moment the ways that all that computer code could be written. It’s like imagining the ways a book can be written, like imagining the ways a story could be told on screen. For Google, it is a story, just written in zeroes and ones. That’s why asking questions at work, instead of giving orders, is so valuable.


pages: 1,380 words: 190,710

Building Secure and Reliable Systems: Best Practices for Designing, Implementing, and Maintaining Systems by Heather Adkins, Betsy Beyer, Paul Blankinship, Ana Oprea, Piotr Lewandowski, Adam Stubblefield

anti-pattern, barriers to entry, bash_history, business continuity plan, business process, Cass Sunstein, cloud computing, continuous integration, correlation does not imply causation, create, read, update, delete, cryptocurrency, cyber-physical system, database schema, Debian, defense in depth, DevOps, Edward Snowden, fault tolerance, fear of failure, general-purpose programming language, Google Chrome, Internet of things, Kubernetes, load shedding, margin call, microservices, MITM: man-in-the-middle, performance metric, pull request, ransomware, revision control, Richard Thaler, risk tolerance, self-driving car, Skype, slashdot, software as a service, source of truth, Stuxnet, Turing test, undersea cable, uranium enrichment, Valgrind, web application, Y2K, zero day

Implementation will always have a long tail, so figure out a strategy that makes the most sense for your situation. If a change is not required (by regulation, or for other reasons), achieving 80% or 90% adoption can have a measurable impact on reducing security risk, and should therefore be considered a success. Example: Increasing HTTPS usage HTTPS adoption on the web has increased dramatically in the last decade, driven by the concerted efforts of the Google Chrome team, Let’s Encrypt, and other organizations. HTTPS provides important confidentiality and integrity guarantees for users and websites, and is critical to the web ecosystem’s success—it’s now required as part of HTTP/2. To promote HTTPS use across the web, we conducted extensive research to build a strategy, contacted site owners using a variety of outreach channels, and set up powerful incentives for them to migrate.

Client-side and Windows software were different from most of Google’s existing product and system offerings at the time, so limited transferable security expertise was available within Google’s central security team. Since the project intended to begin and remain predominantly open source, it had unique development and operational requirements and could not rely on Google’s corporate security practices or solutions. This browser project ultimately launched as Google Chrome in 2008. Since then, Chrome has been credited as redefining the standard for online security and has become one of the world’s most popular browsers. Over the past decade, Chrome’s security-focused organization has gone through four rough stages of evolution: Team v0.1 Chrome did not formally establish a security team before its official launch in 2008, but relied on expertise distributed within the engineering team, along with consulting from Google’s central security team and third-party security vendors.


pages: 275 words: 84,418

Dogfight: How Apple and Google Went to War and Started a Revolution by Fred Vogelstein

Apple II, Ben Horowitz, cloud computing, commoditize, disintermediation, don't be evil, Dynabook, Firefox, Google Chrome, Google Glasses, Googley, John Markoff, Jony Ive, Marc Andreessen, Mark Zuckerberg, Peter Thiel, pre–internet, Silicon Valley, Silicon Valley startup, Skype, software patent, spectrum auction, Steve Ballmer, Steve Jobs, Steve Wozniak, Steven Levy, Tim Cook: Apple, web application, zero-sum game

There are half a dozen good mapping applications. Google needs Samsung as much as Samsung needs Google now. Without Google apps on Samsung phones—which are now half of all Android sales—half of Google’s mobile advertising base disappears. Andy Rubin is no longer the Google executive to query about Android’s future. In early 2013 he handed Android’s reigns to Sundar Pichai, who had also been running Google Chrome. Pichai has long been a favorite of Page’s and is well regarded as a seasoned manager. That is something Android needs now that it has grown to include hundreds of Googlers worldwide. Such leadership is something Rubin, more of an entrepreneur than an executive, didn’t enjoy providing, according to friends. Indeed, when asked about Google’s shifting alliance with Samsung in June 2013, Pichai demonstrated his fluency at tackling such complicated questions.


pages: 270 words: 79,992

The End of Big: How the Internet Makes David the New Goliath by Nicco Mele

4chan, A Declaration of the Independence of Cyberspace, Airbnb, Amazon Web Services, Any sufficiently advanced technology is indistinguishable from magic, Apple's 1984 Super Bowl advert, barriers to entry, Berlin Wall, big-box store, bitcoin, business climate, call centre, Cass Sunstein, centralized clearinghouse, Chelsea Manning, citizen journalism, cloud computing, collaborative consumption, collaborative editing, commoditize, creative destruction, crony capitalism, cross-subsidies, crowdsourcing, David Brooks, death of newspapers, disruptive innovation, Donald Trump, Douglas Engelbart, Douglas Engelbart, en.wikipedia.org, Exxon Valdez, Fall of the Berlin Wall, Filter Bubble, Firefox, global supply chain, Google Chrome, Gordon Gekko, Hacker Ethic, Jaron Lanier, Jeff Bezos, jimmy wales, John Markoff, Julian Assange, Kevin Kelly, Khan Academy, Kickstarter, Lean Startup, Mark Zuckerberg, minimum viable product, Mitch Kapor, Mohammed Bouazizi, Mother of all demos, Narrative Science, new economy, Occupy movement, old-boy network, peer-to-peer, period drama, Peter Thiel, pirate software, publication bias, Robert Metcalfe, Ronald Reagan, Ronald Reagan: Tear down this wall, sharing economy, Silicon Valley, Skype, social web, Steve Jobs, Steve Wozniak, Stewart Brand, Stuxnet, Ted Nelson, Telecommunications Act of 1996, telemarketer, The Wisdom of Crowds, transaction costs, uranium enrichment, Whole Earth Catalog, WikiLeaks, Zipcar

More than 10,000 people donated an average of $25 each over the course of about ten days. On December 16, 2005, the New York Times included a two-page spread advertising the Firefox browser—with the name of every single one of the 10,000 donors who funded the ad in tiny type.27 Internet Explorer lost dramatic market share to Firefox, and eventually lost market dominance to Firefox and a host of other browsers like Google Chrome.28 Think of how incredible it is: One of the largest—and wealthiest—companies in the world (Microsoft) lost its market dominance to a free product made by a bunch of volunteers, led by a nineteen-year-old with a marketing budget funded by a large number of other volunteers. Firefox is only the tip of the iceberg; almost every major software product out there has a significant open-source competitor, with lots of small firms—like mine—helping to implement and maintain that software for other companies.


pages: 267 words: 82,580

The Dark Net by Jamie Bartlett

3D printing, 4chan, bitcoin, blockchain, brain emulation, carbon footprint, creative destruction, crowdsourcing, cryptocurrency, deindustrialization, Edward Snowden, Filter Bubble, Francis Fukuyama: the end of history, global village, Google Chrome, Howard Rheingold, Internet of things, invention of writing, Johann Wolfgang von Goethe, Julian Assange, Kuwabatake Sanjuro: assassination market, life extension, litecoin, longitudinal study, Mark Zuckerberg, Marshall McLuhan, moral hazard, moral panic, Occupy movement, pre–internet, Ray Kurzweil, Ross Ulbricht, Satoshi Nakamoto, Skype, slashdot, technological singularity, technoutopianism, Ted Kaczynski, The Coming Technological Singularity, Turing test, Vernor Vinge, WikiLeaks, Zimmermann PGP

Langford tells me of a ‘revenge porn’ website that is hosted in Germany, where he estimates at least half the videos and images are of people – mostly British girls – under the age of eighteen. He’s been trying to get the German internet service provider to act for weeks, but to no avail. The overwhelming majority of the material investigated by the IWF is on the surface web, accessible with a normal browser like Google Chrome, usually hosted in countries where domestic police are uninterested, incapable or under-resourced. Often, a link will take users to a ‘cyber-locker’, a hacked website where files are stored without the owner realising. Around a quarter of all referrals received by the IWF are from commercial sites, which ask for credit card payment for access and are advertised through spam mail. The IWF doesn’t investigate URLs of Tor Hidden Services.


pages: 325 words: 85,599

Professional Node.js: Building Javascript Based Scalable Software by Pedro Teixeira

en.wikipedia.org, Firefox, Google Chrome, node package manager, platform as a service, web application, WebSocket

Now that you know what you did wrong, you can exit the debugger by hitting Ctrl-D and fix the problem by removing the var keyword from line 8: var a = 0; function init() { a = 1; } function incr() { a = a + 1; } init(); console.log('a before: %d', a); incr(); console.log('a after: %d', a); Run the application again: $ node my_app.js a before: 1 a after: 2 Now the output is what you expected; the bug is fixed. USING NODE INSPECTOR Another debugging tool you might find helpful is Node Inspector. Instead of using a text-only debugger, this one provides a graphical interface by bringing the full-fledged Google Chrome inspector to your Node app using a web browser. You can install Node Inspector globally like this: $ npm install -g node-inspector Node Inspector runs as a daemon by default on port 8080. You can launch it like this: $ node-inspector & This sends the node-inspector process to the background. Next you need to fire up your app, by using the --debug or --debug-brk option on the Node executable like this: $ node --debug-brk my_app.js The --debug-brk option makes your app break on the first line, whereas the --debug option simply enables debugging.


pages: 283 words: 85,824

The People's Platform: Taking Back Power and Culture in the Digital Age by Astra Taylor

A Declaration of the Independence of Cyberspace, American Legislative Exchange Council, Andrew Keen, barriers to entry, Berlin Wall, big-box store, Brewster Kahle, citizen journalism, cloud computing, collateralized debt obligation, Community Supported Agriculture, conceptual framework, corporate social responsibility, creative destruction, cross-subsidies, crowdsourcing, David Brooks, digital Maoism, disintermediation, don't be evil, Donald Trump, Edward Snowden, Fall of the Berlin Wall, Filter Bubble, future of journalism, George Gilder, Google Chrome, Google Glasses, hive mind, income inequality, informal economy, Internet Archive, Internet of things, invisible hand, Jane Jacobs, Jaron Lanier, Jeff Bezos, job automation, John Markoff, Julian Assange, Kevin Kelly, Kickstarter, knowledge worker, Mark Zuckerberg, means of production, Metcalfe’s law, Naomi Klein, Narrative Science, Network effects, new economy, New Journalism, New Urbanism, Nicholas Carr, oil rush, peer-to-peer, Peter Thiel, plutocrats, Plutocrats, post-work, pre–internet, profit motive, recommendation engine, Richard Florida, Richard Stallman, self-driving car, shareholder value, sharing economy, Silicon Valley, Silicon Valley ideology, slashdot, Slavoj Žižek, Snapchat, social graph, Steve Jobs, Stewart Brand, technoutopianism, trade route, Whole Earth Catalog, WikiLeaks, winner-take-all economy, Works Progress Administration, young professional

Understanding what sites people visit, what content they view, what products they buy and even their geographic coordinates will allow advertisers to better target individual consumers. And more of that knowledge will reside with technology companies than with content producers. Google, for instance, will know much more about each user than will the proprietor of any one news site. It can track users’ online behavior through its Droid software on mobile phones, its Google Chrome Web browser, its search engine and its new tablet software. The ability to target users is why Apple wants to control the audience data that goes through the iPad. And the company that may come to know the most about you is Facebook, with which users freely share what they like, where they go and who their friends are.5 For those who desire to create art and culture—or “content,” to use that horrible, flattening word—the shift is significant.


pages: 284 words: 84,169

Talk on the Wild Side by Lane Greene

Affordable Care Act / Obamacare, Albert Einstein, Boris Johnson, Donald Trump, ending welfare as we know it, experimental subject, facts on the ground, framing effect, Google Chrome, illegal immigration, invisible hand, meta analysis, meta-analysis, moral panic, natural language processing, obamacare, Ronald Reagan, Sapir-Whorf hypothesis, Snapchat, speech recognition, Steven Pinker, Turing test, Wall-E

As language changes, the speakers, without being told to, change their behaviour subtly too, making sure that the language is never left with its needs unmet. On Twitter, the sidebar to the left of the screen offers a list of other users that you might be interested in, under the banner “Who to follow”. For those who feel that keeping whom is critical to keeping English expressive and clear, this is a travesty. And such people are nothing if not motivated: there is an extension for Google Chrome that will, for anyone who installs it, turn “Who to follow” into “Whom to follow”. The extension has 575 users and a nearly perfect user rating. Its creator is Thomas Steiner, a German systems analyst at Google. Steiner explained to me via Twitter that his English teachers worked hard to drill whom into him, and that it seemed a crime to replace a “historically grown” bit of English grammar with a “miserable who”.


pages: 297 words: 83,651

The Twittering Machine by Richard Seymour

4chan, anti-communist, augmented reality, Bernie Sanders, Cal Newport, Cass Sunstein, Chelsea Manning, citizen journalism, colonial rule, correlation does not imply causation, credit crunch, crowdsourcing, don't be evil, Donald Trump, Elon Musk, Erik Brynjolfsson, Filter Bubble, Google Chrome, Google Earth, hive mind, informal economy, Internet of things, invention of movable type, invention of writing, Jaron Lanier, Jony Ive, Kevin Kelly, knowledge economy, late capitalism, liberal capitalism, Mark Zuckerberg, Marshall McLuhan, meta analysis, meta-analysis, Mohammed Bouazizi, moral panic, move fast and break things, move fast and break things, Network effects, new economy, packet switching, patent troll, Philip Mirowski, post scarcity, post-industrial society, RAND corporation, Rat Park, rent-seeking, replication crisis, sentiment analysis, Shoshana Zuboff, Silicon Valley, Silicon Valley ideology, smart cities, Snapchat, Steve Jobs, Stewart Brand, Stuxnet, TaskRabbit, technoutopianism, the scientific method, Tim Cook: Apple, undersea cable, upwardly mobile, white flight, Whole Earth Catalog, WikiLeaks

And it radically accelerates the existing drive to infuse journalism with the imperatives of amusement and entertainment. For the advertisers, this results in much better data. Attention is organised by far more exact demographics, indexed to clicks, searches, shares, messages, views, reacts, scrolls, pauses: the complete digital package. Google has an even more comprehensive set of tools. It is not just the search engine which allows Google to see what people are up to online. They have the Google Chrome browser, their Gmail service, their DNS server, YouTube, website analytics, Google Translate, Google Reader, Google Maps and Google Earth. They can analyse messages, contacts, travel routes and the shops visited by users. They have a deal with Twitter, giving them access to all tweets. Users hand over immense amounts of raw material to the platforms every time they access the app. This new revenue system is transforming both the consumption and production of information, ripping it out of the control of Cold War-era broadcasters and print giants allied to the liberal state.


pages: 302 words: 85,877

Cult of the Dead Cow: How the Original Hacking Supergroup Might Just Save the World by Joseph Menn

4chan, A Declaration of the Independence of Cyberspace, Apple II, autonomous vehicles, Berlin Wall, Bernie Sanders, bitcoin, Chelsea Manning, commoditize, corporate governance, Donald Trump, dumpster diving, Edward Snowden, Firefox, Google Chrome, Haight Ashbury, Internet of things, Jacob Appelbaum, Jason Scott: textfiles.com, John Markoff, Julian Assange, Mark Zuckerberg, Mitch Kapor, Naomi Klein, Peter Thiel, pirate software, pre–internet, Ralph Nader, ransomware, Richard Stallman, Robert Mercer, self-driving car, side project, Silicon Valley, Skype, slashdot, Steve Jobs, Steve Wozniak, Steven Levy, Stewart Brand, Stuxnet, Whole Earth Catalog, WikiLeaks, zero day

“I hate Adobe”: A large proportion of criminal and geopolitical malware depended on Flash vulnerabilities for years. The bad security was one of the reasons that Steve Jobs killed Apple support for it. In 2018, Flash is nearing end of life. “Gallagher gave him a shout-out”:Hugh Gallagher, “White Boy Rocks Harlem,” posted by zpin, YouTube video, 2:40, June 28, 2006, www.youtube.com/watch?v=Hv1ihFI5iKI. “In four years, the group found 1,400 vulnerabilities”: Figures disclosed by Project Zero and Google Chrome overseer Parisa Tabriz at her Black Hat keynote in 2018, covered here: Seth Rosenblatt, “Google’s ‘Security Princess’ Calls for Stronger Collaboration,” Parallax, August 8, 2018, www.the-parallax.com/2018/08/08/google-security-princess-parisa-tabriz-black-hat/. Chapter 13: The Congressman and the Trolls “a punk band, Foss”: The band also featured Cedric Bixler-Zavala, later lead singer of Grammy Award–winning the Mars Volta.


pages: 502 words: 82,170

The Book of CSS3 by Peter Gasston

centre right, disruptive innovation, en.wikipedia.org, Firefox, Google Chrome, web application, wikimedia commons

Back in 2006, I started CSS3.info, and Peter joined me in writing posts about the development of the standard and real-life examples of what it looked like in browsers. Although I started the site, Peter was always the most prolific writer, and it’s only fitting that while I wrote this foreword, he wrote the book. CSS3 has finally gone mainstream. With the new age of browsers (such as Firefox 4, Google Chrome, and Internet Explorer 9), we as a web design community are finally getting the power and flexibility we’ve been waiting for. We can now manage media queries for different browsers, have smarter background images, and handle fonts in a way that doesn’t drive us nuts. If you plan on using CSS3, this book is the most hands-on guide you’ll find. It shows you what works and what doesn’t, and no caveat is forgotten.


pages: 343 words: 91,080

Uberland: How Algorithms Are Rewriting the Rules of Work by Alex Rosenblat

"side hustle", Affordable Care Act / Obamacare, Airbnb, Amazon Mechanical Turk, autonomous vehicles, barriers to entry, basic income, big-box store, call centre, cashless society, Cass Sunstein, choice architecture, collaborative economy, collective bargaining, creative destruction, crowdsourcing, disruptive innovation, don't be evil, Donald Trump, en.wikipedia.org, future of work, gender pay gap, gig economy, Google Chrome, income inequality, information asymmetry, Jaron Lanier, job automation, job satisfaction, Lyft, marginal employment, Mark Zuckerberg, move fast and break things, Network effects, new economy, obamacare, performance metric, Peter Thiel, price discrimination, Ralph Waldo Emerson, regulatory arbitrage, ride hailing / ride sharing, self-driving car, sharing economy, Silicon Valley, Silicon Valley ideology, Skype, social software, stealth mode startup, Steve Jobs, strikebreaker, TaskRabbit, Tim Cook: Apple, transportation-network company, Travis Kalanick, Uber and Lyft, Uber for X, uber lyft, union organizing, universal basic income, urban planning, Wolfgang Streeck, Zipcar

They have learned that what passengers are typically willing to pay is related to the computer they have (Mac users get higher prices than non-Mac users), the type of web browser they use, and their physical location when they sign in.10 (Incidentally, Orbitz is owned by Expedia, and the former CEO of Expedia became the new CEO of Uber in August 2017;11 the former CEO of Orbitz, Barney Harford, was hired by Uber to be the chief operating officer a few months later.)12 Although some argue that users should have a vested privacy interest in their phone’s battery data or their geolocation, these variables are absorbed into pricing calculations by many software services. Data-driven sorting and customer segmentation are used across a variety of industries. For example, research by Evolv, a workplace data company, suggests that applicants who installed new web browsers onto their computers, like Google Chrome, rather than using the default, like Safari, were 15 percent more likely to stay at their jobs.13 We can imagine that all sorts of personal data could be used to signal to platforms how we might perform as workers or what we’re willing to pay as customers. How information is represented to us is a source of great tension in technology culture beyond Uber. For example, we implicitly expect GPS navigation systems like Google Maps to have full and accurate maps, and we trust these services to produce accurate route recommendations for us.


pages: 307 words: 88,180

AI Superpowers: China, Silicon Valley, and the New World Order by Kai-Fu Lee

AI winter, Airbnb, Albert Einstein, algorithmic trading, artificial general intelligence, autonomous vehicles, barriers to entry, basic income, business cycle, cloud computing, commoditize, computer vision, corporate social responsibility, creative destruction, crony capitalism, Deng Xiaoping, deskilling, Donald Trump, Elon Musk, en.wikipedia.org, Erik Brynjolfsson, full employment, future of work, gig economy, Google Chrome, happiness index / gross national happiness, if you build it, they will come, ImageNet competition, income inequality, informal economy, Internet of things, invention of the telegraph, Jeff Bezos, job automation, John Markoff, Kickstarter, knowledge worker, Lean Startup, low skilled workers, Lyft, mandatory minimum, Mark Zuckerberg, Menlo Park, minimum viable product, natural language processing, new economy, pattern recognition, pirate software, profit maximization, QR code, Ray Kurzweil, recommendation engine, ride hailing / ride sharing, risk tolerance, Robert Mercer, Rodney Brooks, Rubik’s Cube, Sam Altman, Second Machine Age, self-driving car, sentiment analysis, sharing economy, Silicon Valley, Silicon Valley ideology, Silicon Valley startup, Skype, special economic zone, speech recognition, Stephen Hawking, Steve Jobs, strong AI, The Future of Employment, Travis Kalanick, Uber and Lyft, uber lyft, universal basic income, urban planning, Y Combinator

Convinced the raid was orchestrated by Tencent, Zhou drove straight to the airport and fled to Hong Kong to formulate his next move. Finally, Tencent took the nuclear option: on November 3, 2010, Tencent announced that it would block the use of QQ messaging on any computer that had Qihoo 360, forcing users to choose between the two products. It was the equivalent of Facebook telling users it would block Facebook access for anyone using Google Chrome. The companies were waging total war against each other, with Chinese users’ computers as the battleground. Qihoo appealed to users for a three-day “QQ strike,” and the government finally stepped in to separate the bloodied combatants. Within a week both QQ and Qihoo 360 had returned to normal functioning, but the scars from these kinds of battles lingered with the entrepreneurs and companies.


pages: 401 words: 93,256

Alchemy: The Dark Art and Curious Science of Creating Magic in Brands, Business, and Life by Rory Sutherland

3D printing, Alfred Russel Wallace, barriers to entry, basic income, Black Swan, butterfly effect, California gold rush, call centre, Captain Sullenberger Hudson, Cass Sunstein, cognitive dissonance, Daniel Kahneman / Amos Tversky, Dava Sobel, delayed gratification, Donald Trump, double helix, Downton Abbey, Elon Musk, Firefox, George Akerlof, gig economy, Google Chrome, Google X / Alphabet X, Grace Hopper, Hyperloop, Ignaz Semmelweis: hand washing, IKEA effect, information asymmetry, James Dyson, John Harrison: Longitude, loss aversion, low cost airline, Mason jar, Murray Gell-Mann, Peter Thiel, placebo effect, race to the bottom, Richard Feynman, Richard Thaler, Rory Sutherland, shareholder value, Silicon Valley, social intelligence, Steve Jobs, supply-chain management, the map is not the territory, The Market for Lemons, The Wealth of Nations by Adam Smith, ultimatum game, universal basic income, Upton Sinclair, US Airways Flight 1549, Veblen good

With AI, of course, you cannot always be sure of its reasoning: it may have noticed that more senior employees were men, and so taken maleness as a predictor of success. Another company using a big data approach discovered a variable that was vastly more predictive of a good employee than any other: it wasn’t their level of educational attainment or a variable on a personality test – no, it turned out that the best employees had overwhelmingly made their online application using either Google Chrome or Firefox as their browser, rather than the standard one supplied on their computers. While I can see that replacing a browser on a laptop may be indicative of certain qualities – conscientiousness, technological competence and the willingness to defer gratification, to name just three – is it acceptable to use this information to discriminate between employees? The company decided that it wasn’t, in part because it would have been unfair to less privileged applicants, who may have had to use a library computer to apply.


pages: 326 words: 103,170

The Seventh Sense: Power, Fortune, and Survival in the Age of Networks by Joshua Cooper Ramo

Airbnb, Albert Einstein, algorithmic trading, barriers to entry, Berlin Wall, bitcoin, British Empire, cloud computing, crowdsourcing, Danny Hillis, defense in depth, Deng Xiaoping, drone strike, Edward Snowden, Fall of the Berlin Wall, Firefox, Google Chrome, income inequality, Isaac Newton, Jeff Bezos, job automation, Joi Ito, market bubble, Menlo Park, Metcalfe’s law, Mitch Kapor, natural language processing, Network effects, Norbert Wiener, Oculus Rift, packet switching, Paul Graham, price stability, quantitative easing, RAND corporation, recommendation engine, Republic of Letters, Richard Feynman, road to serfdom, Robert Metcalfe, Sand Hill Road, secular stagnation, self-driving car, Silicon Valley, Skype, Snapchat, social web, sovereign wealth fund, Steve Jobs, Steve Wozniak, Stewart Brand, Stuxnet, superintelligent machines, technological singularity, The Coming Technological Singularity, The Wealth of Nations by Adam Smith, too big to fail, Vernor Vinge, zero day

In the years after Arthur’s paper was published, billions of us ran madly along a course he had anticipated: We crashed our way as fast as possible into those single, winning businesses, rewarding them with near-monopoly positions in exchange for the benefits of being “inside.” In the twenty years since Arthur spotted increasing returns in software, nine-billion-user worlds have emerged—and others are not far behind. Microsoft Office and Windows, Google Search, Google Maps, Facebook, WhatsApp, Google Chrome, YouTube, and Android all have more than a billion users, and each exhibits that appealing “If you use it, I’ll use it!” logic. Profits and power, just as Arthur would have expected, followed right along. It was just as Arthur predicted: If ten people use WhatsApp or Facebook or YouTube, it’s hard for the eleventh to do something different. And when the eleventh person joins in, they make it harder still for the twelfth to walk a unique path.


pages: 417 words: 97,577

The Myth of Capitalism: Monopolies and the Death of Competition by Jonathan Tepper

Affordable Care Act / Obamacare, air freight, Airbnb, airline deregulation, bank run, barriers to entry, Berlin Wall, Bernie Sanders, big-box store, Bob Noyce, business cycle, Capital in the Twenty-First Century by Thomas Piketty, citizen journalism, Clayton Christensen, collapse of Lehman Brothers, collective bargaining, computer age, corporate raider, creative destruction, Credit Default Swap, crony capitalism, diversification, don't be evil, Donald Trump, Double Irish / Dutch Sandwich, Edward Snowden, Elon Musk, en.wikipedia.org, eurozone crisis, Fall of the Berlin Wall, family office, financial innovation, full employment, German hyperinflation, gig economy, Gini coefficient, Goldman Sachs: Vampire Squid, Google bus, Google Chrome, Gordon Gekko, income inequality, index fund, Innovator's Dilemma, intangible asset, invisible hand, Jeff Bezos, John Nash: game theory, John von Neumann, Joseph Schumpeter, Kenneth Rogoff, late capitalism, London Interbank Offered Rate, low skilled workers, Mark Zuckerberg, Martin Wolf, means of production, merger arbitrage, Metcalfe's law, multi-sided market, mutually assured destruction, Nash equilibrium, Network effects, new economy, Northern Rock, offshore financial centre, passive investing, patent troll, Peter Thiel, plutocrats, Plutocrats, prediction markets, prisoner's dilemma, race to the bottom, rent-seeking, road to serfdom, Robert Bork, Ronald Reagan, Sam Peltzman, secular stagnation, shareholder value, Silicon Valley, Skype, Snapchat, Social Responsibility of Business Is to Increase Its Profits, Steve Jobs, The Chicago School, The Wealth of Nations by Adam Smith, Thomas Kuhn: the structure of scientific revolutions, too big to fail, undersea cable, Vanguard fund, very high income, wikimedia commons, William Shockley: the traitorous eight, zero-sum game

Its Android mobile operating system powers most smartphones in the world with a whopping 85% market share.7 It has tied the Android operating system to its own search engine, and it has tied Android to its own app store, effectively becoming the gatekeeper to what apps and companies consumers can access. It uses its dominance in browsers to its own advantage as well. Its Chrome browser has 60% market share globally.8 Google's Chrome browser will block certain types of online advertisements. It is also now effectively the gatekeeper to what kind of ads consumers can see. Mysteriously, the ads that are blocked are the kinds its competitors use, but not its own. Google argues its new ad blocking is the work of a collective, industry-wide effort to get rid of annoying ads. However, through its dominant position with Chrome browsers, Google can block competitor ads and allow its own.


The Art of SEO by Eric Enge, Stephan Spencer, Jessie Stricchiola, Rand Fishkin

AltaVista, barriers to entry, bounce rate, Build a better mousetrap, business intelligence, cloud computing, dark matter, en.wikipedia.org, Firefox, Google Chrome, Google Earth, hypertext link, index card, information retrieval, Internet Archive, Law of Accelerating Returns, linked data, mass immigration, Metcalfe’s law, Network effects, optical character recognition, PageRank, performance metric, risk tolerance, search engine result page, self-driving car, sentiment analysis, social web, sorting algorithm, speech recognition, Steven Levy, text mining, web application, wikimedia commons

Most popular Google properties, July 2011 Rank Name Number of searches % of total 1 Google (http://www.google.com) 6,243,892,993 60.35% 2 YouTube (http://www.youtube.com) 2,672,070,772 25.83% 3 Gmail (http://www.gmail.com) 874,662,958 8.45% 4 Google Maps (http://maps.google.com) 229,291,754 2.22% 5 Google News (http://news.google.com) 61,541,405 0.59% 6 Google Docs (http://docs.google.com) 48,207,545 0.47% 7 Google Translate (http://translate.google.com) 37,175,399 0.36% 8 Picnik.com 31,166,949 0.30% 9 Google Video (http://video.google.com) 26,162,413 0.25% 10 Google Chrome (http://www.google.com/chrome) 24,137,868 0.23% 11 Blogger (http://www.blogger.com) 19,787,485 0.19% 12 Google Images (http://images.google.com) 14,517,225 0.14% 13 Orkut (http://www.orkut.com) 10,666,820 0.10% 14 Google Books (http://books.google.com) 10,279,082 0.10% 15 Google Earth (http://earth.google.com) 6,706,180 0.06% 16 Google+ (http://plus.google.com) 6,006,650 0.06% 17 Google Groups (http://groups.google.com) 4,606,855 0.04% 18 Google Finance (http://www.google.com/finance) 3,805,910 0.04% 19 Google Buzz (http://www.google.com/buzz) 3,317,955 0.03% 20 Google Scholar (http://scholar.google.com) 2,809,831 0.03% This drop is most likely driven by the fact that image results get returned within regular web search, and savvy searchers are entering specific queries that append leading words such as photos, images, and pictures to their search phrases when that is what they want.

Marissa Mayer, Google’s VP of Location and Local Services, made a particularly interesting comment that furthers the sense that search engines will continue their evolution beyond search: I think that people will be annotating search results pages and web pages a lot. They’re going to be rating them, they’re going to be reviewing them. They’re going to be marking them up... Indeed, Google already offers the ability to block certain results, and to vote for a page with the +1 button. The separate mention of “web pages” may be another reason why the release of Google Chrome (http://www.google.com/chrome) was so important. Tapping into the web browser market might lead to that ability to annotate and rate those pages and further help Google identify what content interests the user. As of October 2011, StatCounter showed that Chrome’s market share had risen to 25% (http://www.tomshardware.com/news/browser-wars-chrome-firefox-ie-market-share,13875.html). Although Chris Sherman, executive editor of Search Engine Land, feels that advancement within search personalization is still fairly limited, he offered up an interesting interactive approach that the search engines might pursue, as a way to allow users to interact with search engines and help bring about better results: Until search engines can find a way to let us search by example—submitting a page of content and analyzing the full text of that page and then tying that in conjunction with our past behavior...


pages: 359 words: 110,488

Bad Blood: Secrets and Lies in a Silicon Valley Startup by John Carreyrou

Affordable Care Act / Obamacare, bioinformatics, corporate governance, Donald Trump, El Camino Real, Elon Musk, Google Chrome, John Markoff, Jony Ive, Kickstarter, Marc Andreessen, Mark Zuckerberg, Mars Rover, medical malpractice, Menlo Park, obamacare, Ponzi scheme, ride hailing / ride sharing, Right to Buy, Sand Hill Road, side project, Silicon Valley, Silicon Valley startup, stealth mode startup, Steve Jobs, supply-chain management, Travis Kalanick, ubercab

Employees were prohibited from putting “Theranos” on their LinkedIn profiles. Instead, they were told to write that they worked for a “private biotechnology company.” Some former employees received cease-and-desist letters from Theranos lawyers for posting descriptions of their jobs at the company that were deemed too detailed. Balwani routinely monitored employees’ emails and internet browser history. He also prohibited the use of Google Chrome on the theory that Google could use the web browser to spy on Theranos’s R&D. Employees who worked at the office complex in Newark were discouraged from using the gym there because it might lead them to mingle with workers from other companies that leased space at the site. In the part of the clinical lab dubbed “Normandy,” partitions were erected around the Edisons so that Siemens technicians wouldn’t be able to see them when they came to service the German manufacturer’s machines.


Exploring ES6 - Upgrade to the next version of JavaScript by Axel Rauschmayer

anti-pattern, domain-specific language, en.wikipedia.org, Firefox, Google Chrome, MVC pattern, web application, WebSocket

That means that the code looks synchronous while performing asynchronous operations. ⁹http://reactive-extensions.github.io/RxJS/ ¹⁰https://streams.spec.whatwg.org/ ¹¹https://github.com/kriskowal/q#progress-notification ¹²https://github.com/promises-aplus ¹³https://github.com/tj/co Promises for asynchronous programming 460 co(function* () { try { let [croftStr, bondStr] = yield Promise.all([ // (A) getFile('http://localhost:8000/croft.json'), getFile('http://localhost:8000/bond.json'), ]); let croftJson = JSON.parse(croftStr); let bondJson = JSON.parse(bondStr); console.log(croftJson); console.log(bondJson); } catch (e) { console.log('Failure to read: ' + e); } }); Details are explained in the chapter on generators. 25.12 Debugging Promises Tools for debugging Promises are slowly appearing in browsers. Let’s take a quick look at what the latest version of Google Chrome has to offer. The following is part of an HTML file that demonstrates two common problems with Promises: <body> <script> // Unhandled rejection Promise.reject(new Error()) .then(function (x) { return 'a'}) .then(function (x) { return 'b'}) // Unsettled Promise new Promise(function () {}); </script> </body> First, a rejection isn’t handled. Second, a Promise isn’t settled. Chrome’s dev tools help with both problems.


pages: 461 words: 106,027

Zero to Sold: How to Start, Run, and Sell a Bootstrapped Business by Arvid Kahl

"side hustle", business process, centre right, Chuck Templeton: OpenTable:, continuous integration, coronavirus, COVID-19, Covid-19, crowdsourcing, domain-specific language, financial independence, Google Chrome, if you build it, they will come, information asymmetry, information retrieval, inventory management, Jeff Bezos, job automation, Kubernetes, minimum viable product, Network effects, performance metric, post-work, premature optimization, risk tolerance, Ruby on Rails, sentiment analysis, Silicon Valley, software as a service, source of truth, statistical model, subscription business, supply-chain management, trickle-down economics, web application

Consequentially, browser vendors had to react. The security implications of this decision reached far and wide. Before the end of 2020, all major browsers would have to phase out their Flash support, as integrating software that is not receiving security updates is a great risk for browsers, which are used by millions of people every single day. So, the team at Chromium, the technology behind Google Chrome, set a roadmap to phase out Flash support over several years. One particular step along the way was disabling the flash plugin by default by July 2019. After that point, the user of Chrome would have to reactivate Flash every single time they started the browser. When this change was a few months away, the developer community started talking about it. Within the development teams of the Chinese Kid English companies, it must have made the rounds as well, as all of a sudden, these companies understood the complexity of their tech choices: the system they used for video calls was built on Flash.


pages: 349 words: 114,038

Culture & Empire: Digital Revolution by Pieter Hintjens

4chan, airport security, AltaVista, anti-communist, anti-pattern, barriers to entry, Bill Duvall, bitcoin, blockchain, business climate, business intelligence, business process, Chelsea Manning, clean water, commoditize, congestion charging, Corn Laws, correlation does not imply causation, cryptocurrency, Debian, Edward Snowden, failed state, financial independence, Firefox, full text search, German hyperinflation, global village, GnuPG, Google Chrome, greed is good, Hernando de Soto, hiring and firing, informal economy, intangible asset, invisible hand, James Watt: steam engine, Jeff Rulifson, Julian Assange, Kickstarter, M-Pesa, mass immigration, mass incarceration, mega-rich, MITM: man-in-the-middle, mutually assured destruction, Naomi Klein, national security letter, Nelson Mandela, new economy, New Urbanism, Occupy movement, offshore financial centre, packet switching, patent troll, peak oil, pre–internet, private military company, race to the bottom, rent-seeking, reserve currency, RFC: Request For Comment, Richard Feynman, Richard Stallman, Ross Ulbricht, Satoshi Nakamoto, security theater, selection bias, Skype, slashdot, software patent, spectrum auction, Steve Crocker, Steve Jobs, Steven Pinker, Stuxnet, The Wealth of Nations by Adam Smith, The Wisdom of Crowds, trade route, transaction costs, twin studies, union organizing, wealth creators, web application, WikiLeaks, Y2K, zero day, Zipf's Law

To deal with fundamental differences in viewpoint is something else. I've said before that conflicting missions can be a problem. The best answer I know is to turn the conflict into competition. In software, we do this by making standards that teams can build on. Take for example the HTTP standard that powers the web. Any team can build a web server or a web browser. This lets teams compete. So Google's Chrome browser emerged as a lightweight, faster alternative to Firefox, which was getting bloated and slow. Then, the Firefox team took performance seriously, and now Firefox is faster than Chrome. TIP: When there is an interesting problem, try to get multiple teams competing to solve it. Competition is great fun and can produce better answers than monopolized problems. You can even explicitly create competitions with prizes for the best solutions.


pages: 394 words: 117,982

The Perfect Weapon: War, Sabotage, and Fear in the Cyber Age by David E. Sanger

active measures, autonomous vehicles, Bernie Sanders, bitcoin, British Empire, call centre, Cass Sunstein, Chelsea Manning, computer age, cryptocurrency, cuban missile crisis, Donald Trump, drone strike, Edward Snowden, Google Chrome, Google Earth, Jacob Appelbaum, John Markoff, Mark Zuckerberg, MITM: man-in-the-middle, mutually assured destruction, RAND corporation, ransomware, Sand Hill Road, Silicon Valley, Silicon Valley ideology, Skype, South China Sea, Steve Jobs, Steven Levy, Stuxnet, Tim Cook: Apple, too big to fail, undersea cable, uranium enrichment, Valery Gerasimov, WikiLeaks, zero day

CHAPTER IV: MAN IN THE MIDDLE When the Washington Post first published the slide: Barton Gellman and Ashkan Soltani, “NSA Infiltrates Links to Yahoo, Google Data Centers Worldwide, Snowden Documents Say,” Washington Post, October 30, 2013, www.washingtonpost.com/world/national-security/nsa-infiltrates-links-to-yahoo-google-data-centers-worldwide-snowden-documents-say/2013/10/30/e51d661e-4166-11e3-8b74-d89d714ca4dd_story.html? “Fuck these guys”: Brandon Downey, “This Is the Big Story in Tech Today,” Google+ (blog), October 30, 2013, plus.google.com/+BrandonDowney/posts/SfYy8xbDWGG. Google soon added a new email-encryption feature: Ian Paul, “Google’s Chrome Gmail Encryption Extension Hides NSA-Jabbing Easter Egg,” PC World, June 5, 2014, www.pcworld.com/article/2360441/googles-chrome-email-encryption-extension-includes-jab-at-nsa.html. the existence of the NSA program: Barton Gellman and Laura Poitras, “U.S., British Intelligence Mining Data from Nine U.S. Internet Companies in Broad Secret Program,” Washington Post, June 7, 2016, www.washingtonpost.com/investigations/us-intelligence-mining-data-from-nine-us-internet-companies-in-broad-secret-program/2013/06/06/3a0c0da8-cebf-11e2-8845-d970ccb04497_story.html.


pages: 960 words: 125,049

Mastering Ethereum: Building Smart Contracts and DApps by Andreas M. Antonopoulos, Gavin Wood Ph. D.

Amazon Web Services, bitcoin, blockchain, continuous integration, cryptocurrency, Debian, domain-specific language, don't repeat yourself, Edward Snowden, en.wikipedia.org, Ethereum, ethereum blockchain, fault tolerance, fiat currency, Firefox, Google Chrome, intangible asset, Internet of things, litecoin, move fast and break things, move fast and break things, node package manager, peer-to-peer, Ponzi scheme, prediction markets, pull request, QR code, Ruby on Rails, Satoshi Nakamoto, sealed-bid auction, sharing economy, side project, smart contracts, transaction costs, Turing complete, Turing machine, Vickrey auction, web application, WebSocket

However, this convenience has a negative impact on your privacy, because you reveal your addresses to block explorers, which can track you. Do not send money to any of the addresses shown in this book. The private keys are listed in the book and someone will immediately take that money. Now that we’ve covered some basic best practices for key management and security, let’s get to work using MetaMask! Getting Started with MetaMask Open the Google Chrome browser and navigate to https://chrome.google.com/webstore/category/extensions. Search for “MetaMask” and click on the logo of a fox. You should see something like the result shown in Figure 2-1. Figure 2-1. The detail page of the MetaMask Chrome extension It’s important to verify that you are downloading the real MetaMask extension, as sometimes people are able to sneak malicious extensions past Google’s filters.


pages: 752 words: 131,533

Python for Data Analysis by Wes McKinney

backtesting, cognitive dissonance, crowdsourcing, Debian, Firefox, Google Chrome, Guido van Rossum, index card, random walk, recommendation engine, revision control, sentiment analysis, Sharpe ratio, side project, sorting algorithm, statistical model, type inference

In [1]: import pandas In [2]: plot(arange(10)) If successful, there should be no error messages and a plot window will appear. You can also check that the IPython HTML notebook can be successfully run by typing: $ ipython notebook --pylab=inline Caution If you use the IPython notebook application on Windows and normally use Internet Explorer, you will likely need to install and run Mozilla Firefox or Google Chrome instead. EPDFree on Windows contains only 32-bit executables. If you want or need a 64-bit setup on Windows, using EPD Full is the most painless way to accomplish that. If you would rather install from scratch and not pay for an EPD subscription, Christoph Gohlke at the University of California, Irvine, publishes unofficial binary installers for all of the book’s necessary packages (http://www.lfd.uci.edu/~gohlke/pythonlibs/) for 32- and 64-bit Windows.


pages: 1,829 words: 135,521

Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython by Wes McKinney

business process, Debian, Firefox, general-purpose programming language, Google Chrome, Guido van Rossum, index card, p-value, quantitative trading / quantitative finance, random walk, recommendation engine, sentiment analysis, side project, sorting algorithm, statistical model, type inference

To start up Jupyter, run the command jupyter notebook in a terminal: $ jupyter notebook [I 15:20:52.739 NotebookApp] Serving notebooks from local directory: /home/wesm/code/pydata-book [I 15:20:52.739 NotebookApp] 0 active kernels [I 15:20:52.739 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/ [I 15:20:52.740 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). Created new window in existing browser session. On many platforms, Jupyter will automatically open up in your default web browser (unless you start it with --no-browser). Otherwise, you can navigate to the HTTP address printed when you started the notebook, here http://localhost:8888/. See Figure 2-1 for what this looks like in Google Chrome. Note Many people use Jupyter as a local computing environment, but it can also be deployed on servers and accessed remotely. I won’t cover those details here, but encourage you to explore this topic on the internet if it’s relevant to your needs. Figure 2-1. Jupyter notebook landing page To create a new notebook, click the New button and select the “Python 3” or “conda [default]” option.


pages: 459 words: 140,010

Fire in the Valley: The Birth and Death of the Personal Computer by Michael Swaine, Paul Freiberger

1960s counterculture, Amazon Web Services, Apple II, barriers to entry, Bill Gates: Altair 8800, Byte Shop, cloud computing, commoditize, computer vision, Douglas Engelbart, Douglas Engelbart, Dynabook, Google Chrome, I think there is a world market for maybe five computers, Internet of things, Isaac Newton, Jaron Lanier, job automation, John Markoff, John von Neumann, Jony Ive, Loma Prieta earthquake, Marc Andreessen, Menlo Park, Mitch Kapor, Mother of all demos, Paul Terrell, popular electronics, Richard Stallman, Robert Metcalfe, Silicon Valley, Silicon Valley startup, stealth mode startup, Steve Ballmer, Steve Jobs, Steve Wozniak, Stewart Brand, Ted Nelson, Tim Cook: Apple, urban sprawl, Watson beat the top human players on Jeopardy!, Whole Earth Catalog

Google’s mobile operating system, Android, was in use in phones and tablets from many companies, and the Android slice of the tablet market soon surpassed Apple’s. With Android, developers saw the re-emergence of an open platform. The idea of browser as operating system came to fruition when Google released its Chrome OS in 2009. Built on top of a Linux kernel, its user interface was initially little more than the Google Chrome web browser. Chrome OS was the commercial version of an open source project, Chromium, which opened the source code for others to build on. Laptop computers were soon being built to run Chrome OS natively. Although Apple was setting the bar in each of these new product categories and profiting greatly from them, it wasn’t necessarily leading in sales. By 2011 Android devices were outselling all others.


pages: 474 words: 130,575

Surveillance Valley: The Rise of the Military-Digital Complex by Yasha Levine

23andMe, activist fund / activist shareholder / activist investor, Airbnb, AltaVista, Amazon Web Services, Anne Wojcicki, anti-communist, Apple's 1984 Super Bowl advert, bitcoin, borderless world, British Empire, call centre, Chelsea Manning, cloud computing, collaborative editing, colonial rule, computer age, computerized markets, corporate governance, crowdsourcing, cryptocurrency, digital map, don't be evil, Donald Trump, Douglas Engelbart, Douglas Engelbart, drone strike, Edward Snowden, El Camino Real, Electric Kool-Aid Acid Test, Elon Musk, fault tolerance, George Gilder, ghettoisation, global village, Google Chrome, Google Earth, Google Hangouts, Howard Zinn, hypertext link, IBM and the Holocaust, index card, Jacob Appelbaum, Jeff Bezos, jimmy wales, John Markoff, John von Neumann, Julian Assange, Kevin Kelly, Kickstarter, life extension, Lyft, Mark Zuckerberg, market bubble, Menlo Park, Mitch Kapor, natural language processing, Network effects, new economy, Norbert Wiener, packet switching, PageRank, Paul Buchheit, peer-to-peer, Peter Thiel, Philip Mirowski, plutocrats, Plutocrats, private military company, RAND corporation, Ronald Reagan, Ross Ulbricht, Satoshi Nakamoto, self-driving car, sentiment analysis, shareholder value, side project, Silicon Valley, Silicon Valley startup, Skype, slashdot, Snapchat, speech recognition, Steve Jobs, Steve Wozniak, Steven Levy, Stewart Brand, Telecommunications Act of 1996, telepresence, telepresence robot, The Bell Curve by Richard Herrnstein and Charles Murray, The Hackers Conference, uber lyft, Whole Earth Catalog, Whole Earth Review, WikiLeaks

It went beyond search and email, broadened into word processing, databases, blogging, social media networks, cloud hosting, mobile platforms, browsers, navigation aids, cloud-based laptops, and a whole range of office and productivity applications. It could be hard to keep track of them all: Gmail, Google Docs, Google Drive, Google Maps, Android, Google Play, Google Cloud, YouTube, Google Translate, Google Hangouts, Google Chrome, Google+, Google Sites, Google Developer, Google Voice, Google Analytics, Android TV. It blasted beyond pure Internet services and delved into fiber-optic telecommunication systems, tablets, laptops, home security cameras, self-driving cars, shopping delivery, robots, electric power plants, life extension technology, cyber security, and biotech. The company even launched a powerful in-house investment bank that now rivals Wall Street companies, investing money in everything from Uber to obscure agricultural crop monitoring start-ups, ambitious human DNA sequencing companies like 23andME, and a secretive life extension research center called Calico.88 No matter what service it deployed or what market it entered, surveillance and prediction were cooked into the business.


pages: 598 words: 134,339

Data and Goliath: The Hidden Battles to Collect Your Data and Control Your World by Bruce Schneier

23andMe, Airbnb, airport security, AltaVista, Anne Wojcicki, augmented reality, Benjamin Mako Hill, Black Swan, Boris Johnson, Brewster Kahle, Brian Krebs, call centre, Cass Sunstein, Chelsea Manning, citizen journalism, cloud computing, congestion charging, disintermediation, drone strike, Edward Snowden, experimental subject, failed state, fault tolerance, Ferguson, Missouri, Filter Bubble, Firefox, friendly fire, Google Chrome, Google Glasses, hindsight bias, informal economy, Internet Archive, Internet of things, Jacob Appelbaum, Jaron Lanier, John Markoff, Julian Assange, Kevin Kelly, license plate recognition, lifelogging, linked data, Lyft, Mark Zuckerberg, moral panic, Nash equilibrium, Nate Silver, national security letter, Network effects, Occupy movement, Panopticon Jeremy Bentham, payday loans, pre–internet, price discrimination, profit motive, race to the bottom, RAND corporation, recommendation engine, RFID, Ross Ulbricht, self-driving car, Shoshana Zuboff, Silicon Valley, Skype, smart cities, smart grid, Snapchat, social graph, software as a service, South China Sea, stealth mode startup, Steven Levy, Stuxnet, TaskRabbit, telemarketer, Tim Cook: Apple, transaction costs, Uber and Lyft, uber lyft, undersea cable, urban planning, WikiLeaks, zero day

These days they’re mostly monitoring to see whether you illegally download copyrighted songs and videos, but other applications aren’t far behind. Verizon, Microsoft, and others are working on a set-top box that can monitor what’s going on in the room, and serve ads based on that information. It’s less Big Brother, and more hundreds of tattletale little brothers. Today, Internet surveillance is far more insistent than cookies. In fact, there’s a minor arms race going on. Your browser—yes, even Google Chrome—has extensive controls to block or delete cookies, and many people enable those features. DoNotTrackMe is one of the most popular browser plug-ins. The Internet surveillance industry has responded with “flash cookies”—basically, cookie-like files that are stored with Adobe’s Flash player and remain when browsers delete their cookies. To block those, you can install FlashBlock. But there are other ways to uniquely track you, with esoteric names like evercookies, canvas fingerprinting, and cookie synching.


pages: 523 words: 143,139

Algorithms to Live By: The Computer Science of Human Decisions by Brian Christian, Tom Griffiths

4chan, Ada Lovelace, Alan Turing: On Computable Numbers, with an Application to the Entscheidungsproblem, Albert Einstein, algorithmic trading, anthropic principle, asset allocation, autonomous vehicles, Bayesian statistics, Berlin Wall, Bill Duvall, bitcoin, Community Supported Agriculture, complexity theory, constrained optimization, cosmological principle, cryptocurrency, Danny Hillis, David Heinemeier Hansson, delayed gratification, dematerialisation, diversification, Donald Knuth, double helix, Elon Musk, fault tolerance, Fellow of the Royal Society, Firefox, first-price auction, Flash crash, Frederick Winslow Taylor, George Akerlof, global supply chain, Google Chrome, Henri Poincaré, information retrieval, Internet Archive, Jeff Bezos, Johannes Kepler, John Nash: game theory, John von Neumann, Kickstarter, knapsack problem, Lao Tzu, Leonard Kleinrock, linear programming, martingale, Nash equilibrium, natural language processing, NP-complete, P = NP, packet switching, Pierre-Simon Laplace, prediction markets, race to the bottom, RAND corporation, RFC: Request For Comment, Robert X Cringely, Sam Altman, sealed-bid auction, second-price auction, self-driving car, Silicon Valley, Skype, sorting algorithm, spectrum auction, Stanford marshmallow experiment, Steve Jobs, stochastic process, Thomas Bayes, Thomas Malthus, traveling salesman, Turing machine, urban planning, Vickrey auction, Vilfredo Pareto, Walter Mischel, Y Combinator, zero-sum game

well over a trillion distinct URLs: “We Knew the Web Was Big…” July 25, 2008, http://googleblog.blogspot.com/2008/07/we-knew-web-was-big.html. weighs in at about seventy-seven characters: Kelvin Tan, “Average Length of a URL (Part 2),” August 16, 2010, http://www.supermind.org/blog/740/average-length-of-a-url-part-2. the URL is entered into a set of equations: Bloom, “Space/Time Trade-offs in Hash Coding with Allowable Errors.” shipped with a number of recent web browsers: Google Chrome until at least 2012 used a Bloom filter: see http://blog.alexyakunin.com/2010/03/nice-bloom-filter-application.html and https://chromiumcodereview.appspot.com/10896048/. part of cryptocurrencies like Bitcoin: Gavin Andresen, “Core Development Status Report #1,” November 1, 2012, https://bitcoinfoundation.org/2012/11/core-development-status-report-1/. “The river meanders”: Richard Kenney, “Hydrology; Lachrymation,” in The One-Strand River: Poems, 1994–2007 (New York: Knopf, 2008).


Data Wrangling With Python: Tips and Tools to Make Your Life Easier by Jacqueline Kazil

Amazon Web Services, bash_history, cloud computing, correlation coefficient, crowdsourcing, data acquisition, database schema, Debian, en.wikipedia.org, Firefox, Google Chrome, job automation, Nate Silver, natural language processing, pull request, Ronald Reagan, Ruby on Rails, selection bias, social web, statistical model, web application, WikiLeaks

We’ve identified a few with impressive datasets and some regional data from organi‐ zations: • Open Cities Project • Open Nepal • National Bureau of Statistics of China • Open Data Hong Kong • Indonesian Government Open Data Non-EU Europe, Central Asia, India, the Middle East, and Russia Many Central Asian, Central European, and Middle Eastern countries outside of the EU have their own government open data sites. We have highlighted a few, but your linguistic skills will be paramount if you know what regions and countries you’d like to target and want to access data in the native tongue (although Google Chrome will attempt to translate web pages automatically, so you may still be able to find useful data even if you don’t speak the language): • Russian Government Data Website • PakReport—Pakistan Open Data and Maps • Open Data India • Turkey Open Statistics South America and Canada Many South American nations have their own open data sites, found easily by search. Canada also has an open data portal for statistics.


pages: 719 words: 181,090

Site Reliability Engineering: How Google Runs Production Systems by Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy

Air France Flight 447, anti-pattern, barriers to entry, business intelligence, business process, Checklist Manifesto, cloud computing, combinatorial explosion, continuous integration, correlation does not imply causation, crowdsourcing, database schema, defense in depth, DevOps, en.wikipedia.org, fault tolerance, Flash crash, George Santayana, Google Chrome, Google Earth, information asymmetry, job automation, job satisfaction, Kubernetes, linear programming, load shedding, loose coupling, meta analysis, meta-analysis, microservices, minimum viable product, MVC pattern, performance metric, platform as a service, revision control, risk tolerance, side project, six sigma, the scientific method, Toyota Production System, trickle-down economics, web application, zero day

This is a high-stakes, high-reliability field, in which many lessons relevant to reliability in the face of government regulations and human risk were learned as the technology received FDA approval, gradually improved, and finally became ubiquitous. Gus Hartmann and Kevin Greer have experience in the telecommunications industry, including maintaining the E911 emergency response system.1 Kevin is currently a software engineer on the Google Chrome team and Gus is a systems engineer for Google’s Corporate Engineering team. User expectations of the telecom industry demand high reliability. Implications of a lapse of service range from user inconvenience due to a system outage to fatalities if E911 goes down. Ron Heiby is a Technical Program Manager for Site Reliability Engineering at Google. Ron has experience in development for cell phones, medical devices, and the automotive industry.


pages: 677 words: 206,548

Future Crimes: Everything Is Connected, Everyone Is Vulnerable and What We Can Do About It by Marc Goodman

23andMe, 3D printing, active measures, additive manufacturing, Affordable Care Act / Obamacare, Airbnb, airport security, Albert Einstein, algorithmic trading, artificial general intelligence, Asilomar, Asilomar Conference on Recombinant DNA, augmented reality, autonomous vehicles, Baxter: Rethink Robotics, Bill Joy: nanobots, bitcoin, Black Swan, blockchain, borderless world, Brian Krebs, business process, butterfly effect, call centre, Charles Lindbergh, Chelsea Manning, cloud computing, cognitive dissonance, computer vision, connected car, corporate governance, crowdsourcing, cryptocurrency, data acquisition, data is the new oil, Dean Kamen, disintermediation, don't be evil, double helix, Downton Abbey, drone strike, Edward Snowden, Elon Musk, Erik Brynjolfsson, Filter Bubble, Firefox, Flash crash, future of work, game design, global pandemic, Google Chrome, Google Earth, Google Glasses, Gordon Gekko, high net worth, High speed trading, hive mind, Howard Rheingold, hypertext link, illegal immigration, impulse control, industrial robot, Intergovernmental Panel on Climate Change (IPCC), Internet of things, Jaron Lanier, Jeff Bezos, job automation, John Harrison: Longitude, John Markoff, Joi Ito, Jony Ive, Julian Assange, Kevin Kelly, Khan Academy, Kickstarter, knowledge worker, Kuwabatake Sanjuro: assassination market, Law of Accelerating Returns, Lean Startup, license plate recognition, lifelogging, litecoin, low earth orbit, M-Pesa, Mark Zuckerberg, Marshall McLuhan, Menlo Park, Metcalfe’s law, MITM: man-in-the-middle, mobile money, more computing power than Apollo, move fast and break things, move fast and break things, Nate Silver, national security letter, natural language processing, obamacare, Occupy movement, Oculus Rift, off grid, offshore financial centre, optical character recognition, Parag Khanna, pattern recognition, peer-to-peer, personalized medicine, Peter H. Diamandis: Planetary Resources, Peter Thiel, pre–internet, RAND corporation, ransomware, Ray Kurzweil, refrigerator car, RFID, ride hailing / ride sharing, Rodney Brooks, Ross Ulbricht, Satoshi Nakamoto, Second Machine Age, security theater, self-driving car, shareholder value, Silicon Valley, Silicon Valley startup, Skype, smart cities, smart grid, smart meter, Snapchat, social graph, software as a service, speech recognition, stealth mode startup, Stephen Hawking, Steve Jobs, Steve Wozniak, strong AI, Stuxnet, supply-chain management, technological singularity, telepresence, telepresence robot, Tesla Model S, The Future of Employment, The Wisdom of Crowds, Tim Cook: Apple, trade route, uranium enrichment, Wall-E, Watson beat the top human players on Jeopardy!, Wave and Pay, We are Anonymous. We are Legion, web application, Westphalian system, WikiLeaks, Y Combinator, zero day

When it launched Gmail in 2004, it offered an amazing one gigabyte of data, vastly outmatching the paltry two megabytes offered by the dominant player of the day, Microsoft’s Hotmail. As the young organization hit its stride, other fantastic products emerged, and eventually we were introduced to Google Calendar, Google Contacts, Google Maps, Google Earth, Google Voice, Google Docs, Google Street View, Google Translate, Google Drive, Google Photos (Picasa), Google Video (YouTube), Google Chrome, Google+, and Google Android, to name but a few. One by one, services such as phone calls, translation, maps, and word processing—services for which we would previously have paid hundreds of dollars (think Microsoft’s Office)—were now suddenly free. The most benevolent interpretation of this bounty would be that Google was merely providing products the public wanted, satisfying our ever-growing technological needs (and those of advertisers).


Programming Python by Mark Lutz

Benevolent Dictator For Life (BDFL), Build a better mousetrap, business process, cloud computing, Firefox, general-purpose programming language, Google Chrome, Guido van Rossum, iterative process, linear programming, loose coupling, MVC pattern, natural language processing, off grid, slashdot, sorting algorithm, web application

<p>Also see: <UL> <li>The <I>PyMailGUI</I> program in the Internet directory, which implements a more complete client-side Python+Tk email GUI <li>The <I>pymail.py</I> program in the Email directory, which provides a simple console command-line email interface <li>The Python imaplib module which supports the IMAP email protocol instead of POP </UL></P> </table><hr> <A href="http://www.python.org"> <IMG SRC="PythonPoweredSmall.gif" ALIGN=left ALT="[Python Logo]" border=0 hspace=15></A> <A href="http://rmi.net/~lutz/about-pp.html">[Book]</a> <A href="http://www.oreilly.com">[O'Reilly]</a> </BODY></HTML> The file pymailcgi.html is the system’s root page and lives in a PyMailCgi subdirectory which is dedicated to this application and helps keep its files separate from other examples. To access this system, start your locally running web server as described in the preceding section and then point your browser to the following URL (or do the right thing for whatever other web server you may be using): http://localhost:8000/pymailcgi.html If you do, the server will ship back a page such as that captured in Figure 16-2, shown rendered in the Google Chrome web browser client on Windows 7. I’m using Chrome instead of Internet Explorer throughout this chapter for variety, and because it tends to yield a concise page which shows more details legibly. Open this in your own browser to see it live—this system is as portable as the Web, HTML, and Python-coded CGI scripts. Figure 16-2. PyMailCGI main page Configuring PyMailCGI Now, before you click on the “View…” link in Figure 16-2 expecting to read your own email, I should point out that by default, PyMailCGI allows anybody to send email from this page with the Send link (as we learned earlier, there are no passwords in SMTP).