Quantcast
Channel: Hacker News 50
Viewing all 9433 articles
Browse latest View live

A Start-Up Moves Teachers Past Data Entry


Cameron's internet filter goes far beyond porn - and that was always the plan

$
0
0

Comments:"Cameron's internet filter goes far beyond porn - and that was always the plan"

URL:http://www.newstatesman.com/politics/2013/12/camerons-internet-filter-goes-far-beyond-porn-and-was-always-plan


Through secretive negotiations with ISPs, the coalition has divided the internet into 'acceptable' and 'unacceptable' categories and cut people off from huge swathes of it at the stroke of a key.

David Cameron visits the offices of Netmums at CP House in Watford on February 14, 2012. Photograph: Getty Images.

There is no porn filter, and blocking Childline is not an accident

The idea of an internet porn filter has always been a political fiction, a conveniently inaccurate sound bite used to conjure images of hardcore fisting and anal rape in the feverishly overactive imaginations of middle Britain. What activists actually called for - and ISPs were forced to provide - is an 'objectionable content' filter, and there is a vast, damp and aching chasm between the two.

The language of the mythical 'porn filter' is so insidious, so pervasive, that even those of us opposed to it have been sucked into its slippery embrace. And so even when it turns out that O2 are blocking the Childline and Refuge websites, or that BT are blocking gay and lesbian content, we tend to regard them as collateral damage – accidental victims of a well-meaning (if misguided) attempt to protect out children from the evils of cock.

But this was never the case. As Wiredreported back in July, Cameron’s ambitions extended far beyond porn. Working through secretive negotiations with ISPs, the coalition has put in place a set of filters and restrictions as ambitious as anything this side of China, dividing the internet into 'acceptable' and 'unacceptable' categories, and cutting people off from huge swathes of it at the stroke of a key.

"As well as pornography, users may automatically be opted in to blocks on "violent material", "extremist related content", "anorexia and eating disorder websites" and "suicide related websites", "alcohol" and "smoking". But the list doesn't stop there. It even extends to blocking "web forums" and "esoteric material", whatever that is. "Web blocking circumvention tools" is also included, of course."

And the restrictions go further still. Over the weekend, people were appalled to discover that BT filters supported homophobia, with a category blocking, "sites where the main purpose is to provide information on subjects such as respect for a partner, abortion, gay and lesbian lifestyle, contraceptive, sexually transmitted diseases and pregnancy."

BT have since reworded this description to remove the 'gay and lesbian' reference, but given that their filtering is provided by an unnamed "third party supplier" it seems highly unlikely that the filter itself has changed overnight – merely the description. Such measures would never be taken against the 'heterosexual lifestyle' - this is discrimination, pure and simple, hard-coded into our national communications infrastructure.

Of course it’s impossible to see what’s been blocked other than through tedious trial and error. One website owner (@pseudomonas) asked BT on Twitter for information about whether their site was blocked, and their experience was something like talking to a brick wall who only speaks French. The bottom line here is that even parents have no idea what they’re actually blocking, and we have no way of assessing the harm caused by BT’s measures.

O2, the Slough-based BT spin-off, do allow people to check which websites are blocked, and although their filter has been around for a few years now, the results are terrifying. Their 'parental control' settings can be blocked from accessing Childline, Refuge, Stonewall or the Samaritans – which is even more frightening when you realise that they could just as easily be switched on by an abusive partner. The most vulnerable people in society are the most likely to be cut off from the help they need. As Adrian Short argues, some websites simply shouldn’t be blocked.

It was never really clear what the so-called porn filter was supposed to achieve; what problem it was trying to prevent. Filtering seems to have become a crutch for inept parents looking for an easy way to avoid having real conversations with their kids about sex, porn and the world outside their comfortable little cul-de-sacs. If their first sight of a vagina traumatizes your teenage child, then you have brought them up wrong - but of course the problem here is often the parent more than the child; the embarrassed mother of father – projecting their own feelings of discomfort and embarrassment around the topic of sex onto their child. There remains, despite a wave of public hysteria, no good evidence that porn has any detrimental effect on children.

What clearly does have an impact on children though is denying them sex education, suppressing their sexual identity, and shutting off access to child protection or mental health charities. In all this talk of porn filters, the rights of the children campaigners supposedly want to protect have been ignored or trampled. Children should have a right to good quality sex education, access to support hotlines and websites, and information about their sexuality.

We may not be able to stop bad parents cutting their children off from the world, but that doesn’t mean we should allow ISPs to build and sell the tools to do it with. What’s bewildering is that BT’s updated website now explicitly acknowledges that: "Parents should carefully consider the possible adverse effects from denying children of an appropriate age access to information on these issues." If your filter could cause adverse effects on children, then why are you still peddling it?

And that leads to perhaps the most important question of all here - why on Earth were these lists built in the first place? Who constructed a list of 'gay and lesbian' sites to ban? Who at BT commissioned it? On what grounds was this kind of institutional bigotry deemed acceptable? Is it still in effect, and if so, why? These were deliberate acts, which show that something very rotten has taken hold at the heart of the British Internet industry. We are entitled to far greater transparency and clearer answers than we’ve been getting so far.

Using Computer Modern on the web

$
0
0

Comments:"Using Computer Modern on the web"

URL:http://checkmyworking.com/cm-web-fonts/


Download

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum a erat non augue vulputate aliquam. Nullam non felis id velit convallis dapibus eu quis risus. Nulla egestas, erat vel hendrerit sagittis, erat urna viverra libero, id ornare massa mauris ac quam. Sed tincidunt pretium lacus, eu hendrerit velit laoreet ut. Morbi mattis vestibulum leo eget imperdiet. Donec id condimentum magna. Nulla cursus facilisis erat. Sed id nulla non tortor venenatis blandit eget sed metus. Vivamus mollis mollis nulla, eu mattis neque tristique a. Nunc risus metus, pharetra nec mollis nec, lacinia vel enim. Cras ut felis nunc. Curabitur felis felis, lobortis in elementum quis, adipiscing in velit.

Sed lectus arcu, consequat eu interdum quis, suscipit nec risus. Fusce magna elit, pretium vel pulvinar sed, pulvinar et leo. Nunc non orci et lacus luctus aliquam eu ac augue. Nunc gravida lectus vitae tortor posuere rhoncus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis nec diam orci. Praesent nisl dui, fringilla sodales blandit et, bibendum et leo. Nullam molestie, erat nec ultrices tincidunt, eros quam ornare sem, in egestas orci turpis at risus.

Mathematical symbols

α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω < > ≤ ≥ ± ≠ ÷ × − ∕ ⁄ √ ∛ ∜ ∞ ℵ ƒ ′ ″ ‴ ∴ ⋅ ¹ ² ³ 〈 〉 ⌈ ⌉ ⌊ ⌋ ⊕ ⊗ ⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ ⁱ ⁿ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎ ₐ ₑ ₒ ᵢ ᵣ ᵤ ᵥ ₓ ᵦ ᵧ ᵨ ᵩ ᵪ ¼ ½ ¾ ⅓ ⅔ ⅕ ⅖ ⅗ ⅘ ⅙ ⅚ ⅛ ⅜ ⅝ ⅞ μ σ χ ∑ ∐ ° µ ߰ ߰ ߮ ∫ ࢚ ∆ ∇ ∬ ∭ ⨌ ∮ ∯ ∰ ∱ ⨑ ∲ ∳ ∞ ℵ ℘ ′ ′ ℝ ℂ ℕ ℙ ℚ ℤ ∀ ∁ ∃ ∄ ∅ ¬ -- ∧ ∨ ⊻ ⊼ ⊽ ∩ ∪ ∈ ∉ ∊ ∋ ∌ ∍ ∖ ⊂ ⊃ ⊄ ⊅ ⊆ ⊇ ⊈ ⊉ ⊊ ⊋ ⋄ ≃ ≄ ⊌ ⊍ ⊎ ⋐ ⋑ ⋒ ⋓ ⋀ ⋁ ⋂ ⋃ ⋎ ⋏ ⊕ ⊗ ⊖ ⊘ ⋲ ⋳ ⋴ ⋵ ⋶ ⋷ ⋸ ⋹ ⋺ ⋻ ⋼ ⋽ ⋾ ⋿ ∟ ∠ ∡ ∢ ∣ ∤ ∥ ∦ ⊾ ⊿ ⊥ ⊢ ⊣ ⊤ ∴ ∵ ∝ ∎ ≠ ≅ ≈ ≉ ∼ ≡ ≢ ≣ ≢ ≦ ≧ ≨ ≩ ≪ ≫ ≬ ≭ ≮ ≯ ≰ ≱ ≲ ≳ ≴ ≵ ≶ ≷ ≸ ≹ ≁ ≂ ≃ ≄ ≆ ≇ ≉ ≊ ≋ ≌ ∓ ∔ ∗ ∘ ∙ ∝ ∶ ∷ ∸ ∹ ∺ ∻ ∼ ∽ ∾ ∿ ≀ ≍ ≎ ≏ ≐ ≑ ≒ ≓ ≔ ≕ ≖ ≗ ≘ ≙ ≚ ≛ ≜ ≝ ≞ ≟ ≺ ≻ ≼ ≽ ≾ ≿ ⊀ ⊁ ⊏ ⊐ ⊑ ⊒ ⊓ ⊔ ⊕ ⊖ ⊗ ⊘ ⊙ ⊚ ⊛ ⊜ ⊝ ⊞ ⊟ ⊠ ⊪ ⊦ ⊧ ⊨ ⊩ ⊪ ⊫ ⊬ ⊭ ⊮ ⊯ ⊰ ⊱ ⊲ ⊳ ⊴ ⊵ ⊶ ⊷ ⊸ ⊹ ⊺ ⋄ ⋅ ⋆ ⋇ ⋈ ⋉ ⋊ ⋋ ⋌ ⋍ ⋔ ⋕ ⋖ ⋗ ⋘ ⋙ ⋚ ⋛ ⋜ ⋝ ⋞ ⋟ ⋠ ⋡ ⋢ ⋣ ⋤ ⋥ ⋦ ⋧ ⋨ ⋩ ⋪ ⋫ ⋬ ⋭ ⋮ ⋯ ⋰ ⋱

Download

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum a erat non augue vulputate aliquam. Nullam non felis id velit convallis dapibus eu quis risus. Nulla egestas, erat vel hendrerit sagittis, erat urna viverra libero, id ornare massa mauris ac quam. Sed tincidunt pretium lacus, eu hendrerit velit laoreet ut. Morbi mattis vestibulum leo eget imperdiet. Donec id condimentum magna. Nulla cursus facilisis erat. Sed id nulla non tortor venenatis blandit eget sed metus. Vivamus mollis mollis nulla, eu mattis neque tristique a. Nunc risus metus, pharetra nec mollis nec, lacinia vel enim. Cras ut felis nunc. Curabitur felis felis, lobortis in elementum quis, adipiscing in velit.

Sed lectus arcu, consequat eu interdum quis, suscipit nec risus. Fusce magna elit, pretium vel pulvinar sed, pulvinar et leo. Nunc non orci et lacus luctus aliquam eu ac augue. Nunc gravida lectus vitae tortor posuere rhoncus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis nec diam orci. Praesent nisl dui, fringilla sodales blandit et, bibendum et leo. Nullam molestie, erat nec ultrices tincidunt, eros quam ornare sem, in egestas orci turpis at risus.

Mathematical symbols

α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω < > ≤ ≥ ± ≠ ÷ × − ∕ ⁄ √ ∛ ∜ ∞ ℵ ƒ ′ ″ ‴ ∴ ⋅ ¹ ² ³ 〈 〉 ⌈ ⌉ ⌊ ⌋ ⊕ ⊗ ⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ ⁱ ⁿ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎ ₐ ₑ ₒ ᵢ ᵣ ᵤ ᵥ ₓ ᵦ ᵧ ᵨ ᵩ ᵪ ¼ ½ ¾ ⅓ ⅔ ⅕ ⅖ ⅗ ⅘ ⅙ ⅚ ⅛ ⅜ ⅝ ⅞ μ σ χ ∑ ∐ ° µ ߰ ߰ ߮ ∫ ࢚ ∆ ∇ ∬ ∭ ⨌ ∮ ∯ ∰ ∱ ⨑ ∲ ∳ ∞ ℵ ℘ ′ ′ ℝ ℂ ℕ ℙ ℚ ℤ ∀ ∁ ∃ ∄ ∅ ¬ -- ∧ ∨ ⊻ ⊼ ⊽ ∩ ∪ ∈ ∉ ∊ ∋ ∌ ∍ ∖ ⊂ ⊃ ⊄ ⊅ ⊆ ⊇ ⊈ ⊉ ⊊ ⊋ ⋄ ≃ ≄ ⊌ ⊍ ⊎ ⋐ ⋑ ⋒ ⋓ ⋀ ⋁ ⋂ ⋃ ⋎ ⋏ ⊕ ⊗ ⊖ ⊘ ⋲ ⋳ ⋴ ⋵ ⋶ ⋷ ⋸ ⋹ ⋺ ⋻ ⋼ ⋽ ⋾ ⋿ ∟ ∠ ∡ ∢ ∣ ∤ ∥ ∦ ⊾ ⊿ ⊥ ⊢ ⊣ ⊤ ∴ ∵ ∝ ∎ ≠ ≅ ≈ ≉ ∼ ≡ ≢ ≣ ≢ ≦ ≧ ≨ ≩ ≪ ≫ ≬ ≭ ≮ ≯ ≰ ≱ ≲ ≳ ≴ ≵ ≶ ≷ ≸ ≹ ≁ ≂ ≃ ≄ ≆ ≇ ≉ ≊ ≋ ≌ ∓ ∔ ∗ ∘ ∙ ∝ ∶ ∷ ∸ ∹ ∺ ∻ ∼ ∽ ∾ ∿ ≀ ≍ ≎ ≏ ≐ ≑ ≒ ≓ ≔ ≕ ≖ ≗ ≘ ≙ ≚ ≛ ≜ ≝ ≞ ≟ ≺ ≻ ≼ ≽ ≾ ≿ ⊀ ⊁ ⊏ ⊐ ⊑ ⊒ ⊓ ⊔ ⊕ ⊖ ⊗ ⊘ ⊙ ⊚ ⊛ ⊜ ⊝ ⊞ ⊟ ⊠ ⊪ ⊦ ⊧ ⊨ ⊩ ⊪ ⊫ ⊬ ⊭ ⊮ ⊯ ⊰ ⊱ ⊲ ⊳ ⊴ ⊵ ⊶ ⊷ ⊸ ⊹ ⊺ ⋄ ⋅ ⋆ ⋇ ⋈ ⋉ ⋊ ⋋ ⋌ ⋍ ⋔ ⋕ ⋖ ⋗ ⋘ ⋙ ⋚ ⋛ ⋜ ⋝ ⋞ ⋟ ⋠ ⋡ ⋢ ⋣ ⋤ ⋥ ⋦ ⋧ ⋨ ⋩ ⋪ ⋫ ⋬ ⋭ ⋮ ⋯ ⋰ ⋱

Download

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum a erat non augue vulputate aliquam. Nullam non felis id velit convallis dapibus eu quis risus. Nulla egestas, erat vel hendrerit sagittis, erat urna viverra libero, id ornare massa mauris ac quam. Sed tincidunt pretium lacus, eu hendrerit velit laoreet ut. Morbi mattis vestibulum leo eget imperdiet. Donec id condimentum magna. Nulla cursus facilisis erat. Sed id nulla non tortor venenatis blandit eget sed metus. Vivamus mollis mollis nulla, eu mattis neque tristique a. Nunc risus metus, pharetra nec mollis nec, lacinia vel enim. Cras ut felis nunc. Curabitur felis felis, lobortis in elementum quis, adipiscing in velit.

Sed lectus arcu, consequat eu interdum quis, suscipit nec risus. Fusce magna elit, pretium vel pulvinar sed, pulvinar et leo. Nunc non orci et lacus luctus aliquam eu ac augue. Nunc gravida lectus vitae tortor posuere rhoncus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis nec diam orci. Praesent nisl dui, fringilla sodales blandit et, bibendum et leo. Nullam molestie, erat nec ultrices tincidunt, eros quam ornare sem, in egestas orci turpis at risus.

Mathematical symbols

α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω < > ≤ ≥ ± ≠ ÷ × − ∕ ⁄ √ ∛ ∜ ∞ ℵ ƒ ′ ″ ‴ ∴ ⋅ ¹ ² ³ 〈 〉 ⌈ ⌉ ⌊ ⌋ ⊕ ⊗ ⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ ⁱ ⁿ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎ ₐ ₑ ₒ ᵢ ᵣ ᵤ ᵥ ₓ ᵦ ᵧ ᵨ ᵩ ᵪ ¼ ½ ¾ ⅓ ⅔ ⅕ ⅖ ⅗ ⅘ ⅙ ⅚ ⅛ ⅜ ⅝ ⅞ μ σ χ ∑ ∐ ° µ ߰ ߰ ߮ ∫ ࢚ ∆ ∇ ∬ ∭ ⨌ ∮ ∯ ∰ ∱ ⨑ ∲ ∳ ∞ ℵ ℘ ′ ′ ℝ ℂ ℕ ℙ ℚ ℤ ∀ ∁ ∃ ∄ ∅ ¬ -- ∧ ∨ ⊻ ⊼ ⊽ ∩ ∪ ∈ ∉ ∊ ∋ ∌ ∍ ∖ ⊂ ⊃ ⊄ ⊅ ⊆ ⊇ ⊈ ⊉ ⊊ ⊋ ⋄ ≃ ≄ ⊌ ⊍ ⊎ ⋐ ⋑ ⋒ ⋓ ⋀ ⋁ ⋂ ⋃ ⋎ ⋏ ⊕ ⊗ ⊖ ⊘ ⋲ ⋳ ⋴ ⋵ ⋶ ⋷ ⋸ ⋹ ⋺ ⋻ ⋼ ⋽ ⋾ ⋿ ∟ ∠ ∡ ∢ ∣ ∤ ∥ ∦ ⊾ ⊿ ⊥ ⊢ ⊣ ⊤ ∴ ∵ ∝ ∎ ≠ ≅ ≈ ≉ ∼ ≡ ≢ ≣ ≢ ≦ ≧ ≨ ≩ ≪ ≫ ≬ ≭ ≮ ≯ ≰ ≱ ≲ ≳ ≴ ≵ ≶ ≷ ≸ ≹ ≁ ≂ ≃ ≄ ≆ ≇ ≉ ≊ ≋ ≌ ∓ ∔ ∗ ∘ ∙ ∝ ∶ ∷ ∸ ∹ ∺ ∻ ∼ ∽ ∾ ∿ ≀ ≍ ≎ ≏ ≐ ≑ ≒ ≓ ≔ ≕ ≖ ≗ ≘ ≙ ≚ ≛ ≜ ≝ ≞ ≟ ≺ ≻ ≼ ≽ ≾ ≿ ⊀ ⊁ ⊏ ⊐ ⊑ ⊒ ⊓ ⊔ ⊕ ⊖ ⊗ ⊘ ⊙ ⊚ ⊛ ⊜ ⊝ ⊞ ⊟ ⊠ ⊪ ⊦ ⊧ ⊨ ⊩ ⊪ ⊫ ⊬ ⊭ ⊮ ⊯ ⊰ ⊱ ⊲ ⊳ ⊴ ⊵ ⊶ ⊷ ⊸ ⊹ ⊺ ⋄ ⋅ ⋆ ⋇ ⋈ ⋉ ⋊ ⋋ ⋌ ⋍ ⋔ ⋕ ⋖ ⋗ ⋘ ⋙ ⋚ ⋛ ⋜ ⋝ ⋞ ⋟ ⋠ ⋡ ⋢ ⋣ ⋤ ⋥ ⋦ ⋧ ⋨ ⋩ ⋪ ⋫ ⋬ ⋭ ⋮ ⋯ ⋰ ⋱

Download

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum a erat non augue vulputate aliquam. Nullam non felis id velit convallis dapibus eu quis risus. Nulla egestas, erat vel hendrerit sagittis, erat urna viverra libero, id ornare massa mauris ac quam. Sed tincidunt pretium lacus, eu hendrerit velit laoreet ut. Morbi mattis vestibulum leo eget imperdiet. Donec id condimentum magna. Nulla cursus facilisis erat. Sed id nulla non tortor venenatis blandit eget sed metus. Vivamus mollis mollis nulla, eu mattis neque tristique a. Nunc risus metus, pharetra nec mollis nec, lacinia vel enim. Cras ut felis nunc. Curabitur felis felis, lobortis in elementum quis, adipiscing in velit.

Sed lectus arcu, consequat eu interdum quis, suscipit nec risus. Fusce magna elit, pretium vel pulvinar sed, pulvinar et leo. Nunc non orci et lacus luctus aliquam eu ac augue. Nunc gravida lectus vitae tortor posuere rhoncus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis nec diam orci. Praesent nisl dui, fringilla sodales blandit et, bibendum et leo. Nullam molestie, erat nec ultrices tincidunt, eros quam ornare sem, in egestas orci turpis at risus.

Mathematical symbols

α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω < > ≤ ≥ ± ≠ ÷ × − ∕ ⁄ √ ∛ ∜ ∞ ℵ ƒ ′ ″ ‴ ∴ ⋅ ¹ ² ³ 〈 〉 ⌈ ⌉ ⌊ ⌋ ⊕ ⊗ ⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ ⁱ ⁿ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎ ₐ ₑ ₒ ᵢ ᵣ ᵤ ᵥ ₓ ᵦ ᵧ ᵨ ᵩ ᵪ ¼ ½ ¾ ⅓ ⅔ ⅕ ⅖ ⅗ ⅘ ⅙ ⅚ ⅛ ⅜ ⅝ ⅞ μ σ χ ∑ ∐ ° µ ߰ ߰ ߮ ∫ ࢚ ∆ ∇ ∬ ∭ ⨌ ∮ ∯ ∰ ∱ ⨑ ∲ ∳ ∞ ℵ ℘ ′ ′ ℝ ℂ ℕ ℙ ℚ ℤ ∀ ∁ ∃ ∄ ∅ ¬ -- ∧ ∨ ⊻ ⊼ ⊽ ∩ ∪ ∈ ∉ ∊ ∋ ∌ ∍ ∖ ⊂ ⊃ ⊄ ⊅ ⊆ ⊇ ⊈ ⊉ ⊊ ⊋ ⋄ ≃ ≄ ⊌ ⊍ ⊎ ⋐ ⋑ ⋒ ⋓ ⋀ ⋁ ⋂ ⋃ ⋎ ⋏ ⊕ ⊗ ⊖ ⊘ ⋲ ⋳ ⋴ ⋵ ⋶ ⋷ ⋸ ⋹ ⋺ ⋻ ⋼ ⋽ ⋾ ⋿ ∟ ∠ ∡ ∢ ∣ ∤ ∥ ∦ ⊾ ⊿ ⊥ ⊢ ⊣ ⊤ ∴ ∵ ∝ ∎ ≠ ≅ ≈ ≉ ∼ ≡ ≢ ≣ ≢ ≦ ≧ ≨ ≩ ≪ ≫ ≬ ≭ ≮ ≯ ≰ ≱ ≲ ≳ ≴ ≵ ≶ ≷ ≸ ≹ ≁ ≂ ≃ ≄ ≆ ≇ ≉ ≊ ≋ ≌ ∓ ∔ ∗ ∘ ∙ ∝ ∶ ∷ ∸ ∹ ∺ ∻ ∼ ∽ ∾ ∿ ≀ ≍ ≎ ≏ ≐ ≑ ≒ ≓ ≔ ≕ ≖ ≗ ≘ ≙ ≚ ≛ ≜ ≝ ≞ ≟ ≺ ≻ ≼ ≽ ≾ ≿ ⊀ ⊁ ⊏ ⊐ ⊑ ⊒ ⊓ ⊔ ⊕ ⊖ ⊗ ⊘ ⊙ ⊚ ⊛ ⊜ ⊝ ⊞ ⊟ ⊠ ⊪ ⊦ ⊧ ⊨ ⊩ ⊪ ⊫ ⊬ ⊭ ⊮ ⊯ ⊰ ⊱ ⊲ ⊳ ⊴ ⊵ ⊶ ⊷ ⊸ ⊹ ⊺ ⋄ ⋅ ⋆ ⋇ ⋈ ⋉ ⋊ ⋋ ⋌ ⋍ ⋔ ⋕ ⋖ ⋗ ⋘ ⋙ ⋚ ⋛ ⋜ ⋝ ⋞ ⋟ ⋠ ⋡ ⋢ ⋣ ⋤ ⋥ ⋦ ⋧ ⋨ ⋩ ⋪ ⋫ ⋬ ⋭ ⋮ ⋯ ⋰ ⋱

Download

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum a erat non augue vulputate aliquam. Nullam non felis id velit convallis dapibus eu quis risus. Nulla egestas, erat vel hendrerit sagittis, erat urna viverra libero, id ornare massa mauris ac quam. Sed tincidunt pretium lacus, eu hendrerit velit laoreet ut. Morbi mattis vestibulum leo eget imperdiet. Donec id condimentum magna. Nulla cursus facilisis erat. Sed id nulla non tortor venenatis blandit eget sed metus. Vivamus mollis mollis nulla, eu mattis neque tristique a. Nunc risus metus, pharetra nec mollis nec, lacinia vel enim. Cras ut felis nunc. Curabitur felis felis, lobortis in elementum quis, adipiscing in velit.

Sed lectus arcu, consequat eu interdum quis, suscipit nec risus. Fusce magna elit, pretium vel pulvinar sed, pulvinar et leo. Nunc non orci et lacus luctus aliquam eu ac augue. Nunc gravida lectus vitae tortor posuere rhoncus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis nec diam orci. Praesent nisl dui, fringilla sodales blandit et, bibendum et leo. Nullam molestie, erat nec ultrices tincidunt, eros quam ornare sem, in egestas orci turpis at risus.

Mathematical symbols

α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω < > ≤ ≥ ± ≠ ÷ × − ∕ ⁄ √ ∛ ∜ ∞ ℵ ƒ ′ ″ ‴ ∴ ⋅ ¹ ² ³ 〈 〉 ⌈ ⌉ ⌊ ⌋ ⊕ ⊗ ⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ ⁱ ⁿ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎ ₐ ₑ ₒ ᵢ ᵣ ᵤ ᵥ ₓ ᵦ ᵧ ᵨ ᵩ ᵪ ¼ ½ ¾ ⅓ ⅔ ⅕ ⅖ ⅗ ⅘ ⅙ ⅚ ⅛ ⅜ ⅝ ⅞ μ σ χ ∑ ∐ ° µ ߰ ߰ ߮ ∫ ࢚ ∆ ∇ ∬ ∭ ⨌ ∮ ∯ ∰ ∱ ⨑ ∲ ∳ ∞ ℵ ℘ ′ ′ ℝ ℂ ℕ ℙ ℚ ℤ ∀ ∁ ∃ ∄ ∅ ¬ -- ∧ ∨ ⊻ ⊼ ⊽ ∩ ∪ ∈ ∉ ∊ ∋ ∌ ∍ ∖ ⊂ ⊃ ⊄ ⊅ ⊆ ⊇ ⊈ ⊉ ⊊ ⊋ ⋄ ≃ ≄ ⊌ ⊍ ⊎ ⋐ ⋑ ⋒ ⋓ ⋀ ⋁ ⋂ ⋃ ⋎ ⋏ ⊕ ⊗ ⊖ ⊘ ⋲ ⋳ ⋴ ⋵ ⋶ ⋷ ⋸ ⋹ ⋺ ⋻ ⋼ ⋽ ⋾ ⋿ ∟ ∠ ∡ ∢ ∣ ∤ ∥ ∦ ⊾ ⊿ ⊥ ⊢ ⊣ ⊤ ∴ ∵ ∝ ∎ ≠ ≅ ≈ ≉ ∼ ≡ ≢ ≣ ≢ ≦ ≧ ≨ ≩ ≪ ≫ ≬ ≭ ≮ ≯ ≰ ≱ ≲ ≳ ≴ ≵ ≶ ≷ ≸ ≹ ≁ ≂ ≃ ≄ ≆ ≇ ≉ ≊ ≋ ≌ ∓ ∔ ∗ ∘ ∙ ∝ ∶ ∷ ∸ ∹ ∺ ∻ ∼ ∽ ∾ ∿ ≀ ≍ ≎ ≏ ≐ ≑ ≒ ≓ ≔ ≕ ≖ ≗ ≘ ≙ ≚ ≛ ≜ ≝ ≞ ≟ ≺ ≻ ≼ ≽ ≾ ≿ ⊀ ⊁ ⊏ ⊐ ⊑ ⊒ ⊓ ⊔ ⊕ ⊖ ⊗ ⊘ ⊙ ⊚ ⊛ ⊜ ⊝ ⊞ ⊟ ⊠ ⊪ ⊦ ⊧ ⊨ ⊩ ⊪ ⊫ ⊬ ⊭ ⊮ ⊯ ⊰ ⊱ ⊲ ⊳ ⊴ ⊵ ⊶ ⊷ ⊸ ⊹ ⊺ ⋄ ⋅ ⋆ ⋇ ⋈ ⋉ ⋊ ⋋ ⋌ ⋍ ⋔ ⋕ ⋖ ⋗ ⋘ ⋙ ⋚ ⋛ ⋜ ⋝ ⋞ ⋟ ⋠ ⋡ ⋢ ⋣ ⋤ ⋥ ⋦ ⋧ ⋨ ⋩ ⋪ ⋫ ⋬ ⋭ ⋮ ⋯ ⋰ ⋱

Download

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum a erat non augue vulputate aliquam. Nullam non felis id velit convallis dapibus eu quis risus. Nulla egestas, erat vel hendrerit sagittis, erat urna viverra libero, id ornare massa mauris ac quam. Sed tincidunt pretium lacus, eu hendrerit velit laoreet ut. Morbi mattis vestibulum leo eget imperdiet. Donec id condimentum magna. Nulla cursus facilisis erat. Sed id nulla non tortor venenatis blandit eget sed metus. Vivamus mollis mollis nulla, eu mattis neque tristique a. Nunc risus metus, pharetra nec mollis nec, lacinia vel enim. Cras ut felis nunc. Curabitur felis felis, lobortis in elementum quis, adipiscing in velit.

Sed lectus arcu, consequat eu interdum quis, suscipit nec risus. Fusce magna elit, pretium vel pulvinar sed, pulvinar et leo. Nunc non orci et lacus luctus aliquam eu ac augue. Nunc gravida lectus vitae tortor posuere rhoncus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis nec diam orci. Praesent nisl dui, fringilla sodales blandit et, bibendum et leo. Nullam molestie, erat nec ultrices tincidunt, eros quam ornare sem, in egestas orci turpis at risus.

Mathematical symbols

α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω < > ≤ ≥ ± ≠ ÷ × − ∕ ⁄ √ ∛ ∜ ∞ ℵ ƒ ′ ″ ‴ ∴ ⋅ ¹ ² ³ 〈 〉 ⌈ ⌉ ⌊ ⌋ ⊕ ⊗ ⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ ⁱ ⁿ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎ ₐ ₑ ₒ ᵢ ᵣ ᵤ ᵥ ₓ ᵦ ᵧ ᵨ ᵩ ᵪ ¼ ½ ¾ ⅓ ⅔ ⅕ ⅖ ⅗ ⅘ ⅙ ⅚ ⅛ ⅜ ⅝ ⅞ μ σ χ ∑ ∐ ° µ ߰ ߰ ߮ ∫ ࢚ ∆ ∇ ∬ ∭ ⨌ ∮ ∯ ∰ ∱ ⨑ ∲ ∳ ∞ ℵ ℘ ′ ′ ℝ ℂ ℕ ℙ ℚ ℤ ∀ ∁ ∃ ∄ ∅ ¬ -- ∧ ∨ ⊻ ⊼ ⊽ ∩ ∪ ∈ ∉ ∊ ∋ ∌ ∍ ∖ ⊂ ⊃ ⊄ ⊅ ⊆ ⊇ ⊈ ⊉ ⊊ ⊋ ⋄ ≃ ≄ ⊌ ⊍ ⊎ ⋐ ⋑ ⋒ ⋓ ⋀ ⋁ ⋂ ⋃ ⋎ ⋏ ⊕ ⊗ ⊖ ⊘ ⋲ ⋳ ⋴ ⋵ ⋶ ⋷ ⋸ ⋹ ⋺ ⋻ ⋼ ⋽ ⋾ ⋿ ∟ ∠ ∡ ∢ ∣ ∤ ∥ ∦ ⊾ ⊿ ⊥ ⊢ ⊣ ⊤ ∴ ∵ ∝ ∎ ≠ ≅ ≈ ≉ ∼ ≡ ≢ ≣ ≢ ≦ ≧ ≨ ≩ ≪ ≫ ≬ ≭ ≮ ≯ ≰ ≱ ≲ ≳ ≴ ≵ ≶ ≷ ≸ ≹ ≁ ≂ ≃ ≄ ≆ ≇ ≉ ≊ ≋ ≌ ∓ ∔ ∗ ∘ ∙ ∝ ∶ ∷ ∸ ∹ ∺ ∻ ∼ ∽ ∾ ∿ ≀ ≍ ≎ ≏ ≐ ≑ ≒ ≓ ≔ ≕ ≖ ≗ ≘ ≙ ≚ ≛ ≜ ≝ ≞ ≟ ≺ ≻ ≼ ≽ ≾ ≿ ⊀ ⊁ ⊏ ⊐ ⊑ ⊒ ⊓ ⊔ ⊕ ⊖ ⊗ ⊘ ⊙ ⊚ ⊛ ⊜ ⊝ ⊞ ⊟ ⊠ ⊪ ⊦ ⊧ ⊨ ⊩ ⊪ ⊫ ⊬ ⊭ ⊮ ⊯ ⊰ ⊱ ⊲ ⊳ ⊴ ⊵ ⊶ ⊷ ⊸ ⊹ ⊺ ⋄ ⋅ ⋆ ⋇ ⋈ ⋉ ⋊ ⋋ ⋌ ⋍ ⋔ ⋕ ⋖ ⋗ ⋘ ⋙ ⋚ ⋛ ⋜ ⋝ ⋞ ⋟ ⋠ ⋡ ⋢ ⋣ ⋤ ⋥ ⋦ ⋧ ⋨ ⋩ ⋪ ⋫ ⋬ ⋭ ⋮ ⋯ ⋰ ⋱

Download

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum a erat non augue vulputate aliquam. Nullam non felis id velit convallis dapibus eu quis risus. Nulla egestas, erat vel hendrerit sagittis, erat urna viverra libero, id ornare massa mauris ac quam. Sed tincidunt pretium lacus, eu hendrerit velit laoreet ut. Morbi mattis vestibulum leo eget imperdiet. Donec id condimentum magna. Nulla cursus facilisis erat. Sed id nulla non tortor venenatis blandit eget sed metus. Vivamus mollis mollis nulla, eu mattis neque tristique a. Nunc risus metus, pharetra nec mollis nec, lacinia vel enim. Cras ut felis nunc. Curabitur felis felis, lobortis in elementum quis, adipiscing in velit.

Sed lectus arcu, consequat eu interdum quis, suscipit nec risus. Fusce magna elit, pretium vel pulvinar sed, pulvinar et leo. Nunc non orci et lacus luctus aliquam eu ac augue. Nunc gravida lectus vitae tortor posuere rhoncus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis nec diam orci. Praesent nisl dui, fringilla sodales blandit et, bibendum et leo. Nullam molestie, erat nec ultrices tincidunt, eros quam ornare sem, in egestas orci turpis at risus.

Mathematical symbols

α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω < > ≤ ≥ ± ≠ ÷ × − ∕ ⁄ √ ∛ ∜ ∞ ℵ ƒ ′ ″ ‴ ∴ ⋅ ¹ ² ³ 〈 〉 ⌈ ⌉ ⌊ ⌋ ⊕ ⊗ ⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ ⁱ ⁿ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎ ₐ ₑ ₒ ᵢ ᵣ ᵤ ᵥ ₓ ᵦ ᵧ ᵨ ᵩ ᵪ ¼ ½ ¾ ⅓ ⅔ ⅕ ⅖ ⅗ ⅘ ⅙ ⅚ ⅛ ⅜ ⅝ ⅞ μ σ χ ∑ ∐ ° µ ߰ ߰ ߮ ∫ ࢚ ∆ ∇ ∬ ∭ ⨌ ∮ ∯ ∰ ∱ ⨑ ∲ ∳ ∞ ℵ ℘ ′ ′ ℝ ℂ ℕ ℙ ℚ ℤ ∀ ∁ ∃ ∄ ∅ ¬ -- ∧ ∨ ⊻ ⊼ ⊽ ∩ ∪ ∈ ∉ ∊ ∋ ∌ ∍ ∖ ⊂ ⊃ ⊄ ⊅ ⊆ ⊇ ⊈ ⊉ ⊊ ⊋ ⋄ ≃ ≄ ⊌ ⊍ ⊎ ⋐ ⋑ ⋒ ⋓ ⋀ ⋁ ⋂ ⋃ ⋎ ⋏ ⊕ ⊗ ⊖ ⊘ ⋲ ⋳ ⋴ ⋵ ⋶ ⋷ ⋸ ⋹ ⋺ ⋻ ⋼ ⋽ ⋾ ⋿ ∟ ∠ ∡ ∢ ∣ ∤ ∥ ∦ ⊾ ⊿ ⊥ ⊢ ⊣ ⊤ ∴ ∵ ∝ ∎ ≠ ≅ ≈ ≉ ∼ ≡ ≢ ≣ ≢ ≦ ≧ ≨ ≩ ≪ ≫ ≬ ≭ ≮ ≯ ≰ ≱ ≲ ≳ ≴ ≵ ≶ ≷ ≸ ≹ ≁ ≂ ≃ ≄ ≆ ≇ ≉ ≊ ≋ ≌ ∓ ∔ ∗ ∘ ∙ ∝ ∶ ∷ ∸ ∹ ∺ ∻ ∼ ∽ ∾ ∿ ≀ ≍ ≎ ≏ ≐ ≑ ≒ ≓ ≔ ≕ ≖ ≗ ≘ ≙ ≚ ≛ ≜ ≝ ≞ ≟ ≺ ≻ ≼ ≽ ≾ ≿ ⊀ ⊁ ⊏ ⊐ ⊑ ⊒ ⊓ ⊔ ⊕ ⊖ ⊗ ⊘ ⊙ ⊚ ⊛ ⊜ ⊝ ⊞ ⊟ ⊠ ⊪ ⊦ ⊧ ⊨ ⊩ ⊪ ⊫ ⊬ ⊭ ⊮ ⊯ ⊰ ⊱ ⊲ ⊳ ⊴ ⊵ ⊶ ⊷ ⊸ ⊹ ⊺ ⋄ ⋅ ⋆ ⋇ ⋈ ⋉ ⋊ ⋋ ⋌ ⋍ ⋔ ⋕ ⋖ ⋗ ⋘ ⋙ ⋚ ⋛ ⋜ ⋝ ⋞ ⋟ ⋠ ⋡ ⋢ ⋣ ⋤ ⋥ ⋦ ⋧ ⋨ ⋩ ⋪ ⋫ ⋬ ⋭ ⋮ ⋯ ⋰ ⋱

Download

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum a erat non augue vulputate aliquam. Nullam non felis id velit convallis dapibus eu quis risus. Nulla egestas, erat vel hendrerit sagittis, erat urna viverra libero, id ornare massa mauris ac quam. Sed tincidunt pretium lacus, eu hendrerit velit laoreet ut. Morbi mattis vestibulum leo eget imperdiet. Donec id condimentum magna. Nulla cursus facilisis erat. Sed id nulla non tortor venenatis blandit eget sed metus. Vivamus mollis mollis nulla, eu mattis neque tristique a. Nunc risus metus, pharetra nec mollis nec, lacinia vel enim. Cras ut felis nunc. Curabitur felis felis, lobortis in elementum quis, adipiscing in velit.

Sed lectus arcu, consequat eu interdum quis, suscipit nec risus. Fusce magna elit, pretium vel pulvinar sed, pulvinar et leo. Nunc non orci et lacus luctus aliquam eu ac augue. Nunc gravida lectus vitae tortor posuere rhoncus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis nec diam orci. Praesent nisl dui, fringilla sodales blandit et, bibendum et leo. Nullam molestie, erat nec ultrices tincidunt, eros quam ornare sem, in egestas orci turpis at risus.

Mathematical symbols

α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω < > ≤ ≥ ± ≠ ÷ × − ∕ ⁄ √ ∛ ∜ ∞ ℵ ƒ ′ ″ ‴ ∴ ⋅ ¹ ² ³ 〈 〉 ⌈ ⌉ ⌊ ⌋ ⊕ ⊗ ⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ ⁱ ⁿ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎ ₐ ₑ ₒ ᵢ ᵣ ᵤ ᵥ ₓ ᵦ ᵧ ᵨ ᵩ ᵪ ¼ ½ ¾ ⅓ ⅔ ⅕ ⅖ ⅗ ⅘ ⅙ ⅚ ⅛ ⅜ ⅝ ⅞ μ σ χ ∑ ∐ ° µ ߰ ߰ ߮ ∫ ࢚ ∆ ∇ ∬ ∭ ⨌ ∮ ∯ ∰ ∱ ⨑ ∲ ∳ ∞ ℵ ℘ ′ ′ ℝ ℂ ℕ ℙ ℚ ℤ ∀ ∁ ∃ ∄ ∅ ¬ -- ∧ ∨ ⊻ ⊼ ⊽ ∩ ∪ ∈ ∉ ∊ ∋ ∌ ∍ ∖ ⊂ ⊃ ⊄ ⊅ ⊆ ⊇ ⊈ ⊉ ⊊ ⊋ ⋄ ≃ ≄ ⊌ ⊍ ⊎ ⋐ ⋑ ⋒ ⋓ ⋀ ⋁ ⋂ ⋃ ⋎ ⋏ ⊕ ⊗ ⊖ ⊘ ⋲ ⋳ ⋴ ⋵ ⋶ ⋷ ⋸ ⋹ ⋺ ⋻ ⋼ ⋽ ⋾ ⋿ ∟ ∠ ∡ ∢ ∣ ∤ ∥ ∦ ⊾ ⊿ ⊥ ⊢ ⊣ ⊤ ∴ ∵ ∝ ∎ ≠ ≅ ≈ ≉ ∼ ≡ ≢ ≣ ≢ ≦ ≧ ≨ ≩ ≪ ≫ ≬ ≭ ≮ ≯ ≰ ≱ ≲ ≳ ≴ ≵ ≶ ≷ ≸ ≹ ≁ ≂ ≃ ≄ ≆ ≇ ≉ ≊ ≋ ≌ ∓ ∔ ∗ ∘ ∙ ∝ ∶ ∷ ∸ ∹ ∺ ∻ ∼ ∽ ∾ ∿ ≀ ≍ ≎ ≏ ≐ ≑ ≒ ≓ ≔ ≕ ≖ ≗ ≘ ≙ ≚ ≛ ≜ ≝ ≞ ≟ ≺ ≻ ≼ ≽ ≾ ≿ ⊀ ⊁ ⊏ ⊐ ⊑ ⊒ ⊓ ⊔ ⊕ ⊖ ⊗ ⊘ ⊙ ⊚ ⊛ ⊜ ⊝ ⊞ ⊟ ⊠ ⊪ ⊦ ⊧ ⊨ ⊩ ⊪ ⊫ ⊬ ⊭ ⊮ ⊯ ⊰ ⊱ ⊲ ⊳ ⊴ ⊵ ⊶ ⊷ ⊸ ⊹ ⊺ ⋄ ⋅ ⋆ ⋇ ⋈ ⋉ ⋊ ⋋ ⋌ ⋍ ⋔ ⋕ ⋖ ⋗ ⋘ ⋙ ⋚ ⋛ ⋜ ⋝ ⋞ ⋟ ⋠ ⋡ ⋢ ⋣ ⋤ ⋥ ⋦ ⋧ ⋨ ⋩ ⋪ ⋫ ⋬ ⋭ ⋮ ⋯ ⋰ ⋱

Download

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum a erat non augue vulputate aliquam. Nullam non felis id velit convallis dapibus eu quis risus. Nulla egestas, erat vel hendrerit sagittis, erat urna viverra libero, id ornare massa mauris ac quam. Sed tincidunt pretium lacus, eu hendrerit velit laoreet ut. Morbi mattis vestibulum leo eget imperdiet. Donec id condimentum magna. Nulla cursus facilisis erat. Sed id nulla non tortor venenatis blandit eget sed metus. Vivamus mollis mollis nulla, eu mattis neque tristique a. Nunc risus metus, pharetra nec mollis nec, lacinia vel enim. Cras ut felis nunc. Curabitur felis felis, lobortis in elementum quis, adipiscing in velit.

Sed lectus arcu, consequat eu interdum quis, suscipit nec risus. Fusce magna elit, pretium vel pulvinar sed, pulvinar et leo. Nunc non orci et lacus luctus aliquam eu ac augue. Nunc gravida lectus vitae tortor posuere rhoncus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis nec diam orci. Praesent nisl dui, fringilla sodales blandit et, bibendum et leo. Nullam molestie, erat nec ultrices tincidunt, eros quam ornare sem, in egestas orci turpis at risus.

Mathematical symbols

α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω < > ≤ ≥ ± ≠ ÷ × − ∕ ⁄ √ ∛ ∜ ∞ ℵ ƒ ′ ″ ‴ ∴ ⋅ ¹ ² ³ 〈 〉 ⌈ ⌉ ⌊ ⌋ ⊕ ⊗ ⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ ⁱ ⁿ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎ ₐ ₑ ₒ ᵢ ᵣ ᵤ ᵥ ₓ ᵦ ᵧ ᵨ ᵩ ᵪ ¼ ½ ¾ ⅓ ⅔ ⅕ ⅖ ⅗ ⅘ ⅙ ⅚ ⅛ ⅜ ⅝ ⅞ μ σ χ ∑ ∐ ° µ ߰ ߰ ߮ ∫ ࢚ ∆ ∇ ∬ ∭ ⨌ ∮ ∯ ∰ ∱ ⨑ ∲ ∳ ∞ ℵ ℘ ′ ′ ℝ ℂ ℕ ℙ ℚ ℤ ∀ ∁ ∃ ∄ ∅ ¬ -- ∧ ∨ ⊻ ⊼ ⊽ ∩ ∪ ∈ ∉ ∊ ∋ ∌ ∍ ∖ ⊂ ⊃ ⊄ ⊅ ⊆ ⊇ ⊈ ⊉ ⊊ ⊋ ⋄ ≃ ≄ ⊌ ⊍ ⊎ ⋐ ⋑ ⋒ ⋓ ⋀ ⋁ ⋂ ⋃ ⋎ ⋏ ⊕ ⊗ ⊖ ⊘ ⋲ ⋳ ⋴ ⋵ ⋶ ⋷ ⋸ ⋹ ⋺ ⋻ ⋼ ⋽ ⋾ ⋿ ∟ ∠ ∡ ∢ ∣ ∤ ∥ ∦ ⊾ ⊿ ⊥ ⊢ ⊣ ⊤ ∴ ∵ ∝ ∎ ≠ ≅ ≈ ≉ ∼ ≡ ≢ ≣ ≢ ≦ ≧ ≨ ≩ ≪ ≫ ≬ ≭ ≮ ≯ ≰ ≱ ≲ ≳ ≴ ≵ ≶ ≷ ≸ ≹ ≁ ≂ ≃ ≄ ≆ ≇ ≉ ≊ ≋ ≌ ∓ ∔ ∗ ∘ ∙ ∝ ∶ ∷ ∸ ∹ ∺ ∻ ∼ ∽ ∾ ∿ ≀ ≍ ≎ ≏ ≐ ≑ ≒ ≓ ≔ ≕ ≖ ≗ ≘ ≙ ≚ ≛ ≜ ≝ ≞ ≟ ≺ ≻ ≼ ≽ ≾ ≿ ⊀ ⊁ ⊏ ⊐ ⊑ ⊒ ⊓ ⊔ ⊕ ⊖ ⊗ ⊘ ⊙ ⊚ ⊛ ⊜ ⊝ ⊞ ⊟ ⊠ ⊪ ⊦ ⊧ ⊨ ⊩ ⊪ ⊫ ⊬ ⊭ ⊮ ⊯ ⊰ ⊱ ⊲ ⊳ ⊴ ⊵ ⊶ ⊷ ⊸ ⊹ ⊺ ⋄ ⋅ ⋆ ⋇ ⋈ ⋉ ⋊ ⋋ ⋌ ⋍ ⋔ ⋕ ⋖ ⋗ ⋘ ⋙ ⋚ ⋛ ⋜ ⋝ ⋞ ⋟ ⋠ ⋡ ⋢ ⋣ ⋤ ⋥ ⋦ ⋧ ⋨ ⋩ ⋪ ⋫ ⋬ ⋭ ⋮ ⋯ ⋰ ⋱

Download

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum a erat non augue vulputate aliquam. Nullam non felis id velit convallis dapibus eu quis risus. Nulla egestas, erat vel hendrerit sagittis, erat urna viverra libero, id ornare massa mauris ac quam. Sed tincidunt pretium lacus, eu hendrerit velit laoreet ut. Morbi mattis vestibulum leo eget imperdiet. Donec id condimentum magna. Nulla cursus facilisis erat. Sed id nulla non tortor venenatis blandit eget sed metus. Vivamus mollis mollis nulla, eu mattis neque tristique a. Nunc risus metus, pharetra nec mollis nec, lacinia vel enim. Cras ut felis nunc. Curabitur felis felis, lobortis in elementum quis, adipiscing in velit.

Sed lectus arcu, consequat eu interdum quis, suscipit nec risus. Fusce magna elit, pretium vel pulvinar sed, pulvinar et leo. Nunc non orci et lacus luctus aliquam eu ac augue. Nunc gravida lectus vitae tortor posuere rhoncus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis nec diam orci. Praesent nisl dui, fringilla sodales blandit et, bibendum et leo. Nullam molestie, erat nec ultrices tincidunt, eros quam ornare sem, in egestas orci turpis at risus.

Mathematical symbols

α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω < > ≤ ≥ ± ≠ ÷ × − ∕ ⁄ √ ∛ ∜ ∞ ℵ ƒ ′ ″ ‴ ∴ ⋅ ¹ ² ³ 〈 〉 ⌈ ⌉ ⌊ ⌋ ⊕ ⊗ ⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ ⁱ ⁿ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎ ₐ ₑ ₒ ᵢ ᵣ ᵤ ᵥ ₓ ᵦ ᵧ ᵨ ᵩ ᵪ ¼ ½ ¾ ⅓ ⅔ ⅕ ⅖ ⅗ ⅘ ⅙ ⅚ ⅛ ⅜ ⅝ ⅞ μ σ χ ∑ ∐ ° µ ߰ ߰ ߮ ∫ ࢚ ∆ ∇ ∬ ∭ ⨌ ∮ ∯ ∰ ∱ ⨑ ∲ ∳ ∞ ℵ ℘ ′ ′ ℝ ℂ ℕ ℙ ℚ ℤ ∀ ∁ ∃ ∄ ∅ ¬ -- ∧ ∨ ⊻ ⊼ ⊽ ∩ ∪ ∈ ∉ ∊ ∋ ∌ ∍ ∖ ⊂ ⊃ ⊄ ⊅ ⊆ ⊇ ⊈ ⊉ ⊊ ⊋ ⋄ ≃ ≄ ⊌ ⊍ ⊎ ⋐ ⋑ ⋒ ⋓ ⋀ ⋁ ⋂ ⋃ ⋎ ⋏ ⊕ ⊗ ⊖ ⊘ ⋲ ⋳ ⋴ ⋵ ⋶ ⋷ ⋸ ⋹ ⋺ ⋻ ⋼ ⋽ ⋾ ⋿ ∟ ∠ ∡ ∢ ∣ ∤ ∥ ∦ ⊾ ⊿ ⊥ ⊢ ⊣ ⊤ ∴ ∵ ∝ ∎ ≠ ≅ ≈ ≉ ∼ ≡ ≢ ≣ ≢ ≦ ≧ ≨ ≩ ≪ ≫ ≬ ≭ ≮ ≯ ≰ ≱ ≲ ≳ ≴ ≵ ≶ ≷ ≸ ≹ ≁ ≂ ≃ ≄ ≆ ≇ ≉ ≊ ≋ ≌ ∓ ∔ ∗ ∘ ∙ ∝ ∶ ∷ ∸ ∹ ∺ ∻ ∼ ∽ ∾ ∿ ≀ ≍ ≎ ≏ ≐ ≑ ≒ ≓ ≔ ≕ ≖ ≗ ≘ ≙ ≚ ≛ ≜ ≝ ≞ ≟ ≺ ≻ ≼ ≽ ≾ ≿ ⊀ ⊁ ⊏ ⊐ ⊑ ⊒ ⊓ ⊔ ⊕ ⊖ ⊗ ⊘ ⊙ ⊚ ⊛ ⊜ ⊝ ⊞ ⊟ ⊠ ⊪ ⊦ ⊧ ⊨ ⊩ ⊪ ⊫ ⊬ ⊭ ⊮ ⊯ ⊰ ⊱ ⊲ ⊳ ⊴ ⊵ ⊶ ⊷ ⊸ ⊹ ⊺ ⋄ ⋅ ⋆ ⋇ ⋈ ⋉ ⋊ ⋋ ⋌ ⋍ ⋔ ⋕ ⋖ ⋗ ⋘ ⋙ ⋚ ⋛ ⋜ ⋝ ⋞ ⋟ ⋠ ⋡ ⋢ ⋣ ⋤ ⋥ ⋦ ⋧ ⋨ ⋩ ⋪ ⋫ ⋬ ⋭ ⋮ ⋯ ⋰ ⋱

Download

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum a erat non augue vulputate aliquam. Nullam non felis id velit convallis dapibus eu quis risus. Nulla egestas, erat vel hendrerit sagittis, erat urna viverra libero, id ornare massa mauris ac quam. Sed tincidunt pretium lacus, eu hendrerit velit laoreet ut. Morbi mattis vestibulum leo eget imperdiet. Donec id condimentum magna. Nulla cursus facilisis erat. Sed id nulla non tortor venenatis blandit eget sed metus. Vivamus mollis mollis nulla, eu mattis neque tristique a. Nunc risus metus, pharetra nec mollis nec, lacinia vel enim. Cras ut felis nunc. Curabitur felis felis, lobortis in elementum quis, adipiscing in velit.

Sed lectus arcu, consequat eu interdum quis, suscipit nec risus. Fusce magna elit, pretium vel pulvinar sed, pulvinar et leo. Nunc non orci et lacus luctus aliquam eu ac augue. Nunc gravida lectus vitae tortor posuere rhoncus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis nec diam orci. Praesent nisl dui, fringilla sodales blandit et, bibendum et leo. Nullam molestie, erat nec ultrices tincidunt, eros quam ornare sem, in egestas orci turpis at risus.

Mathematical symbols

α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω < > ≤ ≥ ± ≠ ÷ × − ∕ ⁄ √ ∛ ∜ ∞ ℵ ƒ ′ ″ ‴ ∴ ⋅ ¹ ² ³ 〈 〉 ⌈ ⌉ ⌊ ⌋ ⊕ ⊗ ⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ ⁱ ⁿ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎ ₐ ₑ ₒ ᵢ ᵣ ᵤ ᵥ ₓ ᵦ ᵧ ᵨ ᵩ ᵪ ¼ ½ ¾ ⅓ ⅔ ⅕ ⅖ ⅗ ⅘ ⅙ ⅚ ⅛ ⅜ ⅝ ⅞ μ σ χ ∑ ∐ ° µ ߰ ߰ ߮ ∫ ࢚ ∆ ∇ ∬ ∭ ⨌ ∮ ∯ ∰ ∱ ⨑ ∲ ∳ ∞ ℵ ℘ ′ ′ ℝ ℂ ℕ ℙ ℚ ℤ ∀ ∁ ∃ ∄ ∅ ¬ -- ∧ ∨ ⊻ ⊼ ⊽ ∩ ∪ ∈ ∉ ∊ ∋ ∌ ∍ ∖ ⊂ ⊃ ⊄ ⊅ ⊆ ⊇ ⊈ ⊉ ⊊ ⊋ ⋄ ≃ ≄ ⊌ ⊍ ⊎ ⋐ ⋑ ⋒ ⋓ ⋀ ⋁ ⋂ ⋃ ⋎ ⋏ ⊕ ⊗ ⊖ ⊘ ⋲ ⋳ ⋴ ⋵ ⋶ ⋷ ⋸ ⋹ ⋺ ⋻ ⋼ ⋽ ⋾ ⋿ ∟ ∠ ∡ ∢ ∣ ∤ ∥ ∦ ⊾ ⊿ ⊥ ⊢ ⊣ ⊤ ∴ ∵ ∝ ∎ ≠ ≅ ≈ ≉ ∼ ≡ ≢ ≣ ≢ ≦ ≧ ≨ ≩ ≪ ≫ ≬ ≭ ≮ ≯ ≰ ≱ ≲ ≳ ≴ ≵ ≶ ≷ ≸ ≹ ≁ ≂ ≃ ≄ ≆ ≇ ≉ ≊ ≋ ≌ ∓ ∔ ∗ ∘ ∙ ∝ ∶ ∷ ∸ ∹ ∺ ∻ ∼ ∽ ∾ ∿ ≀ ≍ ≎ ≏ ≐ ≑ ≒ ≓ ≔ ≕ ≖ ≗ ≘ ≙ ≚ ≛ ≜ ≝ ≞ ≟ ≺ ≻ ≼ ≽ ≾ ≿ ⊀ ⊁ ⊏ ⊐ ⊑ ⊒ ⊓ ⊔ ⊕ ⊖ ⊗ ⊘ ⊙ ⊚ ⊛ ⊜ ⊝ ⊞ ⊟ ⊠ ⊪ ⊦ ⊧ ⊨ ⊩ ⊪ ⊫ ⊬ ⊭ ⊮ ⊯ ⊰ ⊱ ⊲ ⊳ ⊴ ⊵ ⊶ ⊷ ⊸ ⊹ ⊺ ⋄ ⋅ ⋆ ⋇ ⋈ ⋉ ⋊ ⋋ ⋌ ⋍ ⋔ ⋕ ⋖ ⋗ ⋘ ⋙ ⋚ ⋛ ⋜ ⋝ ⋞ ⋟ ⋠ ⋡ ⋢ ⋣ ⋤ ⋥ ⋦ ⋧ ⋨ ⋩ ⋪ ⋫ ⋬ ⋭ ⋮ ⋯ ⋰ ⋱

Download

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum a erat non augue vulputate aliquam. Nullam non felis id velit convallis dapibus eu quis risus. Nulla egestas, erat vel hendrerit sagittis, erat urna viverra libero, id ornare massa mauris ac quam. Sed tincidunt pretium lacus, eu hendrerit velit laoreet ut. Morbi mattis vestibulum leo eget imperdiet. Donec id condimentum magna. Nulla cursus facilisis erat. Sed id nulla non tortor venenatis blandit eget sed metus. Vivamus mollis mollis nulla, eu mattis neque tristique a. Nunc risus metus, pharetra nec mollis nec, lacinia vel enim. Cras ut felis nunc. Curabitur felis felis, lobortis in elementum quis, adipiscing in velit.

Sed lectus arcu, consequat eu interdum quis, suscipit nec risus. Fusce magna elit, pretium vel pulvinar sed, pulvinar et leo. Nunc non orci et lacus luctus aliquam eu ac augue. Nunc gravida lectus vitae tortor posuere rhoncus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis nec diam orci. Praesent nisl dui, fringilla sodales blandit et, bibendum et leo. Nullam molestie, erat nec ultrices tincidunt, eros quam ornare sem, in egestas orci turpis at risus.

Mathematical symbols

α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω < > ≤ ≥ ± ≠ ÷ × − ∕ ⁄ √ ∛ ∜ ∞ ℵ ƒ ′ ″ ‴ ∴ ⋅ ¹ ² ³ 〈 〉 ⌈ ⌉ ⌊ ⌋ ⊕ ⊗ ⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ ⁱ ⁿ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎ ₐ ₑ ₒ ᵢ ᵣ ᵤ ᵥ ₓ ᵦ ᵧ ᵨ ᵩ ᵪ ¼ ½ ¾ ⅓ ⅔ ⅕ ⅖ ⅗ ⅘ ⅙ ⅚ ⅛ ⅜ ⅝ ⅞ μ σ χ ∑ ∐ ° µ ߰ ߰ ߮ ∫ ࢚ ∆ ∇ ∬ ∭ ⨌ ∮ ∯ ∰ ∱ ⨑ ∲ ∳ ∞ ℵ ℘ ′ ′ ℝ ℂ ℕ ℙ ℚ ℤ ∀ ∁ ∃ ∄ ∅ ¬ -- ∧ ∨ ⊻ ⊼ ⊽ ∩ ∪ ∈ ∉ ∊ ∋ ∌ ∍ ∖ ⊂ ⊃ ⊄ ⊅ ⊆ ⊇ ⊈ ⊉ ⊊ ⊋ ⋄ ≃ ≄ ⊌ ⊍ ⊎ ⋐ ⋑ ⋒ ⋓ ⋀ ⋁ ⋂ ⋃ ⋎ ⋏ ⊕ ⊗ ⊖ ⊘ ⋲ ⋳ ⋴ ⋵ ⋶ ⋷ ⋸ ⋹ ⋺ ⋻ ⋼ ⋽ ⋾ ⋿ ∟ ∠ ∡ ∢ ∣ ∤ ∥ ∦ ⊾ ⊿ ⊥ ⊢ ⊣ ⊤ ∴ ∵ ∝ ∎ ≠ ≅ ≈ ≉ ∼ ≡ ≢ ≣ ≢ ≦ ≧ ≨ ≩ ≪ ≫ ≬ ≭ ≮ ≯ ≰ ≱ ≲ ≳ ≴ ≵ ≶ ≷ ≸ ≹ ≁ ≂ ≃ ≄ ≆ ≇ ≉ ≊ ≋ ≌ ∓ ∔ ∗ ∘ ∙ ∝ ∶ ∷ ∸ ∹ ∺ ∻ ∼ ∽ ∾ ∿ ≀ ≍ ≎ ≏ ≐ ≑ ≒ ≓ ≔ ≕ ≖ ≗ ≘ ≙ ≚ ≛ ≜ ≝ ≞ ≟ ≺ ≻ ≼ ≽ ≾ ≿ ⊀ ⊁ ⊏ ⊐ ⊑ ⊒ ⊓ ⊔ ⊕ ⊖ ⊗ ⊘ ⊙ ⊚ ⊛ ⊜ ⊝ ⊞ ⊟ ⊠ ⊪ ⊦ ⊧ ⊨ ⊩ ⊪ ⊫ ⊬ ⊭ ⊮ ⊯ ⊰ ⊱ ⊲ ⊳ ⊴ ⊵ ⊶ ⊷ ⊸ ⊹ ⊺ ⋄ ⋅ ⋆ ⋇ ⋈ ⋉ ⋊ ⋋ ⋌ ⋍ ⋔ ⋕ ⋖ ⋗ ⋘ ⋙ ⋚ ⋛ ⋜ ⋝ ⋞ ⋟ ⋠ ⋡ ⋢ ⋣ ⋤ ⋥ ⋦ ⋧ ⋨ ⋩ ⋪ ⋫ ⋬ ⋭ ⋮ ⋯ ⋰ ⋱

Find Emails With No Reply

$
0
0

Comments:"Find Emails With No Reply"

URL:http://jonathan-kim.com/2013/Gmail-No-Response/


Ever send out an email but got no response? Some people (myself included) aren’t great at email, and they just need a small nudge or reminder. I use tools like Signals to get notified when someone opens an email and FollowUp to send myself reminders to follow up, but I wanted something more automated.

What Does It Do?

This script creates and manages two new labels: “No Response” for emails that have garnered no reply, and “Ignore No Response” for emails you don’t need to respond to.

The script periodically goes through your email and finds messages between 5 and 14 days old where you were the last person to respond. Basically, the goal is to find messages where a follow-up email would be appropriate.

How to Install

Visit the Google Scripts site and create your first script. Scripts are stored in Google Drive, so you can edit them there later on.

Then, get the Gmail - No Response script and paste it into your new script document. At this point, you can also modify the variables at the top of the script. These will change the label names and age thresholds.

Next, click the clock icon to create a trigger that will run this script on a schedule. I set mine up to run daily at midnight:

Make sure to save your work!

You’ll now have two new labels in your inbox that you can check and do stuff with. If you want to keep those top-of-mind, you can add the “No Response” label to your main inbox. Just go to Settings> Inbox> Inbox Sections, and add the “No Response” label:

Now sit back and enjoy!

Why Not Use FollowUp or Boomerang?

As Chris Keller later pointed out to me, FollowUp has a Chrome extension that will auto-populate the BCC field for you, and I assume Boomerang has something similar. I wrote this script before I knew that, and I think it’s a better choice for me because:

It works on emails you’ve already sent. It involves no third-party services. Your email stays put. Each user has code-level control, in case they want to go nuts.

Some emails I send are sensitive, and I’d rather not forward it to a third-party service if I don’t have to. However, those sensitive emails are often important, so I need a way to remember to follow up.

To Be Continued

I love finding ways to be more productive, and I’ve been making an effort to share more of that knowledge. If you like this project and want to keep tabs, you can subscribe to the Github repo. I might add more scripts there in the future.

The case against Kim Dotcom, finally revealed | Ars Technica

$
0
0

Comments:"The case against Kim Dotcom, finally revealed | Ars Technica"

URL:http://arstechnica.com/tech-policy/2013/12/us-unveils-the-case-against-kim-dotcom-revealing-e-mails-and-financial-data/


Megaupload View all…

Nearly two years after Kim Dotcom's New Zealand mansion was raided by police, US authorities have made their case as to why the man behind Megaupload shouldn't simply go bankrupt like previous copyright violators before have—he should go to jail, they argue.

In a 191-page "Summary of Evidence," government lawyers marshal Skype chats, financial data, and dozens of e-mails to make their case that Megaupload was a criminal network designed from the start to distribute copyrighted material. It discusses the payments made to heavy uploaders to encourage them to drive traffic to the files of movies and TV shows they hid online.

Megaupload built a wall of plausible deniability, prosecutors claim, by disabling any internal search of files stored on Megaupload, meant as a "cyberlocker" site. But its administrators, who include the men behind Dotcom's new site Mega, traded e-mails that show the real strategy. They monitored and drove traffic to third-party linking sites through which Megaupload beamed its advertisements. They guided users about how to use the site in e-mails that clearly reference movies. Finally, and critically, they provided cash rewards to their best uploaders; in their e-mails they negotiated how to control such awards and get the most bang for their buck.

At one point, Megaupload officials discussed moving some pornographic content from Megaupload to Megarotic, which was Megaupload's racier sister site. They needed to explain the move to users, but it was complicated.

“[W]e could, however, also be shooting ourselves in the foot with this, as it proves that we looked at the file... and therefore are not the dumb pipe we claim to be," wrote Megaupload CTO Mathias Ortmann. "[C]opyright owners may use this against us."

Much of the information is likely what was gleaned from the servers that were copied, searched, and ultimately seized by US law enforcement. But prosecutors have also convinced several heavy users of Megaupload, identified so far only by initials, to testify against Dotcom and his comrades about how they used the system.

The purpose of the massive evidence dump is to get Dotcom extradited from New Zealand, where he has been wrapped up in legal proceedings for the 23 months since his mansion was raided. The US hardly got the quick handover they wanted—not only is Dotcom out of jail, he's free to do business. This year, he launched a new site simply called "Mega."

The next extradition hearing is scheduled for July 2014, and the evidence published Friday will be front-and-center in the government's case.

The government's 191-page "Summary of Evidence" also details the stunning sums that Dotcom and his colleagues made running their site. Dotcom, who owned 68 percent of Megaupload and all of sister site Megavideo, made more than $42 million in calendar year 2010. CTO Mathias Ortmann, who owned 25 percent share of Megaupload, made more than $9 million that same year; designer Julius Bencko (2.5 percent) made more than $1 million, and programmer Bram Van Der Kolk (also 2.5 percent) made more than $2 million. Chief Marketing Officer Finn Batato, who was not a shareholder, made $400,000. And no perk was too excessive: the company spent $616,000 renting Mediterranean yachts.

Megaupload lawyer Ira Rothken has said the document is being used to mislead the public.

"We think it’s 191 pages of meritless criminal allegations," Rothken told Variety. "The allegations seem to revolve around Megaupload’s discussed policies related to user infringements, takedowns, and things like reward programs. All those things are civil in nature and can never be considered criminal in the United States." At most, it's "secondary copyright infringement," he said—not a criminal matter.

Love means never having to say “delete”

It complied with the requests by disabling the specific URLs that pointed to accused files—all while keeping the actual infringing files undeleted and accessible Megaupload was the storage side, while Megavideo was a site that allowed users to watch stored videos without downloading through an embedded Flash video player. The public fronts of both sites were scrubbed to look clean, but prosecutors allege that was all to hide the real strategy revealed in internal e-mails: getting users to find the content they want through third-party search sites then encouraging them to buy premium subscriptions by cutting off their viewing after 72 minutes of video: just enough time to not finish watching a feature film.

Megavideo also carried ads, but premium subscriptions were the main revenue source. The Mega sites together generated $25 million in ad revenue, but they're estimated to have received more than $150 million from premium subscriptions.

Like many sites, Megaupload was deluged with thousands of takedown requests from copyright holders. It complied with the requests by disabling the specific URLs that pointed to accused files—all while keeping the actual infringing files undeleted and accessible. Megaupload users could create many URLs pointing to their files, making it trivial to keep the files available. At the same time, Megaupload principals would send e-mails to copyright owners implying they had actually removed the files.

They also didn't terminate the accounts of "repeat infringers," some of whom had their content subject to tens of thousands of takedown requests.

Having set up a system that proliferated millions of links to forbidden content, Megaupload then complied with takedown requests—on a sharply limited basis. Dotcom set strict limits on how many files should be removed and scolded his subordinates if they removed too much.

In 2009, Ortmann e-mailed Dotcom about Warner Brothers' request for an increase in their "removal limit," which was set by Megaupload. "They are currently removing 2,500 files per day," wrote Ortmann. "A cursory check indicates that it's legit takedowns of content that they own appearing in public forums," meaning third-party link sites. "We should comply with their request—we can afford to be cooperative at current growth levels.

Dotcom OK'd the increase; Warner could take down 5,000 links per day but "not unlimited," he stressed.

But often, they wouldn't comply. Megaupload never deleted files, and sometimes Dotcom balked at even removing URLs. After getting an e-mail listing 6,000 links from a representative of "various copyright owners," including the big four movie studios and Sony BMG's Mexico division, Dotcom actually scolded his underlings for complying. 

"I told you many times not to delete links that are reported in batches of thousands from insignificant sources," wrote Dotcom. "I would say that those infringement reports from MEXICO of '14,000' links would fall into that category. And the fact that we lost significant revenue because of it justifies my reaction." 

“They have no idea that we're making millions”

“If copyright holders would really know how big our business is they would surely try to do something against it...” Megaupload staff kept a clean facade, creating a "Top 100" list that consisted of movie trailers, game demos, and other legal content, but prosecutors maintain this was a sham to hide the truly popular content. Now, they've showcased some of the e-mails they captured to show there was a "wink wink, nudge nudge" attitude toward copyright violations on the site.

And some of the e-mails do look damning.

In March 2009, Dotcom asked Ortmann over Skype (in German): “Have you got a minute? Let’s talk about how we should prepare for lawsuits, should they ever happen.”

"We need to take a look at how YouTube has dealt with that so far," said Ortmann. "Promise some kind of technical filtering crap and then never implement it."

"We should already be hiring an attorney now, perhaps an in-house one, to get us prepared for anything," responded Dotcom.

Van Der Kolk was more explicit in his discussions with Ortmann. "yep :) the MU business model works very well for online video (private links)," he wrote. "Now we’re doing exactly what I foresaw in the beginning – innocent front end, private backend :)."

Two days later, he Skyped again to Ortmann: "If copyright holders would really know how big our business is they would surely try to do something against it... they have no idea that we’re making millions in profit every month." Ortmann responded, "Indeed."

The men who ran the Mega sites passed around customers' e-mails with reactions, complaints, and compliments, many of them mentioning obviously copyrighted content. For instance, in May 2009, Batato sent an e-mail to Ortmann with a customer note reading: "We watched Taken successfuly [sic] and then tried to watch the Alphabet Killer a day later and got the message to upgrade if we wanted to continue watching."

Another user in 2010 e-mailed Batato asking, "where can we see full movies?" Batato answered, “You need to go to our referrer sites. Such as www.thepiratecity.org or www.ovguide.com[.] There are the movie and series links. You cannot find them by searching on MV directly. That would cause us a lot of trouble ;-).”

In 2008, a user wrote directly to Dotcom complaining about video problems. "I’ve been trying to watch Dexter episodes, but... the sound doesn’t match up with the visual," he wrote. "I didn’t choose to use your site, you seem to dominate episodes 6 and 7 of Dexter on alluc[.org, a linking site]."

Dotcom forwarded the e-mail to Ortmann, writing: "on many forums people complain that our video / sound are not in sync... We need to solve this asap!”

In 2008, Van Der Kolk sent an e-mail to Ortmann entitled "funny chat log," showing an earlier chat in which Van Der Kolk had said: "we have a funny business... modern days pirates :)." Ortmann's response was a smiley-faced embrace of the gray area of the law he and his colleagues sought to occupy. "we’re not pirates, we’re just providing shipping services to pirates :)," he wrote.

In a 2007 Skype chat, Van Der Kolk had used the "modern pirates" in a different chat. "We're pretty evil, unfortunately," responded Ortmann. "but Google is also evil, and their claim is 'don't be evil.'"

"yes!" wrote Van Der Kolk. “the world is changing, this is the Internet, people will always share files and download their stuff for free... with or without Megaupload.”

So what's a copyright owner to do? Just join Megaupload, apparently. "the content providers should just get a producer account and sign up for rewards," quipped Ortmann.

What's New with FreeNAS » FreeNAS 9.2.0 Release

$
0
0

Comments:"What's New with FreeNAS » FreeNAS 9.2.0 Release"

URL:http://www.freenas.org/whats-new/2013/12/freenas-9-2-0-release.html


Release Notes for FreeNAS 9.2.0-RELEASE

Version 9.2-RELEASE of FreeBSD with performance improvements, bug

fixes, and updated software packages. For a complete list see
http://www.freebsd.org/releases/9.2R/relnotes.html

USB 3.0 support is disabled by default as it currently is not compatible
with some hardware, including Haswell (Lynx point) chipsets. To enable
USB 3.0 support, create a Tunable named xhci_load, set its value to YES,
and reboot the system.

The Kernel UMA allocator is now the default for ZFS. This results in
higher ZFS performance.

ZFS will now alert the administrator for pools that are not 4K-aligned.

By default, FreeNAS will treat all disks as 4K sector (“Advanced Format”)
disks. This is a future-proof setting that allows AF disks to later
be used as replacement drives for older, legacy 512 byte sector drives
without compromising performance. The administrator can optionally disable
this 4K-by-default behavior by setting vfs.zfs.vdev.larger_ashift_minimal
to 0 in both sysctl and loader tunables.

Avahi (multicast DNS, aka Bonjour) registration of all services, include
the web service, means you no longer need to have a head on the box to know
its IP address, even for initial configuration, if the system your browser
is running on supports mDNS (e.g. a Mac or mDNS-enabled Windows/Unix box).
The default address will be freenas.local (or freenas-n.local, where n is
the # of freenas.local instances already on the local network). This can be
changed by changing the hostname in the FreeNAS system or network configuration
screens.

The built-in admin user account is no longer used and the Admin Account
removed. The first time the FreeNAS graphical interface is accessed, a
pop-up menu will prompt for the root password. Subsequent logins to the
graphical interface will require this password.

FreeNAS no longer sends daily emails when email reporting is enabled
unless actual errors or issues of concern have arisen. Simply saying
“all is well!” each and every day was causing email fatigue and obscuring
actual errors. Those wishing for daily “all is well!” reports can simply
add a cron job that does this.

The plugin system now offers in-place updates for plugins, also
segregating installed plugins from available plugins to make the UI
less cluttered.

A complete REST API has been created for FreeNAS, allowing a FreeNAS
instance to be controlled remotely. See examples/api in the FreeNAS
source repository (https://github.com/freenas/freenas/tree/master) for some
examples of this in action. Complete API docs are available in docs/api.

The “Permit Sudo” field has been added to the add and edit screens for
Users and Groups. A column in View Groups and View Users now indicates
whether or not “Permit Sudo” has been set.

HTTP and HTTPS access to the FreeNAS graphical interface are no longer
mutually exclusive. The fields “WebGUI HTTP Port” and “WebGUI HTTPS Port”
have been added to System Settings -> General.

An “Edit” button has been added to the “Hostname” field of System
Information to make the hostname easier to change.

The results from the latest ZFS scrub now appear in Volume Status.

Netatalk has been updated to version 3.1.0. See
http://netatalk.sourceforge.net/3.1/ReleaseNotes3.1.0.html for a list of
changes in this release. There are also a number of changes made to AFP
sharing as a result:

The Add Apple (AFP) Share menu has been simplified and a
“Default umask” option has been added.

The “Server Name” field has also been removed from AFP; in
Netatalk 3, this value is automatically derived from the system
hostname.

“Enable home directories” and “Home directories” options added
to AFP.

The AIO options have been removed from CIFS.

Fourteen TLS-related fields have been added to the Advanced Mode of FTP.

An “IPv4 Address” column has been added to the View Jails screen.

A shell button has been added to Jails, making it easy to access the
command line of the selected jail.

A “Create directory” checkbox has been added to the Add Storage function of
a jail so that the user does not have to first access the jail’s shell to make
sure that the directory already exists. A “Read-Only” checkbox has also been
added to this screen.

A jails templating system has been added, allowing the quick deployment of
new jails from existing templates and the ability to create custom templates.
Linux jail support has also been added and installation templates are included
for Debian-7.1.0, Gentoo-20130820, Ubuntu-13.04, Centos-6.4, Fedora-19, and
Suse-12.3.

A link to the online FreeBSD manual pages has been added to Help.

Added bxe(4) driver for Broadcom NetXtreme II Ethernet 10Gb PCIe adapter.

Added padlock(4) driver which provides cryptographic hardware acceleration
for VIA C3, C7 and Eden processors.

Improved performance of encrypted ZFS volumes.

The iSCSI options have been updated to ensure the GUI constraints match the

daemon constraints. In particular the GUI limited the number of sessions and
the number of connections to a low value that may need to be increased if there
are large numbers of targets or clients or both.

Comparing the Cost of Different Multiple-return Techniques in C

$
0
0

Comments:"Comparing the Cost of Different Multiple-return Techniques in C"

URL:http://spin.atomicobject.com/2013/12/23/c-return-multiple-values/


C’s design limits functions to directly returning at most one value. Unfortunately, there are many cases where returning more than one makes sense — returning a data buffer and its size, returning either a success code and data requested or an error code, splitting a tree node into two, etc. Making returning multiple values awkward has likely led to many security problems over the years, when people forget to track (or check) sizes associated with buffers. There still isn’t an obviously correct way to return multiple values, just a couple of methods with different trade-offs.

Three Common Techniques

The most common method involves mutation: The function returns one value, and additional values are written into pointers that were passed in by the caller. (They may or may not be NULL-checked.) While there are conventions for this, such as returning a status code and writing the result(s) into parameters, the language standard has no opinion. Passing around pointers to return values through can be a source of subtle errors, and (along with pointer arithmetic) also complicates static analysis.

Another option involves tuples or tagged unions— returning a struct by value, with multiple values nested inside. It may be two or more values of known type (a tuple), or it could pair an enum indicating the result’s runtime type with a union that stores the overlap of all possible result types (including tuples). In the ML family of languages (OCaml, SML, Haskell, …), the combination of structural pattern matching and Hindley-Milner type inference makes this a concise and convenient way to do error handling (and largely eliminates dealing with NULLs), but it’s uncommon in C, perhaps because it’s perceived to be an expensive operation. This may not be as true with modern hardware and compilers, but it is still a bit verbose. (This kind of boxing is also necessary to return an array by value. C will otherwise return it as a pointer, likely referencing memory that has been overwritten by newer stack frames.)

A third option involves mutation of global values. This is far worse from a dataflow clarity standpoint, but can be a reasonable choice for generated code when compiling to C. All the functions in a module mutate one or more of a set of shared variables, which collectively behave like registers for a virtual machine.

These approaches can also be combined: returning a type enum and writing a pointer to a struct of the appropriate type into a pointer parameter, for example.

Benchmark Comparison

I’ve written some benchmark code that compares these methods. There are N functions that take a long int and return it divided by two, as well as an enum value indicating whether it’s even or odd. (While rather contrived, this emphasizes the overhead of the return mechanism over the function’s work.) There are also two functions that return nothing and return the divided value, to show the runtime impact of returning multiple values at all. Multiple values can also be returned via longjmp (to implement backtracking), but it is difficult to make a small benchmark where the costs of setjmp/longjmp don’t completely overwhelm the costs of a tiny example function, so I’ve left it out.

These graphs show timing for 9 benchmarks, run at -O0 and -O2 on three different hardware platforms. (Click each graph to see a larger version.)

Benchmarks

These first two return zero and one value, to show the cost of returning multiple values at all.

  • void – Right-shift the input, don’t return anything.
  • only-return-one – Right-shift the input and return it.

The rest return two values, by various means.

  • mutate-arg – Return whether the input is odd or even, and return the argument right-shifted by writing into a pointer argument.
  • mutate-arg-chk – Same as mutate-arg, but check that the pointer is non-NULL first.
  • struct – Return a struct value with odd/even and the right-shifted input.
  • padded-struct – Same as struct, but add unused space around the struct to show the cost of returning larger struct values.
  • mutate-struct – Dereference a struct pointer and mutate both its fields.
  • mutate-struct-chk – Same as mutate-struct, but check that the pointer is non-NULL first.
  • mutate-global – Mutate global variables, instead of returning anything.

Computers

The hardware platforms are the following three computers:

  • OSX: A “15-inch, late 2011” MacBook Pro:
    Darwin sonic-the-hedgehog-the-laptop.local 11.4.2 Darwin Kernel Version 11.4.2: Thu Aug 23 16:25:48 PDT 2012; root:xnu-1699.32.7~1/RELEASE_X86_64 x86_64

  • OpenBSD: A fairly low-powered 32-bit x86 computer, being used primarily as a firewall:
    OpenBSD oolong 4.9 GENERIC#671 i386

  • Linux: A Model-B Raspberry Pi running Raspian Linux:
    Linux raspy 3.6.11+ #474 PREEMPT Thu Jun 13 17:14:42 BST 2013 armv6l GNU/Linux

Since there is a fairly wide gap performance-wise between these three computers, this shouldn’t be considered a meaningful comparison of the raw speed between the OSs.

Analysis

While returning a struct by value is significantly slower than the other methods at -O0 on an x86-64 processor, compiling at -O3 eliminates most of the overhead. Regardless of optimization, there is much less of a difference between approaches on an ARM processor — this is likely due to differences in the ARM ABI that make returning non-word values such as structs less expensive. (Also, returning a struct with a few additional unused fields has very little impact on the runtime for either platform.)

These results reinforce that writing first for clarity, rather than efficiency, tends to be a safe bet. Code written less clearly to wring additional speed out of today’s hardware may lead to little improvement over clearer code on future architectures. Also, assumptions about what techniques are too costly to use should be revisited as hardware and platforms evolve. Last decade’s awkward workarounds for performance problems may no longer be necessary.
 

Reuters Investigates - UNACCOUNTABLE: The Pentagon's bad bookkeeping

$
0
0

Comments:"Reuters Investigates - UNACCOUNTABLE: The Pentagon's bad bookkeeping"

URL:http://www.reuters.com/investigates/pentagon/


SUCCESS, SORT OF: Workers confer in temporary offices set up in Alexandria, Virginia, for the rollout last year of the Army’s General Fund Enterprise Business System, which, though touted as a success, can’t perform many of the functions is was meant to handle. REUTERS/Jonathan Ernst

Part 3: Time and again, programs to modernize Defense Department record-keeping have fallen prey to bureaucratic rivalry, resistance to change and a lack of consequences for failure.

ALEXANDRIA, Virginia - The U.S. Air Force had great expectations for the Expeditionary Combat Support System when it launched the project in 2005. This accountants’ silver bullet, the Air Force predicted a year later, “will fundamentally revolutionize the way the Air Force provides logistics support.”

The new computer-based logistics technology would replace 420 obsolete, inefficient and largely incompatible “legacy” systems with a single, unified means of tracking the hardware of warfare. And it would be done for a mere $1.5 billion, combining three off-the-shelf products from Oracle Corp and modifying them only enough so that they could work together.

Seven years and $1.03 billion taxpayer dollars later, the Air Force announced in November 2012 that it was killing the project. ECSS had yielded “negligible” value and was “no longer a viable option,” the Air Force said. It would have taken an estimated $1.1 billion more to turn it into a system that could perform about one-quarter of its originally planned tasks, and couldn’t be fielded until 2020.

An August 28, 2013, report on the project, commissioned by an undersecretary of defense, filled in more of the blanks. The original promise of ECSS “was an exaggeration not founded on any true analysis,” it said. The plan was “ambiguous”; the Air Force failed to determine what ECSS would replace and what it would need to succeed.

That seven-year exercise in waste was not an anomaly. It was the norm for the U.S. Defense Department’s effort in recent years to upgrade the way it keeps track of money, supplies and people. Burdened with thousands of old, error-filled record-keeping systems - estimates range from 2,100 to more than 5,000 of them - the Pentagon is unable to account for itself, and thus for roughly half of all congressionally approved annual federal spending.

To fix that, the Defense Department has launched 20 or more projects to build modern business-management systems since the late 1990s. At least five were subsequently killed as complete failures after billions of dollars were spent on them. Nine projects now under way or already implemented carry an estimated total cost of $13.9 billion to build and operate, according to the Defense Department comptroller’s office. All of those in use can’t do everything they were supposed to do and are hooked to legacy systems they were supposed to replace.

The Defense Department inspector general said in a 2012 report that just six of these so-called Enterprise Resource Planning projects under way had racked up cost overruns of $8 billion and delays ranging from 1.5 to 12.5 years. With each failure, a pattern emerges: An off-the-shelf product with a proven track record in the private sector is chosen and then modified to the point where it doesn’t work properly.

“On every single one of the ERPs, they go out and customize the shit out of it to make it do what the legacy system did the same way the legacy system did it,” said Mike Young, a former Air Force logistics official and now a consultant on defense logistics and accounting.

KEEPING TRACK: The Defense Logistics Agency, which manages supplies for the military at giant warehouses like this one outside Harrisburg, Pennsylvania, has built a $2 billion-plus accounting system that can’t produce standard financial statements, according to the Pentagon’s inspector general. REUTERS/Tim Shaffer

Reuters has found that success is likely to remain elusive unless the Pentagon can change the way it goes about fixing its accounting problems. Interviews with scores of current and former defense officials, contractors and Pentagon watchers, as well as a review of dozens of reports by oversight agencies, show that the Pentagon is continually thwarted by a lack of accountability for failures, rivalry among and within various branches of the department, resistance to change, and an incentive to spend.

With its efforts to build reliable accounting systems in disarray, the Pentagon isn’t likely to meet a congressionally mandated 2017 deadline to be audit-ready. All other federal agencies are audited annually, in accordance with a 1990 law, and with rare exceptions, they pass every year. The Pentagon alone has never been audited, leaving roughly $8.5 trillion in taxpayer dollars unaccounted for since 1996, the first year it was supposed to be audited.

In previous installments of this series, Reuters has exposed the staggering costs and harmful effects of the Defense Department’s chronic accounting dysfunction. Persistent pay errors hound soldiers, sapping troop morale, while an impenetrable tangle of logistics and personnel systems can hinder commanders’ ability to know who and what are available for deployment. And the lack of reliable accounts - Pentagon staff routinely insert billions of dollars a year of false accounting entries to cover missing information - conceals huge sums lost to waste, fraud and mismanagement.

In response to questions about the Pentagon’s modernization efforts and the findings of this Reuters investigation, the office of Undersecretary of Defense Robert Hale, the Pentagon’s comptroller, emailed a written statement that said: “I note with disappointment that these articles misrepresent the efforts of a group of hard-working government workers who, despite furloughs and sequester and turmoil, have successfully provided financial services during two wars.”

“WISHFUL THINKING”

The Pentagon has for years kept lousy books with impunity.

The 2009 law requiring the Defense Department to be audit-ready by 2017 provides for no penalties if it misses the deadline. Senators Tom Coburn, an Oklahoma Republican, and Joe Manchin, a West Virginia Democrat, introduced legislation earlier this year that would, among other things, limit new weapons programs, if the Pentagon misses the target. The bill has attracted co-sponsors, but otherwise has gone nowhere in the Senate.

From 1995 through 2002, Senator Charles Grassley pushed through an amendment to the annual defense appropriations bill requiring the Pentagon to account for its expenditures by following one seemingly simple procedure: match each payment to the expense it covered. The order was ignored, and Grassley gave up. “The goal was for the practice to become self-sustaining,” Grassley said in an email to Reuters. “It was wishful thinking.”

Rivalry and turf issues among and within each of the military services also thwart comprehensive fixes to the bookkeeping mess. Each branch has insisted on building from scratch its own systems for basic accounting, logistics and personnel, roughly tripling costs. The Army, Navy and Air Force also routinely disregard department-wide standards and rules imposed by the secretary of defense’s office in order to preserve their own ways of doing things.

That’s what happened to the Defense Integrated Human Resource System, which was intended to replace the scores of payroll and personnel systems that cause so many pay errors. Competing demands from military services ultimately rendered the system useless, and it was killed in 2010 after sucking up $1 billion.

ON THE LINE: Army personnel provide telephone support for new users of the Army’s General Fund Enterprise Business System. Army staff called their training sessions for the new system “the valley of despair.” REUTERS/Jonathan Ernst

High turnover takes a toll, too, as Pentagon personnel are shuffled into new jobs every few years, reinforcing what people involved in many projects said is a lack of personal investment in successful outcomes.

In 2009 - when the Air Force was four years into it ill-fated ECSS project - Jamie Morin became Air Force comptroller, succeeding John H. Gibson II, who now is vice president of the defense-support division of aircraft maker Beechcraft Corp. As the service’s top financial official, Morin would have been a primary user of ECSS. Less than a year after the project’s collapse, the Obama administration nominated Morin to head the Pentagon’s Office of Cost Assessment and Program Evaluation.

At Morin’s October 2013 confirmation hearing before the Senate Armed Services Committee, none of the members asked him about ECSS or another troubled Air Force modernization project under his watch, the Defense Enterprise Accounting and Management System. In a written response to questions from Reuters, Morin said: “In testimony and reports, we have indicated that the Air Force is on a well-designed, albeit aggressive path toward meeting … audit readiness goals.”

The Air Force replaced a brigadier general and a civilian executive after the ECSS project was killed, an Air Force spokeswoman said, without providing further details. But at the time, it blamed the failure mainly on primary contractor Computer Sciences Corp, saying the Falls Church, Virginia, company lacked the necessary capabilities.

David Scott Norton, an accounting systems specialist who worked for Computer Sciences Corp on the project, disputed that, saying the problem was high turnover. Contractor personnel “who talked to the client [the Air Force] in the beginning didn’t implement the system,” he said. Air Force personnel, too, were “always moving in and out. That just doesn’t work. You needed a dedicated team.”

THREE-PRONGED ATTACK

The Pentagon’s inefficient method of pursuing efficiency has been on full display in the Army, which, among other efforts, has been building three separate new systems to handle accounting.

It launched the Logistics Modernization Program, or LMP, in 1998 with Computer Sciences Corp as the primary contractor. The Global Combat Support System - Army, or GCSS-A, began in 1997 and used Northrop Grumman as contractor. And the General Fund Enterprise Business System, meant to be the Army’s new central accounting system, began in 2005, using Accenture as contractor.

The three projects, each overseen by different agencies within the Army, with three different primary contractors, at different times bought licenses to use the same off-the-shelf software package, SAP’s Enterprise Resource Planning package. Each team then modified the software to create its own version to fit specific needs without making sure they worked together, people involved in the projects said.

In 2008, as work on all three projects was under way, the Army office that oversees acquisition of information systems issued a report, obtained by Reuters, faulting the Army for building a “fragmented portfolio of ERP systems that have developed along independent paths. ... The Army cannot trace its business processes from factory to foxhole” without incurring additional “huge integration and operational costs.”

The report recommended that the Army halt work and consolidate the three systems. Doing so, it said, would save between 25% and 50% of the estimated $4.7 billion construction and operating costs of the three separate systems.

Backers of each project objected, according to people involved, and the report’s recommendations were ignored.

TOP GUNS: Defense Department Comptroller Robert Hale (right), here testifying with then-Defense Secretary Robert Gates before the House Appropriations Defense Subcommittee in 2011, is the Pentagon’s chief financial officer, responsible for efforts to modernize the department’s dysfunctional accounting systems. REUTERS/Kevin Lamarque

Kristyn Jones, deputy assistant secretary of the Army for financial information management, said that if the Army were to start over, “we probably would have chosen a different path.” She said one of the biggest challenges was getting workers to adapt to it. She and others involved in building GFEBS said many of the thousands of Army workers who would use the new system referred to their required training sessions as entering “the valley of despair.”

Gary Winkler, the Army program executive who oversaw acquisition of computer systems for the Army from 2007 through 2011, said developing the three projects separately, without coordination, hurt all of them. They “all go through these stovepipe approval processes without considering what is going on to the left or the right or behind,” he said.

As a result, the systems had to be linked through a costly network of pipelines - 282 such pipelines among the new and legacy systems, according to the Government Accountability Office, the investigative arm of Congress. “If you draw all of the connections, it looks like a bowl of spaghetti,” Winkler said. The systems must be continually tweaked because when one element requires a software update, for example, all the pipelines and other linked systems have to be updated, too.

When the Logistics Modernization Program, intended to streamline supply lines and better manage inventory, was eventually fielded in 2010, it was deficient in so many ways that the Army had to add an “Increment 2,” which won’t be ready until September 2016. This has increased the projected cost of building and operating the LMP to $4 billion from $2.6 billion, according to Army figures.

“The current system does not support certain critical requirements, including enabling the Army to generate auditable financial statements by fiscal year 2017,” the GAO said in a November 2013 report.

The second Army project, GCSS-A, had an original completion date of late 2015; late 2017 is now the target, for an estimated total building and operating cost of $4.2 billion, compared with the originally projected $3.9 billion.

Lastly, GFEBS, after an investment of more than $760 million, was fully fielded around the world in 2012, one year behind schedule. The Army touts it as a success, saying on its website: “The system is transforming the way the Army does business by enhancing the information available for leaders and managers across the Army.”

But this success is limited. GFEBS can’t track basic transactions - for example, payment of an electricity bill for an Army installation. To do that, it relies on legacy systems it was meant to replace. And because some legacy systems are unable to communicate with GFEBS, operators of those systems have had to revert to manually preparing spreadsheets to pass on data from thousands of Army posts.

NOT EXACTLY SEXY

Bookkeeping has never been a priority for the military. “They don’t train contracting officers or disbursement officials at West Point,” said a former senior Pentagon official who was involved in modernization efforts.

For years, winning the Cold War was the primary directive, with little consideration for cost. More recently, wars in Iraq and Afghanistan overshadowed concerns about rising defense spending, bad bookkeeping and attendant waste.

John Hamre became Defense Department comptroller in 1993, three years after Congress passed the law requiring that the Pentagon be audit-ready by 1996. He didn’t think upgrading accounting systems was vital to the Pentagon’s ability to fulfill its mission. “Would I like a better accounting system? Absolutely,” said Hamre, who left his post in 1997 and now is chairman of the Pentagon’s Defense Policy Board and chief executive of the Center for Strategic and International Studies, a bipartisan, nonprofit think tank in Washington, D.C. But, he said, “we’re getting military missions done every day. We just don’t use accounting for that.”

Many of the people interviewed for this series involved at all levels of the Pentagon’s accounting modernization program said that until recently, lack of interest or attention from the very top - from secretaries of defense and the civilian secretaries of the individual military services - has meant that no one steps in to impose order and consistency.

“You cannot just throw money at an ERP system and expect it to work unless somebody at the top says ‘You’re going to work together, and you’re going to get it done,’ ” said Norton, the former Computer Sciences Corp employee.

WORDS AND ACTIONS: U.S. Secretary of Defense Chuck Hagel has publicly stressed the importance of making the Pentagon audit-ready, even though the Pentagon isn’t likely to meet its 2017 deadline. REUTERS/Yuri Gripas

President Barack Obama’s three defense secretaries to date - Robert Gates, Leon Panetta and, now, Chuck Hagel - have spoken out strongly both publicly and inside the Defense Department about the importance of meeting audit-readiness deadlines. Panetta in 2011 set an even tighter deadline, ordering that a major portion of the department’s books be audit-ready by 2014. Officials have since acknowledged that the deadline won’t be met, and that the department plans to conduct an audit more limited in scope than what Panetta ordered.

The secretary of defense is empowered by law to order the military services to clean up their bookkeeping, adhere to Defense Department accounting rules and hew to common standards for building new accounting systems. But he doesn’t control the purse-strings - Congress does - so he “can’t say to the military services, ‘You can’t have the money’ ” if you don’t make this work, said Richard Loeb, a former Office of Management and Budget official and now an adjunct professor of government contracting and fiscal law at the University of Baltimore law school.

Congress has enabled the Pentagon’s institutional bias against change. “I think we do, all of us, bear some share of responsibility - myself included,” said Representative Robert E. Andrews, a Democrat from New Jersey on the House Armed Services Committee. “If I were to go home and start explaining that I was proposing a bill related to getting the Defense Department accounting systems to work right and the importance of accounting, they’d be asleep about half way through the first sentence.”

NUTS AND BOLTS

The Defense Logistics Agency, which buys, stores and distributes supplies for the U.S. military, has built a $2 billion-plus accounting system to make itself audit-ready.

It’s a failure.

In a March 2013 report, the Defense Department inspector general said the so-called Enterprise Business System was so compromised by fundamental errors in its construction that its data couldn’t be used to produce the standard financial statements required for an audit. Fixing the system to meet the Pentagon’s basic accounting requirements “would be cost prohibitive,” the report said. The DLA is using it anyway.

Fixing logistics is important - both to save money and to ensure that supplies are on hand when needed. The private sector realized that a long time ago. In recent decades, companies like Wal-Mart Stores Inc and Best Buy Co have raised supply-chain management to a precision science that saves huge sums.

By contrast, the Pentagon’s fragmented logistics systems “have contributed to longer lead times, excess inventory and stockpiling, duplicative activities and systems, inadequate performance measurements, and increased costs,” according to a 2011 report by the Defense Business Board, a group of business leaders that advises the secretary of defense’s office.

The board found that the department uses more than 1,000 separate logistics systems, and that in 2010, logistics cost $210 billion, or about 30% of that year’s defense budget.

Department-wide, duties are shared between the DLA, handling ordering and storage of supplies, and the U.S. Transportation Command, or Transcom, which handles delivery. Each has its own administration and computer systems, and each of the military services operates its own depot maintenance, supply, delivery and logistics accounting systems.

The Defense Business Board recommended combining all of the various logistics systems to “achieve significant budget savings, allowing the Department to preserve funds for force structure and the modernization of military capabilities.”

No action was taken on the board’s recommendations. “I have nothing for you on this,” William Urban, a spokesman for the secretary of defense’s office, said in an email response to questions about why the recommendations were not adopted.

BENEFICIAL IGNORANCE

Defense Secretary Hagel and other top Defense Department officials have argued that the impact of the budget sequester - automatic across-the-board spending cuts written into the 2011 congressional budget agreement - would be disastrous for the nation’s defense capabilities if allowed to continue. Congress heard: The latest budget deal would restore a big chunk of the cuts that would have occurred in 2014 and 2015.

But lack of reliable numbers on how the Pentagon spends the money it receives undercuts arguments for protecting higher spending levels. “You have the (military) service chiefs pissing and moaning on the Hill because they have to take the sequester,” said Franklin Spinney, a former senior analyst in the Pentagon who has written extensively on Pentagon weapons acquisition and spending priorities. But “they don’t have a clue what that’s going to cost.”

BLACK BOX: Former Pentagon analyst Franklin Spinney says the Defense Department’s inability to determine how it spends its money undercuts its arguments against budget cuts. REUTERS/Gary Cameron

There is no doubt that bad bookkeeping conceals movements of money that in some instances are illegal. The Antideficiency Act of 1884 forbids anyone to commit U.S. funds to purposes not explicitly approved by Congress - a way to prevent federal officials from writing government checks for anything they want. The law includes civil penalties - officials responsible for violations can be demoted or dismissed - and also provides for criminal prosecution.

But because the Pentagon has never been audited, it is impossible to determine the frequency or extent of violations. In its annual Antideficiency Act Report for 2012, the GAO reported that the U.S. Special Operations Command illegally diverted more than $136 million over six years to pay for a helicopter development project. The Special Operations Command concluded that there had been “no willful or knowing intent on the part of the responsible parties” to break the law, though it issued a “letter of admonishment” to a senior civilian employee.

THE RIGHT WAY

The Pentagon isn’t incapable of fixing its broken business operations. For decades, the Mechanization of Contract Administration Services, or MOCAS (pronounced “moh-KAZZ”), which handles payment of nearly all of the Defense Department’s most complicated contracts, caused some of the department’s biggest headaches.

It made erroneous payments and spewed out inaccurate data. Much of this was because contract data, long strings of alphanumeric code, had to be entered by hand. Typos were rife. As much as 30 percent of the transactions it processed had to be redone, often by hand. The Defense Finance and Accounting Service, which operates MOCAS, said the system currently handles $3.4 trillion in active contracts.

In 1994, the Pentagon launched the Standard Procurement System to rationalize procurement by replacing MOCAS and at least 10 other contract payment systems. By 2002, the new system was years behind schedule, and the estimated cost of building and operating it had risen to $3.7 billion from $3 billion. When tested, it crashed. The Pentagon killed it.

Faced with having to rely on MOCAS indefinitely, the Defense Finance and Accounting Service decided to tweak it. Funding for an upgrade was limited, so DFAS relied heavily on its own workers, who knew MOCAS inside and out. It also hired as consultants retirees who had spent much of their careers working with the system.

MOCAS runs on COBOL, one of the earliest computer languages, and it lacks many of the options and preferences that make modern applications like Microsoft Word so easy to use. The MOCAS update team built an add-on to make MOCAS more user-friendly. It acquired another add-on that allowed electronic invoices and other data from contractors to flow directly into MOCAS. By eliminating paper invoices, they reduced the error rate to a tiny percentage.

The fixes worked so well that in 2008, the Defense Contract Management Agency, one of MOCAS’s main users, posted a “Happy 50th Birthday” wish to it on the agency’s website.

According to users, the 55-year-old system now handles tasks with lightning speed and an extremely low error rate.

But that success is hollow. The Pentagon remains saddled with other contract-payment systems. And MOCAS is not an accounting system; it must transmit data back to scores of accounting systems across the department for each transaction to be entered in ledgers. Many of the accounting systems are old and require manual data entry, so entry of transactions may lag behind MOCAS by a month.

Piecemeal fixes that don’t address overarching dysfunction reduce even further the chances the Pentagon will be audit-ready by 2017. Worse, said Charlie Murphy, a longtime member of Senator Grassley’s staff, the Defense Department will have added billions of dollars in new technology that failed to deliver. “Supposedly,” Murphy said, “there’s a maestro that’s going to make them all play like a symphony.”

(Edited by John Blanton)


Counting Stars on GitHub - adereth

$
0
0

Comments:"Counting Stars on GitHub - adereth"

URL:http://adereth.github.io/blog/2013/12/23/counting-stars-on-github/


I’ve been working on a nerd ethnography project with the GitHub API. There’s so much fun data to play with there that it’s inevitable that I’ll get a little distracted…

One distraction was the realization that I could use the search API to get a massive list of the top repos ordered by star count. Once I started looking at the results, I realized that star data is an interesting alternative metric for evaluating language popularity. Instead of looking at which languages people are actually writing new projects using, we can see which languages are used for the most popular projects.

What are stars?

In August 2012, GitHub announced a new version of their notification system that allowed users to easily mark a repository as interesting by “starring” it:

Stars are essentially lightweight bookmarks that are publicly visible. Even though they were introduced just over a year ago, all “watches” were converted to stars so there’s plenty of data.

Which are the most starred repos?

Let’s start by looking at the top 20:


If you want to play with the data yourself, I’ve put a cache of the top 5000 repositories here. I’ve also posted the Clojure code I wrote to collect the data at adereth/counting-stars.

Which languages have the top spots?

In Adam Bard’s Top Github Languages for 2013 (so far), he counted repo creation and found that JavaScript and Ruby were pretty close. The top star counts tell a very different story, with JavaScript dominating 7 of the top 10 spots. CSS was in 11th place in his analysis, but it’s 2 of the top 10 spots.

Observing that 7 of the top 10 spots are JavaScript gives a sense for both the volume and the relative ranking of JavaScript in that range of the leaderboard, but just seeing that another language is 50 of the top 5000 spots doesn’t give nearly as much color.

One approach is to look at the number of repos in different ranges for each language:


The table is interesting, but it still doesn’t give us a good sense for how the middle languages (C#, Scala, Clojure, Go) compare. It also reveals that there are different star distributions within the languages. For instance, CSS makes a showing in the top 10 but it has way fewer representatives (174) in the top 5000 than PHP (248), Objective C (495), or Java (255).

Looking at the top repo for each language also exposes a weakness in the methodology: GitHub’s language identification isn’t perfect and there are number of polyglot projects. The top Java repo is Storm, which uses enough Clojure (20.1% by GitHub’s measure) to make this identification questionable when you take into account Clojure’s conciseness over Java’s.

What about star counts?

Looking at the results after ranking obscures the actual distribution of stars. Using a squarified treemap with star count for the size and no hierarchy is a compact way of visualizing the ranking while exposing details about the absolute popularity of each repo. The squarified treemap algorithm roughly maintains the order going from one corner to the other.

Here are the top 1000 repos, using stars for the size and language for the color:

(Language and repository name shown on mouseover, click to visit repository. A bit of a fail on touch devices right now.)

Despite being a little chaotic, we can start to see some of the details of the distributions. It still suffers from being difficult to glean information about the middling languages. The comparisons become a little easier if we group the boxes by language. That’s pretty easy, since that’s really the intended usage of treemaps.

Here are the top 5000 grouped by language:

Honestly, I’m not really in love with this visualization, but it was a fun experiment. I have some ideas for more effective representations, but I need to work on my d3.js-fu. Hopefully it serves as an inspirational starting point for someone else…

Conclusion

Firstly, GitHub’s API is really cool and can give you some insights that aren’t exposed through their UI. Like I said at the start of this post, I have another project that caused me to look at this API in the first place and I’m really excited for the possibilities with this data.

GitHub’s current UI is really focused on using stars to expose what’s trending and doesn’t really make it easy to see the all-time greatest hits. Perhaps the expectation is that everyone already knows these repos, but I certainly didn’t and I’ve discovered or rediscovered a few gems. My previous post came about because of my discovery of Font Awesome through this investigation.

I’ll close out with a couple questions (with no question marks) for the audience:

Through this lens, JavaScript is way more popular than other metrics seem to indicate. One hypothesis is that we all end up exposing things through the browser, so you end up doing something in JavaScript no matter what your language of choice is. I’m interested in other ideas and would also appreciate thoughts on how to validate them. It’s not obvious to me how to best aggregate ranking data. I’d love to see someone else take this data and expose something more interesting. Even if you’re not going to do anything with the data, any ideas are appreciated.

Article 11

The Blog of Mark Shields.: Blocked

$
0
0

Comments:"The Blog of Mark Shields.: Blocked"

URL:http://www.sheeldz.co.uk/2013/12/blocked.html


In January (or this week if you're on BT) the widely derided "porn block" that the government are shilling will come into force. If you don't know, it's basically a opt-out system of blocking of pornography at an ISP level enacted by the government that the main ISPs have all signed up for.

What this means is that you're going to get it no matter if you want it or not. And if you want to be able to access porn you'll have to sign up for it - opt out of the block. And, at a principle level this is fair enough right? Block access to material not suitable for under 18s at the source, makes sense - I mean we do it for movies, TV, games and print pornography, right?

Well... absolutely not. There are many things wrong with this, and we'll start at the top.

1) This is Censorship
Of course, certain censorship is fine. I don't mind certain art, like films or computer games being censored, and think that it is key to keeping a powerful art community when protecting those from harmful images or powerful material. For example, I am sure no one is against the idea of keeping something like Last Tango in Paris a film that minors can't see.

However, what this block does is stop consenting adults above the age of consent from watching what they want. Pornography is not illegal (certain types are, of course) and watching porn isn't either, but blocking it wholesale and having to opt in to have it unblocked is a strange way of dealing with it. I am old enough to direct, film, write and even star in a pornographic film, but then I go home and I have to tell a company I want to watch it? That's pretty odd.

2) It Removes the Responsibility from the Responsible
This is something I've actually moaned at length about before, but it's something that this is at the core of - children shouldn't be seeing porn online. However, blocking it for everyone is not the solution. The key here is that the parents of those who are under age should not be allowing their children to see those things, and those responsible need to step up.

There are hundreds of tools allowing you to block sites even without antivirus software. If I wanted to I could easily go into my router and block access to sites for anything using my router. I know how to because in the future I will have to. I see kids playing 18+ games at the age of 12 and wonder what is going on - my parents used to pre-screen London's Burning for me when I was aged 8 for goodness sake, and all that was was fire!

By taking the responsibility away from parents you are excusing them from getting educated, and then you're also removing it from those you're are protecting. It's similar to banning sex instead of educating about safe sex, and we all know abstinence doesn't work.

3) Why Porn?
Ok, say you don't mind the idea of the government blocking porn, why stop there? Or why just porn? Why not other things that actually do harm to the country, like smoking? Or Drinking? Or... driving? People die when they drive badly.

This is the weakest point, but it's one to consider - why porn? Well, because it carries a stigma - an easy target. And I have watched porn many times in my life and I don't care who knows it. It's a normal thing to do as an adult (see Nuts, Zoo, or Playboy's sales figures). It's just a tiny bit taboo amongst a certain group of people that the government are pandering to.

4) Do You Want to Be On That List?
I am going to opt out of the system because... well, for these reasons. And for number 5 below too. But that surely means that I am suddenly on a list somewhere. I mean, Virgin Media (an amusingly apt name) will have to track everyone who says to opt out, and then my name is on a list of people who "want to watch porn".

As we know, lists don't stay hidden. I would imagine people don't want to be on a list that is possibly accessible by anyone (Virgin Media or not) that says they're into porn, right? I can imagine politicians, media personalities, church goers etc don't want to be on the list, and thusly are blocked because of fear. That's an insane jump for our government.

I already know that Virgin have a list of where I go. That's fine, I have reconciled with that. As long as I don't do anything illegal... why should I have to ask again?

5) It's Using Bad Tech
Imagine it could work, that you could block porn. That'd be great! Then it might work perfectly. But here's the thing.

It won't.

Why do I know this? Well my phone has a block on "18+" sites when on 3G that I've never bothered to unlock (see number 7) and it blocks nonsense. Stuff that isn't even 18+ by their own definition. This is because automatic filters don't work. No technology will be perfect. In fact, by the definition of the system that the government are rolling out sites about sexuality and sex education will be blocked - blocking information for the most vulnerable of our children and teenagers (and adults, why not), who need access to this information, is borderline insane.

So yeah, the tech won't work. It can't. Because...

6) What is Porn Anyway?
What is porn? Tits? A flash of cock? An ejaculation? Well, if I can't decide (and society can't) then how is an automatic filter supposed to? I see sites like Wikipedia with their informative descriptions and pictures being blocked because of language and photos of naked bodies. Nudity is not porn. In fact, that'd mean many publications that the Conservatives endorse would be in deep shit, like The Sun. So here's the big problem - porn isn't a thing.

It's not a thing you can block because it doesn't exist as a steady thing - you could block the word "five" easily enough, because any time it comes up you can block it. Porn is a spectrum, and especially in the form that the filter will take, from nude art to illegal rape-porn.

Where is the line drawn then? Well, that's the thing - if I am in charge of my internet when I have kids I'd block it to a point. I'd block what I want to block. But it'd be me, working at it. I can't just block everything that might be porn, so why should the government?

7) I Can't Be Bothered to Change It
See number 5 - I've had a porn block on my phone since I got it in 2007. It works over 3G only, of course, but it requires a credit card to authorise, me spending £1 and them crediting it back to my account. I have never done this because it's an arse ache! Loads more won't bother to do it for their service either.

8) Who Cares Anyway?
And finally, who cares in the end, right? It's just porn! But that's the problem - here you are blocking a type of expression. No, come back, let me explain! Porn in certain circumstances (some would argue in all circumstances) is a form of art - admittedly, low art (in my opinion), but some films have money and time spent on them. And... are not real. Fictional events. So there's an odd leap for the government - suddenly you're blocking fiction. That's a very hair-raising idea, the concept of blocking something that doesn't even exist and isn't true.

The fact that there is a filter at all should alarm some people - imagine it was suddenly blocking certain websites for political reasons? The Internet is the great democratic enabler and has the power to change everything in the world for the better or worse. But if you don't allow the bad stuff, the good stuff won't be able to grow either, because what is "good" and "evil" when nothing you're blocking is necessarily illegal?

The whole thing is a farce. It's petty, bullshit, disgusting and pandering. It's a government playing directly to those who don't understand, don't grasp the enormity, and don't appreciate the implications. The same folk who complain about "nanny-state" and "political correctness" as things (which they are both not) are being played by the government as idiots and they are lapping it up. It enrages me that trans or gay children might not get to read about their options because some old twat without any understanding of how information frees people has decided that you can't see some tits on the internet.

And the worst part? I have no representation in government against it. All the parties support it. This is why politics in the UK is so terribly terribly rubbish.

A petition, if you think that'll do anything, is found here.

Understanding how killall works using strace - Julia Evans

$
0
0

Comments:"Understanding how killall works using strace - Julia Evans"

URL:http://jvns.ca/blog/2013/12/22/fun-with-strace/


Right now I’m on a million-hour train ride from New York to Montreal. So I’m looking at the output of strace because, uh, strace is cool, and it is teaching me some things about how the command line tools I use all the time work.

What strace does is capture every single system call that gets called when executing a program. System calls are the interface between userspace programs and the kernel, so looking at the output from strace is a fun way to understand how Linux works, and what’s really involved in running a program.

For example! killall! I ran

strace killall ruby1.9.1 2> killall-log.

This starts with

1 execve("/usr/bin/killall", ["killall", "ruby1.9.1"], [/* 48 vars */]) = 0

Every time you run a program, execve gets called to start, soexecve will always be the first line.

Then this happens A WHOLE BUNCH OF TIMES:

1 2 3 4 5 6 open("/proc/4526/stat", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7febbb269000 read(3, "4526 (chrome) S 4521 2607 2607 0"..., 1024) = 374 close(3) = 0 munmap(0x7febbb269000, 4096) = 0

with different PIDs.

What’s going on here is that it goes through every PID. To find the PIDs, it opens the /proc directory. There’s a directory in /proc for each PID.

1 2 3 4 5 6 bork@kiwi ~/w/homepage> ls /proc 1 1495 2408 2780 3278 8065 fb 10006 1498 2409 2782 3281 8066 filesystems 10152 1500 2410 2795 3283 8068 fs 10158 1504 2411 28 3317 8069 interrupts 1021 1513 2412 2802 35 8070 iomem

The system call that does this is:

openat(AT_FDCWD, "/proc", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3

Once it’s done that, then it iterates through all the PIDs, opens /proc/$PID/stat, and checks to see if the process has the right name. The kernel isn’t involved in seeing whether or not the process has the right name, so we don’t see that in the strace output.

Once it finds a PID that it wants to kill, it runs something like

to kill it. SIGTERM isn’t a very serious killing-y signal – it’s signal 15, and processes can ignore it or save their state before they stop. If you run killall -9, it will sent SIGKILL to all the matching processes and it will kill them dead.

This is really neat! I never thought of killall as having to do an exhaustive search through all PIDs before, but it makes sense.

After all of that, if there was something to kill, the only thing left is exit_group(0). man 2 exit_group tells me that this exits all threads in a process, and that this system call is called at the end .of every process

If we run killall blah, and there was no "blah" process to kill, instead we see:

1 2 write(2, "blah: no process found\n", 23blah: no process found) = 23 exit_group(0)

because it needs to write “no process found” to stderr.

Edit:

I have learned a couple of new things, from people’s responses to this post!

If you want to see the library calls instead of the system calls, and want to see where it does the string comparisons, you can useltrace!

For killall, finding python3 and killing it looks like:

1 2 3 4 5 6 7 __asprintf_chk(0x7fff195b6988, 1, 0x403fd9, 15499, 0x7f31d919e700) = 16 fopen("/proc/15499/stat", "r") = 0x208f8f0 free(0x0208f8d0) = <void> fscanf(0x208f8f0, 0x403fe7, 0x7fff195b71b0, 0x7f31d8fa5728, 0) = 1 fclose(0x208f8f0) = 0 strcmp("python3", "python3") = 0 kill(15499, 15) = 0

And you can attach strace or ptrace to an already-running process to see what it’s up to. @zbrdge said that he sometimes uses it to see which files Apache is accessing during a HTTP request.

Day 23 – Unary Sort | Perl 6 Advent Calendar

$
0
0

Comments:"Day 23 – Unary Sort | Perl 6 Advent Calendar"

URL:http://perl6advent.wordpress.com/2013/12/23/day-23-unary-sort/


Most languages or libraries that provide a generic sort routine allow you to specify a comparator, that is a callback that tells the sort routine how two given elements compare. Perl is no exception.

For example in Perl 5, which defaults to lexicographic ordering, you can request numeric sorting like this:

 use v5;
 my @sorted = sort { $a <=> $b } @values;

Perl 6 offers a similar option:

 use v6;
 my @sorted = sort { $^a <=> $^b }, @values;

The main difference is that the arguments are not passed through the global variables $a and $b, but rather as arguments to the comparator. The comparator can be anything callable, that is a named or anonymous sub or a block. The { $^a <=> $^b} syntax is not special to sort, I have just used placeholder variables to show the similarity with Perl 5. Other ways to write the same thing are:

 my @sorted = sort -> $a, $b { $a <=> $b }, @values;
 my @sorted = sort * <=> *, @values;
 my @sorted = sort &infix:«<=>», @values;

The first one is just another syntax for writing blocks, * <=> * use * to automatically curry an argument, and the final one directly refers to the routine that implements the <=> "space ship" operator (which does numeric comparison).

But Perl strives not only to make hard things possible, but also to make simple things easy. Which is why Perl 6 offers more convenience. Looking at sorting code, one can often find that the comparator duplicates code. Here are two common examples:

 # sort words by a sort order defined in a hash:
 my %rank = a => 5, b => 2, c => 10, d => 3;
 say sort { %rank{$^a} <=> %rank{$^b} }, 'a'..'d';
 # ^^^^^^^^^^ ^^^^^^^^^^ code duplication
 # sort case-insensitively
 say sort { $^a.lc cmp $^b.lc }, @words;
 # ^^^^^^ ^^^^^^ code duplication

Since we love convenience and hate code duplication, Perl 6 offers a shorter solution:

 # sort words by a sort order defined in a hash:
 say sort { %rank{$_} }, 'a'..'d';
 # sort case-insensitively
 say sort { .lc }, @words;

sort is smart enough to recognize that the code object code now only takes a single argument, and now uses it to map each element of the input list to new values, which it then sorts with normal cmp sort semantics. But it returns the original list in the new order, not the transformed elements. This is similar to the Schwartzian Transform, but very convenient since it's built in.

So the code block now acts as a transformer, not a comparator.

Note that in Perl 6, cmp is smart enough to compare strings with string semantics and numbers with number semantics, so producing numbers in the transformation code generally does what you want. This implies that if you want to sort numerically, you can do that by forcing the elements into numeric context:

 my @sorted-numerically = sort +*, @list;

And if you want to sort in reverse numeric order, simply use -* instead.

The unary sort is very convenient, so you might wonder why the Perl 5 folks haven't adopted it yet. The answer is that since the sort routine needs to find out whether the callback takes one or two arguments, it relies on subroutine (or block) signatures, something not (yet?) present in Perl 5. Moreover the "smart" cmp operator, which compares number numerically and strings lexicographically, requires a type system which Perl 5 doesn't have.

I strongly encourage you to try it out. But be warned: Once you get used to it, you'll miss it whenever you work in a language or with a library that lacks this feature.

Like this:

LikeLoading...

This entry was posted on December 23, 2013 at 12:00 am and is filed under 2013. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Bye ClanBase

$
0
0

Comments:"Bye ClanBase"

URL:http://clanbase.org


Dear everyone,

ClanBase is no more, we are sorry.

For those unfamiliar with the name: ClanBase once was a cool site to visit if you were an online gamer. With cups and ladders hosted for games such as the Quake, Unreal Tournament, Counter-Strike and Call of Duty series, a teenager really had quite some options for multiplayer entertainment. Heck, we even had LAN finals for our renowned EuroCups.

Those days are far behind us and as it stands today, the company that owns the ClanBase site - GGL - is unable to cover the costs required to run the website. Moreover, lately the owners of the site do not wish to cooperate with the voluntary crew, keeping everybody in the dark and thus showing complete disrespect to people who spend many hours a day trying to make our tournaments a success.

The website has now been offline for more than three weeks due to an unpaid bill. No action is being taken by the owner to get the website back online. Having no vision for the future, we - the ClanBase Crew - have lost our last hopes about ClanBase ever coming back online, and unfortunately we announce the end of a great era.

A US-based company called Global Gaming League (Professional Interactive Entertainment, Inc.) noticed the success of the site and bought it from the original owners in December of 2004. They had financial backing for server hosting and our tournaments. Things were going well until in 2007 CB suffered its first heart attack when GGL couldn’t deliver the prize money they put up for the EuroCup. This can be marked as the start of our downfall.

The CB Crew has always been made up of volunteers with the majority being just teenagers. There was no possibility for us to come up with the money on our own that was promised, yet we were always the ones getting blamed. After all, it was our cup season and our name. It is no surprise that after this blow there was no way for us to host another season with the promise of any kind of prize until the debt was settled with the previous winners.

To this day, GGL owes around €24,000 in prize money which will never be settled. The other sites who were in the same gaming business of course had no problems hosting their tournaments however they wanted. ClanBase, however, lost a great deal of its reputation along with some top teams who never got their winnings.

As time went by the site also started to decay. After the takeover we had paid developers who tried to put the code in shape. There were some noteworthy developments such as the seasonal and invitational ladders, but after the first test run we couldn’t get the necessary changes implemented - because GGL stopped paying the developers.

Money. The source of all evil.

GGL started moving the servers between hosts (RackSpace, Amazon, GreenQloud) to save costs, and to avoid further missed payments. This appeared in the news a few times when providers came out with how they were lied to. We also lost the ability to upload files anything other than demos. Fortunately, a Crew member had the means to help out.

Funding continued to dry up. After the first wave of cuts where we lost the two developers and a head admin, things cooled down for a while. Recently, a general system administrator was cut off which got interesting at one point when CB suffered a denial of service attack to which the host (GreenQloud) responded with moving the servers to a different IP address. However, the domain name had to be updated as well to point to the new address. Since our sysadmin was not getting paid, he refused to perform this, essentially holding the site hostage for a while.

So how do we get money? The site had ads for a while which obviously was not enough. We may have been naive thinking that upping the quality of the site would be a good move, which was promised more times we bother to count. GGL thought otherwise. In fact, many of the cool features our gamers would have loved to see on the website were never implemented - because “CBv2” was supposedly just around the corner.

Their first bold move was trying to get adult banners on CB - a website that was home for thousands of teenagers. The Crew was shocked and appalled by this. Fortunately, we managed to get our voice through (by threatening to go on strike) - but we also lost several valuable crew members who had enough of the poor conditions and bad decisionmaking.

Next to adult material, gambling can also be a good source of income. The Poker and Betting ladders were introduced. It is doubtful that much money was ever made of this, at least nobody said otherwise. The only thing certain is that these projects never got off the ground.

A poor attempt was also made to gather money in the form of offering VIP membership. Nobody took this very seriously and as expected, nobody bothered to opt in after a while. The only benefit to having VIP was the ability to get rid of some of the ads. Perhaps a regular donation system would’ve been more useful.

By the end of August 2013, yet another problem surfaced: the money ran out for the hosting. This is when CB started to go down every month when the time came to pay for the next 30 days.

Of course we tried contacting GGL through our manager who was in charge of handling communications. As you may have guessed by now, he also failed to receive his payment for a while and a company owing money to you, and who knows how many others, is not in a hurry to get back to you.

The ClanBase management tried to directly contact the GGL founder and president Ted Owen (since everyone else left), with very little success. Whenever we got a response it usually consisted of no more than a few words.

The last we heard from him, he stated that “GGL will move on without ClanBase, and besides, why did the Crew never put any money in it?

Mr. Owen, the Crew put time in it. A lot of time... for free. Every day. And to clarify, nobody has ever reached out to us to ask for any kind of financial aid. Not that we would’ve ever agreed to anything if the money had to go through GGL as that would’ve resulted in the money never reaching its intended destination.

Ultimately, we understand that our users would have expected us to come out with the truth sooner. It has taken us three weeks to make a public statement - but the only reason it took so long is that we were trying to not lose the hope and to reach out to mr. Owen. Unfortunately, our last request (or offer) to him - to release the ClanBase site to the crew for us to be able to continue running it on our own, without the GGL - was not welcomed.

It is thus our sad duty to inform you that ClanBase is gone. We would like to sincerely thank over a thousand admins working on the website over the past 15 years of ClanBase’s existence. And an even bigger thanks goes out to all the players who supported us over the years and who did not lose faith no matter what.

This writing has not come easily because ClanBase has been a big part of our lives, and we definitely did not want to see it end like this.

Thank you,
ClanBase

Outrageous HSBC Settlement Proves the Drug War is a Joke | | Rolling Stone

$
0
0

Comments:"Outrageous HSBC Settlement Proves the Drug War is a Joke | | Rolling Stone"

URL:http://www.rollingstone.com/politics/blogs/taibblog/outrageous-hsbc-settlement-proves-the-drug-war-is-a-joke-20121213


Assistant US Attorney General Lanny Breuer

Ramin Talaie/Getty Images

If you've ever been arrested on a drug charge, if you've ever spent even a day in jail for having a stem of marijuana in your pocket or "drug paraphernalia" in your gym bag, Assistant Attorney General and longtime Bill Clinton pal Lanny Breuer has a message for you: Bite me.

Breuer this week signed off on a settlement deal with the British banking giant HSBC that is the ultimate insult to every ordinary person who's ever had his life altered by a narcotics charge. Despite the fact that HSBC admitted to laundering billions of dollars for Colombian and Mexican drug cartels (among others) and violating a host of important banking laws (from the Bank Secrecy Act to the Trading With the Enemy Act), Breuer and his Justice Department elected not to pursue criminal prosecutions of the bank, opting instead for a "record" financial settlement of $1.9 billion, which as one analyst noted is about five weeks of income for the bank.

The banks' laundering transactions were so brazen that the NSA probably could have spotted them from space. Breuer admitted that drug dealers would sometimes come to HSBC's Mexican branches and "deposit hundreds of thousands of dollars in cash, in a single day, into a single account, using boxes designed to fit the precise dimensions of the teller windows."

This bears repeating: in order to more efficiently move as much illegal money as possible into the "legitimate" banking institution HSBC, drug dealers specifically designed boxes to fit through the bank's teller windows. Tony Montana's henchmen marching dufflebags of cash into the fictional "American City Bank" in Miami was actually more subtle than what the cartels were doing when they washed their cash through one of Britain's most storied financial institutions.

Though this was not stated explicitly, the government's rationale in not pursuing criminal prosecutions against the bank was apparently rooted in concerns that putting executives from a "systemically important institution" in jail for drug laundering would threaten the stability of the financial system. The New York Times put it this way:

Federal and state authorities have chosen not to indict HSBC, the London-based bank, on charges of vast and prolonged money laundering, for fear that criminal prosecution would topple the bank and, in the process, endanger the financial system.

It doesn't take a genius to see that the reasoning here is beyond flawed. When you decide not to prosecute bankers for billion-dollar crimes connected to drug-dealing and terrorism (some of HSBC's Saudi and Bangladeshi clients had terrorist ties, according to a Senate investigation), it doesn't protect the banking system, it does exactly the opposite. It terrifies investors and depositors everywhere, leaving them with the clear impression that even the most "reputable" banks may in fact be captured institutions whose senior executives are in the employ of (this can't be repeated often enough) murderersand terrorists. Even more shocking, the Justice Department's response to learning about all of this was to do exactly the same thing that the HSBC executives did in the first place to get themselves in trouble – they took money to look the other way.

And not only did they sell out to drug dealers, they sold out cheap. You'll hear bragging this week by the Obama administration that they wrested a record penalty from HSBC, but it's a joke. Some of the penalties involved will literally make you laugh out loud. This is from Breuer's announcement:

As a result of the government's investigation, HSBC has . . . "clawed back" deferred compensation bonuses given to some of its most senior U.S. anti-money laundering and compliance officers, and agreed to partially defer bonus compensation for its most senior officials during the five-year period of the deferred prosecution agreement.

Wow. So the executives who spent a decade laundering billions of dollars will have to partially defer their bonuses during the five-year deferred prosecution agreement? Are you fucking kidding me? That's the punishment? The government's negotiators couldn't hold firm on forcing HSBC officials to completely wait to receive their ill-gotten bonuses? They had to settle on making them "partially" wait? Every honest prosecutor in America has to be puking his guts out at such bargaining tactics. What was the Justice Department's opening offer – asking executives to restrict their Caribbean vacation time to nine weeks a year?

So you might ask, what's the appropriate financial penalty for a bank in HSBC's position? Exactly how much money should one extract from a firm that has been shamelessly profiting from business with criminals for years and years? Remember, we're talking about a company that has admitted to a smorgasbord of serious banking crimes. If you're the prosecutor, you've got this bank by the balls. So how much money should you take?

How about all of it?How about every last dollar the bank has made since it started its illegal activity? How about you dive into every bank account of every single executive involved in this mess and take every last bonus dollar they've ever earned? Then take their houses, their cars, the paintings they bought at Sotheby's auctions, the clothes in their closets, the loose change in the jars on their kitchen counters, every last freaking thing. Take it all and don't think twice. And then throw them in jail.

Sound harsh? It does, doesn't it? The only problem is, that's exactly what the government does just about every day to ordinary people involved in ordinary drug cases.

It'd be interesting, for instance, to ask the residents of Tenaha, Texas what they think about the HSBC settlement. That's the town where local police routinely pulled over (mostly black) motorists and, whenever they found cash, offered motorists a choice: They could either allow police to seize the money, or face drug and money laundering charges.

Or we could ask Anthony Smelley, the Indiana resident who won $50,000 in a car accident settlement and was carrying about $17K of that in cash in his car when he got pulled over. Cops searched his car and had drug dogs sniff around: The dogs alerted twice. No drugs were found, but police took the money anyway. Even after Smelley produced documentation proving where he got the money from, Putnam County officials tried to keep the money on the grounds that he could have used the cash to buy drugs in the future.

Seriously, that happened. It happens all the time, and even Lanny Breuer's own Justice Deparment gets into the act. In 2010 alone, U.S. Attorneys' offices deposited nearly $1.8 billion into government accounts as a result of forfeiture cases, most of them drug cases. You can see the Justice Department's own statistics right here:

Justice Department

If you get pulled over in America with cash and the government even thinks it's drug money, that cash is going to be buying your local sheriff or police chief a new Ford Expedition tomorrow afternoon.

And that's just the icing on the cake. The real prize you get for interacting with a law enforcement officer, if you happen to be connected in any way with drugs, is a preposterous, outsized criminal penalty. Right here in New York, one out of every seven cases that ends up in court is a marijuana case.

Just the other day, while Breuer was announcing his slap on the wrist for the world's most prolific drug-launderers, I was in arraignment court in Brooklyn watching how they deal with actual people. A public defender explained the absurdity of drug arrests in this city. New York actually has fairly liberal laws about pot – police aren't supposed to bust you if you possess the drug in private. So how do police work around that to make 50,377 pot-related arrests in a single year, just in this city? Tthat was 2010; the 2009 number was 46,492.)

"What they do is, they stop you on the street and tell you to empty your pockets," the public defender explained. "Then the instant a pipe or a seed is out of the pocket – boom, it's 'public use.' And you get arrested."

People spend nights in jail, or worse. In New York, even if they let you off with a misdemeanor and time served, you have to pay $200 and have your DNA extracted – a process that you have to pay for (it costs 50 bucks). But even beyond that, you won't have search very far for stories of draconian, idiotic sentences for nonviolent drug crimes.

Just ask Cameron Douglas, the son of Michael Douglas, who got five years in jail for simple possession. His jailers kept him in solitary for 23 hours a day for 11 months and denied him visits with family and friends. Although your typical non-violent drug inmate isn't the white child of a celebrity, he's usually a minority user who gets far stiffer sentences than rich white kids would for committing the same crimes – we all remember the crack-versus-coke controversy in which federal and state sentencing guidelines left (predominantly minority) crack users serving sentences up to 100 times harsher than those meted out to the predominantly white users of powdered coke.

The institutional bias in the crack sentencing guidelines was a racist outrage, but this HSBC settlement blows even that away. By eschewing criminal prosecutions of major drug launderers on the grounds (the patently absurd grounds, incidentally) that their prosecution might imperil the world financial system, the government has now formalized the double standard.

They're now saying that if you're not an important cog in the global financial system, you can't get away with anything, not even simple possession. You will be jailed and whatever cash they find on you they'll seize on the spot, and convert into new cruisers or toys for your local SWAT team, which will be deployed to kick in the doors of houses where more such inessential economic cogs as you live. If you don't have a systemically important job, in other words, the government's position is that your assets may be used to finance your own political disenfranchisement.

On the other hand, if you are an important person, and you work for a big international bank, you won't be prosecuted even if you launder nine billion dollars. Even if you actively collude with the people at the very top of the international narcotics trade, your punishment will be far smaller than that of the person at the very bottom of the world drug pyramid. You will be treated with more deference and sympathy than a junkie passing out on a subway car in Manhattan (using two seats of a subway car is a common prosecutable offense in this city). An international drug trafficker is a criminal and usually a murderer; the drug addict walking the street is one of his victims. But thanks to Breuer, we're now in the business, officially, of jailing the victims and enabling the criminals.

This is the disgrace to end all disgraces. It doesn't even make any sense. There is no reason why the Justice Department couldn't have snatched up everybody at HSBC involved with the trafficking, prosecuted them criminally, and worked with banking regulators to make sure that the bank survived the transition to new management. As it is, HSBC has had to replace virtually all of its senior management. The guilty parties were apparently not so important to the stability of the world economy that they all had to be left at their desks.

So there is absolutely no reason they couldn't all face criminal penalties. That they are not being prosecuted is cowardice and pure corruption, nothing else. And by approving this settlement, Breuer removed the government's moral authority to prosecute anyone for any other drug offense. Not that most people didn't already know that the drug war is a joke, but this makes it official.


scribd

The Agile Labour Union | West Space Journal

$
0
0

Comments:"The Agile Labour Union | West Space Journal"

URL:http://westspacejournal.org.au/article/summer-2013/the-agile-union/


In 2001, seventeen American, British and Canadian software engineers and IT managers met at a ski resort in Snowbird, Utah, to start a movement to remake the way software is built. Over the previous decade, the attendees had independently created similar processes for organising and managing software engineering projects that broke with tradition and promised to make software development better, cheaper, and more innovative. Their methods were diverse and went by many brand names: Extreme Programming, Crystal Clear, Scrum, Adaptive Software Development, Test Driven Development, and many others. But they also shared many goals and ideals in common.

The outcome of the Snowbird meeting was the coining of a new term that brought all these approaches under the same roof: Agile. They published a manifesto outlining twelve core principles, and founded the Agile Alliance, a non-profit advocacy organisation to promote their new methods to the software engineering community.

Over the last decade, the Agile movement has been extremely successful. Its founders have become influential “thought leaders” who give lectures and keynotes at programming conferences around the world. A large corpus of books have been written about Agile methodologies—many are software engineering best-sellers. And the Agile Alliance is now a global organization, hosting conferences and training sessions and boasting affiliate user groups on six continents, with the support of large corporate sponsors like Lockheed Martin and IBM.

One way to understand what the Agile movement stands for is by understanding what it stands against: the traditional software development methodology known within Agile as Waterfall.

Although not formally defined, the Waterfall methodology is understood in the Agile community as a way of organizing software work into discrete stages that are oriented around producing documents that specify aspects of the system to be built. Derived from manufacturing and construction fields, a typical Waterfall process goes through approximately four stages: gathering requirements from customers; design (which in this case means specifying the general organization of the system’s components); writing code; and finally, verification that the system meets the requirements. Like a river with a tiered series of waterfalls, each stage is completed before the next one begins and it only moves forward, never backwards. After the process is complete, the system is deployed, ready to be used.

For the signatories of the Agile manifesto and a large community of software engineers who adhere to its principles with near-religious devotion, the Waterfall process simply doesn’t work. They reference a large body of academic literature and case studies by private analysts that reveals the astounding failure rates of IT projects initiated inside companies. The Standish Group’s appropriately-named annual CHAOS Report is often cited. In its inaugural edition, the report found that 31% of IT projects are cancelled before they are completed, 53% exceed their initial cost estimates by more than 180%, and only 16% that suceed.

For Agilists, the blame for these failures lies squarely on the shoulders of the Waterfall model, and they offer their family of methodologies as the solution.

One major criticism leveled against the Waterfall model is that it assumes that the system’s requirements can be fully and exhaustively documented up front and that they will be correctly implemented. Although there’s a verification stage, if the new system does not live up to the client’s expectations, the process does not allow for significant changes. The Waterfall process delivers the new system at the end of a long, possibly multi-year process, which increases the risk of failure because the needs of the client sponsoring the work may have changed in the interval.

In contrast, Agile methodologies are incremental, delivering new features continuously throughout the project lifecycle. Work is organized into short cycles (sometimes called ‘sprints’) that may be up to 4 weeks long in which new features are specified, designed, implemented and deployed to users.

Agile stresses continuous iteration and feedback. Rather than documenting the complete system before work as an architect would produce detailed blueprints of every feature of a new house, Agile instead delivers new features to the client at the end of every sprint, allowing for evaluation of the system by the client, and continuous modification of the requirements in response to their ideas, feedback, newly-discovered needs and changing priorities.

Extending the home construction analogy, one can think of Agile as rejecting the model of delivering a completed house to the client. Instead, an homebuilder working with an Agile process would deliver a small, working part of a whole house—maybe just the kitchen—and have the client to move in, begin using what’s there to the extent possible, and start requesting new rooms or modifications to existing rooms.

This style of construction is rooted in belief that it is essentially impossible to specify everything in advance because the needs of the customer are too complicated and change too quickly. Agile developers use continuous adaptation and modification as the alternative.

The primary difference between Waterfall and Agile that I’ve been describing are about the sequence of activities of software development, i.e., about time. Of the twelve principles in the Agile manifesto, half are concerned with time, especially as it concerns speed and change. This is partly due to the influence of “new economy” rhetoric that permeates throughout the Agile movement.

A term that gained wide currency in the mid 1990s, the new economy was a utopian idea that Western economies would be able to outsource their manufacturing industries to the developing world, and transition to economies based on services and knowledge industries. The result would be an age of prosperity, economic growth and technological innovation for all. The new economy would bring dramatic changes in the nature of capitalism: dynamic and spontaneous rather than static, old-fashioned and controlling; overturning old, corrupt hierarchies with an egalitarian meritocracies; fun and creative instead of boring and mechanical; opting for collaborative, self-organizing networked organizations over top-down bureaucracies and militaristic command-and-control forms. Companies that embraced these new principles would flourish, and those that didn’t would find themselves in dire straits.

Agile is deeply rooted in these ideas, positioning its methodologies as the secret to unlocking the innovation, dynamism and competitiveness required of companies, taking advantage of new economy ideas to provide business imperatives for adopting the methodologies. In his book Agile Software Development Ecosystems, Jim Highsmith, a software consultant who attended the Snowbird meeting, dedicates three chapters to the task of situating Agile methodologies in new economy ideas, taking this quote from a New Economy management text:

Agility is dynamic, context-specific, aggressively change-embracing, and growth-oriented. It is not about improving efficiency, cutting costs, or battening down the hatches to ride out fearsome competitive “storms”. It is about succeeding and about winning: about succeeding in emerging competitive arenas, and about winning profits, market share and customers in the very center of the competitive storms many companies now fear.

This quote comes from Agile Competitors and Virtual Organizations, a book that contains a foreword by Chrysler tycoon Lee Iacocca and has a cover that promises “Over 100 Examples of Agility!”, in order that you know you’re getting your money’s worth. Although aimed at managers in manufacturing industries, the Agile software community drew inspiration from this and other New Economy texts, adopting many of the ideas, the narrative of economic upheaval forcing organisations to adapt, and even the name itself, which displaced the previous terms light or lightweight methodologies due to their negative connotations.

But Agilists brought many of their own ideas. Beyond the time-oriented ideas of speed, flexibility and change, the Agile movement also refashioned the relationships among clients, managers and workers. Five of the manifesto’s principles aim at this goal. These are:

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The best architectures, requirements, and designs emerge from self-organizing teams. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Business people and developers must work together daily throughout the project.

What’s most notable about the Sustainable Development principle is that it also concerns time but deviates from the theme of speed and flexibility to mandate a constant pace. It’s not immediately clear what this refers to, but looking closely at Agile literature, it becomes apparent that it’s a way to prevent software engineers from being overworked. Kent Beck, the creator of the once-dominant ‘Extreme Programming’ variant of Agile, argues in his first edition of Extreme Programming Explained for prohibition on asking software engineers to exceed 40 hours of work per week.

This is a reaction to a trend in some parts of the software industry, most notably in video game companies, where crunch time is widespread. Crunch time refers to the practice of mandating extended hours for programmers, who may be expected to work up to 12 hour days, 7 days a week for months at a time, especially in the run up to a major deadline. Agile methodologies rightly reject this as inhumane and unsustainable.

The second and third principles—trusting individuals, self-organising teams—offer software engineers more autonomy and influence over their daily activities and reflect what some in the Agile movement regard as a vigorous anti-management attitude often summarised as the “We don’t need no stinking managers” attitude. The concept of servant leadership reigns as the dominant role envisioned for managers, a more nurturing and empathetic style that eschews control and authority and focuses on empowering and enabling the worker.

Here again, a close examination of Agile literature is illuminating. The Scrum methodology—today, one of the most popular variants—embraces the self-organising team, but also advocates using what it calls “subtle control” to influence the team behind the scenes. For those who can master this technique, their power is made all the more absolute because it is wielded under the imprimatur and moral legitimacy of the ideal of self-organisation. In 2007, Jim Highsmith took a more direct approach in a blog post titled No More Self-Organizing Teams:

I’ve been thinking recently that the term “self-organizing” has outlived its usefulness in the agile community and needs to be replaced. While self-organizing is a good term, it has, unfortunately, become confused with anarchy in the minds of many. Why has this occurred? Because there is a contingent within the agile community that is fundamentally anarchist at heart and it has latched onto the term self-organizing because it sounds better than anarchy.

Highsmith proposes replacing the principle of self-organisation with what he calls Light-Touch Leadership and defined as “the right mix of delegation of decision making to teams while retaining appropriate decision-making authority with the leader or in other parts of the organisation.” The exact meaning of “right mix” and “appropriate authority” is not made clear, but it is obvious that it means less autonomy for the non-managerial worker than in what Highsmith would call anarchy.

The forth and fifth principles mandate co-location of the engineering team and daily interaction with business people. The rationale for these principles is invariably rooted in observations about the inefficiency of distributed teams communicating across time zones and the necessity of face-to-face contact as a catalyst for the innovative and creative spirit of the team. But practically speaking, these two principles function as a prohibition against outsourcing software engineering work to low cost IT consultancies in the developing world.

From this subset of principles, it’s clear that although Agile positions itself as a software development methodology, a closer inspection reveals clues to a greater ambition: to protect the interests of software engineers at work. It does this by limiting the number of working hours, demanding autonomy and self-management, rejecting the arbitrary dominating power of the boss, preventing their jobs from being shipped overseas, and ensuring that software engineers are involved in their workplace as decision makers.

With this agenda, it is possible to characterise the Agile movement as a labour union.

Ben Grossman, Head of Global Operations for Twitter Media,
on the recent transport strike in SF

In areas of the internet where programmers gather, the question of unionisation returns with regularity; the reaction is mostly dismissive when it’s not outright hostile. Unions are seen to violate the values of programmer communities: they’re accused of opposing innovative technologies, being anti-meritocratic by protecting the jobs of the incompetent, and increasing costs and reducing profitability. Pro-capitalist libertarian and ‘objectivist’ views that laud the free market are emphatically endorsed.

The most significant way that Agile is covertly operating as a union is not immediately obvious from its formalised organising principles, only becoming apparent after looking at the structure of the work itself. As previously mentioned, in an Agile environment the interactions between the client and the workers should be collaborative and iterative, incrementally building and delivering features—unlike the Waterfall method of specifying requirements in a document that is completed and turned over to the coding team for implementation.

The Waterfall model involves a greater division of labor and specialisation of roles. The four discrete stages of requirements— gathering, design, coding and verification—generally correspond to distinct job titles: product manager or business analyst, systems architect, software developer and quality assurance engineer. So, from a certain perspective, the Waterfall process can be seen as a factory production line, and Agile methodologies as undermining the role of specialisation, which enables deskilling. Specialisation reduces software engineers to mere “code monkeys” who simply crank out code in highly repetitive and routinised ways, and lack any decision making power over the higher order architectural and requirements work that is reserved for managers and the most senior developers.

Some Agile methodologies advocate for generalists and cross-functional teams. According to the Scrum Guide,

Scrum Teams are self-organizing and cross-functional. Self-organizing teams choose how best to accomplish their work, rather than being directed by others outside the team. Cross-functional teams have all competencies needed to accomplish the work without depending on others not part of the team. The team model in Scrum is designed to optimize flexibility, creativity, and productivity.

But most Agile methodologies combat role specialisation by rejecting documentation. Traditional software projects are largely run through the production of lengthy and detailed specification documents completed in isolation by managers and then “thrown over the wall” to workers at the next stage. The Agile manifesto calls instead for “working software over comprehensive documentation”, collaboration and conveying information through face-to-face conversation. These ideas tend to be founded on the assertion that excessive documentation inhibits the flexibility and agility that companies in the New Economy are supposed to need, but this also protects software engineers’ autonomy and status as professional high-skill knowledge workers who shouldn’t be reduced to mere “cogs in the machine”.

An earlier critique of Taylorism: Chaplin’s Modern Times

Many agilists mount aggressive challenges to what has come to be known as Taylorism, an efficiency-oriented management theory that originated in the late 19th century to improve the productivity of workers through time- and motion-based measurement, standardisation and rationalisation of work, and division of labor. Agilists sometimes view Taylorism in terms of a concern with creating metrics that measure software engineers’ work, and a desire to optimise those metrics. By rejecting the discrete stages of the Waterfall model and reducing documentation to a minimum, Agile methodologies resist another key aspect of Taylorism, a principle known as the separation of conception from execution.

This phrase comes from the American Marxist economist Harry Braverman in his 1974 book Labor and Monopoly Capital: The Degradation of Work in the Twentieth Century, a wide-ranging critique of 20th century capitalism and Taylorism in particular. With small modifications, Braverman’s critique of the separation of conception and execution could fit comfortably in any Agile promotional text:

In the human, as we have seen, the essential feature that makes for a labor capacity superior to that of the animal is the combination of execution with a conception of the thing to be done. But as human labor becomes a social rather than an individual phenomenon, it is possible—unlike in the instance of the animal where the motive force, instinct, is inseparable from action—to divorce conception from execution. This dehumanization of the labor process, in which workers are reduced almost to the level of labor in its animal form, while purposeless and unthinkable in the case of the self-organized and self-motivated social labor of a community of producers, because crucial for the management of purchased labor. For if the workers’ execution is guided by their own conception, it is not possible, as we have seen, to enforce upon them either the methodological efficiency or the working pace desired by capital. The capitalist therefore learns from the start to take advantage of this aspect of human labor power, and to break the unity of the labor process.

Braverman differs from the Agile understanding in that he views the unity of the labor process as essential to human labor as such. Agilists often claim that this unity inheres only in knowledge work. Martin Fowler’s 2000 introductory essay The New Methodology is typical in this regard. The essay includes a section called “Separation of Design and Construction” and takes on this principle of Taylorism (also known as scientific management) directly:

Deciding that people come first is a big decision, one that requires a lot determination to push through. The notion of people as resources is deeply ingrained in business thinking, its roots going back to the impact of Frederick Taylor’s Scientific Management approach. In running a factory, this Taylorist approach makes sense. But for the highly creative and professional work, which I believe software development to be, this does not hold.

Kent Beck also included a chapter in his second edition of Extreme Programming Explained where he describes Taylorism in general and then says:

No one walks around a development shop with a clipboard and a stopwatch. The problem for software development is that Taylorism implies a social structure of work. While we’ve lost the rituals and trappings of time-and-motion studies, we have unconsciously inherited this social structure and it is bizarrely unsuited to software development. The first step of social engineering in Taylorism is the separation of planning from execution. It is the educated engineers who decide how work is to be done and how long it will take. The workers must faithfully execute the assigned task in the assigned way in the allotted time and all will be well. Workers are cogs in a machine. No one wants to think of himself as a cog.

Thus the Agile worldview is a synthesis, addressing the new business imperatives of speed, flexibility, innovation and adaption to changing needs and linking them to worker protections that are more commonly represented by unions. It’s possible to view the various methodologies that fall under the Agile umbrella as union contracts that represent a negotiation between the interests of labor and management.

By most accounts, Agile has been highly successful. The 2011 edition of the previously cited Standish Group report compared the success rate of IT projects from 2002 to 2010 by which development methodology they used, and came down emphatically on the side of Agile:

The agile process is the universal remedy for software development project failure. Software applications developed through the agile process have three times the success rate of the traditional waterfall method and a much lower percentage of time and cost overruns.

The victory may be short-lived. Agile faces two challenges that could limit its influence, one external and one internal, which may even roll back some of the protections it has won for software workers.

The Internal Challenge from Taylorism

In recent years, product development processes inspired fromc industrial manufacturing practices have gained more interest in the Agile community, including Lean Software Development and Kanban. These new methodologies focus intensively on Taylorist concerns of maximising efficiency, eliminating waste, standardising work and continuously monitoring, measuring and optimising the work of software engineers.

These techniques are gaining ground, but not without controversy. One prominent Agilist, Alistair Cockburn, recently expressed deep concern in a blog post titled Taylorism strikes software development:

Although we software people have spurned Taylorism loudly ever since Kent Beck introduced Extreme Programming, nonetheless we are moving heavily in that direction. I am sitting here at the Scandinavia Developer Conference and it is striking more and more forcibly each passing month and with each talk I listen to… The trigger for me writing this little note was sitting and watching yet another person describe how the introduction of visual flow (kanban-style views) and Work-in-Progress limits allows teams to develop metrics and post graphs of productivity, variance, and improvement progress on the wall for management to see. I don’t mind these things, at some level —- it is called “getting better”, and there are indeed ways of getting better. I find it ironic, however, that the very cluster of people who started and are driving agile development as the center of self-organization and craft are pushing the Taylorist agenda of scientific management.

Cockburn links approvingly to another essay that argues quite effectively that Lean and Agile are fundamentally different worldviews. But this leaves a something to be explained: if Taylorism is so antithetical to Agile, what accounts for its sudden popularity?

This might be explained by work that the word “agile” does in the movement. The word itself encapsulates the attempted synthesis that ensures worker protection become a precondition for delivering on New Economy business goals. In order to have innovation, flexibility and speed, management must permit greater autonomy for workers, reduce job specialisation and reunite conception and execution. The genius of Agile is the way that it took advantage of New Economy rhetoric to advance a successful critique against the inefficiency of top-down controls, ultimately liberating software engineers from at least some measure of management’s power.

The main flaw—potentially a fatal one—was in framing the purpose of the movement as wholly in service of business goals. Agile protects workers’ interests, but it does this covertly, after obfuscating the antagonism between labor and capital. Agilists found a way to make a business case for protecting workers, and abandoned the old-fashioned moral and political framework of socialists like Braverman. But having done that, they are now vulnerable to the infiltration of dehumanising Taylorism in service of those same business goals. The demand for agility, once turned against management, now returns in its more conventional guise as a focus on worker efficiency and waste.

Some Agilists like Cockburn would push back against these incursions, but they’re hampered by the presence of ideas drawn from complexity theory that have existed in Agile thinking from the beginning. Using terms like emergence, adaptation, evolution and fitness landscape, Agilists portray Agile organizations in highly mechanistic terms.

Complexity theory is used to explain how natural organisms are able to evolve, adapt and reproduce without any planning or theoretical understanding of the environment. Applied to a traditional Taylorist workplace, that idea implies that management, with its monopoly on conception, planning and understanding, is unnecessary. Workers simply execute an algorithm, performing an iterative walk through the possible versions of the product until they achieve optimal fitness with the “environment”, i.e. the needs of the customer or market.

This challenges the basis for separating conception from execution by suggesting that conception per se is superfluous—one can simply iterate without any planning. However, it also contradicts the humanistic assumption that creativity and innovation are undermined by mechanistic, dehumanising workplaces. This creates strong rhetorical support for the Tayloristic impulses present in Lean methodologies.

The External Challenge from User-Centred Design

User-centred design (UCD) is a movement and a philosophy of digital product development that became popular and widely adopted in approximately the same time period as Agile (early 1990s to the present). UCD is rooted in the Cooperative Design movement of Scandinavian trade unions in the 1970s, who sought to challenge the power of management by investing workers with more decision-making power over the design of new technologies in the workplace. This move was rooted in the insight that the design of a new tool reflects (and when put into use, enforces) a specific vision of the nature of the work and the role of the worker. Designed by managers, technology could be a dehumanising curse, leading to routinisation, standardisation and deskilling. In the hands of workers, it could be a blessing, extending their capacities and supporting their goals, responsibilities and interests.

Writing in his 1991 book Design for Success: A Human-Centered Approach to Designing Successful Products and Systems, William Rouse explicitly positions his design philosophy against Taylorism:

[the proliferation of complex informations systems in society] could lead one to feel that people will increasingly become like “cogs in machines,” subjugated to the economy and technological necessities of squeezing the last ounce of performance, and hence competitiveness, out of our systems. There is an element of truth in this perspective, but this vision is no longer a necessity—an alternative design philosophy is possible. The design philosophy presented in this book has three important attributes. First, this philosophy focuses on the role of humans in complex systems. Second, design objectives are elaborated in terms of roles of humans. Third, this philosophy specifies design issues that follow from these objectives. Notice that none of the three elements of this design philosophy focuses on performance, productivity, economics or related metrics. While these concerns are very important, they subserve human-centered design issues…

Rouse goes on to argue that no matter how much automation replaces human activity, humans will always be ethically, legally and socially responsible for the acts of automated systems, so technology must always be thought of as subordinate and in service to human goals and needs. Rouse continues:

This simple assertion has profound implications. From this perspective, the purpose of a pilot is not to fly the airplane that takes people from A to B—instead, the purpose of the airplane is to support the pilot who is responsible for taking people from A to B. Similarly, the purpose of factory workers is not to staff the factory designed to achieve particular productivity goals—rather, the purpose of the factory is to support the workers who are responsible for achieving productivity goals.

These same values animate the Agile movement, but here they are applied quite differently. Where Agile is concerned with protecting the interests of knowledge workers who build software, Cooperative Design and its UCD and HCD descendents want to protect the interest of workers who use these systems. When it was introduced in the United States, managers were uncomfortable with the idea of collaborating directly with workers, so it was modified so that workers would engage in design independently of managers, and renamed “participatory design” instead.

UCD further abstracts, circumscribes and disempowers the end user by the use of research methods to discover their needs and evaluate the system against their goals. In contrast to cooperative design methods which involve users directly in design, in UCD, users are involved in mediated form, through documented research activities that represent the users to the decision makers. In practice, this means that business goals almost always trump users’ goals when they come into conflict, but nonetheless, the presence of UCD practitioners in the development process introduces that antagonism—admittedly minimal in many cases—and prevents it from being completely papered over.

Agile has some important similarities and differences with UCD. Agile also emphasises the value of engaging with people outside of the development team, but due to its focus on the interests of internal workers, places more importance on bringing software engineers directly into contact with the customer (or their representatives) to learn about what users need. From the UCD perspective, Agile is naïve in assuming that a new system’s customer (who is often drawn from the ranks of management) can adequately represent the goals, needs, context and interests of its users. Agilists often collapse the distinction, defining “the customer” as the people who are paying for the software and who are going to use it, as if they are simply the same.

In most Agile methodologies, the role of the customer is both highly demanding and almost completely unspecified. They’re expected to have detailed and comprehensive information of every requirement for the system, as well as deep knowledge of the problem space and the needs of the users. It is simply assumed that the customer has this information, or can easily get it, but in practice, this is almost never true. UCD addresses this problem by offering a wide array of research methods drawn from academia and adapted for product development: interviews, surveys, diary studies, contextual inquiry, ethnographies, focus groups, task analysis, user behavior metrics. But these cannot be used to full advantage by Agile teams. These methods fall outside of the education, training, job descriptions and identity of most software engineers, so they can only be used by employing specialists outside of the engineering team, which separates conception from execution, threatening to de-emphasize the centrality of that job function.

Agile faces more challenges from the rise of UCD in software development work. In comparison with the Waterfall mode, Agile offers much faster iterative feedback cycles, which are measured in weeks rather than months or years. In a 30-day sprint, Agile developers are able to define requirements, design and build a feature, and then ask the customer to evaluate it. This is considered very fast by the standards of conventional software development, but designers working in a UCD process are able to work much faster, producing concepts for a new feature that can be evaluated by users in days rather than weeks. This is because designers typically don’t write code—instead, they create design artefacts called prototypes, wireframes and mockups which simulate the interface and the end user’s experience with just enough realism so that the proposed feature can be evaluated by users.

The process of evaluation often takes the form of usability testing, where researchers observe users who are asked to complete tasks using software prototypes to verify that the design makes sense to users and they are able to complete the tasks successfully and with a minimum of unnecessary effort.

This poses two other critical problems for Agile developers. First, UCD enables designers and researchers are able to perform iterative feedback cycles without engaging software engineers for anything except the most advanced features that can only be simulated by writing code, effectively reducing the importance of software engineers in the creation process. And second, much like the problem of researching user needs, UCD’s usability testing methodology for evaluating software with users is a specialised skill that again exceeds the expertise of software engineers.

These three problems can be simplified into variations of a single problem. The rise of UCD signals a shift from thinking of a software technology as a technical system towards thinking of it as a socio-technical system. This expanded understanding translates into a need for a new set of competencies beyond traditional software engineering concerns, new methods of evaluating success that emphasise the user’s experience (going beyond delivering software on-time and under-budget), and a new interest in the qualities of the user interface—a crucial point of integration between the human and the machine.

The Agile movement is undoubtably aware of this shift, but only dimly. Although many authors emphasise the importance of user participation in the design and evaluation of software, the methods for doing these are under-developed in the Agile literature and so adoption of UCD techniques among teams is uneven and difficult at best. User-centred designers often report difficulty working in Agile development environments, typically finding that software engineers want to start programming as quickly as possible, and take little interest in user research, design ideation and exploration and validation of prototypes with users. In many Agile teams, activities that do not involve writing code are viewed as unnecessary impediments to progress, a kind of software engineering chauvinism that reflects a technical mindset rather than a socio-technical one.

Agile processes are founded on protecting software engineers’ autonomy, but the lines are drawn in terms of programmers vs. non-programmers, not labor vs. management as in traditional unions. This limits the influence of everyone outside of the software engineering team, not just managers, but also user researchers, interface designers, content strategists, and information architects, pushing these new, crucial functions outside of the team.

Effectively, a condition has been created where the only way to take advantage of these disciplines is through a Waterfall model. The widely-accepted best practice for integrating UCD into Agile is the staggered-sprints model: while software engineers are working on features in one sprint, designers and researchers are preparing specifications for the next one. This model preserves the speed and flexibility of Agile, but restores the separation of conception from execution. Designers and researchers conceptualise, prototype and test, and then turn over their work to software engineers for implementation.

Agile processes are optimised for constructing technical systems conceived and built by programmers, but poorly suited to building socio-technical systems that seek an integration between humans and technology—a model that requires software engineers to embrace a wider range of disciplines and skills as equals, and adopt a more comprehensive vision of what it means to successfully build software.

Failing to make this transition is very likely a death sentence for the Agile movement. Except for the most senior software engineers, most of the creativity and innovation in software will move to specialised design and research activities using techniques that exceed the reductionist thinking that dominates computer science departments. Simultaneously, Agile will be hollowed out from within, as the infiltration of lean production techniques standardises and routinises the creative work of software engineering.

While software engineering adopts the strategies of factory production lines to become more like blue collar labor, design techniques and ways of thinking are working their way into management. In North America and Europe, MBA programs have begun to include courses on how managers can think and innovate like designers and practicums where students learn problem-solving techniques in a style traditionally found in design departments.

A notable example is the University of Toronto Rotman School of Management, which offers MBA students elective courses through the Rotman DesignWorks studio. Their mission:

We teach students how to tackle complex business challenges using Business Design, a human-centred, creative problem solving methodology. We draw on the designer’s way of working and apply it to the way we build businesses – from innovative user experiences to creative business strategies and models.

In the United States, Stanford University’s Hasso Plattner Institute of Design (the d.school) provides similar training in design thinking to executives and corporate leaders alongside its German sister organization, the Hasso Plattner Institute School of Design Thinking. Many universities have begun to offer joint design and business degrees: at California College of the Arts, an MBA in Design Strategy; Johns Hopkins University Carey Business School has an MBA/MA in Design Leadership offered in conjunction with Maryland Institute College of Art; an MBA/MDes dual degree from Illinois Institute of Technology; and the prestigious Kellogg School of Management offers a graduate degree with a triple focus of business, design and engineering.

The next generation of corporate leaders are learning to apply the lessons of designers to the problem of innovation, but how does this new orientation fit alongside the efficiency, productivity and measurement mindset that was once the cutting edge of management thinking and now is coming to domiante Agile software engineering? In an article for the New York Times, Sara Beckman of UC Berkeley’s Haas School of Business and advocate of design thinking suggests an analogy: design thinking is like quantum physics transcending the Newtonian physics of analytical management. But there is no need to choose one or the other:

Both worlds — the quantum one where designers push boundaries to surprise and delight, and the Newtonian one where workers meet deadlines and margins — are meaningful. The most successful companies will learn to build bridges between them and leverage them both.

In light of the fact that design is slowly transforming into a management discourse, the difference articulated here between designers and workers should be understood as the same as managers and workers. The synthesis of these two ideas is clear: design thinking offers a flexible and open-ended framework that loosely structures the strategically important business of innovation, while the tools of efficiency, productivity and standardisation are applied outwards, to tightly regulate and discipline the activities on the shop floor.

An influential segment of the Agile movement has inexplicably adopted the lean production rhetoric of efficiency and waste to govern their own work. We need only look to at the impact of these ideas on assembly line workers to understand the possible impacts on working conditions. In Alternatives to Lean Production: Work Organization in the Swedish Auto Industry, Christian Berggren writes about the importation of Japanese lean production into American auto plants:

If anything, the rhythm and pace of the work on the assembly line is more inexorable under the Japanese management system than it ever was before. Off-line jobs, such as those in subassembly (the senior workers’ favorite positions, in which a personal work pace and “banking” were possible) have been outsourced or are geared strictly to the main line by means of just-in-time (JIT) control. Idle time is squeezed out of each work station through the application of kaizen techniques, while work pressure has been intensified and staffing drastically reduced in the name of eliminating all “waste” (muda)… [A]uto workers resented the fact that the speed of the belt made it difficult for workers to detatch themselves from the repetitive work. These difficulties have been aggravated by the combined JIT and quality pressure (zero defect) of the modern Japanized lines, which demand a high degree of mental concentration on work that is still very standardized. … [Lean production's] factory regime is rigorous with demands for perfect attendance, mandatory company uniforms, the prohibition of all personal articles, strict rules of conduct, and an elaborate system of sactions.

These lean factory conditions contrast sharply with the lavishly-appointed offices, flexible work environments and perks of Silicon Valley, and it’s difficult to imagine a future where software engineers face anything like this. At the same time, the Agile union may be faltering, and although it’s hard to predict the impact on the day-to-day lives of software engineers, it is unlikely to be a positive one.

Apple - Press Info - China Mobile & Apple Bring iPhone to China Mobile’s 4G & 3G Networks on January 17, 2014

$
0
0

Comments:"Apple - Press Info - China Mobile & Apple Bring iPhone to China Mobile’s 4G & 3G Networks on January 17, 2014"

URL:http://www.apple.com/pr/library/2013/12/22China-Mobile-Apple-Bring-iPhone-to-China-Mobiles-4G-3G-Networks-on-January-17-2014.html


iPhone 5s & iPhone 5c Available for Pre-Registration Beginning December 25, 2013

BEIJING and CUPERTINO, California—December 22, 2013—Apple® and China Mobile today announced they have entered into a multi-year agreement to bring iPhone® to the world's largest mobile network. As part of the agreement, iPhone 5s and iPhone 5c will be available from China Mobile's expansive network of retail stores as well as Apple retail stores across mainland China beginning on Friday, January 17, 2014. iPhone 5s, the most forward-thinking smartphone in the world and iPhone 5c, the most colorful iPhone yet, will be available for pre-registration from China Mobile's official website (www.10086.cn) and customer service hotline "10086" beginning on Wednesday, December 25, 2013.

“Apple’s iPhone is very much loved by millions of customers around the world. We know there are many China Mobile customers and potential new customers who are anxiously awaiting the incredible combination of iPhone on China Mobile’s leading network. We are delighted that iPhone on China Mobile will support our 4G/TD-LTE and 3G/TD-SCDMA networks, providing customers with high-speed mobile service,” said Xi Guohua, China Mobile Chairman.

“Apple has enormous respect for China Mobile and we are excited to begin working together. China is an extremely important market for Apple and our partnership with China Mobile presents us the opportunity to bring iPhone to the customers of the world's largest network,” said Tim Cook, Apple CEO. “iPhone customers in China are an enthusiastic and rapidly growing group, and we can’t think of a better way to welcome in the Chinese New Year than getting an iPhone into the hands of every China Mobile customer who wants one.”

China Mobile now has over 1.2 million 2G/GSM, 3G/TD-SCDMA, 4G/TD-LTE base stations and over 4.2 million Wi-Fi access points, providing broad coverage to quality networks for iPhone 5s and iPhone 5c customers. China Mobile is rolling out the world’s largest 4G network. By the end of 2013, China Mobile’s 4G services will be available in 16 cities including Beijing, Shanghai, Guangzhou and Shenzhen. By the end of 2014, China Mobile plans to complete the rollout of more than 500,000 4G base stations, which will cover more than 340 cities with 4G service. The collaboration between Apple and China Mobile will give a big boost to the development of China's homegrown 4G/TD-LTE technology. iPhone on China Mobile supports major cellular network standards, making a global phone a reality for China Mobile customers.

iPhone 5s redefines the best smartphone experience in the world with amazing new features all packed into a remarkable thin and light design, including the Apple-designed A7 64-bit chip, all-new 8 megapixel iSight® camera with True Tone flash and introducing Touch ID™, an innovative way to simply and securely unlock your phone with just the touch of a finger. iPhone 5c features an all new-design in five gorgeous colors and is packed with features people know and love like the beautiful 4-inch Retina® display, blazing fast performance of the A6 chip, and the 8 megapixel iSight camera—all while delivering great battery life.* iPhone 5s and iPhone 5c both offer more 4G LTE bands than any other smartphone in the world and include all-new FaceTime® HD cameras.

iPhone 5s and iPhone 5c come with iOS 7, the most significant iOS update since the original iPhone, featuring a stunning new user interface, completely redesigned with an elegant color palette, distinct, functional layers and subtle motion that make it feel more alive. iOS 7 has hundreds of great new features, including Control Center, Notification Center, improved Multitasking, AirDrop®, enhanced Photos, Safari® and Siri®.

Details of pricing and availability of iPhone 5s and iPhone 5c for China Mobile will be available at a later date.

For more information on iPhone, please visit www.apple.com/iphone.

*Battery life depends on device settings, usage and other factors. Actual results vary.

China Mobile is the world’s largest mobile services provider by network scale and subscriber base, serving over 760 million customers. The Company was listed on the New York Stock Exchange and the Stock Exchange of Hong Kong Limited, and was recognized on the Dow Jones Sustainability Indexes (“DJSI”) for six consecutive years. China Mobile has recently launched a new commercial brand “and!”, literally meaning connect, and as the acronym of a new dream. a new dream aims to bring the world’s most cutting edge technology to Chinese customers in 4G era, reflecting the friendly, intimate, mutual trust, and harmonious relationship between China Mobile and its customers and the society.

Apple designs Macs, the best personal computers in the world, along with OS X, iLife, iWork and professional software. Apple leads the digital music revolution with its iPods and iTunes online store. Apple has reinvented the mobile phone with its revolutionary iPhone and App Store, and is defining the future of mobile media and computing devices with iPad.

Press Contacts:
Natalie Kerris
Apple
nat@apple.com
+1 (408) 974-6877

Rainie Lei
China Mobile
rlei@chinamobilehk.com
+852 31218888 

Apple, the Apple logo, Mac, Mac OS, Macintosh, iPhone, iSight, Touch ID, Retina, FaceTime, AirDrop, Safari and Siri are trademarks of Apple. Other company and product names may be trademarks of their respective owners.

Letter to the Community

$
0
0

Comments:"Letter to the Community"

URL:http://evasi0n.com/l.html


Dear Jailbreak Community,

We are deeply troubled by the rumors and speculation surrounding our iOS 7 jailbreak. We would like to present the whole story to you.

Most of the concern surrounds the inclusion of the Chinese App Store Taig. In the course of developing the iOS 7 jailbreak, we were approached by the company with an offer of partnership in offering Taig bundled with the jailbreak in China. Taig is a Chinese App Store written in Chinese. tailored and, we believe, well suited to meet the needs of users for the Chinese market. Users are not locked into Taig. Cydia can also be installed and Taig removed afterwards. It would be deeply hypocritical to remove choice from the user in the course of jailbreaking.

Taig has never asked us to disclose our exploits to them, let alone sell them. We were simply asked to bundle their third-party app store in China in a similar way we bundle and distribute Cydia around the world as an additional App Store, and in a similar way to how previous jailbreaks like blackra1n have bundled non-Cydia stores.

Of course, the safety and security of our users is a paramount concern, and due to the amount of close scrutiny by security professionals around the world, we offer one of the lower risk programs available for download on the Internet. We are saddened by the accusations that we would ever do such a thing, or sell weaponized exploits. If anyone ever attempted to include malware in a jailbreak, we are confident that the many security experts combing through jailbreak software would find it. The binaries are obfuscated for a similar reason to why we have in the past compiled in Cydia rather than including it as a separate file. We wish to secure the integrity of the jailbreak and discourage its use by third parties who may in fact wish to weaponize it. The obfuscation is of course not intended to deflect serious analysis by security professionals (who have quickly already fully analyzed and discussed the contents of the jailbreak), it is simply intended to prevent easy repackaging by other parties.

Preventing piracy is also extremely important to us. We are deeply sorry and embarrassed about the piracy that was seen today. All of us have spoken out vehemently against piracy in the past. We don’t believe it’s right for developers to not get paid for their work. In our agreement with Taig, we contractually bind them to not have piracy in their store. This was an extremely important precondition of working with them. In entering the agreement with them, we had hoped and continue to hope that our cooperation with Taig will improve the piracy situation in China. Many App Stores within China, including those run by large corporations, have many issues with pirated software. Promoting an app store that is required not to have piracy with our jailbreak, we believe, will help developers.

We are very upset that despite our agreement and review by their team, piracy was found in the store. It was not acceptable and they have been strenuously working to resolve the problem in good faith, and have removed all instances of it that we have brought to their attention. We are happy that it was not overlooked by the community. We’ve been so heads down working on the code that we didn’t see this. We are sorry. We will continue to monitor this issue and work to resolve it completely. Taig will be pulled from the jailbreak if it cannot be resolved.

Many of you have also wondered why this jailbreak was released without Cydia and MobileSubstrate being updated for iOS 7. After we received the offer from Taig, we informed Saurik, our friend, of our decision to accept the offer. SaurikIT had been in talks with Chinese companies regarding potential partnerships, made a counteroffer. We believe they share our views on how a relationship with companies in China currently utilizing jailbreaking might benefit everyone in the community. Unfortunately, the negotiations did not work out. A few days later, we received information that SaurikIT was working with another group to release a jailbreak ahead of us. We decided to release, knowing that Cydia, MobileSubstrate, and jailbreak tweaks would be updated after a few days, just as it always has in the course of jailbreaking.

Yes, we have benefitted financially from our work, just as many others in the jailbreak community have, including tweak developers, repo owners, etc. Any jailbreak from us will always be free to the users but we believe we have a right to be compensated in an ethical way, just as any other developer. However, the interests of the community will always be the most important thing to us. When releasing the jailbreak, we pledged all our donations to foundations supporting the interests of the community. We are deeply upset at how we have inadvertently distressed the community and we are focused on fixing it.

We love the jailbreak community and you motivate us to do this work. Having a choice and freeing your device is important.

We hope you understand and we thank you for all of your support.

evad3rs

Welcome to DataCoin website! - Datacoin Site (Still in development)

$
0
0

Comments:"Welcome to DataCoin website! - Datacoin Site (Still in development)"

URL:http://datacoin.info/index.php?id=index


Start using unique cryptocurrency. Use Datacoin.

Datacoin is a reliable, censorship-free currency that can be used for transactions and data storage within its sophisticated blockchain.

Data is stored in the blockchain forever and can be retrieved using a transaction hash as an identifier. Datacoin is a platform that can be used by applications such as torrent trackers, encrypted messaging services, and can be used to store other kinds of small data - all censorship-free!

Developers can store torrent files, certificates, and with future development, HTML pages and other kinds of meta-information in the Datacoin blockchain.

You can install the wallet from the right-side menu. Windows users can use a GUI wallet, Linux users should compile datacoind or Datacoin-QT from source (see instructions). Wallets are in development, and more features are coming soon, but the wallet's current functionality is similar to other coins.

First POOL for Datacoin

Second pool - in testing now

Datacoin build instructions

Learn more about Storage feature and technical details

Always fresh addnodes!

Don't forget to visit LINKS section

Viewing all 9433 articles
Browse latest View live