Firefox

back to index

description: a free and open-source web browser developed by Mozilla

293 results

pages: 502 words: 82,170

The Book of CSS3
by Peter Gasston
Published 14 Apr 2011

(period), as spacer for empty slot, Slots and the ::slot() Pseudo-element period (.), as spacer for empty slot, Slots and the ::slot() Pseudo-element perspective function, The Transformation Matrix pixel grid, Understanding Axes and Coordinates pixel rate, Aspect Ratio, Pixel Ratio detection, Pixel Ratio pixels, for axes measurement, Text Effects and Typographic Styles point value, for gradient, Gradients portrait value, for orientation Media Feature, Using Media Queries in the Real World position property, for creating rows, Template Layout position, of background images, Background Size precedence, for properties, empty prefixes, Let’s Get Started: Introducing the Syntax, Let’s Get Started: Introducing the Syntax, Browser-Specific Prefixes browser-specific, Browser-Specific Prefixes for properties, Let’s Get Started: Introducing the Syntax presentation, vs. behavior, Transitions and Animations preserve-3d keyword, for transform-style property, Transform Style properties, Let’s Get Started: Introducing the Syntax, Browser-Specific Prefixes, empty, More Font Properties, More Font Properties, Transitions and Animations moving between states, Transitions and Animations of fonts, More Font Properties potential problems from unprefixed, Browser-Specific Prefixes precedence for, empty prefix for, Let’s Get Started: Introducing the Syntax Proposed Recommendation status, CSS3 Is Modular protocols, link icon for, Beginning Substring Attribute Value Selector pseudo-classes, Pseudo-classes and Pseudo-elements, Structural Pseudo-classes, Structural Pseudo-classes, The nth-* Pseudo-classes, The nth-* Pseudo-classes, nth-child and nth-of-type, nth-child and nth-of-type, first-of-type, last-child, and last-of-type, first-of-type, last-child, and last-of-type, first-of-type, last-child, and last-of-type, first-of-type, last-child, and last-of-type, first-of-type, last-child, and last-of-type, only-child and only-of-type, empty, empty, root, Summary browser support, Summary empty, empty first-of-type, first-of-type, last-child, and last-of-type last-child, first-of-type, last-child, and last-of-type last-of-type, first-of-type, last-child, and last-of-type not (negation), empty nth-*, Structural Pseudo-classes nth-child, The nth-* Pseudo-classes nth-last-child, nth-child and nth-of-type nth-last-of-type, nth-child and nth-of-type nth-of-type, The nth-* Pseudo-classes only-child, first-of-type, last-child, and last-of-type only-of-type, first-of-type, last-child, and last-of-type root, root structural, Structural Pseudo-classes target, only-child and only-of-type pseudo-elements, Pseudo-classes and Pseudo-elements, Pseudo-elements, Pseudo-elements, Summary, Multiple Rows ::slot(), Multiple Rows browser support, Summary double colon (::) for, Pseudo-elements pseudo-selectors, Selectors PT Sans font, font-stretch punctuation properties, Setting Text Rendering Options, Summary browser support, Summary punctuation-trim property, Setting Text Rendering Options px (CSS Pixel unit), Aspect Ratio Q quarter ellipse, Giving Your Borders Rounded Corners Quirks Mode box model, Zero Values and Firefox Layouts Quirks Mode website, Opera R radial gradients, Adding Extra color-stop Values, Radial Gradients in Firefox, Radial Gradients in Firefox, Using Radial Gradients, Multiple color-stop Values, Multiple color-stop Values multiple color-stop values, Multiple color-stop Values using, Radial Gradients in Firefox, Radial Gradients in Firefox, Using Radial Gradients, Multiple color-stop Values in Firefox, Radial Gradients in Firefox in WebKit, Radial Gradients in Firefox, Multiple color-stop Values radial keyword, Radial Gradients in Firefox radius of quarter ellipse, Giving Your Borders Rounded Corners readability, A Note on Readability ready() event (jQuery), Template Layout recommendation process, for modules, CSS3 Is Modular Recommendation status, CSS3 Is Modular Red, Green, Blue (RGB) model, Color and Opacity, Hue, Saturation, Lightness HSL vs., Hue, Saturation, Lightness Red, Green, Blue, Alpha (RGBA) model, Setting Transparency with the opacity Property, The Alpha Channel, Matching the Operating System’s Appearance and graceful degradation, The Alpha Channel browser support, Matching the Operating System’s Appearance reflection, scale, scale, Transforming Elements with Matrices, Reflections with WebKit gradients with, Reflections with WebKit of element, creating, scale with WebKit, Transforming Elements with Matrices regular quarter ellipse, Giving Your Borders Rounded Corners repeat keyword, background-repeat, background-repeat, Using Images for Borders for background-repeat property, background-repeat for border-image property, Using Images for Borders repeat() function, for complex grids, Implicit and Explicit Grids repeat-x keyword, for background-repeat property, background-repeat repeat-y keyword, for background-repeat property, background-repeat repeating gradients, Multiple Gradients, Summary, Gradients: Browser Support browser support, Summary in Firefox, Multiple Gradients resize property, Restricting Overflow, Summary browser support, Summary reusable code, Extending Variables Using Mixins reverse keyword, for box-direction property, Changing Orientation reverse play for animation, Delay RGB (Red, Green, Blue) model, Color and Opacity, Hue, Saturation, Lightness HSL vs., Hue, Saturation, Lightness RGBA (Red, Green, Blue, Alpha) model, Setting Transparency with the opacity Property, The Alpha Channel, Matching the Operating System’s Appearance and graceful degradation, The Alpha Channel browser support, Matching the Operating System’s Appearance rgba() color function, Multiple Shadows right keyword, Giving Your Borders Rounded Corners, Giving Your Borders Rounded Corners, Perspective for border-radius property, Giving Your Borders Rounded Corners for perspective-origin property, Perspective root pseudo-class, empty, Summary browser support, Summary rotate function, rotate, Rotation Around an Axis, Rotation Around an Axis for three dimensions, Rotation Around an Axis for transform property, rotate rotate3d function, Rotation Around an Axis rotation of element, with skew, skew, Transforming Elements with Matrices round keyword, background-repeat, background-repeat, Using Images for Borders, Using Images for Borders for background-repeat property, background-repeat for border-image property, Using Images for Borders, Using Images for Borders rounded corners for borders, Giving Your Borders Rounded Corners row strings, Using position and display to Create Rows, Using position and display to Create Rows, Multiple Rows on display property, Using position and display to Create Rows rules for, Multiple Rows rows, Template Layout, Slots and the ::slot() Pseudo-element, Slots and the ::slot() Pseudo-element setting height and width, Slots and the ::slot() Pseudo-element Template Layout Module for creating, Template Layout rules (lines), between columns, Column Gaps and Rules running keyword, for animation-play-state property, Shorthand S Safari browser for Mac OS X.

Artificial Font Faces J JavaScript, Licensing Fonts for Web Use, Same-Axis Alignment, Cross-Browser Flex Box with JavaScript, Template Layout, Template Layout, Modernizr cross-browser flex box with, Same-Axis Alignment for simulating Template Layout Module, Template Layout library, Cross-Browser Flex Box with JavaScript Modernizr, Modernizr setting up, Template Layout jQuery, Cross-Browser Flex Box with JavaScript, Setting Up the JavaScript justify keyword, for box-pack property, Alignment, Alignment justifying text, A Note on Readability K kern parameter, OpenType Features kerning, Setting Text Rendering Options KHTML layout engine, Flexible Box Layout L landscape value, for orientation Media Feature, Using Media Queries in the Real World lang attribute, rules applied based on, Attribute Selectors Language Attribute Selector, Attribute Selectors Last Call status, CSS3 Is Modular last-child pseudo-class, first-of-type, last-child, and last-of-type last-of-type pseudo-class, first-of-type, last-child, and last-of-type left keyword, Giving Your Borders Rounded Corners, Giving Your Borders Rounded Corners, Perspective for border-radius property, Giving Your Borders Rounded Corners for perspective-origin property, Perspective legibility, vs. speed, optimization, word-wrap letterpress effect, Multiple Shadows licensing fonts for web use, Licensing Fonts for Web Use ligatures, OpenType Features, Setting Text Rendering Options linear animation, The Cubic Bézier Curve linear gradients, Gradients, Linear Gradients in Firefox, Linear Gradients in Firefox, Linear Gradients in WebKit, Using Linear Gradients, Repeating Linear Gradients adding color-stop values, Linear Gradients in Firefox, Using Linear Gradients, Repeating Linear Gradients in Firefox, Linear Gradients in Firefox, Repeating Linear Gradients in WebKit, Linear Gradients in Firefox using, Linear Gradients in WebKit linear keyword, Timing Function, Name, Name for animation-timing function property, Name for transition-timing-function property, Timing Function lines, between columns, Column Gaps and Rules link element, Media Queries, The Advantages of Media Queries, Using Media Queries in the Real World media attribute, Media Queries order for stylesheets, Using Media Queries in the Real World links.

To fix this, you need the new properties in the box-* family, which I’ll introduce throughout the rest of this chapter—after a brief digression about browser differences. The box Value in Firefox In the introduction, I mentioned that the Firefox implementation is somewhat problematic. This first example clearly highlights one of those problems. The example shown in Figure 15-1 demonstrates how the code displays in WebKit browsers. Have a look at the same code rendered in Firefox in Figure 15-2. Figure 15-2. The same code from Figure 15-1 but viewed in Firefox Here, you can see the parent element has expanded to 640px. In the Firefox implementation, if the parent element has a width value that is auto or less than the children’s width combined, that value is ignored and the parent is resized to accommodate all of its children.

pages: 570 words: 115,722

The Tangled Web: A Guide to Securing Modern Web Applications
by Michal Zalewski
Published 26 Nov 2011

XUL exists because although modern HTML is often powerful enough to build basic graphical user interfaces, it is not particularly convenient for certain specialized tasks that desktop applications excel in, such as implementing common dialog windows or system menus. XUL is not currently supported by any browser other than Firefox and appears to be disabled in the recent release, Firefox 6. In Firefox, it is handled by the general-purpose renderer, based on the appropriate xmlns namespace. Firefox uses XUL for much of its internal UI, but otherwise the language is seldom encountered on the Internet. From the standpoint of web application security, Internet-originating XUL documents can be considered roughly equivalent to HTML documents.

Encapsulating Pseudo-Protocols This special class of pseudo-protocols may be used to prefix any other URL in order to force a special decoding or rendering mode for the retrieved resource. Perhaps the best-known example is the view-source: scheme supported by Firefox and Chrome, used to display the pretty-printed source of an HTML page. This scheme is used in the following way: view-source:http://www.example.com/ Other protocols that function similarly include jar:, which allows content to be extracted from ZIP files on the fly in Firefox; wyciwyg: and view-cache:, which give access to cached pages in Firefox and Chrome respectively; an oddball feed: scheme, which is meant to access news feeds in Safari;[110] and a host of poorly documented protocols associated with the Windows help subsystem and other components of Microsoft Windows (hcp:, its:, mhtml:, mk:, ms-help:, ms-its:, and ms-itss:).

To illustrate, consider the handling of Adobe Flash (SWF) files served without Content-Type: In Opera, they are recognized unconditionally based on a content signature check; in Firefox and Safari, an explicit .swf suffix in the URL is required; and Internet Explorer and Chrome will not autorecognize SWF at all. Rest assured, the SWF file format is not an exceptional case. For example, when dealing with HTML files, Chrome and Firefox will autodetect the document only if one of several predefined HTML tags appears at the very beginning of the file; while Firefox will be eager to “detect” HTML based solely on the presence of an .html extension in the URL, even if no recognizable markup is seen.

pages: 1,038 words: 137,468

JavaScript Cookbook
by Shelley Powers
Published 23 Jul 2010

Otherwise, either create and throw a specific exception, or create a new Error object, providing your own error message: if (typeof value == "number") { sum+=number; } else { throw new Error("NotANumber"); } The existing exception types are Error, as demonstrated, and: EvalError Used when eval is used improperly RangeError Used when the number is out of range ReferenceError Used when a nonexistent variable is referenced SyntaxError Used when there’s a syntax error 184 | Chapter 10: Debugging and Error Handling TypeError Indicates an unexpected type URIError Used when a malformed URI is encountered DOMException Indicates a DOM error EventException Indicates a DOM event exception RangeException Indicates a DOM range exception The last three exceptions are related to the DOM API. All the errors take a custom message as a string parameter. 10.6 Using Firebug with Firefox Problem You want to set up Firefox for debugging JavaScript. Solution Use Firebug, the popular Firefox add-on development tool. Discussion Unlike other development tools, Firebug is a Firefox add-on, which you’ll need to download and install. However, it installs very easily, and new releases update through Firefox automatically. To start Firebug, look for the little bug in the status bar, on the right of the browser. Clicking the bug opens Firebug, as shown in Figure 10-4.

However, the performance advantages you get with the canvas element lessen as you increase the size of the display. SVG scales beautifully. 15.10 Turning on WebGL Support in Firefox and WebKit/Safari Problem You want to jump into the world of 3D. Solution Both Firefox nightly (Minefield) and the WebKit nightly have support for WebGL, a cross-platform 3D graphics system derived from the OpenGL effort, and making use of the canvas element. You will have to turn on support for both. For Firefox, access the configuration options page by typing about:config into the ad- dress bar. Once past the warning page, find the webgl.enabled_for_all_sites option, and change the value to true.

At the time I wrote this recipe, they only work in nightly builds for WebKit and Firefox (Minefield), and in a very limited sense with IE8. The IE8 limitation is that the new property methods only work with DOM elements. The Object.defineProperty method works with the Image element, but not with the custom objects. However, using defineProperty on DOM elements causes an exception in WebKit. None of the new property methods work with Opera. The Firefox Minefield nightly and the Chrome beta were the only browsers that currently work with both types of objects, as shown in Figure 16-2, which displays the Image object properties in Firefox. Figure 16-2. Displaying Image properties after adding a new property with defineProperty 16.6 Extending an Object by Defining a New Property | 373 After printing out the Image properties, a new property (experience) and property de- scriptor are added to the TechBook custom object.

pages: 375 words: 66,268

High Performance JavaScript
by Nicholas C. Zakas
Published 15 Mar 2010

Creating the intermediary string of s1 + s2 is a much lighter performance hit than copying the large string twice. Firefox and compile-time folding When all strings concatenated in an assignment expression are compile-time constants, Firefox automatically merges them at compile time. Here’s a way to see this in action: function foldingDemo() { var str = "compile" + "time" + "folding"; str += "this" + "works" + "too"; str = str + "but" + "not" + "this"; } alert(foldingDemo.toString()); /* In Firefox, you'll see this: function foldingDemo() { var str = "compiletimefolding"; str += "thisworkstoo"; str = str + "but" + "not" + "this"; } */ When strings are folded together like this, there are no intermediary strings at runtime and the time and memory that would be spent concatenating them is reduced to zero.

.* When a file is downloaded using a dynamic script node, the retrieved code is typically executed immediately (except in Firefox and Opera, which will wait until any previous dynamic script nodes have executed). This works well when the script is self-executing but can be problematic if the code contains only interfaces to be used by other scripts on the page. In that case, you need to track when the code has been fully downloaded and is ready for use. This is accomplished using events that are fired by the dynamic <script> node. Firefox, Opera, Chrome, and Safari 3+ all fire a load event when the src of a <script> element has been retrieved.

Figure 2-1 shows the relative speed of accessing 200,000 values from each of these four locations in various browsers. Older browsers using more traditional JavaScript engines, such as Firefox 3, Internet Explorer, and Safari 3.2, show a much larger amount of time taken to access values versus browsers that use optimizing JavaScript engines. The general trends, however, remain the same across all browsers: literal value and local variable access tend to be faster than array item and object member access. The one exception, Firefox 3, 15 Figure 2-1. Time per 200,000 reads from various data locations optimized array item access to be much faster. Even so, the general advice is to use literal values and local variables whenever possible and limit use of array items and object members where speed of execution is a concern.

pages: 210 words: 42,271

Programming HTML5 Applications
by Zachary Kessin
Published 9 May 2011

A further complication comes in some browsers, including Firefox, that make the manifest an opt-in feature. So a Selenium test may not opt into it, which would make the entire test moot. In order to test this in Firefox, it will be necessary to set up a Firefox profile in which the application cache is on by default. To do this: Quit Firefox completely. Start up Firefox from a command line with the -profileManager switch. This will result in a dialog similar to that shown in Figure 7-2. Save the custom profile. Figure 7-2. Firefox custom profile dialog Restart Firefox. Go to the Firefox Options menu, select the Advanced tab and under that the Network tab (see Figure 7-3), and turn off the “Tell me when a website asks to store data for offline use” option.

URL query string separator, Debugging Manifest Files A Abelson, Harold, Functional Programming acceptance tests, Testing JavaScript Applications accessibility, Accessibility Through WAI-ARIA Accessible Rich Internet Applications, Accessibility Through WAI-ARIA actions, Selenium, Selenium Commands ActiveX controls, IndexedDB add() method (IndexedDB), Adding and Updating Records airplane mode, Adding Power to Web Applications Ajax, Developing Web Applications, Nonblocking I/O and Callbacks, Nonblocking I/O and Callbacks, Functional Programming, Functional Programming, A Simple Example, Offline Loading with a Data Store, Storing Changes for a Later Server Sync, Uploading Files, Structure of the Manifest File calls, Nonblocking I/O and Callbacks, Functional Programming, A Simple Example, Offline Loading with a Data Store, Storing Changes for a Later Server Sync, Structure of the Manifest File DataStore object, Nonblocking I/O and Callbacks uploading files with, Uploading Files versus XHR terminology, Functional Programming alert() method, Nonblocking I/O and Callbacks alt attribute, Accessibility Through WAI-ARIA Android, Selenium RC and a Test Farm, New Form Types _AndWait commands (Selenium), Selenium Commands anonymous functions, Lambda Functions Are Powerful Apache web server, Introduction to the Manifest File append() method, Uploading Files appending an image example, Working with Files Apple Safari, JavaScript’s Triumph, A Pattern for Reuse of Multithread Processing, Libraries for Web Workers, Web Sockets Aptana, JavaScript Tools You Should Know archive files, Drag-and-Drop array, Functional Programming, Array Iteration Operations, You Can Extend Objects, Too iteration operations, Array Iteration Operations, You Can Extend Objects, Too map function, Functional Programming assertElementPresent command (Selenium), Selenium Commands assertions, Selenium, Selenium Commands <audio> tag, Audio and Video automatic updates, Developing Web Applications B base types, extending, Prototypes and How to Expand Objects beforeload event handler, Offline Loading with a Data Store Benedetti, Ryan, JavaScript’s Triumph binary data, The Web Sockets Interface binding variables, Closures blob data type, Blobs BlobBuilder, Blobs Booleans as objects, Prototypes and How to Expand Objects bottlenecks, Splitting Up Work Through Web Workers, JavaScript Tools You Should Know Breadcrumbs specs, Microdata browsers, The Web As Application Platform, Developing Web Applications, Lambda Functions Are Powerful, Testing JavaScript Applications, Selenium RC and a Test Farm, Local Storage, jStore, Updates to the Manifest File, Updates to the Manifest File, Debugging Manifest Files (see also Chrome, Firefox, Internet Explorer, Safari) cache control header issues, Updates to the Manifest File, Debugging Manifest Files data storage and, Local Storage, jStore differences among, Testing JavaScript Applications function inside an if, Lambda Functions Are Powerful interactivity, The Web As Application Platform, Developing Web Applications testing on multiple, Selenium RC and a Test Farm buildMaster() method, Web Worker Fractal Example built-in objects, Prototypes and How to Expand Objects buttons, Lambda Functions Are Powerful, Closures, A Simple Example, Testing with QUnit, Selenium, Selenium Commands, Selenese Command Programming Interface click callbacks, Lambda Functions Are Powerful, A Simple Example, Testing with QUnit closures, Closures testing, Selenium, Selenese Command Programming Interface with XPath, Selenium Commands C C-type languages, Lambda Functions Are Powerful cache control headers, Updates to the Manifest File, Debugging Manifest Files cache() method, Expanding Functions with Prototypes Cagle, Kurt, Canvas and SVG callbacks, Nonblocking I/O and Callbacks, Lambda Functions Are Powerful, Closures, Array Iteration Operations, Testing JavaScript Applications, A Simple Example, Adding and Updating Records, Retrieving Data, Uploading Files, A Pattern for Reuse of Multithread Processing, Web Socket Example alternatives to for loops, Array Iteration Operations button, A Simple Example closures to construct, Closures cursor, Adding and Updating Records on DOM elements, Testing JavaScript Applications from ports, Web Socket Example and Web Workers, A Pattern for Reuse of Multithread Processing write, Retrieving Data XHMLHttpRequest, Uploading Files Canvas, Graphics, Web Worker Fractal Example <canvas> tag, Graphics changes, storing, Storing Changes for a Later Server Sync chat applications, Web Sockets checksum, manifest, Updates to the Manifest File Chrome, Google, JavaScript’s Triumph, Closures, Closures, The localStorage and sessionStorage Objects, The localStorage and sessionStorage Objects, IndexedDB, Blobs, Filesystem, Events, Events, Testing and Debugging Web Workers, Testing and Debugging Web Workers, A Pattern for Reuse of Multithread Processing, A Pattern for Reuse of Multithread Processing, Web Sockets, Tags for Applications, JavaScript Tools You Should Know BlobBuilder support, Blobs debugging web workers in, Testing and Debugging Web Workers Dev tools, Closures, The localStorage and sessionStorage Objects, Testing and Debugging Web Workers filesystem access, Filesystem IndexedDB in, IndexedDB list of closed variables, Closures manifest list, Events postMessage() in, A Pattern for Reuse of Multithread Processing <progress> tag support, Tags for Applications Speed Tracer, JavaScript Tools You Should Know storage viewer, The localStorage and sessionStorage Objects, Events web socket support, Web Sockets web worker support in, A Pattern for Reuse of Multithread Processing Church, Alonzo, Lambda Functions Are Powerful click command (Selenium), Selenium Commands client-side data storage, Local Storage Clojure, Web Socket Example ClojureScript, JavaScript Tools You Should Know close() method, The Worker Environment, The Web Sockets Interface closures, Nonblocking I/O and Callbacks, Closures, Closures, Array Iteration Operations, IndexedDB cloud test farms, Automatically Running Tests CoffeeScript, JavaScript Tools You Should Know color form input, New Form Types composite functions, Functional Programming config files, web server, Introduction to the Manifest File confirm() method, Nonblocking I/O and Callbacks content delivery network, Taking It Offline controls attribute, Audio and Video cookies, The localStorage and sessionStorage Objects, Using localStorage in ExtJS, Web Sockets CouchDB, IndexedDB Cranley, Ronan, JavaScript’s Triumph createObjectURL() method, Blobs Crockford, Douglas, JavaScript’s Triumph, The Power of JavaScript, JavaScript Tools You Should Know cross-platform web development, Developing Web Applications CruiseControl, Selenese Command Programming Interface currying, Currying and Object Parameters D data record example, IndexedDB data storage, Adding Power to Web Applications, Local Storage, jStore data trees, You Can Extend Objects, Too databases, Adding Power to Web Applications, Local Storage, IndexedDB, Deleting Data, IndexedDB, Adding and Updating Records, Retrieving Data, Deleting Data adding and updating records, Adding and Updating Records deleting data from, Deleting Data IndexedDB, Adding Power to Web Applications, IndexedDB, Deleting Data retrieving data from, Retrieving Data SQLite, Local Storage DataStore object (Ajax), Nonblocking I/O and Callbacks date form input, New Form Types dblclick command (Selenium), Selenium Commands debugging, JavaScript’s Triumph, Lambda Functions Are Powerful, Debugging Manifest Files, Splitting Up Work Through Web Workers, Testing and Debugging Web Workers, JavaScript Tools You Should Know Firebug, JavaScript’s Triumph, Lambda Functions Are Powerful and JSMin, JavaScript Tools You Should Know manifest files, Debugging Manifest Files and Web Workers, Splitting Up Work Through Web Workers, Testing and Debugging Web Workers $.decode() method (Hive API), Libraries for Web Workers decoratedFib(), Expanding Functions with Prototypes deepEqual() method, Testing with QUnit defer() method, Offline Loading with a Data Store degradation, handling, Testing JavaScript Applications deleteEach() method, Deleting Data doConditionalLoad() method, Offline Loading with a Data Store DOM (Document Object Model), The Web As Application Platform, Developing Web Applications, Testing JavaScript Applications downloading events, Events Drag and Drop widget, JavaScript Tools You Should Know drag-and-drop, Selenium Commands, Files, Drag-and-Drop Dragonfly, Opera, JavaScript’s Triumph, A Pattern for Reuse of Multithread Processing drop event (DOM), Drag-and-Drop drop handler example, Working with Files drop zone example, Putting It All Together DSt library, DSt E Eclipse, JavaScript Tools You Should Know ECMAScript objects, The Worker Environment Emacs JS2 mode, JavaScript Tools You Should Know email form input, New Form Types enclosing scope, Lambda Functions Are Powerful $.encode() method (Hive API), Libraries for Web Workers engines available in JQuery, jStore equal() method, A Simple Example, Testing with QUnit Erlang Yaws, Web Socket Example, Erlang Yaws errors, Retrieving Data, Events, Testing and Debugging Web Workers, Geolocation ETags, Offline Loading with a Data Store event loops, Splitting Up Work Through Web Workers, JavaScript Tools You Should Know Event Machine, Ruby, Ruby Event Machine Events specs, Microdata every() method, Array Iteration Operations expanding functions with prototypes, Expanding Functions with Prototypes, Expanding Functions with Prototypes extending base types, Prototypes and How to Expand Objects ExtJS, JavaScript’s Triumph, Lambda Functions Are Powerful, Currying and Object Parameters, Selenium Commands, Using localStorage in ExtJS button with function as handler, Lambda Functions Are Powerful click event problems, Selenium Commands currying parameters in, Currying and Object Parameters library, JavaScript’s Triumph localStorage object in, Using localStorage in ExtJS F FALLBACK section, manifest, Structure of the Manifest File feature detection, A Pattern for Reuse of Multithread Processing Fibonacci sequences, calculating, Expanding Functions with Prototypes FileReader API, Working with Files files, Adding Power to Web Applications, Files, Filesystem, Debugging Manifest Files FileSystem API, Filesystem filter() method, Array Iteration Operations, You Can Extend Objects, Too Firebug, JavaScript’s Triumph, Lambda Functions Are Powerful, Closures, The localStorage and sessionStorage Objects, Working with Files, Splitting Up Work Through Web Workers, Testing and Debugging Web Workers, Testing and Debugging Web Workers, JavaScript Tools You Should Know anonymous functions, Lambda Functions Are Powerful colorizing in script tag, JavaScript Tools You Should Know debugging web workers in, Testing and Debugging Web Workers developer tools, Testing and Debugging Web Workers editing storage object, The localStorage and sessionStorage Objects full path file names, Working with Files scope chain, Closures and Web Workers, Splitting Up Work Through Web Workers Firefox, Mozilla, Prototypes and How to Expand Objects, Array Iteration Operations, Array Iteration Operations, Selenium, Constructing Tests with the Selenium IDE, The localStorage and sessionStorage Objects, IndexedDB, Blobs, Debugging Manifest Files, Debugging Manifest Files, Worker Communication, Testing and Debugging Web Workers, A Pattern for Reuse of Multithread Processing, A Pattern for Reuse of Multithread Processing, Web Sockets, Tags for Applications developers’ site, Prototypes and How to Expand Objects, Array Iteration Operations IndexedDB in, IndexedDB iteration methods in, Array Iteration Operations manifest file opt-in issue, Debugging Manifest Files MozBlobBuilder, Blobs MozWebSockets, Web Sockets passing complex JavaScript objects, Worker Communication postMessage() in, A Pattern for Reuse of Multithread Processing <progress> tag support, Tags for Applications Selenium IDE for, Selenium, Constructing Tests with the Selenium IDE, Debugging Manifest Files storage objects in, The localStorage and sessionStorage Objects web workers in, Testing and Debugging Web Workers, A Pattern for Reuse of Multithread Processing FireRainbow, JavaScript Tools You Should Know first class citizens, Lambda Functions Are Powerful, Functional Programming :first-child() CSS selector, New CSS Flanagan, David, The Power of JavaScript flow control, Selenium Commands for loops, alternatives to, Array Iteration Operations forks, Adding Power to Web Applications FormData interface, Uploading Files fractal computation examples, Web Worker Fractal Example, Web Worker Fractal Example Fulton, Jeff, Graphics, Canvas and SVG Fulton, Steve, Graphics, Canvas and SVG function expressions, Lambda Functions Are Powerful function generators, Closures function interceptor example, Expanding Functions with Prototypes Function prototype, Expanding Functions with Prototypes function statements, Lambda Functions Are Powerful functional programming, Functional Programming, Functional Programming, JavaScript Tools You Should Know functions, Lambda Functions Are Powerful, Lambda Functions Are Powerful, Closures, Functional Programming, Functional Programming anonymous, Lambda Functions Are Powerful as first class citizens, Lambda Functions Are Powerful, Functional Programming higher order, Functional Programming inner and outer, Closures functions, expanding with prototypes, Expanding Functions with Prototypes, Expanding Functions with Prototypes G Garret, Jesse James, Functional Programming Gears, Google, Developing Web Applications, Local Storage, Introduction to the Manifest File, Splitting Up Work Through Web Workers offline file access, Introduction to the Manifest File SQLite database, Local Storage worker pool, Splitting Up Work Through Web Workers geolocation, Maps, Geolocation $.get() method (Hive API), Libraries for Web Workers getBlob() method (BlobBuilder), Blobs getCurrentPosition() method, Geolocation getEval() method (Selenese API), Selenese Command Programming Interface getText() method (Selenese API), Selenese Command Programming Interface getXpathCount() method (Selenese API), Selenese Command Programming Interface Gmail, Google’s, Files, Web Sockets Goerzen, John, Functional Programming Google Chrome, Tags for Applications (see Chrome, Google) Google Gears, Developing Web Applications (see Gears, Google) Google search predefined vocabularies, Microdata Google Web Toolkit, JavaScript’s Triumph grid object (ExtJS), Using localStorage in ExtJS H handleButtonClick() function, A Simple Example Haskell, Currying and Object Parameters Head First jQuery (Benedetti & Cranley), JavaScript’s Triumph Hello World testing example, Selenese Command Programming Interface Hickey, Rich, JavaScript Tools You Should Know High Performance JavaScript (Zakas), The Power of JavaScript High Performance Web Sites (Souders), JavaScript Tools You Should Know higher order functions, Functional Programming hoisting, Lambda Functions Are Powerful <hr> tag, Accessibility Through WAI-ARIA, Accessibility Through WAI-ARIA, Accessibility Through WAI-ARIA HTML 5, Putting It All Together, Introduction to the Manifest File, Graphics, Web Worker Fractal Example, New Tags, New CSS, New Form Types, Canvas and SVG, New CSS Canvas, Graphics, Web Worker Fractal Example, Canvas and SVG manifest declaration example, Introduction to the Manifest File new CSS features, New CSS new form types, New Form Types new tags, New Tags, New CSS progress bar, Putting It All Together HTML5 Canvas (Fulton & Fulton), Graphics, Canvas and SVG HTML5 Graphics with SVG & CSS3 (Cagle), Canvas and SVG HTML5 Media (Powers), Audio and Video HTML5 Rocks tutorial, Canvas and SVG HTTP (Hypertext Transfer Protocol), Adding Power to Web Applications, Web Sockets, Erlang Yaws I I/O, Nonblocking I/O and Callbacks IDs, importance of assigning, Selenium if statement, Lambda Functions Are Powerful images, Functional Programming, Blobs, Working with Files, Drag-and-Drop, Filesystem, Filesystem, Debugging Manifest Files, Graphics, Graphics, Graphics, Web Worker Fractal Example, Canvas and SVG appending to documents, Working with Files and Canvas, Graphics editing, Filesystem, Graphics missing, Debugging Manifest Files progressive drawing, Web Worker Fractal Example scaling example, Functional Programming streaming video, Filesystem SVG, Canvas and SVG use of src attribute, Blobs, Graphics user access to, Drag-and-Drop <img> tag, Graphics, Accessibility Through WAI-ARIA importScripts() method, The Worker Environment independent event loops, Splitting Up Work Through Web Workers index() method, Adding Indexes IndexedDB, Adding Power to Web Applications, IndexedDB, Deleting Data indexes, adding/removing, Adding Indexes indexOf() method, Prototypes and How to Expand Objects info() method, Web Worker Fractal Example inner functions, Closures integration testing, Testing JavaScript Applications, Selenium interceptor methods, Expanding Functions with Prototypes Internet Explorer (IE), Microsoft, Array Iteration Operations, IndexedDB, A Pattern for Reuse of Multithread Processing iOS Selenium, testing applications for, Selenium RC and a Test Farm iPad/iPod/iPhone platform, Selenium RC and a Test Farm, A Pattern for Reuse of Multithread Processing isDuplicate() method, Deleting Data isElementPresent() method (Selenese API), Selenese Command Programming Interface isTextPresent() method (Selenese API), Selenese Command Programming Interface itemprop attribute, Microdata itemscope attribute, Microdata itemtype attribute, Microdata J JavaScript, JavaScript’s Triumph, JavaScript’s Triumph, Nonblocking I/O and Callbacks, Lambda Functions Are Powerful, Lambda Functions Are Powerful, Closures, Functional Programming, Functional Programming, Prototypes and How to Expand Objects, Prototypes and How to Expand Objects, Prototypes and How to Expand Objects, Expanding Functions with Prototypes, Prototypes and How to Expand Objects, Expanding Functions with Prototypes, Expanding Functions with Prototypes, Currying and Object Parameters, Array Iteration Operations, You Can Extend Objects, Too, You Can Extend Objects, Too, Testing JavaScript Applications, Splitting Up Work Through Web Workers, Worker Communication, JavaScript Tools You Should Know, JavaScript Tools You Should Know, JavaScript Tools You Should Know array iteration operations, Array Iteration Operations, You Can Extend Objects, Too closures, Closures currying and object parameters, Currying and Object Parameters expanding functions, Expanding Functions with Prototypes, Expanding Functions with Prototypes expanding objects, Prototypes and How to Expand Objects, Prototypes and How to Expand Objects extending objects, You Can Extend Objects, Too function statement and function expression, Lambda Functions Are Powerful functional programming in, Functional Programming, Functional Programming functions act as data in, Lambda Functions Are Powerful helpful tools for, JavaScript Tools You Should Know, JavaScript Tools You Should Know libraries, JavaScript’s Triumph nonblocking I/O and callbacks, Nonblocking I/O and Callbacks passing objects in Firefox, Worker Communication primitives in, Prototypes and How to Expand Objects prototypes, Prototypes and How to Expand Objects, Expanding Functions with Prototypes recent improvements in, JavaScript’s Triumph runtime event loop, Splitting Up Work Through Web Workers runtime model, Testing JavaScript Applications syntax checker, JavaScript Tools You Should Know JavaScript Patterns (Stefanov), The Power of JavaScript JavaScript: The Definitive Guide (Flanagan), The Power of JavaScript JavaScript: The Good Parts (Crockford), JavaScript’s Triumph, The Power of JavaScript, JavaScript Tools You Should Know jQuery, JavaScript’s Triumph, Functional Programming, DSt, jStore, IndexedDB, IndexedDB, Libraries for Web Workers DSt plug-in, DSt Hive extension, Libraries for Web Workers IndexedDB plug-in, IndexedDB, IndexedDB jStore plug-in, jStore library, JavaScript’s Triumph, Functional Programming jQuery Cookbook (Lindley), JavaScript’s Triumph JS2 mode, Emacs, JavaScript Tools You Should Know JSBeautifier, JavaScript Tools You Should Know JSLint, The Power of JavaScript, JavaScript Tools You Should Know JSMin, JavaScript Tools You Should Know JSON manifest file, Introduction to the Manifest File JsonStore object, Offline Loading with a Data Store jStore plug-in, jStore L Lambda Calculus, Lambda Functions Are Powerful lambda functions, Lambda Functions Are Powerful lastIndexOf(), Prototypes and How to Expand Objects libraries, JavaScript’s Triumph, Libraries for Web Workers Lindley, Cody, JavaScript’s Triumph Lisp lambdas, Lambda Functions Are Powerful list recursion, Functional Programming list test examples, Testing JavaScript Applications load() method (JSON), Offline Loading with a Data Store local data storage, Adding Power to Web Applications, Local Storage, jStore local state provider, ExtJS, Using localStorage in ExtJS localStorage object, The localStorage and sessionStorage Objects, Using localStorage in ExtJS, Storing Changes for a Later Server Sync location object, The Worker Environment loops, Array Iteration Operations, Selenium Commands, Splitting Up Work Through Web Workers, Splitting Up Work Through Web Workers, A Pattern for Reuse of Multithread Processing for, Array Iteration Operations independent event, Splitting Up Work Through Web Workers runtime event, Splitting Up Work Through Web Workers and Selenium, Selenium Commands while, A Pattern for Reuse of Multithread Processing M macros, recording web, Selenium Mandelbrot computation examples, Web Worker Fractal Example, Web Worker Fractal Example manifest file, Adding Power to Web Applications, Introduction to the Manifest File, Debugging Manifest Files map() method, Array Iteration Operations, You Can Extend Objects, Too match() method, Prototypes and How to Expand Objects McCarthy, John, Lambda Functions Are Powerful MD5 checksum, Updates to the Manifest File memory leaks, Selenium Commands <meter> tag, Tags for Applications microdata, Microdata Microsoft Internet Explorer, Array Iteration Operations, IndexedDB, A Pattern for Reuse of Multithread Processing minification, JavaScript Tools You Should Know MongoDB, IndexedDB mouseDown command (Selenium), Selenium Commands mouseOver command (Selenium), Selenium Commands mouseUp command (Selenium), Selenium Commands MozBlobBuilder, Blobs Mozilla Firefox, Prototypes and How to Expand Objects (see Firefox, Mozilla) mozSlice() method (Firefox), Blobs MozWebSockets, Web Sockets N name/value pairs, Currying and Object Parameters navigator object, The Worker Environment .NET/CLR, Web Socket Example NETWORK section, manifest, Structure of the Manifest File node trees, You Can Extend Objects, Too Node.js, Web Sockets, Web Socket Example, JavaScript Tools You Should Know nonblocking I/O, Nonblocking I/O and Callbacks :not() CSS selector, New CSS notDeepEqual() method, Testing with QUnit notEqual() method, Testing with QUnit notStrictEqual() method, Testing with QUnit noupdate events, Events :nth-child() CSS selector, New CSS number form input, New Form Types numbers, Lambda Functions Are Powerful, Prototypes and How to Expand Objects, Prototypes and How to Expand Objects, Expanding Functions with Prototypes, Expanding Functions with Prototypes, Expanding Functions with Prototypes, Array Iteration Operations cubing example, Expanding Functions with Prototypes Fibonacci calculation examples, Expanding Functions with Prototypes, Expanding Functions with Prototypes as objects, Prototypes and How to Expand Objects squaring examples, Lambda Functions Are Powerful, Prototypes and How to Expand Objects, Array Iteration Operations O object parameters, Currying and Object Parameters object stores, IndexedDB, IndexedDB, Retrieving Data objects, extending, You Can Extend Objects, Too Offer-Aggregates specs, Microdata Offers specs, Microdata offline use, Local Storage, Offline Loading with a Data Store, Offline Loading with a Data Store, Storing Changes for a Later Server Sync, Introduction to the Manifest File, Debugging Manifest Files data access, Local Storage loading with data store, Offline Loading with a Data Store, Offline Loading with a Data Store manifest file, Introduction to the Manifest File, Debugging Manifest Files storing changes, Storing Changes for a Later Server Sync ok() method, Testing with QUnit onclose() method, The Web Sockets Interface onmessage() method, Using Web Workers, Web Worker Fractal Example, A Pattern for Reuse of Multithread Processing onopen() method, The Web Sockets Interface open command (Selenium), Selenium Commands Opera Dragonfly, JavaScript’s Triumph, A Pattern for Reuse of Multithread Processing Organizations specs, Microdata outer functions, Closures O’Reilly Answers website, The Power of JavaScript O’Sullivan, Bryan, Functional Programming P parameter blocks, Currying and Object Parameters path() method, You Can Extend Objects, Too pattern for reuse of multithread processing, A Pattern for Reuse of Multithread Processing, A Pattern for Reuse of Multithread Processing Payne, Alex, Functional Programming People specs, Microdata persistent local storage, Local Storage PhoneGap, Developing Web Applications PHP, Lambda Functions Are Powerful phpUnderControl, Selenese Command Programming Interface PHPUnit testing framework, Automatically Running Tests, Selenese Command Programming Interface pixel, drawing a, Web Worker Fractal Example PollenJS library, Libraries for Web Workers populate_form() method (DSt), DSt populating (example), Prototypes and How to Expand Objects port 443 (wss), Setting Up a Web Socket port 80 (ws), Setting Up a Web Socket port 8080, Web Socket Example $.post() method (Hive API), Libraries for Web Workers postMessage() method, Using Web Workers, A Pattern for Reuse of Multithread Processing, A Pattern for Reuse of Multithread Processing Powers, Shelley, Audio and Video PreloadStore object (JSON), Offline Loading with a Data Store pretty printer example, JavaScript Tools You Should Know primitives in JavaScript, Prototypes and How to Expand Objects Products specs, Microdata Programming Scala (Wampler & Payne), Functional Programming progress events, Events progress indicator examples, Putting It All Together, Tags for Applications <progress> tag, Tags for Applications prompt() method, Nonblocking I/O and Callbacks prototype object, Prototypes and How to Expand Objects prototypes, expanding functions with, Expanding Functions with Prototypes, Expanding Functions with Prototypes Q query access, IndexedDB QUnit, Testing JavaScript Applications, QUnit, Testing with QUnit, Running QUnit from Selenium R race conditions, IndexedDB, Splitting Up Work Through Web Workers raises() method, Testing with QUnit rar files, Drag-and-Drop RC server, Selenium, Selenium readAsArrayBuffer() method (FileReader), Working with Files readAsBinaryString() method (FileReader), Working with Files readAsText() method (FileReader), Working with Files readDataAsURL() method (FileReader), Working with Files Real World Haskell (Goerzen & Stewart), Functional Programming recall() method (DSt), DSt reduce(), reduceRight() methods, Array Iteration Operations refresh command (Selenium), Selenium Commands remove() method, Deleting Data replace() method, Prototypes and How to Expand Objects required attribute (forms), New Form Types Resig, John, JavaScript’s Triumph reuse of multithread processing, A Pattern for Reuse of Multithread Processing, A Pattern for Reuse of Multithread Processing Review-Aggregates specs, Microdata Reviews specs, Microdata revokeBlobURL() method, Blobs Rhino, JavaScript Tools You Should Know role attribute, Accessibility Through WAI-ARIA route finder, Maps Ruby, Web Socket Example Ruby Event Machine, Ruby Event Machine run function example, A Pattern for Reuse of Multithread Processing run() method, Web Worker Fractal Example running average example, Array Iteration Operations runtime model, JavaScript, Testing JavaScript Applications S Safari Nightly builds, Blobs Safari, Apple’s, JavaScript’s Triumph, A Pattern for Reuse of Multithread Processing, Libraries for Web Workers, Web Sockets same origin policy, The localStorage and sessionStorage Objects, IndexedDB sandboxed environment, Developing Web Applications, Filesystem save queue examples, Storing Changes for a Later Server Sync Scala, Web Socket Example Scalable Vector Graphics, Canvas and SVG scaling images, Functional Programming scope, Lambda Functions Are Powerful, Closures <script> tag, The Worker Environment search form input, New Form Types Selenese, Selenium Commands, Selenese Command Programming Interface, Selenese Command Programming Interface Selenium, Testing JavaScript Applications, Selenium, Selenium, Selenium, Selenium Commands, Selenium Commands, Selenium Commands, Constructing Tests with the Selenium IDE, Constructing Tests with the Selenium IDE, Automatically Running Tests, Automatically Running Tests, Selenese Command Programming Interface, Selenese Command Programming Interface, Running QUnit from Selenium, Drag-and-Drop automatically running tests, Automatically Running Tests, Automatically Running Tests commands, Selenium Commands, Selenium Commands constructing tests, Constructing Tests with the Selenium IDE example tests, Selenium IDE, Selenium, Constructing Tests with the Selenium IDE location options, Selenium Commands no drag-and-drop, Drag-and-Drop running QUnit from, Running QUnit from Selenium Selenese, Selenese Command Programming Interface, Selenese Command Programming Interface test table, Selenium Selenium Grid, Automatically Running Tests Selenium RC server, Selenium, Selenium RC and a Test Farm self object, The Worker Environment Sencha ExtJS library, JavaScript’s Triumph send(“data”) method, The Web Sockets Interface server delay, Developing Web Applications, Web Sockets server polling, Web Sockets server-side testing, Testing JavaScript Applications, Testing JavaScript Applications, Selenese Command Programming Interface sessionStorage object, The localStorage and sessionStorage Objects, Using localStorage in ExtJS setInterval() method, Expanding Functions with Prototypes, The Worker Environment setTimeout() method, Expanding Functions with Prototypes, Testing with QUnit, The Worker Environment, A Pattern for Reuse of Multithread Processing, A Pattern for Reuse of Multithread Processing setVersion transaction, Adding Indexes side effects, Functional Programming single-step mode, Selenium sleep() method, Selenese Command Programming Interface slice() method, Prototypes and How to Expand Objects, Blobs slider, form, New Form Types smartphones, Developing Web Applications some() method, Array Iteration Operations Souders, Steve, JavaScript Tools You Should Know speech input type, New Form Types Speed Tracer, JavaScript Tools You Should Know speed, data storage and, Local Storage split() method, Prototypes and How to Expand Objects SQL Injection attacks, IndexedDB SQLite versus IndexedDB, IndexedDB squaring numbers example, Prototypes and How to Expand Objects src attribute, Audio and Video StackOverflow website, The Power of JavaScript startWorker() method, Web Worker Fractal Example static data storage, Local Storage Stefanov, Stoyan, The Power of JavaScript step through, Selenium, Testing and Debugging Web Workers Stewart, Donald Bruce, Functional Programming stock price examples, Web Socket Example, Ruby Event Machine stop() method, A Pattern for Reuse of Multithread Processing storage events, The localStorage and sessionStorage Objects storage viewer widget, The localStorage and sessionStorage Objects $.storage() method (Hive API), Libraries for Web Workers store() method (DSt), DSt store_form() method (DSt), DSt strictEqual() method, Testing with QUnit string token replacement, Prototypes and How to Expand Objects strings, methods for, Prototypes and How to Expand Objects Structure and Interpretation of Computer Programs (Abelson & Sussman), Functional Programming structured data, query access to, IndexedDB subclassing, Currying and Object Parameters Sussman, Gerald Jay, Functional Programming SVG, Canvas and SVG <svg> tag, Graphics Symfony Yaml Library, Updates to the Manifest File T tar files, Drag-and-Drop TCP socket, Web Socket Protocol TCP/IP sockets, Web Sockets tel form input, New Form Types test machines, Automatically Running Tests test suites, Testing JavaScript Applications, QUnit, Testing with QUnit, Selenium, Selenium RC and a Test Farm, Selenium, Selenium, Running QUnit from Selenium programming language based, Selenium QUnit, QUnit, Testing with QUnit, Selenium, Running QUnit from Selenium Selenium, Selenium, Selenium RC and a Test Farm server-side, Testing JavaScript Applications Test-driven development, Testing JavaScript Applications, Testing JavaScript Applications thread safety, Splitting Up Work Through Web Workers threads, Adding Power to Web Applications time form input, New Form Types title attribute, Accessibility Through WAI-ARIA transaction object, database, IndexedDB transaction.abort() method (jQuery), IndexedDB transaction.done() method (jQuery), IndexedDB True Type font files, New CSS type command (Selenium), Selenium Commands U undefined value, Functional Programming unit testing, Testing JavaScript Applications update() method (IndexedDB), Adding and Updating Records updateEach() method (IndexedDB), Adding and Updating Records uploading files, Uploading Files URLs, QUnit, Blobs, Working with Files, Structure of the Manifest File, Events, Events, Debugging Manifest Files, The Web Sockets Interface adding ?

For instance, he may know that it will run on Python version 3.0 on Linux, along with specific versions of all the supporting software. The web application developer has no such confidence. Users will come to the site using Firefox, Internet Explorer, Chrome, Safari, and Opera—and several versions of each. So test suites must be able to handle testing across a number of browsers and operating systems, each of which is a little bit different. There are two main sources of differences. First, there are differences in the language itself among the different browsers. For example, the keyword const is supported by Firefox, but not by Internet Explorer. Second, many HTML interfaces exist only in particular browsers or browser versions.

pages: 924 words: 196,343

JavaScript & jQuery: The Missing Manual
by David Sawyer McFarland
Published 28 Oct 2011

, Negating a condition, Nesting Conditional Statements, Negating a condition, Nesting Conditional Statements NOT operator, Negating a condition, Nesting Conditional Statements, Negating a condition, Nesting Conditional Statements Expression Web Designer, Commercial Software external HTML files, loading into web page, Talking to the Web Server, The get() and post() Functions, Using the load() Function, Using the load() Function, The programming, The programming, The programming, The programming, The get() and post() Functions external JavaScript files, External JavaScript Files, External JavaScript Files, External JavaScript Files, External JavaScript Files, External JavaScript Files, External JavaScript Files, Attaching an External JavaScript File, Attaching an External JavaScript File, Using External JavaScript Files, Using External JavaScript Files, Using External JavaScript Files, Incorrect Path to External JavaScript File, Disappearing Variables and Functions, Incorrect Paths Within External JavaScript Files, Disappearing Variables and Functions attaching to web pages, External JavaScript Files, External JavaScript Files, Attaching an External JavaScript File, Attaching an External JavaScript File multiple, order of, External JavaScript Files path errors involving, Incorrect Path to External JavaScript File, Disappearing Variables and Functions, Incorrect Paths Within External JavaScript Files, Disappearing Variables and Functions external links, opening in new window, Opening External Links in a New Window, Opening External Links in a New Window, Opening External Links in a New Window, Opening External Links in a New Window, Opening External Links in a New Window F fadeIn() function, jQuery, Attaching an External JavaScript File, Fading Elements In and Out fadeOut() function, jQuery, Acting on Each Element in a Selection, Fading Elements In and Out fadeTo() function, jQuery, Fading Elements In and Out, Traversing the DOM fadeToggle() function, jQuery, Fading Elements In and Out FancyBox plug-in, Advanced Gallery with jQuery FancyBox, Tutorial: FancyBox Photo Gallery, The Basics, The Basics, Creating a Gallery of Images, The Basics, The Basics, Creating a Gallery of Images, The Basics, The Basics, The Basics, The Basics, Creating a Gallery of Images, Creating a Gallery of Images, Customizing FancyBox, Tutorial: FancyBox Photo Gallery, FancyBox options, FancyBox options, FancyBox options, Styling FancyBox, Styling FancyBox, Styling FancyBox, Styling FancyBox, Tutorial: FancyBox Photo Gallery, Tutorial: FancyBox Photo Gallery, Tutorial: FancyBox Photo Gallery, Tutorial: FancyBox Photo Gallery, Opening Pages in a Window on the Page, Tutorial: Opening a Page Within a Page, Opening Pages in a Window on the Page, Tutorial: Opening a Page Within a Page, Tutorial: Opening a Page Within a Page, Tutorial: Opening a Page Within a Page, Tutorial: Opening a Page Within a Page, Tutorial: Opening a Page Within a Page CSS sprites used by, Styling FancyBox customizing, Customizing FancyBox, Tutorial: FancyBox Photo Gallery, Tutorial: FancyBox Photo Gallery downloading files for, The Basics, Creating a Gallery of Images, The Basics, Creating a Gallery of Images gallery page for, setting up, The Basics, Creating a Gallery of Images, The Basics, The Basics, Creating a Gallery of Images opening a page within a page, Opening Pages in a Window on the Page, Tutorial: Opening a Page Within a Page, Opening Pages in a Window on the Page, Tutorial: Opening a Page Within a Page, Tutorial: Opening a Page Within a Page, Tutorial: Opening a Page Within a Page, Tutorial: Opening a Page Within a Page, Tutorial: Opening a Page Within a Page fancybox.png file, Styling FancyBox FAQ (Frequently Asked Questions) tutorial, Tutorial: A One-Page FAQ, The Programming, The Programming, The Programming fields in forms, Form Events, Understanding Forms, Selecting Form Elements, Selecting Form Elements, Getting and Setting the Value of a Form Element, Selecting Form Elements, Selecting Form Elements, Getting and Setting the Value of a Form Element, Getting and Setting the Value of a Form Element, Getting and Setting the Value of a Form Element, Getting and Setting the Value of a Form Element, Getting and Setting the Value of a Form Element, Getting and Setting the Value of a Form Element, Getting and Setting the Value of a Form Element, Getting and Setting the Value of a Form Element, Determining Whether Buttons and Boxes Are Checked, Determining Whether Buttons and Boxes Are Checked, Focus, Focus, Change, Focusing the First Field in a Form, Disabling and Enabling Fields, Hiding and Showing Form Options, Hiding and Showing Form Options, Tutorial: Basic Form Enhancements, Hiding and Showing Form Options, Tutorial: Basic Form Enhancements, Focusing a Field, Disabling Form Fields, Hiding Form Fields, Hiding Form Fields, Advanced Validation, Advanced error messages changing value of, Change checking status of, Determining Whether Buttons and Boxes Are Checked disabling, Disabling and Enabling Fields focus on, Form Events, Focus, Focus, Focusing the First Field in a Form, Focusing a Field getting value of, Getting and Setting the Value of a Form Element, Getting and Setting the Value of a Form Element, Getting and Setting the Value of a Form Element, Determining Whether Buttons and Boxes Are Checked hiding, Hiding and Showing Form Options, Hiding and Showing Form Options, Hiding Form Fields, Hiding Form Fields selecting, Selecting Form Elements, Getting and Setting the Value of a Form Element, Selecting Form Elements, Getting and Setting the Value of a Form Element setting value of, Getting and Setting the Value of a Form Element, Getting and Setting the Value of a Form Element, Getting and Setting the Value of a Form Element, Getting and Setting the Value of a Form Element showing, Hiding and Showing Form Options, Tutorial: Basic Form Enhancements, Tutorial: Basic Form Enhancements tags for, Understanding Forms, Selecting Form Elements, Selecting Form Elements validating, Advanced Validation, Advanced error messages filters for selectors, jQuery Filters, Selecting Form Elements find() function, jQuery, Tutorial: Using the get() Function, Optimizing Your Selectors, Traversing the DOM, Traversing the DOM Firebug plug-in, The Firefox JavaScript Console, Replacing and Removing Selections, Disappearing Variables and Functions, Installing and Turning On Firebug, Installing and Turning On Firebug, Using console.log() to Track Script Progress, Using console.log() to Track Script Progress, Tutorial: Using the Firebug Console, Tutorial: Using the Firebug Console, Tutorial: Using the Firebug Console, Tutorial: Using the Firebug Console, More Powerful Debugging, More Powerful Debugging, More Powerful Debugging, Watching your script installing, Installing and Turning On Firebug Firefox, Tracking Down Errors, The Firefox JavaScript Console, The Firefox JavaScript Console, The Firefox JavaScript Console, The Firefox JavaScript Console JavaScript console in, Tracking Down Errors, The Firefox JavaScript Console, The Firefox JavaScript Console, The Firefox JavaScript Console, The Firefox JavaScript Console flags, boolean data type used for, Adding a Backup Plan Flash, Introducing Programming Flickr, Introducing JSONP, Tutorial: Adding Flickr Images to Your Site, Constructing the URL, Constructing the URL, A few other options for the public photos feed, Understanding the Flickr JSON Feed, Tutorial: Adding Flickr Images to Your Site, Tutorial: Adding Flickr Images to Your Site images from, adding to web page, Introducing JSONP, Tutorial: Adding Flickr Images to Your Site, Constructing the URL, Constructing the URL, A few other options for the public photos feed, Understanding the Flickr JSON Feed, Tutorial: Adding Flickr Images to Your Site, Tutorial: Adding Flickr Images to Your Site floor() method, Match object, Creating a Random Number focus event, Form Events, Focus, Focus focus for form fields, Form Events, Focus, Focus, Focusing the First Field in a Form, Focusing a Field focus() function, jQuery, Focus, Focusing the First Field in a Form, Focusing a Field focus() method, window object, Use the window reference for loops, For Loops, Do/While Loops, For Loops, Do/While Loops Form plug-in, Adding Google Maps to Your Site form tag, HTML, Enhancing Web Forms, Selecting Form Elements, Understanding Forms, Understanding Forms, Selecting Form Elements forms, Writing Your First JavaScript Program, Form Events, Enhancing Web Forms, Adding Smarts to Your Forms, Understanding Forms, Understanding Forms, Selecting Form Elements, Selecting Form Elements, Form Events, Form Events, Submit, Submit, Click, Adding Smarts to Your Forms, Adding Smarts to Your Forms, Advanced Validation, Advanced error messages events for, Form Events, Form Events, Submit, Click fields in, Selecting Form Elements getting values of, Selecting Form Elements in HTML5, Writing Your First JavaScript Program validating, Advanced Validation, Advanced error messages Frequently Asked Questions (FAQ) tutorial, Tutorial: A One-Page FAQ, The Programming, The Programming functions, jQuery, Chaining functions, Changing Multiple CSS Properties at Once, Anonymous Functions, Anonymous Functions, The hover() event anonymous, Anonymous Functions, Anonymous Functions, The hover() event chaining, Chaining functions, Changing Multiple CSS Properties at Once functions, user-defined in JavaScript, Functions: Turn Useful Code Into Reusable Commands, Tutorial: A Simple Quiz, Functions: Turn Useful Code Into Reusable Commands, Mini-Tutorial, Functions: Turn Useful Code Into Reusable Commands, Functions: Turn Useful Code Into Reusable Commands, Functions: Turn Useful Code Into Reusable Commands, Mini-Tutorial, Mini-Tutorial, Giving Information to Your Functions, Giving Information to Your Functions, Retrieving Information from Functions, Retrieving Information from Functions, Keeping Variables from Colliding, Keeping Variables from Colliding, Keeping Variables from Colliding, Keeping Variables from Colliding, Keeping Variables from Colliding, Keeping Variables from Colliding, Keeping Variables from Colliding, Keeping Variables from Colliding, Tutorial: A Simple Quiz, A function for selecting a random number calling, Functions: Turn Useful Code Into Reusable Commands creating, Functions: Turn Useful Code Into Reusable Commands, Mini-Tutorial, Mini-Tutorial, Mini-Tutorial for random numbers, A function for selecting a random number naming, Functions: Turn Useful Code Into Reusable Commands returning a value from, Retrieving Information from Functions, Keeping Variables from Colliding, Keeping Variables from Colliding, Keeping Variables from Colliding scope of variables in, Keeping Variables from Colliding, Keeping Variables from Colliding, Keeping Variables from Colliding G get() function, jQuery, The get() and post() Functions, The get() and post() Functions, Tutorial: Using the get() Function, Overview, The programming, The programming getDate() method, Date object, Dates and Times getDay() method, Date object, Dates and Times, Getting the Day of the Week getElementById() method, document object, Understanding the Document Object Model getElementsByTagName() method, document object, Understanding the Document Object Model getFullYear() method, Date object, Dates and Times getHours() method, Date object, Dates and Times, Getting the Month, Getting the Time, Getting the Time, Padding single digits, Creating a Date Other Than Today getJSON() function, jQuery, JSON, Complex JSON Objects, Complex JSON Objects, Introducing JSONP, Using the $.getJSON() Function getMinutes() method, Date object, Dates and Times, Getting the Day of the Week, Getting the Time, Getting the Time, Padding single digits, Padding single digits getMonth() method, Date object, Dates and Times, Getting the Month getSeconds() method, Date object, Dates and Times, Getting the Day of the Week, Getting the Time, Getting the Time, Padding single digits getTime() method, Date object, Dates and Times global variables, Keeping Variables from Colliding, Tutorial: A Simple Quiz, Keeping Variables from Colliding, Tutorial: A Simple Quiz GoMap plug-in, Adding Google Maps to Your Site, GoMap Tutorial, Adding Google Maps to Your Site, Adding Google Maps to Your Site, Adding Google Maps to Your Site, Adding Google Maps to Your Site, Adding Google Maps to Your Site, Adding Google Maps to Your Site, Setting a Location for the Map, Other GoMap Options, Setting a Location for the Map, Setting a Location for the Map, Setting a Location for the Map, Other GoMap Options, Other GoMap Options, Other GoMap Options, Other GoMap Options, Other GoMap Options, Other GoMap Options, Adding Markers, Adding Markers, Adding Markers, Adding Markers, Adding Markers, Adding Markers, Adding Markers, Adding Markers, Adding Markers, Adding Markers, Adding Information Windows to Markers, GoMap Tutorial, GoMap Tutorial, GoMap Tutorial, GoMap Tutorial information windows, adding, Adding Information Windows to Markers map location, setting, Setting a Location for the Map, Other GoMap Options, Setting a Location for the Map, Other GoMap Options markers in map, adding, Adding Markers, Adding Markers, Adding Markers, Adding Markers, Adding Markers, Adding Markers navigation controls, removing, Other GoMap Options scale of, Other GoMap Options marker for, adding, Other GoMap Options type of map, Other GoMap Options, Other GoMap Options setting, Other GoMap Options switching between, Other GoMap Options using, Adding Google Maps to Your Site, Adding Google Maps to Your Site, Adding Google Maps to Your Site, Adding Google Maps to Your Site Google Docs (web site), What Is JavaScript?

Installing and Turning On Firebug You can find the extension at www.getfirebug.com, or from the Mozilla Add-Ons site. Here’s how to install it: Visit http://addons.mozilla.org/firefox/addon/firebug using Firefox, and click the “Add to Firefox” button. To protect you from accidentally installing a malicious extension, Firefox stops your first attempt at installing the extension. A Software Installation window appears, warning you that malicious software is bad (oh, really?). Don’t worry; Firebug is perfectly safe. Click the Install Now button. Firefox installs the extension, but it won’t work until you restart Firefox. A small window appears explaining that very thing. Click the Restart button.

:), Ternary Operator, The Switch Statement, Ternary Operator, The Switch Statement text() function, jQuery, Adding Content to a Page, Adding Content as Few Times as Possible textarea tag, HTML, Understanding Forms, Selecting Form Elements textMate, Commercial Software TextWrangler, Free Programs The Complete CSS Guide (web site), Websites The SitePoint CSS Reference (web site), Websites The W3 Schools JavaScript tutorial (web site), Websites times, functions for, Dates and Times, Using External JavaScript Files, Getting the Time, Getting the Time, Changing hours to a.m. and p.m., Using External JavaScript Files titlePosition option, FancyBox, FancyBox options toFixed() method, JavaScript, Formatting Currency Values toggle event, The toggle() Event toggleClass() function, jQuery, Classes toLowerCase() method, strings, Changing the Case of a String toolbar property, windows, Window Properties tooltips, Adding Tooltips, Tooltips Tutorial, The HTML, The HTML, The HTML, The HTML, The HTML, The CSS, The CSS, The CSS, The JavaScript, The JavaScript, The JavaScript, Tooltips Tutorial, Tooltips Tutorial, Tooltips Tutorial, Tooltips Tutorial, Tooltips Tutorial, Tooltips Tutorial, Tooltips Tutorial, Tooltips Tutorial, Tooltips Tutorial, Tooltips Tutorial, Tooltips Tutorial, Tooltips Tutorial, Tooltips Tutorial, Tooltips Tutorial, Tooltips Tutorial CSS styles for, The CSS div tag for, The HTML, The HTML, Tooltips Tutorial hiding when page loads, The CSS, The JavaScript, Tooltips Tutorial mouseover event for, Tooltips Tutorial, Tooltips Tutorial, Tooltips Tutorial, Tooltips Tutorial, Tooltips Tutorial, Tooltips Tutorial, Tooltips Tutorial trigger for, The HTML, The HTML, Tooltips Tutorial tutorial for, The JavaScript, Tooltips Tutorial, Tooltips Tutorial, Tooltips Tutorial top property, windows, Window Properties toUpperCase() method, strings, Changing the Case of a String, Searching a String: indexOf() Technique, Changing the Case of a String, Searching a String: indexOf() Technique transitionIn option, FancyBox, FancyBox options transitionOut option, FancyBox, FancyBox options trigger, for tooltip, Adding Tooltips, The HTML, Tooltips Tutorial troubleshooting, The Firefox JavaScript Console, The Firefox JavaScript Console, The Firefox JavaScript Console, The Firefox JavaScript Console, The Firefox JavaScript Console, Displaying the Internet Explorer 9 Console, Displaying the Internet Explorer 9 Console, Opening the Chrome JavaScript Console, Accessing the Safari Error Console, Accessing the Safari Error Console, Accessing the Safari Error Console, Accessing the Safari Error Console, Tips for Writing Conditional Statements, Tutorial: Using Conditional Statements, Tutorial: Using Conditional Statements, Non-Closed Pairs Chrome JavaScript Console for, Opening the Chrome JavaScript Console, Accessing the Safari Error Console conditional statements, Tips for Writing Conditional Statements, Tutorial: Using Conditional Statements, Tutorial: Using Conditional Statements Firefox JavaScript Console for, The Firefox JavaScript Console, The Firefox JavaScript Console, The Firefox JavaScript Console, The Firefox JavaScript Console, The Firefox JavaScript Console Internet Explorer 9 Console for, Displaying the Internet Explorer 9 Console, Displaying the Internet Explorer 9 Console logic errors, Non-Closed Pairs Safari Error Console for, Accessing the Safari Error Console, Accessing the Safari Error Console, Accessing the Safari Error Console tutorials, Tutorial: Using Variables to Create Messages, Arrays, Tutorial: Using Variables to Create Messages, Tutorial: Asking for Information, Arrays, Arrays, Tutorial: Writing to a Web Page Using Arrays, A Quick Object Lesson, A Quick Object Lesson, A Quick Object Lesson, Tips for Writing Conditional Statements, Tutorial: Using Conditional Statements, Tutorial: Using Conditional Statements, Tutorial: Using Conditional Statements, Functions: Turn Useful Code Into Reusable Commands, Giving Information to Your Functions, Tutorial: A Simple Quiz, Tutorial: A Simple Quiz, Tutorial: A Simple Quiz, Tutorial: A Simple Quiz, Tutorial: A Simple Quiz, Tutorial: A Simple Quiz, Tutorial: A Simple Quiz, Tutorial: A Simple Quiz, Tutorial: A Simple Quiz, Automatic Pull Quotes, Programming, Overview, Overview, Programming, Programming, Programming, Tutorial: Introducing Events, Tutorial: Introducing Events, Tutorial: Introducing Events, Tutorial: Introducing Events, More jQuery Event Concepts, Tutorial: Login Slider, The Programming, Tutorial: Animated Dashboard, The Programming, The Programming, The Programming, Rollover Images, Tutorial: Adding Rollover Images, Overview of the Task, Overview of the Task, The Programming, The Programming, The Programming, The Programming, Tutorial: Photo Gallery with Effects, Overview of Task, Overview of Task, The Programming, The Programming, The Programming, Advanced Gallery with jQuery FancyBox, Styling FancyBox, Styling FancyBox, Tutorial: FancyBox Photo Gallery, Tutorial: FancyBox Photo Gallery, Tutorial: FancyBox Photo Gallery, Tutorial: FancyBox Photo Gallery, Tutorial: Basic Form Enhancements, Disabling Form Fields, Disabling Form Fields, Hiding Form Fields, Basic Validation, Basic Validation, Advanced Validation, Advanced Validation, Advanced Validation, Validating Checkboxes and Radio Buttons, Validating Checkboxes and Radio Buttons, Tabbed Panels Tutorial, Adding a Content Slider to Your Site, Tabbed Panels Tutorial, Tabbed Panels Tutorial, Tabbed Panels Tutorial, Adding a Content Slider to Your Site, The JavaScript, Tooltips Tutorial, Tooltips Tutorial, Tooltips Tutorial, Overview, The programming, The programming, Tutorial: Using the get() Function, Overview, The programming, Understanding the Flickr JSON Feed, Adding Google Maps to Your Site, Tutorial: Adding Flickr Images to Your Site, Tutorial: Adding Flickr Images to Your Site, Tutorial: Adding Flickr Images to Your Site, Tutorial: Adding Flickr Images to Your Site, Tutorial: Adding Flickr Images to Your Site, Adding Google Maps to Your Site, Adding Google Maps to Your Site, GoMap Tutorial, Debugging Tutorial, Debugging Tutorial Ajax, Overview, The programming, The programming, Tutorial: Using the get() Function, Overview, The programming, Tutorial: Adding Flickr Images to Your Site, Adding Google Maps to Your Site animated dashboard, Tutorial: Animated Dashboard, The Programming, The Programming, The Programming arrays, Tutorial: Writing to a Web Page Using Arrays, A Quick Object Lesson, A Quick Object Lesson, A Quick Object Lesson conditional statements, Tips for Writing Conditional Statements, Tutorial: Using Conditional Statements, Tutorial: Using Conditional Statements, Tutorial: Using Conditional Statements CSS selectors, Overview, Programming, Programming debugging, Debugging Tutorial, Debugging Tutorial effects, Tutorial: Login Slider, The Programming, Tutorial: Photo Gallery with Effects events, Tutorial: Introducing Events, Tutorial: Introducing Events, Tutorial: Introducing Events, Tutorial: Introducing Events, More jQuery Event Concepts Flickr, Understanding the Flickr JSON Feed, Adding Google Maps to Your Site, Tutorial: Adding Flickr Images to Your Site, Tutorial: Adding Flickr Images to Your Site, Tutorial: Adding Flickr Images to Your Site, Tutorial: Adding Flickr Images to Your Site, Adding Google Maps to Your Site form validation, Basic Validation, Basic Validation, Advanced Validation, Advanced Validation, Advanced Validation, Validating Checkboxes and Radio Buttons, Validating Checkboxes and Radio Buttons forms, Tutorial: Basic Form Enhancements, Disabling Form Fields, Disabling Form Fields, Hiding Form Fields functions, Functions: Turn Useful Code Into Reusable Commands, Giving Information to Your Functions, Tutorial: A Simple Quiz, Tutorial: A Simple Quiz GoMap plug-in, GoMap Tutorial images, Rollover Images, Overview of the Task, Overview of the Task, The Programming, The Programming, The Programming, The Programming, Overview of Task, Overview of Task, The Programming, The Programming, The Programming, Advanced Gallery with jQuery FancyBox, Styling FancyBox, Tutorial: FancyBox Photo Gallery, Tutorial: FancyBox Photo Gallery photo gallery, Styling FancyBox, Tutorial: FancyBox Photo Gallery, Tutorial: FancyBox Photo Gallery with FancyBox, Styling FancyBox, Tutorial: FancyBox Photo Gallery, Tutorial: FancyBox Photo Gallery pull quotes, Automatic Pull Quotes, Programming, Overview, Programming quiz, Tutorial: A Simple Quiz, Tutorial: A Simple Quiz, Tutorial: A Simple Quiz, Tutorial: A Simple Quiz, Tutorial: A Simple Quiz, Tutorial: A Simple Quiz, Tutorial: A Simple Quiz rollover images, Tutorial: Adding Rollover Images tabbed panels, Tabbed Panels Tutorial, Adding a Content Slider to Your Site, Tabbed Panels Tutorial, Tabbed Panels Tutorial, Tabbed Panels Tutorial, Adding a Content Slider to Your Site tooltips, The JavaScript, Tooltips Tutorial, Tooltips Tutorial, Tooltips Tutorial variables, Tutorial: Using Variables to Create Messages, Arrays, Tutorial: Using Variables to Create Messages, Tutorial: Asking for Information, Arrays, Arrays Twitter plug-in, Adding Google Maps to Your Site type attribute, script tag, How to Add JavaScript to a Page typeof operator, A Quick Object Lesson U U.S. phone numbers, regular expression for, U.S. phone number, Email address, Email address U.S.

pages: 435 words: 62,013

HTML5 Cookbook
by Christopher Schmitt and Kyle Simpson
Published 13 Sep 2011

Other browsers provide no feedback until the form is submitted. See Table 3-2 for a browser support chart. Table 3-2. Browsers supporting the email, url, and tel input types IE Firefox Chrome Safari Opera iOS Android 10 Platform Preview 2 4.0+ 10+ 4.0+ 11.0+ ✓ ✓ Figure 3-3. The email input field error messaging in Firefox 4 Figure 3-4. The email input field error messaging in Chrome 12 Figure 3-5. The url input field error messaging in Firefox 4 Figure 3-6. The url input field error messaging in the second Internet Explorer Platform Preview Customizing the default error message If you look closely at Figures 3-5 and 3-6, you’ll notice that the default error message varies from browser to browser.

Get the frameBuffer data: var fbData = event.frameBuffer; Set the step increment: var stepInc = (frameBufferLength / channels) / canvas.width; and set the wave amplitude: var waveAmp = canvas.height / 2; Next, reset canvas so the strokes don’t build on top of each other: canvas.width = canvas.width; Finally, build the stroke and set stroke properties: context.beginPath(); context.moveTo(0, waveAmp - fbData[0] * waveAmp); for(var i=1; i < canvas.width; i++){ context.lineTo(i, waveAmp - fbData[i*stepInc] * waveAmp); } context.strokeStyle = "#fff"; Add the stroke to canvas: context.stroke(); } and play the audio: audio.play(); } </script> Discussion Just as generating real-time audio with JavaScript (see Recipe 4.3) is limited to Firefox 4+, so is this method of audio visualization with canvas. This is because only the Mozilla Audio Data API allows you to access the key audio data (in this example, frameBuffer) necessary to create the canvas drawing. Further, this method of audio visualization must run on a web server, and it requires that the audio file reside on that same server due to Firefox security measures (https://wiki.mozilla.org/Audio_Data_API#Security). Note While this recipe makes use of the Mozilla Audio Data API, browsers (including Firefox) may support the Web Audio API from the W3C.

</video> Discussion Poster images can be a nice user enhancement, especially when the video doesn’t load or can’t be displayed. Consider a single-source .mp4 video viewed in Firefox, as shown in Figure 5-2. Figure 5-2. Since Firefox doesn’t support .mp4 files, the browser displays a dark gray box if there is no poster image specified Unfortunately, different browsers handle poster images differently: Firefox stretches the image to fill the dimensions of the player (see Recipe 5.3). Chrome keeps the image at its original size. Safari displays the poster image until the video data is loaded, at which point it displays the first frame from the video.

pages: 372 words: 67,140

Jenkins Continuous Integration Cookbook
by Alan Berg
Published 15 Mar 2012

The reason was that the dependencies in the Maven plugin for Selenium did not like the newer version of Firefox that was installed by an auto-update script. The resolution to the problem was to install the binary for Firefox 3.63 under the Jenkins home directory, and point directly at the binary in pom.xml, replacing: <browser>*firefox</browser> With: <browser>*firefox Path</browser> Where the Path is similar to /var/lib/Jenkins/firefox/firefox-bin. Another cause of issues is the need to create a custom profile for Firefox that includes helper plugins to stop pop ups or the rejection of self-signed certificates.

This recipe is one of the more pleasant ways for you to be reached. You will pull in the Jenkins RSS feeds using a Firefox add-on. This allows you to view the build process, while going about your everyday business. Getting ready You will need Firefox 5 or later installed on your computer and an account on at least one Jenkins instance, with a history of running Jobs. A plug for the developers If you like the add-on and want more features in the future, then it is enlightened in the self-interest to donate a few bucks at the add-on author's website. How to do it... Select the Firefox tab at the top-left hand side of the browser. In the Search box (top-right) with the title Search all add-ons, search for Jenkins.

In the Search box (top-right) with the title Search all add-ons, search for Jenkins. Click on the Install button for the Jenkins Build monitor. Restart Firefox. Select the Firefox tab at the top left-hand side of the browser. Enable the Add-On Bar by selecting Options, and then Add-On Bar. Now, at the bottom right-hand side of Firefox, you will see a small Jenkins icon. Right-click on the icon. Select the preferences, and the Feeds screen appears. Add a recognizable, but short, name for your Jenkins instance. For example, Plugin test server. Add a URL using the following structure for Feed URL:http://host:port/rssAll e.g.: http://localhost:8080/rssAll.

Engineering Security
by Peter Gutmann

The problem Threat Modelling 267 with this handler was that you weren’t limited to using just a plain URL but could insert anything you wanted, including Javascript which was then executed by Firefox when it was invoked, allowing an attacker to execute arbitrary (Javascript) code coming from an external source like a web page [167]. The assumption by Firefox was that the data that it was being fed would only come from a trusted source like an application that wanted to redirect the user to the application’s home page and not arbitrary data coming from an untrusted source on the Internet. By laundering it through the firefoxuri: handler an attacker could bypass the controls that Firefox normally placed on such code. URL Web page Browser Firefox Shell Firefox Javascript handler JS Engine Registry URI handlers Figure 76: DFD for presumed (top) and actual (bottom) Firefox URL handling The DFDs for the Firefox URL handling are shown in Figure 76, with the top half of the figure showing the (presumed) threat model in which the URL data comes from an unspecified source that doesn’t require any further checking.

References 425 [345] “Polaris: Virus-Safe Computing for Windows XP”, Marc Stiegler, Alan Karp, Ka-Ping Yee, Tyler Close and Mark Miller, Communications of the ACM, Vol.49, No.9 (September 2006), p.83. [346] “Abusing Firefox Extensions”, Roberto Liverani and Nick Freeman, presentation at Defcon 17, July 2009, https://www.defcon.org/images/defcon-17/dc-17-presentations/defcon-17-roberto_liveraninick_freeman-abusing_firefox.pdf. [347] “SSL Error Pages in Firefox 3.1”, Johnathan Nightingale, 6 November 2008, http://blog.johnath.com/2008/11/06/ssl-error-pages-in-firefox-31/. [348] “Crying Wolf: An Empirical Study of SSL Warning Effectiveness”, Joshua Sunshine, Serge Egelman, Hazim Almuhimedi, Neha Atri and Lorrie Cranor, Proceedings of the 18th Usenix Security Symposium (Security’09), August 2009, p.399. [349] “On the Challenges in Usable Security Lab Studies: Lessons Learned from Replicating a Study on SSL Warnings”, Andreas Sotirakopoulos, Kirstie Hawkey and Konstantin Beznosov, Proceedings of the 7th Symposium on Usable Security and Privacy (SOUPS’11), July 2011, Paper 3. [350] “Wan2tlk?

“Microsoft Internet Explorer Keyboard Shortcut Processing Vulnerability”, Secunia Research, 13 December 2005, http://secunia.com/secunia_research/2005-7/advisory/. [96] “Clickjacking”, Robert Hansen and Jeremiah Grossman, 12 September 2008, http://ha.ckers.org/blog/20080915/clickjacking/. [97] “This Week in HTML 5 — Episode 7”, Mark Pilgrim, 29 September 2008, http://blog.whatwg.org/this-week-in-html-5-episode-7. [98] “You’ve Been Warned: An Empirical Study of the Effectiveness of Web Browser Phishing Warnings”, Serge Egelman, Lorrie Cranor and Jason Hong, Proceedings of the 26th Conference on Human Factors in Computing Systems (CHI’08), April 2008, p.1065. [99] “Internet Explorer Suppressed “Download Dialog” Vulnerability”, Secunia Research, 13 December 2005, http://secunia.com/secunia_research/2005-21/advisory/. [100] “pop up XPInstall/security dialog when user is about to click”, Mozilla forum discussion, 9 August 2002, https://bugzilla.mozilla.org/show_bug.cgi?id=162020. [101] “Disable Extension Install Delay (Firefox)”, [95] http://kb.mozillazine.org/Disable_Extension_Install_Delay_(Firefox). [102] “MR Tech Disable XPI Install Delay”, Mel Reyes, 20 Apr 2006, https://addons.mozilla.org/firefox/775/. [103] “MR Tech Disable XPI Install Delay”, 23 March 2007, https://addons.mozilla.org/firefox/775/. [104] “Human Values, Ethics, and Design”, Batya Friedman and Peter Kahn, in “The Human-Computer Interaction Handbook: Fundamentals, Evolving Technologies and Emerging Applications”, L.

pages: 351 words: 123,876

Beautiful Testing: Leading Professionals Reveal How They Improve Software (Theory in Practice)
by Adam Goucher and Tim Riley
Published 13 Oct 2009

Sisyphus doesn’t install Firefox, but instead can launch any specific previously installed version of Firefox. This is good, in a way, as it allows you to easily substitute custom builds, such as special patched builds or debug builds. Still, it would be cool to just point at an installable binary and say, “Go!”—just pick your build, install it, and start throwing websites at it. Currently, the sequence is: pick an installed Firefox ‖ See “Testing Extensions and Firefox for Memory Leaks with a Debug Build” at https://wiki.mozilla.org/ MozillaQualityAssurance:Home_Page:Firefox_3.0_TestPlan:Leaks:LeakTesting-How-To and “Debugging memory leaks” at https://developer.mozilla.org/En/Debugging_memory_leaks.

When we first tried to scale the tests, we simply wanted to find a better way of running the leak tests. We needed something that would start Firefox, load a website, and then quit Firefox. Running a debug build provided the functionally to collect memory leak and assertion information, and to continue testing even if Firefox crashed. We wondered how to save a logfile. It turned out there was a preference to have leak data piped into a logfile. The next challenge was to be able to run this with different versions of Firefox. We had a special TraceMonkey build (TraceMonkey adds native-code compilation to Mozilla’s JavaScript engine) along with trunk, 3.0, and 3.5 builds.

Initially we thought of Firebug, but it could be any extension. This got us thinking about extension testing. We had had some problems with people thinking that Firefox was leaking badly, and frequently the problem turned out to be extensions leaking. Firefox wasn’t innocent of leaks, but we had come a long way in Firefox § See the “Free Download Top 1,000,000 Sites (Updated Daily)” link at http://alexa.com/topsites. 298 CHAPTER TWENTY-TWO 3.0 and 3.5 in cleaning this up. Consequently, the most likely source of leaks had dramatically shifted from Firefox itself to extensions. At that point in time, Sisyphus just ran a list of URLs and could spider them to any depth desired.

pages: 779 words: 116,439

Test-Driven Development With Python
by Harry J. W. Percival
Published 10 Jun 2014

The first test looks like this, and you can type it in using the PythonAnywhere editor just fine: from selenium import webdriver browser = webdriver.Firefox() browser.get('http://localhost:8000') assert 'Django' in browser.title But when you try and run it (in a Bash console), you’ll get an error: $ python3 functional_tests.py Traceback (most recent call last): File "tests.py", line 3, in <module> browser = webdriver.Firefox() File "/usr/local/lib/python3.3/site-packages/selenium/webdriver/firefox/webdrive self.binary, timeout), File "/usr/local/lib/python3.3/site-packages/selenium/webdriver/firefox/extensio self.binary.launch_browser(self.profile) File "/usr/local/lib/python3.3/site-packages/selenium/webdriver/firefox/firefox_ self.

The first test looks like this, and you can type it in using the PythonAnywhere editor just fine: from selenium import webdriver browser = webdriver.Firefox() browser.get('http://localhost:8000') assert 'Django' in browser.title But when you try and run it (in a Bash console), you’ll get an error: $ python3 functional_tests.py Traceback (most recent call last): File "tests.py", line 3, in <module> browser = webdriver.Firefox() File "/usr/local/lib/python3.3/site-packages/selenium/webdriver/firefox/webdrive self.binary, timeout), File "/usr/local/lib/python3.3/site-packages/selenium/webdriver/firefox/extensio self.binary.launch_browser(self.profile) File "/usr/local/lib/python3.3/site-packages/selenium/webdriver/firefox/firefox_ self._wait_until_connectable() File "/usr/local/lib/python3.3/site-packages/selenium/webdriver/firefox/firefox_ 409 www.it-ebooks.info self._get_firefox_output()) selenium.common.exceptions.WebDriverException: Message: 'The browser appears to have exited before we could connect. The output was: Error: no display specified\n' The fix is to use Xvfb, which stands for X Virtual Framebuffer. It will start up a “virtual” display, which Firefox can use even though the server doesn’t have a real one. If, instead, you see "ImportError, no module named selenium“, do a pip3 install --user selenium. The command xvfb-run will run the next command in Xvfb.

www.it-ebooks.info APPENDIX A PythonAnywhere Are you planning to use PythonAnywhere to follow along with this book? Here’s a few notes on how to get things working, specifically with regards to Selenium/Firefox tests, running the test server, and screenshots. If you haven’t already, you’ll need to sign up for a PythonAnywhere account. A free one should be fine. Running Firefox Selenium Sessions with Xvfb The next thing is that PythonAnywhere is a console-only environment, so it doesn’t have a display in which to pop up Firefox. But we can use a virtual display. In Chapter 1, when we write our first ever test, you’ll find things don’t work as expected. The first test looks like this, and you can type it in using the PythonAnywhere editor just fine: from selenium import webdriver browser = webdriver.Firefox() browser.get('http://localhost:8000') assert 'Django' in browser.title But when you try and run it (in a Bash console), you’ll get an error: $ python3 functional_tests.py Traceback (most recent call last): File "tests.py", line 3, in <module> browser = webdriver.Firefox() File "/usr/local/lib/python3.3/site-packages/selenium/webdriver/firefox/webdrive self.binary, timeout), File "/usr/local/lib/python3.3/site-packages/selenium/webdriver/firefox/extensio self.binary.launch_browser(self.profile) File "/usr/local/lib/python3.3/site-packages/selenium/webdriver/firefox/firefox_ self.

pages: 312 words: 52,762

Gray Hat Python: Python Programming for Hackers and Reverse Engineers
by Justin Seitz
Published 15 Feb 2009

Using a soft hooking technique, we can trap the data before it is encrypted and trap it again after it has been received and decrypted. Our target application will be the popular open-source web browser Mozilla Firefox.[34] For this exercise we are going to pretend that Firefox is closed source (otherwise it wouldn't be much fun now, would it?) and that it is our job to sniff data out of the firefox.exe process before it is encrypted and sent to a server. The most common form of encryption that Firefox performs is Secure Sockets Layer (SSL) encryption, so we'll choose that as the main target for our exercise. In order to track down the call or calls that are responsible for passing around the unencrypted data, you can use the technique for logging intermodular calls as described at http://forum.immunityinc.com/index.php?

The prototype of an exit hook callback function is slightly different in that it also has a ret parameter, which is the return value of the function (the value of EAX): def exit_hook( dbg, args, ret ): # Hook code here return DBG_CONTINUE To illustrate how to use an entry hook callback to sniff pre-encrypted traffic, open up a new Python file, name it firefox_hook.py, and punch out the following code. firefox_hook.py firefox_hook.py from pydbg import * from pydbg.defines import * import utils import sys dbg = pydbg() found_firefox = False # Let's set a global pattern that we can make the hook # search for pattern = "password" # This is our entry hook callback function # the argument we are interested in is args[1] def ssl_sniff( dbg, args ): # Now we read out the memory pointed to by the second argument # it is stored as an ASCII string, so we'll loop on a read until # we reach a NULL byte buffer = "" offset = 0 while 1: byte = dbg.read_process_memory( args[1] + offset, 1 ) if byte !

firefox_hook.py firefox_hook.py from pydbg import * from pydbg.defines import * import utils import sys dbg = pydbg() found_firefox = False # Let's set a global pattern that we can make the hook # search for pattern = "password" # This is our entry hook callback function # the argument we are interested in is args[1] def ssl_sniff( dbg, args ): # Now we read out the memory pointed to by the second argument # it is stored as an ASCII string, so we'll loop on a read until # we reach a NULL byte buffer = "" offset = 0 while 1: byte = dbg.read_process_memory( args[1] + offset, 1 ) if byte != "\x00": buffer += byte offset += 1 continue else: break if pattern in buffer: print "Pre-Encrypted: %s" % buffer return DBG_CONTINUE # Quick and dirty process enumeration to find firefox.exe for (pid, name) in dbg.enumerate_processes(): if name.lower() == "firefox.exe": found_firefox = True hooks = utils.hook_container() dbg.attach(pid) print "[*] Attaching to firefox.exe with PID: %d" % pid # Resolve the function address hook_address = dbg.func_resolve_debuggee("nspr4.dll","PR_Write") if hook_address: # Add the hook to the container. We aren't interested # in using an exit callback, so we set it to None.

pages: 328 words: 84,682

The Business of Platforms: Strategy in the Age of Digital Competition, Innovation, and Power
by Michael A. Cusumano , Annabelle Gawer and David B. Yoffie
Published 6 May 2019

Developers focused mostly on adapting the software for different operating systems, fixing bugs, and improving security, which could happen relatively quickly with a large number of developers working on the code.42 Mozilla introduced its first browser in June 2002, with innovative features such as tabbed browsing, the ability to select a word or phrase and search the web for the selected text, and the ability to store common information for automatically filling in forms.43 The next round of the browser wars truly opened with Mozilla’s release of Firefox in September 2004. Seeking to avoid software bloat and performance issues, two developers working for the Mozilla nonprofit foundation began what would become the Firefox browser in late 2002. Their goal was to produce a stand-alone browser that would be faster, simpler, and more secure. After its release, Firefox quickly began to eat into Internet Explorer’s market share. One source reported that Firefox had 4.5 percent of the browser market by the end of November 2004, while Internet Explorer’s share had dropped 5 percentage points to 89 percent.44 By the end of 2007, Firefox had grabbed 17 percent of browser usage, compared to 76 percent for IE.45 Why was Microsoft slipping so fast?

Despite its release in 2006, Firefox continued to gain ground, accounting for about 32 percent of web traffic by the end of 2009, while IE’s share fell to 56 percent. Firefox’s share remained flat for the next year or so, and then began a slow decline that left it with only 5 percent of the market by early 2018. Its losses were not IE’s gain, however, as the browser wars entered a new phase with the emergence of a new competitor in late 2008, Google’s Chrome. Google Chrome, 2008–2016: Google launched Chrome in September 2008. It gradually gained traction in the market and soon began gaining ground on IE and Firefox, turning the browser contest into a three horse race.

It gradually gained traction in the market and soon began gaining ground on IE and Firefox, turning the browser contest into a three horse race. By one measure, total web traffic using Chrome passed Firefox at the end of 2011 and overtook IE in the middle of 2012. Other measures of users show Chrome passing Firefox in mid-2014 and reaching a near tie with IE by early 2016. (See Figure 4-2.)51 FIGURE 4-2: DESKTOP BROWSER MARKET SHARE, MEASURED BY TOTAL PAGE VIEWS, 2008–2016 Constructed from data in StatCounter Global Stats, http://gs.statcounter.com/, accessed April 19, 2016. The trend was clear: Chrome rapidly took market share from both Firefox and IE in the years after its launch. When Google released the first version, it boasted that it had developed a new JavaScript engine that could execute JavaScript code ten times faster than competing browsers.

pages: 141 words: 9,896

Pragmatic Guide to JavaScript
by Christophe Porteneuve
Published 15 Nov 2010

In short, regular debugging can be done. I should confess, though, that my usual debugging cycle goes like this. First, code with either Safari or Firefox. Then verify and adjust (if needed) in “the other one” (either Firefox or Safari) and then in IE8, IE7, and IE6 (in that order). Finally, just to be sure, run a quick check in Opera and Chrome. Thus, I follow the sequence I use for XHTML/CSS development. And just like markup and styling, once you get JavaScript working all right in Safari, Firefox, and the IE set, it usually works like a charm in Chrome and Opera. So, debugging in Opera is a rare need for me. As a final note, know there is a Debug menu you can enable in Opera that gives you direct access to a number of functions reminiscent of Firefox’s Web Developer Toolbar extension or Safari’s Development menu.

Geocoding a Location and Getting Photos For It 96 Report erratum Download from Wow! eBook <www.wowebook.com>this copy is (P1.0 printing, November 2010) CONTENTS 8 VII Appendices 98 A JavaScript Cheat Sheet 99 B Debugging JavaScript B.1 Here Be Dragons . . . . . . . . . . . . . . . . . . . B.2 Firefox and Firebug . . . . . . . . . . . . . . . . . . B.3 Safari and Web Inspector . . . . . . . . . . . . . . . B.4 IE6, IE7, the IE Toolbar, and Web Developer Express B.5 IE8 and Developer Tools . . . . . . . . . . . . . . . B.6 Opera and Dragonfly . . . . . . . . . . . . . . . . . B.7 Virtual Machines Are Your Friends . . . . . . . . .

eBook <www.wowebook.com>this copy is (P1.0 printing, November 2010) 26 O BTAINING R EFERENCES TO DOM E LEMENTS 27 Grab an element by its ID. document.getElementById('elementId') $('elementId') $('#elementId') Y.one('#elementId') dojo.byId('elementId') Ext.getDom('elementId') // // // // // // Plain W3C DOM Prototype, MooTools jQuery YUI 3 Dojo Ext JS 3 Grab elements by XPath/CSS selection. Supported syntaxes vary depending on the library, and the W3C Selectors API is available (but blazingly fast) only in recent-enough browsers: Firefox 3.1+, Safari 3.1+, IE8+ (standards mode), Chrome, and Opera 10+. Also, note that all libraries provide some way to specify the context, the root node within which to explore (by default the entire document). Narrowing the context down whenever possible speeds up your code and reduces memory usage. document.querySelectorAll('selectors') $$('selectors') someRootElement.select('selectors') $('selectors') Y.all('selectors') dojo.query('selectors') Ext.query('selectors') // // // // // // // Native (see above) Prototype, MooTools Prototype jQuery YUI 3 Dojo Ext JS 3 Move around (DOM traversals).

pages: 468 words: 233,091

Founders at Work: Stories of Startups' Early Days
by Jessica Livingston
Published 14 Aug 2008

C H A P T E 29 R Blake Ross Creator, Firefox Blake Ross and Dave Hyatt started Firefox as a side project while working at the Mozilla Foundation. They were working to revive the struggling Netscape browser, but became frustrated by the constraints imposed on them. So Ross and Hyatt decided to build a browser that they would actually want to use. Working in their spare time, they began developing a new browser that was fast, simple, and reliable. In 2002, they launched the initial version, called Phoenix, and in 2004 they released Firefox 1.0, which was an instant hit. Like a lot of things described in this book, Firefox was something new.

It was an open source project run like a startup, both in the concern for the end user and in the attention paid to marketing. The results were impressive: Firefox has cut into the formerly overwhelming market share of Internet Explorer, and dominates among technical users. In 2005, Ross took a leave from Stanford University to start a startup with fellow Firefox developer Joe Hewitt. Livingston: Tell me about how Firefox got started. Ross: Firefox grew out of Mozilla, which itself has a very long history that I won’t go into now. I personally started working on the Mozilla project in 2000. It was open source; anyone could work on it.

We just went through Fireanything names for a couple of months, and somebody came up with Firefox, which is actually the Chinese name for a red panda. Livingston: Were the Firefox developers all in different places? Ross: When we first started doing it, we were all at Netscape. Then Dave left to go to Apple to work on Safari, and we had some other folks like Ben Goodger from New Zealand, Pierre Chanial from France, and Jan Varga from Slovakia come on board. I went back to Miami, and we continued to work together online. Joe and I still collaborate through IM on Parakey, even though we’re about 20 minutes apart, because we’re so used to that environment from Firefox. It’s just so much faster to collaborate online than it is for him to drive down to me or me to drive up to him.

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 and Robert Vamosi
Published 14 Feb 2017

For example, iPhones ship with Safari, but you might also want to consider going to the online Apple store and downloading the mobile version of Chrome or Firefox, browsers that were designed for the mobile environment. Newer versions of Android do ship with Chrome as the default. All mobile browsers at least support private browsing. And if you use a Kindle Fire, neither Firefox nor Chrome are download options through Amazon. Instead you have to use a few manual tricks to install Mozilla’s Firefox or Chrome through Amazon’s Silk browser. To install Firefox on the Kindle Fire, open the Silk browser and go to the Mozilla FTP site. Select “Go,” then select the file that ends with the extension .apk.

Private browsing doesn’t create temporary files, and therefore it keeps your browsing history off your laptop or mobile device. Could a third party still see your interaction with a given website? Yes, unless that interaction is first encrypted. To accomplish this, the Electronic Frontier Foundation has created a browser plug-in called HTTPS Everywhere.4 This is a plug-in for the Firefox and Chrome browsers on your traditional PC and for the Firefox browser on your Android device. There’s no iOS version at the time of this writing. But HTTPS Everywhere can confer a distinct advantage: consider that in the first few seconds of connection, the browser and the site negotiate what kind of security to use. You want perfect forward secrecy, which I talked about in the previous chapter.

Fortunately, you can turn off browser location tracking. In Firefox, type “about: config” in the URL address bar. Scroll down to “geo” and change the setting to “disable.” Save your changes. 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.

pages: 193 words: 36,189

Html5 Boilerplate Web Development
by Divya Manian
Published 17 Nov 2012

There are so many variants of browsers out there and it is impossible to test on each and every one of them. Fortunately, it is pretty simple to test on most major versions of browsers. If you are on Windows, I recommend you install the latest versions of Opera, Opera Next, Safari, Chrome, Chrome Canary, Firefox, Firefox Nightly, IE8, and IE10. If you are on Mac, get every browser listed above, except IE. If you are able to afford it, buy a Windows Operating System and install it as a virtual image on Virtual Box (www.virtualbox.org/). Microsoft provides older IEs as virtual images for testing, which you could also install on Virtual Box using ievms (github.com/xdissent/ievms).

You can disable them by adding the following code within the head tag in the index.html file: <metahttp-equiv="imagetoolbar" content="false"> Writing CSS3 easier with tools CSS3 is at the bleeding edge. Some properties require what is known as a vendor prefix. For example, the 3D transforms property perspective is implemented as follows, in different browsers: -webkit-perspective //Safari, Chrome -ms-perspective // Internet Explorer perspective // Firefox Only a short while ago, Firefox implemented this property as –moz-perspective, but have since dropped support for the –moz- prefix. As you will come to realize, it is really hard to keep track of which browser requires a prefix and which browser does not, and it is not quite feasible to keep all the sites that we create updated on a regular basis every time a browser adds or drops support for a prefix.

The code for this is shown in the following code snippet: pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } Do note that page-break-inside is not supported in Firefox, but is available in all other browsers. Rendering tables better By default, putting headings within the thead tag would ensure that the headings get repeated every time a table breaks across two pages. However, only Firefox and Opera have support for this at the moment. In IE, you can do this but you would have to explicitly state it, as stated in the following code snippet: thead { display: table-header-group; /* h5bp.com/t */ } Rendering images better Ideally, we want to prevent table rows and images from breaking across pages, so we use the now familiar page-break-inside property to tell the browser of our preference, as shown in the following code snippet: tr, img { page-break-inside: avoid; } It also does not appear too well, when images run off beyond the page or print cropped while appearing in full on the website.

pages: 400 words: 94,847

Reinventing Discovery: The New Era of Networked Science
by Michael Nielsen
Published 2 Oct 2011

Another approach to modularity is illustrated by the way work on the Firefox web browser is organized. If you’re not familiar with Firefox, it’s a popular alternative to the Internet Explorer web browser. Like Linux, Firefox is an open source project. But the Firefox developers organize their work using a different approach from that of both Linux and Wikipedia. In particular, they organize much of their work using a tool known as an issue tracker. To understand how the issue tracker works, imagine you’re a user of Firefox who’s run into a bug. For example, a bug I’ve sometimes noticed is this: in my list of Firefox bookmarks, the little pictures (called favicons) alongside my bookmarks sometimes get mixed up.

I’ve no idea why this happens, and it’s only a minor irritation in an excellent product, but it can be a little confusing. Anyway, having noticed this bug, you decide to help the Firefox project out by reporting it. To do this, you visit Firefox’s online issue tracker, a website where you can enter a description of the problem you’re having, and any other details that might come in handy to people trying to fix the bug: what webpage you were browsing when you noticed the bug, what operating system you use, what version of Firefox, and so on. I asked you to imagine doing this, but actually you don’t need to imagine it. I checked the Firefox issue tracker, and someone going by the name Bob did exactly what I’ve just described on January 11, 2008.

I learned of the project from [139], which ran the same excerpt from the novel I have used. p 55: Firefox’s online issue tracker may be found at http://bugzilla.mozilla.org. p 55: The favicon bug in Firefox is described at https://bugzilla.mozilla.org/show_bug.cgi?id=411966. p 56 The issue tracker isn’t just for fixing bugs, it’s also used to propose and implement new features: In fact, the issue tracker is just one of several ways in which Firefox developers can propose new features. Other forums used to propose new features include an online mailing list, a wiki, and even a weekly conference phone call of Firefox developers. p 58 more than a billion lines: This and the estimate of the rate of code growth are conservative estimates, based on work by Deshpande and Riehle [51], current as of the end of 2006.

pages: 680 words: 157,865

Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design
by Diomidis Spinellis and Georgios Gousios
Published 30 Dec 2008

Taking the same techniques even further, developers can replace the standard Firefox chrome altogether and radically reshape the entire user interface—to adapt it for use on mobile devices, for example. Like Eclipse plug-ins, Firefox chrome packages include a significant amount of metadata. And, resembling Eclipse’s Plug-in Development Environment plug-in, there is a Firefox extension to help people write Firefox extensions. So there is still a significant amount of work required up front before one can extend or fix Firefox. However, Firefox’s automatic display management and simplified event handling mean that the effort required is still not as high as that needed to write an Eclipse plug-in.

As in Emacs, the process of dispatching input events to JavaScript code is managed by the browser. Firefox takes care of deciding which element of the web page an event was directed at, finds an appropriate handler, and invokes it. However, Firefox takes the ideas behind these modern web applications a bit further: Firefox’s own user interface is implemented using the same underlying code that displays web pages and handles their interactions. A set of packages known as chrome describe the interface’s structure and style, and include JavaScript code to bring it to life.[57] This architecture allows third-party developers to write add-ons that extend Firefox’s user interface with new chrome packages.

However, Firefox’s automatic display management and simplified event handling mean that the effort required is still not as high as that needed to write an Eclipse plug-in. Firefox’s developers are working to improve the performance of its JavaScript implementation. Although this obviously helps users visiting JavaScript-heavy websites, it also allows the Firefox developers to migrate more and more of the browser itself from C++ to JavaScript, a much more comfortable and flexible language for the problem. In this sense, Firefox’s architecture is evolving to look more like that of Emacs, with its all-Lisp Controller. This suggests the third and final question, one we can ask of any extension language we encounter: is the extension language the preferred way to implement most new features for the application?

The Icon Handbook
by Jon Hicks
Published 23 Jun 2011

Originally called Phoenix and then Firebird, it was eventually given the permanent name of Firefox for its first public release in 2004. We all came up with various ideas, but the fox with a fiery tail we decided on came from Daniel Burka, which was then sketched by Stephen Desroches, before I took it on and rendered it: Strictly speaking, a firefox is a red panda (without doubt a very cute animal), but the European fox looked bolder and more iconic. The new icon was launched in early 2004, and since then Firefox has become a global brand and the icon has been updated further by the Iconfactory. It was a big leap in profile for me, and has allowed me to follow icon design projects ever since, for clients such as Skype, Opera and Linotype.

Prior to 2004, a wide variety of esoteric symbols were used to depict an RSS feed, from (bizarrely) medication to coffee cups. The most common was the simple orange block with ‘RSS’, as seen here in Firefox 0.9: The problem with using the text RSS was that, technically, it’s just one format a feed could be in. It was shorter than ‘Syndication’ at least. A way of describing the concept, rather than one particular implementation, was needed. Up to this point, it was still better than a pill or coffee cup, though. That all changed very quickly, when Stephen Horlander created a new RSS icon for Firefox 1.0. The white radio waves indicate the broadcasting aspect of feeds clearly and simply. By 2005, however, Microsoft’s Internet Explorer and Outlook had adopted it too, followed by Opera the following year.

Which formats are needed? What is the context? A favicon could appear on a variety of backgrounds, so we will need to use transparency to get the best option to fit all. It won’t always be displayed on a white address bar background — it may appear on Windows Aero glass, a grey Mac OS X UI, or a dark browser theme. Firefox 4 also adds a grey button background to favicons in its address bar; it is set slightly larger so it will always border the favicon. What sizes are needed? If you were to create a favicon for every possible use, the sizes you would need to create are: 16px: For general use in all browsers, could be displayed in the address bar, tabs or bookmarks views. 24px: Pinned site in Internet Explorer 9 32px: New tab page in Internet Explorer, taskbar button in Windows 7+ and Safari’s ‘Read Later’ sidebar 57px: Standard iOS home screen (iPod Touch, iPhone first generation to 3G) 72px: iPad home screen icon 96px: Favicon used by the GoogleTV platform 114px: iPhone 4+ home screen icon (twice the standard size for the retina display) 128px: Chrome Web Store 195px: Opera Speed Dial Opera Speed Dial Chrome Web Store 57px and 114px favicons in iOS, and 96px favicon in Google TV Do we really need to supply all of these?

pages: 834 words: 180,700

The Architecture of Open Source Applications
by Amy Brown and Greg Wilson
Published 24 May 2011

The first iteration of the design was developed as part of the Firefox driver. Mozilla, and therefore Firefox, was always seen as being a multi-platform application by its developers. In order to facilitate the development, Mozilla created a framework inspired by Microsoft's COM that allowed components to be built and bolted together called XPCOM (cross-platform COM). An XPCOM interface is declared using IDL, and there are language bindings for C and Javascript as well as other languages. Because XPCOM is used to construct Firefox, and because XPCOM has Javascript bindings, it's possible to make use of XPCOM objects in Firefox extensions. Normal Win32 COM allows interfaces to be accessed remotely.

Although the plans for D-XPCOM never came to fruition, like an appendix, the vestigial infrastructure is still there. We took advantage of this to create a very basic server within a custom Firefox extension containing all the logic for controlling Firefox. The protocol used was originally text-based and line-oriented, encoding all strings as UTF-2. Each request or response began with a number, indicating how many newlines to count before concluding that the request or reply had been sent. Crucially, this scheme was easy to implement in Javascript as SeaMonkey (Firefox's Javascript engine at the time) stores Javascript strings internally as 16 bit unsigned integers. Although futzing with custom encoding protocols over raw sockets is a fun way to pass the time, it has several drawbacks.

Sadly, although URL Templates were proposed at the same time, we only became aware of them relatively late in the day, and therefore they are not used to describe the wire protocol. Because the method we're executing is idempotent4, the correct HTTP method to use is a GET. We delegate down to a Java library that can handle HTTP (the Apache HTTP Client) to call the server. Figure 16.4: Overview of the Firefox Driver Architecture The Firefox driver is implemented as a Firefox extension, the basic design of which is shown in Figure 16.4. Somewhat unusually, it has an embedded HTTP server. Although originally we used one that we had built ourselves, writing HTTP servers in XPCOM wasn't one of our core competencies, so when the opportunity arose we replaced it with a basic HTTPD written by Mozilla themselves.

Designing Interfaces
by Jenifer Tidwell
Published 15 Dec 2010

Use social networking resources for these, or more traditional online forums. Examples Firefox is “merely” a web browser, and a free one at that, but its help systems are stellar. Help is offered at most of the levels described in the preceding list, so both beginners and experts are well supported. All of the following examples come from Firefox so that you can see the range of help that can be offered for one product. When you visit Firefox’s site in order to download the browser, you are greeted by an outline of the install process and a very clear call to action, as shown in Figure 2-41. Figure 2-41. Firefox download page When you launch it for the first time, you see an introductory screen that may intrigue the user: easy ways to customize the Firefox look, connections to social media, and links to help resources (see Figure 2-42).

See the pattern descriptions for Input Hints and Input Prompt in Chapter 8. Figure 2-44. Firefox input prompts Some dialogs attempt to describe themselves, as shown in Figure 2-45. Figure 2-45. Firefox toolbars dialog Other dialogs offer links to the formal help system; an appropriate help page is displayed in a browser window when the user clicks the round purple button in the lower-left corner (see Figures Figure 2-46 and Figure 2-47). Figure 2-46. Firefox preferences dialog Figure 2-47. Firefox preferences dialog help page Finally, if all other sources of help are exhausted, a user can turn to the wider user community for advice.

Firefox download page When you launch it for the first time, you see an introductory screen that may intrigue the user: easy ways to customize the Firefox look, connections to social media, and links to help resources (see Figure 2-42). The page also confirms for the user that the install was successful; if the user needs to do anything more, such as get security updates, the introductory page will say so. Figure 2-42. Firefox startup page Each tool on the browser window has a tool tip (see Figure 2-43). The basic buttons—back, next, reload, home—will be familiar to almost all users, but the more obscure items may need to be explained. Figure 2-43. Firefox tool tips The main text fields use Input Prompt to describe themselves (see Figure 2-44).

pages: 234 words: 57,267

Python Network Programming Cookbook
by M. Omar Faruque Sarker
Published 15 Feb 2014

Spoofing Mozilla Firefox in your client code From your Python code, you would like to pretend to the web server that you are browsing from Mozilla Firefox. How to do it... You can send the custom user-agent values in the HTTP request header. Listing 4.7 explains spoofing Mozilla Firefox in your client code as follows: #!/usr/bin/env python # Python Network Programming Cookbook -- Chapter – 4 # This program is optimized for Python 2.7. # It may run on any other version with/without modifications. import urllib2 BROWSER = 'Mozilla/5.0 (Windows NT 5.1; rv:20.0) Gecko/20100101 Firefox/20.0' URL = 'http://www.python.org' def spoof_firefox(): opener = urllib2.build_opener() opener.addheaders = [('User-agent', BROWSER)] result = opener.open(URL) print "Response headers:" for header in result.headers.headers: print "\t",header if __name__ == '__main__': spoof_firefox() If you run this script, you will see the following output: $ python 4_7_spoof_mozilla_firefox_in_client_code.py Response headers: Date: Sun, 05 May 2013 16:56:36 GMT Server: Apache/2.2.16 (Debian) Last-Modified: Sun, 05 May 2013 00:51:40 GMT ETag: "105800d-5280-4dbedfcb07f00" Accept-Ranges: bytes Content-Length: 21120 Vary: Accept-Encoding Connection: close Content-Type: text/html How it works...

. # It may run on any other version with/without modifications. import urllib2 BROWSER = 'Mozilla/5.0 (Windows NT 5.1; rv:20.0) Gecko/20100101 Firefox/20.0' URL = 'http://www.python.org' def spoof_firefox(): opener = urllib2.build_opener() opener.addheaders = [('User-agent', BROWSER)] result = opener.open(URL) print "Response headers:" for header in result.headers.headers: print "\t",header if __name__ == '__main__': spoof_firefox() If you run this script, you will see the following output: $ python 4_7_spoof_mozilla_firefox_in_client_code.py Response headers: Date: Sun, 05 May 2013 16:56:36 GMT Server: Apache/2.2.16 (Debian) Last-Modified: Sun, 05 May 2013 00:51:40 GMT ETag: "105800d-5280-4dbedfcb07f00" Accept-Ranges: bytes Content-Length: 21120 Vary: Accept-Encoding Connection: close Content-Type: text/html How it works...

Extracting cookie information after visiting a website How to do it... How it works... Submitting web forms Getting ready How to do it... How it works... Sending web requests through a proxy server Getting ready How to do it... How it works... Checking whether a web page exists with the HEAD request How to do it... How it works... Spoofing Mozilla Firefox in your client code How to do it... How it works... Saving bandwidth in web requests with the HTTP compression How to do it... How it works... Writing an HTTP fail-over client with resume and partial downloading How to do it... How it works... Writing a simple HTTPS server code with Python and OpenSSL Getting ready How to do it...

pages: 1,302 words: 289,469

The Web Application Hacker's Handbook: Finding and Exploiting Security Flaws
by Dafydd Stuttard and Marcus Pinto
Published 30 Sep 2007

Firefox's popularity is sufficient that Firefox-specific XSS exploits are perfectly valid, so you should test these against Firefox if you encounter difficulties getting them to work against IE. Also, features specific to Firefox have historically allowed a range of attacks to work that are not possible against IE, as described in Chapter 13. 750 Chapter 20 A Web Application Hacker's Toolkit A large number of browser extensions are available for Firefox that may be useful when attacking web applications, including the following: ■ Http Watch is also available for Firefox. ■ FoxyProxy enables flexible management of the browser's proxy configuration, allowing quick switching, setting of different proxies for different URLs, and so on

Chapter 20 A Web Application Hacker's Toolkit 749 Figure 20-1: HttpWatch analyzes the HTTP requests issued by Internet Explorer Fi refox Firefox is currently the second most widely used web browser. By most estimates it makes up approximately 35% of the market. The majority of web applications work correctly on Firefox; however, it has no native support for ActiveX controls. There are many subtle variations among different browsers' handling of HTML and JavaScript, particularly when they do not strictly comply with the standards. Often, you will find that an application's defenses against bugs such as cross-site scripting mean that your attacks are not effective against every browser platform. Firefox's popularity is sufficient that Firefox-specific XSS exploits are perfectly valid, so you should test these against Firefox if you encounter difficulties getting them to work against IE.

Nevertheless, in situations where you are forced to use them, they will enable you to perform a comprehensive attack on your target that would not be possible using only a standard browser. Tamper Data Tamper Data, shown in Figure 20-15, is an extension to the Firefox browser. Anytime you submit a form. Tamper Data displays a pop-up showing all the request details, including HTTP headers and parameters, which you can view and modify. Figure 20-15: Tamper Data lets you modify HTTP request details within Firefox Tam perlE TamperlE, shown in Figure 20-16, implements essentially the same functionality within the Internet Explorer browser as Tamper Data does on Firefox. Chapter 20 A Web Application Hacker's Toolkit 775 TamperlE — Edit Request Figure 20-16: TamperlE lets you modify HTTP request details within Internet Explorer Standalone Vulnerability Scanners A number of different tools exist for performing completely automated vulnerability scans of web applications.

pages: 394 words: 110,352

The Art of Community: Building the New Age of Participation
by Jono Bacon
Published 1 Aug 2009

An interesting project that really set the standard for this kind of outreach was the Mozilla Firefox promotional campaign, Spread Firefox. Back in November 2004, the SilverOrange Canadian web firm was commissioned to build Mozilla’s website. As part of its work the company produced an evangelist application on its intranet to manage the structure and content of the site. Blake Ross (one of the forefathers of Firefox) conceived the idea that Mozilla should encourage and inspire the global Firefox community to lead the marketing for the launch of the popular browser. One of the people involved in this work was Chris Messina. At the time, Chris was a Firefox community member, keen to see the project get better recognition and more widespread focus.

In the summer of 2004, Blake Ross and Asa Dotzler started an effort to reach out to bloggers who were saying good things about Firefox and ask them to put up a “download Firefox” button on their site. We needed to distribute the work to make an impact with this campaign, so Blake and Asa blogged, asking for volunteer help in building a tool to manage this process. That was the beginning of Spread Firefox. Spread Firefox became the engagement hub for Mozilla—the first large-scale community-based marketing effort the Web had ever seen. It grew to tens of thousands of members in just a few months and was the launch point for such campaigns as the New York Times Project, Firefox Flicks, and the Download Day campaign that set a Guinness Book record for most software downloads in a single day.

One of the reasons why the Firefox browser has been so popular has been its extensibility. A large and growing collection of Firefox add-ons is available. These small bundles of functionality, basically small pieces of software, integrate tightly into the browser and can do anything from block ads to allow web developers to dynamically adjust the layout of web pages. Traditionally, installing software has been possible using a variety of approaches: installers, package archives, compiling code, and more. The Firefox team made it as simple as selecting an add-on and clicking Install. Firefox takes care of the rest.

pages: 100 words: 15,500

Getting Started with D3
by Mike Dewar
Published 26 Jun 2012

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/. Once it’s installed, it will be available in the View menu. In order to get your head around the d3.select(), it’s really useful to run these commands in the developer tool’s console so you can get a firsthand view of what’s actually going on.

This appears both when selecting elements, which is performed using CSS selectors (users of JQuery will find many of the idioms underlying D3 very familiar), and when styling elements, which is performed using normal CSS. This allows the designer to use the existing tools that have been developed for web design—most notably Firefox’s Firebug and Chrome’s Developer Tools. Instead of creating a traditional visualization toolkit, which typically places a heavy wrapper between the designer and the web page, D3 is focused on providing helper functions to deal with mundane tasks, such as creating axes and axis ticks, or advanced tasks such as laying out graph visualizations or chord diagrams.

d3.select(".y.axis") .append("text") .text("mean distance between failure (miles)") .attr("transform", "rotate (-90, -43, 0) translate(-280)"); Figure 3-5. Rotating the y-axis label into place—the label is rotated first, then translated into place This is another example of a situation where Chrome’s Developer Tools or Firefox’s Firebug are very useful—we can modify the transformations live in the web page and see the results immediately. It’s easy to lose elements of the web page off the side of the screen, so being able to play with the transformation values live instead of editing the source code and reloading again and again saves a lot of time.

pages: 280 words: 40,881

JQuery UI
by Eric Sarrion
Published 15 Feb 2012

Indeed, this method traverses (internally in jQuery UI) HTML code and adds new CSS classes to the elements concerned (here, the tabs) to give them the appropriate style. Figure 2-3 shows the HTML generated by jQuery UI once the tabs () instruction has changed the HTML DOM (Document Object Model) tree (the code was recovered using the Firebug extension in Firefox). It is possible to use CSS classes of elements to customize the display. For example, if we modify the ui-state-default CSS class associated with <li> elements, we should get a new aspect for tabs. Similarly, if we modify the ui-tabs-panel CSS class associated with <div> elements, the contents of the tabs will change in appearance.

Indeed, this method scans the HTML and adds new CSS classes to the elements (here, the accordion menus) to give them the appropriate style. Here, for example, the HTML code that appears after the accordion () instruction has been changed (Figure 3-3). This code was retrieved using the Firebug extension in Firefox. It is also possible to use the CSS classes of elements to customize the display. For example, if we alter the ui-accordion-header CSS class associated with <h1> elements, we should get a new appearance for the menu titles. Similarly, if we change the ui-accordion-content CSS class associated with <div> elements, we get a new aspect for the content of menus.

Indeed, this method scans the HTML and adds new CSS classes to the elements concerned (here, the dialog boxes) to give them the appropriate style. Here, for example, the HTML code that appears after the dialog () instruction has been changed (Figure 4-3). This code was retrieved using the Firebug extension in Firefox. Figure 4-3. HTML code generated with the dialog () method These CSS classes can customize the display of elements. For example, if we change the ui-dialog-titlebar CSS class associated with <div> elements, we get a new aspect for the window title. Similarly, if we change the ui-dialog-content CSS class associated with <div> elements, we get a new appearance for the content of the windows.

pages: 692 words: 95,244

Speaking JavaScript: An In-Depth Guide for Programmers
by Axel Rauschmayer
Published 25 Feb 2014

But we now have two additional interactive platforms: web and mobile. With HTML5, you can target all of these platforms via technologies such as PhoneGap, Chrome Apps, and TideSDK. Additionally, several platforms have web apps as native apps or let you install them natively—for example, Chrome OS, Firefox OS, and Android. Other Technologies Complementing JavaScript There are more technologies than just HTML5 that complement JavaScript and make the language more useful: Libraries JavaScript has an abundance of libraries, which enable you to complete tasks ranging from parsing JavaScript (via Esprima) to processing and displaying PDF files (via PDF.js).

But they can also be updated on the client, resulting in a more responsive user interface. 2009—PhoneGap, writing native apps in HTML5 PhoneGap was created by a company called Nitobi that was later purchased by Adobe. The open source foundation of PhoneGap is called Cordova. The initial mission of PhoneGap was to make it possible to implement native mobile apps via HTML5. Since then, support has expanded to nonmobile operating systems. Currently supported platforms include Android, Bada, BlackBerry, Firefox OS, iOS, Mac OS X, Tizen, Ubuntu, Windows (desktop), and Windows Phone. Apart from HTML5 APIs, there are also PhoneGap-specific APIs for accessing native features such as the accelerometer, camera, and contacts. 2009—Chrome OS, making the browser the operating system With Chrome OS, the web platform is the native platform.

The introduction of the mobile operating system webOS (which originated at Palm and is now owned by LG Electronics) predates the introduction of Chrome OS, but the “browser as OS” idea is more apparent with the latter (which is why it was chosen as a milestone). webOS is both less and more. Less, because it is very focused on cell phones and tablets. More, because it has Node.js built in, to let you implement services in JavaScript. A more recent entry in the web operating system category is Mozilla’s Firefox OS, which targets cell phones and tablets. Mozilla’s wiki mentions a benefit of web operating systems for the Web: We also need a hill to take, in order to scope and focus our efforts. Recently we saw the pdf.js project [which renders PDFs via HTML5, without plugins] expose small gaps that needed filling in order for “HTML5” to be a superset of PDF.

pages: 597 words: 119,204

Website Optimization
by Andrew B. King
Published 15 Mar 2008

Figure 10-17. IBM Page Detailer Details tab IBM Page Detailer works with both Internet Explorer and Firefox, but you must load it separately from the browser as a standalone application. For performance analysis tools that load right in the web browser, read on. Firebug: A simple alternative Firebug is an add-on for Firefox that adds a cross-platform measurement tool to your belt. Though not as detailed as the aptly named IBM Page Detailer, you can use it to dig in to what's happening in Firefox. Like IBM Page Detailer, Firebug provides a waterfall report, as well as the basic speed metrics such as requests, kilobytes, and load time in seconds (see Figure 10-18).

Like IBM Page Detailer, Firebug provides a waterfall report, as well as the basic speed metrics such as requests, kilobytes, and load time in seconds (see Figure 10-18). Notice that CSS has the same blocking effect as JavaScript in Firefox. This is one of the differences in the way files are handled between Internet Explorer and Firefox. Another difference that you may encounter is that JavaScript files pulled dynamically (via DOM methods) block objects in Firefox, whereas in Internet Explorer they do not. If you mouse over any of the images, you will get a preview of the image to quickly identify fat graphics (also shown in Figure 10-18). Unlike IBM Page Detailer, Firebug doesn't show detail regarding server response and delivery.

-- #nav ul, #nav ul li {list-style:none;} #nav ul li {font-weight:bold;} --></style> Here's the HTML markup: <div id="nav"> <ul> <li>Burma</li> <li>Shave</li> </ul> </div> Now you can declare these styles for all of your navigation, content, and other areas without the need to embed classes within HTML elements. The idea is to strip your HTML down to its structure, group the content within labeled divs, and target this structure with CSS selectors, descendant or otherwise. If all browsers were as well behaved as Opera, Firefox, and Safari, you could use "grouping" elements such as body and html to avoid embedding classes within container divs. Instead, we recommend using labeled container divs such as #nav, #content, and #footer. Use CSS IDs for these main container divs that are used only once per page and then use CSS classes for most everything else.

pages: 602 words: 207,965

Practical Ext JS Projects With Gears
by Frank Zammetti
Published 7 Jul 2009

isBorderBox Contains true if the detected browser is Internet Explorer running in nonstrict mode. isChrome Contains true if the detected browser is Google’s Chrome. isGecko Contains true if the detected browser uses the Gecko layout engine (e.g., Mozilla or Firefox). isGecko2 Contains true if the detected browser uses a pre–Gecko 1.9 layout engine (e.g., Firefox 2.x). isGecko3 Contains true if the detected browser uses a Gecko 1.9+ layout engine (e.g., Firefox 3.x). isIE Contains true if the detected browser is Internet Explorer. isIE6 Contains true if the detected browser is Internet Explorer 6.x. isIE7 Contains true if the detected browser is Internet Explorer 7.x.

Note too the style classes applied to the elements. It is these settings specifically that are queried against. If you open this page in Firefox with Firebug installed, Figure 1-21 will be the output in Firebug’s console pane. ■Note Of course, if you aren’t using Firefox, or don’t have Firebug installed… why not? Seriously, though, to run this example you’ll need to replace the console.log() calls with suitable replacements; alert() should work fine in this case. The discussion that follows assumes you’re using Firefox with Firebug installed. Figure 1-21. The console output for this page The first two lines of output are a result of this code: var query = "td[class=\"cssCell\"]"; var elems = Ext.DomQuery.select(query); for (var i = 0; i < elems.length; i++) { console.log(query + " = elems[" + i + "].firstChild.nodeValue = " + elems[i].firstChild.nodeValue); } First, a simple selector query is created.

While I strive to make all of the projects in my books crossbrowser (at least Internet Explorer and Firefox on Windows at a minimum), this project gave me a lot of trouble in that regard. I was only able to get it to work reliably in Firefox. As far as I can tell, it’s the fact that the charting support in Ext JS is new in version 3 and maybe still needs some work. But since the charting support is Flash based, it could very well be a Flash issue too. So, my strong suggestion is to only try running this app in Firefox to be safe, even though it should work in other browsers as well, and you may find it does.

pages: 114 words: 27,996

Responsive Web Design
by Ethan Marcotte
Published 4 Jun 2011

In fact, only Internet Explorer 7 and lower are affected, as is Firefox 2 and lower on Windows. More modern browsers like Safari, Firefox 3+, and IE8+ don’t exhibit a single problem with flexible images. What’s more, the bug seems to have been fixed in Windows 7, so that’s more good news. So with the scope of the problem defined, surely there’s a patch we can apply? Thankfully, there is—with the exception of Firefox 2. Now, this grizzled old browser was released in 2006, so I think it’s safe to assume it isn’t exactly clogging up your site’s traffic logs. At any rate, a patch for Firefox 2 would require some fairly involved browser-sniffing to target specific versions on a specific platform—and browser-sniffing is unreliable at best.

At any rate, a patch for Firefox 2 would require some fairly involved browser-sniffing to target specific versions on a specific platform—and browser-sniffing is unreliable at best. But even if we did want to perform that kind of detection, these older versions of Firefox don’t have a switch that could fix our busted-looking images. Internet Explorer, however, does have such a toggle. (Pardon me whilst I swallow my pride for this next section title.) Hail AlphaImageLoader, the conquering hero Ever tried to get transparent PNGs working in IE6 and below? Chances are good you’ve encountered AlphaImageLoader, one of Microsoft’s proprietary CSS filters (http://bkaprt.com/rwd/13/).

A note about compatibility After covering media queries for not a few pages, I suppose we should briefly quash a few dreams—I mean, um, we should probably talk about browser support. The good news? Media queries enjoy remarkably broad support in modern desktop browsers. Opera has supported media queries since version 9.5, Firefox 3.5 and above supports them, as do WebKit-based desktop browsers like Safari 3+ and Chrome. Even Internet Explorer 9 (http://bkaprt.com/rwd/32/) supports media queries (http://bkaprt.com/rwd/33/)! Somebody pinch me. And moving beyond the desktop, things are also looking good for media queries. WebKit-based mobile browsers, such as Mobile Safari, HP’s webOS, and Android’s browser all support media queries.

pages: 1,881 words: 178,824

HTML5 Canvas
by Steve Fulton and Jeff Fulton
Published 2 May 2013

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.

A Simple HTML5 Page Now let’s look at this page in a web browser. (This would be a great time to get your tools together to start developing code.) Open your chosen text editor, and get ready to use your preferred web browser: Safari, Firefox, Opera, Chrome, or IE. In your text editor, type in the code from Example 1-1. Save the code as CH1EX1.html in a directory of your choosing. Under the File menu in Chrome, Safari, or Firefox, you should find the option Open File. Click that selection. You should then see a box to open a file. (On Windows using Chrome, you might need to press Ctrl+O to open a file.) Locate the CH1EX1.html that you just created.

We are not going to use version numbers here, because we assume the latest version of each product: Platform .ogg .mp3 .wav Chrome X X X Firefox X X Safari X X Opera X X Internet Explorer X The situation is much like that of the <video> tag. To support <audio>, we will need to use multiple separate formats for each piece of audio we want to play. To be on the safe side, we will use three formats: .mp3, .ogg, and .wav. At this point, we will probably never see Opera and Firefox support for .mp3 files. The license fee associated with the format is prohibitive for those browsers. Audacity Fortunately, there is a great free audio tool available that will help you convert audio into any format.

pages: 131 words: 22,892

Canvas Pocket Reference: Scripted Graphics for HTML5
by David Flanagan
Published 15 Dec 2010

Safari and Chrome perform compositing “locally”: only the pixels actually drawn by the fill(), stroke(), or other drawing operation count as part of the source. IE 9 is likely to follow suit. Firefox and Opera perform compositing “globally”: every pixel within the current clipping region is composited for every drawing operation. If the source does not set that pixel, then it is treated as transparent black. In Firefox and Opera this means that the five compositing modes listed above actually erase destination pixels outside of the source and inside the clipping region. Figures 1-13 and 1-14 were generated in Firefox, and this is why the boxes around “copy”, “source-in”, “source-out”, “destination-atop”, and “destination-in” are thinner than the other boxes: the rectangle around each sample is the clipping region and these four compositing operations erase the portion of the stroke (half of the lineWidth) that falls inside the path.

The <canvas> tag has no appearance of its own but creates a drawing surface within the document and exposes a powerful drawing API to client-side JavaScript. The <canvas> tag is standardized by HTML5 but has been around for longer than that. It was introduced by Apple in Safari 1.3, and has been supported by Firefox since version 1.5 and Opera since version 9. It is also supported in all versions of Chrome. The <canvas> tag is not supported by IE before IE 9, but can be reasonably well emulated in IE 6, 7, and 8. Using the Canvas in IE To use the <canvas> tag in IE 6, 7, or 8, download the open-source ExplorerCanvas project from http://code.google.com/p/explorercanvas/.

Figures 1-13 and 1-14 were generated in Firefox, and this is why the boxes around “copy”, “source-in”, “source-out”, “destination-atop”, and “destination-in” are thinner than the other boxes: the rectangle around each sample is the clipping region and these four compositing operations erase the portion of the stroke (half of the lineWidth) that falls inside the path. For comparison, Figure 1-15 shows the same images as Figure 1-14, but was generated in Chrome. The HTML5 draft current at the time of this writing specifies the global compositing approach implemented by Firefox and Opera. Browser vendors are aware of the incompatibility and are not satisfied with the current state of the specification. There is a distinct possibility that the specification will be altered to require local compositing instead of global compositing. Figure 1-15. Compositing locally rather than globally Finally, note that it is possible to perform global compositing in browsers like Safari and Chrome that implement local compositing.

The Art of SEO
by Eric Enge , Stephan Spencer , Jessie Stricchiola and Rand Fishkin
Published 7 Mar 2012

identifying and addressing copyright infringement, Identifying and Addressing Copyright Infringement potential creation by use of pagination, Flat Versus Deep Architecture restricting spider access to by placing in iframe, When to Show Different Content to Engines and Visitors search engines' identification of, How Search Engines Identify Duplicate Content tracking, Tracking Duplicate Content viewed as spam, Duplicate Content duplicate content filter, Duplicate Content Issues duplicate content penalty, Duplicate Content Issues dynamic URLs, Technology Decisions E eBay, Experian Hitwise, Additional local info guides local-based searches on, Additional local info guides popular search terms used prior to visiting, Experian Hitwise ecommerce, How Search Engines Drive Commerce on the Web, SEO for Ecommerce Sales sales reports on, How Search Engines Drive Commerce on the Web SEO for sales, SEO for Ecommerce Sales ecommerce sites, A Deeper Look at Action Tracking, Attribution, Glossary action tracking, A Deeper Look at Action Tracking transaction delay from initial customer visit, Attribution editorial links, Glossary email pitch for direct link requests, Basic email pitch embed tag in HTML 5, What search engines cannot see emphasis tags, using in blog posts, More blog optimization basics engagement with website, as ranking factor, Measuring Content Quality and User Engagement Enquiro, eye-tracking results, Eye Tracking: How Users Scan Results Pages, Different Intents and Effects of Listings in Paid Versus Natural Results Eurekster, More specialized vertical search engines Exalead link data, Exalead Experian Hitwise, Uncovering Their Secrets, Experian Hitwise (see also Hitwise) ext: operator, Advanced Google Search Operators eye tracking, users' scans of results pages, Eye Tracking: How Users Scan Results Pages Eyetools, eye-tracking results, Eye Tracking: How Users Scan Results Pages, Different Intents and Effects of Listings in Paid Versus Natural Results F Facebook, Evaluating Social Media Signals, AJAX and JavaScript, Forum and Social Network Participation, Facebook, Facebook Shares/Links as a Ranking Factor, Facebook Likes Are Votes, Too, Bing’s “social search”, Summary of Social Sources to Consider, Facebook, Shelf space, Communities in Social Networks, An Evolving Art Form: The Future of SEO authors of this book on, Communities in Social Networks Comments system, AJAX and JavaScript continuing growth of, An Evolving Art Form: The Future of SEO Likes affecting rankings of content, Facebook Likes Are Votes, Too participation in, for link building, Forum and Social Network Participation rankings on, Shelf space Shares/links as ranking factor, Facebook Shares/Links as a Ranking Factor strategic partnership with Bing, Bing’s “social search” tracking key metrics on Insights, Facebook using for link building, Facebook FaceLift Image Replacement (FLIR), Scalable Inman Flash Replacement (sIFR) failure of search algorithms, reasons for, A Few Reasons Why These Algorithms Sometimes Fail fans of your business, leveraging for SEO, Your Fans feed search, optimizing for, RSS Feed Optimization feed: operator (Bing), Bing Advanced Search Operators FeedBurner, RSS Feed Tracking and Measurement, Blog subscribers feedmaps, Optimizing Your Website for Local Search Engines feeds, Measuring Content Quality and User Engagement, Video Search Optimization (see also RSS feeds) video sites accepting RSS or mRSS feeds, Video Search Optimization Ferrari Google+ Business Page, Google+ Business Pages FFA (Free For All) sites, Glossary file type, search restricted to, Advanced Google Search Operators filetype: operator, Advanced doc type searches filing cabinets and web pages, similarities between, An analogy “Filthy Linking Rich!”, Authority FindGiftCards.com (spam example), Two Spam Examples Firefox, What Content Can Search Engines “See” on a Web Page?, Firefox plug-ins for quicker access to Google advanced search queries, Methods for URL Redirecting and Rewriting, SEO for Firefox Live HTTP Headers plug-in, Methods for URL Redirecting and Rewriting plug-ins for Google advanced search queries, Firefox plug-ins for quicker access to Google advanced search queries SEO for Firefox extension, SEO for Firefox viewing source code, What Content Can Search Engines “See” on a Web Page? First Click Free, How Do Search Engines Interpret Cookies and Session IDs?

site:org bookmarks/links/"favorite sites"/ site:gov bookmarks/links/"favorite sites"/ site:edu bookmarks/links/"favorite sites"/ site:org donors Search for relevant forums and discussion boards to participate in discussions and probably link back to your site. inurl:forum OR inurl:forums keyword inurl:forum OR inurl:forums seo Firefox plug-ins for quicker access to Google advanced search queries You can use a number of plug-ins with Firefox to make accessing these advanced queries easier. For example: Advanced Dork (https://addons.mozilla.org/ru/firefox/addon/advanced-dork/), for quick access to intitle:, inurl:, site:, and ext: operators for a highlighted word on a page, as shown in Figure 2-25. Figure 2-25. Advanced Dork plug-in for Firefox SearchStatus (http://www.quirk.biz/searchstatus/), for quick access to a site: operator to explore a currently active domain, as shown in Figure 2-26 Figure 2-26.

Other Third-Party Tools Throughout this chapter, several third-party tools have been mentioned or recommended for analysis, research, and testing. This section introduces a few more that are worth mentioning. SEO for Firefox Aaron Wall of SEO Book created a useful data enhancement tool with the SEO for Firefox extension (http://tools.seobook.com/firefox/seo-for-firefox.html). When turned on, this tool provides extra data that can be populated automatically or on request from within the regular search results of Google, Yahoo!, and Bing. Some of the most popular data points this add-on provides for the URL or domain of each search result include: Google PageRank, site age, various backlink metrics, .edu and .gov link counts, bookmarking and social metrics (such as number of Digg votes), DMOZ listings, and additional reporting from other third-party tools.

The New CSS Layout
by Rachel Andrew
Published 9 Oct 2017

So if we load this example in a browser, we can see the grid areas we’ve defined (Fig 4.6). Fig 4.6: A four-column, three-row grid with four grid areas. A quick tip: as we start to look at more complex examples, it helps to see the grid defined. Firefox DevTools has a grid highlighter tool (http://bkaprt.com/ncl/04-06/). Inspect the element, then click the little grid icon to see your grid (Fig 4.7). Fig 4.7: Our grid, with the lines and gaps highlighted in Firefox. We already know from flexbox that align-items works on the cross axis. If we add the align-items property to our grid container with a value of start, the items all line up at the top of their area (Fig 4.8). .cards { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(3, 100px); grid-template-areas: "a a a b" "a a a b" "c d d d"; grid-gap: 20px; align-items: start; } Fig 4.8: The grid with align-items set to start.

Evergreen Browsers The existence of old browsers is a constant source of pain for web developers, and becomes an issue when large groups of users are “stuck” on some old browser version. We’ve seen this problem recur throughout the history of the web, with first Netscape 4 being the villain, then Internet Explorer 6. For anyone running Chrome or Firefox, browser updates happen in the background, automatically. New browser features appear, and websites that take advantage of them will suddenly seem to be better. Safari and Edge update with operating system releases; users have grown more and more accustomed to running these updates to ensure for security reasons.

This problem increasingly crops up with phone hardware, too; think of Android users who can’t update their OS, and therefore miss out on the new browser software that comes with the update. Despite not having worldwide evergreen browser support, the situation has generally improved for most of us compared to a few years ago. It’s worth implementing a feature that perhaps Firefox has shipped and Chrome has stated they will implement. Assuming the design will be online for a couple of years, a few months down the road, all Chrome users will see that enhancement. In Chapter 7, we’ll consider modern ways of approaching browser support, and look at how we can create sites that enhance themselves as browsers update—without us needing to write any more code.

pages: 504 words: 67,845

Designing Web Interfaces: Principles and Patterns for Rich Interactions
by Bill Scott and Theresa Neil
Published 15 Dec 2008

Hard Rock Café uses a zoomable user interface (ZUI) to allow its memorabilia collection to be viewed online Aza Raskin, son of the late Jef Raskin (who pioneered many of the original ZUI concepts) is continuing to experiment with user interfaces that push the current norms. He demonstrated some potential ZUI interactions in a concept demo for Firefox on the mobile (Figure 7-16).[31] Figure 7-16. Firefox Mobile Concept Prototype showing panning gestures as well as a ZUI interface In this concept prototype, two key ideas are presented: Additional interface elements are just off the page to the top, left, bottom, and/or right. Pulling the content to one side or the other reveals these tools.

Live Search primarily affects the way searches are retrieved in response to typed queries. Contextual results While ZUGGEST presents a full search interface, sometimes the results can be shown in a more compact way. This is especially useful if you want to contain Live Search in a separate tool on the page or in a sidebar. Firefox version 3 introduced search directly into the URL bar of the browser (Figure 13-9). Figure 13-9. Firefox's AwesomeBar uses Live Search to retrieve results based on previous interest in websites In the words of the Mozilla blog:[52] Dubbed the "AwesomeBar", it lets you use the URL field of your browser to do a keyword search of your history and bookmarks.

Photos, Showing upload status Progressive Disclosures, Live Preview, Progressive Disclosure, Progressive Disclosure Picnik, Progressive Disclosure feedback, immediate, Considerations, Immediate feedback, Perceived performance Configurator Process, Considerations Live Preview, Immediate feedback Progress Indicators, Perceived performance Firefox Mobile Concept Prototype, Considerations Firefox's AwesomeBar, Contextual results Fitts's Law, Fitts's Law Five Runs, Expand/Collapse as Overlay, Slide In and Slide Out Expand and Collapse, Expand/Collapse as Overlay Slide In and Slide Out, Slide In and Slide Out Flickr, Theresa's Acknowledgments, Considerations, Multi-Field Inline Edit, Considerations, Discoverability, Considerations, An Invitation, Enhancing Hover Invitation, Considerations, Multiple idioms, Invitation to drop, Carousel Affordance Invitations, Considerations Carousel, Considerations, Carousel clicking directly on title, Theresa's Acknowledgments Contextual Tool, Multiple idioms Drag and Drop Invitation, Invitation to drop editing photo's title inline, Considerations editing photo's title, description, and tags in a separate page, Multi-Field Inline Edit Hover Invitation, Enhancing Hover Invitation Hover-Reveal Tools, Discoverability Object Selection, Considerations providing invitation to edit photo description, An Invitation Flickr Daily Zeitgeist, Opposite effect Flickr Organizr, Call to Action Invitation, Advertising drag and drop, Signaling change Blank Slate Invitation, Advertising drag and drop Call to Action Invitation, Call to Action Invitation Spotlights, Signaling change Flip transition, Flip flow, Flow, Staying in the flow Dialog Overlay, Staying in the flow Fried, Jason, Explain What Just Happened G Garrett, Jesse James, Why We Wrote This Book gesture-based interfaces, Gestures Gibson, J.

pages: 135 words: 31,098

ClojureScript: Up and Running
by Stuart Sierra and Luke Vanderhart
Published 24 Oct 2012

For example: (defproject my-project "1.0.0-SNAPSHOT" ;; other leiningen configuration items :cljsbuild { ;; other configuration items & build configurations :repl-launch-commands {"firefox" ["firefox" "page.html"]}}) If you have the “firefox” binary on your system’s PATH, you can run lein trampoline cljsbuild repl-launch firefox. The final parameter, firefox, will be looked up in the :repl-launch-commands map, and the associated command (firefox page.html) will be executed, launching Firefox and opening the specified page. Of course, you are still responsible for ensuring that the page you specified (in this case, page.html) calls the clojure.browser.repl/connect function to launch the client side of the bREPL.

pages: 186 words: 50,651

Interactive Data Visualization for the Web
by Scott Murray
Published 15 Mar 2013

Chrome’s web inspector If you look closely, you’ll already see some differences between the raw HTML and the DOM, including the fact that Chrome generated the required html, head, and body elements. (I was lazy and didn’t include them in my original HTML.) One more thing: why am I focusing on Chrome, Firefox, and Safari? Why not Internet Explorer, Opera, or the many other browsers out there? For one, it’s best to develop your projects using a browser with the broadest support for web standards. Internet Explorer made huge progress with versions 9 and 10, but Chrome, Firefox, and Safari are understood to have the broadest standards support, and they are updated more frequently. Second, you’re going to spend a lot of time using the developer tools, so you should develop with a browser that has tools you enjoy using.

Local means here; remote means somewhere else, on any computer but the one right in front of you. There are lots of different server software packages, but Apache is the most common. Web server software is not pretty, and no one ever wants to look at it. In contrast, web browsers can be very pretty, and we spend a lot of time looking at them. Regular people recognize names like Firefox, Safari, Chrome, and Internet Explorer, all of which are browsers or web clients. Every web page, in theory, can be identified by its URL (Uniform Resource Locator) or URI (Uniform Resource Identifier). Most people don’t know what URL stands for, but they recognize one when they see it. By obsolete convention, URLs commonly begin with www, as in http://www.calmingmanatee.com, but with a properly configured server, the www part is wholly unnecessary.

All this is to say that developer tools are a big deal and you will rely on them heavily to both test your code and, when something breaks, figure out what went wrong. Let’s start with the simplest possible use of the developer tools: viewing the raw source code of an HTML page (see Figure 3-2). Every browser supports this, although different browsers hide this option in different places. In Chrome 23.0, it’s under View→Developer→View Source. In Firefox 17.0, look under Tools→Web Developer→Page Source. In Safari 6.0, it’s under Develop→Show Page Source (although you must first set the “Develop” menu to display under Safari→Preferences→Advanced). Going forward, I’m going to assume that you’re using the newest version of whatever browser you choose.

pages: 270 words: 79,992

The End of Big: How the Internet Makes David the New Goliath
by Nicco Mele
Published 14 Apr 2013

For three years they worked—unpaid—with other programmers in the open-source community, and, finally, in 2005, Firefox was available—free—to anyone who wanted to use it. In a matter of months, Firefox decimated Microsoft’s market share in Web browsing. Ross went on to start Spread Firefox, an all-volunteer online community whose sole purpose was to convince people to switch to Firefox. As more and more people started using Firefox, the Spread Firefox community got more and more fired up. They raised money to run an ad in the New York Times to encourage people to switch to Firefox. 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.

The most common platforms are Microsoft Windows, Apple’s Mac OS (operating system), and Linux (the open-source option common on Web servers). As a software platform, Microsoft Windows worries about communicating with the keyboard, the monitor, the mouse, and the printer—so that applications like Microsoft Word, Skype, Firefox, and Photoshop don’t have to. The platform provides efficiencies between the hardware and the applications, smoothing the user interface (so you don’t have to worry about the zeros and ones) and making the applications more efficient and able to specialize on what they do best—like word processing or Web browsing or any one of a number of things.

pages: 276 words: 78,094

Design for Hackers: Reverse Engineering Beauty
by David Kadavy
Published 5 Sep 2011

As with many things in typography, the considerate eye is a better judge of how far to hang punctuation than geometry or rationale. To create a drop cap (which will work in Firefox, Chrome, and Safari, but not Internet Explorer 9) using CSS3, use the first-letter pseudo class, and carefully adjust the size, margins, and line-height so the drop cap is the appropriate size and in the appropriate position. The left side of Figure B-13 is created as follows: p.opening:first-letter { display: block; float: left; font-size: 114px; line-height: 80px; /* Note that Firefox 3.x ignores line-height; this value is adjusted so that WebKit and Opera match Firefox. */ margin: 8px 5px 0 -6px; padding:0; } Note that the irregular shape of the D calls for the first line of the paragraph to be kerned closer to the drop cap, but even if there were a practical way to achieve the proper kerning for this instance, there is no practical way to do this with dynamic content (because you don’t always know what letter the drop cap will be).

At the time of this writing, Internet Explorer and WebKit-based browsers such as Chrome and Safari recognize ligatures as their corresponding letter pair when the Find command is used (that is, if a user is searching for the word fig within the text of your page), whereas Firefox does not. CSS3’s font-variant-ligatures property displays the proper ligatures while not interfering with the actual HTML code of a page, thus retaining use of any browser’s Find command. Internet Explorer, Chrome, and Safari do not currently support this property, while Firefox does. Figure B-16 Ligatures are more necessary in some typefaces than in others. The groupings containing ff for Adobe Garamond are remnants of the typeface’s original incarnation as metal type. So, if you choose to apply ligatures on the content layer, your Firefox users won’t be able to use their Find command; if you choose to use font-variant-ligatures, only your Firefox users will see ligatures.

Google uses a ranking called PageRank to measure how much authority a given page has, on a scale from 1 to 10. There is a complex algorithm behind PageRank that you shouldn’t concern yourself with, but Google does provide a Firefox plug-in called Google Toolbar (shown in Figure 4-19), which shows what the PageRank of a page supposedly is. Seven is considered a very high PageRank. NYT.com has a PageRank of 9. Kadavy.net’s home page is a 4, which is considered decent for a personal blog. Figure 4-19 Google’s Firefox toolbar displays the PageRank of a given page. A number of factors go into determining a given page’s PageRank. Although the actual algorithm is an ever-changing secret, here are a few factors that are widely accepted to be a part of the algorithm: > Age of domain (how long the domain has been registered) > Authority (or PageRank) of pages that link to the page from other domains > Date of expiration of the domain (Is the domain expiring soon, or has the owner registered it a couple years into the future?

pages: 224 words: 48,804

The Productive Programmer
by Neal Ford
Published 8 Dec 2008

Internet Explorer Internet Explorer (IE) makes it easier to type in addresses that contain standard prefixes and suffixes. Use the keys Ctrl-Enter to add “www.” to the front of an address and “.com” to the end. Firefox The same Internet Explorer shortcut works for the Windows version of Firefox as well. For Macintosh, Apple-Enter does the same thing. Firefox goes one better: for all the platforms it supports, Alt-Enter places a “.org” at the end. Firefox has other handy shortcut keys that no one seems to leverage. To go directly to a tab, you can use Ctrl + <TAB-NUMBER> in Windows or Apple + <TAB-NUMBER> in OS X. OK, this shortcut is worth a measly eight keystrokes per web page.

For example, one of the ideas that Raskin promotes is the idea of Quasimode keys, which act like the Shift key (in other words, changing the mode of the keyboard when held down). Enso takes over the pretty worthless Caps Lock key and uses it to launch applications and perform other tasks. You hold the Caps Lock key down and start typing a command, like OPEN FIREFOX, and it will open Firefox. Of course, that is cumbersome to type, so another Enso command is LEARN AS FF FIREFOX, which teaches Enso that the FF command launches Firefox. Enso does more than just launching. If you have a math expression like 4+3 in a document, you can highlight it and invoke the CALCULATE command, and Enso will replace your highlighted text with the value of the calculation.

To make it work, you must start up a proxy server and issue cryptic commands to give it instructions, which are basically just incantations at the command line. I’m not in an IDE, so I can’t use live templates or even macros. I can’t even use batch or shell scripts: I’m running against an interactive proxy. It didn’t take me long to realize that I should save these commands in my key macro tool: cmd=getNewBrowserSession&1=*firefox&2=8080 cmd=open&1=/art_emotherearth_memento/welcome&sessionId= The ugly line of code is issued after I start the proxy server for Selenium, in the very particular format that Remote Control Selenium requires. If you don’t know anything about Selenium, these commands won’t make sense. But making sense out of the commands isn’t the point of the example.

pages: 62 words: 15,274

Sass for Web Designers
by Dan Cederholm
Published 14 May 2013

To ensure the gradient works in the most browsers possible and falls back to a solid color should the browser not support CSS gradients, we’ll need a hefty stack of properties: header nav[role="navigation"] ul li.active a { padding: 3px 8px; color: #fff; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; /* Fallback for sad browsers */ background-color: #d42a78; /* Mozilla Firefox */ background-image: -moz-linear-gradient(#ff70b1, #d42a78); /* Opera */ background-image: -o-linear-gradient(#ff70b1, #d42a78); /* WebKit (Safari/Chrome 10) */ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #ff70b1), color-stop(1, #d42a78)); /* WebKit (Chrome 11+) */ background-image: -webkit-linear-gradient(#ff70b1, #d42a78); /* IE10 */ background-image: -ms-linear-gradient(#ff70b1, #d42a78); /* W3C */ background-image: linear-gradient(#ff70b1, #d42a78); } FIG: 3.4: Shared heading styles on the Sasquatch Records site.

Let’s make this easier on ourselves. First, let’s build a mixin called linear-gradient, taking out the hex colors so that we can pass those in as $from and $to variables throughout the stylesheet using whatever hues we’d like. @mixin linear-gradient($from, $to) { /* Fallback for sad browsers */ background-color: $to; /* Mozilla Firefox */ background-image:-moz-linear-gradient($from, $to); /* Opera */ background-image:-o-linear-gradient($from, $to); /* WebKit (Safari 4+, Chrome 1+) */ background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, $from), color-stop(1, $to)); /* WebKit (Chrome 11+) */ background-image: -webkit-linear-gradient($from, $to); /* IE10 */ background-image: -ms-linear-gradient($from, $to); /* W3C */ background-image: linear-gradient($from, $to); } Notice that I’m using the $to color to specify the background-color fallback for browsers that don’t support CSS gradients.

Here’s an example of what’s inside mixins.scss: @mixin rounded($radius) { -webkit-border-radius: $radius; -moz-border-radius: $radius; border-radius: $radius; } @mixin shadow($x, $y, $blur, $color) { -webkit-box-shadow: $x $y $blur $color; -moz-box-shadow: $x $y $blur $color; box-shadow: $x $y $blur $color; } @mixin shadow-inset($x, $y, $blur, $color) { -webkit-box-shadow: inset $x $y $blur $color; -moz-box-shadow: inset $x $y $blur $color; box-shadow: inset $x $y $blur $color; } @mixin transition($property) { -webkit-transition: $property .2s ease; -moz-transition: $property .2s ease; -o-transition: $property .2s ease; transition: $property .2s ease; } @mixin box-sizing { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } @mixin linear-gradient($from, $to) { /* Fallback for sad browsers */ background-color: $to; /* Mozilla Firefox */ background-image:-moz-linear-gradient($from, $to); /* Opera */ background-image:-o-linear-gradient($from, $to); /* WebKit (Chrome 11+) */ background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, $from), color-stop(1, $to)); /* WebKit (Safari 5.1+, Chrome 10+) */ background-image: -webkit-linear-gradient($from, $to); /* IE10 */ background-image: -ms-linear-gradient($from, $to); /* W3C */ background-image: linear-gradient($from, $to); } At the top of my main stylesheet (screen.scss in this case) where I define all of my layout and other site-specific styles, I use the @import rule to pull those in so that the mixins are available.

pages: 398 words: 86,023

The Wikipedia Revolution: How a Bunch of Nobodies Created the World's Greatest Encyclopedia
by Andrew Lih
Published 5 Jul 2010

As maintainers of the popular Firefox Web browser and other free software packages, Mozilla has a novel revenue model that rakes in tens of millions of dollars a year. The legend in Silicon Valley is that Mozilla has more money than they know what to do with. How does Mozilla make out so well? The numbers are impressive. In October 2007, the Mozilla Foundation disclosed that their 2006 revenue was $66,840,850, with ninety full-time employees. Roughly 85 percent of this revenue came from Google, as it is the default option in the Firefox browser search bar. That and a Firefox-branded Google page as the standard home page means Mozilla gets lots of associated advertising and affiliate revenue.

Calacanis thinks there would be “$50,000 in the bank right now like Mozilla if they put up one advertisement on Wikipedia.”97 As the bad blood regarding the Spanish Fork has shown, advertising or any on-site revenue-generating scheme on the backs of the community is bound to be a dangerous option, even if only for discussion. It’s questionable whether the Mozilla strategy can be directly mapped over to the Wikipedia experience, as the community and the encyclopedia are so intertwined. The difference between Firefox and Wikipedia is the amount of community involvement. Firefox’s community is largely made up of users of the browser, as only a small number of people write the Firefox software. By contrast, Wikipedia depends on legions of volunteer editors who feel invested in the product. If they perceive money is made off the sweat of their work, there is a much larger constituency to deal with regarding the use of the funds.

That and a Firefox-branded Google page as the standard home page means Mozilla gets lots of associated advertising and affiliate revenue. When users see the Google search listings resulting from the Firefox start page, any clicks on advertisements also generate revenue for the Mozilla Foundation. Each click on an ad may generate only pennies or even a few dollars. But given the increas- Wikipedia_Makes_Waves_215 ing number of Firefox users and how many times one does a search each day, it adds up to a nice sum. It’s these types of numbers that make Jason Calacanis agitated. A high-en-ergy tech entrepreneur best known as the founder of Weblogs Inc., he is an un-abashed fan of Wikipedia.

Producing Open Source Software: How to Run a Successful Free Software Project
by Karl Fogel
Published 13 Oct 2005

Case study: Mozilla Firefox, the Debian Project, and Iceweasel The Mozilla Foundation owns the trademarked name "Firefox", which it uses to refer to its popular free software web browser of the same name. The Debian Project, which maintains a long-running and also quite popular GNU/Linux distribution, wanted to package Firefox for users of Debian GNU/Linux. So far, so good: Debian does not need Mozilla's permission to package Firefox, since Firefox is open source software. However, Debian does need Mozilla's permission to call the packaged browser "Firefox" and to use the widely-recognized Firefox logo (you've probably seen it: a long reddish fox curling its body and tail around a blue globe) as the icon for the program, because those are trademarks owned by Mozilla.

However, Debian does need Mozilla's permission to call the packaged browser "Firefox" and to use the widely-recognized Firefox logo (you've probably seen it: a long reddish fox curling its body and tail around a blue globe) as the icon for the program, because those are trademarks owned by Mozilla. Normally, Mozilla would have happily given its permission. After all, having Firefox distributed in Debian is good for Mozilla's mission of promoting openness on the Web. However, various technical and policy effects of the Debian packaging process left Debian unable to fully comply with Mozilla's trademark usage requirements, and as a result, Mozilla informed Debian that their Firefox package could not use the Firefox name or branding. No doubt Mozilla did so with some reluctance, as it is not ideal for them to have their software used without clear attribution.

However, they could have given Debian a trademark license and yet chose not to; presumably, this is because Debian was doing something with the code that Mozilla did not want accruing to their own reputation.[100] This decision by Mozilla did not mean that Debian had to remove Firefox from their package system, of course. Debian simply changed the name to "Iceweasel" and used a different logo. The underlying code is still the Mozilla Firefox code, except for the minor bits Debian had to change to integrate the different name and logo — changes they were perfectly free to make, of course, because of the code's open source license. It is even consistent to license your project's logo artwork files under a fully free license while still retaining a trademark on the logo, as the following story of the GNOME logo and the fish pedicure shop (I'm not making this up) illustrates.

jQuery UI 1.8: The User Interface Library for jQuery
by Dan Wellman
Published 14 Aug 2011

As this book is being written, there are already a number of new components nearing release, with many more in the pipeline, and all of these components will automatically be ThemeRoller-ready. Browser support Like jQuery itself, jQuery UI supports all of the major browsers in use today, including the following: • IE6, IE7, IE8, and IE9 • Firefox 2, Firefox 3, and Firefox 4, and Firefox 5 • Opera 9, Opera 10, and Opera 11 • Safari 3, Safari 4, and Safari 5 • Chrome 1 to Chrome 9 The widgets are built from semantically correct HTML elements generated, as needed by the components. Therefore, we won't see excessive or unnecessary elements being created or used. [ 17 ] Introducing jQuery UI Book examples The library is as flexible as standard JavaScript.

Rich uploads with progressbar Instead of relying on user interaction to increase the value of the progressbar and therefore the completion of the specified task, we can instead rely on the system to update it; deterministic means simply that something must be able to update it accurately. [ 203 ] The Progressbar Widget In our final progressbar example, we can incorporate the HTML5 file API, in order to upload a file asynchronously, and can use the onprogress event to update the progressbar, while the file is uploading. Although the onprogress event is defined as part of an official W3C specification, it has only been implemented by Firefox and webkit. This example however, will only work in Firefox 3.5+, as webkit browsers do not implement the getAsBinary() method that we use on file objects. This example will also only work correctly using a full web server with PHP installed and configured. We won't be looking at the server-side part of the upload process in this example; we're not interested in what happens to the file once it's been uploaded, only in updating the progressbar based on feedback received from the system, while it is uploading.

Image positioning All of the icon images used by the theme are stored in a single file (known as a sprite file), and are displayed individually by manipulating the background-position properties of the sprite file. This category sets the background positions for all individual icons. Corner radius CSS3 is used to give rounded corners to supporting browsers (just Firefox 3+, Safari 3+, Chrome 1+, Opera 10+, and IE9+). Overlays The image used for the generic overlay defined in the core CSS file is set here, as it is a class that implements a semi-transparent overlay over specified elements. The jQuery UI documentation features an extensive overview of the theming API at: http://docs.jquery.com/UI/Theming/API.

pages: 560 words: 135,629

Eloquent JavaScript: A Modern Introduction to Programming
by Marijn Haverbeke
Published 15 Nov 2018

function forceDirected_noRepeat(graph) { for (let i = 0; i < graph.length; i++) { let node = graph[i]; for (let j = i + 1; j < graph.length; j++) { let other = graph[j]; let apart = other.pos.minus(node.pos); let distance = Math.max(1, apart.length); let forceSize = -repulsionStrength / (distance * distance); if (node.hasEdge(other)) { forceSize += (distance - springLength) * springStrength; } let applied = apart.times(forceSize / distance); node.pos = node.pos.plus(applied); other.pos = other.pos.minus(applied); } } } Measuring this code shows a significant speed boost. It is twice as fast on Firefox 58, about 30 percent faster on Chrome 63, and 75 percent faster on Edge 6. The big boost on Firefox and Edge is only partially a result of the actual optimization. Because we need the inner loop to go over only part of the array, the new function replaces the for/of loops with regular for loops. On Chrome, this has no measurable effect on the speed of the program, but on Firefox simply not using iterators makes the code 20 percent faster—and on Edge it makes a 50 percent difference.

Web developers were left with not one unified web but two or three incompatible platforms. To make things worse, the browsers in use around 2003 were all full of bugs, and of course the bugs were different for each browser. Life was hard for people writing web pages. Mozilla Firefox, a not-for-profit offshoot of Netscape, challenged Internet Explorer’s position in the late 2000s. Because Microsoft was not particularly interested in staying competitive at the time, Firefox took a lot of market share away from it. Around the same time, Google introduced its Chrome browser, and Apple’s Safari browser gained popularity, leading to a situation where there were four major players, rather than one.

GraphNode.prototype.hasEdgeFast = function(other) { for (let i = 0; i < this.edges.length; i++) { if (this.edges[i] === other) return true; } return false; }; On Chrome, this shaves about 17 percent off the time it takes to compute the layout, which is most of the time taken by includes in the profile. On Edge, it makes the program 40 percent faster. But on Firefox, it makes it slightly (about 3 percent) slower. So, in this case, Firefox’s engine (called SpiderMonkey) did a better job optimizing calls to includes. The row labeled “Minor GC” in the profile gives us the time spent cleaning up memory that is no longer being used. Given that our program creates a huge number of vector objects, the 3 percent time spent reclaiming memory is strikingly low.

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

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.”) Click Install Now. 4. Restart Firefox. Chapter 4 ■ Semantic Web Development Tools Figure 4-21.

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.

They provide text search or SPARQL queries, or both, and support the five-star data deployment scheme discussed in Chapter 3, for data consumption, generation, aggregation, augment, and reinterpretation. Tabulator Tabulator is W3C’s Semantic Web browser and editor available as a web application and a Firefox plug-in at http://www.w3.org/2005/ajar/tab. It can display Linked Data in various visualization formats. Tabulator contains an RDF store written in JavaScript. The tool has two modes: Exploration Mode and Query Mode. 113 Chapter 4 ■ Semantic Web Development Tools In Exploration Mode, it displays a table of predicate-object pairs, which might also include nested properties.

pages: 302 words: 73,946

People Powered: How Communities Can Supercharge Your Business, Brand, and Teams
by Jono Bacon
Published 12 Nov 2019

“Salesforce Customers List,” Sales Inside, accessed May 2, 2018, https://www.salesinsideinc.com/services-details/salesforce-customers-list. 23. “Salesforce Trailblazer Community,” Salesforce, accessed February 25, 2019, https://success.salesforce.com/. 24. “Firefox Crop Circle,” FirefoxCropCircle.com, accessed November 30, 2018, https://firefoxcropcircle.com/circle/; “SpreadFirefox,” Mozilla Firefox, November 2013, https://blog.mozilla.org/press/files/2013/11/nytimes-firefox-final.pdf. 25. “Pebble Time—Awesome Smartwatch, No Compromises,” Kickstarter, accessed November 25, 2018, https://www.kickstarter.com/projects/getpebble/pebble-time-awesome-smartwatch-no-compromises/description; “Exploding Kittens,” Kickstarter, accessed November 25, 2018, https://www.kickstarter.com/projects/elanlee/exploding-kittens/description. 26.

The new Mozilla community, forged from the ashes of Netscape, kicked off the GetFirefox community. They advocated for an open web and open standards. They fervently advocated Firefox as a solution for this freer and more-open Internet. As the global community grew, they promoted this message online and in local communities. They were incredibly creative in how they attracted eyeballs. They produced swag, did online promotion, and even produced crop circles and generated enough money to put a full-page ad in the New York Times.24 There is little doubt that this community had a profound impact in the growth of Firefox and, subsequently, an open web. With the birth of crowdfunding on platforms such as Kickstarter and Indiegogo, community advocacy and promotion has similarly played a pivotal role.

The world is fighting more than ever before for our attention. You understand the value you want to create. You know your audience. You know ways to build growth and engage with your audience. Now you need to come up with ideas that will both surprise and intrigue them. Without wishing to sound like a raging cliché, think outside the box. The Firefox community made crop circles as part of their advocacy. They solicited donations from their fifty-thousand-strong community and put an ad in the New York Times where the logo was comprised of the names of the donors.9 They thought bigger, and it grabbed people’s attention. The best ideas come from different brains, so get more brains involved in the process.

Sass and Compass for Designers
by Ben Frain
Published 24 Apr 2013

Debug help in the browser Thanks to the popularity of Sass there are now experimental features in browsers to make debugging Sass even easier. When inspecting an element with developer tools, the source file and line number is provided, making it easier to find the offending selector. For Chrome, here's a step-by-step explanation: http://benfra.in/1z1 Alternatively, if using Firefox, check out the FireSass extension: https://addons.mozilla.org/en-us/firefox/addon/ firesass-for-firebug/ Let's create another partial file called _modules.scss. This will contain all the modular pieces of code. This means, should we need to move the .testimonial section (which should be a modular section) in the source code, it's not necessary to move it from one partial file to another (which would be the case if the partial files were named according to their existing layout).

This time we'll debug the current value returned by the bb-opos function we looked at earlier in the chapter: @debug bb-opos($bb-flow); This produces a message ending like this on the command line: Chapter8/code/sass/partials/_chapter-examples.scss:48 DEBUG: right Here's a screenshot to illustrate this: The @debug directive isn't something that's needed every day but it can be useful when trying to troubleshoot custom mixins and functions. Although we covered it in Chapter 3, Nesting, Extend, Placeholders, and Mixins, in case you missed it, both the Chrome Developer Tools and the FireSass plugin for Firefox provide debug info in the browser. There's a step-by-step for Chrome at http://benfra.in/1z1 and the FireSass plugin can be found at https://addons.mozilla.org/en-US/ firefox/addon/firesass-for-firebug/. [ 218 ] Chapter 8 The @warn directive Sass also has a @warn directive that enjoys similar functionality to @debug. For example: @warn $theme-tint; Unlike @debug, messages generated by @warn can be universally suppressed by adding the following to Compass's config.rb file: sass_options = {:quiet => true} To re-enable warnings, either comment out the line or amend it like so: sass_options = {:quiet => false} Summary In this chapter, we have had a good look at some of Sass's most complex, yet powerful capabilities.

Take a look at the following screenshot and if you are the kind of designer that freaks out when there is a pixel astray, please make sure you're sitting down. Can you see an odd-sized gap before the final red grid item? The screenshot is taken in Safari 6. This same problem isn't apparent in Chrome or Firefox. That's because Safari rounds down sub-pixels. Why? Although the outer dimensions of the grid (the context) may be set as ems, all the column widths within the grid are defined as percentages. That's a large part of what enables the grid to be responsive to different viewports. To actually paint the page, browsers convert percentage values into pixels.

pages: 73 words: 17,793

HTML5 for Web Designers
by Jeremy Keith
Published 2 Jan 2010

Because the format is patent-encumbered, technologies can’t decode MP3 files without paying the patent piper. That’s fine for corporations like Apple or Adobe, but it’s not so easy for smaller companies or open-source groups. Hence, Safari will happily play back MP3 files while Firefox will not. There are other audio formats out there. The Vorbis codec—usually delivered as an .ogg file—isn’t crippled by any patents. Firefox supports Ogg Vorbis—but Safari doesn’t. Fortunately, there’s a way to use the audio element without having to make a Sophie’s Choice between file formats. Instead of using the src attribute in the opening <audio> tag, you can specify multiple file formats using the source element: <audio controls> <source src="witchitalineman.ogg"> <source src="witchitalineman.mp3"> </audio> A browser that can play back Ogg Vorbis files will look no further than the first source element.

Because XML is a text-based data format, the contents of SVG are theoretically available to screen readers. FIG 3.04: Using canvas to generate a graph from data input by users. In practice, SVG hasn’t captured the imagination of developers in the same way that canvas has. Even though canvas is the new kid on the block, it already enjoys excellent browser support. Safari, Firefox, Opera, and Chrome support canvas. There’s even a JavaScript library that adds canvas support to Internet Explorer (http://bkaprt.com/html5/4).4 Given its mantras of “pave the cowpaths,” and “don’t reinvent the wheel,” it might seem odd that the WHATWG would advocate canvas in HTML5 when SVG already exists.

The long URL: http://www.w3.org/TR/wai-aria/roles#role_definitions [↵] Index 2012, 7, 11 2022, 7 A Ajax, 22, 63, 76, 80 Allsopp, John, 58 API, 20–21, 24–25, 28, 32 Apple, 4, 29, 34 ARIA, 80, 82 article, 67, 75, 76 aside, 65, 67, 78 audio, 22, 29–37, 82 autobuffer, 32–33 autocomplete, 44–45 autofocus, 42–44 autoplay, 30–31, 37 B Berners-Lee, Sir Tim, 1, 5 Bespin, 26 big, 18 C canvas, 23–29, 70, 82 character encoding, 14 Chrome, 29 cite, 19 class, 57 color, 53, 83 controls, 31, 33–38 CSS, 3, 7, 14, 18, 20, 39, 40, 57, 76, 79 D datalist, 45–46 date, 51–53 datetime, 51–52 datetime-local, 51–52 div, 63, 69 doctype, 12–13, 16, 81, 82 document.write, 21 DOM, 27, 41, 50, 57, 63 drag and drop, 21 E em, 18, 60 email, 47, 83 error handling, 11 F Firefox, 29, 34 Flash, 22, 26, 30, 35, 37 font, 11, 18, 77 footer, 64–65, 66, 78, 81 French Revolution, 9 H header, 64, 67, 78, 81, 83 hgroup, 74, 78 Hickson, Ian, 4, 7, 10, 85 HTML 3.2, 13 HTML 4.01, 2, 10, 12, 14, 81 I IETF, 2 img, 2, 22, 24, 39 innerHTML, 21 input, 44, 45, 47, 82 Internet Explorer, 3, 7, 21, 29, 35, 78, 82 IRC, 85 J JavaScript, 14, 15, 20–21, 40, 50, 54, 79, 82 jQuery, 28 L Lawson, Bruce, 83 lint, 16 M mark, 60 microdata, 59 microformats, 10, 57–59, 61 Mobile Safari, 48 Modernizr, 82 month, 51, 52 Mosaic, 2, 23 Mozilla, 4, 26 MP3, 30, 34 MP4, 38 N nav, 66–67, 78, 80 Nottingham, Mark, 59 number, 50–51 O obsolete, 17 Ogg Vorbis, 34, 36 Opera, 4, 29, 49, 52 outline, 70–76, 79–80 P pattern, 54 Pilgrim, Mark, 84 placeholder, 41–42 poster, 37, 38 preload, 33, 37 progress, 62–63 pubdate, 67 Python, 15 Q QuickTime, 30 R range, 49–51, 83 RDFa, 58–59 Real Audio, 30 required, 44 role, 81 S Safari, 29, 33, 47, 49, 50 scoped, 76–77 search, 47, 60, 81, 83 sectioning content, 70–75, 79 sectioning roots, 75 SGML, 1 Sharp, Remy, 79, 82, 84 significant white space, 15 Sivonen, Henri, 81 small, 18 Sneddon, Geoffrey, 79 source, 34–37, 38 strong, 60 SVG, 28–29 syntax, 6, 15–16, 31, 35 T table, 28 tel, 47 Theora Video, 38 time, 61–62 U UndoManager, 21 url, 47 V validate, 53, 54, 81 video, 37–39, 70, 82, 83 W W3C, 2–6, 9, 16, 29, 41, 81, 84 Web Apps 1.0, 4–5, 21 Web Forms 2.0, 5, 41 Web Standards Project, 3 week, 52 WHATWG, 4–6, 9, 29, 41, 84, 85 window.history, 21 X XHTML 1.0, 2–3, 12, 15–16 XHTML 1.1, 3 XHTML 2, 3–4, 5, 6, 9, 10 XML, 2–3, 5, 6, 15, 29, 57 XMLHttpRequest, 29 Y year, 52 About A Book Apart Web design is about multi-disciplinary mastery and laser focus, and that’s the thinking behind our new line of brief books for people who make websites.

pages: 982 words: 221,145

Ajax: The Definitive Guide
by Anthony T. Holdener
Published 25 Jan 2008

The first thing that comes to mind, especially in browsers such as Firefox, is the ability to change the browser’s theme. In addition, most browsers also enable users to change such aspects as the page’s font size, style, and character encoding. Figure 11-1 shows these user choices in a typical Firefox browser. Typically, you’d find these choices under the browser’s View menu. In Internet Explorer, the user will find in the View menu choices for font size (Text Size) and character encoding. Natively, Internet Explorer does not enable users to change the style of a page. For Firefox, the View menu allows the user to change the font size (Text Size), page style, and character encoding.

The Alert Box The alert box takes many forms depending on the theme of the desktop and the browser being used. This makes an alert from Internet Explorer look different depending on whether the user is using the default theme, the Windows classic theme, the Windows XP theme, and so forth. This problem will occur across platforms; the alert for Firefox on the Windows platform will look different from the alert for Firefox on the Linux platform. Figures 10-1, 10-2, and 10-3 show different alert windows on Windows, Mac OS X, and Linux platforms, respectively. The problem with these windows looking so different is that there is never any continuity between the alert window and the application that is being used.

These choices are also available in Opera. 363 Figure 11-1. The View menu of a Firefox browser allows for user changes Stylesheets As I said, Internet Explorer does not natively allow the user to change the style of someone else’s page. In most other browsers, you can change the page style by selecting View ➝ Page Style in the File menu, as shown in Figure 11-2. Opera users can access stylesheets by selecting View ➝ Style (when Opera has built-in styles besides those provided by the developer of the application or page being viewed). Figure 11-2. The Page Style drop down found on the Firefox browser Typically users can only turn stylesheets off (View ➝ Page Style ➝ No Style) or select one of the alternate stylesheets that the application provides.

pages: 410 words: 101,260

Originals: How Non-Conformists Move the World
by Adam Grant
Published 2 Feb 2016

But when he looked at the results, he was stunned: Employees who used Firefox or Chrome to browse the Web remained in their jobs 15 percent longer than those who used Internet Explorer or Safari. Thinking it was a coincidence, Housman ran the same analysis for absences from work. The pattern was the same: Firefox and Chrome users were 19 percent less likely to miss work than Internet Explorer and Safari fans. Then he looked at performance. His team had assembled nearly three million data points on sales, customer satisfaction, and average call length. The Firefox and Chrome users had significantly higher sales, and their call times were shorter.

The Firefox and Chrome users had significantly higher sales, and their call times were shorter. Their customers were happier, too: After 90 days on the job, the Firefox and Chrome users had customer satisfaction levels that Internet Explorer and Safari users reached only after 120 days at work. It’s not the browser itself that’s causing them to stick around, show up dependably, and succeed. Rather, it’s what their browser preference signals about their habits. Why are the Firefox and Chrome users more committed and better performers on every metric? The obvious answer was that they’re more tech savvy, so I asked Housman if he could explore that.

The obvious answer was that they’re more tech savvy, so I asked Housman if he could explore that. The employees had all taken a computer proficiency test, which assessed their knowledge of keyboard shortcuts, software programs, and hardware, as well as a timed test of their typing speed. But the Firefox and Chrome group didn’t prove to have significantly more computer expertise, and they weren’t faster or more accurate typists. Even after accounting for those scores, the browser effect persisted. Technical knowledge and skill weren’t the source of their advantage. What made the difference was how they obtained the browser. If you own a PC, Internet Explorer is built into Windows. If you’re a Mac user, your computer came preinstalled with Safari.

pages: 603 words: 141,814

Python for Unix and Linux System Administration
by Noah Gift and Jeremy M. Jones
Published 29 Jun 2009

Let’s start backward this time and see what it looks like when we query it: snmpwalk -v 2c -c public localhost .1.3.6.1.4.1.2021.28664.100 UCD-SNMP-MIB::ucdavis.28664.100.1.1 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.28664.100.2.1 = STRING: "FirefoxHits" UCD-SNMP-MIB::ucdavis.28664.100.3.1 = STRING: "/usr/bin/python /opt/local/snmp_scripts/agent_ext_logs.py" UCD-SNMP-MIB::ucdavis.28664.100.100.1 = INTEGER: 0 UCD-SNMP-MIB::ucdavis.28664.100.101.1 = STRING: "Total number of Firefox Browser Hits: 15702" UCD-SNMP-MIB::ucdavis.28664.100.102.1 = INTEGER: 0 UCD-SNMP-MIB::ucdavis.28664.100.103.1 = "" If you look at the value of 100.101.1, you will see the output of a script that uses a generator pipeline to parse an Apache log and look for all Firefox hits in the log. It then sums them and returns the output via SNMP. Example 7-5 is the script that gets run when we query this OID. Example 7-5. Generator pipeline to look for total firefox hits in Apache logfile import re """Returns Hit Count for Firefox""" def grep(lines,pattern="Firefox"): pat = re.compile(pattern) for line in lines: if pat.search(line): yield line def increment(lines): num = 0 for line in lines: num += 1 return num wwwlog = open("/home/noahgift/logs/noahgift.com-combined-log") column = (line.rsplit(None,1)[1] for line in wwwlog) match = grep(column) count = increment(match) print "Total Number of Firefox Hits: %s" % count In order for our query to work in the first place, we needed to tell snmpd.conf about this script, and here is what that section looks like: syslocation "O'Reilly" syscontact bofh@oreilly.com rocommunity public exec helloworld /usr/bin/python -c "print 'hello world from Python'" exec .1.3.6.1.4.1.2021.28664.100 FirefoxHits /usr/bin/python /opt/local/snmp_scripts/agent_ext_logs.py The magic portion is the last line, in which .1.3.6.1.4.1.2021 is the ucdavis enterprise number, 28664 our enterprise number, and 100 is some contrived value that we decided we wanted to use.

ps aux In [2]: ps.grep('jmjones', field=0) Out[2]: SList (.p, .n, .l, .s, .grep(), .fields() available). Value: 0: jmjones 5361 0.0 0.1 46412 1828 ? SL Apr11 0:00 /usr/bin/gnome-keyring-daemon -d 1: jmjones 5364 0.0 1.4 214948 14552 ? Ssl Apr11 0:03 x-session-manager .... 53: jmjones 32425 0.0 0.0 3908 584 ? S Apr15 0:00 /bin/sh /usr/lib/firefox/run-mozilla. 54: jmjones 32429 0.1 8.6 603780 88656 ? Sl Apr15 2:38 /usr/lib/firefox/firefox-bin This matched the exact rows that we wanted, but printed out the whole row. To get at just the PID, we’ll have to do something like this: In [3]: ps.grep('jmjones', field=0).fields(1) Out[3]: SList (.p, .n, .l, .s, .grep(), .fields() available).

Here is an example of a script that parses the total number of Firefox hits in an Apache log and then returns the number for a custom enterprise number. Let’s start backward this time and see what it looks like when we query it: snmpwalk -v 2c -c public localhost .1.3.6.1.4.1.2021.28664.100 UCD-SNMP-MIB::ucdavis.28664.100.1.1 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.28664.100.2.1 = STRING: "FirefoxHits" UCD-SNMP-MIB::ucdavis.28664.100.3.1 = STRING: "/usr/bin/python /opt/local/snmp_scripts/agent_ext_logs.py" UCD-SNMP-MIB::ucdavis.28664.100.100.1 = INTEGER: 0 UCD-SNMP-MIB::ucdavis.28664.100.101.1 = STRING: "Total number of Firefox Browser Hits: 15702" UCD-SNMP-MIB::ucdavis.28664.100.102.1 = INTEGER: 0 UCD-SNMP-MIB::ucdavis.28664.100.103.1 = "" If you look at the value of 100.101.1, you will see the output of a script that uses a generator pipeline to parse an Apache log and look for all Firefox hits in the log.

pages: 996 words: 180,520

Nagios: System and Network Monitoring, 2nd Edition
by Wolfgang Barth
Published 19 Aug 2009

* * * [324] svn co svn://svnanon.samba.org/lorikeet/trunk/mod_auth_ntlm_winbind_mod_auth_ntlm_winbind [325] http://samba.org/ftp/unpacked/lorikeet/mod_auth_ntlm_winbind/ [326] http://adldap.sourceforge.net/mod_auth_ntlm_winbind.php E.4 Mozilla Firefox as a Web Client Configuring the Mozilla Web browser in Windows XP is very simple, provided that the workstation is a member in the Active Directory domain. With the address about:config you can call up the current configuration in Firefox and enter negotiate as the filter (see Figure E-2). In the network.negotiate-auth.trusted-uris parameter you enter all hosts or domains for which an automatic login should take place. Multiple entries are separated by spaces or commas. If a target host or its domain is not in the list, Firefox will certainly ask for the user name and password.

As a normal user, you fetch the ticket with the realm of the corresponding Windows user: user@linux:~$ kinit myuser@EXAMPLE.NET Password for myuser@EXAMPLE.NET: ****** Afterward, you can check with klist to see whether you really have received a ticket. This is usually only valid for eight hours. After the time has expired, you must fetch a new ticket, because without a valid ticket Firefox will announce itself again with the user/password query. E.4.1 Firefox and NTLM Along with the SPNEGO/Kerberos procedure, Firefox is also capable of performing authentication via NTLM. To do this, you enter the desired domains or hosts in the parameter network.automatic-ntlm-auth.trusted-uris. In Windows XP, everything else runs automatically. In Linux, NTLM authentication is normally not available, since a Linux client cannot authenticate itself via NTLM to a Windows domain in the Active Directory.

If a target host or its domain is not in the list, Firefox will certainly ask for the user name and password. These are transmitted in plain text, however, which is why you should prefer automatic login in all cases. Figure E-2. Single sign-on via SPNEGO/Kerberos is enabled in the Firefox settings under network.negotiate In Linux you can also authenticate yourself with Firefox automatically via the negotiation procedure. You need only a valid user ticket to do this. As long as the Linux workstation logins are not already actively processed via Kerberos, it is enough just to obtain the ticket manually with kinit. In addition the file /etc/krb5.conf must be configured as described in E.2.3 Kerberos configuration from page 642.

pages: 215 words: 55,212

The Mesh: Why the Future of Business Is Sharing
by Lisa Gansky
Published 14 Oct 2010

Mozilla, where I have been an active friend and adviser for years, is perhaps the best example of that ethos, system, and commitment. Mozilla developed the browser Firefox to create a better Web experience. Many of us were concerned about one or a few companies controlling the channel that has become the Internet. Firefox’s intellectual property is held under a special type of open-source license. The code, developed by community and incorporated into Firefox, continues to be held by those members, who in return grant access to Mozilla to embed and use it. This “communal IP,” as I call it, is a wonderful example of the share economy ethos that was, and hopefully will remain, at the core of the Internet.

See Product design double bottom line of energy cooperatives government initiatives for green business practices and profits green criteria and purchasing decisions Mesh companies purchasing decisions, green drivers of recycling and reuse services sustainable design upcycling waste management, natural approach to Etsy Expedia Expensure Expert-advice sharing, Mesh companies for Facebook Firefox, community input First mover advantage Flash branding Flextronics, Mesh strategies Florida, Richard Folcia, Federico Food co-ops, Mesh companies Freepeats FreshlyBranded FriendlyFavor Friendster Full Mesh model Gardening, Mesh companies Geek Squad General Electric Get Satisfaction Global Green Godin, Seth Goodall, Jane GoodGuide Goods swaps, Mesh companies Google Google Earth Gordon, Chuck Green initiatives.

See Social networking starting Mesh company Sweet Spot trends influencing growth of trust building Millennial generation Mobile networks digital translation to physical and flash branding as foundation of the Mesh share-based business operation users, increase in Modular design Mohsenin, Kamran Movie rentals online, Mesh companies Mozilla Firefox Music-based businesses, Mesh companies Natural ecosystem, relationship to Mesh ecosystem Netflix annual sales as information business Mesh strategy perfection recommendation engine recommendations Network effect Niche markets for maintaining/servicing products Mesh companies opening, reason for sharing as North Portland Tool Library (NPTL) Ofoto Olapic Ombudsman Open Architecture Network Open Design Open innovation service provider Open networks advantages of Architecture for Humanity communal IP concept and marketing products openness versus proprietary approach and product improvement software development OpenTable O’Reilly, Tim Ostrom, Elinor Own-to-Mesh model car-sharing services profits, generation from retirees as customers Partnerships characteristics of corporations and Mesh companies income generation from in Mesh ecosystem unexpected value of Patagonia recycled textiles of Walmart partnership Paul, Sunil Payne, Steven Peer-to-peer lending.

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

Sele‐ nium supports many different browsers, but ships with a built-in driver for Firefox. If you don’t have Firefox installed, you can either install it, or install the Selenium driver for Chrome, Internet Explorer, or Safari. Let’s see if we can open a web page using Selenium (in our examples, we’ll be using Firefox, but it’s very easy to switch and use a different driver): from selenium import webdriver browser = webdriver.Firefox() browser.get('http://www.fairphone.com/we-are-fairphone/') browser.maximize_window() Imports the webdriver module from Selenium. This module is used to call any installed drivers. Instantiates a Firefox browser object by using the Firefox class from the web driver module.

Instantiates a Firefox browser object by using the Firefox class from the web driver module. This should open a new Firefox window on your computer. Accesses the URL we want to scrape by using the get method and passing a URL. The open browser should now start to load the page. Maximizes the open browser by using the maximize_browser method. This helps Selenium “see” more of the content. We now have a browser object (variable browser) with a page loaded and ready. Let’s see if we can interact with the elements on the page. If you use your browser’s Inspec‐ 314 | Chapter 12: Advanced Web Scraping: Screen Scrapers and Spiders tion tab, you’ll see the social media content bubbles are div elements with a class of content.

Getting used to your favorite browser’s debug‐ ging or development tools is an essential part of becoming an advanced web scraper. Depending on what browser you use, the tools might have different names and func‐ tionality, but the concepts are the same. You’ll want to educate yourself on your favor‐ ite browser’s tools, be it Internet Explorer, Safari, Chrome, or Firefox. The basics of every browser debugger are similar. You’ll have an area where you can see the requests and page load data (usually called Network or something similar). You’ll have another area where you can analyze the markup of the page and see the styles and content in each tag (usually called Inspection or Elements or DOM).

pages: 324 words: 87,064

Learning Ext Js
by Shea Frederick
Published 19 Dec 2008

Their editor can debug JavaScript, CSS, PHP, and many other languages as you type, and the best part is that you can link the editor up with your libraries and classes to get code auto-completion specific to your development. The debugger can alert you to errors in your code before you get to the browser (enable the JSLint debugger), and can suggest fixes for the errors. The final point here is an absolute necessity—get Firefox and Firebug installed on your computer! Don't even ask why, because Firebug will soon become the program you just cannot do your job without. Soon, you will be wondering how you ever got any work done before Firebug. What it does is allows you to monitor and interact with the web page in real time.

The other main thing that it does is allow you to modify the HTML and JavaScript in your web page and watch these changes take effect in real time. The built-in script debugger lets us pause code execution and inspect or even modify code and variables. Once you are set up with a local (or remote) development web server, your favorite editor and debugger, and Firefox with Firebug, you are ready to start Learning Ext JS. Who is this book for This book is written for Web Application Developers who are familiar with HTML, but may have little to no experience with JavaScript application development. If you are starting to build a new web application, or you are revamping an existing web application, then this book is for you.

From the first time you create a DIV tag and apply a style to it, it becomes apparent that it's not going to look the same in every browser unless you are very diligent. When we use Ext widgets, the browser compatibility is taken care of by the Ext library, so that each widget looks exactly the same in most of the popular browsers, which are: • Internet Explorer 6+ • Firefox 1.5+ (PC, Mac) • Safari 2+ • Opera 9+ (PC, Mac) Event-driven interfaces Events describe when certain actions happen. An event could be a user action such as a click on an element, or it could be a response to an AJAX call. When a user interacts with a button, there is a reaction, with not just one but many events happening.

pages: 260 words: 67,823

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

If the web gets better, more people use the web, and Google benefits.” When Chrome debuted, Pichai had to sell it to two entities: the public and his colleagues, many of whom had poured significant effort into developing Firefox. Google had invested in Mozilla, the nonprofit that built Firefox, in a deal that made Google the browser’s default search engine. “The idea of going and competing with Firefox is not something any of us wanted to do,” Upson told me. Pichai won over his colleagues not by brute-forcing his product, but by letting them figure it out for themselves. He never mandated that Googlers use Chrome.

This wasn’t received well by Google leadership, who saw Microsoft attacking its search business and hampering its productivity tools as well. That Microsoft carried out this attack with a poorly functioning browser made it susceptible to challenge. Google at first significantly invested in Mozilla Firefox, Internet Explorer’s top competitor. But at a certain point, the company decided its ideal browser needed to be built from the ground up, and that Google ought to build it itself. “From a purely technical standpoint, we came to the conclusion that we wanted to start from a blank slate, just throw all the legacy away,” Upson told me.

He never mandated that Googlers use Chrome. “It was, ‘Could we win over our employees just on the merits of the product itself?’” Upson said. “Even today, you don’t see everyone using Chrome at Google. You still see people using Firefox.” This soft-handed approach won Pichai trust across divisions inside Google, and from Google’s founders. “Sundar was very good at managing that room,” Sood, who sat in on Pichai’s presentations to Page and Brin, told me. “Not in a manipulative way. He was very genuine, he’s very empathetic, he doesn’t really come with ego, he’s not coming in with his own ideas. He’s very good at commanding that crowd.”

pages: 422 words: 104,457

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

I sat down, ordered a cappuccino, opened up my laptop, and launched Tor, the anonymizing software that masks the Internet address of your computer by routing traffic around the world. This time, I appeared to be in Germany. Browsing on Tor is slow. As a test, I typed New York University’s Web address, www.nyu.edu, into the Tor browser and into the regular Firefox Web browser and clocked each of them. It took twenty seconds to launch in Tor and three seconds to launch in Firefox. At least I had plenty of time to sip my coffee as I browsed on Tor. I started by signing up for a free e-mail account for Ida from Microsoft’s Outlook.com. I steeled myself and entered 212-867-5309 as her backup phone number (after the famous ’80s song by Tommy Tutone).

But since the ad industry has not agreed to stop tracking users who send that signal, turning it on was simply a political protest. Finally, I decided to go nuclear. One night, after the kids went to bed, I sat down at my computer and installed the two most popular anti-tracking software extensions onto my Firefox Web browser. The first, Adblock Plus, blocked advertisements from displaying—thus preventing advertisers from the opportunity of dropping tracking cookies on my machine in the first place. Since my profession, journalism, derives much of its revenue from advertising, I’m not in favor of blocking ads, but I figured I’d give it a shot in the name of protecting myself from being watched.

The second, NoScript, blocked a type of computer code called JavaScript, as well as some other software such as Flash, from loading on Web pages without my permission. JavaScript can be used to load all sorts of tracking technology, including cookies, and can even be used to monitor how you move your mouse on the page. But it also has a lot of legitimate uses. Immediately, Firefox sputtered and stalled. When I clicked on Apple’s page to set up a Genius bar appointment, nothing worked. I had to set up an exception on NoScript to allow Apple’s JavaScript. The same thing happened at Amazon.com. At first, I thought that everything I was trying to order was out of stock, but then I realized that I had to set up an exception for Amazon’s JavaScript, as well.

pages: 678 words: 159,840

The Debian Administrator's Handbook, Debian Wheezy From Discovery to Mastery
by Raphaal Hertzog and Roland Mas
Published 24 Dec 2013

This browser, available in the iceweasel package, uses the Mozilla project's Gecko renderer, with a thin and extensible interface on top. Figure 13.7. The Iceweasel web browser CULTURE Iceweasel, Firefox and others Many users will no doubt be surprised by the absence of Mozilla Firefox in the Debian Wheezy menus. No need to panic: the iceweasel package contains Iceweasel, which is basically Firefox under another name. The rationale behind this renaming is a result of the usage rules imposed by the Mozilla Foundation on the Firefox™ registered trademark: any software named Firefox must use the official Firefox logo and icons. However, since these elements are not released under a free license, Debian cannot distribute them in its main section.

Various localization sets are available in icedove-l10n-* packages; the enigmail extension handles message encrypting and signing (alas, it is not available in all languages). Figure 13.6. The Icedove email software Thunderbird is one of the best email clients, and it seems to be a great success, just like Mozilla Firefox. Strictly speaking, Debian Wheezy contains Icedove, and not Thunderbird, for legal reasons we will detail in the “Iceweasel, Firefox and others” section later on; but apart from their names (and icons), there are no real differences between them. 13.5. Web Browsers Epiphany, the web browser in the GNOME suite, uses the WebKit display engine developed by Apple for its Safari browser.

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.

Data Mining the Web: Uncovering Patterns in Web Content, Structure, and Usage
by Zdravko Markov and Daniel T. Larose
Published 5 Apr 2007

Time “GET A.html HTTP/1.1” “GET B.html HTTP/1.1” “GET A.html HTTP/1.1” “GET E.html HTTP/1.1” “GET K.html HTTP/1.1” “GET C.html HTTP/1.1” “GET I.html HTTP/1.1” “GET G.html HTTP/1.1” “GET 0.html HTTP/1.1” “GET M.html HTTP/1.1” “GET H.html HTTP/1.1” “GET N.html HTTP/1.1” “GET E.html HTTP/1.1” “GET L.html HTTP/1.1” Method Sample Web Log File for an Imaginary Web Site IP Address TABLE 7.4 — A.html — B.html E.html A.html — C.html I.html G.html — H.html K.html E.html Referrer Mozilla/4.0 (Windows NT 5.1, MSIE6.0) Mozilla/4.0 (Windows NT 5.1, MSIE6.0) Mozilla/5.0 (Linux 1.0, Firefox/0.9.3) Mozilla/4.0 (Windows NT 5.1, MSIE6.0) Mozilla/4.0 (Windows NT 5.1, MSIE6.0) Mozilla/5.0 (Linux 1.0, Firefox/0.9.3) Mozilla/4.0 (Windows NT 5.1, MSIE6.0) Mozilla/5.0 (Linux 1.0, Firefox/0.9.3) Mozilla/4.0 (Windows NT 5.1, MSIE6.0) Mozilla/5.0 (Linux 1.0, Firefox/0.9.3) Mozilla/5.0 (Linux 1.0, Firefox/0.9.3) Mozilla/5.0 (Linux 1.0, Firefox/0.9.3) Mozilla/4.0 (Windows NT 5.1, MSIE6.0) Mozilla/4.0 (Windows NT 5.1, MSIE6.0) Agent USER IDENTIFICATION 167 Navigation Page A B E K Content Page D C F G H I L M N O J P Figure 7.7 Topology of the imaginary Web site, showing links.

Although this assumption ignores users who access the same Web site with two different browsers on the same machine, this sort of behavior is relatively rare. Consider the sample web log file for an imaginary Web site in Table 7.4. Applying this heuristic to the entries in the table, we can discern that there are at least two users represented here, one using Windows NT and MS Internet Explorer, the other using Linux and Firefox. Based on this, we can postulate the following paths through the Web site taken by each user: r User 1: A → B → E → K → I → O → E → L r User 2: A → C → G → M → H → N However, do you see a problem with these reconstructions? If we apply the information available from the referrer field, along with the Web site topology, we can uncover the highly likely result that “user 1” here is actually two different users.

The Complete Android Guide: 3Ones
by Kevin Purdy
Published 15 Apr 2011

Along with that notably neat feature, SkyFire also runs pretty well in general, based on the same code as the Android and iPhone browsers, and offers a quick-switching function to toggle between a web site's full version and its mobile-friendly view. (Free through the Market) Mozilla Fennec / Firefox Mobile Fennec's Home Page Fennec, the code name for Firefox Mobile, is still a work in progress as of this writing. But even in its very rough, kinda-sorta works phase, it's a promising browser to come. Fennec will feature the same kind of add-on extensibility as Firefox on the desktop, but will also sync up smoothly with your personal Firefox browser. Say you're looking at flight information in a few different tabs on your MacBook at home--ticket confirmation, airport status, the weather in your destination, and so on.

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.

pages: 255 words: 78,207

Web Scraping With Python: Collecting Data From the Modern Web
by Ryan Mitchell
Published 14 Jun 2015

Because this is relatively complex code that draws on multiple concepts from previous chapters, I’ve added comments throughout to make it a little easier to understand what’s going on: import time from urllib.request import urlretrieve import subprocess from selenium import webdriver #Create new Selenium driver driver = webdriver.PhantomJS(executable_path='<Path to Phantom JS>') #Sometimes, I've found that PhantomJS has problems finding elements on this #page that Firefox does not. If this is the case when you run this, #try using a Firefox browser with Selenium by uncommenting this line: #driver = webdriver.Firefox() driver.get( "http://www.amazon.com/War-Peace-Leo-Nikolayevich-Tolstoy/dp/1427030200") time.sleep(2) #Click on the book preview button driver.find_element_by_id("sitbLogoImg").click() imageList = set() #Wait for the page to load time.sleep(5) #While the right arrow is available for clicking, turn through pages while "pointer" in driver.find_element_by_id("sitbReaderRightPageTurner") .get_attribute("style"): driver.find_element_by_id("sitbReaderRightPageTurner").click() time.sleep(2) #Get any new pages that have loaded (multiple pages can load at once, #but duplicates will not be added to a set) pages = driver.find_elements_by_xpath("//div[@class='pageImage']/div/img") for page in pages: 1 When it comes to processing text it hasn’t been trained on, Tesseract fares much better with large-format edi‐ tions of books, especially if the images are small.

Selenium works by automating browsers to load the website, retrieve the required data, and even take screenshots or assert that certain actions happen on the website. Selenium does not contain its own web browser; it requires integration with thirdparty browsers in order to run. If you were to run Selenium with Firefox, for exam‐ ple, you would literally see a Firefox instance open up on your screen, navigate to the website, and perform the actions you had specified in the code. Although this might be neat to watch, I prefer my scripts to run quietly in the background, so I use a tool called PhantomJS in lieu of an actual browser. PhantomJS is what is known as a “headless” browser.

The following table shows a few of the HTTP header fields you should be familiar with: 214 | Appendix B: The Internet at a Glance Name Description UserAgent A string indicating which browser Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:28.0) Gecko/20100101 and operating system you are making Firefox/28.0 the request from. Example Cookie Variables used by the web application “__utma: to hold session data and other 20549163.147923691.1398729710.1398729710.1398858679.2” information. Status A code indicating the success or failure of the page request. “200” (Okay), “404” (Not Found) Once a packet, carried by HTTP, reaches your browser, the contents of the packet must be interpreted as a website.

pages: 280 words: 76,638

Rebel Ideas: The Power of Diverse Thinking
by Matthew Syed
Published 9 Sep 2019

Some of the candidates had used Safari, others had used Firefox; some had used Internet Explorer, others Chrome. Might the choice of web browser predict performance? To Housman, it seemed unlikely. Surely, this was just a matter of personal preference. Yet the results were startling. Those who had filled out their assessments on Firefox or Chrome stayed in their jobs 15 per cent longer than those who used Safari or Internet Explorer. They then checked the number of absences from work. Again, they found the same gap. Those who used Firefox or Chrome had 19 per cent fewer absences from work than those who had used Internet Explorer or Safari.

If this wasn’t puzzling enough, the numbers related to performance were even more striking. Those who used Firefox and Chrome had higher productivity, higher sales, happier customers and shorter call times. ‘It was one of the most emphatic sets of results we had found,’ Housman said. ‘These were big differences, and they were consistent.’ What was going on? Housman said: It took us a while to figure it out. The key is that Internet Explorer and Safari are pre-installed. PCs come with Explorer as part of the package, and Macs come with Safari. These are the defaults. To use them, you just need to turn on the computer. Chrome and Firefox are different. To use these pieces of software, you have to be curious enough to check if there are better options out there.

Or do you find a new way of solving a problem, or selling an idea, or pleasing the customer? Those call centre workers who could step outside convention performed significantly better. When the status quo wasn’t good enough, they came up with something original. This mindset also helps to explain why users of Chrome and Firefox stayed in their jobs longer and had fewer absences. Workers capable of altering the script are more likely to take action to fix problems, and make changes to their jobs that make them happier and more productive. Those who see the status quo as immutable are less likely to fix problems at work. They just put up with the default.

pages: 211 words: 37,094

JQuery Pocket Reference
by David Flanagan
Published 15 Dec 2010

This object will have the property msie set to true if the browser is IE. The mozilla property will be true if the browser is Firefox or related. The webkit property will be true for Safari and Chrome, and the opera property will be true for Opera. In addition to this browser-specific property, the version property contains the browser version number. Client sniffing is best avoided whenever possible, but you can use this property to work around browser-specific bugs with code like this: if ($.browser.mozilla && parseInt($.browser.version) < 4) { // Work around a hypothetical Firefox bug here. } jQuery.contains() This function expects two document elements as its arguments.

If the native event object does not define relatedTarget but does define toElement and fromElement, relatedTarget is set from those properties. timeStamp The time at which the event occurred, in the millisecond representation returned by the Date.getTime() method. jQuery sets the field itself to work around a long-standing bug in Firefox. which jQuery normalizes this nonstandard event property so that it specifies which mouse button or keyboard key was pressed during the event. For keyboard events, if the native event does not define which but defines charCode or keyCode, then which will be set to whichever of those properties is defined.

Utility Functions These are miscellaneous jQuery functions and properties (not methods); see Chapter 7 for more details. jQuery.boxModel A deprecated synonym for jQuery.support.boxModel. jQuery.browser This property refers to an object that identifies the browser vendor and version. The object has the property msie for Internet Explorer, mozilla for Firefox, webkit for Safari and Chrome, and opera for Opera. The version property is the browser version number. jQuery.contains(a,b):boolean Returns true if document element a contains element b. jQuery.data(elt):data jQuery.data(elt, key):value jQuery.data(elt, data) jQuery.data(elt, key, value) A low-level version of the data() method.

pages: 302 words: 82,233

Beautiful security
by Andy Oram and John Viega
Published 15 Dec 2009

As I’ve explored the client-side exploit landscape over the past several years, it has become clear to me that attackers are extremely opportunistic. The bulk of client-side exploits today target Microsoft’s IE 6 browser, but this can change as market shares shift. Many people ask me whether it’s a good idea to use Mozilla Firefox instead. My answer is always something like, “Sure, but keep in mind that if everyone in the world used Firefox, there would be a lot of exploits that target the Firefox browser.” In other words, don’t rely on using Firefox alone to protect you from these attacks. The user still needs to be somewhat savvy and not get duped into clicking on every link that comes his way. What about anti-virus software? It was not until we started capturing a lot of malware with our honeyclients that we were truly able to appreciate what a difficult job the anti-virus industry has.

SECURING ONLINE ADVERTISING: RUSTLERS AND SHERIFFS IN THE NEW WILD WEST 95 $9.99/month—the very opposite of “free” (see Figures 6-4 and 6-5). Or consider an ad promising a “free credit report”—even though the touted service is actually neither free nor a credit report. Other bogus ads try to sell software that’s widely available without charge. Search for “Firefox,” “Skype,” or “Winzip,” and you may stumble into ads attempting to charge for these popular but free programs (see Figure 6-6). These scams fly in the face of decades of consumer protection law. For one thing, not every clause in an agreement is legally enforceable. In particular, material terms must be clear and conspicuous, not buried in fine print.‖ (For example, the FTC successfully challenged deceptive ads that promised ice cream was “98% fat free” when a footnote admitted the products were not low in fat.#) Yet online marketers often think they can promise “free ringtones” or a “free iPod” with a small-type text admitting “details apply.”

In the process of developing the exploit database, we realized that we might want to store additional information that’s not necessarily related to an exploit itself, such as VMware identification numbers for the compromised images. We also wanted the ability to store information in this database about what application the honeyclient was driving. For example, we will likely get different results by visiting a web page with IE 6 versus IE 7. (Our prototype can also support Mozilla Firefox browsers now.) We will also most likely get different results using Windows XP-based honeyclients versus Windows Vista-based honeyclients. I won’t even go into other future possibilities, such as driving nonHTTP-based applications. The database allows us to store all of this information about different environments and results, and allows us to correlate the data between results from driving different applications in various OS environments.

pages: 666 words: 181,495

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

Google would begin a partnership with the Mozilla Foundation, the nonprofit founded with money from Netscape’s sale to AOL. The foundation’s key product was an open-source browser called Firefox. Google was already the biggest source of revenue for the foundation, paying it millions of dollars to ensure that the search box in Firefox was powered by Google. In the new arrangement, Google hired some top engineers from Mozilla, including Ben Goodger and Darin Fisher. While their employer would be Google, their job would be the same: making improvements in Firefox. Another hiring coup came with Linus Upson, a thirty-seven-year-old engineer with browser experience from Netscape, Steve Jobs’s company NeXT, and Palm, where he created the browser for the PalmPilot.

It was April 1, 2004, and Google was in war room mode because of the Gmail announcement. In spring 2006, Pichai’s client group was working in Building 44, across Charleston Street from the core campus. They were preparing for the Firefox 2.0 launch, but not unexpectedly, there were conversations about designing an ideal browsing app of their own. The team believed that there was a flaw in the current generation of browsers. Microsoft’s Internet Explorer and Mozilla’s Firefox had been conceived in the 1990s, before the cloud computing era. Now the web was expected to become not just a means of delivering information but also a platform for running programs.

The engineers knew that building a competitive browser was a massive undertaking. There were also mixed feelings due to the group’s strong attachment to both the technology and vision behind Firefox, an icon of open-source development and a hedge against Microsoft’s dominance of the browser market. Particularly for the Googlers who had come from Mozilla, this was a case of digital fratricide. “The fear was that people were going to read this as sabotaging Firefox,” says engineer Erik Kay, who joined the team in October 2006. That would be evil. The Googlers were eventually mollified by the assurance that their browser would be 100 percent open source.

Catalyst 5.8: The Perl MVC Framework
by Antano Solar John , Jonathan Rockway and Solar John Antano
Published 15 Nov 2010

The web browser then executes those commands, and returns the results to the Selenium server and then your test script. It can be hard to get it up and running because it requires the Java Runtime Environment (JRE) and a working web browser. It is somewhat experimental, and the author has only tested on Cygwin with Firefox and IE and Debian GNU/Linux with Firefox. Developing Selenium tests is pretty easy, thanks to the Selenium IDE Firefox extension available at http://www.openqa.org/selenium-ide/. It turns Firefox into an IDE that can record and edit tests, and save them to the Perl format. To create a test against the Catalyst application, we'll start by recording the basic outline of the test with Selenium IDE

When we were editing the edit_address.tt2 jemplate earlier, we changed the link to run that JavaScript function (for the correct ID). That's all we needed to do; everything is in place for the in-place editor to work. Start the server, navigate to the list of addresses, and click edit. The text of the address should be replaced with an editable form! That's AJAX. If it's not working for you, you might want to try installing Firefox and the Firebug extension. Firebug will show you all JavaScript errors and AJAX requests (requests and responses with complete headers) and will let you set JavaScript breakpoints. If something's wrong with the JavaScript, Firebug should help you identify the problem very quickly. [ 170 ] Chapter 7 If you have that part working, let's add one more feature—the ability to cancel editing.

pages: 232 words: 63,846

Traction: How Any Startup Can Achieve Explosive Customer Growth
by Gabriel Weinberg and Justin Mares
Published 5 Oct 2015

After Delicious integrated with The Washington Post, the number of sites interested in a Delicious extension skyrocketed because of the Post’s role as a media leader. It even made other partnerships, like the browser integration with Mozilla’s Firefox, possible: The even more transformative partnership we did at Delicious was with Mozilla. [Mozilla] ended up promoting the Delicious extension for the Firefox browser in a really big way when they did an upgrade to Firefox 2.0. The net of it was that when huge portions of their audience were upgrading, one of the first things they saw was the Delicious extension. It ultimately more than tripled our user base, just from that partnership.

Even with hundreds of thousands of apps, there are shockingly few that are truly amazing user experiences. Most of the apps that are now household names—Instagram, Path, Google Maps, Pandora, Spotify—all have excellent user experiences and consistently high ratings. Browser extensions in Chrome and add-ons in Firefox are apps you can download for your Web browser. The most popular browser extension is Adblock Plus, which blocks ads on major Web sites. Other popular extensions help you download YouTube videos, save bookmarks across computers, and manage your passwords. Web users visit dozens of different sites every day; to establish yours as a site they consistently visit can be difficult.

See offline events; speaking engagements; trade shows Evernote, 6, 169–70, 171–74 Evernote Peek, 173–74 Evite, 184, 188 Exceptional Cloud Services, xii existing platforms, 6, 167–74, 212 app stores, 167–70 case study of Evernote, 171–74 social sites, 170–71 targets, 174 Facebook, 4, 31, 78, 79, 120 fat-head SEO strategy, 93, 94–95, 100–101 Feld, Brad, 106, 176–77 Fernandez, Phil, 11–12 Ferriss, Tim, 83–84 50 percent rule, 8–12 Filepicker.io, 47 Firefox, 142, 169 First Round Capital, 137 Fishkin, Rand, 4, 92, 94, 99, 100, 195 500 Startups, 5 flyers, 4, 84, 86–87 Focused Apps LLC, 168 Fog Creek Software, 199 Followerwonk, 46, 131 Foundry Group, 176–77 Foursquare, 80 Fox News, 62 Fralic, Chris, 6, 133, 137, 139–44 FreeAppADay, 169 freemium business model, 114, 162 fund-raising, 15–16, 54–55 Gates Foundation, 50 GitHub, 202 giveaways, 61, 180 GoDaddy, 6 Godin, Seth, 187 Google, ix–x, 65, 71–72, 94, 137–38 Google Alerts, 47 Google Analytics, 69, 96 Google Docs, 120 Google Trends, 95 Graham, Paul, 2, 14, 42 Grasshopper.com, 60, 62–63 Gross Rating Points (GRPs), 87–88 Groupon, 113, 115, 138 growth goals, 12–15, 18, 35–36, 139 growth rate, 12, 16, 18 growth spurts, 14 guest posting, 25, 31, 106, 211 Guidewire Software, 148–49 Gumroad, 46–47 Hacker News, 46–47, 50, 78 HacktheSystem, 163 Half.com, 6, 58, 62, 133, 139–40 Halligan, Brian, 130 Hardware Startup Meetup, 187–88 Hauser, David, 60, 62–63 Help A Reporter Out (HARO), 53 Hipmunk, 4, 60, 61 hiring, use of community for, 202–3 HitTail, 186–87 Holiday, Ryan, 3, 48–49, 50, 52–53, 54–55 HostGator, 6 Hotmail, 120 HubSpot, 5, 100, 129–31, 154 Huffington Post, 48, 49 Hunch, 174 Imgur, 171 implication questions, 149–50 indirect response, in social advertising, 76–77, 81 Inflection, 4, 66–68, 70–71 influencers, 54 infographics, 99, 104, 105, 210 infomercials, 89–90 information products, 161 inner ring, 22–23 inner ring testing, 22–23, 28–31, 44 InstaCab, 87 Intuit, 43 investors fund-raising, 15–16 growth numbers, 15, 18 invitations, 44, 124–25, 188 iPhone, 59, 120, 138, 172 JBoss, 156–58 Johnson, Mark, 168 joint ventures, 138, 145 Jones, Kris, 159, 165–66 Jones, Kristopher, 6 Kagan, Noah, 3, 24–25, 42–45 Kawasaki, Guy, 62 Kayak, 6, 138–39, 145 Keyword Planner, 68–69, 94, 95 keyword research, 68–69, 70–71 KeywordSpy, 69 keyword strategies, 69, 72, 73, 93, 95–98, 100–101 Kincaid, Jason, 3, 51, 52 Klout, 46 Kopelman, Josh, 58 Kundra, Ashish, 5, 124 Lamar Advertising, 87 Launch Conference, 184 Law of Shitty Click-Throughs, 30–31, 33 lead generation, 161 lead qualifications, and sales funnel, 153–55, 157 leaky bucket, 10–11, 13, 17 Lean Startup, The (Ries), 7 Lean Startup model, 25–26, 185 Libin, Phil, 171–72 licensing, 138, 145 Lifehacker, 45, 50 Linchpin: Are You Indispensable?

pages: 394 words: 118,929

Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software
by Scott Rosenberg
Published 2 Jan 2006

They were no longer planning “top down,” based on hopes and pronouncements; they were planning “bottom up,” based on experience and evidence. Through all the sail-trimming in this period, Kapor had been finding solace in a phenomenon entirely outside OSAF: the rising tide of success that the Mozilla Project had found with its Firefox browser. Firefox, a streamlined, modernized version of the old Mozilla software that had evolved from the ashes of Netscape, had a 1.0 release scheduled for later that fall. But even in its prerelease version it was logging a million downloads a week and winning rave reviews. It was free open source software.

According to this view, it makes little difference whether Chandler ever becomes a useful program or achieves any of its original goals; what matters is that in building his open source organization, Kapor got to know Mozilla’s Mitchell Baker, and when AOL/Netscape decided to stop supporting the open source browser, he was in the right place at the right time to help rescue it, midwife the birth of the Mozilla Foundation, and set Firefox on its successful trajectory. As I write, Firefox has come from nowhere to win more than 10 percent of the browser market (more than 212 million downloads as this book goes to press). Its competition has forced Microsoft to revisit its long-fallow Internet Explorer product and get back into the business of browser development, with a payoff for Web users everywhere.

The highest profile new open source project in the years since the publication of Raymond’s essay was Mozilla—a Web browser built out of Netscape’s corporate wreckage. In the last throes of its battle with Microsoft, Netscape had embraced open source and published its browser’s source code. The result today is a still-evolving free program used by millions. Its most recent incarnation, Firefox, has actually begun eating into the market share of Microsoft’s Internet Explorer. But Mozilla took an agonizingly long time to become that valuable, and meanwhile the competition at Microsoft cemented its dominance. The new bazaars of the open source movement have changed computing in many ways, but they are not notable for bringing new products to users any faster than the old cathedral builders did.

pages: 106 words: 22,332

Cancel Cable: How Internet Pirates Get Free Stuff
by Chris Fehily
Published 1 Feb 2011

Millions opened this file in 2000, infecting themselves and millions more via email with the ILOVEYOU worm, forever convincing system administrators that ordinary users will click anything. Even with extensions showing, the file FreeMP3s.txt .exe will appear to be harmless if the embedded spaces hide the .exe extension in a narrow column. Browser. Browse with Mozilla Firefox, not Internet Explorer or Safari. Use Firefox’s Adblock Plus, FlashBlock, and BetterPrivacy extensions. More-advanced users can look at NoScript. Other privacy and security extensions are at addons.mozilla.org. Hosts file. Instead of using a browser extension, you can use a hosts file to block ads and third-party cookies.

pages: 446 words: 102,421

Network Security Through Data Analysis: Building Situational Awareness
by Michael S Collins
Published 23 Feb 2014

This string, User-Agent, is defined in RFC 2616, but can become phenomenally complicated (as well as informative) fairly quickly. Some user-agent strings are shown sorted by broswer in Example 14-7. Example 14-7. Example user-agent strings by browser Firefox: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.12) Gecko/20080214 Firefox/2.0.0.12 Mozilla/5.0 (Windows; U; Windows NT 5.1; cs; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8) Gecko/20051111 Firefox/1.5 Internet Explorer: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; Media Center PC 6.0; InfoPath.3; MS-RTC LM 8; Zune 4.7) Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0) Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; Xbox) Safari: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.57.1 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.1 Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25 Opera: Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.11 Opera/9.80 (Macintosh; Intel Mac OS X 10.8.2) Presto/2.12.388 Version/12.11 Opera/9.80 (X11; Linux i686; U; ru) Presto/2.8.131 Version/11.11 Mozilla/5.0 (Windows NT 6.1; rv:2.0) Gecko/20100101 Firefox/4.0 Opera 12.11 Chrome: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.151 Safari/535.19 Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76B) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile Safari/535.19 Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_1_1 like Mac OS X; en) AppleWebKit/534.46.0 (KHTML, like Gecko) CriOS/19.0.1084.60 Mobile/9B206 Safari/7534.48.3 Googlebot: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) Bingbot: Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Baiduspider: Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/ spider.html) The user agent strings in Example 14-7 follow a basic structure that is derived from the original RFC 2616 specification along with various detritus from the browser wars.

Example user-agent strings by browser Firefox: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.12) Gecko/20080214 Firefox/2.0.0.12 Mozilla/5.0 (Windows; U; Windows NT 5.1; cs; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8) Gecko/20051111 Firefox/1.5 Internet Explorer: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; Media Center PC 6.0; InfoPath.3; MS-RTC LM 8; Zune 4.7) Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0) Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; Xbox) Safari: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.57.1 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.1 Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25 Opera: Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.11 Opera/9.80 (Macintosh; Intel Mac OS X 10.8.2) Presto/2.12.388 Version/12.11 Opera/9.80 (X11; Linux i686; U; ru) Presto/2.8.131 Version/11.11 Mozilla/5.0 (Windows NT 6.1; rv:2.0) Gecko/20100101 Firefox/4.0 Opera 12.11 Chrome: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.151 Safari/535.19 Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76B) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile Safari/535.19 Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_1_1 like Mac OS X; en) AppleWebKit/534.46.0 (KHTML, like Gecko) CriOS/19.0.1084.60 Mobile/9B206 Safari/7534.48.3 Googlebot: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) Bingbot: Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Baiduspider: Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/ spider.html) The user agent strings in Example 14-7 follow a basic structure that is derived from the original RFC 2616 specification along with various detritus from the browser wars.

These values vary based on the browser make and configuration, but usually contain the actual browser name, the OS, and a number of optional parameters. Following the parentheses (usually) is a tag naming the layout engine for the software; the layout engine is the browser’s toolkit for rendering HTML, and the same engine can be used by multiple browsers. Common engines include Gecko (used by Firefox, Mozilla, and SeaMonkey), WebKit (used by Safari and Chrome), Presto (Opera), and Trident (IE). As Example 14-7 shows, the actual composition of the string is very much a function of the browser, the OS, and the idiosyncratic whims of the implementor. Further Reading Michael Collins and Michael Reiter, “Finding Peer-to-Peer File Sharing Using Coarse Network Behaviors,” Proceedings of the 2007 ESORICS Conference.

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

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.

Feature Support If your app needs to access the device’s accelerometer or camera, the argument is over unless you know exactly what web browser your users will be using on their phone. For example, to access the webcam on a device from a browser, you use the getUserMedia API, which isn’t supported by the latest versions of even the mainstream browsers;14 as ever, Chrome, Firefox, and Opera are leading the way. If you don’t know whether all the users of your web application will have support for all the features it requires, your best choice is to create a native app. Operating systems expose access to most hardware features to native apps. Browsers are slowly exposing access to these features, but again they’re not available cross-browser.

Include the following code to accomplish this: /* Highlights ----------------------------------------------------------------------------*/ input:active,input:hover,input:focus { background-color: #e06f00; outline: none; } input::-moz-focus-inner { border: 0; } 126 Chapter 7 ■ Creating HTML and CSS Markup label input:active,label input:focus { border-color: #e06f00; background-color: #fff; outline: none; } label input:hover { background-color: #fff; } This code overrides browser default behavior and replaces it with a custom highlight. Worth noting is the input::-moz-focus-inner rule; this addresses a behavior in Firefox that causes the input to get a small dotted line on the inside of the input when it is active. ■■Caution If you override default browser styles, make sure you replace them with styles of your own. Users who navigate the Web with their keyboards rely on the :focus and :active states to see where the cursor currently rests, so removing those states altogether will have a negative effect on the user experience.

pages: 292 words: 81,699

More Joel on Software
by Joel Spolsky
Published 25 Jun 2008

—client-side JavaScript, and especially the DOM in web browsers. Writing applications that work in all different browsers is a friggin’ nightmare. There is simply no alternative but to test exhaustively on Firefox, IE 6, IE 7, Safari, and Opera, and guess what? I don’t have time to test on Opera. Sucks to be Opera. Startup web browsers don’t stand a chance. What’s going to happen? Well, you can try begging Microsoft and Firefox to be more compatible. Good luck with that. You can follow the p-code/Java model and build a little sandbox on top of the underlying system. But sandboxes are penalty boxes; they’re slow and they suck, which is why Java applets are dead, dead, dead.

I’ll let Dean introduce the problem (blogs.msdn.com/ie/ archive/2008/03/03/microsoft-s-interoperability-principles-andie8.aspx): 126 More from Joel on Software All browsers have a “Standards” mode, call it “Standards mode,” and use it to offer a browser’s best implementation of web standards. Each version of each browser has its own Standards mode, because each version of each browser improves on its web standards support. There’s Safari 3’s Standards mode, Firefox 2’s Standards mode, IE 6’s Standards mode, and IE 7’s Standards mode, and they’re all different. We want to make IE 8’s Standards mode much, much better than IE 7’s Standards mode. And the whole problem hinges on the little tiny decision of what IE 8 should do when it encounters a page that claims to support “standards,” but has probably only been tested against IE 7.

There are validators, but they won’t tell you what the page is supposed to look like, and having a “valid” page where all the text is overlapping, nothing lines up, and you can’t see anything is not very useful. What people do is check their pages against one browser, maybe two, until it looks right. And if they’ve made a mistake that just happens to look OK in IE and Firefox, they’re not even going to know about it. And their pages may break when a future web browser comes out. If you’ve ever visited the ultra-orthodox Jewish communities of Jerusalem, all of whom agree in complete and utter adherence to every iota of Jewish law, you will discover that despite general agreement on what constitutes kosher food, you will not find a rabbi from one ultraorthodox community who is willing to eat at the home of a rabbi from a different ultra-orthodox community.

pages: 470 words: 109,589

Apache Solr 3 Enterprise Search Server
by Unknown
Published 13 Jan 2012

Rizo</str> <str name="a_type">group</str> <str name="id">Artist:482488</str> <date name="indexedAt">2011-07-15T05:20:06Z</date> <str name="type">Artist</str> </doc> <!-- ** 7 other docs omitted for brevity ** --> </result> </response> Browser note Use Firefox for best results when searching Solr. Solr's search results return XML, and Firefox renders XML color coded and pretty-printed. Safari on Mac OS X Lion finally gained this feature too. For other browsers (notably an older Safari or Chrome), you may find yourself having to use the View Source feature or using a response format other than XML to see the results. Even in Firefox, however, there are cases where you will use View Source in order to look at the XML with the original indentation, which is relevant when diagnosing the scoring debug output.

The main benefit to the form is that it applies the URL escaping for special characters in the query, and for some basic options, you needn't remember what the parameter names are. It is convenient to use the form as a starting point for developing a search, and then subsequently refine the URL directly in the browser instead of returning to the form. Solr's search results are by default in XML. Most modern browsers, such as Firefox, provide a good XML view with syntax coloring and hierarchical structure collapse controls. Solr can format responses in JSON and other formats but that's a topic for another time. They have the same basic structure as the XML you're about to see, by the way. The XML response consists of a<response/> element, which wraps the entire message.

OpenSearch was originally developed by A9, a subsidiary of Amazon, and has seen some adoption in the market, especially by the browsers to power their toolbar search boxes. You can find more information at http://www.opensearch.org/. Installing the Search MBArtists plugin This example builds on the Velocity based UI for the mbartists core described earlier, and works best with Firefox. Open the browse interface for the mbartists core and you will be able to add a custom Search MBArtists plugin to the search bar: This was prompted by providing a link to an OpenSearch descriptor file in the cores/mbtypes/conf/velocity/head.vm file: <link rel="search" href="#{url_for_solr}/admin/file?

Raw Data Is an Oxymoron
by Lisa Gitelman
Published 25 Jan 2013

Everything might be collected and connected, but that does not necessarily mean that everything can be known. Google may come to possess the sum total of my personal data and all of the history contained within my UID, but it cannot obtain the programmatic perspective necessary to predict exactly what I will buy or what I will read. Still, as my Firefox add-on, Collusion, reminds me, data collection companies are continually tracking my browsing behavior in spite of my efforts to thwart them, a cogent reminder that targeting is not impractical at the level of the individual. When considered in these terms, it is difficult to dismiss escape, whether in the form of 129 130 Rita Raley disappearance or disconnectivity, as merely a counterfantasy.39 Critical Art Ensemble’s injunction is to the point: “Avoid using any technology that records data facts unless it is essential.”40 Howard Rheingold and Eric Kluitenberg make a comparable case for “selective connectivity”: techniques by which we can “choose to extract ourselves from the electronic control grid from time to time and place to place.”41 Similarly, for MayerSchönberger, the solution lies in the adoption of a certain care in the management of one’s online interactions, practices of selective disclosure and revelation in order to limit “uncontrollable information flows through individual choice.”42 If we are able to opt out of a single company’s personalized retargeting scheme, that is, should we not also be able to opt out of all advertising databases or indeed out of the whole system of “cybernetic capitalism” itself?

Just as Internet data mining is dependent on software design, then, so, too, is the blocking or thwarting of that mining. So, to block beacons and zombie cookies and maintain the smallest measure of privacy while reading 131 132 Rita Raley articles in the Guardian online, one can choose from a suite of effective Firefox add-ons including TACO and Beef TACO (targeted advertising cookie opt-out); BetterPrivacy; Ghostery; CookieSafe; and CookieCuller. As Panopticlick, the Electronic Frontier Foundation’s browser-fingerprinting algorithm, reveals, however, privacy tools such as spoofers and plugins paradoxically make the browser more distinct and thus facilitate device fingerprinting.50 Panopticlick further reminds us of the difficulty of demarcating an absolute difference between the means of tracking and the means of circumventing that tracking; another case in point would be browsers in which the facility for private browsing is built into the browser itself.

Apart from functioning as a rival form of expertise, then, one effect of these countervailing tools and techniques has been to re-embed dataveillance within social relations. Perhaps the best example of this is Eyebrowse, a protosocial network based on the self-reporting of one’s browsing activities (figure 7.1). A Firefox plugin, Eyebrowse visualizes a user’s web browsing history along with that of her friends, thus making visible the data available to Google and any number of third parties, now and in the future.56 Mimetically reproducing data collection practices increases technological literacy with respect to both individual everyday practice and systemic logics.

pages: 344 words: 96,690

Groundswell: Winning in a World Transformed by Social Technologies
by Charlene Li and Josh Bernoff
Published 23 May 2011

The same sort of cooperation drives other forms of online collaboration, including open-source software products like Linux (a flavor of the Unix operating system), Apache (a Web server), and Firefox (a Web browser). In open source, technically adept developers combine their efforts to build, test, and improve software products, and the code is available for all to see. Before you scoff at this form of development, recognize that Linux now underpins many Web servers and consumer electronics devices, including TiVo; Apache is the dominant Web server software on the Internet,7 and Firefox went from zero to over 25 percent of market share in less than two years.8 PARTICIPATION. While one in four online American adults say they use Wikipedia at least monthly, only 6 percent contribute to a wiki once a month.

Apache is the dominant Web server software on the Internet: Netcraft tracks Web server market share. You can see its December 2010 survey at http://forr.com/gsw2-7. 8. Firefox has gone from zero to over 25 percent of market share in less than two years: W3Counter is one of a number of sites that track browser market share. Browser market share figures vary greatly based on methodology—for example, self-report surveys of consumers give entirely different statistics from statistics collected from Web sites. The W3Counter statistics for November 2010 show growth for Firefox to 32 percent market share. The October 1, 2007, browser share report from W3Counter, which shows growth in the first two years, is visible at http://forr.com/gsw2-8. 9.

Any site can host a feed of content that changes over time. To see the RSS feed, you need a receiver, which is known as an RSS reader. While there are a bunch of RSS reader programs, it’s easiest to view RSS feeds on personalized home pages from Google and Yahoo! or on the latest versions of browsers like Firefox or Internet Explorer.16 Either way, the RSS reader organizes the feeds into areas of your screen and, in some cases, tabs. You, the consumer of all this information, get to see everything that’s new in one place and to click on and view anything that looks interesting. Your RSS reader will look different from somebody else’s, depending on what content you’ve added.

pages: 648 words: 108,814

Solr 1.4 Enterprise Search Server
by David Smiley and Eric Pugh
Published 15 Nov 2009

-- ** 7 other docs omitted for brevity ** --> </result> </response> [ 91 ] Download at Boykma.Com This material is copyright and is licensed for the sole use by William Anderson on 26th August 2009 4310 E Conway Dr. NW, , Atlanta, , 30327 Basic Searching Browser note Use Firefox for best results when searching Solr. Solr's search results return XML, and Firefox renders XML color coded and pretty-printed. For other browsers (notably Safari), you may find yourself having to use the View Source feature to interpret the results. Even in Firefox, however, there are cases where you will use View Source in order to look at the XML with the original indentation, which is relevant when diagnosing the scoring debug output.

If you have multiple schemas for different data sets, then this is a useful differentiator. Next is the current working directory cwd, and Solr's home. The block below this is a navigation menu to the different admin screens and configuration data. The navigation menu is explained as follows: • SCHEMA: This downloads the schema configuration file (XML) directly to the browser. Firefox conveniently displays XML data with syntax highlighting. Safari, on the other hand, tries to render it and the result is unusable. Your mileage will vary depending on the browser you use. You can always use your browser's view source command if needed. • CONFIG: It is similar to the SCHEMA choice, but this is the main configuration file for Solr

The form only controls a basic subset of all possible parameters. The main benefit to the form is that it applies the URL escaping for special characters in the query, and for some basic options, you needn't remember what the parameter names are. Solr's search results from its web interface are in XML. As suggested earlier, you'll probably find that using the Firefox web browser provides the best experience due to the syntax coloring. Internet Explorer displays XML content well too. If you, at some point, want Solr to return a web page to your liking or an alternative XML structure, then that will be covered later. Here is the XML response with my comments: <?

pages: 32 words: 10,468

Getting Things Done for Hackers
by Lars Wirzenius
Published 15 Jun 2012

. • Web pages can be bookmarked. You can keep a “read and review” bookmark folder. When you’ve read the page, remove the bookmark. • You can also save web pages on your local hard disk. This is useful for reading offline, and also for archiving the page in your filing system. The Firefox Save Page WE extension is excellent for this (see https://addons.mozilla.org/en-US/firefox/addon/save-page-we/). • You can have a “read and review” folder for e-mail as well. Newsletters, and any other e-mail that’s long and takes a while to read, can be put there. • I read e-books either on my Kindle device, or on my laptop, depending on the format.

pages: 518 words: 49,555

Designing Social Interfaces
by Christian Crumlish and Erin Malone
Published 30 Sep 2009

“Installation of a bookmarklet” can be performed by creating a new bookmark and pasting the code into the URL destination field, but more often you provide the user with a link and encourage him to “drag” it onto his bookmarks toolbar. Extensible browser plug-ins, such as the Delicious add-on for Firefox, represent a more sophisticated approach to the bookmarklet concept (Figure 8-2). Figure 8-2. The Delicious add-on for Firefox is like a bookmarklet on steroids. One problem with bookmarklets is that they can’t be keyboard-accessible (with shortcuts), but they can be made to run on any browser and can even be self-updating. Why Bookmarklets make sharing easier, thus reducing the friction for the user and facilitating more activity on the network.

Open infrastructure: Emerging as a new kind of openness, “cloud computing” has opened a pay-as-you-go, only-what-you-need approach to technology. (Examples in this area include Google App Engine and Amazon’s EC2 and S3 services.) 3. Open architecture: By defining a spec for how others can plug into your product, anyone can mod and extend your product. (A popular example of this is Firefox’s plug-in framework.) 4. Open standards: A community-powered, consensus-driven approach aims for a goal of interoperability, whether for software or hardware. (Examples of these standards can be found throughout the Web’s very fabric: HTML, CSS, XML, and JSON.) ——continued Download at WoweBook.Com Play Well with Others 443 What Does It Mean to Be Open?

Throughout the affair, “open source,” “open access,” and “transparency” were spoken of ceaselessly, as though a prohibition against the concepts had recently been lifted and people were eager to regain mastery of, if not familiarity with, the terms. Clearly something has changed since I worked on the Spread Firefox grassroots marketing project in 2004—when Mozilla was easily dismissed as an outpost for “modern communists” (where meritocracy and distributed work somehow suggested communist leanings). Indeed, the culture of “openness” has infected even the most “free market” companies, such as Microsoft, with behemoths such as Yahoo!

pages: 319 words: 90,965

The End of College: Creating the Future of Learning and the University of Everywhere
by Kevin Carey
Published 3 Mar 2015

The Web browser was the greatest portal to knowledge in human history. Having it owned and controlled by a giant corporation rankled. So as Netscape shrank into oblivion, some of its employees created a nonprofit foundation called Mozilla, with the logo of a giant red thunder lizard. The Mozilla Foundation birthed a new Web browser called Firefox. It was “open-source” software, which means that the underlying code was available for anyone to download, copy, and improve. The open-source ethos is both moral and practical. In a world that is increasingly run by highly sophisticated computer programs, no single person working alone can build sufficiently great software from scratch.

The goal was creating common software protocols so when the information was broken up into pieces in one place, it could be perfectly reassembled, microseconds later, in another. That’s what the tp stands for in the “http://” that sits in front of website addresses: “transfer protocol.” Openness isn’t some hippie sharing ideal. It is, practically speaking, vital to making the modern world function. The first, freely available version of Firefox was released in 2004. It was downloaded by 100 million people within a year. That was the year that Internet Explorer’s market share began to decline. Google released its own free browser, Chrome, at the end of the decade. At the same time, people began using smartphones and tablets to access the Internet instead of desktop computers preloaded with Explorer.

So with the for-profit Web browser vanquished, the Mozilla Foundation turned to its next project: using the principles of openness to replace the college diploma. — MOZILLA’S PROJECT, called Open Badges, is designed to create an alternative system of credentials that is controlled by no central authority. Firefox took access to the world’s digital information away from powerful incumbent organizations and gave it to the people. Open badges are designed to do the same thing for information about people themselves. Open badges can be created by anyone. Mozilla itself doesn’t offer them. Instead, the foundation developed a set of common protocols that allow other organizations to create them, so people can collect and display badges earned in different ways and times in a single place.

Ubuntu 15.04 Server with systemd: Administration and Reference
by Richard Petersen
Published 15 May 2015

If you want to use the Ubuntu Ambiance or Radiance themes, install the light-themes package, and then open Applications | System Tools | System Settings, Appearance, and choose the Themes tab to change to the Ubuntu Ambiance or Radiance themes. sudo apt-get install light-themes Should you want to use the Hardware drivers, you can install jockey-gtk. For a Web browser you can install the firefox or epiphany-browser packages. sudo apt-get install firefox ubuntu-desktop For desktop features, it is recommended that you install the entire Ubuntu desktop. The Ubuntu desktop will install the complete set of desktop packages, including multimedia and graphics packages, which you may have no use for on your server. The added packages do not degrade the server; they just take up additional disk space (about 1 GB or more).

A manual update gives you more control over the update, letting you choose packages to install. Figure 4-21: Software Updater with selected packages To see actual packages to be updated, click the "Details of updates" arrow. Packages are organized into application categories such as Ubuntu base for the Linux OS packages, Firefox for Firefox updates, and LibreOffice for office updates. You can expand these to individual packages. The check boxes for each entry lets you de-select any particular packages you do not want to update (see Figure 4-6 ). Packages are organized according to importance, beginning with Important security updates and followed by Recommended updates.

Ubuntu Linux Help and Documentation A great deal of help and documentation is available online for Ubuntu, ranging from detailed install procedures to beginner questions (see Table 1-1 ). The documentation for Ubuntu 15.04 is located at https://help.ubuntu.com/15.04/. This site includes the Ubuntu Server Guide. The Firefox Web browser start page displays links for two major help sites: Ubuntu documentation at https://help.ubuntu.com and Ubuntu Community at http://community.ubuntu.com. For answers to commonly asked questions check http://askubuntu.com/. It provides detailed answers to many technical issues. For detailed online support use the Ubuntu forums at http://ubuntuforums.org.

pages: 420 words: 61,808

Flask Web Development: Developing Web Applications With Python
by Miguel Grinberg
Published 12 May 2014

Example 15-7 shows the layout of a test case that is configured to run tests with Selenium. Example 15-7. tests/test_selenium.py: Framework for tests using Selenium from selenium import webdriver class SeleniumTestCase(unittest.TestCase): client = None @classmethod def setUpClass(cls): # start Firefox try: cls.client = webdriver.Firefox() except: pass # skip these tests if the browser could not be started if cls.client: # create the application cls.app = create_app('testing') cls.app_context = cls.app.app_context() cls.app_context.push() # suppress logging to keep unittest output clean import logging logger = logging.getLogger('werkzeug') logger.setLevel("ERROR") # create the database and populate with some fake data db.create_all() Role.insert_roles() User.generate_fake(10) Post.generate_fake(10) # add an administrator user admin_role = Role.query.filter_by(permissions=0xff).first() admin = User(email='john@example.com', username='john', password='cat', role=admin_role, confirmed=True) db.session.add(admin) db.session.commit() # start the Flask server in a thread threading.Thread(target=cls.app.run).start() @classmethod def tearDownClass(cls): if cls.client: # stop the flask server and the browser cls.client.get('http://localhost:5000/shutdown') cls.client.close() # destroy database db.drop_all() db.session.remove() # remove application context cls.app_context.pop() def setUp(self): if not self.client: self.skipTest('Web browser not available') def tearDown(self): pass The setUpClass() and tearDownClass() class methods are invoked before and after the tests in this class execute.

Example 15-7. tests/test_selenium.py: Framework for tests using Selenium from selenium import webdriver class SeleniumTestCase(unittest.TestCase): client = None @classmethod def setUpClass(cls): # start Firefox try: cls.client = webdriver.Firefox() except: pass # skip these tests if the browser could not be started if cls.client: # create the application cls.app = create_app('testing') cls.app_context = cls.app.app_context() cls.app_context.push() # suppress logging to keep unittest output clean import logging logger = logging.getLogger('werkzeug') logger.setLevel("ERROR") # create the database and populate with some fake data db.create_all() Role.insert_roles() User.generate_fake(10) Post.generate_fake(10) # add an administrator user admin_role = Role.query.filter_by(permissions=0xff).first() admin = User(email='john@example.com', username='john', password='cat', role=admin_role, confirmed=True) db.session.add(admin) db.session.commit() # start the Flask server in a thread threading.Thread(target=cls.app.run).start() @classmethod def tearDownClass(cls): if cls.client: # stop the flask server and the browser cls.client.get('http://localhost:5000/shutdown') cls.client.close() # destroy database db.drop_all() db.session.remove() # remove application context cls.app_context.pop() def setUp(self): if not self.client: self.skipTest('Web browser not available') def tearDown(self): pass The setUpClass() and tearDownClass() class methods are invoked before and after the tests in this class execute. The setup involves starting an instance of Firefox through Selenium’s webdriver API and creating an application and a database with some initial data for tests to use. The application is started in a thread using the standard app.run() method. At the end the application receives a request to /shutdown, which causes the background thread to end. The browser is then closed and the test database removed. Note Selenium supports many other web browsers besides Firefox. Consult the Selenium documentation if you wish to use a different web browser. The setUp() method that runs before each test skips tests if Selenium cannot start the web browser in the startUpClass() method.

pages: 59 words: 12,801

The Little Book on CoffeeScript
by Alex MacCaw
Published 1 Jan 2012

This strict context throws more exceptions and warnings than the normal context, giving developers some indication when they’re straying from best practices, writing un-optimizable code or making common mistakes. In other words, strict mode reduces bugs, increases security, improves performance, and eliminates some difficult-to-use language features. What’s not to like? Strict mode is currently supported in the following browsers: Chrome >= 13.0 Safari >= 5.0 Opera >= 12.0 Firefox >= 4.0 Internet Explorer >= 10.0 Having said that, strict mode is completely backwards compatible with older browsers. Programs using it should run fine in either a strict or normal context. Strict Mode Changes Most of the changes strict mode introduces pertain to JavaScript’s syntax: Errors on duplicate property and function argument names Errors on incorrect use of the delete operator Access to arguments.caller & arguments.callee throws an error (for performance reasons) Using the with operator will raise a syntax error Certain variables such as undefined are no longer writeable Introduces additional reserved keywords, such as implements, interface, let, package, private, protected, public, static, and yield However, strict mode also changes some runtime behavior: Global variables are explicit (var always required); the global value of this is undefined eval can’t introduce new variables into the local context Function statements have to be defined before they’re used (previously, functions could be defined anywhere) arguments is immutable CoffeeScript already abides by a lot of strict mode’s requirements, such as always using var when defining variables, but it’s still very useful to enable strict mode in your CoffeeScript programs.

Functions get hoisted before the program’s execution and as such are available everywhere in the scope they were defined in, even if called before the actual definition in the source. The trouble is, hoisting behavior differs between browser. For example: if (true) { function declaration() { return "first"; } } else { function declaration() { return "second"; } } declaration(); In some browsers (e.g., Firefox), declaration() will return "first", and in other browsers (e.g., Chrome), it’ll return "second", even though it looks like the else statement is never run. If you want to know more about declarative functions, then you should read Juriy Zaytsev’s guide, where he delves into the specifics. Suffice to say, they have fairly ambiguous behavior, and can lead to problems later down the road.

pages: 390 words: 96,624

Consent of the Networked: The Worldwide Struggle for Internet Freedom
by Rebecca MacKinnon
Published 31 Jan 2012

Nonprofit organizations, individual activists, independent media organizations, and low-budget educational institutions all over the world rely on WordPress, the open-source blogging platform, and Drupal, the open-source content management system, both of which are developed, maintained, and upgraded by a community of volunteer developers. Another extremely successful project dedicated to developing open-source software that helps ordinary nontechie Internet users gain greater control over their online lives is Mozilla. Its Firefox browser, an open-source volunteer-developed web browser that allows for a high degree of customization, now makes up roughly 30 percent of the world’s web browser usage. Firefox integrates the work of other developers through add-ons and plugins, including many that help increase people’s privacy and security online. One of these is the Torbutton, integrated with Tor, which enables users to surf the web anonymously and circumvent blocked websites.

The Internet would not be what it is today if those engineers had been unable or unwilling to share TCP/IP freely with the world as part of the digital commons. The World Wide Web, invented two decades after the Internet, similarly owes its existence to the digital commons. What we call “the web” is an interlinked universe of websites accessed through web browsers such as Internet Explorer, Safari, and Firefox. All websites, no matter where they are created or what kind of computer system is used to host them, are readable from anywhere thanks to a common computer language called the hypertext mark-up language (HTML). The web is how most people on the planet today use the Internet. We can thank the Englishman Sir Tim Berners-Lee (eventually knighted for his invention), who in 1990 while at the particle physics lab at the European Organization for Nuclear Research in Switzerland wrote a simple computer program called the WorldWideWeb to make it easier for researchers in his lab to locate and share each other’s data.

The point is that people who want to protect their works with traditional copyright certainly can, but many other people who create media for reasons other than sales should also be able to do so. Other groups are focused explicitly on keeping the Internet as open and free as possible. In 2009, Mozilla (creator of the Firefox browser and other open-source tools) launched Drumbeat, a platform through which people can become actively involved in keeping the web open and free by organizing their own projects and recruiting others to help. One team is working to develop a set of universal “privacy icons”—a set of symbols that companies could adapt, which would make it easier for users to understand what personal information is being stored and for how long, and how and with whom it might be shared, under what circumstances.

Exploring ES6 - Upgrade to the next version of JavaScript
by Axel Rauschmayer
Published 3 Oct 2015

x\uD83D\uDE80y'].length 3 7.4.3 Reversing strings with non-BMP code points Iteration also helps with reversing strings that contain non-BMP code points (which are larger than 16 bit and encoded as two JavaScript characters): 79 New string features let str = 'x\uD83D\uDE80y'; // ES5: \uD83D\uDE80 are (incorrectly) reversed console.log(str.split('').reverse().join('')); // 'y\uDE80\uD83Dx' // ES6: order of \uD83D\uDE80 is preserved console.log([...str].reverse().join('')); // 'y\uD83D\uDE80x' The two reversed strings in the Firefox console. Remaining problem: combining marks A combining mark is a sequence of two Unicode code points that is displayed as single symbol. The ES6 approach to reversing a string that I have presented here works for nonBMP code points, but not for combining marks. For those, you need a library, e.g.

Then it is very useful if a module system supports them, because the system doesn’t break while you are refactoring. The Node.js documentation acknowledges the importance of cyclic dependencies³⁶ and Rob Sayre provides additional evidence³⁷: Data point: I once implemented a system like [ECMAScript 6 modules] for Firefox. I got asked³⁸ for cyclic dependency support 3 weeks after shipping. That system that Alex Fritze invented and I worked on is not perfect, and the syntax isn’t very pretty. But it’s still getting used³⁹ 7 years later, so it must have gotten something right. ³⁵http://calculist.org/blog/2012/06/29/static-module-resolution/ ³⁶http://nodejs.org/api/modules.html#modules_cycles ³⁷https://mail.mozilla.org/pipermail/es-discuss/2014-July/038250.html ³⁸https://bugzilla.mozilla.org/show_bug.cgi?

It is important to note that ms only specifies when the callback is added, not when it actually executed. That may happen much later, especially if the event loop is blocked (as demonstrated later in this chapter). setTimeout() with ms set to zero is a commonly used work-around to add something to the task queue right away. However, some browsers do not allow ms to be below a minimum (4 ms in Firefox); they set it to that minimum if it is. ²https://html.spec.whatwg.org/multipage/webappapis.html#timers Asynchronous programming (background) 435 24.2.2 Displaying DOM changes For most DOM changes (especially those involving a re-layout), the display isn’t updated right away. “Layout happens off a refresh tick every 16ms” (@bz_moz³) and must be given a chance to run via the event loop.

pages: 295 words: 84,843

There's a War Going on but No One Can See It
by Huib Modderkolk
Published 1 Sep 2021

He’s been on the phone to them daily, begging them to hold off just a tiny bit longer. Please, he says, don’t pull the plug on DigiNotar all at once: ‘We don’t know yet what the consequences will be for this country.’ That’s an understatement. Officials at every level are clueless. One asks Erik de Jong who owns Firefox. Firefox is an open-source project; it has no owner. And Erik Akerboom, the national counter-terrorism co-ordinator and chair of the Cyber Security Council, doesn’t even know what digital certificates are. As if that’s not enough, this digital crisis is also sparking a culture clash. On the one hand are hierarchical government agencies accustomed to imposing decisions from the top, and on the other are organisations of technical experts like GovCERT, where management relies on specialists who know what’s what

What looks like the national tax authority’s website might belong not to the tax authority but to criminals trying to steal login data. We have a system to solve that. Whenever a user goes to a website, their web browser checks if the site is legitimate. Google (Chrome), Microsoft (Explorer) and Firefox (Mozilla) don’t actually perform this check themselves: they outsource it to companies, like DigiNotar, that issue certificates. The system is comparable to a notary who verifies that parties to a transaction are who they say they are. DigiNotar is a digital notary firm that checks who the website you visit belongs to and if that website can be trusted.

Looking at the tapped data, the High Tech Crime Unit noticed he’d gone on Facebook using the same VPN tunnel. Furthermore, the IP address used matched one found in the server data from the UK, where on one single occasion the hacker logged in from his own computer. A fatal misstep, it turned out. When the police laid the two IP addresses side by side they could see both used the same browser (Firefox) in the same version and with the same language settings (Persian). They could also see which Facebook profile the user was logging into: it belonged to an Iranian man in his twenties. From there, it took seconds to track down his name and address. A lone wolf, the investigators initially concluded.

pages: 204 words: 54,395

Drive: The Surprising Truth About What Motivates Us
by Daniel H. Pink
Published 1 Jan 2008

Instead, Wikipedia represents the most powerful new business model of the twenty-first century: open source. Fire up your home computer, for example. When you visit the Web to check the weather forecast or order some sneakers, you might be using Firefox, a free open-source Web browser created almost exclusively by volunteers around the world. Unpaid laborers who give away their product? That couldn't be sustainable. The incentives are all wrong. Yet Firefox now has more than 150 million users. Or walk into the IT department of a large company anywhere in the world and ask for a tour. That company's corporate computer servers could well run on Linux, software devised by an army of unpaid programmers and available for free.

These are companies that raise capital, develop products, and sell them in an open market but do so in the service of a larger social mission or as he puts it, with the profit-maximization principle replaced by the social-benefit principle. The Fourth Sector Network in the United States and Denmark is promoting the for-benefit organization a hybrid that it says represents a new category of organization that is both economically self-sustaining and animated by a public purpose. One example: Mozilla, the entity that gave us Firefox, is organized as a for-benefit organization. And three U.S. entrepreneurs have invented the B Corporation, a designation that requires companies to amend their bylaws so that the incentives favor long-term value and social impact instead of short-term economic gain. Neither open-source production nor previously unimagined not only for profit businesses are yet the norm, of course.

pages: 196 words: 58,122

AngularJS
by Brad Green and Shyam Seshadri
Published 15 Mar 2013

While Karma should open up a browser and capture it automatically, it will print all the instructions needed to capture another browser in the console. If you are too lazy to do that, just go to http://localhost:9876 in another browser or device, and you are good to start running tests in multiple browsers. Tip While Karma can capture the usual browsers automatically, on start (Firefox, Chrome, IE, Opera, and even PhantomJS), it is not limited to just those browsers. Any device on which you can browse to a URL can possibly be a runner for Karma. So if you open up the browser of your iPhone or Android device and browse to http://machinename:9876 (provided it is accessible!), you could potentially run your tests on mobile devices as well.

Thankfully, things have come a long way since the old days when there was no Firebug. Now, regardless of the choice of browser, there is generally something you can use to step in to your code, analyze your errors, and figure out the state of the application. Get to know the Developer Tools in Chrome and Internet Explorer; Firebug works across Firefox and Chrome. A few further tips to help you out when debugging your application: Always, always switch to the non-minified version of all your source code and dependencies when you want to debug. Not only will you get better variable names, you’ll also get line numbers and actual useful information and debugging capabilities.

test main require module last 'test/spec/main.js' ]; // list of files to exclude exclude = []; // test results reporter to use // possible values: dots || progress reporter = 'progress'; // web server port port = 8989; // cli runner port runnerPort = 9898; // enable/disable colors in the output (reporters and logs) colors = true; // level of logging logLevel = LOG_INFO; // enable/disable watching file and executing tests whenever any file changes autoWatch = true; // Start these browsers, currently available: // - Chrome // - ChromeCanary // - Firefox // - Opera // - Safari // - PhantomJS // - IE if you have a windows box browsers = ['Chrome']; // Continuous Integration mode // if true, it captures browsers, runs tests, and exits singleRun = false; We use a slightly different format to define our dependencies (the included: false is quite important).

Python Web Development With Django
by Jeff Forcier

Selenium RC (http://selenium-rc.openqa.org/) gives its users the ability to create full-fledged automated tests in a variety of programming languages.You write your test apps; they are run by Selenium Core—you can think of it as a scripting layer that sits on top of the Core, a “code mode” if you will. A great tool to get started with Selenium is the IDE (see http://selenium-ide.openqa. org/). It’s written as a Firefox extension and is a full IDE that enables you to record and play back Web sessions as tests. It can also output tests in any of the languages supported by Selenium RC, so you can further enhance or modify those tests.You can set breakpoints as well as single-step through tests. Because it’s written on Firefox, one common FAQ is whether it exists for Internet Explorer (IE).The answer is no; however, the “record mode” of the IDE enables you to run them on IE via Selenium Core.

Software Link Subversion http://subversion.tigris.org Trac http://trac.edgewall.org Mailman http://www.gnu.org/software/mailman Markdown http://daringfireball.net/projects/markdown Markdown-Python http://freewisdom.org/projects/python-markdown wtables http://brian-jaress.livejournal.com/5978.html make http://www.gnu.org/software/make/ TextMate http://macromates.com Vim http://www.vim.org Ghostscript http://pages.cs.wisc.edu/~ghost/ html2ps http://user.it.uu.se/~jan/html2ps.html Firefox http://mozilla.com/firefox Ubuntu http://ubuntu.com FreeBSD http://freebsd.org Colophon Software Link Macports http://macports.org Python http://python.org Django http://djangoproject.com The Netherlands is also the birthplace of Guido van Rossum, creator of the Python language. Django, too, serves as a bridge connecting the potentially wild world of Web application development to everyday people who want to publish online without having to worry about writing complex server code, SQL statements, or what “MVC” stands for. 377 This page intentionally left blank Additional Resources for Mastering Python Core Python Programming The complete developer’s guide to Python!

Multiline blocks of code or command examples are in monospaced blocks, like so: >>> print “This is Python!” This is Python! We have made use of all three major platforms—Mac OS X, Linux, and Windows— when writing this book and the example applications. In addition, we’ve used all major browsers (although not all may be present in our screenshots), namely Firefox, Safari, Opera, and Internet Explorer. Book Resources You can contact the authors collectively at authors@withdjango.com. Our Web site, http://withdjango.com, contains a large amount of auxiliary material and is referenced in a number of places throughout the book. Acknowledgments My name may have ended up first in the author list, but this book wouldn’t be here without the effort and dedication of the other two.

pages: 281 words: 95,852

The Googlization of Everything:
by Siva Vaidhyanathan
Published 1 Jan 2010

Microsoft managed to kill off several innovative competitors, including Netscape, the original commercial browser. The only remaining major competitors for Explorer were Apple’s Safari (also subsidized by Apple’s profitable ventures) and Firefox, an open-source product released by the Mozilla Foundation. Explorer was for a long time the default browser on more than 70 percent of the computers in the world.30 Although it has been displaced 30 R END E R UNTO CAESA R by Firefox in recent years, Explorer is still installed along with Microsoft Windows, the operating system of choice for more than 90 percent of the world’s personal computers. Competition, both fair and unfair, is but one point of friction between Google and other powerful interests.

It now offers online software such as a word processor, spreadsheets, presentation software, and a REN D E R UNTO CA ESA R 17 calendar service—all operating “in the cloud” and thus freeing users from managing multiple versions of their files and applications on different computers, and easing collaboration with others. In 2008 Google released its own Web browser called Chrome, despite many years of collaborating with the Mozilla foundation in supporting the opensource Firefox browser. And in 2009 it previewed its Chrome operating system for cloud computing, a direct assault on Microsoft’s core product, Windows. It hosts health records online. On top of all that, since its beginning in 2004, its Google Books project has scanned millions and millions of volumes and has made many of them available online at no cost, simultaneously appropriating the functions of libraries on the one hand and the rights of publishers on the other.

See Federal Communication Commission (FCC) Federal Communication Commission (FCC), 18, 49 Federal Emergency Management Agency (FEMA), 41–42 Feldmar, Andrew, 177 FEMA. See Federal Emergency Management Agency (FEMA) filters, 7, 175–76, 178–79, 182 financial status, Google’s, 17–18, 229n14; and earnings from advertising, 27, 229n14 Finland, 142 Firefox, 17, 29, 30 Fleetwood Mac, 113 Flickr, 82 foreign markets, Google’s share in, 25, 132–33, 141–45, 229n14 forgetting, of information, 174, 176–79 260 IND EX Foucault, Michel, 111, 112 founders, Google’s, 67, 156, 186–87, 202 France, 14, 25, 47, 115, 130, 142, 146, 153 Frankel, Max, 56 free market, 45, 46 free rider problem, 30–36, 166 free speech, 109, 110; in China, 120, 130, 131 free trade, 109 Froomkin, Michael, 245n54 Gandy, Oscar, 236n20 gang-related online video, 110 Ganley, Paul, 168, 169, 172 Gaukroger, Stephen, 149 Germany, 14, 25, 47, 65–66, 102, 108, 112, 113, 121, 122, 123, 130, 134, 142, 153 global civil society, 135, 138, 140, 141, 145, 148, 243–44n48 globalization, 108–10, 111, 146 Gmail, 3, 16, 19, 67, 86, 90, 129, 143, 183; Chinese dissidents’ use of, 116, 118; Iranian dissidents’ use of, 116; students’ use of, 197 “God,” search results for, 63–64 Google bombing (search-engine optimization), 66 Google Books: and antitrust laws, 153, 162; authors’ response to, 152, 153, 154, 156, 161, 162, 163, 173, 202; Chinese response to, 153; copyright issues raised by, 10, 155, 159–61, 163, 166–71, 172; European response to, 153; and fair use, 153, 160–61, 162, 165–66, 168–70, 172; fourfactor analysis of, 169; initial project of, 156–60; legal actions resulting from, 48, 154, 156, 160–62, 165–66, 168; libraries’ participation in, 17, 23, 152–53, 155, 158–60, 162–66, 169, 171, 186, 202, 203; and misapplication of Web standards to books, 152, 167, 171; noncommercial service preferable to, 169, 171–72; and out-of-print books, 153, 154, 156, 161–62, 171; and partner program, 157, 159; and privatization of knowledge, 152, 153, 155, 164–65; and public domain, 157, 158, 159; and public failure, 44, 155; public project preferred to, 203–4; publishers’ response to, 11, 17, 48, 152–54, 156–63, 165–68, 170–73, 202; and registered users, 183; and rights registry, 161, 162; and royalty payments, 161, 172, 173; universities’ participation in, 150–53, 155, 158, 162–65, 169, 171–72, 186 Google Checkout, 16 Google Docs, 24, 29 Google Earth, 17 Google headquarters, 49, 72, 187 Google Maps, 106, 107, 117 Googlemobiles, 98, 104–5 Google News, 32–35, 44, 78, 79, 148 Google Scholar, 186, 190–94 Google Street View, 17, 48, 98–108, 111, 237nn24,32 Google Voice, 16 Google Web Search.

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

With the advent of client libraries for these browsers, such as jQuery, script.aculo.us, or Prototype, programming in JavaScript has become fun and productive. Unwieldy APIs have been cleaned up, and fun, dynamic effects have been added. 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.

If you look at the headers the curl program sends to you, you see Click here to view code image { 'user-agent': 'curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8r zlib/1.2.5', host: 'localhost:8080', accept: '*/*' } If you call the JSON server in the browser, you see something like Click here to view code image { host: 'localhost:8080', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:16.0) Gecko/20100101 Firefox/16.0', accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'accept-language': 'en-US,en;q=0.5', 'accept-encoding': 'gzip, deflate', connection: 'keep-alive' } On the response side, you have already used two methods: writeHead and end. You must call end on the response object once and only once for each incoming request.

Continue adding or <a href='/pages/album/" + $("#albumid").val() + "'>View Album</a>"; } else { oOutput.innerHTML = "\ Error " + oReq.status + " occurred uploading your file.<br \/>"; } }; oReq.send(oData); }); FormData is powerful and awesome but is not supported in Internet Explorer (IE) versions prior to 10. Firefox, Chrome, and Safari have all supported it for quite a while. If you need to support older IE browsers, you need to look at other methods for uploading files, such as using Flash or otherwise regular old HTML Forms. Recapping the App Structure The application has gotten a bit more complicated; it is worth spending a few seconds again covering exactly how you’ve structured it.

Simple and Usable Web, Mobile, and Interaction Design
by Giles Colborne
Published 14 Sep 2010

These rules make text clearer, more persuasive, and shorter. For example:  Please note that although Chrome is supported for both Mac and Windows operating systems, it is recommended that all users of this site switch to the most up-to-date version of the Firefox web browser for the best possible results. (41 words) Simplified version:  For best results, use the latest version of Firefox. Chrome for Mac and Windows is also supported. (17 words) Use Lanham’s rules to remove the words that pad your sentences. DDB UK’s advertisement for Volkswagen in the UK shows just how much you can cut. emove Download from WoweBook.com Download from WoweBook.com Removing too much In the Apple Store in Tokyo you’ll find a remarkable glass elevator, finished in Apple’s trademark brushed aluminum.

pages: 180 words: 37,187

AngularJS Essentials
by Rodrigo Branas
Published 20 Aug 2014

What you need for this book To implement the code in this book, you will need to use your favorite development interface and a web browser. I would recommend sublime text, but you may use Aptana (which is based on Eclipse), WebStorm, or any other IDE. AngularJS is compatible with the most browsers such as Firefox, Chrome, Safari, and Internet Explorer. Feel free to choose the one you are used to. Who this book is for If you have a passion for web development and are looking for a framework that could provide a reusable, maintainable, and modular way to create applications, and at the same time, help increase your productivity and satisfaction, this is the book for you.

The first question will be regarding the testing framework you would like to use. Karma supports Mocha and QUnit beyond Jasmine. After that, it will ask you about RequireJS, adding it depending on our answer. Then, you will be asked a question about which browser you want to use. There are many options such as Chrome, Firefox, Opera, Safari, IE, and even PhantomJS. Take care of the next question about the location of each source and test file. You should place it in the correct order, otherwise you can have some trouble. For our application, the best strategy to adopt is to follow the code organization that we studied in Chapter 1, Getting Started with AngularJS.

pages: 426 words: 105,423

The 4-Hour Workweek: Escape 9-5, Live Anywhere, and Join the New Rich
by Timothy Ferriss
Published 1 Jan 2007

I couldn’t get the paper today.” Stop this as soon as you realize that the answer doesn’t affect your actions at all. Most people won’t even remember what they spent one to two hours absorbing that morning. Be strict with yourself. I can prescribe the medicine, but you need to take it. Download the Firefox web browser (www.firefox.com) and use LeechBlock to block certain sites entirely for set periods. From their site (http://www.proginosko.com/leechblock.html): You can specify up to six sets of sites to block, with different times and days for each set. You can block sites within fixed time periods (e.g., between 9am and 5pm), after a time limit (e.g., 10 minutes in every hour), or with a combination of time periods and time limit (e.g., 10 minutes in every hour between 9am and 5pm).

Google Adwords Keyword Tool (http://adwords.google.com/select/KeywordToolExternal) Enter the potential search terms to find search volume and alternative terms with more search traffic. Click on the “Approx Avg Search Volume” column to sort results from most to least searched. SEOBook Keyword Tool, SEO for Firefox Extension (http://tools.seobook.com/) This is an outstanding resource page with searches powered by Wordtracker (www.wordtracker.com). Both then visit the three websites that consistently appear in top search and PPC positions. How can Sherwood and Johanna differentiate themselves? Use more credibility indicators?

Google Adwords Keyword Tool (http://adwords.google.com/select/KeywordToolExternal) Enter the potential search terms to find search volume and alternative terms with more search traffic. Click on the “Approx Avg Search Volume” column to sort results from most to least searched. SEOBook Keyword Tool, SEO for Firefox Extension (http://tools.seobook.com/) Outstanding resource page with searches powered by Wordtracker (www.wordtracker.com). Low-Cost Domain Registration Domains in Seconds (www.domainsinseconds.com) I have registered more than 100 domains through this service. Joker (www.joker.com) GoDaddy (www.godaddy.com) Inexpensive but Dependable Hosting Services Shared hosting solutions, where your site is hosted alongside other sites on a single server, are so cheap that I recommend using two providers, one as a primary and one as a backup.

pages: 562 words: 153,825

Dark Mirror: Edward Snowden and the Surveillance State
by Barton Gellman
Published 20 May 2020

In order to make it easier for novices to use, Tor developers had baked their magic into a custom version of Firefox. They called it the Tor Browser Bundle. Now a small team of NSA hackers had come up with a way to see through the browser’s privacy shields. The NSA liked to hire rising stars in computer science and mathematics as interns for a summer or an academic year. Young innovators came up with hacks that old-timers missed, and a taste of life inside sometimes hooked them into postgraduate employment. It was one of those interns who broke the news that Snowden read in January. The intern and his team had found a vulnerability in Firefox, not in Tor itself, but they could exploit it against certain versions of the bundle.

“I hope you get all the kudos you deserve for putting this together. How long did it take you to come up with this? If Tor team updates [Firefox] . . . do you think the TBB has enough target surface for you guys to restore the same access through a different vuln? Same time investment, or more?” Snowden was asking how long it would take to find a new hole in the browser once the old one was patched. “Somewhere between a week and two weeks,” the intern replied. “We’ve actually got a couple of bugs we’re looking at for Firefox 17+, and once I get back from a TDY [temporary duty] next week, I’m going to try to work with the rest of the team to get something ready to ship, and I’m confident we can have it ready when [Tor developers] release something new, or very soon after:)” Much later, when government officials and other critics accused Snowden of damaging NSA collection capabilities, he cited the exchange with the intern in reply.

. § 798, “Disclosure of classified information,” 101–2 election, U.S., of 2016, 322 Electronic Frontier Foundation, 7, 65, 365 Ellard, George, 247, 276, 323 Ellsberg, Daniel: ES compared with, 295–96 espionage charge against, 288 ES’s online conversation with, 289–95 Guardian piece on ES by, 290 lifelong preoccupation with whistleblowers of, 294–95 on NSA’s blackmail capability, 290 Pentagon Papers revealed by, 288, 380 prosecution of, 308 on rarity of whistleblowers, 295 Emo Cat, 191–92, 195 encryption, see cryptography End-to-End encryption, 352 Energy Department, U.S., 39 EPICSHELTER (proposed backup and recovery system), 59–60, 61 espionage: breakdown of distinction between foreign and domestic, xii, 338–39 news leaks vs., 275–76 see also surveillance Espionage Act (1917), 96, 99, 101, 261, 275, 308, 381 ES on, 292 Executive Order 12333, 84, 282, 287, 302, 338, 410 impact on U.S. persons of, 315–16, 317, 318, 335–36 see also surveillance, foreign Executive Order 13526, 265 Expeditionary Access Operations, see S3283 Facebook, 112 illegal spying by, 198 Face the Nation, BG’s appearance on, 229–30 FASCIA II, 172 Federal Bureau of Investigation (FBI), 14, 75, 86 culture of, 205 encryption technology as hindrance to, 312 illegal surveillance by, 180–81 Verizon metadata collected by, 142 Federal Trade Commission, 198 Felten, Ed, 232–33 on secrets revealed by metadata, 162–63 Firefox, Tor Browser Bundle of, 80 First Amendment, of U.S. Constitution, 14, 96, 99, 114, 185, 248, 261 FIRSTFRUITS, 225, 277 Brand on, 274 DOJ crime reports produced by, 274–75 internet rumors about, 271–72 tracing journalistic leaks as goal of, 272–73 FISA Amendments Act (2008), 69, 86, 94, 111, 126, 148, 338 Section 702 of, 123 FISA Court, see Foreign Intelligence Surveillance Court Five Eyes intelligence allies, 28, 69, 177, 311 Fleischer, Ari, 273, 406 Flynn, Michael T., 377 Forbes, 75 Foreign Denial and Deception Committee, 274, 278 Foreign Intelligence Surveillance Act (1978), 282, 338 and legal standard of relevance, 143–44 restrictions on NSA of, 122 Foreign Intelligence Surveillance Court, 111–12, 122, 123, 126, 263–64, 283 in annual review of PRISM program, 125 business records access authorized by, 143, 171 five-year limit on retention imposed by, 173, 179 mass surveillance authorized by, 111–12 NSA call data collection authorized by, 157, 165 NSA overseas collection as avoiding restrictions of, 317 relevance standard and, 143–44 STELLARWIND concealed from, 170 foreign surveillance, see surveillance, foreign 4chan, 192 Fourth Amendment, of the U.S.

pages: 499 words: 144,278

Coders: The Making of a New Tribe and the Remaking of the World
by Clive Thompson
Published 26 Mar 2019

This works remarkably well for time-rich young people but less so for anyone with lots of coding talent but more real-world responsibilities. “Meritocracies say ‘your GitHub is your résumé,’ then they act surprised that their candidate pool doesn’t include a lot of single moms without time to hack on hobby projects,” as Johnathan Nightingale, a former general manager of the open source browser Firefox, writes. Firefox, he notes, was like that, too. The company that ran Firefox, Mozilla, had a female founder, “and still our ‘meritocracy’ was full of people who looked an awful lot like me.” A survey done by GitHub found that 95 percent of its respondents identified as men; 3 percent identified as female and 1 percent as nonbinary. Though solid numbers are hard to come by, other surveys and estimates of the amount of women involved in open source projects appear to find that it’s around 10 percent or lower.

This can often wind up planting a deep, vibrating misanthropy in some programmers’ souls. Because, hey, your software would work fine if all those stupid users didn’t keep on doing dumb things that break it, right? Dealing with unpredictable behavior of users turns coders into “pessimistic, paranoid lunatics,” as Blake Ross, the cocreator of the Firefox browser, once wrote. It happens gradually, because every time they create a piece of software they discover that people do things with it that they, the creators, never predicted. His description is funny enough that it’s worth quoting at length: It starts when we’re 8 and coding our very first program.

S., ref1 Ellis, Kelly, ref1, ref2 encasement strategy, ref1 encryption Clipper Chip, ref1 criminal/terrorist use of, cypherpunk views on, ref1 entertainment and copyright law and, ref1 munitions law, ref1, ref2 public/private key crypto and, ref1 Zimmermann’s creation of Pretty Good Privacy, ref1 See also cypherpunks engagement (compulsive use) advertising and, ref1 Like button (Facebook) and, ref1 psychological lures to encourage, ref1 English Electric, ref1 ENIAC computer, ref1, ref2 ENIAC Girls, ref1 Ensmenger, Nathan, ref1, ref2 entertainment industry, ref1 decoding software and, ref1 digital rights management (DRM) software, ref1, ref2, ref3 Erickson, Carolina, ref1 Ethereum, ref1 Everingham, James, ref1, ref2, ref3, ref4 expert systems, ref1 “Exploratory Experimental Studies Comparing Online and Offline Programming Performance” (Sackman et al.), ref1 Facebook, ref1, ref2, ref3, ref4, ref5, ref6 ad tech, civic impacts of, ref1 Cambridge Analytica scandal, ref1 content moderation, ref1, ref2 deep-learning model at, ref1 free-to-use model of, ref1 Like button, ref1 News Feed feature of (See News Feed [Facebook]) purchases Instagram, ref1 Sanghvi hired at, ref1 scale and, ref1 tracking of user activities by, ref1 women and minority coders at, percentage of, ref1 work atmosphere at, ref1 Fancy Bear, ref1 Fan Hui, ref1, ref2 Fast Company, ref1 feature creep, ref1 Ferrucci, Dave, ref1, ref2 file-sharing tools, ref1 Firefox, ref1 Fisher, Allan, ref1, ref2, ref3, ref4 Fitzpatrick, Brad, ref1, ref2 Flatiron School, ref1, ref2, ref3 Flickr, ref1 Flombaum, Avi, ref1 FLOW-MATIC computer language, ref1 flow state, ref1 Foer, Franklin, ref1 Fogg, B. J., ref1, ref2 food stamp program app (GetCalFresh), ref1 Fortran computer language, ref1, ref2, ref3 Founders at Work (Clark), ref1 Fowler, Chad, ref1 Fowler, Martin, ref1 Fowler, Susan, ref1 Frank, Robert, ref1 Franklin, Benjamin, ref1 Franklin Planner system, ref1 Franzen, Jonathan, ref1 free and open source software.

pages: 319 words: 72,969

Nginx HTTP Server Second Edition
by Clement Nedelcu
Published 18 Jul 2013

Either way, the backend server (a FastCGI application, another web server, and so on) may be hosted on a different server in the case of load-balanced architectures: Forwards request via FastCGI Sends request GET/ index.html HTTP/1.1 F orwards response Client Mozilla Firefox Returns response Web server Nginx Backend PHP The general issue with applications (such as PHP) is that they are quite resource-consuming, especially in terms of CPU. Therefore, you may find yourself forced to balance the load across multiple servers, resulting in the following architecture: [ 174 ] www.it-ebooks.info Chapter 5 Backend1 PHP Sends request GET/ index.html HTTP/1.1 Forwards request to one of the backends Forwards response Client Mozilla Firefox Web server Nginx Backend2 PHP Selected backend sends response Backend3 PHP In this case, Nginx is connected to multiple backend servers.

Client computer Web server Sends request GET/ index.html HTTP/1.1 Sends response Process request Reads / index.html data HTTP/1.0 200 OK This mechanism has been in use since the beginning of the World Wide Web and it still is. However, as stated before, static websites are being progressively abandoned at the expense of dynamic ones that contain scripts that are processed by applications such as PHP and Python among others. The web serving mechanism thus evolved into the following: Client computer MSIE, Firefox, ... Web server Nginx, Apache, ... Application PHP, Phython, ... Sends request GET/ index.html HTTP/1.1 Pre-processes request URL rewriting, internal redirects... F orwards request Communicates using CGI Returns response Communicates using CGI Post- processes response Gzip compression, character encoding Sends response HTTP/1.0 200 OK [ 160 ] www.it-ebooks.info Processes request Script parsing ...

pages: 280 words: 71,268

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

It was the right project for the right time. In just a few years, we scaled up Toolbar users by more than 10x. That was when I first saw the power of an ambitious, stretch OKR. Rethinking the Browser By then we’d set up something new for Google, a team to build client software. We had people working on Firefox to help improve Mozilla’s browser. By 2006, we were beginning to rethink the browser as a computing platform, almost like an operating system, so that people could write applications on the web itself. That fundamental insight gave birth to Chrome. We knew we needed a multiprocess architecture to make each tab its own process and protect a user’s Gmail if another application crashed.

We were fortunate to find a Danish programmer named Lars Bak, who’d built virtual machines for Sun Microsystems and held more than a dozen patents. Lars is one of the great artists in his field. He came to us and said, without an ounce of bravado, “I can do something that is much, much faster.” Within four months, he had JavaScript running ten times as fast as it ran on Firefox. Within two years, it was more than twenty times faster—incredible progress. (Sometimes a stretch goal is not as wildly aspirational as it may seem. As Lars later told Steven Levy in In the Plex , “We sort of underestimated what we could do.”) Stretch OKRs are an intense exercise in problem solving.

See also commitment; focus culture and, 212 –13 management theory, 24 –27 top-down goal setting, 86 –89 Zume Pizza story, 211 Lean In (Sandberg), 184 –85 Lee, Albert, 90 –101, 93 Lee, Amy, 90 Lee, Mike, 55 –56, 90 –101, 93 , 141 Levie, Aaron, 77 Levin, Rick, 219 Levy, Steven, 11 –12, 11 n, 139 , 149 LinkedIn, 12 , 50 LiquidPlanner, 200 –201 Locke, Edwin, 9 –10, 134 Long, Mike, 224 , 226 , 232 love, 253 low value objectives (LVOs), 260 Lumeris, 223 –33 HR transformation, 226 –27 OKR resurrection, 228 –29 selling your reds, 231 –32 transparency without judgment, 229 –31 McFadden, Jim, 161 malaria, 13 , 130 , 132 , 132 n management by objectives (MBOs), 25 , 26 –27, 27 management theory, 24 –27 manager-led coaching, 184 , 278 , 279 Sand Hill Unicorns, 81 –85 MapMyFitness, 99 Maslow’s hierarchy of needs, 136 –37 Matthew, Lucy, 237 Mayer, Marissa, 7 Medicaid, 69 –70, 72 , 75 , 76 Mehrotra, Shishir, 160 , 163 , 164 , 168 membership engagement, 242 –43 Merrill, Amelia, 79 , 141 micromanagement, 88 Microsoft, 5 , 126 , 128 –29, 130 , 201 –2 midlife tracking, 117 –19 MightyText and, 63 –64 mismanagement, 86 –87 missions vs. objectives, 130 mistakes, classic OKR-writing, 258 –61 Monthly Active Teachers (MAT), 64 moonshot goals, 16 , 140 , 141 , 148 , 149 , 224 Moore, Gordon, 6 n, 20 , 32 Moore’s law, 20 , 21 , 121 n, 129 Morris, Donna, 189 –96, 193 Motorola, 36 –37, 40 –41 Mount Everest disaster of 1996, 9 Moyo, Dambisa, 240 Mozilla Firefox, 146 , 148 –49 Mullen, Larry, Jr., 235 , 244 MyFitnessPal, 90 –101 committed goals, 141 cross-team integration, 94 –97 less is more, 55 –56 North Star values, 100 –101 unacknowledged dependencies, 97 –101 Nadella, Satya, 161 National Academy of Engineering, 134 negative feedback, 185 Netscape, 251 New Yorker, 248 New York Times, 30 –31, 32 , 76 , 102 Ng, Andrew, 219 North Star values, 100 –101 nourishers, 216 , 280 Novell, 251 Noyce, Robert, 20 , 22 , 32 , 43 Nuna International, 69 –76 objective scoring, 120 –22 objectives vs. missions, 130 Okolloh, Ory, 240 OKRs (Objectives and Key Results) adaptability of, 246 applications and implications, 17 –18.

pages: 267 words: 71,941

How to Predict the Unpredictable
by William Poundstone

It’s not hard to clear cookies. Go into your browser’s settings, choose “Privacy” or some such heading, and click “Remove all website data.” The drawback is that you’ll be starting from zero with all websites. It’s much easier to use two browsers. I use Safari for everyday use (with cookies enabled) and Firefox (with cookies turned off). When I use Firefox, I’m a new customer to every site. Then there’s the abandoned shopping cart ploy. Put whatever you want to buy in a retail site’s shopping cart. Click “check out.” Begin filling out the form. Make sure you enter your e-mail address but don’t enter any payment information. Leave the purchase in limbo and wait for the discounts to roll in.

See stock market price-to-earnings (PE) ratios DALBAR (research firm), 218 data analytics, 205 data mining, 139 De Dreu, Carsten, 85 Decide.com, 196–197, 198 Deckert, Joseph, 140 DeMuth, Phil, 230–231 differential pricing, 192–194 digital analysis, 119–121, 129, 139–140, 142, 143 Dimensional Fund Advisors, 219 distractors, 66 dogs, 83, 84, 161 Dow Jones Index, 229 Duke University, 28, 39 Einstein, Albert, 7 electoral fraud, 139–142, 143 Enron, 131–133 ergometrics, 39, 43 Erving, Julius, 160 ESP (extrasensory perception)/telepathy, 28–39, 46, 47 EuroMillions (lottery), 70, 74, 75, 76 Excel, 134 extremeness aversion, 191–192 Facebook, 99 Fairfield Sentry, 147–152 fake numbers, 112–125 criminal cases involving, 115–117, 118 digital analysis and, 119–121 identifying, 121–124 My Law and, 119–120 taxes and, 117–118 See also manipulated numbers Fastow, Andrew, 131 Federal Reserve Board, 221 Feller, William, 166 FIFA World Cup championships, 85 Financial Forensics (Lake Oswego, Oregon), 129 Firefox (Web browser), 194 first-digits, 109–110, 139, 149–150 Fisher, Daryl, 78–81 football, 161, 174–182 American football, 177–182, 266n penalty kicks, 83–85 forecasting, 205–212 fortune cookies, 71 fraud detection. See fake numbers; manipulated numbers Freakonomics (Levitt), 178 Fry, Thornton, 39 FTSE 100 Index, 220, 242–244 FTSE All Share Index, 225 future.

pages: 159 words: 42,401

Snowden's Box: Trust in the Age of Surveillance
by Jessica Bruder and Dale Maharidge
Published 29 Mar 2020

If you want to browse the internet without Big Brother as your copilot, consider trying Tor Browser, which routes your online navigation through a network of encrypted relays. Tor doesn’t play nice with advertisers, blocking background scripts and the browser-tracking technologies that follow your every move. When you log off, your browsing history gets wiped out. The downside? All these features make Tor run a bit more slowly than commercial browsers. Firefox and Safari are also catching up to consumers’ demands for privacy, integrating anti-tracking features and preferences into their software. No matter what browser you use, it’s worth remembering: Google and other commercial search engines act like giant vacuum cleaners, hoovering up your queries as an endless stream of market research.

See also Stasi Egypt, 145 Elahi, Hasan, 112 Electronic Frontier Foundation (EFF), 66–8, 79, 93, 125, 140, 143, 144 Electronic Privacy Information Center (EPIC), 143 Ellsberg, Daniel, 36, 43, 67 Espionage Act, 10, 42, 129 European Union, 143, 144 Evans, Jon, 8 Facebook, 48, 102, 103, 136–7, 141 FBI, 15, 18, 22, 86–8, 90, 94; FOIA requests, 124, 125, 126, 127, 145 Ferguson, Missouri, 111 Firefox (browser), 139 First Look Media, 126–9, 130 FitBit, 104 Ford, Gerald, 91 Foreign Intelligence Surveillance Act (FISA), 90–1 Franklin, Benjamin, 74 Freedom of the Press Foundation, 39, 62, 67, 68, 70 Gellman, Barton, 41, 43, 120 General Data Protection Regulation (GDPR) (Europe), 143, 144 Glomar Explorer, 125 Google, 48, 102, 108, 139, 145; Gmail, 137 Google Docs, 138 Google Drive, 126 Google Home, 99, 131 Google Maps, 21 Government Accountability Project, 85 GPG (Gnu Privacy Guard), 69, 70–1, 74, 75, 138 Greenwald, Glenn, 80, 120, 121, 129; Brazil, 59; EFF role, 67; First Look Media, 127–8; Hong Kong trip, 45, 46; Poitras and, 16–17, 38–9, 44–5, 46, 48; Snowden and, 6–7, 44–5, 48–9, 70–4, 75–6; Timm and, 62–3 Grindr, 103 Guantánamo Bay Naval Base, 64 Guardian, 2, 45, 46–7, 63, 80, 94; Poitras video, 48–49, 92 Hampton, Fred, 87–8 Harrison, Sarah, 56 Harvey, Adam, 142 Hawaii, 1, 28, 58 Hersh, Seymour, 43, 88 Holder, Eric, 29 Homeland Security Department.

pages: 290 words: 119,172

Beginning Backbone.js
by James Sugrue
Published 15 Dec 2013

Setting a variable is just as simple, and most importantly, setting the variable will be reflected in the original model object, as in the following code: backboneAttrs.name('Beginning Backbone.js'); console.log(backboneAttrs.name()); console.log(backboneBook.get('name')); 147 Chapter 7 ■ The Backbone Ecosystem Developer Tools and Utilities The Backbone ecosystem isn’t limited just to extensions to the library. With the power of the developer tools available in Chrome and Firefox, you may think that there is no need for anything more. However, there is an add-on available for Firefox named Backbone Eye (http://dhruvaray.github.io/spa-eye/) that helps developers understand the behavior of a Backbone application without the need to debug JavaScript. The add-on extends Firebug, so once you have both the Firebug and Backbone Eye add-ons installed, you will see a new tab in your Firebug browser, as in Figure 7-3.

We’ll be taking a closer look at Chrome Developer Tools in the next chapter. For now, you can access the tools using the Tools/ Developer Tools menu option from Chrome. To write something out to the console, simply use the console.log statement, which will accept any type of output. The Chrome console even gives you code completion for your JavaScript. If Firefox is your browser of choice, the Firebug add-on gives you similar capabilities. You will also find a number of services online that allow you to execute JavaScript and share snippets you create, such as jsfiddle.net and codepen.io. What Is an Object Anyway? An object is a representation of something in your problem domain that contains a number of attributes.

pages: 275 words: 84,418

Dogfight: How Apple and Google Went to War and Started a Revolution
by Fred Vogelstein
Published 12 Nov 2013

By 2010, however, big commercial customers such as the City of New York started using Google’s applications to force Microsoft to lower its Office prices. And Schmidt denied that Google was building its own Internet browser—to compete with Microsoft, Apple, and its open-source partner Mozilla, which makes Firefox. Then, in 2008, it released Chrome, its own Internet browser. Schmidt said, quite reasonably, that over time it had become clear to him that a company such as Google that depended on Internet-browser access for people to use its products should not cede control of the browser to anyone. But it would have seemed less Machiavellian if he hadn’t been denying Google’s plans so forcefully for so long.

That it looked like a large iPhone was initially something to be criticized. It turned out that the bigger screen, as simple a tweak as this was, was exactly what made it such a new and powerful device. The importance of screen size seemed so obvious to Joe Hewitt—who had written the Facebook iPhone app in 2007 and had helped conceive and build the Firefox Internet browser in 2002—that the day after the iPad’s unveiling he wrote a nine-hundred-word blog post saying the iPad was the most important thing Apple had ever done. The year before, Hewitt had been fiercely critical of Apple for its restrictive app store policies. But his years of developing software for many different devices and platforms told him that the iPad had solved a fundamental problem.

Diehr DigiCash Digital Equipment Diller, Barry Discovery Channel Disney doctors Doerr, John Doll, Evan Doren, Kevin DoubleClick Duarte, Matias DVDs DVRs Dynabook eBay e-books and -readers; Brightline; iBooks; iPad; Kindle Economist, The, magazine Eisner, Michael Ellison, Larry Emanuel, Ari entertainment industry: Silicon Valley and; see also movies; music; television EO tablet computer ESPN Eustace, Alan Evo 4G by HTC Excite Exxon Facebook; iPhone and Fadell, Tony; Apple joined by; Forstall and; Forstall compared with; iPod and; Jobs and; Nest company of FCC Fiore, Mark Firefox Internet browser Flash by Adobe flight control Flipboard Ford, Henry Forstall, Scott; in Apple v. Samsung trial; Fadell and; Fadell compared with; Grignon and; iPad and; Jobs and; in meeting with Jobs and Google executives on Android; stomach ailment of Fortune magazine Fortune 500 companies Fox network Foxconn Galaxy smartphone Game of Thrones Ganatra, Nitin Gates, Bill; convergence and; and Google’s hiring of engineers away from Microsoft; iPad and; iPhone and; Jobs and; Macintosh and; tablets and Genentech General Magic General Motors (GM) Gizmodo Gmail GO Corp.

pages: 286 words: 87,401

Blitzscaling: The Lightning-Fast Path to Building Massively Valuable Companies
by Reid Hoffman and Chris Yeh
Published 14 Apr 2018

To go from “yet another search engine” to “the last search engine” (as my old friend Peter Thiel put it in his 2014 Stanford lecture “Competition Is for Losers”), Google had to leverage a series of existing networks and partners. For example, Google’s bold deal to power AOL’s search results helped the company grow its search business by orders of magnitude. Later, other distribution bets like the Firefox partnership, the acquisition of Android, and the creation of the Chrome browser all paid off and helped maintain Google’s distribution dominance. Google also found ways to leverage small partners as well, with its AdSense program for Web publishers feeding more raw traffic into the AdWords machine.

This purchase intent proved to be far more valuable per unit of traffic, enabling Google to earn fat margins. Google has since used the financial power of its gross margins to place big bets that other companies might shy away from, such as investing in Android and Chrome, two products that were going up against dominant competitors (Apple’s iOS in mobile phone software and Microsoft and Firefox in Web browsers). Google has also used its margins to fund radical experiments like X (formerly Google X) and Waymo (self-driving cars). These bets may or may not pay off, but even if they fail, Google’s margins give it the ability to recover quickly and keep going. Network Effects Google has leveraged network effects quite a bit in its major business lines, though not, ironically enough, in its core search product!

No matter how potentially effective your “product”—whether that product is a social service, a political candidate, or anything else—is at improving the lives of those who adopt it, its impact is directly proportional to your ability to execute an effective distribution strategy. The Mozilla Foundation wasn’t the only open-source organization to create a Web browser (Firefox), but it was the only nonprofit organization that was able to leverage distribution to achieve a leading market share. In 2008, Barack Obama won the presidency in part because his campaign was the first to leverage the distribution possibilities of the Internet, including leveraging existing grassroots networks and achieving virality via social media.

pages: 302 words: 85,877

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

In 2006, Hacktivismo and a Texas cDc Ninja Strike Force member named Steve Topletz released the most popular of the group’s anonymity tools, another try at a protected browser, called Xerobank, or xB. This one was designed to work with Tor, which at that point allowed for computer-to-computer connections, email, and other services but not easy web surfing. This browser was a modified version of Firefox that could work from a USB stick. That meant it could go with a user to a public computer and leave no trace. Once again, by publicly working on a safe browser, Hacktivismo prodded Tor along. Tor released its own browser as part of a bundle, making it far more usable. By 2006, more users were relying on Tor to evade censorship, not to stay anonymous, and China had become the third-largest market, with about ten thousand daily users.

Mudge and his wife Sarah’s Cyber Independent Testing Lab functioned like the labs at Consumer Reports, scanning for the digital equivalent of automatic brakes and seat belts, all without needing access to the source code. With money from DARPA, the Ford Foundation, and others, CITL showed that on a Mac’s then-current operating system, hackers would have a harder time attacking Google’s Chrome browser than Safari or Firefox. Mudge aimed to make a more detailed version of such scores into something like the mandatory nutritional labels on food, telling buyers enough for them to make informed choices that reflect their priorities. Grappling with kidney cancer that brought back his post-traumatic stress disorder, Mudge saw the project through its first year, then handed day-to-day control to Sarah, a fellow veteran of federal contractor BBN.

See Corley, Eric encryption, 19, 66, 78–79, 100, 180, 197, 210 of email, 100, 162, 171–172 end-to-end, 152, 171–172, 193 Encyclopedia Dramatica, 148 Endgame, 121, 177 Enhanced 911 services, 26–28, 114 Erdogan, Recep, 168–169 espionage, 48, 132–135, 154, 181 international, 120, 137, 170–173, 198 by US government, 113–114, 119, 139, 161–162, 176 Esquire (magazine), 18 ethics, 3, 60, 113, 120, 133–134, 146–147, 172 personal codes of, 55, 119, 122–123, 125, 136, 209–212 professional ethics, 200–201, 211 social responsibility, 196, 211 See also moral issues exploits, 33, 57, 78, 119, 122, 133, 164, 167 export controls, 78–79, 155, 164 Facebook, 4–6, 152, 157–158, 190–196, 198–201, 211 Fairbanks, Cassandra, 149 Fanning, Shawn, 43, 47 Farr, Nick, 156–157 FBI, 27–30, 51, 64, 68, 74–75, 78, 148 iPhone access, 122, 165–166, 171–172, 211–212 Russian hacking, 176, 191 See also law enforcement; United States government Fielding, Noel, 147 Fierstein, Alan (Al Bell), 19 Financial Times (newspaper), 147 FinFisher (FinSpy), 163–165 Firefox, 130, 182 firewalls, 84, 104–105, 127, 149 Fisher, Phineas (pseudonym), 165–170, 171, 172 FlexiSpy, 165–166 Ford, Luke, 68 Ford Foundation, 133, 182 4chan, 63, 145–146, 193–194 Fox News, 199–200 Franken Gibe. See Brown, Bill Frauenfelder, Mark, 60 Freedom of the Press Foundation, 150–151, 155 freedoms, protection of of opinion and expression, 101–102, 172 of the press, 19, 27, 150–151, 155 of speech, 146, 157, 171 from unreasonable search and seizure, 27 Freegate, 139 Freitas, Nathan, 130–131, 136 FreqOut.

pages: 629 words: 83,362

Programming TypeScript
by Boris Cherny
Published 16 Apr 2019

Compiling and running TypeScript Steps 1–3 are done by TSC, and steps 4–6 are done by the JavaScript runtime that lives in your browser, NodeJS, or whatever JavaScript engine you’re using. Note JavaScript compilers and runtimes tend to be smushed into a single program called an engine; as a programmer, this is what you’ll normally interact with. It’s how V8 (the engine powering NodeJS, Chrome, and Opera), SpiderMonkey (Firefox), JSCore (Safari), and Chakra (Edge) work, and it’s what gives JavaScript the appearance of being an interpreted language. In this process, steps 1–2 use your program’s types; step 3 does not. That’s worth reiterating: when TSC compiles your code from TypeScript to JavaScript, it won’t look at your types.

If you then release your backend JavaScript program as an open source project, you don’t know which JavaScript version will be supported by your consumers’ JavaScript platforms. The best you can do in a NodeJS environment is declare a range of supported NodeJS versions, but in a browser environment you’re out of luck. If you run your JavaScript in a browser, you have no idea which browser people will use to run it—the latest Chrome, Firefox, or Edge that supports most modern JavaScript features, a slightly outdated version of one of those browsers that’s missing some bleeding-edge functionality, an antiquated browser like Internet Explorer 8, or an embedded browser like the one that runs on the PlayStation 4 in your garage. The best you can do is define a minimum set of features that people’s browsers need to support to run your application, ship polyfills for as many of those features as you can, and try to detect when users are on really old browsers that your app won’t run on and show them a message saying that they need to upgrade.

TSC does not transpile Version Feature ES5 Object getters/setters ES2015 Regex y and u flags ES2018 Regex s flag ESNext BigInt (123n) To set the transpilation target, pop open your tsconfig.json and set the target field to: es3 for ECMAScript 3 es5 for ECMAScript 5 (this is a good default if you’re not sure what to use) es6 or es2015 for ECMAScript 2015 es2016 for ECMAScript 2016 es2017 for ECMAScript 2017 es2018 for ECMAScript 2018 esnext for whatever the most recent ECMAScript revision is For example, to compile to ES5: { "compilerOptions": { "target": "es5" } } lib As I mentioned, there’s one hitch with transpiling your code to older JavaScript versions: while most language features can be safely transpiled (let to var, class to function), you still need to polyfill functionality yourself if your target environment doesn’t support a newer library feature. Some examples are utilities like Promise and Reflect, and data structures like Map, Set, and Symbol. When targeting a bleeding-edge environment like the latest Chrome, Firefox, or Edge, you usually won’t need any polyfills; but if you’re targeting browsers a few versions back—or most NodeJS environments—you will need to polyfill missing features. Thankfully, you won’t need to write polyfills yourself. Instead, you can install them from a popular polyfill library like core-js, or add polyfills to your code automatically by running your typechecked TypeScript code through Babel with @babel/polyfill.

pages: 398 words: 120,801

Little Brother
by Cory Doctorow
Published 29 Apr 2008

There are a lot of programs that Vista4Schools doesn't want you to be able to shut down -- keyloggers, censorware -- and these programs run in a special mode that makes them invisible to the system. You can't quit them because you can't even see they're there. Any program whose name starts with $SYS$ is invisible to the operating system. It doesn't show up on listings of the hard drive, nor in the process monitor. So my copy of Firefox was called $SYS$Firefox -- and as I launched it, it became invisible to Windows, and so invisible to the network's snoopware. Now I had an indie browser running, I needed an indie network connection. The school's network logged every click in and out of the system, which was bad news if you were planning on surfing over to the Harajuku Fun Madness site for some extra-curricular fun.

I'd been a little hyper-focused on the escape, and hadn't bothered to figure out where we were escaping to. I turned to my SchoolBook and hit the keyboard. The web-browser we used was supplied with the machine. It was a locked-down spyware version of Internet Explorer, Microsoft's crashware turd that no one under the age of 40 used voluntarily. I had a copy of Firefox on the USB drive built into my watch, but that wasn't enough -- the SchoolBook ran Windows Vista4Schools, an antique operating system designed to give school administrators the illusion that they controlled the programs their students could run. But Vista4Schools is its own worst enemy. There are a lot of programs that Vista4Schools doesn't want you to be able to shut down -- keyloggers, censorware -- and these programs run in a special mode that makes them invisible to the system.

There are millions of nodes -- the program was set up by the US Office of Naval Research to help their people get around the censorware in countries like Syria and China, which means that it's perfectly designed for operating in the confines of an average American high school. TOR works because the school has a finite blacklist of naughty addresses we aren't allowed to visit, and the addresses of the nodes change all the time -- no way could the school keep track of them all. Firefox and TOR together made me into the invisible man, impervious to Board of Ed snooping, free to check out the Harajuku FM site and see what was up. There it was, a new clue. Like all Harajuku Fun Madness clues, it had a physical, online and mental component. The online component was a puzzle you had to solve, one that required you to research the answers to a bunch of obscure questions.

pages: 960 words: 125,049

Mastering Ethereum: Building Smart Contracts and DApps
by Andreas M. Antonopoulos and Gavin Wood Ph. D.
Published 23 Dec 2018

Available for iOS and Android. Browser Wallets A variety of wallets and DApp browsers are available as plug-ins or extensions of web browsers such as Chrome and Firefox. These are remote clients that run inside your browser. Some of the more popular ones are MetaMask, Jaxx, MyEtherWallet/MyCrypto, and Mist. MetaMask MetaMask, introduced in Chapter 2, is a versatile browser-based wallet, RPC client, and basic contract explorer. It is available on Chrome, Firefox, Opera, and Brave Browser. Unlike other browser wallets, MetaMask injects a web3 instance into the browser JavaScript context, acting as an RPC client that connects to a variety of Ethereum blockchains (mainnet, Ropsten testnet, Kovan testnet, local RPC node, etc.).

Fortunately, in general, the more popular a wallet application is, the more trustworthy it is likely to be. Nevertheless, it is good practice to avoid “putting all your eggs in one basket” and have your Ethereum accounts spread across a couple of wallets. The following are some good starter wallets: MetaMask MetaMask is a browser extension wallet that runs in your browser (Chrome, Firefox, Opera, or Brave Browser). It is easy to use and convenient for testing, as it is able to connect to a variety of Ethereum nodes and test blockchains. MetaMask is a web-based wallet. Jaxx Jaxx is a multiplatform and multicurrency wallet that runs on a variety of operating systems, including Android, iOS, Windows, macOS, and Linux.

The ability to inject a web3 instance and act as a gateway to external RPC services makes MetaMask a very powerful tool for developers and users alike. It can be combined, for example, with MyEtherWallet or MyCrypto, acting as a web3 provider and RPC gateway for those tools. Jaxx Jaxx, which was introduced as a mobile wallet in the previous section, is also available as a Chrome and Firefox extension and as a desktop wallet. MyEtherWallet (MEW) MyEtherWallet is a browser-based JavaScript remote client that offers: A software wallet running in JavaScript A bridge to popular hardware wallets such as the Trezor and Ledger A web3 interface that can connect to a web3 instance injected by another client (e.g., MetaMask) An RPC client that can connect to an Ethereum full client A basic interface that can interact with smart contracts, given a contract’s address and application binary interface (ABI) MyEtherWallet is very useful for testing and as an interface to hardware wallets.

pages: 184 words: 46,395

The Choice Factory: 25 Behavioural Biases That Influence What We Buy
by Richard Shotton
Published 12 Feb 2018

He analysed data from 50,000 people who his recruitment software company had helped find jobs and discovered that browser choice accurately predicted their performance. People who opted for a non-default browser, like Chrome or Firefox, lasted 15% longer in their jobs than those with a default browser, like Internet Explorer. Housman attributed the difference to the fact that choosing Chrome or Firefox was an active decision – those workers were taking the effort to find a better browsing solution than the one pre-installed on their PC. That identified them as someone who wasn’t content with the default. What’s the marketing application?

Making Globalization Work
by Joseph E. Stiglitz
Published 16 Sep 2006

The monopoly profits arising from intellectual property provide an alternative source of funding, one that has some large costs for society, which have to be weighed against the benefits. 22.The Firefox browser was written as part of the Mozilla project. The project produces open source software and is supported by the Mozilla Foundation, which received start-up support from AOL’s Netscape division. (More information available at www.mozilla.org.) As of March 2006, eighteen months after its launch, Mozilla Firefox was estimated to have 10 percent of the market. See Antony Savvas, “Firefox Reaches One in Ten,” ComputerWeekly.com, April 5, 2006, at www.computerweekly.com/Articles/2006/04/05/215224/Firefoxreachesonein ten.htm. 23.President Jefferson, who as secretary of state was one of the original drafters of the 1793 Patent Act, envisioned patents being granted only to physical, useful inventions.

Everyone who participates is required to accept that it is an open source, a dynamic program that is being constantly improved by thousands of users. A free, viable alternative to Microsoft’s operating system, it is expanding rapidly, especially in developing countries. An offshoot of Linux, the browser Mozilla Firefox, has been growing even faster. Not only is it free, but it seems to be less subject to the security problems that have plagued Microsoft’s Internet browser.22 The worry is that inevitably Linux will encroach on one of the hundreds of thousands of patents that have been granted, and the holder of the patent will attempt to hold the entire Linux system up for ransom.

Nagios: System and Network Monitoring
by Wolfgang Barth
Published 25 May 2006

The definition of a corresponding command object and its use as a service is no different from that based on other plugins; page 102 shows an example. 6.4.3 Monitoring Web proxies Proxy test with check_http A proxy such as Squid can also be tested with check_http, but this assumes that you have some knowledge of how a browser makes contact with the proxy. It does this in the form of an HTTP header: GET http://www.swobspace.de/ HTTP/1.1 Host: www.swobspace.de User-Agent: Mozilla/5.0 (X11; U; Linux i686; de-DE; rv:1.7.5) Gecko/20041108 Firefox/1.0 9 This can be checked in the shell with echo $?. 101 6 Plugins for Network Services Accept: text/xml,application/xml,application/xhtml+xml,... Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-15,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Proxy-Connection: keep-alive Pragma: no-cache Cache-Control: no-cache The decisive entries are printed in bold type.

A VRML-capable browser is necessary for the display.10 Although the original documentation11 provides links to the corresponding plug-ins, two of them are out 10 11 The Virtual Reality Markup Language (VRML), version 2.0/1997, is used to describe the virtual “space.” /usr/local/nagios/share/docs/cgis.html#statuswrl_cgi 293 16 The Web Interface of date, and only Cortona12 could be reached at the time of going to press. This plugin does not work under Linux, however; in Windows it works with Internet Explorer, and also with Netscape, Mozilla, and Firefox.13 Of the VRML plugins for Linux (three well-known projects are OpenVRML,14 freeWRL,15 and vrwave16 ) the standard Linux distributions usually do not include a finished package, so you are dependent on external packages. There are binary RPM packages for OpenVRML, but the current (at the time of going to press) version 0.15.9 needs the very newest libc and cannot therefore even be installed in SuSE Linux 9.3.

There are binary RPM packages for OpenVRML, but the current (at the time of going to press) version 0.15.9 needs the very newest libc and cannot therefore even be installed in SuSE Linux 9.3. You should not try compiling the software yourself unless you are an experienced system administrator or software developer: there are a large number of pitfalls. If you have never worked with the Java compiler before and have not compiled complex software packages such as Mozilla or Firefox yourself, then you should leave it alone. Figure 16.28: This picture marks the beginning of the tour through your own network But all of this is no reason to despair, since the use of 3D navigation is questionable anyway, especially as the 2D view of the normal status map displays all the information required, and displaying simple flat graphics in the browser takes up considerably less time than CPU-intensive 3D rendering.

pages: 287 words: 92,194

Sex Power Money
by Sara Pascoe
Published 26 Aug 2019

I sat on a sofa across from where Adam was already snoring and opened his computer. As I attached headphones, the desktop loaded, replete with just two icons. One was the browser Firefox chasing his tail. The other was a close-up of male genitals, squashed into a square and competing with the entire internet for my attention. That was it, not even a shortcut to iTunes. This was all that Adam needed at his fingertips, a host browser and a cube of testicles. Which one do you think I clicked? BALLS, you followed your heart and it led to a scrotum as always. FIREFOX was the one you didn’t click on. You’re correct, otherwise this would be a boring story. ‘Hey guys, a decade ago I saw a weird icon on my boyfriend’s computer, then I watched two hours of Curb Your Enthusiasm, bye.’

There was some mild farce as I hurried the disc back in and it unhelpfully restarted. I did not have a useful thought. I knew I was encroaching on Adam’s private business. I was expecting him to wake up and shout at me. I tried to correct everything by doing what I should’ve done in the first place. I clicked on Firefox and OH DEAR. The page that loaded was the one that’d been visited most recently. This website was a menu of sex workers and the services they offered. The agency or collective was called Shemale Escorts and Ladyboys. These terms have historically been used in a catch-all, non-specific way to refer to people who might be transitioning, transitioned, transvestite, transsexual, a drag queen or even hermaphrodite.

The Internet Trap: How the Digital Economy Builds Monopolies and Undermines Democracy
by Matthew Hindman
Published 24 Sep 2018

As Hölzle puts it, “We have one simple rule to support this Gospel of Speed: Don’t launch features that slow us down. You might invent a great new feature, but if it slows down search, you either have to forget it, fix it, or come up with another change that more than offsets the slowdown.”36 Google has even created its own web browser, Chrome, which has surpassed Firefox and Microsoft Edge (previously Internet Explorer) in market share. Part of the motivation was to collect more user information for A Tilted Playing Field • 25 targeting ads and content. But according to Google’s public statements, the single biggest reason for building Chrome was, again, speed—particularly faster speed with complex interactive websites.

Robert, 86, 199n15 fiber optic cables, 2, 22 Filter Bubble, The (Pariser), 39, 48, 52–53 filters: algorithmic, 39, 43, 48, 54, 60; collaborative, 43, 54–55; nature of internet and, 170, 177; personalization and, 39, 43, 48, 52–55, 60; root mean-squared error (RMSE) and, 43–44, 47–48, 50; tilted playing field and, 19. See also recommendation systems Financial Times, 138 Firefox, 24 firewalls, 177 Forbes, 36 Fox News, 32, 72, 75 Friedman, Milton, 167 Fullerton, Lindsay, 31 Gannett, 139 Gates, Bill, 203n23 Gawker, 168 GCHQ, 176 General Electric, 9, 86 General Motors, 68 Gmail, 21, 23 Goldberg, Adam, 35 Google: Accelerated Mobile Platform (AMP) and, 80, 144, 179; advantages in computing scale and, 23–24; advertising and, 68–69; Android and, 18, 27, 143, 168; antitrust and, 173–75; App Engine/Compute Engine and, 153; attention economy and, 1–4, 8–9, 12, 193n1; Big Table and, 21; Borg and, 21, 23; branding and, 31–32; Caffeine and, 21; 230 • Index Google (cont.)

ACLU, 6 reporters, 10, 78, 132, 135, 145, 149–50, 156–61 Restricted Boltzmann Machine, 46 Reuters, 149 revenue: advertising and, 102 (see also advertising); attention economy and, 2–4, 8, 10–11; audience reach and, 87, 104, 106–11, 114–18, 121, 129, 134, 169, 186–89; Bing and, 24, 31, 70; concentration of, 2–4, 8, 68, 171, 179; economic geography and, 63, 65–68, 73–75, 79; experiments and, 24; Facebook and, 8, 68, 79, 143, 173, 179; formal model for, 181–84; Google and, 2, 8, 28, 31, 68, 79, 143, 173–74, 179; methodology and, 181–83; models and, 181–84; nature of internet and, 163, 165, 171, 173–74, 179; news and, 103, 109, 129, 132–33, 138–47, 157, 160, 201n8; newspapers and, 10–11, 65, 68, 129, 132, 138–43, 146–47, 157, 160, 179; page views and, 24, 87, 106, 108–18, 121, 125–29, 151, 157, 160–61, 188–89, 200n18; paywalls and, 107, 109, 132, 137–40, 160; personalization and, 60; profit and, 7, 73–77, 81, 103, 118, 132–33, 137, 140–42, 146–47, 160, 163, 170, 173, 182–83, 198, 203n28; subscriptions and, 4, 17, 43–44, 48, 52, 54, 65, 67, 138–39, 146–47, 151, 153, 157, 181, 187, 190, 201n8; tilted playing field and, 20, 24, 26, 28–29, 31, 194n39; traffic and, 63, 65–68, 73–75, 79 Reynolds Journalism Institute, 119 Ricardo, David, 62 Ricketts, Joe, 141 • 237 ridge regression, 46 Rockefeller, John D., Jr., 1 root mean-squared error (RMSE), 43–44, 47–48, 50 Rosen, Jay, 12 Rosenstiel, Tom, 160 routers, 22 Russia, 177–78 Safari, 145, 176 Sawzall, 27 Schifferes, Steve, 39 Schmidt, Eric, 37, 147 Schultz, Carsten, 31 Schumpter, Joseph, 84, 162, 164 search costs, 8; algorithms and, 41–43; auctions and, 42; black box problem and, 52; economic geography and, 63, 72–74; markets and, 41–42; methodology and, 181–82; nature of internet and, 168; personalization and, 30, 34, 37, 41–43; price dispersion and, 42; recommendation systems and, 49; time and, 42 search engines: attention economy and, 1–3, 8, 13; Chrome and, 24–25, 145; competition and, 1; digital content production and, 79–80; economic geography and, 64, 79–81; Edge Internet and, 24; Firefox and, 24; hackers and, 177–78; news and, 168, 174, 177; overlap and, 31–32; page views and, 24, 87, 106, 108–18, 121, 125–29, 151, 157, 160–61, 188–89, 200n18; Safari and, 145, 176; speed and, 1–2, 21–25, 30, 54, 81–82, 147–48, 166–67, 170, 190; tilted playing field and, 17, 24, 30–32; traffic and, 101.

pages: 153 words: 52,175

Bit Literacy: Productivity in the Age of Information and E-mail Overload
by Mark Hurst
Published 15 Jun 2007

Setting up these keystrokes is easy with a tool like QuicKeys; the only other requirement is committing to learning and using these keystrokes instead of the mouse. I’ve set up my computer (and all my employees’ computers) to use the following keystrokes for the most common applications: F6: word processor (on the Macs at my company, it’s AppleWorks) F7: Web browser (Safari or Firefox) F8: e-mail (Apple Mail or Mailsmith) F9: text editor (TextWrangler) F10: calendar (Now Up-to-Date) On a Windows computer the applications would be different—the word processor would most likely be Word, and the e-mail and calendar would probably be Outlook—but the keystrokes could be the same.

Paper will always be useful in some situations, but bit-literate users will avoid it when possible. 53 “Open Source Spying,” by Clive Thompson, the New York Times Magazine, December 3, 2006. 54 Popup text from Microsoft Word 2004 for Mac, version 11.0. 55 The SANS Internet Storm Center monitors the average "survival time" of a Windows PC at http://isc.sans.org/survivaltime.html. 56 The name was coined by Helen Moriarty, mother of my business partner Phil Terry, back in 1999. 57 Here's most of what we add: QuicKeys for one-touch access to applications and the team contacts file; Default Folder for one-touch folder access; Typinator or TypeIt4Me as the bit lever; TextWrangler as the text editor; AppleWorks as the word processor and wireframing tool; FileMaker for databases; Now Up-to-Date for the calendar; Firefox or Safari as the Web browser; a Gootodo.com account for the todo list; Mailsmith for the e-mail program; Microsoft Office for compatibility to client files; and for really dedicated learners, the Dvorak keymap for the keyboard. We also add Classic Menu and ASM for the upper-left and upper-right menus that were so effective in OS9 but disappeared in OSX.

pages: 309 words: 54,839

Attack of the 50 Foot Blockchain: Bitcoin, Blockchain, Ethereum & Smart Contracts
by David Gerard
Published 23 Jul 2017

When they temporarily switched off the option for maintenance in September 2014, they received “about 30 emails from people asking for it to be reinstalled, which is odd because that’s more people than have actually used the feature.”220 Automattic, the company that develops blogging software WordPress, offered Bitcoin in November 2012 to allow paid wordpress.com upgrades for users without access to PayPal or credit cards. They withdrew the option in February 2015, noting it was only used approximately twice a week.221 The Mozilla Foundation, the charity that develops the Firefox web browser, began accepting Bitcoin donations for their end of 2014 campaign. This wasn’t good enough for the advocates: they demanded Mozilla include Bitcoin prominently on the primary donation page! With millions of page views, it was quite easy to run an A/B test, where you serve a different version of the page to a fraction of the viewers and can directly compare the effects of the two versions.

Strangelove 101 Dread Pirate Roberts 49 DRM 123, 124, 127, 135, 136 e-Gold 18, 62, 72 Early, Steve 78 economies of scale 25, 58 Economist, The 37, 66 eDonkey 45 EITC 68 Electrum wallet 66 EOS 98 ERC-20 97 ether 94 Ethereum 72, 88, 94, 106, 116, 129, 136 Ethereum Classic 110 Ethereum Foundation 109, 136 Ethereum Virtual Machine 106 F-Secure 73 Facebook 113 Fair Music: Transparency and Payment Flows in the Music Industry 128 Falkvinge, Rick 38 Far Wilds, The 45 Fast Internet Bitcoin Relay Engine 58 FBI MoneyPak 73 Featured Artists Coalition 130 fees 26, 69 FIBRE 58 Fields Medal 96 Finney, Hal 20, 31, 59 Firefox 76 Folding@Home 91 Foldingcoin 91 Force, Carl Mark IV 53 Forrest, Katherine B. 53 FPGA 56 Francis, Ryan 93 Frank, Anne 48 Free Talk Live 37, 50 FreeRoss.org 53 Freicoin 91 Frosty 51 Frou Frou 129 Funke Kupper, Elmer 121 Fusion 65 Future of Bitcoin Conference 68 Garzik, Jeff 50 gas 94 Gawker 37, 50 GDAX 82 Gentle, Ryan 93 GHash.io 58 Gibson, William 19 Gini coefficient 30 Git 112, 122 Gizmodo 64 Global Repertoire Database 128, 134 Gnosis 98 gold bug 20 gold standard 20 Golem 98 Golumbia, David 141 Goodman, Leah McGrath 64 Google 127 GovernMental 107 GPU 55 GQ 66 Great Depression 20 Greece 32 Green, Alex 93 Greenberg, Andy 64 Grigg, Ian 62 Gupta, Vinay 129 halting problem 110 hash 13 Hashcash 19 Hearn, Mike 65 high-yield investment program 38, 40 Hoppe, Hans-Herman 24 hot wallet 12 Hotwire PE 63 Huobi 82 Hyperledger 113, 121, 122 IBM 113, 115, 121, 122 IBM Blockchain 122 ICO 88, 95, 97, 139 Iconomi 98 immutability 11, 105 Imogen Heap 129 Individual Pubs 78 Industrialisation of Distributed Ledger Technology in Banking and Financial Services 115 Initial Coin Offering 88, 97 Initial Crowdfunding Offering 97 Intel 123 Intel® Software Guard Extensions™ 123 InterPlanetary File System 131, 135 IPFS 131 iTunes 129. 130, 131 Jamaican bobsled team 93 JASRAC 126 JavaScript 107 John Birch Society 17, 21 Kaminska, Izabella 141 Karpelès, Mark 45, 52, 87 Kennedy, Ryan 93 Kenya 93 key 12 King of the Ether 106 Kleiman, Dave 64 Know Your Customer 81 Kobalt 126 Kraken 44 Kurzweil, Ray 137 KYC/AML 81, 87 Larimer, Danny 98 Ledger Labs Inc 86 Lestak, Robert 76 Levine, Matt 104, 117, 141 Li, Xiaolai 99 libertarianism 17 Liberty Reserve 18, 72 Lightning Network 28, 70 Litecoin 32, 92 LocalBitcoins 32, 81, 93 log.txt 51 London Review of Books 64 Lubin, Joseph 136 LulzSec 62 M-Pesa 29 MacGregor, Robert 63 Mackay, Charles 35, 141 Madoff, Bernie 38 Magic: The Gathering Online Exchange 45 MagicalTux 45 Making Blockchain Ready for Business 113 Malmi, Martti 35, 45 margin trading 42, 83 Markus bot 82 Mason, Nick 132 Mastercard 36 Masters, Blythe 122 Matonis, Jon 66 Matthews, Stefan 63 May, Tim 19 McCaleb, Jed 45 Meharry, Mark 125 Memory Dealers 37 mempool 70 Merkle tree 13, 112 micropayment 26 Microsoft 95, 107, 122 miner 13 mining 14, 55 Mintpal 93 Mises, Ludwig von 23, 49 mixer 26, 84 MMM 82 Mochizuki, Shinichi 59 Monero 72, 74 MoneyPak 73 Moolah 93 Mozilla 76 MP3 127 Mr.

pages: 960 words: 140,978

Android Cookbook
by Ian F. Darwin
Published 9 Apr 2012

. * The appropriate angles are calculated */ var pie1 = new RGraph.Pie('pie1', [41,37,16,3,3]); // Create the pie object pie1.Set('chart.labels', ['MSIE 7 (41%)', 'MSIE 6 (37%)', 'Firefox (16%)', 'Safari (3%)', 'Other (3%)']); pie1.Set('chart.gutter', 30); pie1.Set('chart.title', "Browsers (tooltips, context, zoom)"); pie1.Set('chart.shadow', false); pie1.Set('chart.tooltips.effect', 'contract'); pie1.Set('chart.tooltips', [ 'Internet Explorer 7 (41%)', 'Internet Explorer 6 (37%)', 'Mozilla Firefox (16%)', 'Apple Safari (3%)', 'Other (3%)' ] ); pie1.Set('chart.highlight.style', '3d'); // 2d or 3d; defaults to 3d anyway if (!RGraph.isIE8()) { pie1.Set('chart.zoom.hdir', 'center'); pie1.Set('chart.zoom.vdir', 'up'); pie1.Set('chart.labels.sticks', true); pie1.Set('chart.labels.sticks.color', '#aaa'); pie1.Set('chart.contextmenu', [['Zoom in', RGraph.Zoom]]); } pie1.Set('chart.linewidth', 5); pie1.Set('chart.labels.sticks', true); pie1.Set('chart.strokestyle', 'white'); pie1.Draw(); var pie2 = new RGraph.Pie('pie2', [2,29,45,17,7]); // Create the pie object pie2.Set('chart.gutter', 45); pie2.Set('chart.title', "Some data (context, annotatable)"); pie2.Set('chart.linewidth', 1); pie2.Set('chart.strokestyle', '#333'); pie2.Set('chart.shadow', true); pie2.Set('chart.shadow.blur', 3); pie2.Set('chart.shadow.offsetx', 3); pie2.Set('chart.shadow.offsety', 3); pie2.Set('chart.shadow.color', 'rgba(0,0,0,0.5)'); pie2.Set('chart.colors', ['red', 'pink', '#6f6', 'blue', 'yellow']); pie2.Set('chart.contextmenu', [['Clear', function () {RGraph.Clear(pie2.canvas); pie2.Draw();}]]); pie2.Set('chart.key', ['John (2%)', 'Richard (29%)', 'Fred (45%)', 'Brian (17%)', 'Peter (7%)']); pie2.Set('chart.key.background', 'white'); pie2.Set('chart.key.shadow', true); pie2.Set('chart.annotatable', true); pie2.Set('chart.align', 'left'); pie2.Draw(); } </script> </head> <body> <div style="text-align: center"> <canvas id="pie1" width="420" height="300">[No canvas support]</canvas> <canvas id="pie2" width="440" height="300">[No canvas support]</canvas> </div> </body> </html> Figure 6-21.

Those who do not want to follow the tutorial can obtain the image from http://openclipart.org, a great source (more than 33,000) of free images (see Figure 6-7). Search for “coffee” and you will see various coffee-related images, including the one shown in Figure 6-6, uploaded by this recipe’s author. Click on the image, select the View SVG button, and use the browser’s File→Save Page As (Firefox) or File→Save As (Internet Explorer) menu. Figure 6-7. Searching for the perfect cup The four required icon sizes are generated from the image using the Inkscape Export Bitmap option. The image is opened and correctly proportioned for the export. This can be done for any image designed or opened in Inkscape.

Clip art search results I chose the graphic titled “A simple globe” as the basis for the icon from the second page of search results. Click on the graphic to bring up its details. You can save the graphic to the local machine by clicking on it (or click on the View SVG button) and using the browser’s File menu. In Firefox, select Save Page As and select its location. In Internet Explorer, select “Save as…”; alternatively, both browsers support Ctrl-S. This will save the file as a vector file, which, as we discussed earlier, is not a good format for an icon. Fortunately, the image’s Open Clip Art page also has an option to obtain the file as a PNG file.

pages: 629 words: 142,393

The Future of the Internet: And How to Stop It
by Jonathan Zittrain
Published 27 May 2009

BEYOND BUGS: THE GENERATIVE DILEMMA The burgeoning gray zone of software explains why the most common responses to the security problem cannot solve it. Many technologically savvy people think that bad code is simply a Microsoft Windows issue. They believe that the Windows OS and the Internet Explorer browser are particularly poorly designed, and that “better” counterparts (Linux and Mac OS, or the Firefox and Opera browsers) can help protect a user. This is not much added protection. Not only do these alternative OSes and browsers have their own vulnerabilities, but the fundamental problem is that the point of a PC—regardless of its OS—is that its users can easily reconfigure it to run new software from anywhere.

Those who offer open APIs on the Net in an attempt to harness the generative cycle ought to remain application-neutral after their efforts have succeeded, so all those who have built on top of their interfaces can continue to do so on equal terms. If Microsoft retroactively changed Windows to prevent WordPerfect or Firefox from running, it would answer under the antitrust laws and perhaps also in tort for intentional interference with the relationship between the independent software makers and their consumers.39 Similarly, providers of open APIs to their services can be required to commit to neutral offerings of them, at least when they have reached a position of market dominance for that particular service.

See Netscape Public License: Version 1.0, http://www.mozilla.org/MPL/NPL-1.0.html (last visited May 16, 2007); see also NETSCAPE, NETSCAPE COMMUNICATOR OPEN SOURCE CODE WHITE PAPER (2000), available at http://wp.netscape.com/ browsers/future/whitepaper.html. This process marked the beginning of the Mozilla open source project. Today, the commercial imperative no longer exists; however, one of the most common Internet browsers, Mozilla Firefox, and a leading e-mail client, Mozilla Thunderbird, have their genesis in this process. Another example is OpenOfEce.org, a set of freely available Microsoft Office—style applications, which is based on proprietary code released by its owners, Sun. Users continue to develop OpenOfEce.org, which is freely available, while Sun markets the “StarOffice Office Suite,” a “professional office productivity solution based on OpenOfEce.org that provides enterprise value-add components including administration tools, commercial quality spellchecker and relational database.”

pages: 459 words: 103,153

Adapt: Why Success Always Starts With Failure
by Tim Harford
Published 1 Jun 2011

Seven The adapti ve organisation ‘One doesn’t have to be a Marxist to be awed by the scale and success of early-20th-century efforts to transform strong-willed human beings into docile employees.’ – Gary Hamel ‘Your first try will be wrong. Budget and design for it.’ – Aza Raskin, designer at Firefox 1 Adapting as we go along When John Endler first studied guppies in the streams of Venezuela and Trinidad in the 1970s, he noticed an intriguing pattern: guppies in the pools at the bottom of waterfalls tended to be rather drab, while those in pools further upsream were eye-catchingly gaudy.

Peer monitoring is closely associated with the virtual world: it’s the fundamental building block of Google’s search algorithm (giving weight to how popular a site is with other sites), phenomena like eBay (which relies on buyers and sellers rating each other’s reliability) and Wikipedia (in which anyone can edit anyone else’s articles), and the open-source software movement which has delivered such successes as Firefox and Apache. But as Timpson shows, it’s applicable far behind the cutting edge of crowd-sourced technology. I witnessed a striking example of peer monitoring on my visit to the Hinkley B nuclear power station. I’d just received a briefing on Hinkley’s safety culture from Peter Higginson, an avuncular physicist from Shropshire who was responsible for the safety of Hinkley’s two massive advanced gas-cooled reactors.

, 165 Bertrand, Marianne, 135 Bhopal disaster, 184 Billing, Noel Pemberton, 87–8 biomass systems, 170–1 bird flu, 97 Björkman, Martina, 142–3 Blair, Tony, 20, 30, 141 Boulton-Paul Defiant aircraft, 85 BP, 216–19, 245 Bradley, James, 106 Branson, Sir Richard, 112, 243 Brazil, 117, 148 breeding, selective, 175–6 Bremer, Paul, 1700000140345 >58 Brin, Sergey, 232 Bromgard, Jimmy Ray, 252 Buiter, Willem, 205 bulldog, British, 175–6 Bulow, Jeremy, 205 Bunting, Madeleine, 130 Burroughs 3500 computer, 69–71 Bush, Laura, 119 Bush, President George W., 20, 59, 64 business world: evolutionary theory and, 14–15, 16, 17, 18–19, 174–5, 233–4; failure in, 8–10, 11–12, 18–19, 36, 148–9, 224, 239–46; see also corporations and companies; economics and finance Cadbury’s dairy milk chocolate, 165 CAFE environmental standards in USA, 172–3, 176 Canon, 241 Capecchi, Mario, 97–101, 102, 114, 140, 152, 223 Carbon Trust, 163–5 Cardano, Gerolamo, 83 Carlsmith, James, 251> Case Foundation, 119 Casey, General George W., 55, 59, 71 catastrophe experts, 184–6, 191, 194–5, 208 Cave-Brown-Cave, Air Commodore Henry, 81, 83, 85, 88, 114 centralised decision making, 70, 74–5, 226, 227, 228; warfare and, 46–7, 67–8, 69, 71, 76, 78–9 centrally planned economies, 11, 21, 23–6, 68–9, 70 Challenger shuttle disaster, 184 Charles, Prince, 154 Chernobyl disaster, 185 Chile, 3, 69–72, 76, 148 China, 11, 94, 131, 143, 147, 150, 152 Christensen, Clayton, 239–40, 242, 245 Chuquicamata mine (Chile), 3 Churchill, Winston, 41–2, 82, 85 Citigroup, 205131 Clay Mathematics Institute, 110 climate change, 4, 20; carbon dioxide emissions and, 132, 156, 159–65, 166–9, 173, 176, 178–80; ‘carbon footprinting’, 159–66; carbon tax/price idea, 167–9, 178–80, 222; environmental regulations and, 169–74, 176, 177; ‘food miles’ and, 159, 160–1, 168; governments/politics and, 157–8, 163, 169–74, 176, 180; greenhouse effect and, 154–6; individual behaviour and, 158–63, 164, 165–6; innovation prizes and, 109, 179; methane and, 155, 156, 157, 159–60, 173, 179, 180; new technologies and, 94–5; simplicity/complexity paradox, 156, 157–8; Thaler-Sunstein nudge, 177–8; uncertainty and, 156 Coca-Cola, 28, 243 Cochrane, Archie, 123–7, 129, 130, 140, 238, 256 cognitive dissonance, 251–2 Cold War, 6, 41, 62–3 Colombia, 117, 147 complexity theory, 3–4, 13, 16, 49, 72103, 237 computer games, 92–3 computer industry, 11–12, 69, 70–1, 239–42 corporations and companies: disruptive technologies and, 239–44, 245–6; environmental issues and, 157–8, 159, 161, 165, 170–1, 172–3; flattening of hierarchies, 75, 224–5, 226–31; fraud and, 208, 210, 212–13, 214; innovation and, 17, 81–2, 87–9, 90, 93–4, 95–7, 108–11, 112, 114, 224–30, 232–4; limited liability, 244; patents and, 95–7, 110, 111, 114; randomised experiments and, 235–9; skunk works model and, 89, 91, 93, 152, 224, 242–3, 245; strategy and, 16, 18, 27–8, 36, 223, 224–34; see also business world; economics and finance cot-death, 120–1 credit-rating agencies, 188, 189, 190 Criner, Roy, 252 Crosby, Sir James, 211, 214, 250, 256 Cuban Missile Crisis, 41, 63 Cudahy Packing, 9 dairy products, 158, 159–60, 164–5, 166 Darwin, Charles, 86 Dayton Hudson, 243 de Montyon, Baron, 107–8 Deal or No Deal (TV game show), 33–5, 253 decentralisation, 73, 74–8, 222, 224–5, 226–31; Iraq war and, 76–8, 79; trial and error and, 31, 174–5, 232, 234 decision making: big picture thinking, 41, 42, 46, 55; consistent standards and, 28–9; diversity of opinions, 31, 44–5, 46, 48–50, 59–63; doctrine of unanimous advice, 30–1, 47–50, 62–3, 64, 78; grandiosity and, 27–8; idealized hierarchy, 40–1, 42, 46–7, 49–50, 55, 78; learning from mistakes, 31–5, 78, 119, 250–1, 256–9, 261–2; local/on the ground, 73, 74, 75, 76–8, 79, 224–5, 226–31; reporting lines/chain of command, 41, 42, 46, 49–50, 55–6, 58, 59–60, 64, 77–8; supportive team with shared vision, 41, 42, 46, 56, 62–3; unsuccessful, 19, 32, 34–5, 41–2; see also centralised decision making Deepwater Horizon disaster (April 2010), 36, 216–19, 220 Democratic Republic of Congo, 139–40 Deng Xiaoping, 1 Denmark, 148 Department for International Development (DFID), 133, 137–8 development aid: charter cities movement, 150–3; community-driven reconstruction (CDR), 137–40; corruption and, 133–5, 142–3; economic ‘big push’ and, 143–5, 148–9; feedback loops, 141–3; fundamentally unidentified questions (FUQs), 132, 133; governments and, 118, 120, 143, 144, 148–9; identification strategies, 132–5; microfinance, 116, 117–18, 120; Millennium Development Villages, 129–30, 131; product space concept, 145–8; randomised trials and, 127–9, 131, 132, 133, 134, 135–6, 137–40, 141; randomistas, 127–9, 132, 133, 135–40, 258; selection principle and, 117, 140–3, 149; SouthWest project in China, 131; success and failure, 116, 118–20, 130–1; Muhammad Yunus and, 116, 117–18 digital photography, 240–1, 242 Dirks, Ray, 211–12, 213 disk-drive industry, 239–40, 242 Djankov, Simeon, 135 domino-toppling displays, 185, 200–1 Don Basin (Russia), 21–2, 24, 27 dot-com bubble, 10, 92 Dubai, 147, 150 Duflo, Esther, 127, 131, 135, 136 Dyck, Alexander, 210, 213 eBay, 95, 230 econometrics, 132–5 economics and finance: banking system as complex and tightly coupled, 185, 186, 187–90, 200, 201, 207–8, 220; bankruptcy contingency plans, 204; Basel III regulations, 195; bond insurance business, 189–90; bridge bank/rump bank approach, 205–6; capital requirements, 203, 204; centrally planned economiepos=0000032004 >11, 21, 23–6, 68–9, 70; CoCos (contingent convertible bonds), 203–4; complexity and, 3–4; decoupling of financial system, 202, 203–8, 215–16, 220; Dodd-Frank reform act (2010), 195; employees as error/fraud spotters, 210, 211, 212, 213, 215; energy crisis (1970s), 179; evolutionary theory and, 14–17, 18–19, 174–5; improvements since 1960s, 215; inter-bank payments systems, 207; latent errors and, 209–10, 215; ‘LMX spiral’, 183–4, 189; narrow banking approach, 206–7, 215; need for systemic heat maps, 195–6; reinsurance markets, 183; zombie banks, 201–2; see also business world; corporations and companies; financial crisis (from 2007) Edison, Thomas, 236, 238 Eliot, T.S., 260 Elizabeth House (Waterloo), 170–1, 172 Endler, John, 221–2, 223, 234, 239 Engineers Without Borders, 119 Enron, 197–8, 200, 208, 210 environmental issues: biofuels, 84, 173, 176; clean energy, 91, 94, 96, 245–6; corporations/companies and, 159, 161, 165, 170–1, 172–3; renewable energy technology, 84, 91, 96, 130, 168, 169–73, 179, 245; see also climate change Equity Funding Corporation, 212 Ernst and Young, 199 errors and mistakes, types of, 208–10; latent errors, 209–10, 215, 218, 220 European Bank for Reconstruction and Development (EBRD), 188 European Union, 169, 173 Evans, Martin, 100 evolutionary theory, 6, 12–13, 15–17, 174, 258; business world and, 14–17, 174–5, 233–4; Darwin and, 86; digital world and, 13–14, 259–60; economics and, 14–17, 174–5; Endler’s guppy experiments, 221–2, 223, 239; fitness landscapes, 14–15, 259; Leslie Orgel’s law, 174, 175, 176, 177, 178, 180; problem solving and, 14–15, 16; selective breeding and, 175–6 expertise, limits of, 6–8, 16, 17, 19, 66 extinction events, biological, 18–19 Exxon (formerly Jersey Standard), 9, 12, 188, 245 F-22 stealth fighter, 93 Facebook, 90, 91 failure: in business, 8–10, 11–12, 18–19, 36, 148–9, 224, 239–46; chasing of losses, 32–5, 253–4, 256; in complex and tightly coupled systems, 185–90, 191–2, 200, 201, 207–8, 219, 220; corporate extinctions, 18–19; denial and, 32, 34–5, 250–3, 255–6; disruptive technologies, 239–44, 245–6; of established industries, 8–10; government funding and, 148–9; hedonic editing and, 254; honest advice from others and, 256–7, 258, 259; learning from, 31–5, 78, 119, 250–1, 256–9, 261–2; modern computer industry and, 11–12, 239–42; as natural in market system, 10, 11, 12, 244, 245–6; niche markets and, 240–2; normal accident theory, 219; recognition of, 36, 224; reinterpreted as success, 254–5, 256; shifts in competitive landscape, 239–46; ‘Swiss cheese model’ of safety systems, 186–7, 190, 209, 218; types of error and mistake, 208–10; willingness to fail, 249–50, 261–2; of young industries, 10 Fearon, James, 137, Federal Aviation Administration, 210 Federal Reserve Bank, 193–4 feedback, 25, 26, 42, 178, 240; in bureaucratic hierarchies, 30–1; development and, 141–3; dictatorships’ immunity to, 27; Iraq war and, 43–5, 46, 57–8, 59–62; market system and, 141; praise sandwich, 254; public services and, 141; self-employment and, 258; yes-men and, 30 Feith, Douglas, 44, 45 Ferguson, Chris ‘Jesus’, 32 Fermi nuclear reactor (near Detroit), 187 Festinger, Leon, 251 financial crisis (from 2007), 5, 11, 25; AIG and, 189, 193–5, 215–16, 228; bankers’ bonuses, 198; banking system as complex and tightly coupled, 185, 186, 187–90, 200, 201, 207–8, 220; bond insurance business and, 189–90; collateralised debt obligations (CDOs), 190, 209; credit default swaps (CDSs), 187–9, 190, 194; derivatives deals and, 198, 220; faulty information systems and, 193–5; fees paid to administrators, 197; government bail-outs/guarantees, 202, 214, 223; Lehman Brothers and, 193, 194, 196–200, 204–5, 208, 215–16; ‘LMX spiral’ comparisons, 183–4, 189; Repo 105 accounting trick, 199 Financial Services Authority (FSA), 214 Firefox, 221, 230 Fleming, Alexander, 83 Food Preservation prize, 107, 108 Ford Motor Company, 46–7 fossil record, 18 Fourier, Joseph, 155 fraud, corporate, 208, 210, 212–13, 214 Friedel, Robert, 80 Frost, Robert, 260 A Funny Thing Happened on the Way to the Forum (musical), 248 Gage, Phineas, 21, 27 Galapagos Islands, 86, 87 Gale (US developer), 152 Galenson, David, 260 Galileo, 187 Galland, Adolf, 81 Gallipoli campaign (1915), 41–2 Galvin, Major General Jack, 62, 256 game theory, 138, 205 Gates, Bill, 110, 115 Gates, Robert, 59, 64, 78 Gates Foundation, 110 Geithner, Tim, 193–5, 196 GenArts, 13 General Electric, 9, 12, 95 Gilbert, Daniel, 255, 256 GlaxoSmithKline, 95 Glewwe, Paul, 127–8 Global Positioning System (GPS), 113 globalisation, 75 Google, 12, 15, 90, 91, 239, 245, 261; corporate strategy, 36, 231–4; Gmail, 233, 234, 241, 242; peer monitoring at, 229–30 Gore, Al, An Inconvenient Truth, 158 Göring, Hermann, 81 government and politics: climate change and, 157–8, 163, 169–74, 176, 180; development aid and, 118, 120, 143, 144, 148–9; financial crisis (from 2007) and, 193–5, 198–9, 202, 214, 215–16, 223; grandiosity and, 27–8; ideal hierarchies and, 46pos=00002pos=0000022558 >7, 49–50, 62–3, 78; innovation funding, 82, 88, 93, 97, 99–101, 102–3, 104, 113; lack of adaptability rewarded, 20; pilot schemes and, 29, 30; rigorous evaluation methods and, 29* Graham, Loren, 26 Grameen Bank, 116, 117 Greece, 147 Green, Donald, 29* greenhouse effect, 154–6 Gulf War, first, 44, 53, 65, 66, 67, 71; Battle of 73 Easting, 72–3, 74, 79 Gutenberg, Johannes, 10 Haldane, Andrew, 195, 258 Halifax (HBOS subsidiary), 211 Halley, Edmund, 105 Halliburton, 217 Hamel, Gary, 221, 226, 233, 234 Hanna, Rema, 135 Hannah, Leslie, 8–10, 18 Hanseatic League, 150 Harrison, John, 106–7, 108, 110, 111 Harvard University, 98–9, 185 Hastings, Reed, 108 Hausmann, Ricardo, 145 Hayek, Friedrich von, 1, 72, 74–5, 227 HBOS, 211, 213, 214 healthcare sector, US, 213–14 Heckler, Margaret, 90–1 Henry the Lion, 149, 150, 151–2, 153 Hewitt, Adrian, 169 Hidalgo, César, 144–7, 148 Higginson, Peter, 230 Hinkley Point B power station, 192–3, 230–1 Hitachi, 11 Hitler, Adolf, 41, 82, 83, 150 HIV-AIDS, 90–1, 96, 111, 113 Holland, John, 16, 103 Hong Kong, 150 Houston, Dame Fanny, 88–9, 114 Howard Hughes Medical Institute (HHMI), 101–3, 112 Hughes (computer company), 11 Humphreys, Macartan, 136, 137, 138–40 Hurricane aircraft, 82* IBM, 11, 90, 95–6 In Search of Excellence (Peters and Waterman, 1982), 8, 10 India, 135, 136, 143, 147, 169 individuals: adaptation and, 223–4, 248–62; climate change and, 158–63, 164, 165–6; experimentation and, 260–2; trial and error and, 31–5 Indonesia, 133–4, 142, 143 Innocentive, 109 innovation: corporations and, 17, 81–2, 87–9, 90, 93–4, 95–7, 108–11, 112, 114, 224–30, 232–4; costs/funding of, 90–4, 99–105; failure as price worth paying, 101–3, 104, 184, 215, 236; government funding, 82, 88, 93, 97, 99–101, 102–3, 104, 113; grants and, 108; in health field, 90–1, 96; large teams and specialisation, 91–4; market system and, 17, 95–7, 104; new technologies and, 89–90, 91, 94–5; parallel possibilities and, 86–9, 104; prize methodology, 106–11, 112, 113–14, 179, 222–3; randomistas and, 127–9, 132, 133, 135–40, 258; return on investment and, 83–4; skunk works model, 89, 91, 93, 152, 224, 242–3, 245; slowing down of, 90–5, 97; small steps and, 16, 24, 29, 36, 99, 103, 143, 149, 153, 224, 259–60; space tourism, 112–13, 114; specialisation and, 91–2; speculative leaps and, 16, 36, 91, 99–100, 103–4, 259–60; unpredictability and, 84–5 Intel, 11, 90, 95 International Christelijk Steunfonds (ICS), 127–9, 131 International Harvester, 9 International Rescue Committee (IRC), 137–8, 139 internet, 12, 15, 63, 90, 113, 144, 223, 233, 238, 241; randomised experiments and, 235–6, 237; see also Google Iraq war: al Anbar province, 56–7, 58, 64, 76–7; civil war (2006), 39–40; Commander’s Emergency Response Program (CERP), 77; counterinsurgency strategy, 43, 45, 55–6, 58, 60–1, 63–4, 65; decentralisation and, 76–8, 79; feedback and, 43–5, 46, 57–8, 59–62; FM 3–24 (counter-insurgency manual), 63; Forward Operating Bases (FOBs), 51–3, 57, 65; Haditha killings (19 November 2005), 37–9, 40, 42, 43, 52; new technologies and, 71, 72, 74, 78–9, 196; Samarra bombing (22 February 2006), 39; Tal Afar, 51, 52, 53–5, 61, 64, 74, 77, 79; trial and error and, 64–5, 66–7; US turnaround in, 35, 40, 46, 50–1, 53–6, 57–8, 59–61, 63–5, 78; US/allied incompetence and, 38, 39–40, 42–5, 46, 50, 64, 67, 79, 223; Vietnam parallels, 46 J&P Coats, 9 Jacobs, Jane, 87 James, Jonathan, 30 Jamet, Philippe, 192 Janis, Irving, 62 Japan, 11, 143, 176, 204, 208 Jay-Z, 119 Jo-Ann Fabrics, 235 Jobs, Steve, 19 Joel, Billy, 247–8, 249 Johnson, President Lyndon, 46, 47, 49–50, 60, 62, 64, 78 Jones, Benjamin F., 91–2 Joyce, James, 260 JP Morgan, 188 Kahn, Herman, 93 Kahneman, Daniel, 32, 253 Kantorovich, Leonid, 68–9, 76 Kaplan, Fred, 77 Karlan, Dean, 135 Kauffmann, Stuart, 16, 103 Kay, John, 206–7, 208, 215, 259 Keller, Sharon, 252 Kelly, Terri, 230 Kennedy, President John F., 41, 47, 62–3, 84, 113 Kenya, 127–9, 131 Kerry, John, 20 Keynes, John Maynard, 181 Kilcullen, David, 57, 60–1 Klemperer, Paul, 96, 205 Klinger, Bailey, 145 Kotkin, Stephen, 25 Kremer, Michael, 127–8, 129 Krepinevich, Andy, 45 Lanchester, John, 188 leaders: decision making and, 40–2; failure of feedback and, 30–1, 62; grandiosity and, 27–8; ignoring of failure, 36; mistakes by, 41–2, 56, 67; need to believe in, 5–6; new leader as solution, 59 Leamer, Ed, 132* Leeson, Nick, 184–5, 208 Lehman Brothers, 193, 194, 196–200, 204–5, 208, 215–16 Lenin Dam (Dnieper River), 24 Levine, John, 48–9 Levitt, Steven, 132–3 Liberia, 136–9 light bulbs, 162, 177 Lind, James, 122–3 Lindzen, Richard, 156 Livingstone, Ken, 169 Lloyd’s insurance, 183 Lloyds TSB, 214 Local Motors, 90 Lockheed, Skunk Works division, 89, 93, 224, 242 Lomas, Tony, 196, 197–200, 204, 205, 208, 219 Lomborg, Bjorn, 94 longitude problem, 105–7, 108 Lu Hong, 49 Lübeck, 149–50, 151–2, 153 Luftwaffe, 81–2 MacFarland, Colonel Sean, 56–7, 64, 74, 76–7, 78 Mackay, General Andrew, 67–8, 74 Mackey, John, 227, 234 Madoff, Bernard, 208212–13 Magnitogorsk steel mills, 24–5, 26, 153 Malawi, 119 Mallaby, Sebastian, 150, 151 management gurus, 8, 233 Manhattan Project, 82, 84 Manso, Gustavo, 102 Mao Zedong, 11, 41 market system: competition, 10–11, 17, 19, 75, 95, 170, 239–46; ‘disciplined pluralism’, 259; evolutionary theory and, 17; failure in as natural, 10, 11, 12, 244, 245–6; feedback loops, 141; innovation and, 17, 95–7, 104; patents and, 95–7; trial and error, 20; validation and, 257–8 Markopolos, Harry, 212–13 Marmite, 124 Maskelyne, Nevil, 106 mathematics, 18–19, 83, 146, 247; financial crisis (from 2007) and, 209, 213; prizes, 110, 114 Mayer, Marissa, 232, 234 McDonald’s, 15, 28 McDougal, Michael, 252 McGrath, Michael, 252 McMaster, H.R.

pages: 465 words: 109,653

Free Ride
by Robert Levine
Published 25 Oct 2011

“And we’re going to get paid properly for it, or else we’re not going to do it.”30 Some technology pundits suggested the networks were being unreasonable, since—from a technology standpoint—Google TV worked much like any other browser. Since networks made video freely available for Firefox, shouldn’t the same rules apply to Google TV? In October 2010, TechCrunch dismissed their “various timeworn concerns such as lack of a viable business model.”31 Oh, that again. There’s also an important difference between Firefox and Google TV: the latter will presumably sell advertising. So far, Google hasn’t said much about how it plans to make money on Google TV. But the company gets most of its revenue from running ads against search queries, and there’s no reason that wouldn’t work on a screen that happens to sit in front of a couch instead of on top of a desk.

Safra Foundation Center for Ethics Eircom, 9.1, 9.2 Eisner, Michael Eldred, Eric, 3.1, 3.2 Electronic Frontier Foundation (EFF), itr.1, 1.1, 2.1, 3.1, 3.2, 9.1, 9.2, 9.3, 10.1, 10.2, 10.3, 10.4 electronics industry, 1.1, 1.2, 1.3, 2.1, 7.1 e-mail, 1.1, 2.1, 3.1, 3.2, 3.3, 4.1, 8.1, 10.1 EMI Music Group, itr.1, 2.1, 2.2, 2.3, 2.4 Eminem, 2.1, 10.1 Espinel, Victoria, 10.1, 10.2 ESPN, 5.1, 5.2, 5.3 Europeana European Commission, 8.1, 8.2, 8.3, 8.4, 8.5, 10.1 European Parliament, 8.1, 8.2 European Union (EU), 2.1, 8.1, 8.2, 8.3, 9.1, 9.2 Facebook, 3.1, 4.1, 6.1, 7.1, 10.1 fair use, 1.1, 3.1, 3.2, 3.3, 3.4, 6.1, 6.2, 8.1, 9.1, 10.1, 10.2 Fair Use Project Fanning, John Fanning, Shawn, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6 Fast Track Federal Communications Commission (FCC), 5.1, 5.2, 10.1, 10.2 Ferrara, Geri file-sharing services, itr.1, itr.2, itr.3, itr.4, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 5.1, 5.2, 7.1, 7.2, 7.3, 7.4, 8.1, 8.2, 8.3, 8.4, 8.5, 9.1, 9.2, 10.1, 10.2, 10.3, 10.4, 10.5 film industry, itr.1, itr.2, itr.3, itr.4, 1.1, 1.2, 1.3, 1.4, 1.5, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 6.1, 6.2, 7.1, 8.1, 8.2, 9.1, 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7 filtering technology, 3.1, 7.1, 10.1, 10.2 financial crisis (2008), 4.1, 4.2, 4.3 Financial Interest and Syndication Rules (“fin-syn”) Financial Times, itr.1, 4.1, 4.2 Firefox First Amendment, 3.1, 3.2, 3.3, 8.1, 10.1 Fisher, William W. “Terry,” III, 9.1, 9.2, 9.3 Fitzgerald, Patricia flyonthewall.com Fortune Fox Entertainment Group, 4.1, 5.1, 7.1 Fox News, 4.1, 5.1, 5.2, 5.3, 5.4, 9.1 France, 1.1, 3.1, 8.1, 8.2, 8.3, 9.1, 9.2, 9.3 Frankfurt Book Fair, 8.1, 8.2 Franklin, Aretha, 2.1, 7.1 Free (Anderson) Free Culture (Lessig), 3.1, 3.2 Freedom of Information Act, 3.1, 3.2 “free-riding” free speech, itr.1, 1.1, 1.2, 1.3, 3.1, 3.2, 3.3, 3.4, 3.5, 4.1, 8.1, 8.2, 10.1, 10.2 Fricklas, Michael, 3.1, 3.2 Friedman, Roger Friends, itr.1, 7.1 Future of the Internet and How to Stop It, The (Zittrain) Galuten, Albhy Garland, Eric Geffen Records GEMA, 7.1, 9.1 German National Library Germany, 6.1, 7.1, 7.2, 7.3, 8.1, 8.2, 8.3, 9.1 Get a Grip GigaOM, itr.1, 5.1 Ginsburg, Ruth Bader Global Repertoire Database Working Group Gnutella Godin, Seth Goldberg, Danny, 2.1, 2.2, 2.3, 3.1 Gomez, Jean-Jacques, 8.1, 8.2 Goodman, Peter Google, itr.1, itr.2, itr.3, itr.4, itr.5, 1.1, 3.1, 3.2, 3.3, 3.4, 3.5, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 5.1, 5.2, 5.3, 6.1, 7.1, 7.2, 7.3, 7.4, 8.1, 8.2, 9.1, 9.2, 10.1, 10.2, 10.3, 10.4, 10.5, 10.6 Google Books settlement, 6.1, 8.1, 8.2, 10.1, 10.2 Googled (Auletta) Google TV, 5.1, 5.2, 5.3, 5.4, 5.5, 7.1, 10.1, 10.2, 10.3 Google Video Gore, Al, itr.1, 1.1, 1.2 Government Accountability Office, U.S.

pages: 696 words: 111,976

SQL Hacks
by Andrew Cumming and Gordon Russell
Published 28 Nov 2006

She could then edit her version of your page and alter or disable the JavaScript and field size limits. Also beware of hidden variables and cookies. Under normal circumstances, your scripts control these values, but it is not at all difficult for someone to make up her own values. An external user can view all of the hidden variables and cookies associated with a web page from Firefox, for instance. Look in ToolsPage InfoForms for the variables, including hidden variables, as shown in Figure 6-18. Look in ToolsOptionsPrivacyCookiesView Cookies for the cookies, as shown in Figure 6-19. Figure 6-18. Listing variables, including hidden variables Figure 6-19. Listing cookies associated with a page 6.8.7.

mysql_connect('localhost','scott','tiger') or die(mysql_error( )); mysql_select_db('scott') or die(mysql_error( )); $query = " SELECT DISTINCT 'No preference' AS colorName, NULL UNION SELECT colorName, colorName FROM colorTable ORDER BY 2 "; $cursor = mysql_query($query) or die(mysql_error( )); echo "<select name='menu_name'>"; while ($line = mysql_fetch_array($cursor,MYSQL_ASSOC)) { echo "<option>" .$line{'colorName'} . "</option>\n"; } echo "</select>\n"; mysql_close( ); ?> Figure 8-8 shows what it looks like in Firefox. Figure 8-8. HTML pop-up from a table Chapter 9. Locking and Performance In applications requiring high query throughput, high concurrency rates, and/or large result sets, you need to ensure good database design. However, systems with good database design can still suffer from performance problems.

VALUES statement CONNECT BY clause CONVERT function (SQL Server) cookies copy of the data (outdated), returned for transaction copying tables SQL92 standard and correlated derived table correlated subquery COS function COUNT function disaggregating result counting with a condition covering index CREATE command CREATE script, storing for tables CROSS JOINs 2nd integers table orders with postage rules crossword puzzle, solving using SQL csc.exe (C# compiler) CTR (click-through ratio) current date current timestamp current username CURRENT_DATE CURRENT_TIMESTAMP 2nd 3rd CURRENT_USER information cursor obtaining using for complicated UPDATEs Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] Data Definition Language (DDL) database connections database systems dates day-of-the-week functions differences in handling executing functions moving databases between potential problems SQL conventions version number databases specifying with command-line switch DATE type column name (whn) DATEADD function (SQL Server) 2nd 3rd 4th DATEDIFF function (SQL Server) DatePart function (Access) DATEPART function (SQL Server) 2nd 3rd dates 2nd 3rd Access converting strings to MySQL Oracle converting to strings SQL Server current date data for consecutive dates, generating database functions for date literals in SQL Server finding floating calendar dates last Thursday of the month second Tuesday of the month generating a calendar generating sequence with integers table keys using, table comparisons and quarterly reports, generating range of dates for period of days up to a year reducing precision in report data custom ranges of any size reporting on any date criteria current month monthly totals year-to-date totals SQL Server uncovering trends in data modular arithmetic DATETIME datatype 2nd day-of-the-week functions DAYOFWEEK function (MySQL) DB2 command-line utility GROUPING SETS clause WITH ROLLUP clause db2batch utility DB_File Perl module DBI interface (Perl) BLOBs, creating and retrieving data from DBMS_CRYPTO library (Oracle) DDL (Data Definition Language) decision tables, building prioritized DELETE triggers denormalization denormalizing data deploying applications CREATE script, storing for each table DROP avoiding constraints namespace management portability derived tables aliases converting to VIEWs correlated deterministic hashes diff command (Unix) differences between tables, finding directory structure dirty reads disk space, managing large data tables temporary space division avoiding division by zero DNS cache (Webalizer) DROP TABLE command avoiding constraints testing if table exists before executing Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] easypass tool email addresses as usernames ENGINE=InnoDB epoch time Erdös numbers Excel importing directly from databases for graphical reports pivot table, filling in missing values with SQL using to preprocess SQL exclusive matches exp and imp utilities exporting table definitions Access MySQL PostgreSQL 2nd problems with SQL Server Express edition (SQL Server) EXTRACT function 2nd 3rd PostgreSQL, day-of-the-week Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] FALSE and TRUE values, Access field size limits (HTML) FIFO queuing in database files image storing data adding/removing files changing existing files too many files filtering in JOIN conditions on indexed columns rows and columns find command Firefox HTML pop-up from a table viewing hidden variables and cookies fiscal year to date, reporting floating calendar dates, finding last Thursday of the month second Tuesday of the month FLOOR function 2nd rounding numbers FOR EACH ROW construct foreign key reference foreign keys email-based username family tree hierarchy Form Wizard (Access) FROM clause dropping from SELECT statement SELECT statement, using other SELECT statements FTP, anonymous sites FULL OUTER JOINs 2nd FULLTEXT pattern match (MySQL) functions aggregating day-of-the-week executing in the database nonstandard, problems switching database platforms static Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] GETDATE( ) function (SQL Server) globally unique identifier (GUID) for transactions GO instructions (SQL Server) 2nd GPS locations, calculating distance between GRANT and REVOKE commands graphing survey results SVG pie chart created directly from SQL vendor-specific XML features GREATEST function 2nd GROUP BY statement, choosing any three of five GROUPING SETS clause (Oracle) GUID (globally unique identifier) for transactions gzip compression Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] hash directory structure hashing algorithms hashing passwords hidden variables SQL injection attacks based on history tables Oracle PostgreSQL processing SQL Server HTML fields, size limits on hung transactions Index [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] identifiers, unique for updates branch transactions central server update duplicate batches userid IDENTITY column (SQL Server) IFNULL function (MySQL) IIS (Internet Information Services) web log format, controlling 2nd IMAGE datatype (SQL Server) 2nd image files images storing in database using BLOBs storing in files imp utility implicit COMMITs importing external data importing SQL file into Access into DB2 into MySQL, using command-line utility into Oracle, using sqlplus into PostgreSQL into SQL Server importing table definitions problems with SQL Server IN BOOLEAN MODE text-searching (MySQL) inconsistent records, cleaning normalizing the data indexes filtering on indexed columns FULLTEXT infrequently changing values, tracking finding current price finding price on specified date listing all prices for specified date recording price changes INNER JOINs JOIN chain example changing to OUTER JOINs inner joins InnoDB INSERT ...

pages: 48 words: 10,481

Instant Ember.JS Application Development: How-To
by Marc Bodmer
Published 11 Feb 2013

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.

pages: 37 words: 10,757

Help for Women With ADHD: My Simple Strategies for Conquering Chaos
by Joan Wilder
Published 18 May 2016

Dozens of lovely, guided, mindfulness meditation talks. Tara is the founder of Insight Meditation outside Washington, D.C. and is also a therapist. (You can also put this site on your smart phone.) StayFocused. A Chrome browser extension that blocks specific sites on a schedule or all at once. LeechBlock. A Mozilla Firefox browser add-on that blocks specific sites on a schedule or all at once. About The Author As a freelance journalist, Joan Wilder has written hundreds of articles that run the gamut from the hardest of hard news stories – fires, kidnappings, politics – to the most narrative of non-fiction features: travel stories, essays, columns, and profiles.

pages: 210 words: 63,879

Cold Hands
by John J. Niven
Published 14 May 2012

I looked up from my desk, catching myself mid-thought, suddenly aware of how much I had been thinking about childhood, dwelling on specific moments and people, rather than in the general way we all think about childhood all the time – it flows through us unceasingly, like blood. Why had I suddenly started doing this? The answer came quickly: because you found the dog, ripped up like it’d been vivisected. Because violence came calling, didn’t it? And, quite before I knew what I was doing, I had clicked on Firefox and was typing his name into Google. I read down, expecting nothing. He was not, after all, a famous man; he’d be nearly seventy too, and unlikely to be one of the search results I was looking at now: Follow PCardew on Twitter . . . Paul Cardew is on Facebook . . . Paul Cardew, President of Virginia Loan and Savings . . .

Back at the house I remembered I had a saccharine romcom to review for the following week: two big teen stars in what looked like a Jane Austen rewrite with text messaging and iPods. I lay on the sofa for a long time, sipping tea and tapping the DVD against my knee, until I wandered down the hall to my office and stood over the desk, my finger tracing over the smooth plastic pad of the laptop, the cursor hovering briefly over the icon for Mozilla Firefox – that flaming orange-and-white beast encircling the globe, the pathway to Google, the mortal enemy of the stay-at-home writer – before moving along the toolbar and hovering over the Word icon. Fuck it. The review could wait. I slid the cursor further along and clicked on the foresty-green Final Draft logo and, with a heavy sigh, steeling myself, opened UNTITLED.

pages: 230 words: 61,702

The Internet of Us: Knowing More and Understanding Less in the Age of Big Data
by Michael P. Lynch
Published 21 Mar 2016

In short: while it is far from ubiquitous, “more information to more people” is one obvious way that the Internet is making knowledge—or its acquisition—“more democratic.” The Internet is also democratizing knowledge by making its production more inclusive. One common example here is open source software like Mozilla’s Firefox Web browser. When security vulnerabilities or bugs arise in Firefox software, a diverse and widespread community of volunteers works on fixes and plug-ins. Open source software operates similarly to an online co-op. It is software by the people, for the people. Epistemic inclusivity is also a by-product of the growing number of open access research sharing sites such as Academia.edu.

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
Published 13 Dec 2016

The commands sent to the Selenium server can be performed in tons of different ways and languages. There are a lot of existing implementations and frameworks that allow you to call selenium commands with couple lines of code: You can use the native Selenium's framework for Java ( http://seleniumhq.github.io/selenium/docs/api/java/ ) You can use the Firefox plugin for browsers ( https://addons.mozilla.org/en-us/firefox/addon/selenium-ide/ ) You can use Selenide, which is yet another implementation for Java but a lot easier to use than Selenium's framework ( http://selenide.org/ ) If you are an AngularJS developer, you can use Protractor, which is a very nice e2e test framework for AngularJS applications that also uses the Selenium webdriver ( http://www.protractortest.org/ ) In our case, we will use Nightwatch, which is a nice and very easy-to-use testing framework to call Selenium's commands using JavaScript.

pages: 349 words: 114,038

Culture & Empire: Digital Revolution
by Pieter Hintjens
Published 11 Mar 2013

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: 378 words: 67,804

Learning Android
by Marko Gargenta
Published 11 Mar 2011

In that case, any application that is capable of opening a web page could “compete” to complete this action. When you have competing applications, the system will ask you which one you’d like to use to complete a given action. You can also set an app as the default. This mechanism works very similarly to your desktop environment, for example, when you downloaded Firefox or Chrome to replace your default Internet Explorer or Safari web browsers. This type of messaging allows the user to replace any app on the system with a custom one. For example, you might want to download a different SMS application or another browser to replace your existing ones. Figure 4-2 shows how intents may be used to “jump” between various activities, in the same application or in another app altogether.

-- --> <TextView android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_weight="1" android:gravity="right" android:id="@+id/textCreatedAt" android:text="10 minutes ago" /> </LinearLayout> <!-- --> <TextView android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/textText" android:text="Firefox comes to Android" /> </LinearLayout> The main layout for the entire row. It is vertical because our row consists of two lines. A layout that runs horizontally and represents the first line of data, namely the user and timestamp. The user who posted this update. The timestamp indicating when it was posted.

pages: 204 words: 67,922

Elsewhere, U.S.A: How We Got From the Company Man, Family Dinners, and the Affluent Society to the Home Office, BlackBerry Moms,and Economic Anxiety
by Dalton Conley
Published 27 Dec 2008

Between dropping them off and reaching his office in the rapidly gentrifying West Thirties, twenty new messages have piled up in his BlackBerry. He makes a brief appearance at the loftlike office and then heads out to the local Starbucks with his laptop to work on a memo on viral media strategy before his meetings. He finds it hard to concentrate, however, since he can’t stop himself from toggling (alt-tab) over to his open-source Firefox browser to e-trade stocks in his self-managed retirement portfolio and search the real estate listings to see how much his neighbors are listing their apartment for. He has been obsessing about the value of his home lately. Maybe this is related to the fact that he happened to see his college friend’s tax return lying around the week before.

Or maybe we just sneak off, excusing ourselves prematurely from the family “dinner” in order to write that report in the den—the same report we should have been working on all day when instead we were e-mailing. Whatever the reasons for our longer hours of paid (or unpaid) productive labor, the result is a blurring of the line between work and leisure. Does contributing an entry to Wikipedia or debugging Firefox count as work or leisure? Since we are not being paid for it and it’s not housework, it probably falls into the leisure category. (Although some economists argue that programmers, in particular, use open-source work to signal to potential employers how good they are.) And if we are on a fixed salary and take on extra work to “get ahead,” is that work?

pages: 239 words: 64,812

Geek Sublime: The Beauty of Code, the Code of Beauty
by Vikram Chandra
Published 7 Nov 2013

Shouting at co-workers and employees, abrasive behavior, indifference to the feelings of others, all these constitute both a privilege earned by skill and a signifier of the programmer’s elite status. This is most true, paradoxically, in the open-source movement, within which volunteer programmers collaborate to produce programs (like Firefox and Linux) under licensing schemes that guarantee universal, free access. These volunteers must cooperate to produce viable programs; yet it is within open source that programmers most fiercely pledge allegiance to the legacy of the early neckbeards. And so Linus Torvalds, the “benevolent dictator” of Linux, dismissed the makers of a rival operating system as “a bunch of masturbating monkeys”; and so, Eric S.

Usually, you write several tests for each section of code, checking for correct behavior under varying conditions, and so the lines of test code can easily outnumber the lines of program code by orders of magnitude. The open-source database SQLite, at the time of this writing, has 1,177 times the amount of test code as it does program code.14 Most non-programmers have never heard of SQLite, but it is the most widely deployed database in the world.15 SQLite is a tiny program. It runs within your Firefox browser, storing your bookmarks; it is used widely within the Mac operating system; it runs within each copy of Skype; it runs on your smartphone, storing contacts and appointments. SQLite’s vast suite of tests is an attempt to prevent bugs from creeping into a program that has become an essential, foundational component of the working memory of humanity.

pages: 270 words: 64,235

Effective Programming: More Than Writing Code
by Jeff Atwood
Published 3 Jul 2012

Meanwhile, Internet Explorer took longer than the entire development period of Chrome to go from version 7 to version 8. And by the time Internet Explorer 9 ships — even though it’s actually looking like Microsoft’s best, most competent technical upgrade of the browser yet — it will be completely outclassed at launch by both Firefox and Chrome. The Google Android project is another example. Android doesn’t have to be better than the iPhone (and it most definitely isn’t; it’s been mediocre at best until recent versions). They just need to be faster at improving. Google is pushing out Froyos and Gingerbreads and Honeycombs with incredible, breakneck speed.

They produced a meaningful legacy: Through Netscape Navigator, the original popularization of HTML and the internet itself. With the release of the Netscape source code on March 31st, 1998, the unlikely birth of the commercial open source movement. Eventually producing the first credible threat to Internet Explorer in the form of Mozilla Firefox 1.0 in 2004. Do you want money? Fame? Job security? Or do you want to change the world … eventually? Consider how many legendary hackers went on to brilliant careers from Netscape: Jamie Zawinski, Brendan Eich, Stuart Parmenter, Marc Andreessen. The lessons of Netscape live on, even though the company doesn’t.

pages: 272 words: 64,626

Eat People: And Other Unapologetic Rules for Game-Changing Entrepreneurs
by Andy Kessler
Published 1 Feb 2011

The promise of open source is better quality, higher reliability, more flexibility, lower cost, and an end to predatory vendor lock-in.” In other words, there are a bunch of folks around the world who write and revise code, for free, for a software project that is open to contributions from anyone. Linux is an open-source operating system. Apache is open-source server software that spits out most Web pages. Firefox is an open-source browser. Successful open-source projects capture value from the project. The Mozilla Foundation cut a deal with Google to include a search toolbar and collects tens of millions in referral fees. In Sweden, Mårten Mickos tapped programmers around the globe to contribute code and help fix bugs in his MySQL open-source database application.

See Market entrepreneurs; Political entrepreneurs EPI-LIT (entertainment and perishable information) Equality, myth of Equal opportunity Establishment, Alinsky on Exceptionalism and employee testing bans finding in colleges and intelligence and productivity of Vital Few FAB (Feature, Application, Business) Facebook Faggin, Federico Fama, Eugene Fannie Mae/Freddie Mac FarmVille Features, versus applications, businesses Federal Deposit Insurance Corporation (FDIC) Federal Reserve and interest rates and money supply roles of Ferguson, Andrew Ferriss, Tim Financial sector as Slimers as Sponges Firefox Flickr Ford, Henry Fox Broadcasting Fractional reserve banking Freedom Free Radicals accomplishments of defined historical examples of See also Rules for Free Radicals French Revolution Frick, Henry Clay Frick Museum Friedman, Tom Fulton, Robert Garrett, Jesse James Gates, Bill Generation X Generation Y Genes, personalized medicine Gesture recognition Gibbons v.

pages: 1,201 words: 233,519

Coders at Work
by Peter Seibel
Published 22 Jun 2009

They could just say, “Fuck no, that's totally the wrong fix.” Seibel: Do you still read code for fun, as opposed to reading it because you need to work with it? Fitzpatrick: Sometimes. I checked out Android source code for no real reason. The same with Chrome; when it went open source, I mirrored the repo and just looked around. I did the same thing with Firefox and Open Office. Some program you've been using and all of a sudden you have access and you might as well look. Seibel: Programs like that, the code base is pretty huge. When you look at something like that for fun, how deeply do you get into it? Fitzpatrick: Generally, I'll just pipe find into less and try to understand the directory structure.

I try to use it every time before I run a program, so if I've gone through and I've done some edits, I'll run it through JSLint first before I run it. Seibel: So you edit in your text editor, run JSLint on the program, and then run it in a browser. How about debugging? Crockford: It depends on the browser. If it's Firefox, then you use Firebug. If it's IE, then you use the Visual Studio debugger. They're both actually very good. We have surprisingly good debuggers in the browser. I've used frameworks in which there were inspectors built out of DOM elements that could then go into objects, and open them up, and inspect through that set of frames.

So that aspect of the Web is still deficient and maybe that's why it's so noisy still. Brendan Eich Creator of JavaScript, perhaps the most widely used and most reviled programming language on the modern Web, Brendan Eich is now CTO of the Mozilla Corporation, the subsidiary of the Mozilla Foundation responsible for continuing development of the Firefox browser. With an appreciation of both elegant theory and good pragmatic engineering, Eich spent the early days of his career hacking network and kernel code at Silicon Graphics and MicroUnity. After MicroUnity, he moved to Netscape, where he worked on the Netscape browser and, under intense time pressure, invented JavaScript.

pages: 496 words: 174,084

Masterminds of Programming: Conversations With the Creators of Major Programming Languages
by Federico Biancuzzi and Shane Warden
Published 21 Mar 2009

The beauty is that it doesn’t require new hardware, unlike Sci-Fi solutions proposed by others like virtual reality helmets or eye movement sensors, not to mention brainwave detectors. There’s a lot to do of course—for example, Firefox’s Preferences dialog has the dreadful look and feel of anything coming out of Microsoft, with at least two levels of tabs and many modal dialogs hidden in obscure places. How am I supposed to remember that in order to turn off JavaScript I have to go to the Content tab? Are Cookies under the Privacy tab or under Security? Maybe Firefox 4 can replace the Preferences dialog with a “smart” feature that lets you type keywords so that if I start typing “pass,” it will take me to the section to configure passwords.

How should they simplify the user interface to provide a shorter learning path? Guido: When it comes to graphical user interfaces, it seems there’s finally growing support for my “less is more” position. The Mozilla foundation has hired Aza Raskin, son of the late Jef Raskin (codesigner of the original Macintosh UI) as a UI designer. Firefox 3 has at least one example of a UI that offers a lot of power without requiring buttons, configuration, preferences or anything: the smart location bar watches what I type, compares it to things I’ve browsed to before, and makes useful suggestions. If I ignore the suggestions it will try to interpret what I type as a URL or, if that fails, as a Google query.

With Flash what we’re trying to do is both beef it up and make it robust enough so that at least you can get one language that’s platform-independent and will move from platform to platform without hitting you every time you turn around with different semantics. Charles: I totally agree. It is so frustrating that this many years later we’re still in an environment where someone says if you really want this to work you have to use Firefox. We should be way past that point by now! The whole point of the universality of the Web would be to not have those kind of distinctions, but we’re still living with them. It’s always fascinating to see how long it takes for certain pieces of historical antiquity to die away. The more you put them in the browsers you’ve codified them as eternal, and that’s stupid.

pages: 651 words: 186,130

This Is How They Tell Me the World Ends: The Cyberweapons Arms Race
by Nicole Perlroth
Published 9 Feb 2021

The price of a zero-day fluctuated based on the software it exploited. At the bottom of the heap, a zero-day that could take over routers or USB sticks that an operator had physical access to, would net low five figures. Just above those were zero-days that could remotely exploit Adobe PDF software, Safari and Firefox browsers, or Microsoft applications like Word and Excel. Higher up the chain were $100,000 to $250,000 exploits that could remotely hack Microsoft’s email products and Windows software. Time constraints also played a factor. When his buyers needed to exploit something now—say a terrorist’s mobile phone, an Iranian nuclear scientist’s computer, or Russia’s embassy in Kyiv—his buyers would shell out $500,000 to $1 million for a zero-day they might otherwise pay $250,000 for.

It was not the first time a tech company had paid hackers for bugs. Years before iDefense, in 1995, Netscape started paying tiny sums to those who turned over flaws in its Netscape Navigator browser. That inspired Mozilla to do the same, doling out a few hundred bucks to hackers who found serious holes in its Firefox browser in 2004. But Google’s program upped the ante. Google started offering to pay hackers who found bugs in Chromium, the open-source code behind Google’s Chrome web browser. Just like iDefense, the first bugs Google paid for were crap. But as word spread that Google was serious, the company started getting more critical bug submissions.

Every year, hackers from around the world descended on Vancouver to hack software and hardware for cash prizes and free devices in the Pwn2Own hacking contest at the CanSecWest conference—the top-paying hacking competition in the world. In the contest’s earliest days, hackers vied to break into Safari, Firefox, and Internet Explorer in the shortest time possible. As smartphones became ubiquitous, top prizes were awarded to those who could hack iPhones and BlackBerries. In 2012 the system to beat was Google’s Chrome browser. Three teams of hackers broke into Chrome that year. But only two received Google’s cash prize.

pages: 226 words: 71,540

Epic Win for Anonymous: How 4chan's Army Conquered the Web
by Cole Stryker
Published 14 Jun 2011

Commercialization Only the biggest meme stars will ever see any money, whether it’s through corporate sponsorship or by selling meme-related merchandise. Microsoft hired Paul Vasquez, star of the Double Rainbow meme, to promote the Windows Live Photo Gallery software in a TV ad. Adah Bahner of Chocolate Rain fame shilled for Dr. Pepper, Firefox, Sony, Vizio, and more. Internet memes provide advertisers a roster of recognizable but reasonably priced spokespeople who are keen to translate their fifteen minutes of fame into some quick cash before their meme dies. Death Memes never truly die, but one could argue that it’s time to move on when your hopelessly unhip mom or dad asks “Hey, did you see that thing on YouTube about that guy who punched out another guy on the subway?”

Anonymous retaliated, successfully DDoSing eight websites, including those representing the Tunisian president, prime minister, the ministry of industry, the ministry of foreign affairs, and the stock exchange. Beyond the DDoSs, Anonymous created informational materials to guide dissidents on concealing their identities on the web. A few Anons developed a Firefox extension to protect Tunisians from phishing. Anonymous also participated in the revolution in Egypt. They helped mirror sites that had been censored by the Egyptian government, brought down President Hosni Mubarak’s website, and, in typical lulzy fashion, sent pizza deliveries to the country’s embassies.

pages: 267 words: 78,857

Discardia: More Life, Less Stuff
by Dinah Sanders
Published 7 Oct 2011

You will achieve more when working on multiple projects if you give them your full attention for set chunks of time than if you incessantly flit between them. The chunks don't need to be very large—even 15- to 30-minute laps can be hugely productive for many activities. Focus and don't give in to the “I'll just take a quick peek to see if there's new email” urges as you work. (If you need a little help with your willpower, try LeechBlock (a Firefox browser extension) to limit your work-time visiting of nonwork websites.) When you're creating or connecting, shut down other inputs. Turn off chat and message services when writing email or blog posts. Turn the TV off during conversation. Clean all the icons off your computer desktop that do not lead to the tasks you’re doing today.

When you catch yourself swearing at your monitor, see if you can identify a pattern or problem to solve. Perhaps you need to find software that is a better fit for the way you think about this task; maybe you only need to adjust a setting to get the behavior in line with your instincts. This happened to me with iTunes on the Mac. I spend a great deal of my day in the Firefox web browser, and have reached the point where Command-T—the control to open a new tab—means “jump to where I can do the next thing I want to do.” In iTunes I was incessantly hitting that command when I wanted to jump to the currently playing song—to rate it differently or add a comment, for example.

pages: 238 words: 73,824

Makers
by Chris Anderson
Published 1 Oct 2012

And this time it’s not designed to train workers for low-end blue-collar jobs, but rather it’s funded by the government’s advanced manufacturing initiative aimed at creating a new generation of systems designers and production innovators. Meanwhile, the rise of “open hardware,” another part of what’s known as the Maker Movement, is now doing for physical goods what open source did for software. Just as online communities of programmers created everything from the Linux operating system that runs most of today’s websites to the Firefox Web browser, new communities of Makers are doing the same with electronics, scientific instrumentation, architecture, and even agricultural tools. There are now scores of multimillion-dollar open-hardware companies (including my own company, 3D Robotics8); some of them, such as the Arduino electronics development board, have sold more than a million units.

It’s also worth bearing in mind that at this more bespoke end of the market, products can generally support a higher price. Customers are both keen and savvy: they are prepared to spend a bit more because they know that they are getting exactly what they want. It’s an attractive business model. Open design’s advantage Today we use the products of open software innovation every day: the Firefox Web browser, Android phones, the Linux Web servers that run most of the websites we go to, and countless other elements of the open-source software that the Internet is built on. Tomorrow the same may be true for hardware, too. I’ve driven in open-source cars (the Local Motors Rally Fighter, of which you’ll hear more later) and watched open-source planes fly.

pages: 420 words: 79,867

Developing Backbone.js Applications
by Addy Osmani
Published 21 Jul 2012

DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script src="http://documentcloud.github.com/underscore/underscore-min.js"></script> <script src="http://documentcloud.github.com/backbone/backbone-min.js"></script> <script> // Your code goes here </script> </body> </html> You can then save and run the file in your browser of choice, such as Chrome or Firefox. Alternatively, if you prefer working with an online code editor, jsFiddle and jsBin versions of this boilerplate are also available. Most examples can also be run directly from within the console in your browser’s developer tools, assuming you’ve loaded the boilerplate HTML page so that Backbone and its dependencies are available for use.

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: 313 words: 75,583

Ansible for DevOps: Server and Configuration Management for Humans
by Jeff Geerling
Published 9 Oct 2015

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. To anyone who’s set up a new Mac the old-fashioned way—download 15 .dmg files, mount them, drag the applications to the Applications folder, eject them, delete the .dmg files—Homebrew’s simplicity and speed are a godsend.

pages: 296 words: 78,631

Hello World: Being Human in the Age of Algorithms
by Hannah Fry
Published 17 Sep 2018

Europeans are the lucky ones, but there are those pushing for regulation in America, too. The Federal Trade Commission published a report condemning the murky practices of data brokers back in 2014, and since then has been actively pushing for more consumer rights. Apple has now built ‘intelligent tracking prevention’ into the Safari browser. Firefox has done the same. Facebook is severing ties with its data brokers. Argentina and Brazil, South ­Korea and many more countries have all pushed through GDPR-like legislation. Europe might be ahead of the curve, but there is a global trend that is heading in the right direction. If data is the new gold, then we’ve been living in the Wild West.

‘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: 269 words: 77,876

Brilliant, Crazy, Cocky: How the Top 1% of Entrepreneurs Profit From Global Chaos
by Sarah Lacy
Published 6 Jan 2011

But if Microsoft’s dominance hasn’t been chal enged, it is slowly but surely eroding in terms of influence. On platforms like the Web and mobile devices, the war isn’t between Microsoft and anyone, it’s between Google and Apple. Even with its dominant products, percentage points of market share here or there are increasingly going to competitors, be they Google, Salesforce.com, or Firefox. It’s not the cash Microsoft is stil raking in that matters, it’s that shift in momentum. Customers don’t get excited by a Microsoft launch anymore, many top employees have long since left to work for companies like Google and Facebook, and the stock is essential y where it was 10 years ago. Like Microsoft, Silicon Val ey won’t lose in sheer numbers of startups or dol ars spent, and it wil probably stil continue to give birth to most of the bil ion-dol ar companies for the next decade.

Endeavor Entrepreneurship: in emerging markets globalization of political ramifications U.S. history of Ericsson Estrin, Judy Ewing Marion Kauffman Foundation Facebook: employee cachet funding for in Indonesia as media giant PayPal role in social network Factory Girls (Chang) Fal ows, James FARC. See Revolutionary Armed Forces of Columbia (FARC) Farmer, Paul Fast Company Federal Reserve Bank FedEx 56.com Financial Times Firefox Forbes “Midas List,” Foxconn Friendster Gandhi, Mohandas K. (Mahatma) Gandhi, Pravin Gates, Bil Gates Foundation GDP: Africa China-related Rwanda Singapore wages as share of U.S. world comparisons General Motors Geni Genocide, Rwandan Ghate, Ravi Giant Interactive Giuffrida, Fred Globalization Goldman Sachs Gomes, Marco Gondal, Vishal Google: ad build-out in China as competitor as copycat founder of funding for immigrant success story as innovator in Israel powerhouse vis-à-vis Tencent Web share YouTube acquisition Gourevitch, Philip Grant Thornton LLP Great Leap Forward (Mao) Greenfield opportunities: in Brazil in China defined in India in Israel venture capital and in Western world Groupon Grove, Andy Growth Enterprise Board G7 nations Gupta, Abhishek Gupta, Naren Habyarimana, Juvenal Hambrecht & Quist Hanna, Jack Harvard Business School He, Eric Hertz, Matt Hewlett-Packard Highland Capital Partners Hinduism, culture of Hiware Bazar (India) Ho, Roy Hole-in-the-Wal program Horsley Bridge Partners Hsieh, Tony Huawei Hulu ICQ IL&FS Image Café Immigrants: Brazilian as economic asset as entrepreneurs Indian to Indonesia role in Israel In U.S.

pages: 268 words: 76,702

The System: Who Owns the Internet, and How It Owns Us
by James Ball
Published 19 Aug 2020

By adding DoubleClick to its repertoire, Google managed to extend its advertising dominance just in time, now being one of the biggest ad networks displaying ads across the internet, not just on its own sites. Given Google also created Chrome (a web browser – the software used to access the web, such as Internet Explorer or Firefox), Android (a mobile phone operating system) and more, its data pool keeps widening, and its advantage grows and grows – and regulators seem to just tinker at the margins, with even apparently huge and dramatic legislation like GDPR seeming to make almost no difference in the day-to-day business model of the ad-funded internet.

venture capital/VC: the financial model (and financial backer) of most of the internet, venture capital is a particular subset of private equity which invests in tech firms, hoping for returns of ten times or more. World Wide Web: the web is the most obvious and visible bit of the internet to most of us, conceived in 1989 by Tim Berners-Lee, and is the system by which websites are delivered to browsers such as Chrome, Firefox or Safari. FURTHER READING The following serve as a selected bibliography of the books used in the research of this book, as well as a few not cited herein but which offer good background or further reading on some of the topics covered. This isn’t comprehensive – it doesn’t include books or papers cited in passing, but these are included in the endnotes.

pages: 720 words: 197,129

The Innovators: How a Group of Inventors, Hackers, Geniuses and Geeks Created the Digital Revolution
by Walter Isaacson
Published 6 Oct 2014

“Who would have thought that a world-class operating system could coalesce as if by magic out of part-time hacking by several thousand developers scattered all over the planet, connected only by the tenuous strands of the Internet?”146 Not only did it become a great operating system; it became a model for commons-based peer production in other realms, from Mozilla’s Firefox browser to Wikipedia’s content. By the 1990s there were many models for software development. There was the Apple approach, in which the hardware and the operating system software were tightly bundled, as with the Macintosh and iPhone and every iProduct in between. It made for a seamless user experience.

Networks for collaboration have existed ever since the Persians and Assyrians invented postal systems. But never before has it been easy to solicit and collate contributions from thousands or millions of unknown collaborators. This led to innovative systems—Google page ranks, Wikipedia entries, the Firefox browser, the GNU/Linux software—based on the collective wisdom of crowds. There were three ways that teams were put together in the digital age. The first was through government funding and coordination. That’s how the groups that built the original computers (Colossus, ENIAC) and networks (ARPANET) were organized.

Many of the advances that created the Internet and its services occurred in this fashion, which the Harvard scholar Yochai Benkler has labeled “commons-based peer production.”32 The Internet allowed this form of collaboration to be practiced on a much larger scale than before. The building of Wikipedia and the Web were good examples, along with the creation of free and open-source software such as Linux and GNU, OpenOffice and Firefox. As the technology journalist Steven Johnson has noted, “their open architecture allows others to build more easily on top of existing ideas, just as Berners-Lee built the Web on top of the Internet.”33 This commons-based production by peer networks was driven not by financial incentives but by other forms of reward and satisfaction.

pages: 371 words: 78,103

Webbots, Spiders, and Screen Scrapers
by Michael Schrenk
Published 19 Aug 2009

Generally, agent names identify the browser that the web surfer was using to view the website. Some agent names that a server log file may record are shown in Listing 3-3. The first four names are browsers; the last is the Google spider. Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.6) Gecko/20050225 Firefox/1.0.1 Mozilla/4.0 (compatible; MSIE 5.0; Windows 2000) Opera 6.03 [en] Mozilla/5.0 (compatible; Konqueror/3.1-rc3; i686 Linux; 20020515) Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.1) Googlebot/2.1 (+http://www.google.com/bot.html) Listing 3-3: Agent names as seen in a file access log A webbot using cURL can assume any appropriate (or inappropriate) agent name.

[75] The robots.txt specification is available at http://www.robotstxt.org, [76] The specification for the robots meta tag is available at http://www.robotstxt.org/wc/meta_user.html Building Speed Bumps Better methods of deterring webbots are ones that make it difficult for a webbot to operate on a website. Just remember, however, that a determined webbot designer may overcome these obstacles. Selectively Allow Access to Specific Web Agents Some developers may be tempted to detect their visitors' web agent names and only serve pages to specific browsers like Internet Explorer or Firefox. This is largely ineffective because a webbot can pose as any web agent it chooses.[77] However, if you insist on implementing this strategy, make sure you use a server-side method of detecting the agent, since you can't trust a webbot to interpret JavaScript. Use Obfuscation As you learned in Chapter 20, obfuscation is the practice of hiding something through confusion.

pages: 362 words: 86,195

Fatal System Error: The Hunt for the New Crime Lords Who Are Bringing Down the Internet
by Joseph Menn
Published 26 Jan 2010

THE AREA WITH THE MOST COMPLEXITY—and the greatest short-term potential—lies in the nascent communities of private sleuths like Barrett, the team that identified the suspected author of the SoBig virus, and those tracking the RBN. There should be more of a coordinated movement to save the Net, which should set out credos with the moral force that has driven the development of Linux, the Firefox Web browser, and other open-source projects. Those efforts attracted thousands of volunteer programmers to help develop alternatives to commercial products that were riddled with flaws. Certainly protecting the public is a higher calling still. Such campaigns could simultaneously aid law enforcement and shame them into action.

See Maksakov, Ivan Facebook Falun Gong Faust Federal Bureau of Investigation (FBI) CarderPlanet and Digital Gaming Solutions raid and distributed denial-of-service attacks and FSB and identity theft and Lyon, Barrett and MVD and NHTCU and online gambling, federal crackdown on and Russia case and Sacco, Ron and underground economy and Vendorsname and Federal government Federal Security Service (FSB) Federal Trade Commission (FTC) FedEx Feinstein, Dianne Fenwick, Trevor Ferguson, Paul Ferrell, Will Fifth Amendment Financial Times Finland Firefox Web browser First Fidelity Five Families Fleiss, Heidi Flyman Flynn, Mickey. See Richardson, Mickey Flynn, Mickey, Jr. Forbes Forbes Ford, Mike Fortune Frank, Barney Frist, Bill “Fruity.” See Green, Brian FSB. See Federal Security Service F-Secure FTC.

pages: 322 words: 84,752

Pax Technica: How the Internet of Things May Set Us Free or Lock Us Up
by Philip N. Howard
Published 27 Apr 2015

There are important civil-society actors that lead successful campaigns against the absolute dominance of technology firms. The 2012 defeat of the Stop Online Piracy Act and Protect IP Act is a good example of the clout that users can have when they are organized. An important open software movement gives us good, free tools, such as Firefox and Apache. In feudal politics the state and religious authority were one and the same thing. China’s technology businesses and government agencies are sometimes indistinguishable from one another because of complex reporting structures and ownership patterns. In most democracies, technology firms and government agencies are closely aligned but organizationally distinct.

See also cyberespionage Estrada, Joseph, 127 Ethiopia, 215 Euromaidan protests (Ukraine), 114–15 Europe, political parties in, defending internet freedom, 166 European Union, 98 export controls, 252 extremism, resilience of, 131 extremist groups, 216–17, 219, 220 Facebook: xiii–xiv, 8, 9, 122; facilitating clan formation, 173, 174; governments requesting data from, 26; used as recruiting tool, 216–17 failed states, 72, 80–84, 94, 159; data from, 110–11; technology use in, 134 failing states, 80–84, 94 fair-trade coffee movement, 49–50 Federal Bureau of Investigation (FBI), 39 Femen network (Ukraine), 86 feudalism, 63–64 filter bubble, 202 financial markets, bots in, 34 Finfisher, 201 Firefox, 64 firms, rise of, 6 FISA. See Foreign Intelligence Surveillance Act Flame (virus), 40 Flemish, self-governance and, 145 Flickr, 9 foreign affairs, device networks and, 249 Foreign Intelligence Surveillance Act, 24 foreign policy, technology policy and, 8 fourth wave, 51 Freegate, 30 Free Syria Army, 62 Frischmann, Brett, 243 FrontlineSMS, 101–2, 119 Fukuda, Hareaki, 253 Fukushima Daiichi nuclear plant, 177 Fukuyama, Francis, 12, 52, 129 Gauss (virus), 40 gender politics, 76–77 geographic information systems, 48 geolocation, xiii–xiv Georgia, 238 Gibbon, Edward, 232 GIS.

Beautiful Data: The Stories Behind Elegant Data Solutions
by Toby Segaran and Jeff Hammerbacher
Published 1 Jul 2009

CrimeWatch also relies heavily on client-side JavaScript smarts beyond simple form submissions, including the use of additional state variables, so intermediate response pages must be parsed with a tolerant HTML parser and regular expressions to search for details buried deep within page scripts. Finally, since many such older-generation web applications were built and released before cross-browser dynamic HTML became a common practice among developers, it’s often necessary to spoof the User-Agent header and pretend to be either Internet Explorer or Mozilla Firefox; other browsers are turned away with compatibility warnings and no data. At the end of this process, you are left with a medium-sized image bitmap, hopefully containing recognizable crime report icons. The first pass at extracting the pixel locations of each icon was simple, but slow: for every possible location in the image, compare its pixel colors to a known icon, and report positive matches wherever the amount of difference was below a certain threshold.

Another possible enhancement that received a great deal of serious attention during our downtime was the concept of distributed page scraping. The reason our normal collection process was vulnerable to interruption was that all requests had to originate from the same Internet address, making them trivially easy to block when needed. We experimented with a distributed model implemented as a Firefox browser add-on, executed in JavaScript and controlled centrally. We hoped that a sufficient number of our technically savvy visitors would be willing to download a browser toolbar icon and help collect data when indicated. Requests to the CrimeWatch server would be spread over a large number of visiting IP addresses, at unpredictable hours of the day: a pattern effectively indistinguishable from normal site use.

The eventual feedback we received on this feature was invaluable. One resident said, “We have a Beat1X NCPC (Neighborhood Crime Prevention Council) meeting next week…I’ll be able to show up more prepared than OPD…our experience has been that they seldom if ever have current statistics to share with us.” The Firefox browser plug-in and associated web service controller were completed and planned for limited, experimental rollout around the same time that the City of Oakland informed us that we would be provided with a nightly spreadsheet of complete citywide crime report information, along with street addresses or intersections where appropriate.

pages: 478 words: 149,810

We Are Anonymous: Inside the Hacker World of LulzSec, Anonymous, and the Global Cyber Insurgency
by Parmy Olson
Published 5 Jun 2012

Tflow had written a browser JavaScript plug-in that effectively stripped the government’s added Java code and redirected Tunisian Internet users away from its phishing servers (essentially fake Gmail, Yahoo, and Facebook sites) and back to the original, true hosts. Tunisian Internet users first had to install the Greasemonkey add-on for Firefox. Then it was just a matter of opening Firefox and going to Tools, then to Greasemonkey and New User Script, to paste in the code. Having clicked “Okay,” Tunisians could within a minute or two access Facebook, Twitter, Blogger, Gmail, and Yahoo without exposing their login details. I have sourced the story about Sabu remotely controlling a Tunisian man’s computer to deface the website of the country’s prime minister from interviews with Sabu himself, conducted in April of 2011.

In a separate incident, a webmaster whose website was being hit by Gigaloader in 2007 said the traffic he was getting looked like this: 75.185.163.131 - - [27/Sep/2007:05:10:16 -0400] “GET /styles/xanime/top.jpg?2346141190864713656_ANON_DOES_NOT_FORGIVE HTTP/1.1” 200 95852 “http://www.gigaloader.com/user-message/ANON_DOES_NOT_FORGIVE” “Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7” In the case of Scientology.org, 4chan was sending the message “DDOS BY EBAUMSWORLD” to the church’s servers, part of a running gag to blame 4chan’s antics on the rival, slightly tamer site. Once the thread’s participants started hitting Scientology.org with Gigaloader, another poster described “Phase 2”: /b/ would create a shell site and upload to it a video that repeatedly flashed “facts of Scientology and its inner workings.”

pages: 492 words: 153,565

Countdown to Zero Day: Stuxnet and the Launch of the World's First Digital Weapon
by Kim Zetter
Published 11 Nov 2014

An exploit for Apple’s iOS can also go for $100,000 because the iPhone is more difficult to crack than competing mobile phones. Browser exploits that attack Firefox, Internet Explorer, and Chrome can sell for anywhere from $60,000 to more than $200,000, depending on their ability to bypass security protections the vendors have put in the software.1 Whatever the price on the gray market, however, it far surpasses in most cases what a seller can get from the white-market bounty programs. The Mozilla Foundation pays just $3,000 for bugs found in its Firefox browser and Thunderbird e-mail client, for example, while Microsoft, which was criticized for years for having no bug bounty program, began offering just $11,000 in 2013 for bugs found in the preview release of its new Internet Explorer 11 browser.

If someone wanted to sell an exploit but had no government contacts, it was difficult to sniff out a buyer. Beginning in 2006, for example, one security firm sold several zero-day exploits to a contact at a large US defense firm, according to a former employee who worked there. The zero days, all browser exploits targeting security holes in Safari, Firefox, and Internet Explorer, sold for about $100,000 each. The security firm got $50,000 up front for each sale it made and $10,000 a month thereafter until the price was paid off—payments were spread out to discourage them from reselling the exploits to other buyers or disclosing them to the vendors for patching.

pages: 527 words: 147,690

Terms of Service: Social Media and the Price of Constant Connection
by Jacob Silverman
Published 17 Mar 2015

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.

Apps such as Ghostery, DoNotTrackMe, and Disconnect block the more than 2,000 “retargeters” that use cookies, ad networks, and other techniques to track your browsing history and present you related ads across the Internet. These plug-ins can also block surveillance from social widgets, including Like buttons. Some browser makers have also stepped up, with Safari and Firefox automatically blocking cookies from third-party sites that the user hasn’t visited. But some of these blocking apps aren’t quite what they claim to be. Evidon, the company that makes Ghostery, takes some of the data it collects from Ghostery users—there are eight million of them—and sells it to advertisers.

pages: 299 words: 91,839

What Would Google Do?
by Jeff Jarvis
Published 15 Feb 2009

The story is often told: Distributed armies of programmers created the most important software underlying the internet, from the Linux operating system that powers most internet servers to the free Apache web server software that delivers most web pages to the 500 million open-source Firefox browsers that show those pages. Why do these programmers do this work for free? Because they’re generous. They want to be part of something. They care. They may want to stick it to the man (namely, Mr. Gates). And they know that banding together in an open network lets them create a better product than they could if they were to work inside most corporations. How is open-source not chaos? New York University journalism professor Jay Rosen studied the Firefox project when he wanted to bring similar collaboration to journalism at his NewAssignment.net project.

pages: 366 words: 94,209

Throwing Rocks at the Google Bus: How Growth Became the Enemy of Prosperity
by Douglas Rushkoff
Published 1 Mar 2016

The Mozilla Foundation, developers of the Web browser now called Firefox and one of the most successful digital companies of our time, is a not-for-profit. The company is a success both for its widely used open-source technologies and for its leadership position in a field dominated by platform monopolies. Mozilla is actually made up of two different entities: the Mozilla Foundation, a nonprofit, and the Mozilla Corporation, which the foundation oversees. The subsidiary corporation is responsible for much of Mozilla software’s development, marketing, and distribution. It collects the massive revenue generated by Firefox,84 but it has no publicly traded stock, no dividends, and no shareholders.

pages: 340 words: 96,149

@War: The Rise of the Military-Internet Complex
by Shane Harris
Published 14 Sep 2014

The agency also tried to attack Tor users from outside the network, infecting or “tagging” computers with a kind of electronic marker as they went in and out of Tor. The NSA’s hackers looked for different avenues to break in to computers that might be using the network—or might not. Once, they discovered a particular weak spot in a version of the Internet browser Firefox, which made it easier to tag computers using that browser. Never mind that the same weakness, if left unprotected, could be used to harm people who’d never heard of Tor and had no desire to cover their online footprints. The NSA’s anti-Tor campaign was exposed in 2013, through top-secret documents leaked by Edward Snowden.

See electrical power systems; nuclear facilities; petroleum power systems engineering, reverse, [>] England, Gordon, [>] Estonia, [>] ethical issues: cyber offense by private companies, [>]; how sold information is used, [>], [>]; placement of blame for zero day attack, [>]; responsibility to disclose vulnerabilities, [>], [>]–[>], [>]–[>], [>] Facebook, [>], [>], [>], [>], [>] Federal Bureau of Investigation (FBI), [>], [>]–[>], [>], [>]–[>], [>], [>]–[>], [>]–[>], [>], [>] fiber-optic trunk lines, [>], [>], [>] Fick, Nathaniel, [>]–[>] fifth domain, cyberspace as the, [>], [>], [>], [>], [>] file-sharing networks, [>]–[>] financial and banking data systems: clearinghouse network, [>]; cyber breaches, [>]–[>], [>]–[>]; cyber security, [>], [>], [>]–[>], [>]–[>], [>], [>]; denial-of-service attacks, [>], [>], [>], [>], [>]; hack-back against Citadel, [>]–[>]; risks of malware use in military context, [>]–[>], [>]. See also critical infrastructures FinFisher software, [>]–[>], [>] FireEye, [>], [>] Firefox, [>] First Amendment, [>] FISA. See Foreign Intelligence Surveillance Act Flatliquid operation, [>]–[>], [>] n. [>] Foreign Intelligence Surveillance Act (FISA), [>], [>]–[>], [>] Foreign Intelligence Surveillance Court, [>], [>]–[>], [>] foreign policy, US: for China, [>]–[>], [>]–[>]; international cyber agreements, [>], [>]; and monitoring of foreigners, [>], [>]–[>], [>], [>], [>], [>] forensics, network, [>], [>]–[>], [>], [>], [>] Fourth Amendment, [>], [>], [>], [>], [>] France, [>]–[>], [>]–[>], [>] F-35.

pages: 316 words: 90,165

You Are Here: From the Compass to GPS, the History and Future of How We Find Ourselves
by Hiawatha Bray
Published 31 Mar 2014

Skyhook had created a version of Loki for Apple’s Mac computers a few months earlier, but it was not good enough for Borchers. He had seen Loki run as an add-on program for the Firefox Internet browser, but worried that Jobs might reject a browser-based program not running on Apple’s own browser, Safari. “I kind of begged him to quickly do a Safari port,” said Borchers, today a general partner at venture investing firm Opus Capital, “because I knew if I showed it on Firefox, that wouldn’t be popular.”8 Meanwhile, Morgan and Shean were determined that Jobs see their technology at its best. Shean had managed to identify the resort where the executive meeting would be held.

pages: 317 words: 98,745

Black Code: Inside the Battle for Cyberspace
by Ronald J. Deibert
Published 13 May 2013

In Brazil, there is an academy that openly advertises courses on computer crime: “This course is intended for everybody making online transactions. You will learn how crackers take control of corporate or home computers … how ‘auto-infect’ works, how to use sources [trojans], how to manipulate the security plug-ins installed on browsers such as Internet Explorer, Firefox, Chrome, Avant, Opera, and antivirus and firewalls. How spamming helps catch new victims, what ‘loaders’ do and how crackers use them … how crackers can own e-commerce websites that store credit card numbers and what they do with this data. You’ll learn about the laws in Brazil and what the sentence is if you’re caught.”

In Germany, courts have long allowed the use of backdoor programs to help law enforcement listen in on encrypted communications as part of legal wiretaps. However, the CCC alleged that the software went far beyond those permissible purposes, and claimed the trojan could be used to monitor Skype, Yahoo! Messenger, and MSN Messenger; log keystrokes made through Firefox, Internet Explorer, and other browsers; and take screen captures of desktops. The CCC wrote that the “State Trojan” violated German law because it could also upload and execute programs remotely. “This means, an ‘upgrade path’ from [lawful spyware] to the full State Trojan’s functionality is built-in right from the start.

pages: 362 words: 87,462

Laziness Does Not Exist
by Devon Price
Published 5 Jan 2021

Lischka, “Is Audience Engagement Worth the Buzz? The Value of Audience Engagement, Comment Reading, and Content for Online News Brands,” Journalism 20, no. 2 (January 2017): 714–32. 30. Stroud, Van Duyn, and Peacock, “News Commenters and News Comment Readers.” 31. Ricky Romero, “Shut Up: Comment Blocker,” Firefox Browser Add-Ons, https://addons.mozilla.org/en-US/firefox/addon/shut-up-comment-blocker/. 32. M. Bodas, M. Siman-Tov, K. Peleg, and Z. Solomo, “Anxiety-inducing media: the effect of constant news broadcasting on the well-being of Israeli television viewers,”Psychiatry 78, no. 3 (2015): 265–76. 33. S. P. Roche, J. T. Pickett, and M.

pages: 332 words: 93,672

Life After Google: The Fall of Big Data and the Rise of the Blockchain Economy
by George Gilder
Published 16 Jul 2018

This combination of security and attestation makes cryptocurrencies a fundamental improvement on existing moneys—a remedy for the monetary turbulence of our time. CHAPTER 16 Brave Return of Brendan Eich “Hello. I’m to blame for JavaScript.” A slightly pudgy, affable, fifty-five-year-old American computer programmer stands on stage in the gilded Vienna Volkstheater. This is Brendan Eich, the co-founder of Mozilla and the inventor of the Firefox browser, starting his 2016 TEDx talk “How to Fix the Web.” He bows, with his hands on his head miming his embarrassment. The young Eich wrote JavaScript in ten days in 1995 as a prototype for Netscape; its name reflected the fame of the better-known Java, developed earlier at Sun by James Gosling and promoted into an industry standard by Eric Schmidt.

, 193 Doerr, John, 26 Donald, James, 133 Draper, Tim, 244 Dreamscope, 193, 196–98 Drexler, Eric, 93 Drucker, Peter, 12, 86 Dyson, Esther, 63, 183 E Education of Henry Adams, The, 280 Edwards, Doug, 38 Eich, Brendan, 48, 166, 169, 176, 179–87, 207 Eichenholz, Jason, 115 Einstein, Albert, 72, 76, 79, 89–90 Ethereum, 106–7, 111, 121, 127, 150–55, 157, 173–74, 176, 180, 184, 203–4, 207, 223–24, 244, 263–65, 267–68 Eugene Onegin, 76 Euler, Leonhard, 14–15 Everquest, 127 Extraordinary Popular Delusions and the Madness of Crowds, 257 Exxon, 11 F Facebook, 4, 8, 54, 80, 93, 126, 164, 167–69, 172, 182–83, 185, 187, 198, 201, 206, 220, 224, 229, 233–34, 269, 272, 284 Fano, Robert, 81 Ferguson, Niall, 130 1517 Fund, 109, 111–12, 220, 223 Finney, Hal, 119–20, 123–24, 134–35 Firefox, 179 Forthrast, John, 127 Fortune, 5 Fourier, Jean-Baptiste Joseph, 86 Fox, Michael J., xii Freedman, Michael J., 157, 159, 161, 165, 265 G Galt, John, 123, 130 Gates, Bill, 26, 124, 224 Gelernter, David, German Ideology, The, 6 Gibson, Mike, 109–11, 194, 221 Gilder Publishing, xi Gingrich, Newt, 130 Gmail, 2, 54, 58, 97 Gödel, Kurt, 15–19, 73–74, 84, 100–1, 103, 105–6, 149, 247, 262, 278, 280–81, 283, 286 Goldberg, Ian, 107 Good, I.

pages: 135 words: 26,407

How to DeFi
by Coingecko , Darren Lau , Sze Jin Teh , Kristian Kho , Erina Azmi , Tm Lee and Bobby Ong
Published 22 Mar 2020

To skip the queue, you may use this link to sign up: https://argent.link/coingecko You will get an email notification once your wallet is ready to use! Step 6 You start depositing or sending cryptocurrencies to other people. Do consider adding additional Argent Guardians to improve your security. ~ Desktop Users: Metamask For desktop users, you may use Metamask, a web browser extension available on the Chrome, Firefox, Opera, and Brave browsers. Like Argent, Metamask is a non-custodial wallet and it acts as both a wallet and an interaction bridge for the Ethereum network. You can store your Ethereum and ERC20 tokens on Metamask. Acting as an interaction bridge, Metamask enables you to use all Decentralized Applications (Dapps) that are hosted on the Ethereum Network.

pages: 108 words: 27,451

Magic Internet Money: A Book About Bitcoin
by Jesse Berger
Published 14 Sep 2020

Up to this point, this book has romanticized Bitcoin, looking at it through rose-colored lenses, but in order to do it justice, a sober assessment of its shortcomings is also needed. Peering into the chasm of this unfinished business, this chapter will delve into some of the obstacles Bitcoin must overcome to realize its potential. 11.2 Ease of Use “The next big thing is the one that makes the last big thing usable.” Blake Ross, Co-Creator of Mozilla Firefox During the commercial expansion of the Internet in the 1990s, a router initially required a full minute or two to make a connection, jeopardizing a phone line in the process. Pages would load slowly, applications were rudimentary, and resources were sparse. The entire process was unfamiliar, complicated, and its usefulness limited.

pages: 309 words: 65,118

Ruby by example: concepts and code
by Kevin C. Baird
Published 1 Jun 2007

The stylesheet also defines two IDs called #navAlpha and #navBeta, which are just identifiers for column divs. Within #navAlpha at , we use the output of alpha_width for the width of #navAlpha, and at , we do something analogous for #navBeta.  The Results Here’s the output of stylesheet.rcss when I browse to it using Mozilla Firefox on an Ubuntu system: /* This file outputs CSS data customized by user_agent via eruby. There is a blog entry about some similar ideas at http://blog.airbladesoftware.com/2006/12/11/cssdryer-dry-up-your-css */ li { margin-left:-2.5em; } #navAlpha { position:absolute; width:11.8em; top:2em; left:2em; border:0.5em double #333; background-color:#ada; padding:1em; z-index:2; } #navBeta { position:absolute; width:15.8em; CGI a n d t h e We b 217 top:2em; right:2em; border:0.5em double #333; background-color:#ada; padding:1em; z-index:1; } You’ll notice that the appropriate values are interpolated within the li and width CSS declarations.

Using the Application At this point, we have a photo album application, as well as a decent understanding of how its component parts are organized and how they work, both individually and as part of the whole. Now let’s take a look at this app in action, starting by opening it in a web browser. Figure 13-2 shows how the default action of the Album Controller looks when I view it with the Epiphany web browser. Its appearance should differ only trivially in other graphical browsers, like Firefox or Internet Explorer. Figure 13-3 shows the appearance of the first image, as displayed by the show View of the Album Controller. Figures 13-4 and 13-5 show the appearance of the images View of the Feed Controller. Figure 13-4 shows it (again) in Epiphany, while Figure 13-5 shows it in Akregator, which is a program designed specifically for viewing RSS feeds.

Future Files: A Brief History of the Next 50 Years
by Richard Watson
Published 1 Jan 2008

The result is that making things available for free is now a recognized business model on the internet. In the future it may be the only business model on the internet. A good example is Mozilla Corp. This is the company that’s part of the non-profit foundation behind Firefox, which is a suite of internet applications including a browser. The company has 70 employees and almost 200,000 volunteer helpers. Firefox itself has a 15% share of the global browser market and has been downloaded around 200 million times — or about 250,000 times every day. In other words this is a corporation whose main mass-market consumer product is free, which relies largely on unpaid workers and which might just be the model for a new type of corporation. 290 FUTURE FILES Along the way it could also remodel the not-for-profit sector and perhaps even capitalism itself.

pages: 415 words: 95,261

Map Scripting 101: An Example-Driven Guide to Building Interactive Maps With Bing, Yahoo!, and Google Maps
by Adam Duvander
Published 14 Aug 2010

You can, however, look at the tiles that are downloaded to your browser when you access a provider's maps. Doing this will give you a better idea of how the tile system works. Though you can get at the files in a number of ways, I'll show you a very easy method using the Firefox browser and the Firebug developer add-on. You can find them at http://www.getfirefox.com/ and http://www.getfirebug.com/, respectively. In Firefox, load an embedded map, such as the one in the basic map example. Click the Firebug icon in the lower-right corner, or choose Firebug ▸ Open Firebug from the Tools menu. In the Firebug panel, click the Inspect button, which allows you to see highlighted page elements.

pages: 368 words: 96,825

Bold: How to Go Big, Create Wealth and Impact the World
by Peter H. Diamandis and Steven Kotler
Published 3 Feb 2015

In Free, Anderson argues that in today’s economy one of the easiest ways to make money is to give stuff away.12 Here’s how he explains it: I’m typing these words on a $250 “netbook” computer, which is the fastest growing new category of laptop. The operating system happens to be a version of free Linux, although it doesn’t matter since I don’t run any programs but the free Firefox Web browser. I’m not using Microsoft Word, but rather free Google Docs, which has the advantage of making drafts available to me wherever I am, and I don’t have to worry about backing them up since Google takes care of that for me. Everything else I do on this computer is free, from my email to my Twitter feeds.

Shaw, 129 Devitt, Scott, 132–33 Diamandis, Peter H., 202, 278, 279, 286n Digital Apparel, 61 digital cameras, 6–7, 9, 10, 12, 12, 14, 76 first model of, 4–5, 5, 9 digitalization, 8–9, 8, 10, 20 of books, 154–55 of synthetic biology, 63, 64 digital manufacturing, 33 discovery-based insights, 160, 161–62 disruption, exponential, 8, 8, 9–10, 20, 24, 25, 29, 32, 39, 41, 59, 60, 256 robotics potential for, 60, 61–62 of synthetic biology, 63–65 3–D printing’s impact of, 33–35, 37, 38, 39 DIY communities, 215–16, 219, 227, 233, 239, 241, 243 case studies of, 219–25 definition of, 215 massively transformative purpose (MTP) in, 215, 221, 230, 231, 233, 240, 242 reasons for building of, 228–29 wrong reasons for building of, 229–30 see also communities, online DIY Drones, 216–17, 229, 232, 242 DNA, 63, 64, 65 Doctorow, Cory, 38 Dogpatch, Ky., 71 doll industry, 38–39 donation funding, 172, 173 Doukas, Charalampos, 43 Downey, Robert, Jr., 117 Dragon capsules, 34, 97, 119 Drive (Pink), 79 drones, 14, 44, 61, 133, 275 dual-use crowdsourcing, 154–56 Dunn, Jason, 35–36, 37 Duolingo, 155–56 DuPont, 72 D-Wave Systems, 58, 59 Eastman, George, 3–4, 15 Eastman Dry Plate Company, 4 Eastman Kodak Company, see Kodak Corporation eBay, 118, 218 “e-discovery” software, 56 Elastec/American Marine team, 252 electric cars, 119 Ellenberg, Jordan, 255 Ellucian, 258 Engadget (blog), 177, 206 engagement strategies: in crowdfunding campaigns, 203–6, 207 early donor, 203–5 incentive competitions as, see incentive competitions for media attention, 205–6 in online communities, 224, 227, 235, 236–38, 239, 241 rating systems as, 226, 232, 236–37, 240 entitlement problem, 237 Entrepreneur, 62 entrepreneurs, exponential, xi, xii–xiv, 15, 17, 21–22, 24, 28, 41, 66–67, 73, 115–16, 123, 169, 231, 243, 274, 278 AI and, 54, 56–59 birthing projects above line of super-credibility and, 96, 98–99, 98, 100, 101–2, 107, 190, 199, 203, 266, 272 building online communities for, see communities, online choosing technology for development by, see technology, exponential crowd tools of, see crowdfunding, crowdfunding campaigns; crowdsourcing; incentive competitions incentive prizes as tools of, see incentive competitions infinite computing and, 50–52 networks and sensors trend and, 43, 47–48 passion as important in, 106–7, 119–20, 122, 125, 134, 174, 183, 184, 228 psychological tools for, see psychological tools, of entrepreneurs risk management and, 76–77, 82, 83, 84, 86, 87, 88, 92, 93, 103, 109, 121–22, 126–27, 137, 261, 270 robotics and, 60, 61, 62 solving problems as business opportunities for, xii thinking at scale and, see scale, thinking at in 3–D printing, 35–39 see also specific entrepreneurs and companies equity funding, 172, 173–74 European Space Agency (ESA), 102 experts, in crowdfunding campaigns, 193 exponential communities, xiii, 148, 182, 219, 233 case study of, 225–28 definition of, 215–16 DIY vs., 215–16 see also communities, online exponential growth curve, x, 6, 7, 9, 12, 12, 36, 37, 41, 54, 59 of biotechnology, 64 linear vs., 7, 9 Six Ds of, see Six Ds of Exponentials exponential organizations, 15–17, 18–21, 22 crowd tools of, see crowdfunding, crowdfunding campaigns; crowdsourcing; incentive competitions definition of, 15 linear vs., 15, 17, 18, 19, 20, 21 structure of, 21 see also entrepreneurs, exponential; specific exponential entrepreneurs and organizations Exponential Organizations (ExO) (Ismail), xiv, 15 extrinsic rewards, 78, 79 Exxon Valdez, 250 FAA (Federal Aviation Administration), 110, 111, 261 Facebook, 14, 16, 88, 128, 173, 182, 185, 190, 195, 196, 202, 212, 213, 217, 218, 224, 233, 234, 236, 241 facial recognition software, 58 Fairchild Semiconductor, 4 Falcon launchers, 97, 119, 122, 123 false wins, 268, 269, 271 Fast Company, 5, 248 Favreau, Jon, 117 feedback, feedback loops, 28, 77, 83, 84, 120, 176, 180 in crowdfunding campaigns, 176, 180, 182, 185, 190, 199, 200, 202, 209–10 triggering flow with, 86, 87, 90–91, 92 Festo, 61 FeverBee (blog), 233 Feynman, Richard, 268, 271 Firefox Web browser, 11 first principles, 116, 120–21, 122, 126 Fiverr, 157 fixed-funding campaigns, 185–86, 206 “flash prizes,” 250 Flickr, 14 flow, 85–94, 109, 278 creative triggers of, 87, 93 definition of, 86 environmental triggers of, 87, 88–89 psychological triggers of, 87, 89–91, 92 social triggers of, 87, 91–93 Flow Genome Project, xiii, 87, 278 Foldit, 145 Forbes, 125 Ford, Henry, 33, 112–13 Fortune, 123 Fossil Wrist Net, 176 Foster, Richard, 14–15 Foundations (Rose), 120 Fowler, Emily, 299n Foxconn, 62 Free (Anderson), 10–11 Freelancer.com, 149–51, 156, 158, 163, 165, 195, 207 Friedman, Thomas, 150–51 Galaxy Zoo, 220–21, 228 Gartner Hype Cycle, 25–26, 25, 26, 29 Gates, Bill, 23, 53 GEICO, 227 General Electric (GE), 43, 225 General Mills, 145 Gengo.com, 145 Genius, 161 genomics, x, 63, 64–65, 66, 227 Georgia Tech, 197 geostationary satellite, 100 Germany, 55 Get a Freelancer (website), 149 Gigwalk, 159 Giovannitti, Fred, 253 Gmail, 77, 138, 163 goals, goal setting, 74–75, 78, 79, 80, 82–83, 84, 85, 87, 137 in crowdfunding campaigns, 185–87, 191 moonshots in, 81–83, 93, 98, 103, 104, 110, 245, 248 subgoals in, 103–4, 112 triggering flow with, 89–90, 92, 93 Godin, Seth, 239–40 Google, 11, 14, 47, 50, 61, 77, 80, 99, 128, 134, 135–39, 167, 195, 208, 251, 286n artificial intelligence development at, 24, 53, 58, 81, 138–39 autonomous cars of, 43–44, 44, 136, 137 eight innovation principles of, 84–85 robotics at, 139 skunk methodology used at, 81–84 thinking-at-scale strategies at, 136–38 Google Docs, 11 Google Glass, 58 Google Hangouts, 193, 202 Google Lunar XPRIZE, 139, 249 Googleplex, 134 Google+, 185, 190, 202 GoogleX, 81, 82, 83, 139 Google Zeitgeist, 136 Gossamer Condor, 263 Gou, Terry, 62 graphic designers, in crowdfunding campaigns, 193 Green, Hank, 180, 200 Grepper, Ryan, 210, 211–13 Grishin, Dmitry, 62 Grishin Robotics, 62 group flow, 91–93 Gulf Coast oil spill (2010), 250, 251, 253 Gulf of Mexico, 250, 251 hackathons, 159 hacker spaces, 62, 64 Hagel, John, III, 86, 106–7 HAL (fictional AI system), 52, 53 Hallowell, Ned, 88 Hariri, Robert, 65, 66 Harrison, John, 245, 247, 267 Hawking, Stephen, 110–12 Hawley, Todd, 100, 103, 104, 107, 114n Hayabusa mission, 97 health care, x, 245 AI’s impact on, 57, 276 behavior tracking in, 47 crowdsourcing projects in, 227, 253 medical manufacturing in, 34–35 robotics in, 62 3–D printing’s impact on, 34–35 Heath, Dan and Chip, 248 Heinlein, Robert, 114n Hendy, Barry, 12 Hendy’s law, 12 HeroX, 257–58, 262, 263, 265, 267, 269, 299n Hessel, Andrew, 63, 64 Hinton, Geoffrey, 58 Hoffman, Reid, 77, 231 Hollywood, 151–52 hosting platforms, 20–21 Howard, Jeremy, 54 Howe, Jeff, 144 Hseih, Tony, 80 Hughes, Jack, 152, 225–27, 254 Hull, Charles, 29–30, 32 Human Longevity, Inc.

pages: 103 words: 32,131

Program Or Be Programmed: Ten Commands for a Digital Age
by Douglas Rushkoff
Published 1 Nov 2010

Other times, however, clients demonstrate they are capable of making decisions with their professionals rather than surrendering their authority to them—often leading to better choices and better results. The net’s bias toward collaboration has also yielded some terrific mass participatory projects, from technologies such as the Firefox browser and Linux operating system to resources like Wikipedia. As examples of collective activity, they demonstrate our ability to work together and share the burden in order to share yet again in the tool we have gained. For many, it is a political act and a personal triumph to participate in these noncommercial projects and to do so for reasons other than money.

pages: 136 words: 20,501

Introduction to Tornado
by Michael Dory , Adam Parrish and Brendan Berg
Published 29 Sep 2011

Example: Live Inventory with WebSockets In this section, we will see how easy it is to update the HTTP long polling example we saw previously to use WebSockets. Keep in mind, however, that WebSockets are a new standard and are only supported by the very latest browser versions. The specific WebSocket protocol versions that Tornado supports are only available in Firefox versions 6.0 and up, Safari 5.0.1, Chrome 6 and higher, and the Internet Explorer 10 developer preview. With the disclaimer out of the way, let’s take a look at the source. Most of the code remains unchanged, but the server application needs a few modifications to the ShoppingCart and StatusHandler classes.

pages: 139 words: 35,022

Roads and Bridges
by Nadia Eghbal

Many popular projects started as a modification of an existing piece of software, including WordPress (content management system that powers 23% of the world’s websites [28] ), PostgreSQL (one of the world’s most popular and fast-growing databases [29] ), Ubuntu (operating system used by 10% of the world’s websites [30] ), and Firefox (one of the most popular web browsers in the world [31] ). WordPress began as an offshoot of an existing blogging project, b2 (also known as cafelog). Two software developers, Matt Mullenweg and Mike Little, decided they wanted a better version of b2 and subsequently forked the project. Mullenweg decided to fork b2, rather than another project called TextPattern, because b2’s licenses were more permissive.

pages: 413 words: 106,479

Because Internet: Understanding the New Rules of Language
by Gretchen McCulloch
Published 22 Jul 2019

But a little later, in the 70s, 80s, and 90s, the popular computer operating system Unix was case-sensitive—very sensitive. If your username was “foobar,” and you tried to log in as “FooBar,” then you might as well be a different person. If the way to open up the internet browser was to type “netscape” and you told the computer “Netscape,” then you might as well have typed in “firefox” or “chrome” (neither of which existed yet). All of these case-sensitive Unix usernames and commands were in lowercase, so Unix users got in the habit of keeping such technical vocabulary in lowercase, even at the beginning of a sentence. After all, if you type “foobar should’ve used netscape” even in social messages, then the newbie reading your post is far less likely to get confused and type the wrong capitalization into the terminal.

Just as early analogies of the brain compared it to a steam engine or hydraulic pump, while many modern neuroscientists invoke computers as metaphor, our language metaphors, too, need to evolve with the times. Here, perhaps, is the greatest impact that the internet can have on the English language: as a new metaphor. Like the big collaborative projects of the internet, such as Wikipedia and Firefox, like the decentralized network of websites and machines that make up the internet itself, language is a network, a web. Language is the ultimate participatory democracy. To put it in technological terms, language is humanity’s most spectacular open source project. Just as we find things on the internet by following links from one place to another, language spreads and disseminates through our conversations and interactions.

pages: 1,331 words: 183,137

Programming Rust: Fast, Safe Systems Development
by Jim Blandy and Jason Orendorff
Published 21 Nov 2017

Zeroable trait, Unsafe Traits zip adapter, zip About the Authors Jim Blandy has been programming since 1981, and writing free software since 1990. He has been the maintainer of GNU Emacs and GNU Guile, and a maintainer of GDB, the GNU Debugger. He is one of the original designers of the Subversion version control system. Jim now works on Firefox’s web developer tools for Mozilla. Jason Orendorff hacks C++ for Mozilla, where he is module owner of the JavaScript engine that’s in Firefox. He is an active member of the Nashville developer community and an occasional organizer of homegrown tech events. He is interested in grammar, baking, time travel, and helping people learn about complicated topics. Colophon The animal on the cover of Programming Rust is a Montagu’s crab (Xantho hydrophilus).

pages: 648 words: 183,275

The Rust Programming Language, 2nd Edition
by Steve Klabnik and Carol Nichols
Published 27 Feb 2023

Companies Hundreds of companies, large and small, use Rust in production for a variety of tasks, including command line tools, web services, DevOps tooling, embedded devices, audio and video analysis and transcoding, cryptocurrencies, bioinformatics, search engines, Internet of Things applications, machine learning, and even major parts of the Firefox web browser. Open Source Developers Rust is for people who want to build the Rust programming language, community, developer tools, and libraries. We’d love to have you contribute to the Rust language. People Who Value Speed and Stability Rust is for people who crave speed and stability in a language.

Note that we’ll still get an error page in the browser, but our program’s output in the terminal will now look similar to this: $ cargo run Compiling hello v0.1.0 (file:///projects/hello) Finished dev [unoptimized + debuginfo] target(s) in 0.42s Running `target/debug/hello` Request: [ "GET / HTTP/1.1", "Host: 127.0.0.1:7878", "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:99.0) Gecko/20100101 Firefox/99.0", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/* ;q=0.8", "Accept-Language: en-US,en;q=0.5", "Accept-Encoding: gzip, deflate, br", "DNT: 1", "Connection: keep-alive", "Upgrade-Insecure-Requests: 1", "Sec-Fetch-Dest: document", "Sec-Fetch-Mode: navigate", "Sec-Fetch-Site: none", "Sec-Fetch-User: ?

macro, 271–272 Eq trait, 508–509 error handling, 161–180 executable file, 6–7, 9 executing code, 6–7, 9 exit status code, 255 expect method, 17–18, 26, 169 expressions, 46–47 extern functions, 426–427 F fearless concurrency, 354 FFI (Foreign Function Interface), 426 field init shorthand, 87–88 fields, 86 files, 247–248 naming conventions, 5 organization, 138–140 filtered-out tests, 233–235 Firefox web browser, xxvi floating-point data types, 38–39 fn keyword, 15 FnMut trait, 280–281, 447, 475 FnOnce trait, 280–283, 447, 475–476 Fn trait, 280, 447, 475 fn type, 446–448 Foreign Function Interface, 426 for keyword loop, 57–58 patterns in, 400–401 in trait implementations, 194 format!

pages: 157 words: 35,874

Building Web Applications With Flask
by Italo Maia
Published 25 Jun 2015

We will discuss some very useful features that Flask-testing gives you out of the box: LiveServer setup, extra assertions, and the JSON response handle. Make sure it is installed before continuing: pip install flask-testing blinker LiveServer LiveServer is a Flask-testing tool that allows you to connect to headless browsers, a browser that do not render the content visually (such as Firefox or Chrome) but executes all scripts and styling and simulates user interaction. Use LiveServer whenever you need to evaluate the page content after JavaScript interaction. We'll use PhantomJS as our headless browser. My advice to you is that you install the old browser, like our ancestors did, compiling it from source.

pages: 266 words: 38,397

Mastering Ember.js
by Mitchel Kelonye
Published 19 Oct 2014

This may be useful in cases where we need to verify whether registered view classes are being used. This behavior can be enabled as follows: var App = Ember.Application.create({ LOG_VIEW_LOOKUPS: true }); Using the Ember.js inspector An Ember.js application can be inspected via a browser extension that is available for Chrome, Opera, and Firefox. This extension lets you inspect objects in your application from an Ember.js tab that is created in the developer tools. To get started in Chrome, you'll need to do the following: Visit chrome://flags and ensure Experimental Extension APIs is enabled. Install the extension at https://chrome.google.com/webstore/detail/ember-inspector/bmdblncegkenkacieihfhpjfppoconhi.

pages: 390 words: 114,538

Digital Wars: Apple, Google, Microsoft and the Battle for the Internet
by Charles Arthur
Published 3 Mar 2012

Google, however, couldn’t rely on a mobile user doing a search being offered its page: handset makers would demand huge sums from rivals (Microsoft was the obvious one) to set theirs as the default. And the majority of users don’t change their default settings (which Google was already exploiting by paying millions per year to be the default on Mozilla’s Firefox and Apple’s Safari desktop browsers). It would be a nightmare. And given Microsoft’s very visible ambitions, and collaborations like that with Palm, Microsoft’s search engine (then called Windows Live) could become the default on millions of mobiles. While Google could always complain to antitrust regulators if Microsoft were to use its billions in cash to buy its way to the top of mobile search, it would be a catch-up strategy; if or when Microsoft was slapped down by the courts, Google could have been defeated on the newest and most important computing platform, the one that would matter in the foreseeable future all over the world.

(i), (ii), (iii) see also Microsoft Bang & Olufsen (i) Bartz, Carol (i) Basillie, Jim (i) Battelle, John (i), (ii) Bauer, John (i) BBC iPlayer (i) Bechtolsheim, Andy (i), (ii) Beckham, David and Victoria (i) BenQ (i) Berg, Achim (i) Berkowitz, Steve (i), (ii) Best Buy (i), (ii), (iii), (iv) Bezos, Jeff (i) Bilton, Nick (i) BlackBerry (i), (ii), (iii), (iv), (v), (vi), (vii), (viii), (ix), (x), (xi) BlackBerry Messenger (i) BlackBerry Storm (i), (ii) Block, Ryan (i) Blodget, Henry (i) Bloomberg (i), (ii) BMG (i) Boeing (i) Boies, David (i), (ii) Bondcom (i) Bountii.com (i) Bowman, Douglas (i) Bracken, Mike (i) Brass, Richard (i) Brin, Sergey (i), (ii), (iii), (iv), (v), (vi), (vii), (viii), (ix) see also Google; Page, Larry Bronfman, Edgar (i) Brunner, Robert (i) Buffett, Warren (i) BusinessWeek (i), (ii), (iii), (iv), (v), (vi), (vii) Bylund, Anders (i) Carr, Nick (i) Chafkin, Max (i) Chambers, Mike (i) China (i), (ii), (iii) and Apple (i), (ii), (iii), (iv) and Google (i), (ii), (iii), (iv), (v), (vi), (vii) and Microsoft (i) mobile web browsing (i) China Mobile (i), (ii), (iii) China Unicom (i), (ii) Chou, Peter (i) CinemaNow (i) Cingular and the iPhone (i), (ii), (iii), (iv), (v) and the ROKR (i), (ii) Cisco Systems (i) ClearType (i) Cleary, Danika (i), (ii) CNET (i), (ii), (iii) Colligan, Ed (i), (ii), (iii) Compaq (i), (ii) ComScore (i), (ii), (iii) Cook, Tim (i), (ii), (iii), (iv), (v), (vi), (vii), (viii), (ix), (x) Creative Strategies (i) Creative Technologies (i), (ii), (iii), (iv), (v), (vi), (vii) Creative Labs (i), (ii) Cringely, Robert X (i), (ii), (iii), (iv) Crothall, Geoffrey (i) Daisey, Mike (i), (ii) Dalai Lama (i) Danyong, Sun (i) Daring Fireball (i), (ii) Deal, Tim (i) Dean, Jeff (i) DEC (i) Dediu, Horace (i), (ii), (iii), (iv), (v), (vi), (vii), (viii), (ix), (x), (xi), (xii), (xiii), (xiv) ’Dediu’s Law’ (i) Dell Computer (i), (ii), (iii), (iv), (v), (vi), (vii), (viii), (ix), (x), (xi), (xii), (xiii) Dell DJ (i), (ii), (iii) Dell, Michael (i), (ii), (iii), (iv) Design Crazy (i) Deutschman, Alan (i) Digital Equipment Corporation (i) Divine, Jamie (i) Dogfight (i), (ii) Dowd, Maureen (i) Drance, Matt (i), (ii), (iii), (iv) Drummond, David (i), (ii) Dunn, Jason (i) EarthLink (i), (ii) eBay (i) Edwards, Doug (i), (ii), (iii), (iv), (v), (vi), (vii), (viii) Eisen, Bruce (i) Electronic Arts (i) Elop, Stephen (i), (ii), (iii), (iv) EMI (i) eMusic (i) Engadget (i), (ii) Ericsson (i) European Patent Office (i) Evangelist, Mike (i) Evans, Benedict (i) Evslin, Tom (i) Facebook (i), (ii), (iii), (iv), (v), (vi) Fadell, Tony (i), (ii), (iii) Fester, Dave (i), (ii), (iii), (iv) FingerWorks (i), (ii) Fiorina, Carly (i), (ii) Flash (i), (ii), (iii), (iv), (v), (vi) Flowers, Melvyn (i), (ii) Foley, Mary Jo (i), (ii), (iii) Forrester Research (i), (ii) Forstall, Scott (i), (ii), (iii), (iv) Fortune (i), (ii), (iii), (iv), (v) Foundem (i) Foxconn Technology (i), (ii), (iii) Fried, Ina (i) Galaxy Tab (i), (ii) Galvin, Chris (i) Gartenberg, Michael (i), (ii), (iii), (iv) Gartner (i), (ii), (iii), (iv), (v), (vi), (vii), (viii), (ix), (x), (xi) Gates, Bill (i), (ii), (iii) SPOT watch (i) and Steve Jobs (i), (ii), (iii) see also Ballmer, Steve; Microsoft; Sculley, John Gateway (i), (ii) Gemmell, Matt (i) Ghemawat, Sanjay (i) Gibbons, Tom (i) Gilligan, Amy K (i) Gladwell, Malcolm (i), (ii), (iii) Glass, Ira (i) Glazer, Rob (i) Golvin, Charles (i), (ii) Google (i), (ii), (iii) ‘40 shades of blue’ (i), (ii) AdSense (i) and advertising (i), (ii), (iii) AdWords (i), (ii), (iii), (iv), (v), (vi) Android (i), (ii), (iii), (iv) 4G patent auction (i) China, manufacturing in (i), (ii) and Flash (i) and the iPhone (i), (ii) and Microsoft (i), (ii), (iii), (iv) Oracle patent dispute (i) origins of (i), (ii) and standardization (i) and tablets (i), (ii), (iii) antitrust investigation (i) and AOL (i) Bigtable (i), (ii) Buzz (i) Checkout (i) Chinese market (i), (ii), (iii), (iv) google.cn (i) ’Great Firewall’ (i) hacking (i) Chrome (i), (ii), (iii), (iv), (v) Compete (i) confrontation with Microsoft (i), (ii) data, importance of (i) Gmail (i), (ii) Goggles (i) Google Now (i) Google Play (i), (ii) Google+ (i), (ii) hiring policy (i), (ii) Instant (i) Maps (i), (ii), (iii), (iv) location data (i), (ii) users, loss of (i) vector vs raster images (i) market capitalization (i) Music All Access (i) Nest (i) and the New York terrorist attacks 2001 (i) Overture lawsuit (i) PageRank (i), (ii) and porn (i), (ii) profitability of (i) public offering (i) QuickOffice (i) and selling (i) Street View (i), (ii) and Yahoo (i), (ii), (iii), (iv) see also Brin, Sergey; Kordestani, Omid; Meyer, Marissa; Page, Larry; Schmidt, Eric; Silverstein, Craig Googled (i) GoTo.com (i), (ii), (iii) Gou, Terry (i) Grayson, Ian (i) Greene, Jay (i), (ii), (iii), (iv) Griffin, Paul (i), (ii), (iii), (iv), (v), (vi), (vii), (viii), (ix), (x) Griffin Technology (i), (ii) Grokster (i), (ii) Gross, Bill (i), (ii) Gruber, John (i), (ii), (iii), (iv), (v) Guardian (i), (ii), (iii) Gundotra, Vic (i), (ii) Hachamovitch, Dean (i) Handango (i) Handspring (i) Harlow, Jo (i) Hase, Koji (i), (ii), (iii) Hauser, Hermann (i) Hedlund, Marc (i) Heiner, Dave (i) Heins, Thorsten (i) Hewlett-Packard (i), (ii), (iii), (iv), (v), (vi), (vii), (viii), (ix), (x), (xi), (xii), (xiii), (xiv), (xv) Hitachi (i) Hockenberry, Craig (i) Hölzle, Urs (i), (ii), (iii), (iv) Hotmail (i) HTC (i), (ii), (iii), (iv), (v), (vi), (vii), (viii), (ix) Huawei (i) Hwang, Suk-Joo (i) I’m Feeling Lucky (i) IBM (i), (ii), (iii), (iv), (v), (vi) IDC (i), (ii), (iii), (iv) Idealab (i) i-mode (i) Inktomi (i), (ii), (iii) Instagram (i) Intel (i), (ii), (iii), (iv), (v), (vi), (vii), (viii), (ix) Intellectual Ventures (i) Iovine, Jimmy (i) iRiver (i), (ii), (iii) Ive, Jonathan (i), (ii), (iii), (iv), (v), (vi), (vii), (viii), (ix) Jackson, Thomas Penfield (i), (ii), (iii) Java (i), (ii) Jefcoate, Kevin (i) Jha, Sanjay (i) Jintao, Hu (i) Jobs, Steve (i), (ii), (iii) and Bill Gates (i), (ii) death (i) departure from Apple (i) see also Apple; Cook, Tim; Forstall, Scott; Ive, Jonathan; Schiller, Phil Johnson, Kevin (i) Johnson, Ron (i) Jones, Nick (i) Joswiak, Greg (i), (ii) Jupiter Research (i), (ii), (iii), (iv) Kallasvuo, Oli-Pekka (i), (ii), (iii), (iv), (v) Khan, Irene (i) Khan, Sabih (i) King, Brian (i), (ii) King, Shawn (i) Kingsoft (i) Kleinberg, Jonathan (i) Knook, Pieter (i), (ii) and competition from China (i) and Microsoft’s antitrust judgment (i) and Pink (i), (ii) and Steve Ballmer (i) and Windows Mobile (i), (ii), (iii), (iv), (v) and the Xbox (i) and Zune (i), (ii), (iii), (iv), (v) Komiyama, Hideki (i) Kordestani, Omid (i), (ii), (iii) Kornblum, Janet (i) Krellenstein, Marc (i) Laakmann, Gayle (i), (ii), (iii), (iv) Lawton, Chris (i) Lazaridis, Mike (i), (ii), (iii), (iv) Lees, Andy (i), (ii), (iii), (iv), (v), (vi), (vii), (viii) Lenovo (i), (ii) LG (i), (ii), (iii), (iv), (v), (vi) LimeWire (i), (ii) LinkExchange (i), (ii) Linux (i), (ii), (iii), (iv), (v), (vi), (vii) Lodsys (i), (ii) Lotus (i), (ii) Lucovsky, Marc (i) Lynn, Matthew (i) Ma, Bryan (i) MacroSolve (i), (ii) Madrigal, Alexis (i) Mapquest (i) Mayer, Marissa (i), (ii), (iii), (iv), (v) Media Metrix (i), (ii), (iii) MeeGo (i) Mehdi, Yusuf (i), (ii), (iii), (iv), (v), (vi), (vii) Meisel, Ted (i) Microsoft antitrust trial (i), (ii) APIs (i) company split (i) impact of (i) and Apple QuickTime (i) Azure (i) Bing Maps (i) ’Cashback’ (i) China, manufacturing in (i) Chinese market (i) censorship (i) pirating of software (i) confrontation with Google (i), (ii) Courier (i), (ii) Danger (i), (ii), (iii) acquisition by Microsoft (i), (ii), (iii) disintegration of the team (i), (ii), (iii) digital rights management (DRM) of music (i) DirectX (i) and Facebook (i) horizontal system (i) Internet Explorer (i), (ii) Janus (i), (ii), (iii), (iv) ’Keywords’ (i) market capitalization (i) and Netscape (i), (ii) and Nokia (i), (ii), (iii), (iv), (v), (vi), (vii) ’Pink’ (i), (ii) announcement (i) failure of (i) PlaysForSure (i), (ii), (iii) failure of (i) problems with (i), (ii), (iii) rebranding and end (i) and the Zune (i) Portable Media Center (PMC) (i) potential acquisition of Overture (i), (ii), (iii) ’roadmap’ (i) search (i), (ii), (iii), (iv), (v) and antitrust (i) Bing (i), (ii), (iii), (iv), (v), (vi), (vii), (viii), (ix), (x) launch and crash (i) and Office (i) page design (i) profitability of (i) Project Underdog (i), (ii), (iii), (iv) rebranding (i) Surface tablets (i), (ii), (iii) and tablets (i), (ii), (iii), (iv) Flash (i) Windows and ARM (i), (ii) WebTV (i) Windows (i), (ii) Windows Media Audio (i), (ii) Windows Media Player (i), (ii), (iii) Windows Mobile (i), (ii), (iii), (iv), (v), (vi) and Android (i), (ii) decline (i) peak (i) Windows Phone (i), (ii), (iii), (iv), (v) and tablets (i) Windows RT (i) Windows Server (i), (ii), (iii) Xbox (i), (ii), (iii), (iv), (v), (vi), (vii), (viii), (ix) Xbox 360 (ii) Xbox Live Music Marketplace (i) Xbox Music (i) and the Zune (i) and Yahoo search (i), (ii) Zune (i), (ii), (iii), (iv), (v) Christmas 2006 (i) demise of (i) failings of (i) market position (i), (ii) and music in the cloud (i), (ii) and the Xbox (i) Zune Music Store (i), (ii) see also Allard, J; Ballmer, Steve; Gates, Bill; Knook, Pieter; Sculley, John; Sinofsky, Steve; Spolsky, Joel Milanesi, Carolina (i), (ii), (iii) Miller, Trudy (i) Mobile World Congress (i) Morris, Doug (i), (ii) Moss, Ken (i), (ii) Mossberg, Walt (i) Motorola (i), (ii), (iii), (iv), (v), (vi) and Android (i) and the iPhone (i) and iTunes (i), (ii) Motorola Mobility (MMI) (i), (ii) Q phone (i) ROKR (i), (ii), (iii) Mozilla Firefox (i), (ii) Mudd, Dennis (i) Mundie, Craig (i) MusicMatch (i), (ii), (iii), (iv), (v), (vi), (vii) MusicNet (i), (ii) Myerson, Terry (i) Myhrvold, Nathan (i) Nadella, Satya (i) Namco (i) Napster (i), (ii), (iii), (iv), (v), (vi), (vii), (viii), (ix), (x), (xi) Narayen, Shantanu (i) Navteq (i), (ii) Netscape (i), (ii), (iii), (iv), (v), (vi), (vii) and Google (i), (ii), (iii), (iv) and Windows (i) (ii), (iii) New York Times (i), (ii), (iii), (iv), (v), (vi), (vii), (viii), (ix) New Yorker (i), (ii) NeXT Computer (i), (ii), (iii), (iv), (v) Nintendo (i), (ii), (iii) and 4G (i) Nokia (i), (ii), (iii), (iv), (v), (vi), (vii), (viii), (ix), (x), (xi), (xii) Apple patent dispute (i), (ii) Communicator (i) and the iPhone (i), (ii), (iii), (iv), (v), (vi), (vii), (viii) Lumia (i), (ii) and Microsoft (i), (ii), (iii), (iv), (v), (vi), (vii) N91 (i) and Navteq (i), (ii) and Steve Ballmer (i) and Symbian (i), (ii), (iii), (iv), (v), (vi) touchscreen development (i), (ii) Norlander, Rebecca (i) Norman, Don (i), (ii), (iii) Northern Light (i) Novell (i), (ii), (iii) NPD Group (i), (ii), (iii) O2 (i) Observer (i) Ohlweiler, Bob (i), (ii), (iii), (iv), (v), (vi), (vii) Ojanpera, Tero (i) Open Handset Alliance (OHA) (i) Oracle (i), (ii), (iii), (iv) Overture (i), (ii), (iii) acquisition by Yahoo (i) Google lawsuit (i), (ii) potential acquisition by Microsoft (i), (ii), (iii) Ozzie, Ray (i), (ii) PA Semi (i) Page, Larry (i), (ii), (iii), (iv), (v), (vi), (vii), (viii), (ix), (x), (xi), (xii) see also Brin, Sergey; Google Palm (i), (ii), (iii), (iv) acquisition by Hewlett-Packard (i) Pilot (i) Pre (i) profitability (i), (ii) Treo (i), (ii) Pandora (i) Partovi, Ali (i) Parvez, Shaun (i), (ii) Payne, Chris (i), (ii), (iii), (iv), (v), (vi) see also Microsoft PC World (i) PeopleSoft (i) Pepsi (i), (ii), (iii) Peterschmidt, David (i) Peterson, Matthew (i) ’phablets’ (i) Pixar (i), (ii), (iii) Placebase (i) PressPlay (i), (ii), (iii) Qualcomm (i) Quanta (i) Raff, Shivaun (i), (ii), (iii) Real Networks (i), (ii), (iii) Helix (i) Red Hat (i), (ii) Reindorp, Jason (i) Research In Motion (RIM) (i), (ii), (iii), (iv), (v), (vi), (vii), (viii) and Android (i), (ii), (iii) and Bing (i), (ii) and the iPhone (i), (ii), (iii), (iv) PlayBook (i), (ii), (iii), (iv) renaming to BlackBerry (i) Rockstar Bidco (i) writeoffs (i) see also BlackBerry Rockstar Bidco (i), (ii) Rosenberg, Scott (i) Rubin, Andy (i), (ii), (iii), (iv), (v) and Flash (i) and Google phones (i) and Motorola Mobility (i), (ii) and touch-based devices (i) see also Google; Microsoft Rubinstein, Jon (i), (ii), (iii), (iv), (v), (vi), (vii) Samsung (i), (ii), (iii), (iv), (v), (vi), (vii), (viii), (ix), (x), (xi), (xii), (xiii), (xiv), (xv), (xvi), (xvii) SanDisk (i) SAP (i) Sasse, Jonathan (i) Sasser, Cabel (i) Savander, Niklas (i) Schiller, Phil (i), (ii), (iii), (iv), and apps (i) and the iPhone (i) and iPod nano (i), (ii) and Wal-Mart (i) and 4G (i) Schmidt, Eric (i), (ii), (iii), (iv), (v), (vi), (vii) and Android (i), (ii) and AOL (i) and Google Goggles (i) and the iPhone (i), (ii), (iii), (iv) Schmitz, Rob (i) Schoeben, Rob (i) Schofield, Jack (i) Sculley, John (i), (ii), (iii), (iv), (v), (vi) Search (i) SEC (i), (ii) Second Coming of Steve Jobs, The (i) Sega (i) Shaw, Frank (i) Siemens (i) Sigman, Stan (i), (ii), (iii), (iv) Silverstein, Craig (i) Sinofsky, Steven (i), (ii), (iii), (iv), (v), (vi), (vii) see also ARM architecture; Microsoft Slashdot (i), (ii) Snapchat (i) Sony (i), (ii), (iii), (iv), (v), (vi) and digital rights management (DRM) (i) MiniDisc (i), (ii), (iii) PressPlay (i), (ii) Rockstar Bidco (i) Walkman (i), (ii), (iii) Sony Ericsson (i), (ii), (iii), (iv), (v), (vi), (vii) SoundJam (i) Spindler, Michael (i) Spolsky, Joel (i), (ii), (iii) Spotify (i) Sprint (i) Stac Electronics (i) standards-essential patents (SEPs) (i) Starbucks (i) StatCounter (i) Stephens, Mark (i), (ii) Stringer, Howard (i) Sullivan, Danny (i) Sun Microsystems (i), (ii), (iii), (iv), (v), (vi), (vii) Super Monkey Ball (i) Symbian (i), (ii), (iii), (iv), (v) apps (i), (ii) and Flash (i) licencing (i) loss of market share (i), (ii), (iii), (iv) Tao, Shi (i) Telefónica (i) Thompson, Rick (i) Time Warner (i), (ii) T-Mobile (i), (ii) TomTom (i) Topolsky, Joshua (i) Toshiba (i), (ii), (iii), (iv), (v), (vi) traffic acquisition costs (TACs) (i), (ii) Twitter (i), (ii), (iii), (iv) Universal (i), (ii), (iii) US Patent Office (i) Usenet (i) Vanjoki, Anssi (i) Varian, Hal (i) Verizon (i), (ii), (iii), (iv), (v) Virgin Electronics (i), (ii) Visa (i) Vodafone (i), (ii), (iii) Vogelstein, Fred (i), (ii), (iii), (iv), (v), (vi), (vii), (viii) Wall Street Journal (i), (ii) Wal-Mart (i), (ii), (iii), (iv) Wapner, Scott (i) Warner Music (i) Warren, Todd (i) Washington Post (i), (ii) Watsa, Prem (i) Waze (i) WebM (i), (ii) Wilcox, Joe (i), (ii) Wildstrom, Steve (i), (ii), (iii), (iv) Williamson, Richard (i) Windsor, Richard (i) Winfrey, Oprah (i), (ii) Wired (i), (ii), (iii), (iv), (v), (vi) Wojcicki, Susan (i) WordPerfect (i), (ii) Xiaomi (i) Yahoo (i), (ii), (iii), (iv), (v), (vi), (vii), (viii), (ix) Flickr (i) and Google (i), (ii), (iii), (iv) and GoTo (i) and Inktomi (i) and LinkExchange (i) localization (i) and Microsoft (i), (ii) and Overture (i), (ii) Tao, Shi (i) Yandex (i) Yang, Jerry (i), (ii), (iii), (iv) see also Yahoo YouTube (i), (ii), (iii), (iv), (v), (vi), (vii) Zander, Ed (i), (ii) ZTE (i), (ii), (iii) Zuckerberg, Mark (i), (ii) see also Facebook Publisher’s note Every possible effort has been made to ensure that the information contained in this book is accurate at the time of going to press, and the publishers and author cannot accept responsibility for any errors or omissions, however caused.

pages: 447 words: 111,991

Exponential: How Accelerating Technology Is Leaving Us Behind and What to Do About It
by Azeem Azhar
Published 6 Sep 2021

If you’ve used the internet, you have taken advantage of a system built using a commons. The open-source software that powers the engines of web servers and other key internet services is one. Loosely connected volunteers have put down millions upon millions of lines of code, building projects such as Linux OS, the Apache HTTP Server, Mozilla Firefox and the Brave browser. No one owns open-source projects; there are no managers in charge; and no one can prevent anyone from contributing or spinning up an alternative project. In these digital commons, power doesn’t lie in a single place – rather, projects are managed collectively by the volunteers working on them.

Abu Dhabi, UAE, 250 Acemoglu, Daron, 139 Acorn Computers, 16, 21 Ada Lovelace Institute, 8 additive manufacturing, 43–4, 46, 48, 88, 166, 169, 175–9 Adidas, 176 advertising, 94, 112–13, 116, 117, 227–8 AdWords, 227 aeroponics, 171 Afghanistan, 38, 205 Africa, 177–8, 182–3 Aftenposten, 216 Age of Spiritual Machines, The (Kurzweil), 77 agglomeration, 181 Air Jordan sneakers, 102 Airbnb, 102, 188 aircraft, 49–50 Alexandria, Egypt, 180 AlexNet, 33 Algeciras, HMM 61 Alibaba, 48, 102, 108, 111, 122 Alipay, 111 Allen, Robert, 80 Alphabet, 65, 113–14, 131, 163 aluminium, 170 Amazon, 65, 67–8, 94, 104, 108, 112, 122, 135–6 Alexa, 25, 117 automation, 135–6, 137, 139, 154 collective bargaining and, 163 Covid-19 pandemic (2020–21), 135–6 drone sales, 206 Ecobee and, 117 Go stores, 136 Kiva Systems acquisition (2012), 136 management, 154 Mechanical Turk, 142–3, 144, 145 monopoly, 115, 117, 122 Prime, 136, 154 R&D, 67–8, 113 Ami Pro, 99 Amiga, 16 Anarkali, Lahore, 102 anchoring bias, 74 Android, 85, 94, 117, 120 Angola, 186 Ant Brain, 111 Ant Financial, 111–12 antitrust laws, 114, 119–20 Apache HTTP Server, 242 Appelbaum, Binyamin, 63 Apple, 47, 62, 65, 85, 94, 104, 108, 112, 122 App Store, 105, 112, 115 chip production, 113 Covid-19 pandemic (2019–21), 222–3 data collection, 228 iOS, 85 iPhone, 47, 62, 85, 94, 105 media subscription, 112 watches, 112 APT33 hacker group, 198 Aral, Sinan, 238 Aramco, 108, 198 Armenia, 206–7 Arthur, William Brian, 110, 123 artificial intelligence, 4, 8, 31–4, 54, 88, 113, 249 academic brain drain, 118 automation, 125–42 data and, 31–2, 142 data network effect, 106–7 drone technology and, 208, 214 education and, 88 employment and, 126–7 healthcare and, 88, 103 job interviews and, 153 regulation of, 187, 188 arXiv, 59 Asana, 151 Asian Development Bank, 193 Aslam, Yaseen, 148 Assembly Bill 5 (California, 2019), 148 asymmetric conflict, 206 AT&T, 76, 100 Atari, 16 attack surfaces, 192–3, 196, 209, 210 Aurora, 141 Australia, 102, 197 automation, 125–42 autonomous weapons, 208, 214 Azerbaijan, 173, 206–7 Ballmer, Steve, 85 Bangladesh, 175 banking, 122, 237 Barcelona, Catalonia, 188 Barlow, John Perry, 184 Barrons, Richard, 195, 211 Bartlett, Albert, 73 batteries, 40, 51, 53–4, 250, 251 Battle of the Overpass (1937), 162 Bayraktar TB2 drone, 206 Bee Gees, 72 Bekar, Clifford, 45 Bell Labs, 18 Bell Telephone Company, 100 Benioff, Marc, 108–9 Bentham, Jeremy, 152 Berlin Wall, fall of (1989), 4 Bermuda, 119 Berners-Lee, Timothy, 55, 100, 160, 239 Bessen, James, 46 Bezos, Jeffrey, 135–6 BGI, 41 Biden, Joseph, 225 Bing, 107 biological weapons, 207, 213 biology, 10, 39, 40–42, 44, 46 genome sequencing, 40–41, 90, 229, 234, 245–7, 250, 252 synthetic biology, 42, 46, 69, 174, 245, 250 biopolymers, 42 bits, 18 Black Death (1346–53), 12 BlackBerry, 120 Blair, Tony, 81 Bletchley Park, Buckinghamshire, 22 blitzscaling, 110 Blockbuster, 138 BMW, 177 Boeing, 51, 236 Bol.com, 103 Bollywood, 181 Boole, George, 18 Bork, Robert, 114–15, 117, 119 Bosworth, Andrew, 233 Boyer, Pascal, 75 Boyle, James, 234 BP, 92, 158 brain, 77 Braudel, Fernand, 75 Brave, 242 Brazil, 202 Bremmer, Ian, 187 Bretton Woods Conference (1944), 87 Brexit (2016–20), 6, 168 British Broadcasting Corporation (BBC), 87, 129, 191 Brookings Institution, 130 BT, 123 Bulgaria, 145 Bundy, Willard Legrand, 149 Busan, South Korea, 56 business, 82, 92–124 diminishing returns to scale, 93, 108 economic dynamism and, 117 economies of scale, 50, 92 growth, 110–13 increasing returns to scale, 108–10 intangible economy, 104–7, 118, 156, 175, 180 linear value chains, 101 market share, 93–6, 111 monopolies, 10, 71, 94, 95, 114–24 network effect, 96–101 platform model, 101–3, 219 re-localisation, 11, 166–79, 187, 252, 255 state-sized companies, 11, 67 superstar companies, 10, 94–6 supply chains, 61–2, 166–7, 169, 175, 187, 252, 255 taxation of, 96, 118–19 Butler, Nick, 179 ByteDance, 28 C40 initiative, 189 Cambridge University, 127, 188 cancer, 57–8, 127 Capitol building storming (2021), 225 car industry, 93 carbon emissions, 35, 90, 251 Carlaw, Kenneth, 45 Carnegie, Andrew, 112 Carnegie Mellon University, 131 Catholic Church, 83, 88 censorship, 216–17, 224–6, 236 Central Intelligence Agency (CIA), 194 Cerebras, 34 cervical smears, 57–8 chemical weapons, 207, 213 Chen, Brian, 228 chewing gum, 78 Chicago Pile-1 reactor, 64 Chile, 170 China automation in, 127, 137 brainwave reading in, 152 Covid-19 pandemic (2019–21), 245 drone technology in, 207 Great Firewall, 186, 201 Greater Bay Area, 182 horizontal expansion in, 111–12 manufacturing in, 176 misinformation campaigns, 203 raw materials, demand for, 178 Singles’ Day, 48 social credit systems, 230 superstar companies in, 95 US, relations with, 166 chips, 19–22, 28–9, 48–9, 52, 113, 251 Christchurch massacre (2019), 236 Christensen, Clayton, 24 CIPD, 153 cities, 11, 75, 169, 179–84, 188, 255 Clegg, Nick, 225–6, 235 climate change, 90, 169, 187, 189, 251, 252 cloud computing, 85, 112 Cloudflare, 200 cluster bombs, 213 CNN, 185, 190 coal, 40, 65, 172 Coase, Ronald, 92 Coca-Cola, 93 code is law, 220–22, 235 cold fusion, 113–14 Cold War (1947–91), 194, 212, 213 collective bargaining, 147, 149, 154, 156, 162–5 Colombia, 145 colonialism, 167 Columbus, Christopher, 4 combination, 53–7 Comical Ali, 201 commons, 234–5, 241–3, 256 companies, see business comparative advantage, 170 complex systems, 2 compounding, 22–3, 28 CompuServe, 100 computing, 4, 10, 15–36, 44, 46, 249 artificial intelligence, 4, 8, 31–4, 54, 88 cloud computing, 85, 112 internet, 47–8, 55, 65, 84 Law of Accelerating Returns, 30–31, 33, 35 machining, 43 Moore’s Law, see Moore’s Law quantum computing, 35 transistors, 18–22, 28–9, 48–9, 52 conflict, 87, 189, 190–215 attack surfaces, 192–3, 196, 209, 210 cyberattacks, 11, 114, 140, 181, 187, 190–200, 209–14, 256 de-escalation, 212–13 drone technology, 11, 192, 204–9, 214, 256 institutional change and, 87 misinformation, 11, 191, 192, 200–204, 209, 212, 217, 225 new wars, 194 non-proliferation, 213–14 re-localisation and, 189, 193, 194, 209 consent of the networked, 223 Costco, 67 Coursera, 58 Covid-19 pandemic (2019–21), 12–13, 59, 78–9, 131, 245–9 automation and, 127, 135, 136 cities and, 183 contact-tracing apps, 222–3 gig economy and, 146 lockdowns, 12, 152, 176, 183, 246 manufacturing and, 176 misinformation and, 202–4, 247–8 preprint servers and, 60 recession (2020–21), 178 remote working and, 146, 151, 153 supply chains and, 169, 246 vaccines, 12, 202, 211, 245–7 workplace cultures and, 151, 152 cranks, 54 credit ratings, 162, 229 critical thinking skills, 212 Croatia, 145 Crocker, David, 55 crowdsourcing, 143–4 Cuba, 203 Cuban missile crisis (1962), 99, 212 cultural lag, 85 cyberattacks, 11, 114, 140, 181, 187, 190–200, 209–14, 256 CyberPeace Institute, 214 Daniel, Simon, 173–4 Dar es Salaam, Tanzania, 183 Darktrace, 197 data, 8, 11, 71, 217–19, 226–31, 235, 237–42, 256 AI and, 8, 32, 33, 58, 106 compensation for, 239 commons, 242 cyberattacks and, 196 doppelgängers, 219, 226, 228, 239 interoperability and, 237–9 network effects, 106–7, 111 protection laws, 186, 226 rights, 240 Daugherty, Paul, 141 DDT (dichlorodiphenyltrichloroe thane), 253 death benefits, 151 Dediu, Horace, 24, 30 deep learning, 32–4, 54, 58, 127 deforestation, 251 dehumanisation, 71, 154, 158 deindustrialisation, 168 Deliveroo, 154, 163 Delphi, 100 dematerialised techniques, 166, 175 Denmark, 58, 160, 199–200, 257 Deutsche Bank, 130 Diamandis, Peter, 5 Dickens, Charles, 80 digital cameras, 83–4 Digital Geneva Convention, 211 Digital Markets Act (EU, 2020), 122 digital minilateralism, 188 Digital Nations group, 188 Digital Services Act (EU, 2020), 123 diminishing returns, 93, 108 disinformation, see misinformation DoorDash, 147, 148, 248 dot-com bubble (1995–2000), 8, 108, 150 Double Irish tax loophole, 119 DoubleClick, 117 drone technology, 11, 192, 204–9, 214, 256 Dubai, UAE, 43 Duke University, 234 dystopia, 208, 230, 253 Eagan, Nicole, 197 eBay, 98, 121 Ecobee, 120 economies of scale, 50, 92 Economist, The, 8, 65, 119, 183, 239 economists, 63 Edelman, 3 education artificial intelligence and, 88 media literacy, 211–12 Egypt, 145, 186 Elance, 144 electric cars, 51, 69, 75, 173–4, 177, 250 electricity, 26, 45, 46, 54, 157, 249–50 see also energy Electronic Frontier Foundation, 184 email, 6, 55 embodied institutions, 82 employment, 10, 71, 125–65 automation, 125–42 collective bargaining, 147, 149, 154, 156, 162–5 dehumanisation and, 71, 154, 158 flexicurity, 160–61, 257 gig economy, 10, 71, 142–9, 153, 162, 164, 239, 252, 255 income inequality, 155–8, 161, 168 lump of labour fallacy, 139 management, 149–54, 158–9 protections, 85–6, 147–9 reskilling, 159–60 universal basic income (UBI), 160, 189 Enclosure, 234–5, 241 energy, 11, 37–8, 39–40, 44, 46, 172–4, 250 cold fusion, 113–14 fossil fuels, 40, 159, 172, 250 gravitational potential, 53 solar power, 37–8, 53, 65, 77, 82, 90, 171, 172, 173, 249, 250, 251 storage, 40, 53, 114, 173–4, 250, 251 wind power, 39–40, 52 Energy Vault, 53–4, 173 Engels, Friedrich, 81 Engels’ pause, 80, 81 environmental movement, 73 Epic Games, 116 estate agents, 100 Estonia, 188, 190–91, 200, 211 Etzion Airbase, Sinai Peninsula, 195 European Commission, 116, 122, 123 European Space Agency, 56 European Union, 6, 82, 147, 186, 226 Excel, 99 exogeny, 2 exponential gap, 9, 10, 67–91, 70, 89, 253 cyber security and, 193 institutions and, 9, 10, 79–88, 90 mathematical understanding and, 71–5 predictions and, 75–9 price declines and, 68–9 superstar companies and, 10, 94–124 exponential growth bias, 73 Exponential View, 8–9 externalities, 97 extremism, 232–4 ExxonMobil, 65, 92 Facebook, 27, 28, 65, 94, 104, 108, 122, 216–17, 218, 219, 221–2, 223 advertising business, 94, 228 censorship on, 216–17, 224–6, 236 collective bargaining and, 164 data collection on, 228, 239–40 extremism and, 233–4 Instagram acquisition (2012), 117, 120 integrity teams, 234 interoperability, 237–8 Kenosha unrest shooting (2020), 224 misinformation on, 201, 225 network effect and, 98, 223 Oculus acquisition (2014), 117 pay at, 156–7 Phan photo controversy (2016), 216–17, 224, 225 platform model, 101 polarisation and, 233 relationship status on, 221–2 Rohingya ethnic cleansing (2018), 224, 225 US presidential election (2016), 217 WhatsApp acquisition (2014), 117 facial recognition, 152, 208 Factory Act (UK, 1833), 81 Fairchild Semiconductor, 19, 21 fake news, 201–4 family dinners, 86 farming, 170–72, 251 Farrar, James, 148 fax machines, 97 Federal Aviation Administration (US), 236 feedback loops, 3, 13 fertilizers, 35, 90 5G, 203 Financial Conduct Authority, 122 Financial Times, 183 Finland, 160, 211–12 Fitbit, 158 Fiverr, 144 flashing of headlights, 83 flexicurity, 160, 257 flints, 42 flywheels, 54 Ford, 54, 92, 162 Ford, Gerald, 114 Ford, Henry, 54, 162 Ford, Martin, 125 Fortnite, 116 fossil fuels, 40, 159, 172 France, 100, 138, 139, 147, 163 free-market economics, 63–4 freelance work, 10, 71, 142–9 Frey, Carl, 129, 134, 141 Friedman, Milton, 63–4, 241 Friedman, Thomas, 167 FriendFeed, 238 Friendster, 26 Fudan University, 245 fund management, 132 Galilei, Galileo, 83 gaming, 86 Gates, Bill, 17, 25, 84 gender, 6 General Agreement on Tariffs and Trade, 87 General Data Protection Regulation (GDPR), 226 General Electric, 52 General Motors, 92, 125, 130 general purpose technologies, 10, 45–8 generative adversarial networks (GANs), 58 Geneva Conventions, 193, 199, 209 Genghis Khan, 44 GEnie, 100 genome sequencing, 40–41, 90, 229, 234, 245–7, 250, 252 Germany, 75, 134, 147 Giddens, Anthony, 82 gig economy, 10, 71, 142–9, 153, 162, 164, 239, 252, 255 Gilbreth, Lillian, 150 Ginsparg, Paul, 59 GitHub, 58, 60 GlaxoSmithKline, 229–30 global financial crisis (2007–9), 168 Global Hawk drones, 206 global positioning systems (GPS), 197 globalisation, 11, 62, 64, 156, 166, 167–71, 177, 179, 187, 193 internet and, 185 conflict and, 189, 193, 194 Glocer, Thomas, 56 Go (game), 132 GOAT, 102 Gojek, 103 Golden Triangle, 170 Goldman Sachs, 151 Goodfellow, Ian, 58 Google, 5, 35, 36, 94, 98, 104, 108, 115, 122 advertising business, 94, 112–13, 116, 117, 227 Android, 85, 94, 117, 120 chip production, 113 Covid-19 pandemic (2019–21), 222–3 data network effect, 106–7 death benefits, 151 Double Irish tax loophole, 119 Maps, 113 quantum computing, 35 R&D, 114, 118 vertical integration, 112–13, 116 X, 114 YouTube acquisition (2006), 112, 117 Gopher, 59, 100 GPT-3, 33 Graeber, David, 133–4 Grand Bazaar, Istanbul, 102 Graphcore, 34, 35 graphics chips, 34 Grateful Dead, The, 184 gravitational potential energy, 53 gravity bombs, 195 Greater Bay Area, China, 182 Greenberg, Andy, 199 Gross, Bill, 53 Grove, Andrew, 17 GRU (Glavnoje Razvedyvatel’noje Upravlenije), 199 Guangzhou, Guangdong, 182 Guardian, 8, 125, 154, 226, 227 Guiyang, Guizhou, 166 H1N1 virus, 75 Habermas, Jürgen, 218 Hard Times (Dickens), 80 Hardin, Garrett, 241 Harop drones, 207–8 Harpy drones, 207–8 Harvard University, 150, 218, 220, 221, 253 healthcare artificial intelligence and, 57–8, 88, 103 data and, 230, 239, 250–51 wearable devices and, 158, 251 Helsinki, Finland, 160 Herlev Hospital, Denmark, 58 Hinton, Geoffrey, 32, 126–7 HIPA Act (US, 1996), 230 Hitachi, 152 Hobbes, Thomas, 210 Hoffman, Josh, 174 Hoffman, Reid, 110, 111 Holmes, Edward, 245 homophily, 231–4 Hong Kong, 182 horizontal expansion, 111–12, 218 Houston Islam protests (2016), 203 Houthis, 206 Howe, Jeff, 143 Hsinchu, Taiwan, 181 Hughes, Chris, 217 Hull, Charles, 43 Human + Machine (Daugherty), 141 human brain, 77 human genome, 40–41, 90, 229, 234, 250 human resources, 150 Hussein, Saddam, 195 Hyaline, 174 hydroponics, 171 hyperinflation, 75 IBM, 17, 21, 47, 98 IDC, 219 Ideal-X, 61 Ikea, 144 Illumina, 41 Ilves, Toomas Hendrik, 190 ImageNet, 32 immigration, 139, 168, 183–4 Impossible Foods, 69 Improv, 99 income inequality, 155–8, 161, 168 India, 103, 145, 181, 186, 224, 253, 254 Indonesia, 103 Industrial Revolution (1760–1840), 79–81, 157, 235 informational networks, 59–60 ING, 178 innovation, 14, 117 Innovator’s Dilemma, The (Christensen), 24 Instagram, 84, 117, 120, 121, 237 institutions, 9, 10, 79–88, 90–91 path dependence, 86–7 punctuated equilibrium, 87–8 intangible economy, 104–7, 118, 156, 175, 180 integrated circuits, 19 Intel, 16–17, 19, 163 intellectual property law, 82 Intermediate-Range Nuclear Forces Treaty (1987), 237 International Alliance of App-Based Transport Workers, 164 International Court of Justice, 224 International Criminal Court, 208 International Energy Agency, 77, 82 International Labour Organization, 131 International Monetary Fund (IMF), 87, 167, 187 international organisations, 82 International Organization for Standardization, 55, 61 International Rescue Committee, 184 International Telecommunication Union, 55 internet, 7, 47–8, 55, 65, 72, 75, 84–5, 88, 115, 184–6 code is law, 220–22, 235 data and, 11, 32, 71 informational networks, 59–60 localisation, 185–6 lockdowns and, 12 network effect, 100–101 online shopping, 48, 61, 62, 75, 94, 102, 135 platform model and, 102 public sphere and, 223 standardisation, 55 Wi-Fi, 151 interoperability, 55, 120–22, 237–9, 241, 243, 256–7 iPhone, 47, 62, 85, 94, 115, 175 Iran, 186, 196, 198, 203, 206 Iraq, 195–6, 201, 209 Ireland, 57–8, 119 Islamic State, 194, 233 Israel, 37, 188, 195–6, 198, 206, 207–8 Istanbul, Turkey, 102 Jacobs, Jane, 182 Japan, 37, 152, 171, 174 Jasanoff, Sheila, 253 JD.com, 137 Jena, Rajesh, 127 Jio, 103 job interviews, 153, 156 John Paul II, Pope, 83 Johnson, Boris, 79 Jumia, 103 just in time supply chains, 61–2 Kahneman, Daniel, 74 KakaoTalk, 27 Kaldor, Mary, 194 Kapor, Mitchell, 99 Karunaratne, Sid, 140–41, 151 Kenosha unrest shooting (2020), 224 Keynes, John Maynard, 126, 158 Khan, Lina, 119 Khartoum, Sudan, 183 Kim Jong-un, 198 King’s College London, 179 Kiva Systems, 136 Kobo360, 145 Kodak, 83–4, 88 Kranzberg, Melvin, 254 Krizhevsky, Alex, 32–3, 34 Kubursi, Atif, 178 Kurdistan Workers’ Party, 206 Kurzweil, Ray, 29–31, 33, 35, 77 Lagos, Nigeria, 182 Lahore, Pakistan, 102 landmines, 213 Law of Accelerating Returns, 30–31, 33, 35 Laws of Motion, 20 learning by doing, 48, 53 Leggatt, George, 148 Lemonade, 56 Lessig, Larry, 220–21 Leviathan (Hobbes), 210 Li Fei-Fei, 32 life expectancy, 25, 26 light bulbs, 44, 157 Lime, 27 Limits to Growth, The (Meadows et al.), 73 linear value chains, 101 LinkedIn, 26, 110, 121, 237, 238 Linkos Group, 197 Linux OS, 242 Lipsey, Richard, 45 lithium-ion batteries, 40, 51 lithium, 170 localism, 11, 166–90, 252, 255 log files, 227 logarithmic scales, 20 logic gates, 18 logistic curve, 25, 30, 51, 52, 69–70 London, England, 180, 181, 183 London Underground, 133–4 looms, 157 Lordstown Strike (1972), 125 Lotus Development Corporation, 99 Luddites, 125, 253 Lufa Farms, 171–2 Luminate, 240 lump of labour fallacy, 139 Lusaka, Zambia, 15 Lyft, 146, 148 machine learning, 31–4, 54, 58, 88, 127, 129, 143 MacKinnon, Rebecca, 223 Maersk, 197, 199, 211 malaria, 253 Malaysia Airlines Flight 17 shootdown (2014), 199 Malta, 114 Malthus, Thomas, 72–3 malware, 197 Man with the Golden Gun, The (1974 film), 37 manufacturing, 10, 39, 42–4, 46, 166–7, 175–9 additive, 43–4, 46, 48, 88, 166, 169, 175–9 automation and, 130 re-localisation, 175–9 subtractive, 42–3 market saturation, 25–8, 51, 52 market share, 93–6, 111 Marshall, Alfred, 97 Massachusetts Institute of Technology, 18, 147, 202, 238 Mastercard, 98 May, Theresa, 183 Mayors for a Guaranteed Income, 189 McCarthy, John, 31 McKinsey, 76, 94 McMaster University, 178 measles, 246 Mechanical Turk, 142–3, 144, 145 media literacy, 211–12 meningitis, 246 Mexico, 202 microorganisms, 42, 46, 69 Microsoft, 16–17, 65, 84–5, 88, 98–9, 100, 105, 108, 122, 221 Bing, 107 cloud computing, 85 data collection, 228 Excel, 99 internet and, 84–5, 100 network effect and, 99 Office software, 98–9, 110, 152 Windows, 85, 98–9 Workplace Productivity scores, 152 Mill, John Stuart, 193 miniaturisation, 34–5 minimum wage, 147, 161 misinformation, 11, 191, 192, 200–204, 209, 212, 217, 225, 247–8 mobile phones, 76, 121 see also smartphones; telecom companies Moderna, 245, 247 Moixa, 174 Mondelez, 197, 211 Mongol Empire (1206–1368), 44 monopolies, 10, 71, 94, 95, 114–24, 218, 255 Monopoly (board game), 82 Montreal, Quebec, 171 mood detection systems, 152 Moore, Gordon, 19, 48 Moore’s Law, 19–22, 26, 28–9, 31, 34, 63, 64, 74 artificial intelligence and, 32, 33–4 Kodak and, 83 price and, 41–2, 51, 68–9 as social fact, 29, 49 superstar companies and, 95 time, relationship with, 48–9 Moravec, Hans, 131 Moravec’s paradox, 131–2 Motorola, 76 Mount Mercy College, Cork, 57 Mozilla Firefox, 242 Mumbai, India, 181 mumps, 246 muskets, 54–5 MySpace, 26–7 Nadella, Satya, 85 Nagorno-Karabakh War (2020), 206–7 napalm, 216 NASA (National Aeronautics and Space Administration), 56 Natanz nuclear site, Iran, 196 National Health Service (NHS), 87 nationalism, 168, 186 NATO (North Atlantic Treaty Organization), 191, 213 Netflix, 104, 107, 109, 136, 137, 138, 139, 151, 248 Netherlands, 103 Netscape Communicator, 6 networks, 58–62 network effects, 96–101, 106, 110, 121, 223 neural networks, 32–4 neutral, technology as, 5, 220–21, 254 new wars, 194 New York City, New York, 180, 183 New York Times, 3, 125, 190, 228 New Zealand, 188, 236 Newton, Isaac, 20 Nigeria, 103, 145, 182, 254 Niinistö, Sauli, 212 Nike, 102 nitrogen fertilizers, 35 Nixon, Richard, 25, 114 Nobel Prize, 64, 74, 241 Nokia, 120 non-state actors, 194, 213 North Korea, 198 North Macedonia, 200–201 Norway, 173, 216 NotPetya malware, 197, 199–200, 211, 213 Novell, 98 Noyce, Robert, 19 NSO Group, 214 nuclear weapons, 193, 195–6, 212, 237 Nuremberg Trials (1945–6), 208 O’Reilly, Tim, 107 O’Sullivan, Laura, 57–8, 60 Obama, Barack, 205, 214, 225 Ocado, 137 Ocasio-Cortez, Alexandria, 239 Oculus, 117 oDesk, 144 Ofcom, 8 Ofoto, 84 Ogburn, William, 85 oil industry, 172, 250 Houthi drone attacks (2019), 206 OAPEC crisis (1973–4), 37, 258 Shamoon attack (2012), 198 Standard Oil breakup (1911), 93–4 Olduvai, Tanzania, 42 online shopping, 48, 61, 62, 75, 94, 102, 135 open-source software, 242 Openreach, 123 Operation Opera (1981), 195–6, 209 opium, 38 Orange, 121 Organisation for Economic Co-operation and Development (OECD), 119, 167 Osborne Computer Corporation, 16 Osborne, Michael, 129 Osirak nuclear reactor, Iraq, 195–6, 209 Ostrom, Elinor, 241 Oxford University, 129, 134, 203, 226 pace of change, 3 pagers, 87 Pakistan, 145, 205 palladium, 170 PalmPilot, 173 panopticon, 152 Paris, France, 181, 183 path dependence, 86 PayPal, 98, 110 PC clones, 17 PeerIndex, 8, 201, 237 Pegasus, 214 PeoplePerHour, 144 PepsiCo, 93 Perez, Carlota, 46–7 pernicious polarization, 232 perpetual motion, 95, 106, 107, 182 Petersen, Michael Bang, 75 Phan Thi Kim Phuc, 216–17, 224, 225 pharmaceutical industry, 6, 93, 250 phase transitions, 4 Philippines, 186, 203 Phillips Exeter Academy, 150 phishing scams, 211 Phoenix, Arizona, 134 photolithography, 19 Pigou, Arthur Cecil, 97 Piketty, Thomas, 160 Ping An Good Doctor, 103, 250 Pix Moving, 166, 169, 175 PKK (Partîya Karkerên Kurdistanê), 206 Planet Labs, 69 platforms, 101–3, 219 PlayStation, 86 plough, 157 Polanyi, Michael, 133 polarisation, 231–4 polio, 246 population, 72–3 Portify, 162 Postel, Jon, 55 Postings, Robert, 233 Predator drones, 205, 206 preprints, 59–60 price gouging, 93 price of technology, 22, 68–9 computing, 68–9, 191, 249 cyber-weapons, 191–2 drones, 192 genome sequencing, 41–2, 252 renewable energy, 39–40, 250 printing press, 45 public sphere, 218, 221, 223 Pulitzer Prize, 216 punctuated equilibrium, 87–8 al-Qaeda, 205, 210–11 Qatar, 198 quantum computing, 35 quantum physics, 29 quarantines, 12, 152, 176, 183, 246 R&D (research and development), 67–8, 113, 118 racial bias, 231 racism, 225, 231, 234 radicalisation pathways, 233 radiologists, 126 Raford, Noah, 43 Raz, Ze’ev, 195, 209 RB, 197 re-localisation, 11, 166–90, 253, 255 conflict and, 189, 193, 194, 209 Reagan, Ronald, 64, 163 religion, 6, 82, 83 resilience, 257 reskilling, 159–60 responsibility gap, 209 Restrepo, Pascual, 139 Reuters, 8, 56, 132 revolutions, 87 Ricardo, David, 169–70, 177 rights, 240–41 Rise of the Robots, The (Ford), 125 Rittenhouse, Kyle, 224 Roche, 67 Rockefeller, John, 93 Rohingyas, 224 Rome, ancient, 180 Rose, Carol, 243 Rotterdam, Netherlands, 56 Rule of Law, 82 running shoes, 102, 175–6 Russell, Stuart, 31, 118 Russian Federation, 122 disinformation campaigns, 203 Estonia cyberattacks (2007), 190–91, 200 Finland, relations with, 212 Nagorno-Karabakh War (2020), 206 nuclear weapons, 237 Ukraine cyberattacks (2017), 197, 199–200 US election interference (2016), 217 Yandex, 122 S-curve, 25, 30, 51, 52, 69–70 al-Sahhaf, Muhammad Saeed, 201 Salesforce, 108–9 Saliba, Samer, 184 salt, 114 Samsung, 93, 228 San Francisco, California, 181 Sandel, Michael, 218 Sanders, Bernard, 163 Sandworm, 197, 199–200, 211 Santander, 95 Sasson, Steve, 83 satellites, 56–7, 69 Saturday Night Fever (1977 soundtrack), 72 Saudi Arabia, 108, 178, 198, 203, 206 Schmidt, Eric, 5 Schwarz Gruppe, 67 Second Machine Age, The (Brynjolfsson and McAfee), 129 self-driving vehicles, 78, 134–5, 141 semiconductors, 18–22, 28–9, 48–9, 52, 113, 251 September 11 attacks (2001), 205, 210–11 Shamoon virus, 198 Shanghai, China, 56 Shannon, Claude, 18 Sharp, 16 Shenzhen, Guangdong, 182 shipping containers, 61–2, 63 shopping, 48, 61, 62, 75, 94, 102, 135 Siemens, 196 silicon chips, see chips Silicon Valley, 5, 7, 15, 24, 65, 110, 129, 223 Sinai Peninsula, 195 Sinclair ZX81, 15, 17, 21, 36 Singapore, 56 Singles’ Day, 48 Singularity University, 5 SixDegrees, 26 Skydio R1 drone, 208 smartphones, 22, 26, 46, 47–8, 65, 86, 88, 105, 111, 222 Smith, Adam, 169–70 sneakers, 102, 175–6 Snow, Charles Percy, 7 social credit systems, 230 social media, 26–8 censorship on, 216–17, 224–6, 236 collective bargaining and, 164 data collection on, 228 interoperability, 121, 237–8 market saturation, 25–8 misinformation on, 192, 201–4, 217, 247–8 network effect, 98, 223 polarisation and, 231–4 software as a service, 109 solar power, 37–8, 53, 65, 77, 82, 90, 171, 172, 173, 249, 250, 251 SolarWinds, 200 Solberg, Erna, 216 South Africa, 170 South Korea, 188, 198, 202 Southey, Robert, 80 sovereignty, 185, 199, 214 Soviet Union (1922–91), 185, 190, 194, 212 Spain, 170, 188 Spanish flu pandemic (1918–20), 75 Speedfactory, Ansbach, 176 Spire, 69 Spotify, 69 Sputnik 1 orbit (1957), 64, 83 stagflation, 63 Standard and Poor, 104 Standard Oil, 93–4 standardisation, 54–7, 61, 62 Stanford University, 32, 58 Star Wars franchise, 99 state-sized companies, 11, 67 see also superstar companies states, 82 stirrups, 44 Stockholm International Peace Research Institute, 208 Stockton, California, 160 strategic snowflakes, 211 stress tests, 237 Stuxnet, 196, 214 Sudan, 183 superstar companies, 10, 11, 67, 94–124, 218–26, 252, 255 blitzscaling, 110 collective bargaining and, 163 horizontal expansion, 111–12, 218 increasing returns to scale, 108–10 innovation and, 117–18 intangible economy, 104–7, 118, 156 interoperability and, 120–22, 237–9 monopolies, 114–24, 218 network effect, 96–101, 121 platform model, 101–3, 219 taxation of, 118–19 vertical expansion, 112–13 workplace cultures, 151 supply chains, 61–2, 166–7, 169, 175, 187, 252 surveillance, 152–3, 158 Surviving AI (Chace), 129 Sutskever, Ilya, 32 synthetic biology, 42, 46, 69, 174, 245, 250 Syria, 186 Taiwan, 181, 212 Talkspace, 144 Tallinn, Estonia, 190 Tang, Audrey, 212 Tanzania, 42, 183 TaskRabbit, 144 Tasmania, Australia, 197 taxation, 10, 63, 96, 118–19 gig economy and, 146 superstar companies and, 118–19 Taylor, Frederick Winslow, 150, 152, 153, 154 Tel Aviv, Israel, 181 telecom companies, 122–3 Tencent, 65, 104, 108, 122 territorial sovereignty, 185, 199, 214 Tesco, 67, 93 Tesla, 69, 78, 113 Thailand, 176, 203 Thatcher, Margaret, 64, 163 Thelen, Kathleen, 87 Thiel, Peter, 110–11 3D printing, see additive manufacturing TikTok, 28, 69, 159–60, 219 Tisné, Martin, 240 Tomahawk missiles, 207 Toyota, 95 trade networks, 61–2, 166–7, 169, 175 trade unions, see collective bargaining Trading Places (1983 film), 132 Tragedy of the Commons, The (Hardin), 241 transistors, 18–22, 28–9, 48–9, 52, 113, 251 transparency, 236 Treaty of Westphalia (1648), 199 TRS-80, 16 Trump, Donald, 79, 119, 166, 201, 225, 237 Tufekci, Zeynep, 233 Turing, Alan, 18, 22 Turkey, 102, 176, 186, 198, 202, 206, 231 Tversky, Amos, 74 23andMe, 229–30 Twilio, 151 Twitch, 225 Twitter, 65, 201, 202, 219, 223, 225, 237 two cultures, 7, 8 Uber, 69, 94, 102, 103, 106, 142, 144, 145 Assembly Bill 5 (California, 2019), 148 engineering jobs, 156 London ban (2019), 183, 188 London protest (2016), 153 pay at, 147, 156 satisfaction levels at, 146 Uber BV v Aslam (2021), 148 UiPath, 130 Ukraine, 197, 199 Unilever, 153 Union of Concerned Scientists, 56 unions, see collective bargaining United Arab Emirates, 43, 198, 250 United Autoworkers Union, 162 United Kingdom BBC, 87 Biobank, 242 Brexit (2016–20), 6, 168 collective bargaining in, 163 Covid-19 epidemic (2020–21), 79, 203 DDT in, 253 digital minilateralism, 188 drone technology in, 207 flashing of headlights in, 83 Golden Triangle, 170 Google and, 116 Industrial Revolution (1760–1840), 79–81 Luddite rebellion (1811–16), 125, 253 misinformation in, 203, 204 National Cyber Force, 200 NHS, 87 self-employment in, 148 telecom companies in, 123 Thatcher government (1979–90), 64, 163 United Nations, 87, 88, 188 United States antitrust law in, 114 automation in, 127 Battle of the Overpass (1937), 162 Capitol building storming (2021), 225 China, relations with, 166 Cold War (1947–91), 194, 212, 213 collective bargaining in, 163 Covid-19 epidemic (2020–21), 79, 202–4 Cyber Command, 200, 210 DDT in, 253 drone technology in, 205, 214 economists in, 63 HIPA Act (1996), 230 Kenosha unrest shooting (2020), 224 Lordstown Strike (1972), 125 manufacturing in, 130 misinformation in, 202–4 mobile phones in, 76 nuclear weapons, 237 Obama administration (2009–17), 205, 214 polarisation in, 232 presidential election (2016), 199, 201, 217 presidential election (2020), 202–3 Reagan administration (1981–9), 64, 163 self-employment in, 148 September 11 attacks (2001), 205, 210–11 shipping containers in, 61 shopping in, 48 solar energy research, 37 Standard Oil breakup (1911), 93–4 taxation in, 63, 119 Trump administration (2017–21), 79, 119, 166, 168, 201, 225, 237 Vietnam War (1955–75), 216 War on Terror (2001–), 205 universal basic income (UBI), 160, 189 universal service obligation, 122 University of Cambridge, 127, 188 University of Chicago, 63 University of Colorado, 73 University of Delaware, 55 University of Oxford, 129, 134, 203, 226 University of Southern California, 55 unwritten rules, 82 Uppsala Conflict Data Program, 194 UpWork, 145–6 USB (Universal Serial Bus), 51 Ut, Nick, 216 utility providers, 122–3 vaccines, 12, 202, 211, 245–7 Vail, Theodore, 100 value-free, technology as, 5, 220–21, 254 Veles, North Macedonia, 200–201 Véliz, Carissa, 226 Venezuela, 75 venture capitalists, 117 vertical expansion, 112–13, 116 vertical farms, 171–2, 251 video games, 86 Vietnam, 61, 175, 216 Virological, 245 Visa, 98 VisiCalc, 99 Vodafone, 121 Vogels, Werner, 68 Wag!

pages: 523 words: 112,185

Doing Data Science: Straight Talk From the Frontline
by Cathy O'Neil and Rachel Schutt
Published 8 Oct 2013

Developer Network and write SQL-like queries that interact with many of the APIs on common sites like this: select * from flickr.photos.search where text="Cat" and api_key="lksdjflskjdfsldkfj" limit 10 The output is standard, and you only have to parse this in Python once. But what if you want data when there’s no API available? In this case you might want to use something like the Firebug extension for Firefox. You can “inspect the element” on any web page, and Firebug allows you to grab the field inside the HTML. In fact, it gives you access to the full HTML document so you can interact and edit. In this way you can see the HTML as a map of the page and Firebug as a kind of tour guide. After locating the stuff you want inside the HTML, you can use curl, wget, grep, awk, perl, etc., to write a quick-and-dirty shell script to grab what you want, especially for a one-off grab.

priors in, Adding Priors timestamped event data exercise, Exercise: GetGlue and Timestamped Event Data–Exercise: Financial Data financial models, Financial Modeling–A Baby Model causality and, In-Sample, Out-of-Sample, and Causality–In-Sample, Out-of-Sample, and Causality data preparation for, Preparing Financial Data–Preparing Financial Data exponential downweighting, Exponential Downweighting feedback loop, The Financial Modeling Feedback Loop–The Financial Modeling Feedback Loop in-sample data, In-Sample, Out-of-Sample, and Causality–In-Sample, Out-of-Sample, and Causality log returns and, Log Returns out-of-sample data, In-Sample, Out-of-Sample, and Causality–In-Sample, Out-of-Sample, and Causality S&P index example, Example: The S&P Index volatility measurements in, Working out a Volatility Measurement–Working out a Volatility Measurement finite differences, In practice Firebug extension, Scraping the Web: APIs and Other Tools Firefox, Scraping the Web: APIs and Other Tools Flickr, Scraping the Web: APIs and Other Tools FOIA requests, A Bit of History on Data Journalism Foreign Affairs (magazine), Datafication forward selection, Selecting an algorithm Fourier coefficients, Productionizing machine learning models fraud, data visualization and, The Risk Challenge–Detecting suspicious activity using machine learning detecting with machine learning, Detecting suspicious activity using machine learning–Detecting suspicious activity using machine learning performance estimation, The Trouble with Performance Estimation–Challenges in features and learning freeze rates, Data Visualization at Square Fruchterman-Reingold algorithm, Morningside Analytics functions, Fitting a model knn(), Choosing k likelihood, Estimating α and β loss, Adding in modeling assumptions about the errors penalty, A Baby Model fundamental problem of causal inference, The Rubin Causal Model G garbage in, garbage out scenarios, William Cukierski Gaussian distribution, Probability distributions Gaussian mixture model, Linear Regression Geller, Nancy, The Current Landscape (with a Little History) Gelman, Andrew, Modeling general functional form, Probability distributions generating data, The Life of a Chief Data Scientist generative processes, Machine Learning Algorithms geo-based location data, Populations and Samples of Big Data geographic information systems (GIS), What Is Data Science, Redux?

pages: 426 words: 117,775

The Charisma Machine: The Life, Death, and Legacy of One Laptop Per Child
by Morgan G. Ames
Published 19 Nov 2019

Some from outside those worlds, such as Isabel, also wanted to learn English: she explained that she wanted to understand all of the search results as well as the parts of Scratch, eToys, and the Sugar interface that had not been translated. She told me in 2010, “I use Navegar [Browse] a lot. My friends and I downloaded Mozilla, and we use Firefox more. It’s all in Spanish, and the other is still in English—things in Navegar—and for this we use Firefox to search.” Elisa liked to translate English song lyrics into Spanish, and she also used Google Translate on English search results when Spanish search results turned up empty. She explained, “When I’m wrong about something, I look for a solution.

Hacking Capitalism
by Söderberg, Johan; Söderberg, Johan;

In his seminal study of the Free and Open Source Software movement, Glyn Moody attests: “Netscape’s rise and ultimate fall is, in part, a monument to the failure of the commercial coding model—and a pointer to fundamental weaknesses in other companies that employ it.” (Moody, 203). Mozilla couldn’t save Netscape in the browser war. In the aftermath of the company’s decline, Mozilla developers have staged a comeback with the Firefox browser. Maybe the challenge to Microsoft’s Internet Explorer will be of a more noxious breed this time. Despite its eventual downfall, Netscape had staked out the path when it published the source code of its key brand product. The road taken by Netscape’s initiative caused a split in the computer underground.

Index Aestethic innovation 64, 68, 177 Adorno, Theodor 65, 70, 168, 191–192 Advanced Research Projects Agency, see ARPA Affluent society 99–101 Aglietta, Michel 59 Alienation 10, 156–159, 173, 182, 188, 190 Allopoietic 134–135 Altair 17 Althusser, Louis 77 Analytical Engine 3 Anti-production 120, 213 n.12 AOL Time Warner 89, 91, 125 Apache 24, 28, 38, 44 Apple 17 ARPA (advanced research projects agency) 13–15 AT&T (american telephone and telegraph) 13–15, 19, 23–24, 91, 116 Audience power 66, 68, 198 n.47, 204 n.40 Authorship 74, 78, 80–82, 112, 114, 125, 128–129, 138, 154, 160, 174, 206 n.9 Autonomous Marxism 6–7, 52, 55, 176, 194 n.18, 201 n.9 Autopoietic 134–135, 155 Axelos, Kostas 158–159 Babbage, Charles 3–4 Back Orifice 80 Barbrook, Richard 150, 216 n.27 Bataille, George 147, 149, 154, 216 n.20 Baudrillard, Jean 64, 103, 105, 109, 127, 202 n.19, 211 n.9, n.12 BBS (bulletin board systems) 96 Beauty of the Baud 3, 184 Bell, Daniel 51, 54, 100, 170–171, 173 Bell, Graham 11 Bell laboratory 14 Benjamin, Walter 65, 207 n.18, 210 n.49 Benkler, Yochai 139–140, Berkeley internet name domain, see BIND Berkeley software distribution, see BSD Berne convention 85, 208 n.25 Bertelsmann 124 Biegel, Stuart 91 Bijker, Wiebe 54–55, 203 n.24 Binary code 19, 21–22, 97, 195 n.16 BIND (Berkeley internet name domain) 25 Biometric technology 92–93 Black, Edwin 194 n.15 Boomerang externalities 146 Bowles, Samuel 173 Boyle, James 117, 208 n.24 Brand, Stewart 16, 69 Braverman, Harry 130–133 British cultural studies 9, 65–66 Brooks, Fred 184 BSD (Berkeley software distribution) 15, 23–24, 38 Bulletin board systems, see BBS Burghardt, Gordon 166–167 Bush, Vannevar 12 Caffentzis, George 61–63 Caillois, Roger 166–167, 182 Castells, Manuel 51, 145, 200 n.3, 202 n.19, 216 n.15 CC (Creative commons) 4, 41, 78 Censorship 4, 79–80, 82, 91, 97, 178, 189 CERN (Conseil européen pour la recherche nucléaire) 25 Certeau, Michel de 66, 112, 182 Chaos computer club 180 Charismatic code 153, 217 n.33 Chiapello, Eve 163 Circulating capital 120, 145 Class consciousness 18, 178, 180–181 for-itself 188 struggle 4, 7, 44, 47–48, 54, 56, 67, 72, 76, 103–104, 159, 175–178, 188, 203 n.20, 204 n.27, 212 n.12 Clickwrap license, see shrinkwrap license Coase, Ronald 140 Cohen, Gerald 54 Collective invention, 213 n.6 Collins, Hugh 76–77 Commodification of information 8, 31, 199 n.60, Commodity exchange theory 75–76, 90 Commons 119, 122, 129, 135, 137, 145–148, 150–151, 171–172, 184, 191, 199 n.57, 216 n.18 Community for-itself 183 FOSS developers 21, 23 Compiling 195 n.16 Computer literacy 131–132 Constant capital 127 Copyleft 20–22, 34, 196 n.19, n.21, 198 n.44 Copyright law 8, 18–22, 78–79, 82–85, 94, 98, 112, 113, 143, 154, 181, 195 n.14, 196 n.19, 207 n.15, 208 n.22 Crackers 69, 98, 113, 151, 153, 155, 183, 188, 217 n.35 Creative class 51, 61, 173–174 Creative commons, see CC Cross, Gary 101 Cultural workers 82, 163–164, 192 Culture industry 57, 70, 73, 75, 85, 106, 112, 168, 173, 205 n.46 Cyber attacks 199 n.61 feminism 30, 214 n.32 libertarianism 4, 90, 216 n.27 marx 52 politics 4, 30, 48, 69 space 11, 88, 150 Cycles of struggle 176–177 Cygnus 32–34 Darknet 97 Davies, Donald 195 n.5 Debian 123 Debian-women 30 Debord, Guy 103, 211 n.9 Decompiling 195 n.16 DeCSS see DVD-Jon Deleuze, Gilles 135, 213 n.12, 215 n.34 Denial-of-service attacks 1, 193 n.3 Derrida, Jacques 57, 149, 153, 216 n.24 Desire 18, 27, 48, 105, 109, 136, 155–156, 161, 174, 185–186 Deskilling 5, 9, 45, 97, 111, 130–131, 209 n.44, 210 n.56 Desktop factory 186 Developing countries and FOSS 30, 87, 96, 210 n.54 Difference Engine 3 Digital rigths management, see DRM DRM (digital rights management) 22, 42, 91, 183, 209 n.45 DVD-Jon 87–88, 91 Edelman, Bernard 77–78, 80, 207 n.16 Edwards, Richard 89 Electro-hippies 178 Electronic Frontier Foundation 58, 208 n.21 Ellickson, Robert 217 n.30 Empire 6 Enclosure movement 71, 129, 171 Engels, Friedrich 53, 115 Enzensberger, Hans 194 n.16, 210 n.49 Excess of expenditure 49, 100, 136, 147–148, 153–155, 171, 174 Exchange value 45, 56, 103–105, 109, 144, 211 n.12 Fan media production 112–113, 127, 164, 183, 191, 212 n.20, 194 n.16 Fanning, Shawn 124–125 Felsenstein, Lee 17 Filesharing networks 4, 8, 10, 31, 73, 93–94, 113, 127, 137, 150–153, 189 Firefox 37, Fisher, William 74–75 Fixed capital 15, 27, 39, 68 Flextronics 96 Florida, Richard 51, 173–174 Fordism 59, 67, 101, 203 n.26 Formal subsumption 56, 118 FOSS (free and open source) community 5, 8, 28–29, 38, 49, 111, 125, 133, 172, 177 development model 6, 9, 24, 41, 49, 115, 121, 137, 139–140, 190 license 8, 20, 28, 40, 78, 122, 125, 190 movement 26–27, 31–32, 38, 43, 50, 116, 133, 150, 184, 195 n.17 Foucault, Michel 48, 57, 76, 80, 128, 181 Frankel, Justin 124–125 Frankfurt School 57, 160 Free and open source software, see FOSS Freenet 80, 214 n.18, Free software foundation 19, 22–23, 37, 73, 126, 179–180, 196 n.20, n.23 movement 151, 195 n.17 Free speach not free beer 32, 73, 123 French regulation school 59, 204 n.27 French revolution 1–2, 79, 159, 161, 165, 187 Friedman, Andrew 133 Frow, John 151 Gaines, Jane 207 n.20 Garnham, Nicholas 102 Gates, Bill 4 Gay, Paul du 106–107 General economy 147 intellect 60, 63, 184 public license, see GPL Giddens, Anthony 200 n.6 Gift economy 10, 54, 100, 137, 148–152 Gintis, Herbert 173 Gnome 35, GNU (GNU is not Unix) book 210 n.55 Emacs 20, 32 /Linux 4, 15, 22–24, 26, 28, 31–35, 38–39, 43–44, 47, 87, 123, 163, 183, 196 n.23, n.28 Gnutella 124–125, 153, 214 n.18 Google 41 Gopher 25 Gosling, James 20 Gouldner, Alvin 201 n.12 GPL (General public license) 19–24, 27, 31–32, 34–35, 37, 96, 129, 185, 196 n.19, n.20, n.21, 197 n.44 Gracenote 41, 199 n.57 Guattari, Felix 135, 213 n.12, 215 n.34 Habermas, Jurgen 202 n.16 Hacker manifesto 28, 30, 172 spirit 44, 108, 174, 199 n.66 Hacktivists 16, 55, 84, 178, 180, 182 Haeksen 30, 197 n.41 Halloween Documents 26 Haraway, Donna 197 n.42 Hardin, Garrett 145–146, 148 Hardt, Michael 6, 47–48, 52, 60, 194 n.18, 204 n.30 Hardware hackers 7, 17–18, 96 Harrison, Bennett 140–141 Harvey, David 95 Haug, Wolfgang 104–105 Hayes, Dennis 44 Hayles, Katherine 71–72, 203 n.22 Hearn, Francis 168, 182 Heeles, Paul 108 Hegel, G.W.F. 52–53, 56, 74, 157 Heidegger, Martin 160 Heller, Michael 148 High-tech cottage industry 139 gift economy 10, 100, 137, 150 Himanen, Pekka 100, 108, 174, 199 n.66 Hippel, Eric von 205 n.44 Hirsch, Fred 102, 171 Hobsbawm, Eric 76, 189, 193 n.6 Holloway, John 7 Homebrew computer club 17, 185 Homo ludens 165 Horkheimer, Max 65, 70, 168 Howard, Michael 114–115 Huizinga, Johan 165–167, 182 Human genome project 39, 93 Hyde, Lewis 152, IBM 5, 7, 17–19, 24, 38, 43–44, 47, 73, 92, 108, 128, 142, 194 n.15 Identification 90–93, 189 Identity 98, 110, 123, 174–177, 181 Illich, Ivan 128, Immaterial labour 52, 60–61, 71 Independent media centre (IMC) 126 Information age 8, 19, 31, 50–54, 57, 60, 108, 180, 182, 199 n.66, 202 n.19, 203 n.26 exeptionalism 69–70, 73, 132, society 50 Instrumentality 10, 49, 56, 116, 160, Intel 17, 38–39, 43, 92, 198 n.52 Intellectual property enforcement 5, 43, 83, 85, 85, 88, 94, 98, 133 regime 19, 35, 42, 65, 72–75, 80, 82–85, 111, 113–114, 119, 123, 154, 174 Internet explorer 36–37 Jacquard Joseph-Marie 1, 3 Jacquard loom, 1, 193 n.1, n.2, n.4 Jameson, Fredric 56, 64, 201 n.8, 202 n.17 Jefferson, Thomas 69, 205 n.50 Jenkins, Henry 212 n.20 Jessop, Bob 143, 216 n.14 Johansen, Jon, see DVD-Jon Johnson-Forrest Tendency 143 Kant, Immanuel 74, 161 Kautsky, Karl 53–54 KDE (K desktop environment) 35 Kenney, Martin 39, 67 Keynesianism 143, 170 King, John 114–115 Kirchheimer Otto 77 Kloppenburg, Jack 90 Kopytoff, Igor 150 Kropotkin, Peter 129 Labour contract of the outlaw 123 Laclau, Ernesto 175 Lamer 58, 153, 155 Landsat system 119 Late capitalism 56, 101, 104, 120, 168, 188, 201 n.8, 202 n.17, n.18 Lazzarato, Maurizio 60–62 Lenin, Vladimir 4, 115 Lessig, Lawrence 70, 88 Lévi-Strauss, Claude 152, 217 n.34 Levy, Steven 17 Libertarianism 18, 34, 50, 90, 182, 196 n.28, 216 n.27 Library economy 136, 151–153, 155 Liebowitz, Stan 122–123, 144, Linux, see also GNU/Linux chix 30 kernel 21, 23, 49, 193 n.7, 196 n.23 Liu, Alan 48 Locke, John 74, 78, 147, 154 Luddites 1–2, 189 Lukács, Georg 162, 178–181, 184 Lury, Celia 81 Lyotard, Jean-Francois 201 n.10 Machlup, Fritz 69, 206 n.58 Magic circle 165, 167, 190 Make-believe markets 145–146, 148, 155 Mallet, Serge 60, 204 n.29 Malinowski, Bonislaw 148 Mandel, Ernest 56, 59–60, 62–63, 184, 202 n.17, n.18, n.19 Marconi Wireless Telegraph Company 116 Marcuse, Herbert 3, 10, 116, 159–164, 182, 184 Marx, Karl 2, 4, 7, 48, 50, 53–54, 56–57, 60–61, 64, 81, 88, 101, 104, 109–111, 114–115, 118–119, 133, 139, 141, 144–145, 156–162, 173–175, 197 n.32, 201 n.12, 211 n.5, 212 n.19, 215 n.4 Maslow, Abraham 99–101, 211 n.2 Mass worker 7, 176 Maturana, Humberto 134, 136s Mauss, Marcel 148–149 McBride, Darl 31, 87 McLuhan, Marshall 58 McRobbie, Angela 108 Means of production 9, 48, 57, 81, 116, 129–130, 135, 186, 192 Mentor, the 172 Micro-capital 141 Microsoft 4, 19, 24, 26, 34, 36–39, 42–43, 63, 87, 92, 96, 144 Mill, John Stuart 69 Minitel 14 Minix 23–24 Moglen, Eben 4, 126 Mokyr, Joel 55 Moody, Glen 35, 37, 130 Moore, Fred 17 Morris-Suzuki, Tessa 63–64 Mosaic 36, 198 n.50 Mosco, Vincent, 204 n.40 Motion pictures association of america, see MPAA Mouffe, Chantal 175 Mozilla 36–37, 198 n.50 Mozilla crypto group 126 MPAA (motion pictures association of america) 42, 87–88, 199 n.58, 209 n.36 Multitude 6–7, 60, 181 Mumford, Lewis 134, 147 Naples, Nancy 200 n.77 Napster 124–125, 213 n.17 Naughton, John 12, 15 N/C technology 45–46, 131 Negri, Antonio 6–7, 47–48, 52, 56–57, 60–61, 176–177, 194 n.18, 201 n.9, n.15, 202 n.16, 204 n.31, n.33 Neo-Luddism 134 Netscape 36–38, 126 Network externalities 38, 144 firm 137, 141–142, 144 industry 27, 137 science 141, 215 n.2 society 51, 137, 142 Neuman, Franz 77 Neumann, John von 61, 63 New economy 124, 132, 144 New left 16–17, 150–151, 157, 212 n.12 Noble, David 45, 131, 206 n.59 Norton, Bruce 202 n.17 Nullsoft 125 Nupedia 128 Oekonux 5 Offe, Claus 214 n.30 Office despotism 18 Opencores project 96 Open marxism 7 Open source car 185 development labs 43 initiative 36, 38–41, 78, 180 Organised labour 27, 41, 69, 72, 95–96, 131–132, 141–142, 188, 190 Pashukanis, Evgeny 75–77, 206 n.2 Patent costs 116–118 expansion 22, 39, 83–84, 208 n.24 pools 119 Peer-to-peer filesharing networks 31, 91, 123– 125, 151 labour relations 123, 129 Perelman, Michael 86, 171 Perpetual innovation economy 64, 120 Petty commodity trader 61, 81, 159 PGP (pretty good privacy) 80 Phone phreaks 16, 96–97 Pirate sharing 69, 122–123, 183, 209 n.33, n.45 Play drive 10, 18, 49, 154, 161–162 struggle 3, 10, 156, 174, 182, 190–192 Political subject 156, 174 Poster, Mark 128 Post- fordism 8, 59–61, 67, 81, 107, 116, 133, 135, 139–140, 163, 168, 176, 183, 203 n.26, 204 n.27 industrialism 5, 51–52, 54, 56, 60–61, 71, 100, 103, 130, 137, 139 marxism 175, 177 modern capitalism, 52, 56, 61, 64, 73, 101, 104, 120, 145, 168, 175–176, 188, 216 n.20 Poulantzas, Nicos 218 n.18 Pretty good privacy, see PGP Professional worker 176 Proprietary software 9, 16, 19, 21, 24, 26–27, 33–34, 38, 41, 115, 129–130, 139, 144, 198 n.46, n.52, 200 n.71 Prosumer 106–108 Put to work 8, 48, 73, 82, 177, 184 Qt 35 Radio amateur 17, 96, 185, 191 Radio frequency identifiers, see RFID RAND (research and development) 13 Rand, Ayn 206 n.61 Raymond, Eric 25–27, 196 n.28, 197 n.29 Real subsumption 56, 118, 135 Record industry association of america, see RIAA Recuperation 49, 164, 182 Red Hat 26, 32–35, 43, 47, 68, 196 n.27, 197 n.33, n.44, 198 n.45 Refusal of work 44, 108 Rehn, Alf 217 n.35 Representation politics 66, 110, 191 Research and development, see RAND Restrictive economy, see general economy RFID (radio frequency identifiers) 92 RIAA (record industry association of america) 42, 124–125, 153, 199 n.58 Robins, Kevin 194 n.17, 209 n.44 Romanticism 2, 81–82, 159, 162–163 Ross, Andrew 46, 199 n.66 Sabotage 1, 10, 46, 111, 188, 193 n.6 Sahlins, Marshall 70 Sanger, Larry 128 Sarnoff law 66 Scarcity 70–71, 99–101, 109, 112–113, 130, 147, 155, 160, 169, 190 Schiller, Dan 71, Schiller, Friedrich 23, 10, 154, 160–163, 184 Schumpeterian competition state 143 Schumpeter, Joseph 30 SCO/Caldera 43–44, 87 Self-administrated poverty 172 Sennett, Richard 45 SETI@home 127 Sham property 141 Shiva, Vandana 209 n.45 Shrinkwrap license 21 Shy, Oz 122, 143–144 Silicon Valley 44, 180 Simputer 210 n.54 Sitecom Germany GmbH 22 Situationists 150 Smythe, Dallas 66–67 Social bandit 76, 93–94, 98, 189 division of labour 4, 77, 99, 123, 149, 158–159, 164, 174, 187–188, 192, 205 n.44, 210 n.49 factory 47–48, 56, 64, 68, 89, 177 labour 38, 56, 71 planning theory 74–75 taylorism 90, 97–98, 209 n.44 worker 7, 60, 176–177 Sony 42 Stallman, Richard 19–20, 32, 37, 73, 179, 195 n.17, 196 n.23, 200 n.71 Strahilevitz, Jacob 152–153, 217 n.33 Stefik, Mark 92 Sterling, Bruce 11, 15 Strahilevitz, Jacob 152–153, 217 n.33 Surplus labour 8, 47–48, 61, 63, 67, 211 n.5 profit business model 34, 68 value 33–34, 47, 50, 61–64, 66–68, 101, 105, 110–111, 118, 120–121, 134, 156, 202 n.16, 204 n.40, 213 n.12, Surveillance 4–5, 85, 90–91, 97, 143, 145, 189, 214 n.18, Tanenbaum, Andrew 23 Taylorism 8, 45–46, 48, 90, 115, 132 Techies 16, 18, 30, 178, 182 Technical division of labour 27, 48, 115, 123, 132, 142, 155, 199 n.68 Technicist 54, 201 n.6 Technological american party 16, 18 Technological determinism 57–58, 182 Terranova, Tiziana 68 Toffler, Alvin 51, 106 Torvalds, Linus 21–23, 26–27, 49, 193 n.7, 197 n.32 Travis, Hannibal 207 n.15 TRIPS 86, 208 n.29 Troll Tech 35 Tronti, Mario 47 Trusted computing 92, 96 Unix 14–15, 19–20, 23–24, 43, 87, 195 n.7 User centred development 9, 27, 41, 65–68, 129, 131, 133, 192, 205 n.44 community 50, 68, 111, 123 friendliness 17, 45, 90, 98 Use value 68, 71, 101–105, 109, 113, 120, 122, 129, 144, 147, 153, 155, 211 n.9, n.12 Vaneigem Raoul 212 n.21 Varela, Francisco 134, 136 Variable capital 127 Veblen, Torsten 211 n.7 Villanueva, Edgar 144 Virno, Paulo 57, 73, 172, 177 Virtual community 152–153, 217 n.30 space 90, 92–93, 95, 184, 203 n.22, 217 n.33 Volosinov, Valentin 202 n.20 Voluntarism 5, 29, 179 Voluntary labour 2, 8, 107, 129, 166 Wales, Jimmy 128 Warez 153, 183, 217 n.35 Wark, McKenzie 177 W.a.s.t.e. 125 Watt, Duncan 141–142 Watt, James 166 Watt, Richard 213 n.14 Wayner, Peter 151–152 Webster, Frank 194 n.17, 200 n.3, 201 n.7, 209 n.44 Wetware 133–135 White collar working class 48, 97, 130, 200 n.72 hat hacking 180 Whole Earth Catalog 16 Wiener, Norbert 12 Wikipedia 128–129 Williams, Raymond 58 Windows 25, 41, 43, 86–87, 123, 126, 163, 183 Winner, Langdon 16, 203 n.25 WIPO (World Intellectual Property Organisation) 18, 83, 91 Wired Magazine 18, 58, 180 Witheford, Nick-Dyer 51, 204 n.31 Wolfgang, Haug 104–105 Wolf, Naomi 105 Wood, Stephen 131 Workfare state 135, 171 World Intellectual Property Organisation, see WIPO World Trade Organisation, see WTO Worshipful Company of Stationers London 79 Wright, Steve 201 n.9 WTO (World Trade Organisation) 86, 126, 178 Yahoo 41 Young, Robert 26–27, 33, 126, 196 n.27, 198 n.46, n.52 Youth international party line 16 Zero work 49 Zizek, Slavoj 4, 175

pages: 444 words: 118,393

The Nature of Software Development: Keep It Simple, Make It Valuable, Build It Piece by Piece
by Ron Jeffries
Published 14 Aug 2015

Others stealthily mask their source addresses or make requests from dozens of different addresses. Some of these even go so far as to change their user-agent strings around from one request to the next. (When a single IP address claims to be running Internet Explorer on Windows, Opera on Mac, and Firefox on Linux in the same five-minute window, something is up. Sure, it could be an ISP-level supersquid or somebody running a whole bunch of virtual emulators. When these requests are sequentially spidering an entire product category, it’s more likely to be a screen scraper.) You may end up blocking quite a few subnets, so it’s a good idea to periodically expire old blocks to keep your firewalls performing well.

You can also tighten up your cookie policy with the relatively new “SameSite” attribute.[65] A cookie with that attribute looks like this in a response header: ​ Set-Cookie: SID=31d4d96e407aad42; SameSite=strict The “SameSite” attribute causes the browser to send the cookie only if the document’s origin is the same as the target’s origin. That includes subdomains, so same-site cookies for “account.example.com” would not be sent to “images.example.com.” Not every browser supports same-site cookies as of June 2017. The Chrome family supports it on desktop and mobile. Opera does as well, but Firefox, Internet Explorer, and Edge do not. Keep an eye on the Can I Use... website to see when your supported browsers have this feature.[66] Same-site cookies are not a zero-cost feature. In particular, they may require you to change your session management approach. A top-level navigation request (an in-bound link from another system) on a new page is not a same-site request when the cookie says “strict.”

pages: 677 words: 206,548

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

As a result, criminals have updated their tactics to create so-called drive-by downloads, which use malware to exploit vulnerabilities in computer scripting languages such as Java and ActiveX, languages commonly used by Internet Web browsers. The world has moved online, and hacking tools such as Internet Explorer, Firefox, and Safari makes sense for criminals, though the new modus operandi comes with a heavy cost for unsuspecting users. Researchers at Palo Alto Networks discovered that as much as 90 percent of modern malware is now spread via previously hacked popular Web sites that serve up the computer infection the moment an unsuspecting visitor stops by the site.

Petersburg, Russia, and though the criminals responsible were individually identified and even publicly named, Russian authorities have refused to extradite them to face trial for their crimes. Of course these days, social media attack tools have become streamlined, and one need not even be a master hacker to steal information. For example, Firesheep is a simple Firefox browser plug-in that anyone could download to take over the Facebook session of others on the same network and hijack their Facebook accounts. With this, for example, if you checked your Facebook account at a local Starbucks while sharing the network with twenty-five other people in the coffee shop, and if one of them was running Firesheep, the hacker could use the plug-in to log in as you on your own Facebook account.

Passport to the Dark Web In order for Dread Pirate Roberts’s criminal buyers and sellers to transact in his Silk Road marketplace, they first had to figure out how to get there. Just like the real world, you can’t simply knock on the door of any house on the block and expect to score a kilo of meth. The same holds true for the digital underground. You don’t get there by merely typing an address in your Firefox browser and hoping to be magically transported to the inner sanctum of Crime, Inc. Rather, you need a passport and a Sherpa to guide you. That journey begins with Tor—The Onion Router, a software tool that provides the closest thing to actual anonymity on the Internet. Tor works by routing your Web connections through a worldwide array of five thousand computer servers in order to hide the source and destination of your connection.

iPad: The Missing Manual, Fifth Edition
by J.D. Biersdorfer
Published 21 Nov 2012

In fact, you’re probably very attached to some of those links. The good news is, you can take them with you—at least on the iPad. To copy your entire Internet Explorer or Safari bookmark library from your computer to your iPad, all you need to do is turn on a checkbox in iTunes. (Mozilla Firefox fans can sync up with apps like Firefox Home or Sync Browser.) Connect your iPad (either by Wi-Fi Sync or USB cable), click its icon in the iTunes window, and then click the Info button at the top of the screen. Scroll down past other things you can sync, like contacts, calendars, and mail accounts, until you get to the section called Other.

pages: 448 words: 117,325

Click Here to Kill Everybody: Security and Survival in a Hyper-Connected World
by Bruce Schneier
Published 3 Sep 2018

Stephanie Clifford and Quentin Hardy (14 Jul 2013), “Attention, shoppers: Store is tracking your cell,” New York Times, http://www.nytimes.com/2013/07/15/business/attention-shopper-stores-are-tracking-your-cell.html. 58The company Alphonso provides apps: Sapna Maheshwari (28 Dec 2017), “That game on your phone may be tracking what you’re watching on TV,” New York Times, https://www.nytimes.com/2017/12/28/business/media/alphonso-app-tracking.html. 58Facebook has a patent on using: Ben Chen and Facebook Corporation (22 Mar 2016), “Systems and methods for utilizing wireless communications to suggest connections for a user,” US Patent 9,294,991, https://patents.justia.comm/patent/9294991. 58Did an automatic license plate scanner: Catherine Crump et al. (17 Jul 2013), “You are being tracked: How license plate readers are being used to record Americans’ movements,” American Civil Liberties Union, https://www.aclu.org/files/assets/071613-aclu-alprreport-opt-v05.pdf. 58Surveillance companies know a lot about us: Dylan Curren (30 Mar 2018), “Are you ready? Here’s all the data Facebook and Google have on you,” Guardian, https://www.theguardian.com/commentisfree/2018/mar/28/all-the-data-facebook-google-has-on-you-privacy. 58We never lie to our search engines: Settings like Chrome’s “incognito mode” or Firefox’s “private browsing” keep the browser from saving your browsing history. It does not prevent any websites you visit from tracking you. 59Already, all new Toyota cars track speed: Hans Greimel (6 Oct 2015), “Toyota unveils new self-driving safety tech, targets 2020 autonomous drive,” Automotive News, http://www.autonews.com/article/20151006/OEM06/151009894/toyota-unveils-new-self-driving-safety-tech-targets-2020-autonomous. 59In 2015, John Deere told: Dana Bartholomew (2015), “Long comment regarding a proposed exemption under 17 U.S.C. 1201,” Deere and Company, https://copyright.gov/1201/2015/comments-032715/class%2021/John_Deere_Class21_1201_2014.pdf. 60Apple censored apps that tracked: Stuart Dredge (30 Sep 2015), “Apple removed drone-strike apps from App Store due to ‘objectionable content,’” Guardian, https://www.theguardian.com/technology/2015/sep/30/apple-removing-drone-strikes-app.

pages: 516 words: 116,875

Greater: Britain After the Storm
by Penny Mordaunt and Chris Lewis
Published 19 May 2021

v=koHKquVNbnc 7 https://www.statista.com/statistics/281713/us-bars-taverns-und-nightclubs-industry-establishments/ 8 https://www.christianitytoday.com/news/2017/september/how-many-churches-in-america-us-nones-nondenominational.html 9 https://www.statista.com/statistics/310723/total-number-of-pubs-in-the-united-kingdom/ 10 https://www.theguardian.com/commentisfree/2015/oct/22/churches-survive-church-of-england-religion-buildings 11 https://www.google.com/search?client=firefox-b-d&q=average+life+expectancy+uk 12 https://www.seattletimes.com/nation-world/british-rail-companies-have-a-message-were-sorry-very-sorry-apologies/ 13 https://yougov.co.uk/topics/lifestyle/articles-reports/2015/07/01/oh-sorry-do-british-people-apologise-too-much 14 https://www.amazon.co.uk/Watching-English-Hidden-Rules-Behaviour/dp/0340818867 15 https://www.facebook.com/watch/?

NOTES 1 (Cabinet Secretary, Yes, Minister) 2 https://www.ons.gov.uk/employmentandlabourmarket/peopleinwork/publicsectorpersonnel/bulletins/publicsectoremployment/march2018 3 https://www.ons.gov.uk/employmentandlabourmarket/peopleinwork/publicsectorpersonnel/bulletins/publicsectoremployment/march2018 4 2014/5 data 5 https://www.centrefortowns.org/our-towns 6 https://www.gov.uk/government/publications/rural-population-and-migration/rural-population-201415 7 https://www.gov.uk/government/publications/rural-population-and-migration/rural-population-201415 8 https://lgiu.org/local-government-facts-and-figures-england/ 9 https://www.politics.co.uk/reference/local-government-structure 10 https://gov.wales/nhs-wales-health-boards-and-trusts 11 https://www.ukpublicspending.co.uk/government_expenditure.html 12 https://www.ukpublicspending.co.uk/uk_national_deficit_analysis 13 https://www.ukpublicspending.co.uk/uk_national_debt_analysis 14 https://www.ft.com/content/45163e43-1b21-4353-9a0e-ba03ee886075 15 https://www.theguardian.com/society/2012/may/15/graph-doom-social-care-services-barnet 16 https://www.theguardian.com/society/2012/may/15/graph-doom-social-care-services-barnet 17 https://www.instituteforgovernment.org.uk/publications/performance-tracker-2019 18 https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/685903/The_Green_Book.pdf 19 https://www.gov.uk/government/publications/consent-the-green-book-chapter-2 20 http://hummedia.manchester.ac.uk/schools/soss/economics/discussionpapers/EDP-1901.pdf 21 https://www.civilserviceworld.com/articles/opinion/whitehalls-obsession-business-cases-getting-way-delivery 22 https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/206552/nfa-annual-fraud-indicator-2013.pdf 23 https://www.theguardian.com/politics/2020/oct/07/fears-grow-over-uk-firms-ability-to-repay-covid-business-loans 24 https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/206552/nfa-annual-fraud-indicator-2013.pdf 25 https://www.telegraph.co.uk/news/uknews/1487145/Labour-activists-had-vote-rigging-factory-to-hijack-postal-votes.html 26 https://www.thetimes.co.uk/article/tower-hamlets-faces-vote-fraud-claims-tk7bxw09j 27 https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/503657/Fighting_fraud_and_corruption_locally_strategy.pdf 28 https://www.transparency.org.uk/publications/corruption-in-uk-local-government-the-mounting-risks/ 29 https://ecpr.eu/Filestore/PaperProposal/0b9ff538-85e4-480a-b43e-e7c0f6febfd3.pdf 30 https://www.gov.uk/government/publications/local-government-transparency-code-2015 31 https://en.wikipedia.org/wiki/Standards_Board_for_England 32 https://www.electoral-reform.org.uk/campaigns/local-democracy/ 33 https://www.conservativehome.com/localgovernment/2008/12/eric-pickles-th.html 34 Livingstone gave it the name: http://traquo.com/visiting-london-what-is-kens-bollock/ 35 https://www.instituteforgovernment.org.uk/sites/default/files/publications/IfG_All_change_report_FINAL.pdf 36 https://www.theguardian.com/commentisfree/2016/apr/27/local-government-failed-state-mayors-george-osborne-unpopular-plan 37 https://northernpowerhouse.gov.uk/ 38 https://www.local.gov.uk/sites/default/files/documents/Councillors%27%20Census%202018%20-%20report%20FINAL.pdf 39 https://www.local.gov.uk/sites/default/files/documents/Councillors%27%20Census%202018%20-%20report%20FINAL.pdf 40 https://www.instituteforgovernment.org.uk/sites/default/files/blog/wp-content/uploads/2015/11/1-Headcount-bar.png 41 https://ukandeu.ac.uk/towns-cities-and-brexit/ 42 https://www.amazon.com/Little-Platoons-Englands-forgotten-political/dp/1785905120 43 http://www.bbc.co.uk/nationonfilm/topics/steel/background.shtml 44 https://www.amazon.com/Little-Platoons-Englands-forgotten-political/dp/1785905120 45 https://www.theguardian.com/inequality/2018/sep/05/qa-how-unequal-is-britain-and-are-the-poor-getting-poorer 46 https://www.instituteforgovernment.org.uk/sites/default/files/publications/has-devolution-worked-essay-collection-FINAL.pdf 47 https://www.bgf.co.uk/ 48 https://www.theguardian.com/business/2011/oct/13/mergers-and-acquisitions-autonomycorporation 49 https://www.ons.gov.uk/peoplepopulationandcommunity/wellbeing/bulletins/socialcapitalintheuk/may2017 50 https://www.theguardian.com/society/2019/may/22/andy-haldane-bank-of-england-voluntary-sector-civil-society-technological-age 51 https://socialenterprise.us/about/social-enterprise/ 52 https://bigsocietycapital.com/ 53 https://www.greeninvestmentgroup.com/news/2016/gib-helps-finance-major-local-authority-streetlighting-project.html 54 https://www.cafonline.org/docs/default-source/about-us-policy-and-campaigns/giving-a-sense-of-place---philanthropy-and-the-future-of-uk-civic-identity.pdf 55 https://www.ukonward.com/thepoliticsofbelonging/ 56 https://www.centreforsocialjustice.org.uk/library/community-capital-how-purposeful-participation-empowers-humans-to-flourish 57 https://www.google.com/search?client=firefox-b-d&q=eierlegende+wollmilchsau&spell=1&sa=X&ved=2ahUKEwjE1pyfrZfnAhWEKVAKHYZHAn0QBSgAegQIARAm&biw=2413&bih=976 58 https://fullfact.org/economy/do-top-1-earners-pay-28-tax-burden/ 59 https://www.mckinsey.com/featured-insights/urbanization/urban-world-mapping-the-economic-power-of-cities 60 https://data.worldbank.org/indicator/SP.URB.TOTL.IN.ZS 61 https://www.citylab.com/equity/2012/03/us-urban-population-what-does-urban-really-mean/1589/ 62 https://www.centreforcities.org/publication/beyond-business-rates-how-fiscal-devolution-can-incentivise-cities-to-grow/ 63 https://www.centreforcities.org/publication/beyond-business-rates-how-fiscal-devolution-can-incentivise-cities-to-grow/ 64 https://www.ifs.org.uk/publications/13991 65 https://www.ifs.org.uk/publications/13991 66 https://stats.oecd.org/Index.aspx?

pages: 390 words: 120,864

Stolen Focus: Why You Can't Pay Attention--And How to Think Deeply Again
by Johann Hari
Published 25 Jan 2022

It’s about making us extra-human.” Aza became a precocious young coder, and he gave his first talk about user interfaces when he was ten years old. By the time he was in his early twenties, he was at the forefront of designing some of the first internet browsers, and he was the creative lead on Firefox. As part of this work, he designed something that distinctly changed how the web works. It’s called “infinite scroll.” Older readers will remember that it used to be that the internet was divided into pages, and when you got to the bottom of one page, you had to decide to click a button to get to the next page.

See also pollution Environmental Protection Agency, 207 Eriksen, Thomas Hylland, 278–79 error-correcting, 39, 40 Eslami, Motahhare, 132 ethical issues business models, 113–17, 118–19, 123 design, 111–12, 117–18, 121–23, 129 stimulant use, 222–24, 236–37 Evangelische Schule Berlin Zentrum, 261 exercise attentional boost from, 243 at schools, 256 exhaustion, 185–95 author’s personal experience, 63–65 background, 185–86 Covid-19, 193 movement to reclaim rest, 273–74 productivity and, 186–90 “right to disconnect,” 194–95 sports team analogy, 190 weekends and vacation time, 190–92 extrinsic motives, 247–48, 252 Eyal, Nir on Big Tech’s efforts, 147–48 cruel optimism of, 151–53, 155 interview with, 155 on mind manipulation, 148 on surveillance capitalism, 162–64 techniques for unplugging, 143–47, 148, 149, 150, 154 Hooked: How to Build Habit-Forming Products, 148, 149 Indistractible, 145, 149–50 Ezard, Nadine, 228, 229 F Fabio (child), 137–38 Facebook algorithms and, 130–32, 138–39, 164–65 business model, 122–23, 124–25, 165 Covid-19 and, 272 effect of, 115 ethical issues, 122–23 infinite scroll and, 120, 159 message in the medium, 84, 85 notification settings for, 147 profile tracking by, 125–26 reinvented, 157–58, 159–61 surveillance by, 169–70 Fadell, Tony, 123 false news, 135–40 favelas, 137–39, 165 fear, as internal trigger, 148–49 feminist movement, 166–68 fiber, 198 financial stress, 180–82, 270 Finland, 181–82, 215, 261–62 Firefox, 119–20 fire hose analogy, 32–33 flow states, 46–62 as author’s change strategy, 268–69 author’s personal experience, 46–50, 59–61 background, 50–54 conditions for, 55–59 defined, 55 discovery of, 53–55 as fragile and disruptable, 59–61 fragmentation comparison, 62 reading and, 59–60, 61, 64, 80 reflections on, 61–62 focus.

Digital Photography: The Missing Manual
by Chris Grover and Barbara Brundage
Published 7 Jul 2006

If you have several large files, then uploading may take a while. When the upload is finished, you're invited to view your photos in the Gallery. 6.3.2. Uploading Photos with Your Web Browser You can upload pictures to your EasyShare Gallery using any Windows XP Web browser, like Internet Explorer or Mozilla Firefox. The beauty of this method is that you can upload the photos on your camera or memory card using a friend's laptop or a hotel computer that doesn't have the EasyShare standalone program installed. All you need is an Internet connection and a way to connect your camera or memory card to the computer.

* * * Perhaps because Flickr has so many different types of members submitting photos from computers, cafés, and cellphones around the world, the site gives you at least three ways to upload your pictures: using an online form in any Web browser; via email; or with a free, downloadable drag-and-drop tool called Uploadr. (Evidently Yahoo is saving money on vowels.) 6.9.1. Uploading Photos with Your Browser You can upload photos to your Flickr account using only a standard-issue Web browser like Internet Explorer or Firefox (Figure 6-16). The process is quick and, provided you know how to find your photos on your computer, it's no more complicated than opening up a file in any program. You need to sign into Flickr (www.flickr.com) before you can upload or work with your photos. If you have a Yahoo ID (and who doesn't?)

pages: 515 words: 126,820

Blockchain Revolution: How the Technology Behind Bitcoin Is Changing Money, Business, and the World
by Don Tapscott and Alex Tapscott
Published 9 May 2016

Peer production communities can be “commons-based peer production,” a phrase coined by Harvard Law professor Yochai Benkler.18 Sometimes called social production, also Benkler’s term, this system means that goods and services are produced outside the bounds of the private sector and are not “owned” by a corporation or individual. Among the countless examples are the Linux operating system (owned by no one but now the most important operating system in the world), Wikipedia (owned by the Wikimedia Foundation), and the Firefox Web browser (owned by the Mozilla Foundation). Peer production can also refer to activities in the private sector where peers collaborate socially to produce something but the good is not socially owned. Peer production as a business model matters for two reasons. First, sometimes peers collaborate voluntarily to produce goods and services where a corporation acts as curator and achieves commercial benefit.

See also Microfinance blockchain IPOs, 82–84 blockchain transformations of, 8, 18–19, 58–63, 64, 128 frameworks for accounting and corporate governance, 73–79 Golden Eight of, 61–63, 64, 86 identity issues, 61, 64, 78–79 paradoxes of traditional finance, 55–57 players in blockchain ecosystem, 285 prediction markets, 84–85 reputation and credit score, 79–82 retail services, 71–73 smart devices and IoT, 159 from stock exchanges to block exchanges, 63, 65–66 Financial stability, 295 Financial utility, 69–70 Firefox Web, 129 First era of the Internet, 3–4, 12–14, 15, 39, 49, 92, 95, 106, 124, 265, 281–82, 299–300 “Float,” 45 FNY Capital, 83 Food industry, 138–39, 157–58 Ford, Henry, 246 Forde, Brian, 247, 282, 286, 287, 305 Foreign aid, 20–21, 188–92 Formation costs, 179 Fragmenting public discourse, 212–13 Free agent nation, 110 Freedom of Information laws, 208–9 Free press, 243–46 Free speech, 243–46 Freitas, Miguel, 246 Funding, in financial services, 62–63, 64 Fund-raising, 179 Futarchy, 220 Future Crimes (Goodman), 276 Future-proofing, 152, 197 Galaxy Zoo, 12 Gauck, Joachim, 52 Gault, Mike, 199 Gemini, 284, 291 Gems, 94–95 Gender differences, in banking access, 178, 192 Germany, 27, 51–52 GetGems, 245 Gibson, William, 255 GitHub, 89, 138 Global solution networks (GSNs), 283, 300–307 Global standards networks, 304–6 “God Protocol, The” (Szabo), 4–5 Gold, 34, 95, 199, 254, 260 Goldcorp Challenge, 223 Golden Eight, 61–63, 64, 86 Goldman Sachs, 66, 70, 71, 284 Goodman, Marc, 276 Google, 13, 96, 118, 140, 143, 161, 180, 255, 270, 275 Gore, Al, 212 Governance, 24, 283, 288–89, 307 distributed power, 33–35, 273 in financial services, 73–79 new framework for blockchain, 298–307 regulations vs., 296–97 Government Digital Service, U.K., 205 Governments, 9, 13, 23, 197–225 alternative models of politics and justice, 218–21 Big Brother, 244, 274–75 blockchain voting, 215–17 design principles in, 201–3 empowering people to serve selves and others, 207–11 engaging citizens to solve big problems, 221–23 Estonia example, 197–99, 203, 204, 206–7 in financial services industry, 70 high-performance services and operations, 203–7 players in blockchain ecosystem, 286–87 second era of democracy, 211–15 stifling or twisting bitcoin, 263–65 tools of twenty-first-century, 223–25 Grande, Ariana, 228 Greifeld, Bob, 65, 66, 84 Guardtime, 199 Guez, Bruno, 238 Gun rights, 200–201, 276 Gupta, Vinay, 226, 227 Hacking, 39, 40, 41, 118–19, 138, 151–52, 243–44 boundary decisions, 112–14 business model innovation, 142–44 DAEs, 273–74 smart things, 168–69 Hagel, John, 94 Haiti earthquake of 2010, 20–21, 188–89 remittances, 183 Haldane, Andrew, 9 Hamel, Gary, 110 Hanks, Tom, 78 Hanson, Robin, 220 Hashcash, 34 Hash rate, 241, 260 Hash value, 32 Hawking, Stephen, 274 Health care, 151, 158 Heap, Imogen, 21, 226, 227–28, 229, 231–35 Hearn, Mike, 69, 164–65, 271, 282 HedgeStreet, 84 Hedgy, 105 Herstatt risk, 59–60 Hewlett-Packard, 150 Hierarchies, 12, 88, 93–101, 105–6 High latency, 256–57 Hill, Austin, 28 design principles, 38, 40–41, 43, 51 financial services, 63, 65–67, 76 implementation challenges, 262, 272 Holacracy, 48–49, 88 Hollywood Stock Exchange, 84 Home management, 161, 275 Homomorphic encryption, 28 Honduras, 193–95 Honesty, 10, 11 Horizontal search, 97 Humanitarian aid, 20–21, 188–92 Human Rights Watch, 200 Hyperledger Project, 69–70, 285, 305 IBM, 39, 111, 118, 129–30, 150, 153 IBM Connections, 139 IBM Institute for Business Value, 163 Ideagoras, 137, 138 Identity, 3–4, 14–16, 264–65.

pages: 452 words: 134,502

Hacking Politics: How Geeks, Progressives, the Tea Party, Gamers, Anarchists and Suits Teamed Up to Defeat SOPA and Save the Internet
by David Moon , Patrick Ruffini , David Segal , Aaron Swartz , Lawrence Lessig , Cory Doctorow , Zoe Lofgren , Jamie Laurie , Ron Paul , Mike Masnick , Kim Dotcom , Tiffiniy Cheng , Alexis Ohanian , Nicole Powers and Josh Levy
Published 30 Apr 2013

It was part of a war on sharing, a fight against the way that the open, distributed Internet works. It was a blatant attempt to preserve their business models to the detriment of artists, innovators, and the public at large. And it was poised to pass. I called up some of my friends at Mozilla (you may have heard of their browser, Firefox) and said that we had to do something, and quick. Aaron Swartz When the bill came back and started moving again, it all started coming together. All the folks we had talked to suddenly began really getting involved—and getting others involved. Everything started snowballing. It happened so fast.

It was part of a war on sharing, a fight against the way that the open, distributed Internet works. It was a blatant attempt to preserve their business models to the detriment of artists, innovators, and the public at large. And it was poised to pass. I called up some of my friends at Mozilla (you may have heard of their browser, Firefox) and said that we had to do something, and quick. So we held a small informal and interactive meeting of entrepreneurs, technologists, and activists to strategize on a plan. Fortunately, we had some people that worked for Congress in the room, and they told us, “This bill is pretty much a done deal.

pages: 567 words: 122,311

Lean Analytics: Use Data to Build a Better Startup Faster
by Alistair Croll and Benjamin Yoskovitz
Published 1 Mar 2013

These are important concepts for anyone trying to perform the kind of scientific comparison needed to justify a change, so we’ll explain them in some detail here. Segmentation A segment is simply a group that shares some common characteristic. It might be users who run Firefox, or restaurant patrons who make reservations rather than walking in, or passengers who buy first-class tickets, or parents who drive minivans. On websites, you segment visitors according to a range of technical and demographic information, then compare one segment to another. If visitors using the Firefox browser have significantly fewer purchases, do additional testing to find out why. If a disproportionate number of engaged users are coming from Australia, survey them to discover why, and then try to replicate that success in other markets.

pages: 752 words: 131,533

Python for Data Analysis
by Wes McKinney
Published 30 Dec 2011

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.

We’ll explore more tools for working with this kind of data. For example, the a field contains information about the browser, device, or application used to perform the URL shortening: In [302]: frame['a'][1] Out[302]: u'GoogleMaps/RochesterNY' In [303]: frame['a'][50] Out[303]: u'Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2' In [304]: frame['a'][51] Out[304]: u'Mozilla/5.0 (Linux; U; Android 2.2.2; en-us; LG-P925/V10e Build/FRG83G) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1' Figure 2-1. Top time zones in the 1.usa.gov sample data Parsing all of the interesting information in these “agent” strings may seem like a daunting task.

Virtual Competition
by Ariel Ezrachi and Maurice E. Stucke
Published 30 Nov 2016

[and] the impact of new technologies that could block or obscure the display of our ads.”55 Besides individuals deleting cookies or using “ad blocking” software that prevents cookies from being stored on a user’s computer, Coupons.com warns investors that even the privacy default setting can hurt its business: [T]he Safari browser blocks third-party cookies by default, the developers of the Firefox browser have announced that a future version of the Firefox browser will also block third-party cookies by default, and other browsers may do so in the future. Unless such default settings in browsers were altered by Internet users to permit the placement of third-party cookies, we would be able to set fewer of our cookies in users’ browsers, which could adversely affect our business.56 So one can see why Disconnect is the pariah in the Frenemy scenario.

Backbone.js Cookbook
by Vadim Mirgorod
Published 25 Aug 2013

Follow these steps to be prepared for this recipe: 1. Create an account on the MongoLab website (https://mongolab.com), or log in if you have an existing one. 2. Install the Advanced REST client on your browser using the URL https:// chrome.google.com/webstore/detail/advanced-rest-client/ hgmloofddffdnphfgcellkdfbfbjeloo. If you're using Firefox or Safari, you can easily find a similar extension for this purpose. 181 REST and Storage How to do it... Follow these steps to create a MongoLab database and fill it with data: 1. Go to https://mongolab.com/newdb and create a new database named billing-app within your MongoLab account. 2. Go to https://mongolab.com/user?

pages: 797 words: 227,399

Wired for War: The Robotics Revolution and Conflict in the 21st Century
by P. W. Singer
Published 1 Jan 2010

“It’s as if the first flight at Kitty Hawk has gone a few hundred feet,” program director Joseph Pancrazio described of the possibilities that might follow. In the world of war, in which microseconds are the difference between life and death, such thought interfaces infinitely speed up reaction time. Many scientists make the comparison to the movie Firefox, in which Clint Eastwood pilots a thought-controlled plane to easy victory over regular planes. In high-speed air battles, the ability to maneuver just by thinking, versus having to jerk a joystick around while fighting g-forces, can be huge. Even more, the ability will allow humans to fight virtually from “inside” unmanned systems, combining the advantages of manned planes with unmanned systems.

At Duke University test subjects have been connected via electrodes as thin as a human hair, while a program at Emory University has developed implants the size of a grain of rice. Much as Internet connections have gone wireless, so might the implanted brain chips one day. This development will give soldiers in the field access to all sorts of new capabilities beyond just controlling their robots by thought. For example, when I couldn’t remember who starred in Firefox, I punched in a search on my desktop computer’s Internet browser. Imagine instead being able to do such searches inside our heads. One researcher explains that the ability to directly connect to the Internet “is going to be my mental prosthesis. Everything I want to know, I can look up. Everything I can forget, I can find.

“Bart,” Evergreen International Everything Bad Is Good for You (Johnson) explosively formed projectile (EFP) Explosive Ordnance Disposal (EOD) team Fabricius, Gary Face of Battle, The (Keegan) Fallujah, battles of FCS (Future Combat Systems) program) Federal Bureau of Investigation (FBI) Federal Emergency Management Agency (FEMA) Fehrenbach, T.R. Fermi, Enrico Ferreira, Jose Fetch (robot) Fick, Nathaniel Fire Fly (unmanned aeronautic vehicle) Firefox (film) First Marine Expeditionary Force, U.S. Fisher, John “Jackie,” Finagle’s law Financial Accelerating Transactions (FatkaT) Finkelstein, Robert Flight Simulator (computer program) Florida Institute for Human and Machine Cognition Fogleman, Ronald R. Ford, Harrison Ford Motor Company Forever Peace (Haldeman) Foster, Eugene Foster-Miller company headquarters of Fox News France Franco, Julio Franklin, Benjamin Franks, Tommy Freeman, Chas Freud, Sigmund Friedman, George Friedman, Meredith Fukuyama, Francis Fuller, J.F.C.

pages: 184 words: 12,922

Pragmatic Version Control Using Git
by Travis Swicegood
Published 1 Dec 2008

It is hosted on GitHub, where you can download the latest build and get information on building it from source. http://gitx.frim.nl/ Report erratum Prepared exclusively for Trieu Nguyen this copy is (P2.0 printing, March 2009) 168 Download at Boykma.Com T HIRD -P AR TY T OOLS Komodo IDE ActiveState announced that it’s integrating support for several DVCSs including Git in the 5.0 release of the Komodo IDE. Komodo is an integrated development environment geared toward scripting languages and web development. It is built on Mozilla 1.9, the same branch of Mozilla that Firefox 3 is written on. ActiveState released the first alpha version of Komodo IDE version 5.0 in August 2008. The current plan is to have the stable release out sometime in the fall of 2008. You can obtain information about the latest version of the Komodo IDE from its website. http://www.activestate.com/Products/komodo_ide/ Eclipse Git Plug-In Eclipse is a popular cross-browser IDE written in Java.

pages: 188 words: 9,226

Collaborative Futures
by Mike Linksvayer , Michael Mandiberg and Mushon Zer-Aviv
Published 24 Aug 2010

Linksvayer holds a degree from the University of Illinois at UrbanaChampaign in economics, a field which continues to strongly inform his approach. He lives in Oakland, California. 146 Michael Mandiberg is known for selling all of his possessions online on Shop Mandiberg, making perfect copies of copies on A erSherrieLevine.com, and creating Firefox plugins that highlight the real environmental costs of a global economy on TheRealCosts.com. His current projects include the co-authored groundbreaking Creative Commons licensed textbook “Digital Foundations: an Intro to Media Design” that teaches Bauhaus visual principles through design so ware; HowMuchItCosts.us, a car direction site that incorporates the financial and carbon cost of driving; and Bright Bike, a retro-reflective bicycle praised by treehugger.com as “obnoxiously bright.”

pages: 218 words: 44,364

The Starfish and the Spider: The Unstoppable Power of Leaderless Organizations
by Ori Brafman and Rod A. Beckstrom
Published 4 Oct 2006

IBM saw that Linux—the open-source operating system that rivals Microsoft Windows—was gaining traction. Instead of competing with the decentralized market entrants, IBM supported them. It deployed six hundred engineers whose sole job was to contribute to Linux, and it actively supported the development of Apache and Fire-fox, the open-source browser that competes with Microsoft's Internet Explorer. IBM's strategy was based in part on the "whoever is my enemy's enemy is my friend" philosophy. That is, "if these programs are hurting Microsoft, our competitor, then let's help them." But it's not just about thwarting competitors.

pages: 271 words: 52,814

Blockchain: Blueprint for a New Economy
by Melanie Swan
Published 22 Jan 2014

Domains can be registered directly with the Namecoin system or via a registration service like https://dotbit.me/. Because the top-level domain .bit is outside the traditional operation of the Internet, to facilitate viewing .bit websites, there are .bit proxy servers to handle DNS requests in a browser, as well as Firefox and Chrome extensions. According to the Bitcoin Contact website as of October 2014, there are 178,397 .bit domains registered, including, for example, wikileaks.bit. The key point is that .bit domains are a free-speech mechanism, because now having the ability to view .bit websites means attempts to silence those with a legitimate message will have less of a chance of succeeding.

pages: 181 words: 53,257

Taming the To-Do List: How to Choose Your Best Work Every Day
by Glynnis Whitwer
Published 10 Aug 2015

We have to refocus, which expends mental energy. We sacrifice creativity. We’ve adopted a multitasking lifestyle in part to attempt to manage all the information we’re presented. So we switch from emails to texts to social media to the internet to an app and finally to the work we were supposed to be doing all along. Mozilla Firefox, a web browser, reports the average user in my age group has three tabs open at one time.[8] Mercy! Once again, I’m above average in the worst sort of way. I usually have about eight tabs open. However, I’m proud to say I did shut down my emails in order to focus on writing. Though I did happen to watch a fun video . . . several times.

pages: 523 words: 143,139

Algorithms to Live By: The Computer Science of Human Decisions
by Brian Christian and Tom Griffiths
Published 4 Apr 2016

In fact, this principle is even implicit in the interface that computers show to their users. The windows on your computer screen have what’s called a “Z-order,” a simulated depth that determines which programs are overlaid on top of which. The least recently used end up at the bottom. As former creative lead for Firefox, Aza Raskin, puts it, “Much of your time using a modern browser (computer) is spent in the digital equivalent of shuffling papers.” This “shuffling” is also mirrored exactly in the Windows and Mac OS task switching interfaces: when you press Alt + Tab or Command + Tab, you see your applications listed in order from the most recently to the least recently used.

See also auctions; investment strategies; market behavior bubbles Nash equilibrium and tragedy of commons and Economist Edmonds, Jack educational evaluation Edwards, Ward efficient algorithm efficient or tractable problem, defined Egyptian pharaohs’ reigns electrical memory organ elevator pitch email emotions Engel, Joel Eno, Brian environmental movement epidemiology equality equilibrium Erlang, Agner Krarup Erlang distribution error bars error tradeoff space ethics Evernote eviction policies evolution constraints and expected value Explicit Congestion Notification (ECN) explore/exploit tradeoff Exponential Backoff exponential time (O(2n)) Facebook factorial time (O(n!)) fads false positives FBI FCC spectrum auctions FDA feedback fencing filing Finkel, Larry Firefox fire truck problem First-In, First-Out (FIFO) fitness Fitzgerald, F. Scott Flack, Jessica flash memory flat hierarchies Flood, Merrill flow control food fads minimizing rotten overfitting and Forbes forgetting curve forgiveness Forster, E. M. Fortune 500 list Frank, Robert Franklin, Benjamin Fredrickson, Barbara Fried, Jason full-information games optimal stopping and fundamental investors future, discounted Galileo gambling game theory gaming Gantt, Henry Gantt charts Gardner, Martin Gaskell, R.

pages: 144 words: 55,142

Interlibrary Loan Practices Handbook
by Cherie L. Weible and Karen L. Janke
Published 15 Apr 2011

Most recently, the addition of Addons to ILLiad allows library staff to integrate web services within the ILLiad Client.5 OpenURL resolvers, OCLC cataloging, book vendors, and search engines are already available. 113 114 the future of interlibrary loan Together, users and ILL staff will strategically navigate these similar landscapes of information supply to produce innovative strategies that improve mutual informed decision making and expand service. Tools that automate and resolve data help us streamline and bundle options. Book Burro (www.bookburro.org) was an early tool that developed automatic resolution of information supply for end users. This Firefox extension provides quick access to numerous options for book readers, including libraries holding the work by location, price to purchase, peerto-peer sharing, and other service options. Practically speaking, an end user could easily take a desired book record and choose a delivery option by comparing the display of the nearest library holding that item with the cost of buying it from various vendors or obtaining it for free using peer-sharing networks.

pages: 218 words: 60,935

How to Buy Property at Auction: The Essential Guide to Winning Property and Buy-To-Let Bargains
by Samantha Collett
Published 20 Mar 2014

• Rightmove is the big daddy of the property listings world and offers the most comprehensive listings of all properties for sale and rent in the UK. They also have some very useful tools such as the ‘Price Comparison Report’ where you can see sold prices, and often this will include the property’s original full listing with photos, floor plans and more details. See www.rightmove.co.uk • Property-Bee is a clever Firefox add-on to Rightmove which can turbo-charge the results. The Property-Bee toolbar will show all changes to the price and details since the property was listed. This means you have a complete history of when the property was put on the market, price changes (up and down), whether the property has been sold subject to contract (SSTC) and come back onto the market, and any changes to the details.

pages: 209 words: 63,649

The Purpose Economy: How Your Desire for Impact, Personal Growth and Community Is Changing the World
by Aaron Hurst
Published 31 Aug 2013

SECTION THREE Social Purpose—The Purpose Economy Organization 8 The Purpose Economy Organization If you were online in 1997, there was about an 80 percent chance you were surfing the web using Netscape’s browser. By 2002, Microsoft’s Internet Explorer had secured 90 percent of the browser market. In its death throes, Netscape was purchased by AOL and eventually put to rest when AOL merged with TimeWarner. But by July 2013, Internet Explorer enjoyed only a 4 percent market advantage over Firefox, a new browser that rose from the ashes of Netscape. It is a classic story of the Information Economy—the browser wars. Hidden in the story, however, is the remarkable story of a Purpose Economy organization and its inspiring success against Microsoft, the Goliath of the day. Microsoft had invested so many resources in Internet Explorer that by 1998, Netscape realized it could no longer compete.

pages: 223 words: 60,909

Technically Wrong: Sexist Apps, Biased Algorithms, and Other Threats of Toxic Tech
by Sara Wachter-Boettcher
Published 9 Oct 2017

As you’ve likely guessed, this wasn’t a store at all. This was the Glass Room: an immersive installation that encouraged visitors to “consider how you use technology and how those behind technology use you.” Curated by the nonprofit Tactical Technology Collective and funded by Mozilla, makers of the Firefox internet browser, the Glass Room painted a bleak picture of just how much personal information can be gleaned from our daily technology use—from the links we click to the posts we like to the real-life places we go while our phones are simply sitting in our pockets—and how that data gets transformed from individual strings into massive tomes.

pages: 571 words: 162,958

Rewired: The Post-Cyberpunk Anthology
by James Patrick Kelly and John Kessel
Published 30 Sep 2007

The phone started to break up, washing her puke-noises back like an echoplex. “Stay there, Kelly,” he shouted as the line died. He punched 911, but the phone went NETWORK ERROR again as soon as he hit SEND. He grabbed Mayor McCheese from Van and plugged it into the 486’s network cable and launched Firefox off the command line and googled for the Metro Police site. Quickly, but not frantically, he searched for an online contact form. Felix didn’t lose his head, ever. He solved problems and freaking out didn’t solve problems. He located an online form and wrote out the details of his conversation with Kelly like he was filing a bug report, his fingers fast, his description complete, and then he hit SUBMIT.

Dont be a hero though. When you need to go go. Theres got to be something out there be safe felix, seriously—btw did i tell you queries are up in Romania? maybe theyre getting back on their feet really? yeah, really. we’re hard to kill — like fucking roaches Her connection died. He dropped to Firefox and reloaded Google and it was down. He hit reload and hit reload and hit reload, but it didn’t come up. He closed his eyes and listened to Van scratch his legs and then heard Van type a little. “They’re back up,” he said. Felix whooshed out a breath. He sent the message to the newsgroup, one that he’d run through five drafts before settling on, “Take care of the place, OK?

pages: 504 words: 89,238

Natural language processing with Python
by Steven Bird , Ewan Klein and Edward Loper
Published 15 Dec 2009

Web and Chat Text Although Project Gutenberg contains thousands of books, it represents established literature. It is important to consider less formal language as well. NLTK’s small collection of web text includes content from a Firefox discussion forum, conversations overheard in New York, the movie script of Pirates of the Carribean, personal advertisements, and wine reviews: >>> from nltk.corpus import webtext >>> for fileid in webtext.fileids(): ... print fileid, webtext.raw(fileid)[:65], '...' ... firefox.txt Cookie Manager: "Don't allow sites that set removed cookies to se... grail.txt SCENE 1: [wind] [clop clop clop] KING ARTHUR: Whoa there! [clop... overheard.txt White guy: So, do you have any plans for this evening?

Programming Python
by Mark Lutz
Published 5 Jan 2011

In the Beginning There Was Grail Besides creating the Python language, Guido van Rossum also wrote a World Wide Web browser in Python years ago, named (appropriately enough) Grail. Grail was partly developed as a demonstration of Python’s capabilities. It allows users to browse the Web much like Firefox or Internet Explorer, but it can also be programmed with Grail applets—Python/tkinter programs downloaded from a server when accessed and run on the client by the browser. Grail applets work much like Java applets in more widespread browsers (more on applets in the next section). Though it was updated to run under recent Python releases as I was finishing this edition, Grail is no longer under active development today, and it is mostly used for research purposes (indeed, the Netscape browser was counted among its contemporaries).

Often, the server itself does nothing but watch for requests on its port perpetually; handling requests is delegated to spawned processes or threads. Clients Programs that wish to talk to this server specify the server machine’s name and port 80 to initiate a connection. For web servers, typical clients are web browsers like Firefox, Internet Explorer, or Chrome, but any script can open a client-side connection on port 80 to fetch web pages from the server. The server’s machine name can also be simply “localhost” if it’s the same as the client’s. In general, many clients may connect to a server over sockets, whether it implements a standard protocol or something more specific to a given application.

HTTP: Accessing Websites Python’s standard library (the modules that are installed with the interpreter) also includes client-side support for HTTP—the Hypertext Transfer Protocol—a message structure and port standard used to transfer information on the World Wide Web. In short, this is the protocol that your web browser (e.g., Internet Explorer, Firefox, Chrome, or Safari) uses to fetch web pages and run applications on remote servers as you surf the Web. Essentially, it’s just bytes sent over port 80. To really understand HTTP-style transfers, you need to know some of the server-side scripting topics covered in Chapter 15 (e.g., script invocations and Internet address schemes), so this section may be less useful to readers with no such background.

pages: 288 words: 66,996

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

But although HTTPS is used as the default by many major sites (including Gmail, Facebook and Twitter), a lot of sites have both secure and non-secure versions – and even if you remember to start your visit by typing "HTTPS", you could easily click a link that sends you back to the non-secure HTTP version without noticing. To avoid having to worry about this, you can use a browser extension for Chrome and Firefox called HTTPS Everywhere (www.worktravel.co/httpseverywhere). The extension is simple, but effective: all it does is automatically re-route you to the HTTPS version of a website when one is available. HTTPS Everywhere operates in the background automatically, so you don't have to do anything – except double-check that you can see "HTTPS" and the padlock symbol in your browser before before entering any particularly sensitive information like credit card details.

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
Published 14 Oct 2012

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.

The Data Journalism Handbook
by Jonathan Gray , Lucy Chambers and Liliana Bounegru
Published 9 May 2012

Depending on your browser, tools like Readability (http://www.readability.com/; which helps extract text from a page) or DownThemAll (http://www.downthemall.net/; which allows you to download many files at once) will help you automate some tedious tasks, while Chrome’s Scraper extension was explicitly built to extract tables from web sites. Developer extensions like FireBug (http://getfirebug.com/; for Firefox—the same thing is already included in Chrome, Safari, and IE) let you track exactly how a website is structured and what communications happen between your browser and the server. ScraperWiki is a website that allows you to code scrapers in a number of different programming languages, including Python, Ruby, and PHP.

pages: 228 words: 68,315

The Complete Guide to Property Investment: How to Survive & Thrive in the New World of Buy-To-Let
by Rob Dix
Published 18 Jan 2016

Firstly, on Zoopla, you can click “Agents” in the top menu and enter a postcode to bring up a list of all the agents who are registered with the site and operate in that area. Next to each one it has “Average sale listing age” – which tells you how long their listings typically sit on the site for. (Bear in mind that the property will stay there for the entire conveyancing process until the transaction finally completes.) Also, by using a tool like Property Bee for Firefox or Property Tracker for Chrome (which cleverly scrape the Rightmove database and insert extra information into each listing), you can see the history of individual properties. These tools will show you the date each property was listed and the date that it was marked as “Sold STC” (meaning that an offer was accepted and the conveyancing process started), which of course is exactly what you want to know.

pages: 237 words: 65,794

Mining Social Media: Finding Stories in Internet Data
by Lam Thuy Vo
Published 21 Nov 2019

While the browser renders neat visuals for users to see, there’s a lot more at play in this website than we may initially suspect. Let’s look under the hood to see what a tweet looks like as lines of code. To do this, we need to open up a nifty little browser feature called developer tools. These are tools that are built into some browsers, like Chrome, and are available as plug-ins for other browsers, like Firefox. We’ll go through this book’s examples using Chrome, a free browser you can download from https://www.google.com/chrome/. Using Google Chrome, go to a Twitter timeline and click a single tweet. To access the HTML of the tweet in Chrome, select View ▸ Developer ▸ Developer Tools from Chrome’s menu or press CTRL-SHIFT-I in Windows or COMMAND-OPTION-I on a Mac.

pages: 821 words: 178,631

The Rust Programming Language
by Steve Klabnik and Carol Nichols
Published 14 Jun 2018

Companies Hundreds of companies, large and small, use Rust in production for a variety of tasks. Those tasks include command line tools, web services, DevOps tooling, embedded devices, audio and video analysis and transcoding, cryptocurrencies, bioinformatics, search engines, Internet of Things applications, machine learning, and even major parts of the Firefox web browser. Open Source Developers Rust is for people who want to build the Rust programming language, community, developer tools, and libraries. We’d love to have you contribute to the Rust language. People Who Value Speed and Stability Rust is for people who crave speed and stability in a language.

Note that we’ll still get an error page in the browser, but our program’s output in the terminal will now look similar to this: $ cargo run Compiling hello v0.1.0 (file:///projects/hello) Finished dev [unoptimized + debuginfo] target(s) in 0.42 secs Running `target/debug/hello` Request: GET / HTTP/1.1 Host: 127.0.0.1:7878 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Connection: keep-alive Upgrade-Insecure-Requests: 1 Depending on your browser, you might get slightly different output. Now that we’re printing the request data, we can see why we get multiple connections from one browser request by looking at the path after Request: GET.

pages: 659 words: 190,874

Deep Nutrition: Why Your Genes Need Traditional Food
by Catherine Shanahan M. D.
Published 2 Jan 2017

q=cache:PVHCLllMKzQJ:www.asph.org/movies/keys.pdf+percent22i’ll+show+those+-guyspercent22+keys&hl=en&ct=clnk&cd=1&gl=us&client=firefox-a 233. Hydrogenated fats in the diet and lipids in the serum of man, Anderson JT, J Nutr, 75 (4):338, p. 1961. 234. Ibid. 235. Health revolutionary: the life and work of Ancel Keys, accessed online at www.209.85.141.104/search?q=cache:PVHCLllMKzQJ:www.asph.org/movies/keys.pdf+percent22i’ll+show+those+-guyspercent22+keys&hl=en&ct=clnk&cd=1&gl=us&client=firefox-a 236. Tracing citations in consensus articles and other policy setting research statements leads us back to Keys and his junk science.

pages: 618 words: 179,407

The Bill Gates Problem: Reckoning With the Myth of the Good Billionaire
by Tim Schwab
Published 13 Nov 2023

Bill & Melinda Gates Foundation, “Portfolio,” SIF.gates, n.d., https://sif.gatesfoundation.org/portfolio/; “Inventprise Receives $30M, Appoints New CEO and Expands Corporate Board, “Inventprise,” April 27, 2022, https://webcache.googleusercontent.com/search?q=cache:j_e9JCOLzfIJ:https://inventprise.com/%3Fpage_id%3D19092&cd=1&hl=en&ct=clnk&gl=us&client=firefox-b-1-d; Dennis Price, “Eyes Wide Open: Good Reasons for a Bad Investment in a Low-Cost HIV Test,” in Stanford University with ImpactAlpha, Making Markets Work for the Poor, Supplement, Stanford Social Innovation Review (Summer 2016): 35. seven “governors”: Query of Washington State Corporations and Charities Filing System, January 31, 2023, https://ccfs.sos.wa.gov/#/.

“on a safari”: Melinda Gates, “The Story of How Melinda Gates Met Bill Gates,” Interview, Salesforce, December 1, 2016, https://www.youtube.com/watch?v=VqsFbzTcpdc. even their own wine expert: Joss Kent (as told to Charlotte Metcalf), “Travel Safaris,” Spectator, July 18, 2009, https://webcache.googleusercontent.com/search?q=cache:tx14f54M4J4J:https://reader.exacteditions.com/issues/5493/page/44&cd=3&hl=en&ct=clnk&gl=us&client=firefox-b-1-d. “But it’s really not at all trite”: Gates, “The Story of How Melinda Gates Met Bill Gates,” 2:50. “capitalistic societies”: Melinda French Gates, Interview by Becky Quick, CNBC, April 24, 2019, https://www.youtube.com/watch?v=J9Xs5RF7qBk. Note: A 2021 survey by the Alliance for Democracies found that 44 percent of people, from 53 different countries, said they see the United States as a threat to their democracies.

Microsoft Office Outlook 2010 QuickSteps
by Malestrom

In this section you’ll see the most common features of the default Outlook window, including the parts of the window, the buttons on the principal toolbars, and the major menus. Also, you’ll see how to use the Navigation pane and Outlook Today. 4 platform,” although it also runs on laptops • Office Web Apps accessed through a Web browser such as Internet Explorer or Firefox, which is a newly available platform with Office 2010 • Office Mobile accessed through a mobile device, 5 such as a smart phone, is another newly available platform Office 2010 on the desktop platform is available in four versions: Explore the Outlook Window The Outlook window takes on a different appearance depending on the function you want Outlook to perform.

pages: 260 words: 76,223

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

In case you’re not sure, take a peek at what that Facebook IPO looked like. What do you think all of these investors were buying into? (Hint: It’s your data and information.) As part of the TED conference in 2012, Mozilla’s Atul Varma introduced a new platform called Collusion that helps individuals using the Firefox Web browser track the trackers. The initiative was created after Varma tracked who was following his young child online. After a couple of hours, it was hundreds of companies. What do all of these trackers want? Ultimately, these trackers are trying to put an advertisement in front of you that will make you take an action.

pages: 263 words: 75,610

Delete: The Virtue of Forgetting in the Digital Age
by Viktor Mayer-Schönberger
Published 1 Jan 2009

To see how it differs from existing approaches related to information power and control, consider “cookies,” the little information packets that web sites send us when we browse web pages to keep track of what we are doing. A decade ago, I wrote an article on cookies.1 In the piece, I explained that web browsers, like Firefox and Internet Explorer, can be configured to ask us to accept or decline an incoming cookie. But, I lamented, browsers won’t tell us when they send a cookie with our information out to a web site, which, I criticized, happens clandestinely, and in clear violation of accepted principles of transparency and consent that are hallmarks of information privacy rights.

pages: 266 words: 80,018

The Snowden Files: The Inside Story of the World's Most Wanted Man
by Luke Harding
Published 7 Feb 2014

The reason is simple: journalists, activists and campaigners in authoritarian countries such as Iran use Tor to protect themselves from political reprisals and online censorship. Thus far, however, the NSA and GCHQ have been unable to de-anonymise most Tor traffic. Instead, the agencies have attacked web browsers such as Firefox, which allows them control over a target’s end computer. They have also developed the ability to ‘stain’ some traffic as it bounces around the Tor system. Despite their best endeavours, the truth appears to be that NSA and GCHQ have not yet won cryptography’s new civil war. With the right training and some technical expertise, corporations and individuals (as well, no doubt, as terrorists and paedophiles) are still successfully using cryptography to protect their privacy.

pages: 361 words: 76,849

The Year Without Pants: Wordpress.com and the Future of Work
by Scott Berkun
Published 9 Sep 2013

But good information was missing. We worked well as a team so that whatever was missed wasn't enough to give me any concerns, at least not yet. For my San Francisco visit I scheduled time with Mullenweg, Beau, as well as Paul Kim, one of the few Automatticians with significant experience outside WordPress. He'd worked at Firefox during its rise and had reached out to me a few times in my early weeks to offer support and any advice I needed. He might have been the friendliest person in welcoming me and offering an ear. If it wasn't for Hanni and him, I doubt I'd have talked to many people I didn't work with directly at Automattic, where I didn't initiate it.

pages: 259 words: 73,193

The End of Absence: Reclaiming What We've Lost in a World of Constant Connection
by Michael Harris
Published 6 Aug 2014

The world’s arbiter of truth: “Wikipedia: List of Hoaxes on Wikipedia,” accessed January 13, 2014, http://en.wikipedia.org/wiki/Wikipedia:List_of_hoaxes_on_Wikipedia. Four years later, I asked: “Who is Erica Feldman . . . ?,” snapshot from January 6, 2014, via Google’s cache, http://webcache.googleusercontent.com/search?q=cache:Q77Wj1JfErsJ:wiki.answers.com/Q/Who_is_erica_feldman_the_one_that_invented_the_hair_straightnener+&cd=1&hl=en&ct=clnk&gl=ca&client=firefox-a. There are even hoaxes about hoaxes: “List of Fictitious People,” Wikipedia.com, accessed January 15, 2014, http://en.wikipedia.org/w/index.php?title=List_of_fictitious_people&diff=211003619&oldid=205705808. I see there are currently: “Wikipedia:Statistics,” Wikipedia, accessed January 17, 2014, http://en.wikipedia.org/wiki/Wikipedia:Statistics.

pages: 269 words: 79,285

Silk Road
by Eileen Ormsby
Published 1 Nov 2014

The dark web is a home for people who have good reason not to want authorities tracing their movements on the web. But upon taking the plunge and clicking the icon, it doesn’t really look like that. The onion simply opens up a new browser window containing a cheery congratulatory message on how you are now free to browse the web anonymously. It looks just like the Firefox browser millions use to surf the net. The difference, however, is that your computer’s IP address is being ‘onion routed’ – software is routing internet traffic through a worldwide volunteer network of servers in order to conceal the computer’s location or usage from anyone conducting network surveillance or traffic analysis.

pages: 1,136 words: 73,489

Working in Public: The Making and Maintenance of Open Source Software
by Nadia Eghbal
Published 3 Aug 2020

¶ This list is roughly organized by user contributions that require the biggest contributor community size, in descending order. It’s unlikely you’ll see people organizing conferences for tiny libraries versus programming languages, for example, but pretty much every popular project, regardless of size, has users who report bugs. ** A study of the Mozilla Firefox web browser project found that among the 150,000 issue reporters over eleven years, there was “a comparably small group of about 8,000 experienced, frequent reporters” (roughly 5% of reporters) who had higher-quality insights and contributions.175 CODE AS ARTIFACT, CODE AS ORGANISM “One of my hypothesis [sic] is that species of technology, unlike species in biology, do not go extinct.

pages: 266 words: 79,297

Forge Your Future with Open Source
by VM (Vicky) Brasseur

Your phone either runs on an open source platform—Android—or it has a proprietary platform but runs apps written in an open source language—Swift. The movies you watch may have been created using the Blender free and open 3D rendering suite, and they certainly were converted or edited with the help of ffmpeg, a free software tool for manipulating digital media files. You may open your open source browser—Firefox—to watch a live stream delivered by the free Open Broadcaster Software. You may then place an order from an online merchant, who built their website using the free and open Wordpress, Drupal, or Joomla. Thanks to the OpenSSL cryptographic library and tools, you know that your financial information will remain secure.

pages: 290 words: 73,000

Algorithms of Oppression: How Search Engines Reinforce Racism
by Safiya Umoja Noble
Published 8 Jan 2018

Critical race theory in this process of developing information-organization tools is of great value, particularly when thinking about the phenomenon of excessive recall of documents on the web that are irrelevant or decontextualized. Responses to the kinds of problematic biases in large commercial search engines are part of the growing motivation behind a host of culturally situated search engines that are emerging, particularly Blackbird (www.blackbirdhome.com), a Mozilla Firefox browser designed to help surface content of greater relevance to African Americans. Blackbird has been met with mixed reviews, from support and interest to wholesale rejection.46 In any case, organizations and individuals are responding to the limits of traditional commercial search engines through the development of such search engines.

pages: 434 words: 77,974

Mastering Blockchain: Unlocking the Power of Cryptocurrencies and Smart Contracts
by Lorne Lantz and Daniel Cawrey
Published 8 Dec 2020

However, some early platforms are trying to tackle this problem, as you’ll see in this section. Wallets In order to use a number of DeFi services, users must become familiar with wallets. Fortunately, a number of good options are available today. MetaMask is a software wallet that currently works inside the Chrome, Firefox, and Opera browsers. It is also available for Brave, a new type of browser discussed later in this chapter. Hardware wallets like Ledger are another alternative, and Coinbase also offers support for those who don’t want to concern themselves with key storage. Note Remember: if you don’t own the keys, you don’t own the asset.

pages: 789 words: 207,744

The Patterning Instinct: A Cultural History of Humanity's Search for Meaning
by Jeremy Lent
Published 22 May 2017

The global culture emerging from the internet offers humanity a view of itself as an interconnected whole, inviting people to see themselves as part of a web of life encompassing the entire world.86* The internet also offers the opportunity for people at a grassroots level to change the very structures that have defined commerce and communication since the rise of the Industrial Revolution. Collaborative offerings such as Wikipedia and Firefox—an open-source web browser with half a billion users—demonstrate the power of a volunteer network to compete with established corporations. In another development, the newly emerging “sharing economy,” which emphasizes the value of sharing access to products rather than owning them outright, is rapidly extending to cars, homes, clothes, tools, toys, and other items.

See also Adam and Eve evolution anthropocentric interpretation of, 280 of anthropomorphism, 75–77 of cooperation, 45–47 critical transitions in, 24 genetic engineering directing future of, 420–21 human, 21–22, 49, 51 language, 58–66, 428 multilevel selection in, 371 “niche construction” in, 20–21 racist interpretation of, 16, 314–15 “selfish gene” interpretation of, 44–45, 462 spandrels in, 73–75 evolutionary psychology, 90 external symbolic storage, 78–80 Exxon Mobil, 393 Ezra (prophet), 220, 222 faylasuf, 320–23 Field of Hetep, 120, 126 Firefox, 439 Ford, Henry, 379 fossil fuels climate change and, 392–94 exploitation of, 388–89, 414–15 special interests and, 396 technological lock-in and, 396–97 fractal geometry, 263, 364–65, 370, 371 Franklin, Benjamin, 312 free-rider problem, 45–46 Freud, Sigmund, 286, 380 Fulgentius, Bishop, 244 Fuller, Buckminster, 389 Gaia theory, 370 Galileo, 209, 523 cosmology of, 346, 349, 522 Inquisition and, 335, 347–49, 522 Ganges River, 136, 391 GDP (Gross Domestic Product), 398–400, 534–35 alternative measures, 399 Geertz, Clifford, 31–32 Genesis, 116 genetic engineering, 376, 401, 408, 417–18, 440 in humans, 28, 420–21, 426, 429–30, 432, 539 genocide, 242, 504 and Americans, indigenous, 309–12 and European mind-set, 309–12, 333 in Old Testament, 241–43 geoengineering, 418–20, 425, 432 Gerbert of Aurillac, Pope, 341 Gestalt psychology, 263, 363, 367–68 ge wu.

pages: 325 words: 85,599

Professional Node.js: Building Javascript Based Scalable Software
by Pedro Teixeira
Published 30 Sep 2012

Visit www.safaribooksonline.com/wrox to get started Related Wrox Books Beginning JavaScript, 4th Edition ISBN: 978-0-470-52593-7 JavaScript allows you to enhance your web pages and web applications by providing dynamic, personalized, and interactive content. Serving as a great introduction to JavaScript, this book offers all you need to start using JavaScript on your web pages right away. It’s fully updated and covers utilizing JavaScript with the latest versions of the Internet Explorer®, Firefox®, and Safari® browsers. JavaScript 24-Hour Trainer ISBN: 978-0-470-64783-7 This unique book-and-DVD package shows you how to use JavaScript to make web pages more dynamic and interactive so that you can create a first-rate user experience. Packed with expertly written lessons, this must-have book-and-DVD set provides instructional demonstrations on the DVD that enhance your Java Script learning experience through tutorial demos and helpful examples.

pages: 296 words: 86,610

The Bitcoin Guidebook: How to Obtain, Invest, and Spend the World's First Decentralized Cryptocurrency
by Ian Demartino
Published 2 Feb 2016

From the mid-1990s and until Edward Snowden’s revelations of widespread and illegal government spying, the general public overwhelmingly used the Internet, email, and other forms of electronic communication completely unencrypted, mostly oblivious to the inherent risk. Meanwhile, the government designed surveillance programs and built backdoors into our technology. Even today, after Snowden’s revelations, the vast majority of users still send their emails unencrypted and browse the web using Firefox, Chrome, or Internet Explorer—rarely do they add extra security features. Browsers built with security in mind make up less than one percent of total Internet use. The cypherpunks and cryptographers of the early ’90s fought for our right to use privacy tools; the hackers and tinkers of today have extended this.

pages: 239 words: 80,319

Lurking: How a Person Became a User
by Joanne McNeil
Published 25 Feb 2020

“This project is experimental and of course comes without any warranty whatsoever. However, it could start a revolution in information access,” he offered. The web is now core to the online experience, and many users mistake it for the internet itself, but the web is websites or web pages that a user accesses with a browser (like Chrome or Firefox, or Netscape or Mosaic before). By the way, the word “online” is always a good hedge whenever you are unsure about how a computer is talking to another computer, because it refers to a network, any network—a network can be two computers linked, or a campus network, or the internet broadly. (The “information superhighway” is just as all-encompassing, even if the term is out of fashion these days.)

pages: 245 words: 83,272

Artificial Unintelligence: How Computers Misunderstand the World
by Meredith Broussard
Published 19 Apr 2018

The Xerox PARC mouse-and-GUI computer was a derivative of an earlier idea, the oN-Line System (NLS), demonstrated by Doug Engelbart in the “mother of all demos” at the 1968 Association for Computing Machinery conference. We’ll look at this intricate history in chapter 6. The next layer to think about is another software layer: a program that runs on top of an operating system. A web browser (like Safari or Firefox or Chrome or Internet Explorer) is a program that allows you to view web pages. Microsoft Word is a word processing program. Desktop video games like Minecraft are also programs. These programs are all designed to take advantage of certain underlying features of the different operating systems. That’s why you can’t just run a Windows program on a Mac (unless you use another software program—an emulator—to help you).

pages: 308 words: 85,880

How to Fix the Future: Staying Human in the Digital Age
by Andrew Keen
Published 1 Mar 2018

A serial start-up guy who sold his first business, a domain names company, in the late nineties, Schumacher was looking around for a new project when, in 2010, he stumbled on the Adblock Plus software, which he describes as an “undiscovered gem.” Originally created by a Moldovan engineer, the open-source technology was a volunteer-staffed, community-supported project without any business model. What it did, by hacking into browsers like Firefox or Chrome, was provide an advertising kill switch, replacing all adverts on websites with blank boxes. It turned the whole digital economy on its head. Rather than being perpetually watched and pestered by advertisers, the user now had the upper hand to block advertising, tracking, and cookie notifications, and even to disable those social media buttons that follow us around the internet.

pages: 314 words: 81,529

Badvertising
by Andrew Simms

The sheer volume of data a life online generates, and the fact that companies know most people have multiple devices, means that by comparing data on search histories and other activity across two or more devices in similar locations means you can be found, they simply work out that the same person is likely to own the different devices. • Constantly evolving technology: Third-party cookies have already been blocked by Safari and Firefox, and Chrome plans to do so too. Yet, not to be beaten, Google has a new tracking method known as FLoC.72 • CCTV spreads its surveillance wings: Shops can now use cameras to track consumers and the products they may be interested in as they move around stores, that coupled with evolving facial detection software means the very idea of discrete, or secret shopping could soon be a thing of the past.73 • Ears everywhere listening in: Examples of inadvertent purchases being triggered by eavesdropping smart devices are the stuff of legend, going viral to the amusement of many – and the deep disturbance of those who understand the full implications.

pages: 669 words: 210,153

Tools of Titans: The Tactics, Routines, and Habits of Billionaires, Icons, and World-Class Performers
by Timothy Ferriss
Published 6 Dec 2016

I would do that in the first one or two assignments, and then afterward, they would learn not to cheat.” The Origin of Duolingo’s Green Owl Mascot and Logo “We were just getting started with Duolingo, and we had hired a Canadian company to help with our branding. . . . It’s called silverorange. They made the Firefox logo, for example. We love working with them, and in one of our first meetings about the branding of the company, my co-founder Severin [Hacker] said, ‘You know, I don’t know much about design, and I don’t particularly care. But I’ll tell you this: I hate the color green. I hate it.’ “We all thought it would be hilarious if our mascot was a green thing, and so that’s why it’s green.

I’ve also discovered that some large companies track MAC addresses to know the last place you’ve been, so it doesn’t hurt to adjust it every once in a while. Accessing Interesting Data and Controlling the Websites You Visit * * * If a website is delivering images, video, or audio to your computer, that means in most cases you can download it directly, even if the site attempts to stop you. In Chrome (similar tools exist in Firefox and Safari), you can go to View → Developer → Developer Tools, click on the Network tab, refresh the page, and see all content going across. You can then right-click any file, such as an image that the site wouldn’t otherwise let you download, and click Copy Link Address to get the direct URL. The Elements tab is also particularly useful.

pages: 398 words: 86,855

Bad Data Handbook
by Q. Ethan McCallum
Published 14 Nov 2012

Fill out a form with a company name and date range. Dismiss a dialog box (“Do you really want to submit this query?”). Switch to the new tab that the results open in; extract the data. Close the new tab, returning to the original form. Repeat. For this, I used my favorite last-resort tool: Chickenfoot[7], which is a Firefox plug-in that allows you to programmatically interact with a web page through the browser. From the web server’s perspective, all of the requests are as if a real person was submitting these queries through their browser. Here is a simple example that will load the Idaho NCLB page that we crawled and go to the first school’s “Teacher Quality” page.

pages: 378 words: 94,468

Drugs 2.0: The Web Revolution That's Changing How the World Gets High
by Mike Power
Published 1 May 2013

This was during the first dotcom boom, and many companies were giving away services for free – or rather, in exchange for your data and your browsing habits, which they would then sell on to third parties. Information activists rejected that business model and wanted to offer an alternative, and so Dingeldine and Mathewson created a variant on the Navy protocol, calling it Tor. The way Tor works is best described in simple terms. When you type a web address into a standard browser, such as Firefox or Internet Explorer, your connection to the internet originates from and returns to a unique address, known as your Internet Protocol, or IP, address. This information is included inside the packet of data that you send when you press enter. The request, or packet, is then sent via the quickest possible route to the address you have specified, and then the request is delivered in the same way, but in reverse.

pages: 330 words: 91,805

Peers Inc: How People and Platforms Are Inventing the Collaborative Economy and Reinventing Capitalism
by Robin Chase
Published 14 May 2015

The MySQL story is more compelling when one considers that it managed to use its free and open-source model to fend off competition from database juggernaut Oracle and its CEO, Larry Ellison, perhaps Silicon Valley’s most aggressive software entrepreneur. Wildly successful Peers Inc FOSS examples abound, including the popular Mozilla Firefox browser and the web server Apache. FOSS, because it is free, easily accessible, and useful, is fueling unprecedented rates of software/platform adoption and affordable innovation. Feisty start-ups can quickly morph into disruptive billion-dollar companies that are transforming both the software industry and traditional bricks-and-mortar sectors such as hotels, education, government, fashion, and retail.

pages: 257 words: 90,857

Everything's Trash, but It's Okay
by Phoebe Robinson
Published 15 Oct 2018

And you know what they say: Only with the people and things you love can you be truly, and sometimes brutally, honest. As funny, smart, kind, thoughtful, pretty, warm, and talented as I can be, I am also a ludicrous trash fire like the kind you see on Naked and Afraid when people sign up to be in the wilderness when they’re barely capable of troubleshooting Mozilla Firefox, let alone making an actual fire from scratch, so they end up with fire that’s the length, width, and height of just the hair part of a troll doll. Real talk though, if my allergic-to-manual-labor-with-the-upper-body-strength-of-an-eight-year-old self could find a dude who could make a fire as big as an entire troll doll (if not bigger), I would say adios to “spray and pray” life and yes to “leave it in and let our new lineage begin” life.

pages: 401 words: 93,256

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

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 Pirate's Dilemma: How Youth Culture Is Reinventing Capitalism
by Matt Mason

It was the early 1990s when Tim Berners-Lee, a British researcher working at the Swiss particle physics center CERN, designed the Web on top of such open-source software as a social experiment rather than a technical one. Free software was officially rebranded as open-source software in 1998 by the company Netscape (which then rebranded themselves as Mozilla, and created the hugely popular open-source Internet browser Firefox). As the Web spread its tentacles around the world, it became clear that open source was a way to maintain a wealth of new public goods, as well as a great way to promote private enterprise. In the words of Linus Torvalds, founder of open-source software company Linux, “the future is opensource everything.”

pages: 1,065 words: 229,099

Real World Haskell
by Bryan O'Sullivan , John Goerzen , Donald Stewart and Donald Bruce Stewart
Published 2 Dec 2008

To focus our attention, we will look at processing web server logfiles, which tend to be both huge and plentiful.[59]As an example, here is a log entry for a page visit recorded by the Apache Web Server. The entry originally filled one line—we split it across several lines to fit: 201.49.94.87 - - [08/Jun/2008:07:04:20 -0500] "GET / HTTP/1.1" 200 2097 "http://en.wikipedia.org/wiki/Mercurial_(software)" "Mozilla/5.0 (Windows; U; Windows XP 5.1; en-GB; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12" 0 hgbook.red-bean.com While we could create a straightforward implementation without much effort, we will resist the temptation to dive in. If we think about solving a class of problems instead of a single one, we may end up with more widely applicable code. When we develop a parallel program, we always face a few “bad penny” problems, which turn up regardless of the underlying programming language.

Our first step is to visit the GHC at http://www.haskell.org/ghcdownload.html (see Figure A-1) and follow the link to the current stable release. Scroll down to the section entitled “Binary packages,” and then again to the subsection for Windows. Download the installer; in our case, it’s named ghc-6.8.3-i386-windows.exe. Figure A-1. Screenshot of Firefox, displaying the GHC download page After the installer has downloaded, double-click it to start the installation process. This involves stepping through a normal Windows installer wizard (see Figure A-2). Figure A-2. Screenshot of the GHC installation wizard on Windows Once the installer has finished, the Start Menu’s “All Programs” submenu (see Figure A-3) should have a GHC folder, inside which you’ll find an icon that you can use to run ghci.

pages: 374 words: 97,288

The End of Ownership: Personal Property in the Digital Economy
by Aaron Perzanowski and Jason Schultz
Published 4 Nov 2016

The free software movement is one notable exception. Developers of free software are committed to the idea that all users should be free to run software, study it, modify it, and redistribute it. Those core beliefs are reflected in free software licenses like the GNU General Public License, or GPL. Examples of free software products include the Firefox web browser, the Apache web server, and MySQL relational database software. As Eben Moglen, head of the Software Freedom Law Center and one of the drafters of the current version of the GPL explains, “Licenses are not contracts: the work’s user is obliged to remain within the bounds of the license not because she voluntarily promised, but because she doesn’t have any right to act at all except as the license permits.”40 An approach that roots licenses in property law is preferable to one that treats them like contracts.

pages: 303 words: 81,981

Busting Vegas: The MIT Whiz Kid Who Brought the Casinos to Their Knees
by Ben Mezrich
Published 26 Sep 2005

Nevertheless, as the years went by, I realized that though we may have won a few battles against the casinos, we were losing the war. A few people with some powerful, but closely guarded secrets can only do so much against a multibillion-dollar behemoth. Lately I’ve been enthusiastically following the progress of the Open Source software movement, and watching their free Linux operating system and Firefox browser gaining ground on Microsoft. The power of Open Source software lies in the fact that thousands of people contribute small pieces and always share their progress with everyone in the community. Inspired by the success of Open Source, I’ve come to believe that to really make a substantial impact against a powerful adversary like the casino industry, you have to sacrifice the short term profits of a select few in order to enable the masses to cooperate and innovate.

pages: 326 words: 103,170

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

In a video: For a description of this exploit, see Mordechai Guri, Matan Monitz, Yisroel Mirski, and Yuval Elovici, “BitWhisper: Covert Signaling Channel Between Air-Gapped Computers Using Thermal Manipulations,” arXiv:1503.07919 [cs.CR], March 26, 2015. Jung Hoon Lee: Lucian Constantin, “Chrome, Firefox, Explorer, Safari Were All Hacked at Pwn2Own Contest,” PC World, March 20, 2015. It’s also an opportunity for: Jeffrey C. Mogul, “Emergent (Mis)behavior vs. Complex Software Systems,” ACM SIGOPS Operating Systems Review—Proceedings of the 2006 EuroSys Conference 40, no. 4 (October 2006): 295 “We are not experts”: Stephen Cobb and Andrew Lee, “Malware Is Called Malicious for a Reason: The Risks of Weaponizing Code,” in 6th International Conference on Cyber Conflict: Proceedings 2014, ed.

pages: 443 words: 98,113

The Corruption of Capitalism: Why Rentiers Thrive and Work Does Not Pay
by Guy Standing
Published 13 Jul 2016

For instance, by offering cheap taxi rides they may reduce the numbers using subsidised public transport and accelerate the loss of public bus services. The real sharing economy is exciting some analysts. Paul Mason sees the emergence of commons-based peer production in the likes of Wikipedia, Linux, OpenStreetMap and Mozilla’s Firefox. In Spain, arts and culture collectives La Tabacalera and Medialab-Prado are prime examples. While these have great potential, they involve a lot of work by unpaid activists and can be pushed out or marginalised by commercial ventures. Many will need state subsidies in order to survive. THE FIFTH LIE OF RENTIER CAPITALISM ‘Everyone can enjoy a life of luxurious leisure if the machine-produced wealth is shared, or most people can end up miserably poor if the machine-owners successfully lobby against wealth redistribution.

pages: 332 words: 100,245

Mine!: How the Hidden Rules of Ownership Control Our Lives
by Michael A. Heller and James Salzman
Published 2 Mar 2021

Do students today even know what an encyclopedia is? Wikipedia has become so reliable that Apple uses it to answer your random Siri questions, as does Amazon with Alexa. Indeed, much of the crucial software enabling modern life has been created with no intellectual property ownership. If you use Firefox as your browser, you are reaping where others have sown. Same with Apache, which is open-source software that may be powering your airplane or ATM. Reaping where others have sown is a much more integral part of everyday life than people realize. How is this possible? Lawyers and laypeople alike have a bias—an unjustified faith, really—that legal ownership matters.

pages: 519 words: 102,669

Programming Collective Intelligence
by Toby Segaran
Published 17 Dec 2008

Download akismet.py and put it in your code directory or in your Python Libraries directory. Using the API is very simple. Create a new file called akismettest.py and add this function: import akismet defaultkey = "YOURKEYHERE" pageurl="http://yoururlhere.com" defaultagent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.7) " defaultagent+="Gecko/20060909 Firefox/1.5.0.7" def isspam(comment,author,ipaddress, agent=defaultagent, apikey=defaultkey): try: valid = akismet.verify_key(apikey,pageurl) if valid: return akismet.comment_check(apikey,pageurl, ipaddress,agent,comment_content=comment, comment_author_email=author,comment_type="comment") else: print 'Invalid key' return False except akismet.AkismetError, e: print e.response, e.statuscode return False You now have a method you can call with any string to see if it is similar to those in blog comments.

pages: 289 words: 112,697

The new village green: living light, living local, living large
by Stephen Morris
Published 1 Sep 2007

Your Money or Your Life: Transforming Your Relationship with Money and Acheiving Financial Independence. Joe Dominguez & Vicki Robin. Penguin Books, 1992. 254 chapter 8 : The Good Life Colophon T by Michael Potts raditionally, this is where the book designer would name the type fonts (Garamond Book, Times New Roman, and Kabel), and, in this computer age, the programs employed (Quark, Firefox, and PhotoPaint).Then the printer might tell about the printing process. (See this book’s last page.) This being a non-traditional book, I have saved myself a few pages to share the experience of designing this book. New Village Green is a hopeful plunge into a salty ocean of ideas. Working my way through, I noticed that some of the articles sparkle, and every one glows with care for our planet and for the miraculous life that surrounds us.

Python Geospatial Development - Second Edition
by Erik Westra
Published 23 May 2013

First, check the Django web server log, as we are printing any Python exceptions there. If that doesn't reveal the problem, look at your web browser's error console window to see if there are any errors at the JavaScript level. Because we are now writing JavaScript code, error messages will appear within the web browser rather than in Django's server log. In Firefox, you can view JavaScript errors by selecting the Error Console item from the Tools menu. Other browsers have similar windows for showing JavaScript errors. JavaScript debugging can be quite tricky, even for people experienced with developing web-based applications. If you do get stuck, you may find the following article helpful: http://www.webmonkey.com/2010/02/javascript_debugging_for_beginners Intercepting mouse clicks When the user clicks on the map, we want to intercept that mouse click, identify the map coordinate that the user clicked on, and then ask the server to identify the clicked-on feature (if any).

pages: 377 words: 110,427

The Boy Who Could Change the World: The Writings of Aaron Swartz
by Aaron Swartz and Lawrence Lessig
Published 5 Jan 2016

They’re not particularly cut out for organizational work nor do they hang around with the kind of people who are. If they do hang out with entrepreneurs, they’re more likely to be the kind who start small, hip technology companies, which just makes them wonder why they’re not making millions doing that instead of wasting time on this political bullshit. (One friend recently left lefty activism to make Firefox plug-ins.) As a good institutionalist, I’m a bit uncomfortable proposing what basically amounts to a cultural explanation for this phenomenon, but while it’s less intellectually satisfying it’s at least more politically optimistic. If one of the things holding the left back is a lack of political entrepreneurs, then all we need to do is make more.

pages: 378 words: 110,518

Postcapitalism: A Guide to Our Future
by Paul Mason
Published 29 Jul 2015

Fast-forward to 2014 and maybe 10 per cent of all corporate computers are running Linux. The ten fastest supercomputers in the world all run Linux. More importantly, the standard tools for running a website – from the operating system to the web server to the database and the programming language – are Open Source. Firefox, an Open Source browser, has currently around 24 per cent of the global browser market.19 A staggering 70 per cent of all smartphones run on Android, which is also technically Open Source.20 This is in part due to an overt strategy by Samsung and Google to use Open Source software to undermine Apple’s monopoly and maintain their own market position, but it does not alter the fact that the dominant smartphone on the planet runs on software nobody can own.

pages: 628 words: 107,927

Node.js in Action
by Mike Cantelon , Marc Harter , Tj Holowaychuk and Nathan Rajlich
Published 27 Jul 2013

The url in the call to createClient specifies the base URL that you should open in the browser for testing, and the browser value specifies the browser to be used for testing: var soda = require('soda') var assert = require('assert'); var browser = soda.createClient({ host: '127.0.0.1', port: 4444, url: 'http://www.reddit.com', browser: 'firefox' }); In order to get feedback on what your testing script is doing, you may want to include the following code. This code prints each Selenium command as it’s attempted: browser.on('command', function(cmd, args){ console.log(cmd, args.join(', ')); }); Next in your test script should be the tests themselves.

pages: 366 words: 107,145

Fuller Memorandum
by Stross, Charles
Published 14 Jan 2010

In the end we agree on the polite voice of reason delivered via the ears of his parents. I guess we must be growing old. On Saturday morning, it turns out that we are running low on groceries. "Why not go online and book a delivery from Tesco?" asks Mo. I spend a futile hour struggling with their web server before admitting to myself that my abstruse combination of Firefox plug-ins, security filters, and firewalls (not to mention running on an operating system that the big box retailer's programmers wouldn't recognize if it stuck a fork in them) makes this somewhat impractical--by which time we've missed the last delivery, so it looks as if we're going to have to go forth and brave the world on foot.

pages: 541 words: 109,698

Mining the Social Web: Finding Needles in the Social Haystack
by Matthew A. Russell
Published 15 Jan 2011

Google Maps results that display all of the national parks in the United States when passed KML results from microform.at The ability to start with a Wikipedia article containing semantic markup such as geo data and trivially visualize it is a powerful analytical capability because it delivers insight quickly for so little effort. Browser extensions such as the Firefox Operator add-on aim to minimize the effort even further. Only so much can be said in one chapter, but a neat way to spend an hour or so would be to mash up the national park data from this section with contact information from your LinkedIn professional network to discover how you might be able to have a little bit more fun on your next (possibly contrived) business trip.

pages: 429 words: 114,726

The Computer Boys Take Over: Computers, Programmers, and the Politics of Technical Expertise
by Nathan L. Ensmenger
Published 31 Jul 2010

And so when people talk about the larger process of the computerization of modern society, or speak of the computer revolution transforming the ways in which they work, live, consume, recreate, and engage in social and personal relationships, they are really talking about the history of software. But what exactly is software? Most of us today tend to think of software as a consumer good, a product, a prepackaged application. We purchase (or download) a copy of Microsoft Word, Mozilla Firefox, or World of Warcraft; install it; and use it. In this sense, software resembles other, more familiar mass-market manufactured goods: someone, somewhere, produces some computer code, and that computer code in turn transforms, temporarily, your computer into a word processor, Web browser, or a gateway into the mythical world of Azeroth.

pages: 265 words: 15,515

Nomad Citizenship: Free-Market Communism and the Slow-Motion General Strike
by Eugene W. Holland
Published 1 Jan 2009

Nearly three-quarters of all Web servers use FOSS (the Apache Web server program), as do major Internet sites such as Amazon, Google, and CNN.com (which all run on the open-source GNU-Linux operating system). All the major alternatives to Microsoft’s Internet Explorer Web browser (including Netscape, Mozilla, and Firefox) are FOSS programs. In the first three years of the twenty-first century, com­ puting giant IBM saw its GNU-Linux-related revenues rise from almost nothing to more than double the revenues generated by its own patented software applications; it now invests billions of dollars in FOSS develop­ ment and donates patents to the Free Software Foundation.

pages: 309 words: 114,984

The Digital Doctor: Hope, Hype, and Harm at the Dawn of Medicine’s Computer Age
by Robert Wachter
Published 7 Apr 2015

Interoperability is just the kind of thing government intervention was designed for, since it is a powerful public good that the private market will not automatically create. Why is it so important? Think about your cell phone: your iPhone can call your friend’s Samsung without a hiccup, even if your service is with AT&T and your friend’s is with Verizon. The same is true with your Web browser: whether you like Safari, Chrome, or Firefox for its look or features, all of them can get you onto the Internet just fine. In the EHR world, just think how great it would be to have an interoperable system. We’d no longer need a paper airplane to get crucial patient information from one hospital to another. The costs of switching from a crummy EHR to a better one would plummet, since the patient data stored in the old system would be easily transferrable to the new one.

pages: 450 words: 113,173

The Age of Entitlement: America Since the Sixties
by Christopher Caldwell
Published 21 Jan 2020

Google’s employees gave 96 percent of their campaign contributions, and Apple’s 94 percent, to oppose California’s anti–gay marriage Proposition 8. There were no equivalents on the other side. When it was discovered in 2014 that Mozilla chief executive officer Brendan Eich, the designer of the web browser Firefox, had given $1,000 to support Prop 8 six years before, a storm of outrage forced his resignation. There was a similar pattern for celebrities and elites who volunteered their time and services: They were all on the pro–gay marriage side. Literally all. Reuters discovered in 2014 that of the country’s 200 largest law firms, 30 were representing lawsuits against state Defense of Marriage acts.

Hopes and Prospects
by Noam Chomsky
Published 1 Jan 2009

El Universal, October 21, 2009; Alfredo Valadez Rodríguez, La Jornada, September 22, 2009; Doris Gómora and Francisco Gómez, “Intaca Estructura Financiera del Narco,” El Universal, November 15, 2009, http://www.eluniversal.com.mx/notas/640031.html, reporting that 78 percent of business sectors are infiltrated by narcotrafficking while the government does not report a single case of dismantling of these structures. 16. Andean Information Network, September 16, 2009. Ron Brooks, chair of NNOAC, congressional testimony, http://74.125.113.132/search?q=cache:2nTw8wktJ7IJ:www.natlnarc.org/papers/Ron%2520Brooks%2520-Mexico%2520Decertification.doc+decertification+drugs&cd=4&hl=en&ct=clnk&gl=us&client=firefox-a. 17. On Biden’s voting record, see U.S. Congress Votes Database, Washington Post online, http://projects.washingtonpost.com/congress/members/b000444/key-votes/. 18. Lindsay Renick Mayer, “Obama’s Pick for Chief of Staff Tops Recipients of Wall Street Money,” Open Secrets.org, Center for Responsive Politics, November 5, 2008, http://www.opensecrets.org/news/2008/11/obamas-pick-for-chief-of-staff.html. 19.

pages: 385 words: 118,314

Cities Are Good for You: The Genius of the Metropolis
by Leo Hollis
Published 31 Mar 2013

That we no longer trust governments, corporations and police does not mean that we have lost the art of trusting. We are already more trusting than we imagine in a new sharing economy that encompasses car clubs, Airbnb; World Book Night; peer-to-peer platforms; Wikipedia; Instagram; open source software such as the Linux operating system and the Firefox browser, as well as the Creative Commons code of practice. However, we need to be aware of how the uses of urban spaces can impact on this. We need spaces that allow us to be ourselves. We do not necessarily have to build new places in order to create these trusting spaces, we need to have open, public spaces where we can behave and interact in trusting ways.

pages: 396 words: 113,613

Chokepoint Capitalism
by Rebecca Giblin and Cory Doctorow
Published 26 Sep 2022

The Big Tech companies (and in many cases Big Content, which are allied with them on this issue) argue these measures are reasonable. After all, don’t the companies already use industry standards to make it easy for users to enjoy their devices? Your Chromecast and your Fire Stick and your Roku will all plug into your TV’s HDCP interface, and your Mac and PC can both run Chrome or Firefox and access all the same sites. Standards work, and the managed interoperability they represent delivers real dividends to consumers and industry alike. But this focus on voluntary interoperability erases a far more significant type of interop: the “adversarial interoperability” of plugging something into an existing product or service against the wishes of the company that made it.

pages: 519 words: 118,095

Your Money: The Missing Manual
by J.D. Roth
Published 18 Mar 2010

Many people report that they buy much less Stuff when they stop watching TV. But radio programs, newspapers, magazines, and the Internet are all filled with ads, too. The more you avoid—or ignore—advertising, the less you'll be tempted to buy. Tip Many web browsers let you install plug-ins (little additions to the program) that help block ads, like this one for Firefox: http://tinyurl.com/FFadblock. Search around online to see what's available for your browser or ask your geeky friends for recommendations. For more about the tyranny of Stuff, check out Unclutter Your Life in One Week by Erin Doland (Simon Spotlight Entertainment, 2009), Clutter's Last Stand by Don Aslett (Marsh Creek Press, 2005), and It's All Too Much by Peter Walsh (Free Press, 2007).

pages: 480 words: 123,979

Dawn of the New Everything: Encounters With Reality and Virtual Reality
by Jaron Lanier
Published 21 Nov 2017

One of my earlier visual programming language designs was on the cover of Scientific American. This came about because Larry Tesler, a scientist at Xerox PARC, had seen my work. It is still almost inconceivable how generous so many people have been to me over the years. Larry was known as the inventor of the browser, meaning not just the thing that looks at Web pages, like Edge or Firefox, but the much more fundamental concept of a choice-based interface for exploring information structures at all. There was a time when such basic things had to be invented. Larry went on to run research at Apple and later at Amazon. Anyway, as the issue was being prepared, I received a call from an editor at the magazine who asked me for my affiliation.

pages: 467 words: 116,094

I Think You'll Find It's a Bit More Complicated Than That
by Ben Goldacre
Published 22 Oct 2014

p=2485 Bachelor of Science degree: http://www.dcscience.net/Pittilo-consultation-What-is-taught.pdf Blame Everyone But Yourselves Blame Everyone: http://www.badscience.net/2008/07/blame-everyone-but-yourselves/ In the Daily Telegraph: http://www.telegraph.co.uk/news/uknews/2445080/Barbara-Nash-case-highlights-lack-of-regulation-of-nutritionists.html advertised on yell.com: http://www.yell.com/quickclicks/SP/N/Nutritionists_and_Dieticians/berkshire/1 carries such privileges: http://www.bant.org.uk/bant/jsp/benefitsOfJoining.faces carries testimonials: http://64.233.183.104/search?q=cache: f4ezlNZzh4cJ:www.barbaranash.co.uk/nutritionaltestimonials.html+barbara+nash&hl=en&ct=clnk&cd=3&gl=uk&client=firefox-a MAGIC BOXES ADE 651: WTF? ADE 651: http://www.badscience.net/2009/11/wtf/ New York Times: http://www.nytimes.com/2009/11/04/world/middleeast/04sensors.html?_r=4&hp The ADE 651: http://www.ade651.com/ade651in.html Sandia Labs: http://www.sandia.gov/mission/homeland/factsheets/2008/NEXESS_Factsheet_Mar08_2.pdf tested various similar devices: http://www.justnet.org/Lists/JUSTNET%Resources/Attachments/440/moleeval_apr02.pdf invited the manufacturers: http://www.randi.org/site/index.php/swift-blog/231-a-direct-specific-challenge-from-james-randi-and-the-jref.html After Madeleine, Why Not Bin Laden?

pages: 580 words: 125,129

Androids: The Team That Built the Android Operating System
by Chet Haase
Published 12 Aug 2021

During this time, Microsoft was essentially in the position of dictating how people could access the Web, since IE was increasingly the door through which they entered. To ensure that all users had access to great web experiences, including new web technologies that were being introduced, Google started funding web browser development. At first, Google worked with the Mozilla foundation, helping out with the Firefox browser. In particular, Google contributed engineering resources by implementing or helping out with some of the improvements in that browser, including things like performance improvements, inline spell-checking, the software update system, and browser extensions. Google didn’t have an operating system on which to bundle a browser, like Microsoft or Apple, but it could provide a better browser alternative and encourage people to switch to it.

pages: 532 words: 139,706

Googled: The End of the World as We Know It
by Ken Auletta
Published 1 Jan 2009

In October 1995, he joined Netscape as their chief deal maker and Wall Street liaison. He helplessly watched as Microsoft bundled the free Internet Explorer browser in with its dominant operating system, weakening Netscape. Andreessen’s company was profitable, but Netscape was sold to AOL for $4.2 billion in 1999, where the browser lives as the open-source Firefox. Smith left and joined the Barksdale Group to invest in Internet start-ups. It took just part of his time, and Omid Kordestani, whom he had worked with at Netscape, tried to lure Smith to Google in 1999. He had several interviews, including one with Page and Brin, but was rejected. “I didn’t graduate with a Ph.D.!

pages: 422 words: 131,666

Life Inc.: How the World Became a Corporation and How to Take It Back
by Douglas Rushkoff
Published 1 Jun 2009

Politicians use their websites to raise funds from individuals, and amass more capital through many small donations than they would have through a few big ones. A few hundred thousand hobbyists can collaborate on a free online resource, Wikipedia, that beats Britannica in breadth, usage rates, and often accuracy. Another group develops and maintains a web browser, Firefox, that works better and more safely than Microsoft’s. Corporate charters allowed wealthy élites to monopolize industries; the Internet allows competition to spawn anywhere. Only the best-capitalized companies could finance the construction and maintenance of Industrial Age factories; an Internet business can be run and scaled from a single laptop.

pages: 457 words: 128,838

The Age of Cryptocurrency: How Bitcoin and Digital Money Are Challenging the Global Economic Order
by Paul Vigna and Michael J. Casey
Published 27 Jan 2015

As demonstrated by 37Coins’ project—and others we’ll explore below—even basic versions of these phones offer a rudimentary platform with which to enter a global cryptocurrency network. And the technology is getting more accessible all the time: bitcoin wallets are becoming easier to use and smartphones cheaper. Mozilla, the company behind the Firefox browser, is now selling very basic smartphones in developing countries with prices as low as $25. So there’s a lot of promise here, but as in developed countries, big barriers remain in developing countries to the rollout of cryptocurrencies. Some have to do with bitcoin’s flaws and risks; some reflect social and cultural practices that are difficult to change.

pages: 538 words: 138,544

The Story of Stuff: The Impact of Overconsumption on the Planet, Our Communities, and Our Health-And How We Can Make It Better
by Annie Leonard
Published 22 Feb 2011

Ellwood, The No-Nonsense Guide to Globalization, pp. 36–37. 116. Amory Starr, Global Revolt: A guide to the movements against globalization (London: Zed Books, 2005), p. 30. 117. For images of the 1999 Battle of Seattle, see youtube.com/watch?v=_JXPIBsxdk$; youtube.com/watch?v=YdACqgxRLsQ; video.google.com/videosearch?q=News+WTO+Seattle+1999&hl=en&client=firefox-a&emb=0&aq=f#. 118. “A Million Farmers Protest Against the WTO in India,” Karnataka State Farmers’ Association, March 21, 2001 (organicconsumers.org/corp/wtoindia.cfm). 119. “Memorandum submitted to the Prime Minister: Keep Agriculture Out of WTO,” Members of the Indian Coordination Committee of Farmers Movements, October 2, 2005 (focusweb.org/india/index.php?

pages: 588 words: 131,025

The Patient Will See You Now: The Future of Medicine Is in Your Hands
by Eric Topol
Published 6 Jan 2015

The digital era has enabled open platforms, open access, and open science. It is now time to realize the benefits of open medicine. Let’s start with the open source software movement. People have been sharing software for decades, but the movement really accelerated around the turn of this century when Netscape Navigator, which was made free as Mozilla Firefox, and the open source Linux operating system became more mainstream. Among the many companies that provided part of their source code to build upon, Apple, Google, and IBM all leveraged open source initiatives. When Apple opened up its iOS to a worldwide developer network, this rapidly led to the creation of hundreds of thousands of apps and markedly expanded functionality of the iPhone and later iPad.

Django Book
by Matt Behrens
Published 24 Jan 2015

Note that the full list of available headers depends on which headers the user sent and which headers your Web server sets. Some commonly available keys in this dictionary are: HTTP_REFERER – The referring URL, if any. (Note the misspelling of REFERER.) HTTP_USER_AGENT – The user’s browser’s user-agent string, if any. This looks something like: "Mozilla/5.0 (X11; U; Linux i686; fr-FR; rv:1.8.1.17) Gecko/20080829 Firefox/2.0.0.17". REMOTE_ADDR – The IP address of the client, e.g., "12.345.67.89". (If the request has passed through any proxies, then this might be a comma-separated list of IP addresses, e.g., "12.345.67.89,23.456.78.90".) Note that because request.META is just a basic Python dictionary, you’ll get a KeyError exception if you try to access a key that doesn’t exist.

pages: 420 words: 130,503

Actionable Gamification: Beyond Points, Badges and Leaderboards
by Yu-Kai Chou
Published 13 Apr 2015

Because some of these monsters are extremely rare, people are willing to spend real money in order to obtain them. One such example is the Mozzy, a blazing fox made of fire. The Mozzy can only be caught on hot days and close to an office run by the Mozilla Organization - creators of the Mozilla Firefox browser. This means, for a game that has players throughout the world, it is extremely difficult, sometimes impossible for the average person to capture a Mozzy. In the forums, people sometimes say, “This summer my parents are taking me to San Francisco. I’m going to rent a car and drive down to Mountain View.

pages: 1,829 words: 135,521

Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython
by Wes McKinney
Published 25 Sep 2017

Top time zones in the 1.usa.gov sample data The a field contains information about the browser, device, or application used to perform the URL shortening: In [39]: frame['a'][1] Out[39]: 'GoogleMaps/RochesterNY' In [40]: frame['a'][50] Out[40]: 'Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2' In [41]: frame['a'][51][:50] # long line Out[41]: 'Mozilla/5.0 (Linux; U; Android 2.2.2; en-us; LG-P9' Parsing all of the interesting information in these “agent” strings may seem like a daunting task. One possible strategy is to split off the first token in the string (corresponding roughly to the browser capability) and make another summary of the user behavior: In [42]: results = pd.Series([x.split()[0] for x in frame.a.dropna()]) In [43]: results[:5] Out[43]: 0 Mozilla/5.0 1 GoogleMaps/RochesterNY 2 Mozilla/4.0 3 Mozilla/5.0 4 Mozilla/5.0 dtype: object In [44]: results.value_counts()[:8] Out[44]: Mozilla/5.0 2594 Mozilla/4.0 601 GoogleMaps/RochesterNY 121 Opera/9.80 34 TEST_INTERNET_AGENT 24 GoogleProducer 21 Mozilla/6.0 5 BlackBerry8520/5.0.0.681 4 dtype: int64 Now, suppose you wanted to decompose the top time zones into Windows and non-Windows users.

pages: 462 words: 129,022

People, Power, and Profits: Progressive Capitalism for an Age of Discontent
by Joseph E. Stiglitz
Published 22 Apr 2019

Warnings to users made them worry that installing Netscape would hurt the functioning of their computer.33 Through these and other anticompetitive practices, Microsoft drove out Netscape. By the beginning of the twenty-first century, Netscape had fallen almost completely out of use. Even after Microsoft’s anticompetitive practices were barred by authorities on three continents, its dominance continued, until eventually, new entrants (such as Google and Firefox) broke into the browser market. Today, it is the new tech giants that abuse market power, with European competition authorities repeatedly finding that companies like Google have engaged in anticompetitive practices, first in favoring its own services in internet searches, and then in abusing its power in the mobile phone market, with the EU levying record-setting fines in the two cases of $2.8 billion and $5.1 billion, respectively.

pages: 310 words: 34,482

Makers at Work: Folks Reinventing the World One Object or Idea at a Time
by Steven Osborn
Published 17 Sep 2013

Osborn: When I think about the impact open-source hardware is going to have, I think about the analog and the software world. Even if you think about simple cases, like your web browser, like in 2003, the browser wars were won. Internet Explorer won. Netscape fell away because at the time Internet Explorer was just a better browser. And then out of that, Netscape’s open-source became Firefox, then WebKit3 came about. Now if you look at the most popular browsers, Internet Explorer is pretty far down on the list. All these open-source browsers have not only replaced it, but the competition has really changed the pace at which the web is evolving. HTML5, JavaScript, CSS3, all this stuff has happened in the last few years, whereas HTML4 was standard and everything was stagnant for a good, solid ten years.

pages: 487 words: 147,891

McMafia: A Journey Through the Global Criminal Underworld
by Misha Glenny
Published 7 Apr 2008

If it rescues Colombia from purgatory, then there are real benefits to this future. CHAPTER 12 Code Orange As I hand over my laptop to SuperGeek in an anonymous hotel room in downtown São Paulo, I ask him with as much authority as I can muster whether he wishes to use Internet Explorer or Mozilla Firefox. A polite smile is accompanied by a tone usually reserved for those with extreme learning difficulties: “I’LL BE USING SOMETHING CALLED C-Y-B-E-R-S-C-R-I-P-T.” And then. “IT’S LIKE…mIRC.” You may well ask… I now know that CyberScript enables you to enter IRC (Internet Relay Chat). For some people, this system is as mundane as cornflakes, but for cyber toddlers like myself, IRC is an unknown, unexplored parallel world—a silent cacophony of virtual chatter inhabited by hackers, crackers, geeks, terrorists, and security agents (among others).

pages: 598 words: 134,339

Data and Goliath: The Hidden Battles to Collect Your Data and Control Your World
by Bruce Schneier
Published 2 Mar 2015

Most of the companies tracking you: Peter Eckersley (21 Sep 2009), “How online tracking companies know most of what you do online (and what social networks are doing to help them),” Electronic Frontier Foundation, https://www.eff.org/deeplinks/2009/09/online-trackers-and-social-networks. If you want to see who’s tracking you: Samuel Gibbs (28 Oct 2013), “Mozilla’s Lightbeam Firefox tool shows who’s tracking your online movements,” Guardian, http://www.theguardian.com/technology/2013/oct/28/mozilla-lightbeam-tracking-privacy-cookies. One reporter discovered that 105: Alexis Madrigal (29 Feb 2012), “I’m being followed: How Google—and 104 other companies—are tracking me on the web,” Atlantic, http://www.theatlantic.com/technology/archive/2012/02/im-being-followed-how-google-151-and-104-other-companies-151-are-tracking-me-on-the-web/253758.

pages: 537 words: 149,628

Ghost Fleet: A Novel of the Next World War
by P. W. Singer and August Cole
Published 28 Jun 2015

Singer, “New Chinese 5th Generation Fighter Jet — J31 Performs More Flight Tests,” Eastern Arsenal (blog), Popular Science, May 22, 2014, accessed August 24, 2014, http://www.popsci.com/blog-network/eastern-arsenal/new-chinese-5th-generation-fighter-jet-j31-performs-more-flight-tests. 318 the little harbor in Haleiwa: “Harbor Haleiwa,” Google Maps, accessed August 24, 2014, https://www.google.com/maps/preview?oe=utf-8&client=firefox-a&channel=sb&ie=UTF-8&fb=1&gl=us&q=harbor+haleiwa&hq=harbor&hnear=0x7c0058cb4dbb9179:0xa24ef2e2df99f0c7,haleiwa&ei=pUv6U8SaKs6VyAS2-YDQDw&ved=0CKABELYD. 319 “Helemano Stream”: “Helemano Stream,” Google Maps, accessed August 24, 2014, https://www.google.com/maps/place/Helemano+Stream,+Haleiwa,+HI/@21.5833329,-158.1088889,15z/data=!

Mastering Blockchain, Second Edition
by Imran Bashir
Published 28 Mar 2018

As shown in the following screenshot you can view transaction, blocks, and addresses in detail on the frontend: Ganache, A personal Ethereum blockchain Ganache can be downloaded from http://truffleframework.com/ganache/. MetaMask MetaMask allows interaction with Ethereum blockchain via Firefox and Chrome browsers. It injects a web3 object within the running websites' JavaScript context which allows immediate interface capability for DApps. This injection allows DApps to interact directly with the blockchain. It is available at https://metamask.io/. MetaMask also allows account management.

pages: 506 words: 151,753

The Cryptopians: Idealism, Greed, Lies, and the Making of the First Big Cryptocurrency Craze
by Laura Shin
Published 22 Feb 2022

The Geth wallet updates would get names like “Into the Woods,” “What else should we rewrite?,” and “Come at me Bro.”22 Then the attacker discovered a vulnerability in Ethereum itself, not the clients. It was like finding a flaw in http, the set of standards that enable web browsing, rather than in Chrome or Firefox. This attack involved the “suicide” instruction, which is how a contract would delete itself. Suicide would send any of the ETH in the contract to another contract specified, but even when there was no ETH left, it would still create an account. Since the suicide instruction cost nothing, the attacker did suicides over and over again, until storage bloated from seven hundred thousand objects to twenty million.

pages: 739 words: 174,990

The TypeScript Workshop: A Practical Guide to Confident, Effective TypeScript Programming
by Ben Grynhaus , Jordan Hudgens , Rayon Hunte , Matthew Thomas Morgan and Wekoslav Stefanovski
Published 28 Jul 2021

Hardware Requirements For an optimal experience, we recommend the following hardware configuration: Processor: Intel Core i5 or equivalent Memory: 4 GB RAM Storage: 35 GB available space Software Requirements You'll also need the following software installed in advance: OS: Windows 7 SP1 64-bit, Windows 8.1 64-bit, or Windows 10 64-bit, Ubuntu Linux, or the latest version of macOS Browser: The latest version of either Google Chrome or Mozilla Firefox Installation and Setup VS Code This book uses VS Code as the IDE to save and run TypeScript and JavaScript files. You can download VS Code from the following website: https://code.visualstudio.com/download. Scroll to the bottom of the page and click on the download button relevant to your system.

pages: 540 words: 168,921

The Relentless Revolution: A History of Capitalism
by Joyce Appleby
Published 22 Dec 2009

Then actually locating this plethora of informative stuff became a problem. The University of Illinois developed the first graphical Web browser in 1993. Mosaic became more familiar to the public as Netscape. Next, Microsoft’s Internet Explorer began eating away at Netscape’s market share, followed by Mozilla Firefox, in a seemingly endless race among improving services. Like the PC, the Web browser’s popularity was not predictable, though retrospectively its delivery of online instruction, encyclopedias, and downloaded movies and music make it hard to imagine the world without a telecommunications network and its Girl Friday, the browser.

pages: 1,606 words: 168,061

Python Cookbook
by David Beazley and Brian K. Jones
Published 9 May 2013

If you want a bit more control over how the page gets opened, you can use one of the following functions: >>> # Open the page in a new browser window >>> webbrowser.open_new('http://www.python.org') True >>> >>> # Open the page in a new browser tab >>> webbrowser.open_new_tab('http://www.python.org') True >>> These will try to open the page in a new browser window or tab, if possible and supported by the browser. If you want to open a page in a specific browser, you can use the webbrowser.get() function to specify a particular browser. For example: >>> c = webbrowser.get('firefox') >>> c.open('http://www.python.org') True >>> c.open_new_tab('http://docs.python.org') True >>> A full list of supported browser names can be found in the Python documentation. Discussion Being able to easily launch a browser can be a useful operation in many scripts. For example, maybe a script performs some kind of deployment to a server and you’d like to have it quickly launch a browser so you can verify that it’s working.

pages: 561 words: 157,589

WTF?: What's the Future and Why It's Up to Us
by Tim O'Reilly
Published 9 Oct 2017

In contrast to the proprietary software that made Microsoft so successful, open source software is distributed under a license that allows anyone to freely study, modify, and build on it. Examples of open source software include the Linux and Android operating systems; web browsers like Chrome and Firefox; popular programming languages like Python, PHP, and JavaScript; modern big data tools like Hadoop and Spark; and cutting-edge artificial intelligence toolkits like Google’s TensorFlow, Facebook’s Torch, or Microsoft’s CNTK. In the early days of computers, most software was open source, though not by that name.

pages: 606 words: 157,120

To Save Everything, Click Here: The Folly of Technological Solutionism
by Evgeny Morozov
Published 15 Nov 2013

We need more erratic appliances that can disrupt our information-consumption habits and jolt us out of our well-established and habitual practices. Why can’t our browsers temporarily shut down or fade to black when we open too many windows? (Well, they often do shut down on their own, but only because someone at Microsoft or Firefox didn’t foresee our information glut.) Why not tie the availability or presentation of articles on the New York Times website to the stock price of the parent company? So, as the stock performs poorly, every fifth word of an article gets deleted or some of the pictures become blurred—at least for those not paying for the online subscription?

HBase: The Definitive Guide
by Lars George
Published 29 Aug 2011

On the upside, you could use multiple threads to read this data from distinct servers, therefore parallelizing read access. This is akin to a small map-only MapReduce job, and should result in increased I/O performance. Use Case: Mozilla Socorro The Mozilla organization has built a crash reporter—named Socorro[95]—for Firefox and Thunderbird, which stores all the pertinent details pertaining to when a client asks its user to report a program anomaly. These reports are subsequently read and analyzed by the Mozilla development team to make their software more reliable on the vast number of machines and configurations on which it is used.

pages: 757 words: 193,541

The Practice of Cloud System Administration: DevOps and SRE Practices for Web Services, Volume 2
by Thomas A. Limoncelli , Strata R. Chalup and Christina J. Hogan
Published 27 Aug 2014

Then we examine architectures that are common behind the scenes of web applications: message buses and service-oriented architectures. Most examples in this chapter will assume that the service is a web-based application using the Hyper-Text Transfer Protocol (HTTP). The user runs a web browser such as Firefox, Chrome, or Internet Explorer. In HTTP terminology, this is called the client. Each request for a web page involves speaking the HTTP protocol to a web server, usually running on a machine elsewhere on the internet. The web server speaks the server side of the HTTP protocol, receives the HTTP connection, parses the request, and processes it to generate the reply.

pages: 999 words: 194,942

Clojure Programming
by Chas Emerick , Brian Carper and Christophe Grand
Published 15 Aug 2011

q=Acme; the corresponding Ring request map would look something like this: {:remote-addr "127.0.0.1", :scheme :http, :request-method :get, :query-string "q=Acme", :content-type nil, :uri "/accounts", :server-name "company.com", :content-length nil, :server-port 8080, :body #<ByteArrayInputStream java.io.ByteArrayInputStream@604fd0e9>, :headers {"user-agent" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6) Firefox/8.0.1", "accept-charset" "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "accept" "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "accept-encoding" "gzip, deflate", "accept-language" "en-us,en;q=0.5", "connection" "keep-alive"}} Because this is a simple GET request, the :body InputStream will be empty; thus, both :content-type and :content-length are nil.

pages: 743 words: 201,651

Free Speech: Ten Principles for a Connected World
by Timothy Garton Ash
Published 23 May 2016

Assuming that on average people do not download it more than twice, and some have done so since, I arrive at my estimate of ‘more than 1 billion people’ 121. see ‘Erasing David’, http://perma.cc/RY8Q-6HJ3 122. the guidelines were extended and updated in 2013; see ‘OECD Guidelines on the Protection of Privacy and Transborder Flows of Personal Data’, OECD, http://perma.cc/6WM5-4U7K 123. Ian Brown, ‘Keeping Our Secrets, Shaping Internet Technologies for the Public Good’, Oxford London Lecture, 18 March 2014, http://www.oii.ox.ac.uk/webcasts/?id=581 124. Collusion is a Mozilla Firefox add-on. See Sebastian Huempfer, ‘Who Is Tracking the Trackers? Use “Collusion” to Find Out’, Free Speech Debate, http://freespeechdebate.com/en/2013/07/who-is-tracking-the-trackers-use-collusion-to-find-out/, and the description at http://collusion.toolness.org 125. O’Hara et al. 2008, 72 and chapter 3 in general.

pages: 706 words: 202,591

Facebook: The Inside Story
by Steven Levy
Published 25 Feb 2020

Palihapitiya did something similar in handpicking his team, plucking his diamonds from the ranks of other groups as well as outside prospects. He had a great eye for talent. Among them were Naomi Gleit, one of the first few Facebook employees; Javier Olivan, an engineer from Spain; Alex Schultz, a UK-born marketer; Danny Ferrante, a data wizard; and Blake Ross, a star hacker who had been the co-creator of the open source Firefox browser. They were a diverse bunch. A majority had either been born overseas or at least had a parent from outside the United States. Two were gay. One of the leaders, Gleit, was a woman. They were a team of outsiders, a data-driven Dirty Dozen, armed with spreadsheets instead of combat rifles. The choices proved brilliant, especially Oliver, Gleit, and Schultz; more than a decade later, that threesome would still be at Facebook in the most powerful leadership cadre, “the small group.”

PostGIS in Action
by Regina O. Obe and Leo S. Hsu
Published 2 May 2015

The package is a bit hefty (~750 MB), but it contains a lot and is runnable from a USB flashdrive on a Windows machine. It comes packaged with QGIS, FWTools (GDAL/OGR), Apache2, PHP5, PostgreSQL with PostGIS, MapServer, Python with GDAL bindings, and loader for Ordnance Survey’s MasterMap data. It also has portable Firefox, a PDF reader, and a text editor. A.2.2. Open source desktop tools There are many open source desktop tools that work with PostGIS. The following list is just a brief sampling of the more commonly used open source desktop viewing and editing tools: OpenJUMP (www.openjump.org)—This is one of our favorite desktop GIS tools and what we used to render many of the ad hoc spatial queries in this book.

pages: 1,409 words: 205,237

Architecting Modern Data Platforms: A Guide to Enterprise Hadoop at Scale
by Jan Kunigk , Ian Buss , Paul Wilkinson and Lars George
Published 8 Jan 2019

For Windows users, this can work out of the box for services within the same login domain as the user, since Microsoft Active Directory automatically obtains a TGT on login, which can be used to obtain a service ticket. Microsoft Internet Explorer and Google Chrome can use this ticket automatically and Mozilla Firefox can be easily configured to do the same. For Windows users who are not in a realm trusted by the cluster KDC, MIT Kerberos provides an installable utility (MIT Kerberos for Windows) that allows users to obtain new tickets alongside their default tickets for the cluster realm. By convention, Kerberos-protected web interfaces identify themselves using principals with HTTP as the primary (user) and a fully qualified hostname as the instance; for example, HTTP/master3.didot.hadoop.com@HADOOP.COM.

pages: 781 words: 226,928

Commodore: A Company on the Edge
by Brian Bagnall
Published 13 Sep 2005

“I thought it was a valid concept,” he says. “The idea is that you turn on your computer and it’s there with your preferred application at all times. I thought that was pretty powerful.” Finkel likens the idea to computers with applications preinstalled on a hard drive. “You turn on your computer and there’s Internet Explorer or Firefox these days. People keep coming back to that idea with the thin client computers and the little boxes that just do email and so on.” In the past, Tramiel saw each new computer as replacing the previous model. Now he wanted to try multiple products at different price levels. “Commodore really didn’t have the idea of keeping multiple computers in the consumer marketplace until the Plus/4,” says Finkel.

pages: 678 words: 216,204

The Wealth of Networks: How Social Production Transforms Markets and Freedom
by Yochai Benkler
Published 14 May 2006

By the time the antitrust case was completed, Netscape had turned browser development over to the open-source development community, but under licensing conditions sufficiently vague so that the project generated little early engagement. Only around 2001-2002, did the Mozilla browser development project get sufficient independence and security for developers to begin to contribute energetically. It was only in late 2004, early 2005, that Mozilla Firefox became the first major release of a free software browser that showed promise of capturing some user-share back from IE. 761 Microsoft's dominance over the operating system and browser has not, as a practical matter, resulted in tight control over the information flow and use on the Internet. This is so for three reasons.

PostGIS in Action, 2nd Edition
by Regina O. Obe and Leo S. Hsu
Published 2 May 2015

The package is a bit hefty (~750 MB), but it contains a lot and is runnable from a USB flashdrive on a Windows machine. It comes packaged with QGIS, FWTools (GDAL/OGR), Apache2, PHP5, PostgreSQL with PostGIS, MapServer, Python with GDAL bindings, and loader for Ordnance Survey’s MasterMap data. It also has portable Firefox, a PDF reader, and a text editor. Licensed to tracy moore <nordick.an@gmail.com> www.it-ebooks.info Open source tools and offerings A.2.2 481 Open source desktop tools There are many open source desktop tools that work with PostGIS. The following list is just a brief sampling of the more commonly used open source desktop viewing and editing tools:  OpenJUMP (www.openjump.org)—This is one of our favorite desktop GIS tools     A.2.3 and what we used to render many of the ad hoc spatial queries in this book.

pages: 2,054 words: 359,149

The Art of Software Security Assessment: Identifying and Preventing Software Vulnerabilities
by Justin Schuh
Published 20 Nov 2006

His professional experience includes several years as a senior researcher at Internet Security Systems (ISS) X-Force, and the discovery of a number of high-profile vulnerabilities in ubiquitous Internet software. He is responsible for identifying and helping to address critical flaws in Sendmail, Microsoft Exchange Server, OpenSSH, Internet Explorer, Mozilla (Firefox), Checkpoint VPN, and Microsoft’s SSL implementation. In addition to his research work, Mark presents at industry conferences, including Black Hat and RUXCON. John McDonald is a senior consultant with Neohapsis, where he specializes in advanced application security assessment across a broad range of technologies and platforms.

pages: 889 words: 433,897

The Best of 2600: A Hacker Odyssey
by Emmanuel Goldstein
Published 28 Jul 2008

The cerebellum is the command center and let’s say it’s believed to retrieve the needed information your brain cells (database) are holding. It then browses using a type of “search engine” and, with the information found, offers it up to the human consciousness (AI). Humans are still very primitive; some are running Internet Explorer and Netscape while others are using Firefox or Lynx. The truth of the matter is that from the most superior geniuses at NASA to the mentally impaired, the difference is almost none when looking at the vast picture. Kim Peek is a prime example of this. At this moment and time it’s impossible to scientifically explain human awareness, but some refer to it as the soul.