text:
Visa has long bragged about its rewards program for consumers. So when its lucrative swipe fees got caught in the congressional crosshairs a few years back, the credit-card giant developed a special program for then–House Speaker Nancy Pelosi to feel its influence.
The lobbying campaign, reconstructed by Newsweek and The Daily Beast through interviews and documents, speaks volumes about the efforts of big business to curry favor, even among perceived enemies. It also shows how such efforts can personally and politically benefit politicians, even ones like Pelosi who set out to suffocate the "culture of corruption" in Washington or ultimately didn't give Visa what it wanted.
The tale begins in 2007, when the credit-card industry became concerned that the new Democrats who took charge of Congress after the 2006 elections were intent on passing legislation to curtail credit-card swipe fees to vendors, which were worth billions of dollars in revenues in the industry, and to create new protections for consumers.
Visa had never been particularly close to Pelosi, a frequent critic of the financial industry, even though the credit-card giant's headquarters were in her hometown of San Francisco.
But the army of lobbyists Visa assembled—it had a total of 14 lobbying firms at its disposal—set out to try to woo Pelosi with a strategic campaign, hoping to forestall action on any credit-card legislation until after the 2008 presidential election.
"Was there a concerted effort to press Pelosi? Yes. It was partly that she was speaker. But also that Visa's based out [in her district], where she's from. They were under attack. It was the confluence between her position and when she engaged she would be intense," says a lobbyist directly familiar with the effort who spoke on the condition of anonymity because he wasn't authorized to talk to the press about internal strategy. "We were sitting around the table and decided we needed a concerted effort related to Pelosi. We needed a full-court press."
The effort began in earnest in late 2007. Ogilvy, one of Visa's outside lobbying firms, picked off one of Pelosi's government-affairs advisers, Dean Aguillen, who had close ties in the speaker's office. Aguillen quit the speaker's team and went to Ogilvy in December 2007. By law he was unable to lobby his former boss for a year, but he immediately registered to lobby Congress on the credit-card issue, offering guidance to other lobbyists on Visa's team during strategy sessions, according to a lobbyist present in strategy deliberations.
In an interview, Aguillen told Newsweek he worked for Visa on the credit-card-legislation issue and sporadically talked with his former colleagues in Pelosi's office. "It's public record that I advocated on behalf of Visa the past few years," he said. "I didn't set up a meeting with the speaker directly, but I've definitely done some outreach to the House individually. What we did is help Visa build and maintain strong relationships and a strong reputation."
Aguillen said he didn't have any lobbying contact the first year after he left Pelosi's office, but starting in 2009 he did aim to maintain the relationships, and talked about the various issues he was working on.
Asked whether Visa was using his connections for access, he demurred. "This is my first venture into the private sector. I hope that I had done enough that people would find me to be an asset."
Visa wanted to meet with Pelosi and her top aides to make the case against the swipe fees. That summer Visa's outgoing CEO, Carl Pascarella, bumped into Pelosi on the street in the San Francisco neighborhood they share, and she arranged for him to contact her Washington office for a meet-and-greet, according to sources families with the encounter.
Around the same time—on July 21, 2008, to be exact—Pelosi's reelection campaign received a $1,000 donation from Visa's political-action committee. Two days later, according to Pelosi's office, the speaker met Pascarella and the incoming Visa chief executive, Joe Saunders, in her Capitol Hill office. The three exchanged pleasantries and no specific legislation was discussed, according to Pelosi's office.
Aguillen, for his part, also contributed $1,000 to Pelosi and another $1,000 to the Democratic Congressional Campaign Committee during the first half of 2008.
Separately, Pelosi's husband, Paul, a major investor in California, got a lucrative phone call from his personal broker—a pre-screen invite in March 2008 to take part in Visa's $17.9 billion public stock offering, at the time one of the hottest stock offerings in an otherwise soft market. The initial-public-offering price was $44 per share and was limited to institutional investors and a group of specially selected individuals. Almost $18 billion was made available in public stock to preselected investors. Paul Pelosi made the cut.
One of about 40 financial institutions to facilitate the public sale was Wells Fargo Shareholder Services, a bank where Paul Pelosi, a seasoned investor, held an account. Before the IPO, Pelosi's financial adviser at Wells Fargo alerting him that he had been approved to purchase Visa stock and, considering the public buzz around the stock, recommending he buy, according to Pelosi's office.
Paul Pelosi initially bought 5,000 shares at the $44 initial price. Within a couple of days, the shares' value soared to $64. Paul Pelosi purchased 15,000 more shares over the next three months, at much higher prices. The total quantity was valued as high as $5 million, according to the then-speaker's financial-disclosure form. In late 2008, when the stock market soured, Pelosi sold 1,000 of the first IPO shares for a meager profit of $2,500 to $5,000, records show. He has kept the other 19,000 shares, which now are valued at $95 each.
Nancy Pelosi's office denies that the meetings, the lobbying, or her husband's stock purchase had any influence on her legislative actions. Drew Hammill, a spokesman for the Democratic leader, said Paul Pelosi's finances are kept distinctly separate from the congresswoman's legislative work, and she complies with all the legal as well as ethical obligations of her position. He also pointed out that Pelosi has repeatedly advocated for legislation the credit-card industry dislikes.
Several bills affecting credit providers snaked through the House in 2008, including one introduced by Rep. John Conyers (D-Mich.) that would have ended the swipe fees, the small percentage that credit companies like Visa charge with every transaction. Another bill by Rep. Carolyn Maloney (D-N.Y.), affording significant new protection to credit-card holders, passed the House but did not make it through the Senate. Conyers's legislation passed his House Judiciary Committee with bipartisan support on Oct. 3, 2008, the last day lawmakers were in office before leaving to campaign for the election, but was not brought to the floor, which Pelosi controlled as speaker.
Pelosi's office says she chose not to bring up the swipe-fee bills in 2008 because she did not believe President George W. Bush would sign them into law.
Pelosi tried for consumer protections in 2008, but the next year she put more muscle behind the Credit Cardholders' Bill of Rights, a bill that gave new protections to consumers and was opposed by the credit-card industry. The bill was entirely devoted to preventing consumer exploitation, so swipe fees were not included.
Only after Senate Democratic Whip Dick Durbin of Illinois caught momentum with a bill that would crack down on credit-card companies' fees in 2009 did the provision eventually make it into law as part of the Dodd-Frank Wall Street Reform and Consumer Protection Act.
When confronted earlier this month at a press conference about the delay in swipe fees, Pelosi said the House waited to act on the swipe fees until "we had a president that could sign the bill." Her spokesman Hammill says it is preposterous to think Visa's lobbying or the stock purchases had any influence on the speaker's legislative actions.


text:
finally, another final: federer springs backPosted: May 16th, 2009 | Author: Erwin | Filed under: tennis | 46 Comments »
Was it our fault? Man, can we stop and reflect for a second? All this talk about Roger Federer's underperformance is based on a record that has him through to four semis and two finals in six tries; one of those finals is at tomorrow's Mutua Madrilena Madrid Open showdown between him and Rafael Nadal.
This is the first time the World No. 1 and Federer are facing each other since that epic Aussie Open final. To get there, Federer easily beat Juan Martin del Potro 6-3, 6-4. Nadal had a significantly harder time because of his bum right knee, brusing aside Nole Djokovic 3-6, 7-6 (5), 7-6 (9) in four hours and three minutes — the longest match in Masters Series history.
Opponent's chronic injury a-flaring + auto-peptalk = possible Madrid title for Roger? We'll find out tomorrow!
Buy: Nike Classic Open Tennis Polo, sterling blue/charcoal/white, $65.
More: Photos of his shorts, his shoes, his bag, and warm-up jacket — all after the cut…

subset: commoncrawl


text:
Firefox JavaScript changelog
The following is a changelog for JavaScript features in Firefox releases.
Firefox 49
- The ES2015 (ES6)
Proxytraps have been implemented (bug 888969).
- The ES2015 (ES6)
RegExp.prototype[@@search](), and
RegExp.prototype[@@split]()methods, and
RegExp[@@species]getter have been implemented (bug 887016).
- The deprecated non-standard
flagsargument of
replacesupport has been dropped (bug 1108382).
See also:
Firefox 48
New APIs
- The ES2015 (ES6)
Array.prototype.values()method has been implemented (bug 875433).
- The
String.prototype.padEnd()methods have been implemented (bug 1260509).
- The ES2015 (ES6)
Array.prototype[@@unscopables]properties have been implemented (bug 1054759 and bug 1258163).
- The ES2015 (ES6)
Symbol.isConcatSpreadablesymbol has been implemented (bug 1041586).
- The ES2015 (ES6)
Array[@@species]getter has been implemented (bug 1165052).
- The ES2015 (ES6)
ArrayBuffer[@@species]getter and
%TypedArray%[@@species]getter have been implemented (bug 1165053).
- The
Intl.getCanonicalLocales()method of the ECMAScript Internationalization API draft has been implemented (bug 1263040).
Deprecations and removals
- The deprecated old Proxy API (
Proxy.createFunction()) has been removed. Use the standard
Proxyobject instead (bug 892903).
- The
String.prototype.contains()method has been removed (it was deprecated since version 40). Use the
String.prototype.includes()method instead (bug 1103588).
- The non-standard
RegExp.multilineproperty (not
RegExp.prototype.multiline) has been removed. Use the standard m flag instead (bug 1219757).
- The
__defineSetter__methods can no longer be called at the global scope without any object. (bug 1253016).
See also:
Firefox 47
- The new ES2017 / ES8
Object.entries()methods have been implemented (bug 1232639).
- The deprecated old Proxy API (
Proxy.createFunction) now presents a deprecation warning in the console and will be removed in a future version. Use the standard
Proxyobject instead (bug 892903).
- The deprecated non-standard
flagsargument of
replacesupport has been dropped in non-release builds (bug 1245801).
- As per the new ES2016/ES7 specification, the
Proxyenumerate trap for
for...instatements has been removed (bug 1246318).
- The
Array.prototype.lastIndexOf()methods (and their
TypedArrayequivalents) have been updated to never return
-0as per the ECMAScript specification (bug 1242043).
See also:
Firefox 46
- The ES2015 (ES6) RegExp unicode (u) flag has been implemented (bug 1135377).
- The ES2015 (ES6) block-level functions have been implemented (bug 1071646).
- The ES2015 (ES6)
TypedArray.prototype.sort()method has been implemented (bug 1121937).
- The ES2015 (ES6)
arguments[@@iterator]has been implemented (bug 1067049).
- The experimental EcmaScript Shared Memory API has been implemented. See the
Atomicsobjects. To use this experimental API set
truein about:config.
- Redeclaration of
constvariables now throws a
SyntaxErrorinstead of a
TypeErroras per the ECMAScript specification (bug 1198833).
- In Strict mode, setting properties on primitive values will now throw a
TypeError(bug 603201).
- The non-standard
WeakSet.prototype.clear()methods have been removed (bug 1101817).
- The non-standard, static
RegExp.multilineproperty is now deprecated (bug 1220457).
- Built-in accessor function names now have a "get" or "set" prefix (bug 1180290, bug 1235656).
- JS1.7/JS1.8 (legacy) array comprehensions and JS1.7/JS1.8 (legacy) generator comprehensions have been removed (bug 1220564).
See also:
Firefox 45
- ES2015 (ES6) Classes are now enabled by default (bug 1197932).
- Expression closures are deprecated and will now present a warning in the console (bug 995610).
String.prototype.replacedoes not restore RegExp static properties after executing function parameter anymore (bug 1226936).
Math.random()has been updated to the better XorShift128+ algorithm (bug 322529).
See also:
Firefox 44
New APIs
Symbol.prototype[@@toPrimitive], and
Date.prototype[@@toPrimitive]have been implemented (bug 1054756).
- The
constbindings in the global level have been made compliant with ES2015 semantics. See bug 589199 and the blog post "Breaking changes in let and const in Firefox Nightly 44". In addition,
- If typed arrays' (like
Int8Array) and
ArrayBuffer) constructors are called as a function without the
newoperator, a
TypeErroris now thrown as per the ES6 specification (bug 980945, bug 1214936).
- The
RegExpsticky flag now follows the ES2015 standard for anchored sticky regular expressions (bug 773687).
- The JavaScript shell (SpiderMonkey's REPL) now defaults to the default, Web-compatible JS version (and not JS1.7+ anymore) (bug 1192329).
- Support for the non-standard
letblocks has been dropped (bug 1167029.
- The non-standard and deprecated property
Object.prototype.__noSuchMethod__has been removed (bug 683218).
See also:
Firefox 43
New APIs
- The new ES2016 methods
TypedArray.prototype.includes()are now enabled by default (bug 1070767).
Changes regarding the
arguments object
- To match the ES2015 specification, arrow functions no longer have their own
argumentsobject. The
argumentsobject is now lexically bound (inherited from the outer function). In most cases, rest parameters are a good alternative
(...args) => args[i], see bug 889158.
- The arguments object is now allowed in conjunction with rest parameters (bug 1133298).
- From now on, a mapped
argumentsobject in non-strict functions is only provided if the function does not contain any rest parameters, any default parameters or any destructured parameters (bug 1175394).
Other changes
- Generators and generator methods are no longer constructable as per ES2016/ES7 (bug 1191486).
See also:
Firefox 42
- The
Reflectobject has been implemented (bug 987514).
- The implementation of the
handler.ownKeys()trap has been updated to match the final ES2015 specification (bug 1049662).
- Calling
Set, or
new, will now throw a
TypeError(bug 1083752).
See also:
Firefox 41
Date.prototypeis now an ordinary object, not a
Dateinstance anymore (bug 861219).
Date.prototype.toStringis now a generic method (bug 861219).
Symbol.specieshas been added (bug 1131043).
Set[@@species]getters have been added (bug 1131043).
- Non-standard let expression support has been dropped (bug 1023609).
- Destructured parameters with default value assignment are now supported (bug 1018628).
- Per ES6, curly braces are required for method definitions. Syntax without them will fail from now on (bug 1150855).
- Method definitions (except for generator methods) are not constructable anymore (bug 1059908 and bug 1166950).
- As part of ES6 specification compliance, parenthesized destructuring patterns, like
([a, b]) = [1, 2]or
({a, b}) = { a: 1, b: 2 }, are now considered invalid and will throw a
SyntaxError. See Jeff Walden's blog post for more details.
- The
new.targetsyntax has been added (bug 1141865).
See also:
Firefox 40
- Unreachable code after
returnstatement (including unreachable expression after semicolon-less return statements) will now show a warning in the console (bug 1005110, bug 1151931).
Symbol.matchhas been added (bug 1054755).
- Passing an object which has a property named
Symbol.matchwith a truthy value to
String.prototype.endsWith, and
String.prototype.containsnow throws a
TypeError(bug 1054755).
RegExpfunction returns pattern itself if called without
newand pattern object has a property named
Symbol.matchwith a truthy value, and the pattern object's
constructorproperty equals to
RegExpfunction. (bug 1147817).
- Support for the non-standard JS1.7 destructuring for-in has been dropped (bug 1083498).
- Non-standard initializer expressions in for...in loops are now ignored and will present a warning in the console. (bug 748550 and bug 1164741).
\u{xxxxxx}Unicode code point escapes have been added (bug 320500).
String.prototype.containshas been replaced with
String.prototype.containsis kept as an alias (bug 1102219).
- If the
DataViewconstructor is called as a function without the
newoperator, a
TypeErroris now thrown as per the ES6 specification.
- An issue regressed in Firefox 21, where proxyfied arrays without the
gettrap were not working properly, has been fixed. If the
gettrap in a
Proxywas not defined,
0and the
settrap didn't get called. A workaround was to add the
gettrap even if was not necessary in your code. This issue has been fixed now (bug 895223).
WeakSet.prototypehave been updated to be just ordinary objects, per ES6 specification (bug 1055473).
See also:
Firefox 39
- The
RegExpconstructor no longer throws when the first argument is a
RegExpand the second
flagsargument is present (bug 1108949).
- The
Object.prototype.__noSuchMethod__property is now deprecated and throws a console warning (see bug 1140428 and this platform announcement).
- The implementation of the
Proxyobject has been updated to comply more with the ES6 specification:
- The
sethandlers now need to explicitly return
trueto be successful, otherwise a
TypeErrorexception will be thrown in strict mode (bug 1132522).
- If the
windowobject is set as the target, those handlers will now throw a
TypeError(bug 828137).
- The
- When using arrow functions (
=>), a line terminator (
\n) is no longer allowed after arrow function arguments (
() \n => {}) (bug 1141392).
RegExp.prototype.toStringis now a generic function (bug 1079919).
- The non-standard
flagsargument of
String.prototype.search(), and
String.prototype.replace()is now deprecated and throws a console warning (bug 1142351).
- The try/catch behavior of
Object.assign()has been removed to conform with the latest ES6 draft (bug 1103344).
See also:
Firefox 38
Generator.prototype.return()is implemented (bug 1115868).
Setterwith a rest parameter is now a
SyntaxError(bug 1089632).
- The
nameproperty of functions is configurable now (bug 1084019).
- Several
Arraymethods have been implemented for typed arrays as well:
- The
from()methods (bug 896608).
- The
forEach()method (bug 1107645).
- The
map()methods (bug 1121936).
- The
slice()method (bug 1121935).
- The
- Duplicated parameter name is no longer allowed when rest-parameter is present (bug 1096376).
- Duplicated parameter name is no longer allowed in arrow functions (bug 1096377).
- Duplicated parameter name is no longer allowed in concise method definitions (bug 1096378).
- Warning is shown when
WeakMapconstructor is called without
new(bug 1108930).
- The
has, and
deletemethods of
WeakMapobjects no longer throw when the
keyparameter is not an object (bug 1127827).
- The optional and non-standard second
fallbackparameter for
WeakMap.prototype.get()has been removed (bug 1127827).
- When defining a generator method, "
set" and "
get" are no longer invalid names (bug 1073809).
RegExp.prototype.sourcenow returns "(?:)" instead of an empty string for empty regular expressions (bug 1130798).
RegExp.prototype.toString()now escape regular expression patterns properly (e.g. line terminators, "\n") (bug 1130860).
- The
multiline, and
stickyproperties are now prototype accessor properties rather than own data properties of
RegExpinstances (bug 1120169).
- The
RegExp.prototype.sourceproperty is now prototype accessor property rather than own data property of
RegExpinstances (bug 1120169). Available only in non-Release version, due to bug 1150297.
Function.prototype.toString()now throws for
Proxyobjects (bug 1100936).
See also:
Firefox 37
- The
WeakSetconstructors now ignore null iterable (bug 1092538).
- The
WeakSetconstructors now supports monkey-patched
prototype.add(bug 804279).
- The Non-standard
String.prototype.quote()method has been removed (bug 1103181).
- The
RegExp.prototype.flagsproperty has been implemented (bug 1108467).
- Several
Arraymethods have been implemented for typed arrays as well:
- The
some()methods (bug 1116390).
- The
findIndex()methods (bug 1078975).
- The
fill()method (bug 1113722).
- The
lastIndexOf()methods (bug 1107601).
- The
join()method (bug 1115817).
- The
reduceRight()methods (bug 1117350).
- The
reverse()method (bug 1111516).
- The
values(), and
entries()methods (bug 1119217).
- The
- ES6 Proxy
enumeratetrap is implemented (bug 783829).
- The
configurableattribute of the
Function.lengthproperty is now
trueper the ES6 specification (bug 911142).
- The development of ParallelJS (PJS) has been discontinued due to the limited future prospects, little attention and code complexity. The experimental implementation that had been enabled only on the Nightly channel, including the
reduceParmethods, has been completely removed.
See also:
Firefox 36
- The ECMAScript 6 Symbol data type has been enabled by default (was available in the Nightly channel since version 33) (bug 1066322):
- The old placeholder string
"@@iterator"has been replaced with the real ES6 well-known symbol
Symbol.iteratorfor the iterable interface property key (bug 918828).
- The spec-internal abstract operation
ToNumber(string)now supports binary (
0b) and octal (
0o) literals, this is a potentially breaking change from ES5 (bug 1079120).
Number("0b11")now returns
3, not
"0o11" == 9now returns
true, not
- The
constdeclaration is now block-scoped and requires an initializer (bug 611388). It also can not be redeclared anymore (bug 1095439).
{const a=1}; a;now throws a
ReferenceErrorand does not return
1anymore due to block-scoping.
const a;now throws a
SyntaxError("missing = in const declaration
"): An initializer is required.
const a = 1; a = 2;now also throws a
SyntaxError("invalid assignment to const a").
- The ES7 method
Array.prototype.includeshas been implemented, but for now, it is only enabled in Nightly builds (bug 1069063).
- The
deleteoperator now triggers the "temporal dead zone" when using with
const(bug 1074571).
- The non-standard
letblocks and
letexpressions are deprecated and will now log a warning in the console. Do not use them anymore, they will be removed in the future.
- WeakMap constructor now handles optional iterable argument (bug 1092537).
See also:
Firefox 35
- The "temporal dead zone" for
letdeclarations has been implemented. In conformance with ES6
letsemantics, the following situations
now throw errors. See also this newsgroup announcement and bug 1001090.
- Redeclaring existing variables or arguments using
letwithin the same scope in function bodies is now a syntax error.
- Using a variable declared using
letin function bodies before the declaration is reached and evaluated is now a runtime error.
- Redeclaring existing variables or arguments using
Symbols(only available in the Nightly channel) have been updated to conform with recent specification changes:
String(Symbol("1"))now no longer throws a
TypeError; instead a string (
"Symbol(1)") gets returned (bug 1058396).
- The various TypedArray constructors now have as their
[[Prototype]]a single function, denoted
%TypedArray%in ES6 (but otherwise not directly exposed). Each typed array prototype now inherits from
%TypedArray%.prototype. (
%TypedArray%.prototypeinherit from
Object.prototype, respectively, so that typed array constructors and instances still have the properties found on those objects.) Typed array function properties now reside on
%TypedArray%.prototypeand work on any typed array. See TypedArray and bug 896116 for more information.
- ES6 semantics for prototype mutations using object literals have been implemented (bug 1061853).
- Now only a single member notated as
__proto__:valuewill mutate the
[[Prototype]]in the object literal syntax.
- Method members like
__proto__() {}will not overwrite the
- Now only a single member notated as
See also:
Firefox 34
- The ES6 syntax for computed property names on object literals has been implemented (bug 924688).
- This includes getter and setter method names as well (bug 1048384) and can also be used with destructuring.
- The ES6 shorthand syntax for defining methods on objects has been implemented (bug 924672).
- The ES6
Object.assign()has been implemented (bug 937855).
- ES6 template strings and the
String.raw()method are now supported (bug 1038259, bug 1039774).
- A new ES6 object
WeakSethas been added (bug 792439).
- ES6 Symbols (only available in the Nightly channel) have been updated to conform with recent specification changes (bug 1042602):
- When trying to convert a symbol to a number, a
TypeErrorwill be thrown now.
- When using loose equality,
Object(sym) == symreturns
- When trying to convert a symbol to a number, a
- The experimental
TypedArray.prototype.move()method (only available in former Nightly and Aurora channels) has been replaced with the now implemented standard ES6
TypedArray.prototype.copyWithin()method (bug 1021379).
- In strict mode, setting a duplicate property name in object literals will no longer throw a
SyntaxErroras per ES6 specification (bug 1041128).
- In regular expressions (including
String.replace), the matched text for a capturing group is now
undefinedinstead of the empty string when that capturing group didn't get consulted because quantifiers prevented its exercise (see bug 369778 and this example code). Note that due to web compatibility, RegExp.$N will still return an empty string (bug 1053944).
- The ES6 spread operator is now supported in destructuring (bug 933276).
- Destructuring now uses iterator protocol instead of array-like protocol (bug 933276).
- bug 978279). (
See also:
Firefox 33
- The non-standard method
Number.toInteger()has been removed (bug 1022396).
- The
Set.prototype.add()methods are now chainable, return their equivalent objects and no longer
undefined(bug 1031632).
- A default parameter is evaluated before function declarations inside the function body, so those functions cannot be referred from default parameter (bug 1022962).
- Shorthand properties are now allowed in object literals: if not explicitly defined, property keys are initialized by variables of the same name. E.g.
function f(x, y) { return {x, y}; }is equivalent to
function f(x, y) { return {x: x, y: y}; }(bug 875002).
- The parsing of
yield*has been updated to conform with the latest ES6 specification (bug 981599).
- The non-standard
hasOwntrap has been removed (bug 980565).
See also:
Firefox 32
- The following new ECMAScript 6 built-in methods got implemented:
See also:
Firefox 31
New ECMAScript 6 features implemented:
- New
Array.prototype.fill()(bug 911147)
- New
Math.clz32()(bug 925123)
- New
String.prototype.normalize()is available in Firefox Desktop (bug 918987).
- New
- New
- The ES6 Proxy
isExtensibletrap have been implemented (bug 978235).
See also:
Firefox 30
- New ES6-compatible array comprehensions
[for (item of iterable) item]and generator comprehensions
(for (item of iterable) item)have been implemented (bug 979865).
- Typed arrays are now extensible and support new named properties (bug 695438).
- The
Error.prototype.stackproperty now contains column numbers (bug 762556) and has been improved when using
eval()calls. This can help you to better debug minified or generated JavaScript code.
- The
Promise.cast()method has been renamed to
Promise.resolve()(bug 966348).
See also:
Firefox 29
- New ECMAScript 6 String methods:
String.prototype.fromCodePoint()have been implemented (bug 918879).
- The ECMAScript Internationalization API (ECMA-402) has been implemented and is now enabled by default in Firefox Desktop (bug 853301):
- New objects in the new
Intlobject namespace:
- The following methods of
Datehave been updated to include the
optionsarguments per ECMA-402:
- New objects in the new
- To match the updated ECMAScript6 draft specification, the
Setobjects now treat
+0as the same when checking for key and value equality.
Promisehas been enabled by default (bug 918806).
- Completed generators now return an
IteratorResultobject instead of throwing (bug 958951).
- A malformed JSON string parsed by
JSON.parse()now yields a more detailed error message containing the line and column number that caused the parsing error. This is useful when debugging large JSON data.
- The
ArrayBuffer.isView()method has been added (bug 896105).
See also:
Firefox 28
- ECMAScript 6 (Harmony) implementation continues:
- New
Arraymethods have been implemented:
Array.prototype.keys()(bug 894658).
- New
- A bug causing that
Object.getOwnPropertyNames()did not see unresolved properties of
Errorobjects has been fixed (bug 724768).
See also:
Firefox 27
EcmaScript 6 (Harmony) implementation continues!
- The spread operator is now supported in Function calls (bug 762363).
- The mathematical function
Math.hypot()has been implemented (bug 896264).
- The
yield*expression is now implemented (bug 666396).
- The
ArrayIteratorobjects now match the specification (bug 881226).
- for..of loops now expect the ES6 standard iterator protocol moving away from SpiderMonkey old iterator protocol using
String.replacenow reset
RegExp.lastIndex(bug 501739).
See also:
Firefox 26
EcmaScript 6 (Harmony) implementation continues!
- The ECMAScript 6 compliant syntax for Generators (yield) has been implemented (bug 666399).
- Generator/Iterator results are now boxed like
{ value: foo, done: bool }(bug 907744).
- New mathematical methods have been implemented on
Math.fround()(bug 900125).
- The reserved words cannot be used for function names:such a usage now throws a
SyntaxError(bug 907958).
- The default parameter syntax has been updated to allow parameters without defaults after default parameters, such as
function f(x=1, y). See bug 777060.
GeneratorFunctionis implemented (bug 904701).
See also:
Firefox 25
EcmaScript 6 (Harmony) implementation continues!
- The method
Array.of()is now implemented on
Array(bug 866849).
- Support for the methods
Array.prototype.findIndex()has been added (bug 885553).
- The methods
Number.parseFloat()have been implemented (bug 886949)
- The methods
Set.prototype.forEach()are now implemented (bug 866847).
- New mathematical methods have been implemented on
Math.cbrt()(bug 717379).
- Support for binary and octal integer literals has been added:
0O237are now valid (bug 894026).
- The machine epsilon constant, that is the smallest representible number that added to 1 will not be 1, is now available as
Number.EPSILON(bug 885798).
- Typed arrays have been updated to no longer search in the prototype chain for indexed properties (bug 829896).
See also:
Firefox 24
- Arrow functions are no longer automatically in strict mode unless explicitly requested with
"use strict"(bug 852762).
- The
String.prototype.repeatJS method has been implemented (bug 815431).
- The
Set.prototype.entries()methods on
Setobjects have been implemented (bug 869996).
See also:
Firefox 23
- The
Object.definePropertymethod can now be used to redefine the
lengthproperty of an
See also:
Firefox 22
- ES6 Arrow Function syntax has been implemented (bug 846406).
- The new Object.is function has been added (bug 839979).
argumentsin generator expressions is now inherited from enclosing lexical scope (bug 848051).
- The ES6 Proxy
preventExtensionstrap have been implemented (bug 789897).
See also:
Firefox 21
- E4X, an ancient JavaScript extension, has been removed. Implemented only in Gecko, it never got significant traction (bug 788293).
- parseInt no longer treats strings with leading "0" as octal (bug 786135).
See also:
Firefox 20
- Support for the
Weakmap.prototype.clear()method, recently added to the Harmony (EcmaScript 6) draft proposal has been added (bug 814562).
- Support for the
Math.imul()method, a C-style 32-bit multiplication function. Though proposed for Harmony (EcmaScript 6) it has not yet accepted and still is non-standard (bug 808148).
- Web apps using draggable text with Kinetic 3.x are working, even when using the Cairo canvas backend (bug 835064).
- The
for each…instatement has been deprecated and should not be used. Consider using the new
for…ofstatement (bug 804834).
- Support for the
Map.prototype.values(), and
Map.prototype.entries()has been added (bug 817368).
See also:
Firefox 19
Setobjects have changed from having a
size()method to a
sizeproperty (bug 807001)
Setobjects also have a clear() method now. (bug 805003)
See also:
Firefox 18
- Harmony's (ECMAScript 6) Direct Proxies have been landed (bug 703537). Warning: the implementation contains a couple of known bugs, missing features and misalignements with the current state of the spec. Do not rely on it for production code.
- The ECMAScript 6
contains()method is now implemented on strings. This is unfortunately not compatible with Mootools 1.2, which expects different behavior from
contains()on strings but does not ensure it. Newer versions of Mootools fix this issue; sites should upgrade their Mootools version to something newer than 1.2.
See also:
Firefox 17
Stringobject now offers Harmony
endsWith, and
containsmethods (bug 772733).
- The String methods link and anchor now escape the
'"'(quotation mark) (bug 352437).
- Experimental support for strawman
ParallelArrayobject has been implemented (bug 778559).
- Support to iterate
Set(bug 725909).
- Disabled E4X for web content by default (bug 778851).
__exposedProps__must now be set for Chrome JavaScript objects exposed to content. Attempts to access Chrome objects from content without
__exposedProps__set will fail silently (bug 553102).
for..ofloops now work in terms of
.next()(bug 725907).
See also:
Firefox 16
Numberobjects now offer
toInteger(), and
isInteger()methods. (bug 761480, bug 761495)
- The Harmony spread operator is now supported in
Arrayinitializers (bug 574130). Note it is not yet supported in calls (bug 762363).
- The experimental
TypedArray.prototype.move()method has been added (available in Aurora and Nightly channels only) (bug 730873).
See also:
Firefox 15
- Support for the
DataViewinterface from the Typed Arrays specification has been added. This provides low-level access to the data contained in an
- Support for new ECMAScript 6 built-ins:
Number.isFinite()has been added. (bug 749818, bug 761495, bug 761480).
- Support for ECMAScript 6 default parameters has been added. (bug 757676).
- Support for ECMAScript 6 rest parameters has been added. (bug 574132).
See also:
Firefox 14
No change.
See also:
Firefox 13
See also:
Firefox 12
- Support for sharp variables (a Netscape non-standard extension) has been dropped.
ArrayBuffer.prototype.slice()has been implemented.
See also:
Firefox 11
No change.
See also:
Firefox 10
- The method
WeakMap.set()now returns
undefined, instead of itself.
- A bug was introduced in regular expression handling in Firefox 7; this has been fixed. See bug 683838 if you want the gory details.
- You can no longer use E4X syntax while in ECMAScript 5 strict mode (that is, after
"use strict;").
See also:
Firefox 9
No change.
See also:
Firefox 8
RegExp.test()called with no arguments now match against the string "undefined".
String.match()called with no arguments or
undefinednow match against the empty string and thus match every string.
- Support for watchlists has been implemented with the new (non-standard)
See also:
Firefox 7
- The
Function.arityproperty has been removed; use
See also:
Firefox 6
- In the past, it was possible to use the
newoperator on several built-in functions (eval, parseInt, Date.parse...) that should not have allowed it, according to the specification. This behavior is no longer supported. Using the
newoperator in this way was never officially supported and was not widely done, so it's unlikely that this change affects you.
- ECMAScript Harmony WeakMaps have been added as a prototype implementation.
See also:
Firefox 5
- Regular expressions are no longer callable as if they were functions; this change has been made in concert with the WebKit team to ensure compatibility (see WebKit bug 28285. This feature had existed for a long time but was never documented (at least, not here on MDC).
- The
Function.prototype.isGenerator()method is now supported; this lets you determine if a function is a generator.
- The following reserved words were previously only treated as reserved when in strict mode; now they're always treated as reserved:
import, and
- DOM documents created in chrome code may no longer be exposed to sandboxed scripts.
- The JSON parser has been re-written for improved speed and compliance. This includes a fix for bug 572279.
See also:
Older versions
For versions prior to Firefox 5, see the old JavaScript versions.
© 2016 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.


text:
Stripe Face Mask
Sale price
Regular price
Unit price
Our reusable mask features a navy and ivory ticking stripe fabric with contrasting cotton twill ties. A rounded design provides comfort to fit the contour of your face and for extra protection we've included a built-in pocket for an optional filter. (Filters not included).
Available in both adult and child size. Please note child size will include elastic bands (instead of cotton twill ties) so it's easier for a child to keep on.
These masks are handmade to order. Please allow 3-4 days for processing.
For contact-less pickup in Buckhead area of Atlanta, please use code "NOSHIP" at Checkout so you won't be charged for shipping.
Washable & handmade with care in the USA.
One size fits most
Mina & Vine is committed to helping fight the Covid-19 crisis. For every mask purchased, $1 is donated to the United Way Covid-19 Response & Recovery Fund which provides relief to those left vulnerable by the pandemic.
Please note Mina & Vine masks are for general use while out in public and are not intended for use in medical settings. We cannot guarantee that the mask prevents infection or the transmission of viruses or diseases.
s or diseases


text:
Saturday, May 30, 2009
Print-Friendly Articles
You can now print articles from this website in a very print-friendly format.
Printing in Firefox gives you an extra benefit: the links are automatically shown in parentheses next to the linked words themselves. For example, instead of seeing this:
This has been confirmed.
You would see this:
This has been confirmed (http://www.cnn.com/2009/POLITICS/05/14/iraq.torture/index.html).
So people looking at a printed out version would see the link refers to an article on CNN.
Give it a spin. For example, go to a link-intensive article such as Top Interrogation Experts Agree: Torture Doesn't Work, and print it out in Firefox.
This is a great resource for handing out print copies of roundups of vital information.
Search for Related Information:
2 comments:
too bad it wants to print the ads. Would be cool to have your stuff available in a book- chapters by subjects? Or in pamphlet form- like Chick tracts! Books starting from blogs is a growing phenom, i.e. Anonymous Lawyer and Pets Who Want to Kill ThemselvesReplyDelete
Yes, I don't know how to stop printing ads.ReplyDelete
→ Thank you for contributing to the conversation by commenting. We try to read all of the comments (but don't always have the time).
→ If you write a long comment, please use paragraph breaks. Otherwise, no one will read it. Many people still won't read it, so shorter is usually better (but it's your choice).
→ The following types of comments will be deleted if we happen to see them:
-- Comments that criticize any class of people as a whole, especially when based on an attribute they don't have control over
-- Comments that explicitly call for violence
→ Because we do not read all of the comments, I am not responsible for any unlawful or distasteful comments.


text:
BioWare executive producer Mark Darrah announced the game officially on the BioWare blog today.
The game, called Dragon Age III: Inquisition, doesn't have much further information beyond the title, which we first heard floated in an earlier leak of some information from a marketing survey. BioWare added in a press release that they are targeting a "late 2013" release date, but didn't narrow it down any further.
In the blog post, Darrah wrote that the team's plan had been not to reveal information until there was something substantial actually to show, but hinted that rumors had indeed gotten out of hand and so the time was right to reveal.
So what did Darrah confirm?
- The next game will be called Dragon Age III: Inquisition.
- We won't be talking about the story of the game today. Though you can make some guesses from the title.
- This game is being made by a lot of the same team that has been working on Dragon Age since Dragon Age: Origins. It's composed of both experienced BioWare veterans and talented new developers.
- We are working on a new engine which we believe will allow us to deliver a more expansive world, better visuals, more reactivity to player choices, and more customization. At PAX East, we talked about armor and followers… Yeah, that kind of customization. We've started with Frostbite 2 from DICE as a foundation to accomplish this.
Dragon Age III has indeed been possibly the worst-kept secret in the history of gaming, so it's nice to be able to give it a title. The art and ideas shared for a then-"hypothetical" DAIII at PAX East back in April caught the attention of fans, and set the wheels of speculation spinning. Since then, BioWare has been soliciting fan feedback regularly.
Dragon Age II was (and remains) a highly controversial game, with some devoted fans and even more angry critics. Clearly, BioWare is trying to tread carefully with Dragon Age III.
Whether or not it carries the best of its predecessors forward, it will certainly look pretty doing it. The Frostbite 2 engine Darrah mentions is the engine that makes Battlefield 3 look so nice.
A Blog from Mark Darrah – Dragon Age III Inquisition [BioWare Blog]


text:
Jane Jacobs
Our editors will review what you've submitted and determine whether to revise the article.
- Born:
- May 4, 1916 Scranton Pennsylvania
- Subjects Of Study:
- urban culture
Jane Jacobs, née Jane Butzner, (born May 4, 1916, Scranton, Pa., U.S.—died April 25, 2006, Toronto, Ont., Can.), American-born Canadian urbanologist noted for her clear and original observations on urban life and its problems.
After graduating from high school, Butzner worked at the Scranton Tribune. She moved to New York City in 1934, where she held several different jobs while writing articles for various newspapers and magazines. In 1944 she met and married architect Robert Hyde Jacobs. Already keenly interested in city neighbourhoods and their vitality, both as a writer and—increasingly—as a community activist, she explored urban design and planning at length with her husband. In 1952 she became an associate editor of Architectural Forum, where she worked for a decade.
In 1961 Jacobs published her first full-length book, The Death and Life of Great American Cities, a brash and passionate reinterpretation of the multiple needs of modern urban places. The book, translated into several languages, established her as a force to be reckoned with by planners and economists. The Economy of Cities (1969) discusses the importance of diversity to a city's prosperity, and it, too, challenged much of the conventional wisdom on urban planning. Opposed to the Vietnam War and worried that her sons would be drafted, Jacobs and her family moved to Canada in 1968; she later became a Canadian citizen. Her other works include Cities and the Wealth of Nations (1984) and The Nature of Economies (2000). Dark Age Ahead (2004) centred on the decline of American culture.


text:
SAN FRANCISCO – A pair of NFC playoff contenders sure brought their physical, hard-hitting styles to a preseason matchup in late August.
Enough that the Minnesota Vikings were considering sending one particular play to the NFL for review after their 34-14 loss to the San Francisco 49ers on Sunday night.
Defensive tackle Kevin Williams got his right knee tangled up with offensive lineman Joe Looney early in the third quarter, and Minnesota coach Leslie Frazier heard from his coaches in the booth that it might be worth mailing to the league.
Williams will undergo an MRI exam to determine the severity of the injury, Frazier said.
"That's the one we're most concerned about," Frazier said. "I didn't see it, but the guys upstairs were telling me it was one of those we may want to send it to the league. They were pretty upset when they saw it. I'll have to take a look at it."
Frazier had every reason to be concerned given there were several other rough blows to his players — and San Francisco's Lavelle Hawkins found himself apologizing to his team and coach Jim Harbaugh afterward for a trio of unsportsmanlike conduct penalties.
Hawkins returned a kickoff 105 yards for a touchdown late in the second quarter, but was flagged for pointing the ball at a Vikings player before reaching the end zone and also for removing his helmet in celebration. Harbaugh chewed him out on the sideline, and Hawkins could be seen saying, "My fault."
Yet Hawkins received another unsportsmanlike flag for head-butting linebacker Desmond Bishop after flipping the ball toward safety Mistral Raymond following a 22-yard catch in the fourth quarter.
"Probably the two-strike level," Harbaugh said when asked about Hawkins' status. "He's definitely got to do a better job of not getting emotionally hijacked after doing something great."
Here are five things we know after the 49ers' win at Candlestick Park:
1. PONDER'S STRIDES: The Vikings spent extra time working to get their offense going after a pair of lackluster preseason games, and quarterback Christian Ponder showed plenty of improvement while noting there's still plenty to do before Week 1.
Ponder went 17 of 23 for 116 yards and two touchdowns, a step up after two unimpressive outings and a 28.3 passer rating.
"We started off a little slow but we did end on a positive note, which we are happy with," said Ponder, who welcomed the return of star running back Adrian Peterson for a brief appearance.
2. HUNTER'S GAINS: Kendall Hunter's first carry of the preseason and first since tearing his left Achilles' tendon in late November was a memorable one: a 15-yard burst.
Just being on the field was a big deal. He was only cleared for full practice Aug. 10.
Hunter, a fourth-round draft pick in 2011 out of Oklahoma State, had 72 carries for 371 yards and two touchdowns last season in an increased role as the team's second-leading rusher behind Frank Gore last year before getting hurt at New Orleans on Nov. 25. He later underwent surgery.
Hunter isn't putting up any fancy predictions given all of the hard work he put in just to get back on the field and provide some timely relief for Gore.
"Just to come back and show them that I'm back ready to play, and whenever they need me they can count on me," Hunter said. "So, I'm ready to prove that."
3. A.P. IS A-OK: Adrian Peterson played all of two snaps in his first preseason appearance in two years.
No big deal, Peterson insists. The reigning NFL MVP will be ready to roll when the season opener arrives Sept. 8 at Detroit.
"It's all about keeping your body in shape, doing the necessary things as far as conditioning and working out, just making sure your body is ready to roll."
He didn't touch the ball in this game, which kicks off a year in which he will try to become the first player with consecutive 2,000-yard rushing seasons.
"He's a big part of this offense. He's ready to go. Once he gets in there against Detroit, we won't miss a beat," Ponder said. "We were trying to develop some other things in our offense without him, and we don't want to get him hurt."
4. PATTON'S HAND: San Francisco fourth-round draft pick Quinton Patton sure looks healthy. Kept from catching passes two-handed for three weeks during training camp as he nursed a broken left index finger, Patton's first professional reception was a pretty 19-yard gain in which he split defenders down the middle seam. He capped the impressive drive with a 5-yard touchdown reception and a creative end zone dance.
He didn't look too far behind despite not playing the first two preseason games.
"It felt great to get back out there with everybody," he said. "I kind of felt like I was being left out."
5. STINGY SMITHS: On the right edge, Aldon and Justin Smith were at their menacing best again. They disrupted Ponder at every chance, and showed that San Francisco will bring one of the NFL's top defenses for a third straight season.
Justin Smith ran over two would-be blockers to pound Toby Gerhart for a 4-yard loss midway through the first quarter.
"Justin Smith had a burr in his saddle or something tonight," Harbaugh said. "He was Justin Smith. It was great."
Sack man Aldon Smith recovered a first-quarter fumble, and San Francisco capitalized with its first scoring drive.
AP NFL website: www.pro32.ap.org


text:
US secretly built 'Cuban Twitter' to stir unrest
WASHINGTON (AP) — The U.S. government masterminded the creation of a "Cuban Twitter" — a communications network designed to undermine the communist government in Cuba, built with secret shell companies and financed through foreign banks, The Associated Press has learned.
The Obama administration project, which lasted more than two years and drew tens of thousands of subscribers, sought to evade Cuba's stranglehold on the Internet with a primitive social media platform. First, the network would build a Cuban audience, mostly young people; then, the plan was to push them toward dissent.
Yet its users were neither aware it was created by a U.S. agency with ties to the State Department, nor that American contractors were gathering personal data about them, in the hope that the information might be used someday for political purposes.
It is unclear whether the scheme was legal under U.S. law, which requires written authorization of covert action by the president and congressional notification. Officials at the USAID would not say who had approved the program or whether the White House was aware of it. The Cuban government declined a request for comment.
USAID Administrator Rajiv Shah said Thursday that it was not a covert program, though "parts of it were done discreetly" in order to protect the people involved. Shah said on MSNBC that a study by the U.S. Government Accountability Office found the project to be consistent with the law.
"This is simply not a covert effort in any regard," he said.
Congressional investigators were asked by John Kerry, then chairman of the Senate Foreign Relations Committee and now secretary of state, to examine whether or not U.S. democracy promotion programs in Cuba were operated according to U.S. laws, among other issues. The report released by GAO in January 2013 does not examine whether or not the programs were covert. It does not say that any U.S. laws were broken.
The report does not refer to the project, dubbed ZunZuneo, but does note that USAID programs included "support for the development of independent social networking platforms."
White House spokesman Jay Carney echoed Shah's statement and said he was not aware of individuals in the White House who were aware of the program. Carney also said President Barack Obama does support efforts to expand communications in Cuba.
At minimum, details uncovered by the AP appear to muddy the U.S. Agency for International Development's longstanding claims that it does not conduct covert actions, and the details could undermine the agency's mission to deliver aid to the world's poor and vulnerable — an effort that requires the trust and cooperation of foreign governments.
Sen. Patrick Leahy, D-Vt., and chairman of the Appropriations Committee's State Department and Foreign Operations Subcommittee, called the program "dumb, dumb, dumb" on Thursday and said he was not aware of the effort.
"And if I had been, I would have said, 'What in heaven's name are you thinking?'" Leahy said on MSNBC. "If you're going to do a covert operation like this for a regime change, assuming it ever makes any sense, it's not something that should be done through USAID."
The Republican chairman of a House oversight panel said it would be looking into the project.
"That is not what USAID should be doing," said Rep. Jason Chaffetz, R-Utah, chairman of the House Oversight and Government Reform National Security Subcommittee. "USAID is flying the American flag and should be recognized around the globe as an honest broker of doing good. If they start participating in covert, subversive activities, the credibility of the United States is diminished."
But several other lawmakers voiced their support for ZunZuneo, which is slang for a Cuban hummingbird's tweet. Sen. Bob Menendez, D-N.J., chairman of the Senate Foreign Relations Committee, said USAID should be applauded for giving people in Cuba a platform to talk to each other.
"The whole purpose of our democracy programs, whether it be in Cuba or other parts of the world, is in part to create a free flow of information in closed societies," Menendez said.
USAID and its contractors went to extensive lengths to conceal Washington's ties to the project, according to interviews and documents obtained by the AP. They set up front companies in Spain and the Cayman Islands to hide the money trail, and recruited CEOs without telling them they would be working on a U.S. taxpayer-funded project.
"There will be absolutely no mention of United States government involvement," according to a 2010 memo from Mobile Accord Inc., one of the project's creators. "This is absolutely crucial for the long-term success of the service and to ensure the success of the Mission."
ZunZuneo was publicly launched shortly after the 2009 arrest in Cuba of American contractor Alan Gross. He was imprisoned after traveling repeatedly to the country on a separate, clandestine USAID mission to expand Internet access using sensitive technology that only governments use.
USAID said in a statement that it is "proud of its work in Cuba to provide basic humanitarian assistance, promote human rights and fundamental freedoms, and to help information flow more freely to the Cuban people," whom it said "have lived under an authoritarian regime" for 50 years. The agency said its work was found to be "consistent with U.S. law."
The AP obtained more than 1,000 pages of documents about the project's development. It independently verified the project's scope and details in the documents through publicly available databases, government sources and interviews with those involved in ZunZuneo.
ZunZuneo would seem to be a throwback from Cold War, and the decades-long struggle between the United States and Cuba. It came at a time when the historically sour relationship between the countries had improved, at least marginally, and Cuba had made tentative steps toward a more market-based economy.
The social media project began development in 2009 after Washington-based Creative Associates International obtained a half-million Cuban cellphone numbers. It was unclear to the AP how the numbers were obtained, although documents indicate they were done so illicitly from a key source inside the country's state-run provider. Project organizers used those numbers to start a subscriber base.
ZunZuneo's organizers wanted the social network to grow slowly to avoid detection by the Cuban government. Eventually, documents and interviews reveal, they hoped the network would reach critical mass so that dissidents could organize "smart mobs" — mass gatherings called at a moment's notice — that could trigger political demonstrations, or "renegotiate the balance of power between the state and society."
The Cuban government has a tight grip on information, and the country's leaders view the Internet as a "wild colt" that "should be tamed." ZunZuneo's leaders planned to push Cuba "out of a stalemate through tactical and temporary initiatives, and get the transition process going again toward democratic change."
At a 2011 speech at George Washington University, Secretary of State Hillary Rodham Clinton said the U.S. helps people in "oppressive Internet environments get around filters." Noting Tunisia's role in the Arab Spring, she said people used technology to help "fuel a movement that led to revolutionary change."
Suzanne Hall, then a State Department official working on Clinton's social media efforts, helped spearhead an attempt to get Twitter founder Jack Dorsey to take over the ZunZuneo project. Dorsey declined to comment.
The estimated $1.6 million spent on ZunZuneo was publicly earmarked for an unspecified project in Pakistan, public government data show, but those documents don't reveal where the funds were actually spent.
ZunZuneo's organizers worked hard to create a network that looked like a legitimate business, including the creation of a companion website — and marketing campaign — so users could subscribe and send their own text messages to groups of their choice.
"Mock ad banners will give it the appearance of a commercial enterprise," one written proposal obtained by the AP said. Behind the scenes, ZunZuneo's computers were also storing and analyzing subscribers' messages and other demographic information, including gender, age, "receptiveness" and "political tendencies." USAID believed the demographics on dissent could help it target its other Cuba programs and "maximize our possibilities to extend our reach.".
"It was such a marvelous thing," said Ernesto Guerra, a Cuban user who never suspected his beloved network had ties to Washington.
"How was I supposed to realize that?" Guerra asked in an interview in Havana. "It's not like there was a sign saying, 'Welcome to ZunZuneo, brought to you by USAID.'"
Executives set up a corporation in Spain and an operating company in the Cayman Islands — a well-known British offshore tax haven — to pay the company's bills so the "money trail will not trace back to America," a strategy memo said. That would have been a catastrophic blow, they concluded, because it would undermine the service's credibility with subscribers and get shut down by the Cuban government.
Similarly, subscribers' messages were funneled through two other countries — but never through American-based computer servers.
Denver-based Mobile Accord considered at least a dozen candidates to head the European front company. One candidate, Francoise de Valera, told the AP she was told nothing about Cuba or U.S. involvement.
James Eberhard, Mobile Accord's CEO and a key player in the project's development, declined to comment. Creative Associates referred questions to USAID.
For more than two years, ZunZuneo grew and reached at least 40,000 subscribers. But documents reveal the team found evidence Cuban officials tried to trace the text messages and break into the ZunZuneo system. USAID told the AP that ZunZuneo stopped in September 2012 when a government grant ended.
ZunZuneo vanished abruptly in 2012, and the Communist Party remains in power — with no Cuban Spring on the horizon.
"The moment when ZunZuneo disappeared, (it) was like a vacuum," said Guerra, the ZunZuneo user. "In the end, we never learned what happened. We never learned where it came from."
Contributing to this report were Associated Press researcher Monika Mathur and AP writers Lara Jakes, Deb Riechmann and Donna Cassata in Washington, and AP writers Andrea Rodriguez and Peter Orsi in Havana. Arce reported from Tegucigalpa, Honduras.
Contact the AP's Washington investigative team at firstname.lastname@example.com. Follow on Twitter: Butler at http://twitter.com/desmondbutler; Gillum at http://twitter.com/jackgillum; Arce at http://twitter.com/alberarce.


text:
North Korea may be preparing to attempt another rocket launch in the next few weeks, new satellite imagery suggests.
The photo, which was taken Nov. 26, shows increased activity at North Korea's Sohae Satellite Launch Station. The hustle and bustle is similar to that seen before the rogue nation's failed long-range rocket launch last April, according to satellite operator DigitalGlobe of Longmont, Colo.
"Given the observed level of activity noted of a new tent, trucks, people and numerous portable fuel/oxidizer tanks, should North Korea desire, it could possibly conduct its fifth satellite launch event during the next three weeks (e.g., by mid-December 2012)," DigitalGlobe officials wrote in a statement released with the new image.
Though it has tried numerous times, North Korea has not yet succeeded in placing a satellite in Earth orbit. Last April's attempted launch of an Earth-observing craft atop the nation's Unha-3 rocket was just the latest failure, following similar flops in 1998 and 2009.
In a rare public admission, North Korean officials acknowledged the Unha-3 failure shortly after the rocket crashed into the sea April 13. The nation had maintained that the 1998 and 2009 attempts were successful, though Western analysts are confident that neither one reached orbit.
North Korea's past launches have drawn condemnation from the United States, South Korea and other nations, which viewed them as thinly disguised missile tests. The West's concern stems largely from North Korea's famous unpredictability, along with its status as a nuclear-armed nation. The country is also highly secretive, making it difficult for Western observers to follow its activities or divine its motives.
Missile technology in North Korea traces its origins to Soviet Scuds, which apparently entered the country via Egypt in the 1970s. Since then, Pyongyang has been developing bigger and more powerful rockets, some of which may have the potential to reach the West Coast of the United States.


text:
Pity President Barack Obama trying to stay off the slippery slope to war with Iran in an election year, while his challengers perform crowd-pleasing, spoken-word versions of Senator John McCain's "Bomb Iran" adaptation of the Beach Boys. As they demonstrated last Wednesday in a forum hosted by the Republican Jewish Coalition (RJC), GOP presidential hopefuls are free to rattle imaginary sabers at Iran ("If I were president…") without risk or consequence, while branding Obama as feckless in the face of the grave and gathering danger of Tehran's nuclear program. (The somewhat less alarmist consensus of U.S. intelligence remains that Iran has not made, let alone implemented, a decision to build nuclear weapons, despite steadily accumulating the means to do so.)
Republican frontrunners Newt Gingrich and Mitt Romney committed themselves, at the RJC forum, to policies that would effectively put the U.S. at war with Iran. Both stressed that regime-change in Tehran would be the goal of their Iran policy (now there's an incentive for Tehran's regime to seek a nuclear insurance policy), and both signaled a willingness to use military force to stop Iran's nuclear program. When CNN interviewer Wolf Blitzer asked Gingrich later how he would respond to the proverbial 3 a.m. White House phone-call telling him that Israel had bombed Iranian nuclear facilities, Gingrich answered that it would never come to that, because he'd plan a joint military operation with Israel rather than put it in a position where it felt compelled to act alone. Besides, the former House Speaker said, Israel would never spring that surprise on him; they know he's an ally and willing to help.
Pummeled by Republican accusations of insufficient affection for Israel ("I'm close to Netanyahu," Gingrich told Blitzer; everyone knows Obama can hardly say the same…), the President last Thursday defended his Iran efforts, saying Tehran was under the toughest sanctions it has ever faced, and that he, too, is keeping all options (usually read as code for military action) "on the table."
Neither Israel nor Iran seems to take seriously the possibility of U.S. military action — an "option" that has been "on the table" for the past five years, during which Iran has forged ahead — and their skepticism would be underscored by repeated public warnings from the Pentagon of the strategic folly of exercising the "military option." When talking about Iraq and Afghanistan, it's a default position for GOP candidates to insist they'd take their cue from America's generals, but on Iran they don't seem to be paying much heed to the consensus among the top brass — as channeled by Defense Secretaries Leon Panetta, and before him, Robert Gates — that bombing Iran would at best delay Iran's progress by a couple of years, but at a cost of triggering a war with potentially devastating consequences throughout the Middle East, and for the world economy.
But slowing down the momentum towards confrontation with Iran isn't going to win candidates much political support — or campaign donations — in this election season. Even as Republican presidential contenders tried to outbid one another in public displays of affection for Israel and hostility towards Iran (the latter apparently being the litmus test for the former these days), the Associated Press reports that the America Israel Public Affairs Committee (AIPAC) turned up the heat on Obama on Capitol Hill. AIPAC is the flagship Israel lobbying organization, and paying loquacious political tribute to its platforms has long been an essential rite of passage for politicians seeking national office, particularly because of the group's ability to influence many donors who favor Democrats on domestic issues but hold hawkish views on Israel. Last week, according to the Associated Press, the organization sent a letter to U.S. lawmakers urging them to pass a package of crippling sanctions on Iran's economy, despite objections from the Obama Administration on some of the legislation's provisions. The relevant bill passed by 100-0 margin in the Senate last week, reservations expressed by the Administration notwithstanding, and must now be reconciled in committee with House legislation.
The Administration has sought to soften the impact of (or "gut," in the words of the Wall Street Journal editorial on the matter) the new measures, reportedly urging an extension of the grace period before such measures takes effect, and seeking to remove the provision for U.S. sanctions against any foreign bank engaged in oil transactions with Iran's central bank. The bill allows President Obama to waive implementation where U.S. national security is affected, although on the time-lines in the current version, he would have to issue three such waivers before election day to prevent a de facto oil embargo on Iran going into effect.
The Administration has warned that using the banking system to block Iran from selling oil could trigger a sharp increase in global oil prices, threatening the U.S. and world economy's fragile recovery — even without such measures, tensions with Iran are already steadily pushing the price up. And Iran has previously warned that it would treat any attempt to bar its ability to sell oil as an act of war. But the legislators are hanging tough. "The goal … is to inflict crippling, unendurable economic pain over there," explained New York Democrat Representative Gary Ackerman. "Iran's banking sector — especially its central bank — needs to become the financial equivalent of Chernobyl: radioactive, dangerous and most of all, empty."
But it's not only Iran that could be antagonized by the new legislation. The U.S. and its partners do very little business with the Islamic Republic today; the purpose of the new measures is to punish those who do. The Western powers have failed to persuade many of Iran's key trading partners — China, Russia, Turkey and India, among others — to voluntarily support new sanctions, which they believe are neither justified nor likely to produce a positive outcome. The new measures envisioned by Congress use the centrality of the U.S. banking system in the world economy to strong-arm reluctant partners into complying with Western sanctions. Administration officials warned that such measures could break the consensus on existing U.N. sanctions, and serve Iran's purpose by driving a wedge between the key players in the international community. But Iran hawks can just as easily point out that existing sanctions, which represent the outer limit of the consensus, are clearly ineffective in changing Iran's behavior. Still, China has invested heavily in Iran's energy sector over the past three years, and may at some point balk at being told with whom it can do business by a country that owes it more than $1 trillion.
There may also be a deeper, unspoken concern, behind the Administration's hesitation over putting Iran's economy in a chokehold at this point: it could prove to be a not easily reversible step on the path to confrontation. If such sanctions are adopted as the only alternative to war, as the current debate frames them, their (likely) failure to bring Iran to heel renders armed conflict inevitable — at least as long as the logic that "the only thing worse than bombing Iran is Iran getting the bomb" prevails in the Washington conversation.
Escalation could even happen relatively quickly. Most states would treat an effective economic blockade that imposed "crippling, unendurable pain" as an act of war, and if Iran responds militarily, directly or via proxy forces or terror attacks, the two sides could find themselves quickly locked into potentially disastrous war. Yet, the domestic political dynamic in both Washington and Tehran raises the cost for leaders in both capitals of restraining the momentum towards confrontation.
It's election season in Iran, too, with a parliamentary poll in March and a presidential vote in 2013 — and talking tough in the face of U.S. and Israeli threats is as popular inside Iran's political system as promising regime change in Iran at the Republican Jewish Committee. In the broader Iranian public, there's a growing sense of fatalism about the inevitability of war, and plenty of support for belligerent nationalist positions.
But the Administration is in a bind: It insists, correctly, that it has mustered an unprecedented level of sanctions against Iran, yet it is unable to demonstrate that those efforts are likely to change the game. Hawkish critics insist a clock is ticking, and most Iran analysts believe the current sanctions efforts are unlikely to produce a diplomatic breakthrough. Hence the apparent schizophrenia described in the Washington Post: last week: "Current and former U.S. officials say the administration is ramping up its covert efforts inside Iran, even as the White House is seeking a thaw in bilateral relations."
The very idea of a "bilateral thaw" with Tehran coming amid a covert war is absurd — Iran's leaders told Obama at the beginning of his presidency that there could be no rapprochement while sanctions remained in place; they're hardly likely to soften up with drones flying overhead and key assets blowing up.
Clearly, the leaders on both sides could have their hands full in the year ahead simply avoiding a rapid march to a war they'd prefer to avoid, because the demands of domestic politics are pushing them towards confrontation.