Shared posts

26 Jul 21:12

Experiments in Speed

by Jason Kottke

100 Mph Bike

Bike frame builder Tom Donhou, inspired by the home-built cars of yore ripping it up on the salt flats of Utah, wanted to see if he could build a bike in his shop that would do 100 mph. This video documents his quest.

I love everything about this video, but especially the pace car. (via ★interesting)

Tags: cycling   Tom Donhou   video
26 Jul 03:01

“Capsule ejection system for passenger aircraft EP 1110861...



Capsule ejection system for passenger aircraft
EP 1110861 A1
ABSTRACT
Nowadays, travelling by airplanes has been well established, and air accident rate is on the whole very low. However, as the number of air flights increases, accidents with the fatality of more than one hundred people have occurred. With the occurrence of such accidents, it poses fear to tens of thousands of air travellers that catastrophe may fall upon them in any flight…the crux of this invention is to provide means for blasting the airplane body apart in an accident so as to enable separate passengers cabin sections to break away automatically from the airplane. The break away passengers cabin sections will formed independent sealed units similar to unhitched train carts passing through a tunnel so as to protect the passengers who may remain sitting in each cabin..the fear of billion of air travel passengers would be dispelled.” (via)

20 Jul 00:59

The making of a Steinway grand piano

by Jason Kottke

Steinway & Sons, the celebrated piano making company, recently produced this video of how their grand pianos are constructed. Their process for building pianos has changed so little that they were able pair 1980s factory tour audio from former chairman John Steinway to contemporary footage of their Astoria, NY factory.

You can see how little has changed as you watch this 1929 film of how a Steinway piano was made:

Some of the shots in the two videos are identical, e.g. the men pulling the piano rim out of the mold or choosing spruce for the sounding boards. It interesting to compare these two videos with Wednesday's video of how Telsa sedans are made. Together, the three form a view of the progression of automation in manufacturing. I wonder if the Tesla robots could construct a piano that sounds as good as a Steinway? (via open culture)

Tags: audio   how to   pianos   Steinway and Sons   video
19 Jul 19:53

On November 4th 1909, John Moore-Brabazon proved to the world...





On November 4th 1909, John Moore-Brabazon proved to the world that pigs really are capable of flight.

The French journal La Revue de l’Aviation reported on the historic flight:
“The English aviator..had the rather extravagant idea to fly with a little pig which was perched in a wicker basket with this inscription..:”I am the first pig to fly”. The little pig did not fly for very long, but during the voyage it emitted, it is said, some grunts of satisfaction…or fear..”

(via)
16 Jul 23:24

July 14, 2013

John Costello

Maybe, just maybe.

13 Jul 06:20

Driving the Lowari Pass

by Jason Kottke
John Costello

This is well worth watching.

On one of the world's most dangerous roads, Pakistani drivers deliver supplies 150 miles into northwestern Pakistan. In 2011, Al Jazeera English made this 25-minute documentary that followed one of the trucks across the Lowari Pass. I didn't think I was going to watch the whole thing, but it turned out to be worth the time.

Tags: Pakistan   video
13 Jul 00:09

This American Life newbies: where to start?

by Jason Kottke
John Costello

And of course you should also listen to the Ira Glass sex tape.

The 500th episode of This American Life airs this weekend, and to celebrate, David Haglund picked 10 episodes you should listen to if you've never heard the show before.

Tags: David Haglund   lists   radio   This American Life
11 Jul 17:38

Keeping to the beat

by Jason Kottke

A study by researchers in Sweden indicates that the heartbeats of singers in a choir quickly synchronize.

Using pulse monitors attached to the singers' ears, the researchers measured the changes in the choir members' heart rates as they navigated the intricate harmonies of a Swedish hymn. When the choir began to sing, their heart rates slowed down.

"When you sing the phrases, it is a form of guided breathing," says musicologist Bjorn Vickhoff of the Sahlgrenska Academy who led the project. "You exhale on the phrases and breathe in between the phrases. When you exhale, the heart slows down."

But what really struck him was that it took almost no time at all for the singers' heart rates to become synchronized. The readout from the pulse monitors starts as a jumble of jagged lines, but quickly becomes a series of uniform peaks. The heart rates fall into a shared rhythm guided by the song's tempo.

(via @stevenstrogatz)

Tags: music   science
11 Jul 16:00

Right In The Eyes

10 Jul 17:59

How to learn how to dance in a year

by Jason Kottke

Karen Cheng learned to dance in a year. Here's a video of her progress, from just a few days in to her final number:

Here's my secret: I practiced everywhere. At bus stops. In line at the grocery store. At work -- Using the mouse with my right hand and practicing drills with my left hand. You don't have to train hardcore for years to become a dancer. But you must be willing to practice and you better be hungry.

This isn't a story about dancing, though. It's about having a dream and not knowing how to get there -- but starting anyway. Maybe you're a musician dreaming of writing an original song. You're an entrepreneur dying to start your first venture. You're an athlete but you just haven't left the chair yet.

The interesting thing is, Cheng basically did the same thing in her professional life as well.

I decided to become a designer, but I had no design skills. I thought about going back to school for design, but the time and money commitment was too big a risk for a career choice I wasn't totally sure of.

So I taught myself -- everyday I would do my day job in record time and rush home to learn design. Super talented people go to RISD for 4 years and learn design properly. I hacked together my piecemeal design education in 6 months -- there was no way I was ready to become a designer. But I was so ready to leave Microsoft. So I started the job search and got rejected a few times. Then I got the job at Exec.

The first few weeks were rough. Everyday I sat in front of my computer trying my damnedest and thinking it wasn't good enough. But everyday I got a little bit better.

(via hacker news)

Tags: dance   how to   Karen Cheng   video   working
09 Jul 01:58

SUBTLE CHANGES.

by languagehat
John Costello

I love this kind of observation.

Arika Okrent, a longtime LH favorite (see this post), has a mental_floss post called "4 Changes to English So Subtle We Hardly Notice They're Happening," and it's just the kind of language reporting I like to see, focused on something other than the usual funny-word or dubious-press-release material. She starts off:

Everyone knows that language changes. It's easy to pick out words that have only been recently introduced (bromance, YOLO, derp) or sentence constructions that have gone out of style (How do you do? Have you a moment?), but we are constantly in the middle of language change that may not be noticeable for decades or even centuries. Some of the biggest and most lasting changes to language happen slowly and imperceptibly. The Great Vowel Shift, for example, was a series of pronunciation changes occurring over 350 years, and not really noticed for over 100 years after that. It resulted in an intelligibility gap between Modern and Middle English and created the annoying misalignment between English pronunciation and spelling. But it was impossible to see while it was going on.

These days, however, it is possible to spot subtle linguistic changes by analyzing large digital collections of text or transcribed speech, some of which cover long periods of time. Linguists can run the numbers on these large corpora to determine the direction of language use trends and whether they are statistically significant. Here are 4 rather subtle changes happening in English, as determined by looking at the numbers.

And she goes on to discuss the increasing use of "-ing" complements, the progressive tense, the modals "going to," "have to," "need to," and "want to," and the "get" passive. Fun and educational!
07 Jul 01:42

A treatise on salads and the vinaigrette

by jimray

Summer has arrived, even in normally chilly San Francisco, where temperatures that pass 80 send crowds to air conditioned movie theaters. The very thought of a heavy meal is enough to make you sweat; let alone the prospect of heating up your kitchen turning on the oven.

Fortunately, this is also the time of year that vegetables are at the their peak: perfect for salads. I realize that salad may seem a little boring—the perfunctory side dish to the actual meal you had in mind—but they are quick, relatively easy, infinitely expandable and, best of all on a hot summer’s day, cool. All it takes is a little work to make them actually enjoyable.

Let’s start with the base: the greens. The most obvious option here is lettuce, but even this seemingly simple choice is full of alternatives. Iceberg carries almost no flavor of its own but is a fine medium for richer accompaniments — the classic wedge with creamy blue cheese and bacon being a fine example.

More suited to our purposes of a light, flavorful, summertime salad are butterhead (often sold as Boston or Bibb lettuce) and leaf lettuces, which grow more loosely instead of packing into the classic bulb. All of these tend to be more flavorful, sweet and rich, with little-to-no bitterness.

Bitter, however, can be desirable, and there are a few types of greens that can help. Chicories are bitter leaf vegetables that include escarole, Belgian endive, frisée, and radicchio. They can be mixed with milder, more flavorful lettuces for a mix of flavor, or used on their own as a contrast to rich ingredients like smoked meats, pungent cheeses, sweet fruits and vegetables, or nuts.

Arugula (known as rocket outside of the U.S.), is another distinctly flavorful leaf, more peppery than bitter, almost spicy.

There’s also mesclun, which you may find in your grocery store as “spring mix" or “baby lettuce" or “European mix" or some other thing. It originally hails from Provence, France, and is meant to be an equal-part mix of young leaf lettuce, chervil, endive, and arugula. But just about any mix of young, tender leaves with some bitter components gets labeled as mesclun.

Herbs make an excellent addition to the initial mix — mint, marjoram, sage, parsley, basil, alfalfa, dill, chives, or dandelion leaves all work well in salads to add small bits of colorful flavor. Use these sparingly, though, as they can overpower, and avoid herbs like rosemary that can be both tough to chew and demanding in flavor.

Finally, there are an amazing number of greens that aren’t traditionally thought of as salad material due to their toughness. Beet greens, carrot greens, chard, mustard greens, and kale are not just edible when raw—they’re delicious and interesting. I’ve found cutting them into thin ribbons (a chiffonade) by rolling the leaves into a bundle, then cutting into thin cross sections, works well for these tougher leaves.

You’ll want to make sure to wash your greens because nobody wants a mouth full of dirt in their salad. A salad spinner is one of those rare, single use tools that gets our seal of approval for this purpose. You can also just rinse the greens in a colander, let them drip dry, or lay them in a single layer on paper towels.

Of course, a salad isn’t a salad if it’s just greens, especially if you’re aiming for a full meal. As anyone who’s ever bellied up to an all-you-can-eat salad bar or buffet can attest, the combinations are limitless. I’ll throw out a few:

  • Roasted, chilled vegetables, like beets, carrots, parsnips
  • Pillows of soft cheeses, like gorgonzola or chevre
  • Shredded hard cheeses like gouda, parmesan, or romano
  • Fresh chopped heirloom tomatoes
  • Chopped nuts like almonds, pine nuts, walnuts, or pecans
  • Dried fruit like raisins or dried cranberries
  • Torn bread pieces, slowly fried in butter
  • Smoked or cured meats like bacon, salami, prosciutto
  • Salted or cured fish like anchovies and sardines
  • Boiled or roasted chicken, chilled and shredded (think leftovers)
  • Salted or cured olives or capers
  • Eggs, either hard boiled and chopped or poached

For the most part, I tend to avoid the “chopped vegetable drawer" approach of flaccid spinach, shredded and dried out carrots and celery, bitingly pungent onions, and the perfunctory cherry tomato. These tend to either be too bland to add much actual flavor or overpowering when raw to be enjoyable.

When assembling a salad, use a bigger bowl than you think you’re going to need. Particularly when it comes to dressing, you’re going to want the extra space to keep from spilling it out on the counter. Instead of just dumping the dressing on the greens, try “dressing the bowl" instead, by slowly pouring a small stream around the edge, then mixing the salad. Remember, you can always add more dressing, so just add a little at a time.

Lastly, we should dress our salad simply and in a way that enhances the unique flavors, not drowns it. The easiest, most versatile way to do this is with a vinaigrette that you make yourself.

For the longest time, the notion of making my own salad dressings was just plain intimidating — dressing was something that came in a bottle, it had to be specially made in a far off place, there were secret ingredients. Like other condiments, I never really considered it was even possible to make my own.

The truth is, most of what’s in those bottles is crap, unless you actually like artificial flavors and colors, chemical preservatives, and just can’t get enough of xanthan gum.

A vinaigrette, on the other hand, can be made quickly and easily with things you likely have (or should have) on hand. At its simplest, a vinaigrette is vinegar (or another acid, like lemon juice) that is emulsified in oil, meaning it’s mixed together vigorously enough that the oil and vinegar don’t separate, as is their nature. A few aromatics help round it out.

Let’s start with the oil. Neutral oils like canola or grapeseed are fine but boring; best to save them for high heat applications due to their high smoke point. Nut oils add some depth; best to stick with milder flavors like hazelnut, almond, or walnut (peanut is best for frying). Nut oils tend to be much more volatile so keep them in the fridge to keep them from going rancid.

Olive oil really shines here, and this is where you notice the good stuff (cooking it neutralizes much of the appeal of fancy olive oil). It’s worth having some extra virgin on hand for dressing. I tend not to trust much olive oil that gets exported out of Europe any more (if you live in a place that respects Europe’s protected designations, by all means, enjoy their olive oil). Fortunately, we’ve been making pretty good olive oil in the states for a while.

Vinegar gives your vinaigrette that distinctive taste and pungency and, again, it’s worth going with a good one. Balsamic is fine, though the good kinds can be kind of expensive to use regularly, and it’s probably too sweet for general use. Apple cider vinegar is a wonderful flavor. Red and white wine vinegars are more all purpose. Lately, champagne vinegar is my favorite. Fresh squeezed lemon juice works equally well, and it can really brighten up a summer salad. (It’s also well suited to Southeast Asian-style salads made with not-so-leafy things like mango, papaya, cabbage.)

A few aromatics really make the whole thing sublime. I prefer a little finely chopped shallot in just about every vinaigrette I make; it’s not as biting as onion. Roasted garlic adds some richness and flavor. Fresh herbs like mint or basil go particularly well with, say, meyer lemon and a fruity olive oil. A small dollop of dijon really brings together a classic vinaigrette (and it helps it emulsify, too, since mustard itself is already an emulsion.)

Assembling it all is simple. Prepare your aromatics: shred any herbs by hand, chop your shallots. Measure out your acid, add it to a small bowl (a glass liquid-measuring cup with a spout works perfectly), add the aromatics, and salt and pepper to taste. Stir with a fork then measure out three times as much oil as you have acid and slowly pour it into the bowl, in a thin and steady stream, mixing with the fork all the while. I find it helps to turn your bowl to the side a bit to really mix it well. If you’re making a small salad for, say, two or three people, 1 teaspoon of acid to 1 tablespoon of oil works particularly well and is easy to scale up.

Meyer Lemon Vinaigrette

  • 1 tbsp. extra virgin olive oil
  • 1 tsp. meyer lemon juice
  • ½ tsp. diced shallot
  • ½ tsp. grated lemon peel
  • Pinch of kosher salt
  • A few grinds of fresh pepper

It’s so easy to make this, I don’t both making much. I just pull it all together right before serving. You can easily scale it up and use, say, the juice of an entire lemon. Just remember the ratio of 1 part lemon juice to 3 parts oil.

  1. Dice the shallots, grate the peel, then combine in a small bowl with the lemon juice, salt, and pepper. Whisk a few times with a fork.
  2. Slowly pour (a drizzling stream, just past drips) the olive oil in to the bowl, whisking constantly with the fork. Tilt the bowl slightly as it comes together to get all of the dressing emulsified. Serves 2-3

A Classic Champagne Vinaigrette

  • 1 tbsp. olive oil
  • 1 tsp. champagne or white wine vinegar
  • ½ tsp. diced shallots or garlic or roasted garlic
  • ½ tsp. dijon mustard
  • Pinch of kosher salt
  • A few grinds of fresh pepper
  1. Dice the shallots, then combine in a small bowl with the vinegar, mustard, salt, and pepper. Whisk with a fork to combine.
  2. Slowly pour (a drizzling stream, just past drips) the olive oil in to the bowl, whisking constantly with the fork. Tilt the bowl slightly as it comes together to get all of the dressing emulsified. Serves 2-3
05 Jul 23:36

Global Water for the Last Time

by Piotr Gasiorowski
I’m sorry for such a long break since the last post, but the end of the academic year is a busy time. Where were we? Ah, yes, the global etymon meaning ‘water’.

I analysed the Indo-European evidence in some detail to highlight the fact that, although Latin aqua has cognates here and there in Indo-European, its attestation is too weak to treat the word as reconstructible all the way back to Proto-Indo-European. It’s a regional word with uncertain affinities, and surely not the PIE ‘water’ word (there are better candidates for that status). Its story contains a moral: sheer similarity, even within an uncontroversial family, doesn’t mean anything by itself. There is an inherited verb root meaning ‘drink’ which looks tantalisingly similar to aqua (and was once regarded as related to it), but which has to be separated from it, given what we know today. Our improved understanding of some of the languages of the past (such as Hittite and the rest of the Anatolian clade) has forced us to abandon quite a few superficially promising etymologies. And it’s a good thing: it shows that etymologies are in principle falsifiable. All you need is a good model within which they can be evaluated.


Of course absence of evidence is not evidence of absence. It may conceivably happen that a word present in a protolanguage survives only in one language descended from it, or in a small cluster of related languages. In such cases, outgroup comparison may still enable us to recognise the word as inherited. We only need some secure external cognates and a consistent pattern of correspondences. We can’t, however, trust conclusions drawn only from the existence of vaguely similar words scattered across several families, especially if there is no pattern they could fit into because the researchers feel free to avoid real reconstructive work. If you look at Bengtson & Ruhlen (B&R)’s data, you will find many clear examples of “reaching down” (selecting isolated lookalikes and pretending they represent the families in question).


For example, words related to aqua are claimed to be present in Afro-Asiatic, while in fact all the proposed cognates  come from two periferal branches: Omotic (whose very membership in Afro-Asiatic is is uncertain) and Cushitic (whose exact location in a the AA family tree is anything but clear, but which is areally close to Omotic, so that borrowing between them is hard to rule out). The meaning of the suggested cognates is sometimes ‘water’, (but also ‘[to be] wet’, ‘drink’ or ‘drops of water’). But what about the Berber, Chadic, Egyptian and Semitic branches of Afroasiatic, where no such item occurs? What about alternative ‘water’ words which can be found in Cushitic and/or Omotic? (By the way, putative cognates of aqua occur only in North Omotic.) Afro-Asiatic is a big family, with about 300 extant members. With so many languages and “related meanings” to choose from, and with no formal controls, pseudo-cognates crop up inevitably. An Amerind Etymological Dictionary (Greenberg & Ruhlen 2007) lists no fewer than seventeen different etyma meaning ‘water’: *aqʷ’a/*uqʷ’a (of course), but also *man, *poi, *re, *si, *kʷati, *p’ak, *na, *ʔali, *pan, *tuna, *c’i, *kam ~ *kom, *to ~ *do, *kona, *xi, and *hobi (while we’re at it, there are also eight Amerind words for ‘dog’ and thirteen for ‘eye’). These forms are not real comparative reconstructions (their phonetic details are nowhere dicussed or justified) and must be treated as approximate, which of course makes comparison as easy as pie, especially if semantics is given as much leeway as phonology.


Lost in distillation
[Source: Wikimedia]
If you don’t reconstruct past sound changes, how can you decide whether, e.g., French eau (pronounced /o/) is related to Spanish agua, or that both of them are related to Romanian apă? Note that these three modern Romance languages began to diverge less than two thousand years ago. Their modern ‘water’ words are already more different from the common ancestor (yes, Latin aqua) than the latter is from, say, some of the “Amerind” forms cited by B&R. Sound change may be rapid and dramatic. What, then, constitutes a “match” if you are comparing languages supposedly separated by 10,000 or 20,000 years of independent development, and if you can’t even be bothered to study systematic sound correspondences or morphological patterns? Ignorance helps you to see patterns that knowledge dispels at once. In Kove, one of the Austronesian languages of New Britain (in the Bismarck Archipelago), water is called eau. If we knew less than we do about the history of French (or Kove, for that matter), we might suspect a long-range connection, mightn’t we? Is Proto-Pama-Nyungan *nguku/i (which should replace B&R’s anachronistic “Proto-Australian” *gugu) related to Lat. aqua? Well, if I am shown a serious etymological proposal, with the relevant sound changes, morphological derivations and semantic shifts (if any) all spelt out, I’ll tell you what I think of it. Untestable guesswork hardly deserves to be discussed.


A “cognate” like “Proto-Central-Algonquian *akwā ‘from water’” may look impressive until one learns that the actual root, Proto-Algonquian *akw-(the * came from the wrong segmentation of an Algonquian compound) means ‘ashore, out of the water’ (indicating location or direction rather than the place of origin) and that the real Algonquian ‘water’ term is *nepyi (for details, as well as the for full review of other Algonquian data cited by B&R, see Marc Picard 1998). But of course there are so many “Amerind” ‘water’ words that *nepyi could even be decomposed into more than one of them (e.g. *na + *poi).

Impressionistic comparison without any regard for methodological rigour will invariably produce the same outcome: a haphazard collection of words from, say, a dozen families and a few dozen languages (out of the world’s several thousand) which look vaguely similar and have vaguely similar meanings. How should one formulate a relationship proposal based on such evidence, so that other people could evaluate it? Surely not by listing the putative cognates and saying “look!” in the hope that the raw unanalysed evidence will speak for itself. But “global etymologists” do just that. They promise that someone, sometime, will carry out the actual comparative work, but they also claim that their data stand even without it. That’s wishful thinking, pure and simple.


05 Jul 23:24

The Other Half Of The Sky

by Paul McAuley
One of the depressing things about the science-fiction scene here in the UK at the moment is that the proportion of women writing and publishing SF doesn't seem to have much increased from the fairly low level it was at when I started to buy SF books in the 1970s. The percentage of novels by women submitted to the Clarke Award this year was around 20% (and Farah Mendlesohn, who read many of them, reports that 'most of the books by women are simply not eligible however wide I draw the net'). The average over the past decade wasn't much higher, at around 30%.

Add to this recent incidences of crass sexism in the field, including reports of sexual harassment at conventions, multiple scandals in the Science Fiction Writers of America (here's a useful timeline), and a dumb post about the 'differences' between men and women genre writers on the blog of a publisher which is actually making some effort to publish new women sf writers . . .  There's a growing feeling that science fiction is becoming like one of those antediluvian golf clubs that excludes women so that flush-faced fifty-year-old boys can belly up to the bar and make dubious jokes, complain about political correctness and anyone who doesn't share their skin colour or political opinions, and bang on about imaginary triumphs from days long lost.

I don't want to be a member of that club. Tricia Sullivan points out that it's mostly women who are spending their time and energy pushing back against this stuff - 'I can count on one hand men who have done anything about this' - so for what it's worth, here's my first tiny contribution: an incomplete list of science fiction books by women that I think you should read. You should also check out Ian Sales' ongoing project, Mistressworks, and Nina Allan's excellent cross-genre list. Oh, and take a look at the anthology The Other Half of the Sky, from which I totally stole the title of this post: science-fiction stories about women, not exclusively by women. Meanwhile, the list (shaped by personal taste - let me know what I've missed):

Gill Alderman - The Archivist
Margaret Atwood - The Handmaid's Tale
Lauren Beukes - Moxyland
Leigh Brackett - The Long Tomorrow
Octavia E. Butler - Parable Of The Sower
Pat Cadigan - Fools
Suzy McGee Charnas - Walk To The End Of The World
C.J. Cherryh - Downbelow Station
Jennifer Egan - A Visit From The Goon Squad
Eleanor Arnason - A Woman Of The Iron People
Carol Emshwiller - Carmen Dog
M.J. Engh - Arslan (a.k.a. A Wind from Bukhara)
Gertrude Friedberg - The Revolving Boy
Karen Joy Fowler - Sarah Canary
Patricia Geary - Strange Toys
Kathleen Anne Goonan - In Wartime
Eileen Gunn - Stable Strategies And Others
Elizabeth Hand - Winterlong
Nalo Hopkinson - Brown Girl In The Ring
Mary Gentle - Golden Witchbreed
Molly Gloss - The Dazzle Of Day
Lisa Goldstein - Tourists
Kij Johnson - At The Mouth Of The River Of Bees: Stories
Gwyneth Jones - Spirit: or The Princess of Bois Dormant
Ursula K. Le Guin - The Dispossessed
M.J. Locke - Up Against It
Leigh Kennedy - The Journal Of Nicholas The American
Nancy Kress - Beggars In Spain
Katherine MacLean - The Missing Man
Maureen F. McHugh - After The Apocalypse
Judith Merril - The Best Of Judith Merril
Judith Moffett - Pennterra
Elizabeth Moon - The Speed Of Dark
C.L. Moore - Clash By Night And Other Stories
Pat Murphy - The City, Not Long After
Linda Nagata - Deception Well
Kit Reed - The Story Until Now: A Great Big Book of Stories
Justina Robson - Natural History
Kristine Kathryn Rusch - Diving Into The Wreck
Pamela Sargent - Cloned Lives
Josephine Saxton - Queen Of The States
Melissa Scott - Trouble And Her Friends
Tricia Sullivan - Lightborn
Sue Thomas - Correspondences
James Tiptree Jr (a.k.a. Alice Sheldon) - Her Smoke Rose Up Forever
Lisa Tuttle - A Spaceship Made Of Stone And Other Stories
Joanna Russ - Picnic On Paradise
Joan Slonczewski - A Door Into Ocean
Joan D. Vinge - The Snow Queen
Kate Wilhelm - Where Late The Sweet Birds Sang
Liz Williams - Empire Of Bones
Pamela Zoline - The Heat Death of the Universe and Other Stories
05 Jul 17:17

Writing javascript tests with tape

by Peteris Krumins

This guide covers the ins-and-outs of tape, a simple TAP-producing test library for node and browsers. The tape API is a small superset of the node core assert module.

This guide was written for Testling. Testling lets you write continuous integration cross-browser tests that run on every git push! Once the tests run you get a badge you can put in your readme with the current browser test status. Here's how it looks:


Click the badge to learn how to write Testling tests!

For an exaustive list of all the methods that tape supports, consult the tape readme.

Simple equality with a plan

Most of the time, you'll just need to plan out a few simple asserts with t.equal(), which uses === internally:

var test = require('tape');

test('basic arithmetic', function (t) {
    t.plan(2);

    t.equal(2 + 3, 5);
    t.equal(7 * 8 + 9, 65);
});

If you want you can leave off the test name and just do:

var test = require('tape');

test(function (t) {
    t.plan(2);

    t.equal(2 + 3, 5);
    t.equal(7 * 8 + 9, 65);
});

Simple equality with an end

If you have an indefinite number of assertions, sometimes it's easier to call t.end() instead:

var test = require('tape');

test('basic arithmetic', function (t) {
    t.equal(2 + 3, 5);
    t.equal(7 * 8 + 9, 65);

    t.end();
});

Deep equality

To compare array and object references deeply, you can use t.deepEqual():

var test = require('tape');

test('deep equality', function (t) {
    t.plan(2);

    t.deepEqual([ 3, 4, 5 ], [ 3, 4, 2+3 ]);
    t.deepEqual(
        { a: 7, b: [ 8, 9 ] },
        { a : 3+4, b: [ 4*2 ].concat(3*3) }
    );
});

Comparing booleans

Just use .ok() to assert truthiness:

var test = require('tape');

test('comparing booleans', function (t) {
    t.plan(1);

    t.ok(3 > 4 || 5 > 2);
});

Negations

For each kind of assertion, prepend (and camel-case) a "not" to turn it into a negative assertion:

var test = require('tape');

test('negatives', function (t) {
    t.plan(3);
    t.notEqual(1+2, 5);
    t.notDeepEqual([1,2], [12]);
    t.notOk(false);
});

Pass/fail

If you need a test to just fail, you can call t.fail():

var test = require('tape');

test('empty map', function (t) {
    [].map(function (x) {
        t.fail('this callback should never fire');
    });

    t.end();
});

Conversely, there is a t.pass() which always succeeds:

var test = require('tape');

test('map with elements', function (t) {
    t.plan(2);

    [2,3].map(function (x) {
        t.pass();
    });
});

More info

You can always add an assertion description as the last argument:

var test = require('tape');

test('more info', function (t) {
    t.plan(2);

    t.equal(1+2, 3, 'basic arithmetic still works');
    t.ok(3+4>5, 'inequalities are as we might expect');
});

Asynchronous

Since we either plan out the number of assertions explicitly with t.plan(n) or end the test explicitly with t.end(), we don't need to do anything differently when our tests make asynchronous calls:

var test = require('tape');

test('asynchronous results', function (t) {
    t.plan(2);

    t.equal(2+3, 5);

    setTimeout(function () {
        t.equal(5+5, 10);
    }, 500);
});

Multiple serial tests

var test = require('tape');

test('first', function (t) {
    t.plan(1);
    setTimeout(function () { t.ok(true) }, 200);
});

test('second', function (t) {
    t.plan(1);
    setTimeout(function () { t.ok(true) }, 100);
});

The 'first' test will run, then the 'second'.

Nesting tests

You probably shouldn't do this very often, but you can have nested tests too:

var test = require('tape');

test('nested', function (t) {
    t.test(function (st) {
        st.plan(1);
        st.equal(1+2, 3);
    });

    t.test(function (st) {
        st.plan(1);
        setTimeout(function () {
            st.pass();
        }, 100);
    });
});

Running a tape test in node

Just run your test file directly with node:

$ node test/def.js 
TAP version 13
# defined-or
ok 1 empty arguments
ok 2 1 undefined
ok 3 2 undefined
ok 4 4 undefineds
ok 5 false[0]
ok 6 false[1]
ok 7 zero[0]
ok 8 zero[1]
ok 9 first arg
ok 10 second arg
ok 11 third arg

1..11
# tests 11
# pass  11

# ok

Running a directory full of tape tests in node

If you npm install -g tape, you get a test runner for running directories full of tests all at once:

$ tape test/*.js
TAP version 13
# defined-or
ok 1 empty arguments
ok 2 1 undefined
ok 3 2 undefined
ok 4 4 undefineds
ok 5 false[0]
ok 6 false[1]
ok 7 zero[0]
ok 8 zero[1]
ok 9 first arg
ok 10 second arg
ok 11 third arg
# (anonymous)
ok 12 should be equal

1..12
# tests 12
# pass  12

# ok

You could also use the test runner from the tap module for more terse output. First npm install -g tap, then do:

$ tap test/*.js
ok test/def.js ........................................ 12/12
ok test/falsy.js ........................................ 2/2
total ................................................. 14/14

ok

In the test runner scripts for both tap and tape you will get lots of output including line numbers when an assertion fails.

Running a tape test in a browser

First npm install -g browserify, then you can do:

$ browserify test.js > bundle.js
$ echo '<script src="bundle.js"></script>' > test.html

Then open test.html in a browser and look at the test output in the debugger. tape writes all its output to console.log() by default.

If you want to run your tests in a real headless browser locally, npm install -g testling then do:

$ browserify test.js | testling
TAP version 13
# defined-or
ok 1 empty arguments
ok 2 1 undefined
ok 3 2 undefined
ok 4 4 undefineds
ok 5 false[0]
ok 6 false[1]
ok 7 zero[0]
ok 8 zero[1]
ok 9 first arg
ok 10 second arg
ok 11 third arg

1..11
# tests 11
# pass  11

# ok

and your test will run in chrome or firefox headlessly, depending which you have installed on your system. The console.log() output is proxied from the browser to your stdout and the testling command generates an exit code by parsing the TAP output.

Running a directory full of tape tests in a browser

To run multiple tests, just use a file glob:

$ browserify test/*.js | testling
TAP version 13
# defined-or
ok 1 empty arguments
ok 2 1 undefined
ok 3 2 undefined
ok 4 4 undefineds
ok 5 false[0]
ok 6 false[1]
ok 7 zero[0]
ok 8 zero[1]
ok 9 first arg
ok 10 second arg
ok 11 third arg
# (anonymous)
ok 12 should be equal

1..12
# tests 12
# pass  12

# ok

Running tape tests on Testling

To get your tape tests running on testling simply add the "testling" field to package.json

"testling" : {
    "files" : "test/*.js",
    "browsers" : {
        "ie" : [ 6, 7, 8, 9, 10 ],
        "ff" : [ 3.5, 10, 15.0, 16.0, 17.0 ],
        "chrome" : [ 10, 20, 21, 22, 23 ],
        "safari" : [ 5.1 ],
        "opera" : [ 10, 11, 12 ]
    }
}

and setup a github hook to point to git.testling.com. Now every time you push to github the tape tests will run in all the specified browsers.

To learn more about how to write testling tests, see this article.

Conclusion

If you need more complicated abstractions in your tests, just npm install them and require() them in your tests. Just be careful that the libraries you're importing also work in browsers.

Tape shows that you don't actually need very much API to test your libraries in a powerful and flexible way that works in node and in browsers.

04 Jul 02:01

Like Eric Lippert, Neil Gaiman enjoys soup

by Eric Lippert
John Costello

Charming story!

EXCITING NEWS EVERYONE! Like Eric Lippert, Neil Gaiman enjoys soup!

That probably didn't make a whole lot of sense without context, so I should start by reposting My Buddy Neil Totally Agrees With Me from 2011:


British fantasy author Neil Gaiman was in Seattle recently. I was so disappointed that I did not find out about it until it was too late to attend his event. It's a pity I missed it because I've been wanting for years to ask Neil Gaiman if he likes soup.

To explain why, we'll have to go back to 1993.

Remember 1993? The first wave of HTTP-based document servers were going up on the internet; it was the beginning of the internet as we know it today. I was studying mathematics at Waterloo at the time. I fondly remember when we first got the Mosaic browser up and running on the colour x-terminals; it was so much more convenient than using a combination of FTP, TELNET and GOPHER clients. While browsing around I found a "Star Trek" fan web page; in fact, I suspect that I found the only "Star Trek" fan page, and I thought, hey, that's a fun idea. I could do that!

I looked around the internet - which did not take long in 1993 - and could not find a similar "Lord of the Rings" fan page. I found a fair amount of material on Tolkien: articles, and scanned-in artwork, and elvish fonts and so on, but no central "one stop shopping" location to categorize them. So I built one out of rudimentary HTML and stuck it up on the math computing department's student GOPHER server. A few months later the UW Computer Science Club put up a real HTTP web server so I rented some space from them for a couple of bucks a term and put the page "on the web".

I continued to maintain that page for several years after that, expanding it and adding lots of links. "Dave and Jerry's Guide To The Internet"1 was a big help when it came online in 1994; thanks guys. But the explosive growth of the amount of content available, the number of dead links that constantly needed trimming, and Open Text's remarkable ability to index the entire internet2 were all points against me continuing to work on this hobby, so I let it die. Though I stopped paying for it, the CSC account stayed active for a number of years after that. But the links just got more and more dead and eventually it went away entirely.

The "first mover advantage" of being the first person to put a Tolkien fan page up on the internet was considerable. Search engines use factors like the number of inbound links and the amount of time the page has been linked to as metrics for its relevance. Thus for many years my page was the first hit in every major search engine when you looked for "Tolkien". Which a lot of people did. That led to much interesting correspondence from writers, students, teachers, trivia game show fact-checkers and even some of Tolkien's relatives, which I enjoyed immensely.

Of course, journalists were using search engines by the time word of the movie trilogy broke, and therefore a number of them found me. Figuring I must be an expert, some of them then interviewed me about my opinions on the books and upcoming movies.

I hasten to note that this is already slightly ludicrous. I mean, sure, I collect books about Tolkien's work and life, so I am in some sense an expert, but I am certainly no scholar. I'm an informed and opinionated amateur at best.

I thought the acme of my success as an accidental literary pundit was when an interview with me made the front page of my hometown newspaper, the Kitchener-Waterloo Record.3 But greater things were to come. I give you now an excerpt from an interview that was syndicated by the Knight-Ridder news service:

Eric Lippert, who created one of the first Tolkien Web sites in 1993, sees the anti-Tolkien contingent as little more than literary snobs. [...blah blah blah...] Neil Gaiman, author of the fantasy series "The Sandman," said Tolkien "exists outside the orthodox canon of literature. You can't put him in a box." Like Lippert, Gaiman believes that Tolkien's commercial success is what drove his critics to jealous fury.

Now that's ludicrous. Neil Gaiman is one of the most justifiably famous and award-winning fantasy authors in the world, whereas I'm a guy with a web page full of broken links and ten dozen books about Tolkien on a shelf. Making that comparison is sorta like saying "Like Lippert, Stephen Hawking believes that the Big Bang Theory is a reasonable model of the early history of the universe."

Ever since then I have pondered this question: what other beliefs does Neil Gaiman share with me?

Neil Gaiman, if somehow you are reading this: I like soup. Do you like soup too? If you also like soup then like Eric Lippert, Neil Gaiman enjoys soup.4


OK, back to the present, or at least, the more recent past. Last night my friend Amber5 attended Neil Gaiman's sold-out book reading of his new short novel The Ocean at the End of the Lane. Without further ado:

soup

Many thanks to Amber, who waited over three hours to spend her allotted few seconds with Neil talking about soup, and of course thanks to my good buddy Neil Gaiman, who we now know for certain agrees with me on two important subjects.

UPDATE: Neil Gaiman has tweeted a link to this blog post, and so we know that Neil Gaiman knows why Amber was asking him about soup. I am sure "Neil Gaiman, do you like soup?" is not the strangest question he gets asked at book signings. "I love soup!" was his immediate answer according to Amber.

  1. Better known today as "Yahoo!" -- I still like the original name better and recommend that they consider changing it back.
  2. Open Text was created as a University of Waterloo spin-off company in the early 1990s; they built one of the first all-internet search engines. Their engine was the one originally used for full-text search by the aforementioned Yahoo! back in the day. They are now Canada's largest software company. They gave me a job offer in 1996; I often wonder how my life would have been different had I stayed in Waterloo and worked at Open Text for the last fifteen years instead of Microsoft.
  3. "I knew a Lippert would make the front page of the Record one day, " one of my aunts told me at the time, "I just figured it would be for a crime."
  4. What about snow peas? The outdoors? Talking? Not talking? You certainly agree with me about a lot of things, Neil Gaiman!
  5. And, it turns out, my coworker Bob
04 Jul 01:15

The Top F2P Monetization Tricks

by John Gruber

Ramin Shokrizade, writing at Gamasutra, on the “coercive monetization” tricks that game designers use to get you to make in-game purchases. Interesting, but depressing. (Via The Brief.)

03 Jul 02:01

One of Microsoft's Best-Kept Secrets - Python Tools for Visual Studio (PTVS)

by Scott Hanselman
John Costello

My old team makes it big with a feature on Hanselman's website :-)

Python Tools for VS
 

I've talked some about the sweet support for node and PHP in Azure. You can also File | New | Node.js express application in WebMatrix, or run WordPress and get intellisense as well.

"I installed windows just so i can use PTVS" - Comment on Hacker News

But I'm consistently shocked that folks forget about Python at Microsoft. I am a C# person, myself, but the Developer Division at Microsoft loves their languages. C++, VB, C#, F#, etc and they aren't messing about when they get serious about a language.

One of the least-known and most-kick-butt free products we have is PTVS - Python Tools for Visual Studio. Whether you're just interested in learning Python or you're a hardcore PhD who wants mixed-language Python and C++ debugging or somewhere in between, you gotta check this out. (Seriously, the mixed-mode debugging thing can't be overstressed...)

The Misconceptions

  • Microsoft? Python?  Oh, it must be all about IronPython, that's dead, right?
    • IronPython is a community-run project and just put an 2.7.4 alpha out last month.  PTVS fully supports IronPython, but the most advanced support is for standard CPython!
  • PTVS needs VisualStudio? I don't have any money.
    • PTVS, combined with the Integrated/isolated VS Shell is completely and perpetually free.  And with the advent of VS2013, they've combined them into a single installer: https://pytools.codeplex.com/releases (at bottom of page).

This is Real

Here's my VS2013 after installing PyTools (PTVS). I've got IronPython which is Python running under the .NET CLR, but I've also got Django apps as well as a regular CPython or making a new project from existing code.

Python inside VS

You can see that PTVS knows what Python engines I have installed, and I can easily switch between them. Here you can see that VS is refreshing the auto-completion (intellisense) databases for each version.

A list of Python Interpreters

There's also a complete REPL inside Visual Studio for each:

Python REPL inside VS

Developing Django Apps in Visual Studio

Maybe you're a Django (one of Python's Web Frameworks) web developer, you can use VS to develop your app.

Go File New | Django App, then make a new Python Virtual Environment from the Solution Explorer, and watch Visual Studio freaking installed pip for you (the Python package manager). It's very seamless.

Adding a Virtual Python Environment

Which gives me this:

Python in my VS and I'm FREAKING OUT

Then I right click on "dev" and just like NuGet (except this is Python, so pip) I install django:

Installing Django

Django is massive, so this took a while, but still! And.....I've accomplished Hello World in Django. Well, Hello Django, at least, launched from Visual Studio.

Hello Django

You should feel free to go and run through the whole Django Tutorial if you like and even deploy your app to Azure! You can host Django on a regular Azure Web Site, or a Virtual Machine if you want more control.

You can even interactively debug Python running in Azure on Linux from your Visual Studio instance! Check out Steve do just that at PyCon in this YouTube video.

There's a bunch of great educational and quick start Tutorials on the Python Tools YouTube Channel, they are a great resource to bookmark.

You can attach to remote Python processes over SSL and debug if you like.

Setting up Python Debugging

It's Really Integrated

Let's get real here for a second. Lots of projects plug stuff into Visual Studio. You may have made it this far into the post and be saying "oh, wah wah, this thing sets up some batch files and some syntax highlighting and calls itself a full-featured Python IDE."

Um, no. This is the best of VS and the best of Python and I'm blown away. Check this out. PTVS knows that I'm doing unit testing here and they've integrated Python Unit Testing with the VS Unit Testing UI.

Unit Testing in Python and VS? My heart can't take it!

This is debugging, remote debugging, cross language debugging, tool tips, watches, locals, call stacks, unit testing, full REPL with inline graphics, profiling, cloud publish, best of class CPython support, and so much more.

Nailed it

If you're into Python or knows someone who is, for reals, drink it in and get on board at https://pytools.codeplex.com. Check out their samples. They've got Python talking to Kinect, Python talking to Excel and more. Their PTVS Documentation is really good as well.

Just getting started? Well, go Learn Python The Hard Way.

Installing PTVS

Here's the complete install instrucitons. You need VS, the PTVS, and some Python.

    PTVS is free

    Finally, explore the Resources and Docs for Python Tools for Visual Studio, including, but not limited to Editing, Refactoring, Unit Tests, Django, IPython notebook and Azure cloud computing, Kinect for Python and Pyvot - an Excel to Python bridge.



    © 2013 Scott Hanselman. All rights reserved.
         
    02 Jul 19:26

    The Yarnell Hill Fire: The Meteorological Origins

    by Cliff Mass
    This morning I took a look at the meteorology associated with the Yarnell Hill fire in Arizona on Sunday, and the more I dug into it, the more disturbed I got.  You will see why as I explain.

    From what I can glean from news reports, the fire blew up around 4-5 PM Sunday (June 30th).   A nearby observation site (RAWS station) was located about 5 miles away.  The observations, shown below, indicates a profound wind shift from south to north around 5 PM associated with a sudden increase of wind gusts to just over 40 mph.  Solar radiation dropped rapidly at the same time, indicating a sudden increase in cloudiness.

    The origin of this sudden increase in wind is clear:  outflow from a line of convection (thunderstorms) that had developed during the preceding hours and which was moving to the southwest.  Here are some satellite images for the hours preceding and during the terrible accident (the circle indicates the location of the fire).  First image (20 UTC, 1 PM MDT, no daylight savings time there) shows the convective line to the northeast.

    By 2230 UTC (3:30 PM MST) the convective line was approaching the fire and clouds had spread over the location.

    A little over an hour later (2345 UTC) one can clearly see the development of a cumulus tower directly over the fire.   This is call pyrocumulus.  The heat from the fire can cause a tall cumulus cloud to form directly over the fire.


    The Flagstaff National Weather Service radar clearly showed the approaching convection.  Here is the radar at 2:58 PM.  You can see the arc of red/yellow/green colors approaching the fire from the NE.
    There is often an outflow of cooler air moving away from convection...the leading edge is known as a gust front (see figure).  Downdraft air from thunderstorms spread out as it hits the surface, producing strong winds.  It appears that there was such strong outflow from this convection that caused the

    winds to shift rapidly from southerly to northerly and to increase suddenly in speed (to 43 mph at the nearby station).   The vertical sounding at Flagstaff, Arizona at 0000 UTC July 1 (5 PM on Sunday) showed the potential for strong, downdraft winds, with a moist layer at midlevels (the temperature and dew point close together between 650 and 300 hPa) and dry air (big separation between temperature and dew point) near the surface (see graphic).  As rain falls into dry air, there is strong evaporation and cooling, that produces negatively buoyant (descending) air parcels that accelerate towards the surface.  When they hit the surface they spread out, producing intense horizontal winds.


    A measure of the potential for strong downdrafts and gust fronts is something called downdraft convective available potential energy (DCAPE).  The sounding at Flagstaff has values of around 1600 J per Kg, which is very high (anything above 1000 can produce strong downdrafts).

    The existence of the strong convective outflow winds is confirmed by an amazing video of the area from 4 to 4:20 PM (click on image to view, cam viewing north).  You will see strong winds picking up, an explosion of the fire, and then smoke pushing down towards the cam.  You can see a fire line explode along the crest.

     

    So it is apparent what occurred ..first the winds were from the south, followed by a rapid shift of 180 degrees, sudden increase of winds to over 40 mph, and the fire blew up and reversed direction. 

    Numerical model forecasts of this event were quite good.   NOAA runs a High Resolution Rapid Refresh (HRRR) system that makes high-resolution (3-km grid spacing) forecasts every hour, using many types of observational data to initialize it.   The forecasts from this system, started at 1900 UTC  (noon MST) and was available by 3 PM (you can access them here).   I put a red oval in the first picture to show the location of the fire, and the plot shows maximum wind speeds (knots) over the past hour..  The model simulated the convection fairly well as well as the winds it produced.  Here is the forecast for 2 PM...you can see the strong winds (red/purple colors) to the  northeast of the fire.

    The forecast for 4 PM shows the winds reaching the fire site.


    The University of Arizona WRF forecasting system also indicated the potential for strong convection-related winds. (see graphic, click to expand)

    You can see why I find this disaster so unsettling.   Hours before the incident it was clear there was a real threat...satellite and radar showed developing convection to the north that was moving south towards the fire.  High-resolution numerical models showed a threat.  Were there any meteorologists working the fire?   If not, why not?   This terrible tragedy needs to be reviewed carefully.

    A number of media outlets called the strong winds unpredictable and random.  This is not correct, as shown by the information I provided above. 



    02 Jul 17:13

    Top of the world

    by John

    burj1.jpg

    How quickly things change. When I began this blog in February, 2006 the Burj Khalifa in Dubai had been under construction for two years but wouldn’t be finished for another three; Google’s Maps was an ongoing thing but the company had yet to introduce their Street View. Now you can use the one to visit the other via the latest Street View tour which takes you up that monument to hubris at the heart of Dubai. One new feature is the addition of a scale showing the available floors: you can start at the ground floor then jump upwards having viewed a succession of expensively bland (and increasingly cramped) rooms and corridors. Google’s cameras always make places appear smaller than they are, but the effect when caught in a tiny space at the top of a very tall building gives the impression of being in a computer game where there isn’t much room to manoeuvre. Did you know there’s a Nando’s in the Burj Khalifa? I didn’t. If you’re wealthy enough you can eat multi-national cuisine while watching the dust storms blow in from the desert. They should have buried JG Ballard there. Welcome to the future.

    burj2.jpg

    The lifts on the ground floor.

    burj3.jpg

    The view from the 154th floor.

    29 Jun 16:43

    calm blue oceans

    26 Jun 05:34

    Spiegelei gave 3 stars to: Freehome

    John Costello

    "heh".

    Spiegelei reviewed:

    Freehome by C.T. Lowe
    12 of 12 people found the following review helpful
    3.0 out of 5 stars Communist Christian Sci Fi, March 1, 2013
    Verified Purchase(What's this?)
    This review is from: Freehome (Kindle Edition)
    Laden with Christian, creationist themes. Advocates the power of charismatic prayer. Displays intense anxieties about persecution of Christians, levying of taxes, the imposition of gun control, and creeping socialism. This last even though the protagonist faction appears to organize itself as a rural, christian anarchist mutual aid society with a fervent belief in barter of goods and labor in the manner of Helen and Scott Nearing. The protagonist utopia also rejects commodity commerce, and embraces universal Jubilee debt relief ("I wouldn't know where to begin making a farm." "You'd get taught. You'll get a nice house built by as many as will come, and folks around here like a good house-raising party. Build you a shop too. Help you move in. Plant a garden. Start some cows if you like. It's a big debt, but most pay it off in less than seven years. Even if you ain't got it all paid, seven years is the limit for owing on big debts." "What happens if we still owe after that?" asked Claire. "It's forgiven. Biblical. We place a lot of faith in our Bible. We don't charge interest on obligations, and anything after seven years is wiped clean.")

    The editorial position of the narrative appears to condemn corrupt, financialized capitalism on the one hand while warning darkly of "socialism" -- really the most humiliatiing, degrading form of bread-and-circuses welfare capitalism -- on the other. ("At one time, back in my ancestors' day, many of my people were trapped in charity. Confined to reservations and put on government programs that paid them to sit around and drink themselves into oblivion. Socialism, it was called. Welfare. Give the poor folks just enough to survive until they get used to it. If they have kids, well, they learn from their parents that you don't ever have to work for anything.")

    The utopian vision offered by the book points towards a Jeffersonian ideal of free yeoman farmer-settlers pursuing voluntary, unalienated social relations among one another. However, it is in truth what Marx would have called primitive communism. Freehome imagines a frontier without exploitation, slavery, or genocide. Its story is, in effect, a "do-over" of the settlement of North America that does not fully grasp the reasons such a "do-over" needs to be imagined.

    A highly political science-fiction novel with a shaky grasp of its own politics. Interesting read.
    26 Jun 05:32

    Marbles

    by jwz
    John Costello

    These are fascinating and artistic in their own right.

    23 Jun 21:14

    ALL THAT IS SOLID.

    by languagehat
    John Costello

    "A status group (Stand) has a distinctive way of life, which is regarded in a particular way, and is reflected in legal provisions and even in clothes or diet. An example in our contemporary world might be children: we think of them as fully human yet somehow as a different order of beings from adults, with a different legal position and different preoccupations."

    I've always loved this famous sentence from the Communist Manifesto, translated by Samuel Moore (under Engels's supervision) for the 1888 English edition: "All that is solid melts into air, all that is holy is profaned, and man is at last compelled to face with sober senses his real conditions of life, and his relations with his kind." The first seven words were used by Marshall Berman for the title of his superb book All That Is Solid Melts into Air (see this LH post), and it's hard to imagine a different rendering. And yet it's a very loose translation of the German, which reads "Alles Ständische und Stehende verdampft, alles Heilige wird entweiht, und die Menschen sind endlich gezwungen, ihre Lebensstellung, ihre gegenseitigen Beziehungen mit nüchternen Augen anzusehen." The first bit, "Alles Ständische und Stehende verdampft," literally means "Everything related to the traditional estates, [everything] stationary/stagnant, evaporates," but how do you say that in English without putting the reader to sleep? The LRB has an excellent letter (in response to this review) on the subject in the 6 June 2013 issue:

    Richard J. Evans’s comment on Jonathan Sperber’s attempt to find a better translation of Marx’s phrase ‘Alles ständische und stehende verdampft,’ usually rendered ‘All that is solid melts into air,’ pinpoints a particular difficulty in translating the German term Stand (LRB, 23 May). Sperber’s preferred version – ‘Everything that firmly exists and all the elements of the society of orders evaporate’ – is, well, frankly hideous. On the other hand it is a lot more accurate than the elegant version it seeks to replace. The words Stand and its adjective ständisch have been variously translated as ‘status’, ‘estate’, ‘estate-type’ and now here as ‘a society of orders’. None of these captures what Marx is talking about here, which is inequality organised on a basis other than class or market. For Marx the problem of the emancipation of the Jews was that it would ‘free’ them only to enter an unequal, class-based world and, in so doing, would dissolve what was distinctive in a Jewish way of life, whatever value you might place on that. Even more than Marx, Max Weber contrasted status-based (ständisch) inequality with market-based divisions. A status group (Stand) has a distinctive way of life, which is regarded in a particular way, and is reflected in legal provisions and even in clothes or diet. An example in our contemporary world might be children: we think of them as fully human yet somehow as a different order of beings from adults, with a different legal position and different preoccupations. To some degree, gender divisions too are ständische differences. For both Marx and Weber what mattered was that the sweeping away of the old order – the ancien regime of, er, ‘social orders’ – is at first experienced as emancipation, only for the reality to dawn that what replaces it are different forms of exploitation and oppression and new social identities grounded solely in market position: in buying or selling labour-power. The German term Stand is first cousin to the English word ‘standing’, and both Marx’s and Weber’s point was that modernity erodes all identities, honour and relationships in the acid of commercial exchange, leaving few of us really happy with where we stand.

    Jem Thomas
    Bristol

    Russian is not only lucky enough to have a corresponding adjective сословный [soslovnyi] meaning 'of or pertaining to сословие [soslovie]," where сословие is 'estate' in the old-fashioned sense of Stand (nobility, clergy, etc.), but lucky enough to have a phrase сословное и застойное [soslovnoe i zastoinoe] that chimes almost as nicely as the German "Ständische und Stehende" which it translates; the full sentence is "Все сословное и застойное исчезает, все священное оскверняется, и люди приходят, наконец, к необходимости взглянуть трезвыми глазами на свое жизненное положение и свои взаимные отношения." But since English cannot provide a literal translation that is not hideous, I'm grateful we have the option of the lovely and suggestive "All that is solid melts into air."
    23 Jun 20:55

    most students resist being educated

    by Freddie
    John Costello

    "The orthodoxy in education debates is to talk as if every student is some budding genius who needs only to have their potential unlocked and then to pursue their own bliss. Most students are not like Aaron Swartz and they never will be. Trying to erect an entire educational system based on the habits of the extremely rare individuals at the top of the heap is idiocy."

    I'm reviewing a book at the moment, and the author included the by-now boilerplate notion that the internet has made traditional education obsolete: whereas once information was locked away in the brains of teachers, or in ivory towers or expensive encyclopedias or whatever, now, information is free, and thus any student who wants to know things can simply find them online, and so teachers are out of a job. This idea is typically directed against collegiate educators, for multiple reasons, most saliently America's deep hatred of our fantastic higher education system. But the elementary logic is applicable to anyone who teaches. I hear it constantly. It's bullshit, though: it misunderstands the nature of education, and more, the nature of students.

    First, education is not and never has been about giving people knowledge. I wonder if the people making this argument have ever heard of a public library. People have always been able to get their hands on information, if they've been willing to do a little work to get it. The internet just makes it a little bit easier. If education were as easy as giving people information, then we would not talk about some such thing as education. We'd have no need to. You should know that when the printing press was on the rise in early modern Europe, there was eerily similar talk of educators being out of business. If you can just put all the knowledge in books, and those books are no longer the property of a powerful caste, what purpose do monks serve? But of course, having a book filled with the world's knowledge, and having that knowledge, are two separate things. I assure you: when I teach freshman composition, I could leave my students alone in the classroom with their textbooks for the whole semester, and they wouldn't come out of it with any more skills or knowledge than they had when they first started. My job is to cram the education into their heads.

    I don't exaggerate, and I imply resistance for a reason: most students, in most educational contexts, resist being educated. It's true. It's not just true, but banal and obvious. Why do we have truancy officers? Why do teachers device intricate schemes of punishment and reward? Why do we have Norman Rockwell visions of students playing hooky or sitting in the corner with a dunce cap? Because many students have only the barest desire to learn. That's why people made it illegal for them not to go to school!

    When Aaron Swartz died, I read a couple people lamenting that not everyone is self-educated in the way he was, that not everyone could enjoy unstructured, self-directed education like Swartz had. And I just thought to myself, god, what a fantasy. What a silly fantasy. Most people are never, ever going to be autodidacts. If such a thing were likely or even possible, we wouldn't have our endless educational debates. Let me tell you a dirty secret about college students: they mostly want more structure, not less. They are constantly asking for rubrics and models and explicit directions on how to get an A. That's the question: not "how can I do this my own way," but "how can I ensure I get the best possible grade?" I am constantly pushing back against their desire to be told how to do every individual step in every individual assignment. There's no sense in which my teaching or my students or my university are unique, in that. Many of my students are brilliant, but they want to do as little as possible to succeed. You will find that they share this tendency with most people. That's precisely why a self-directed, self-motivated, and intellectually curious student is always so refreshing. I love undergrads and I love teaching, and I'm not trying to damn people here. I'm saying that this is the role of an educator. It's not to unleash information and let students find their own bliss. It isn't, it never has been, and it can't be.

    Again, the same complaint from me: our debates about education are filled with so much bullshit fantasy about what most students or all students are like, that there's no room to talk about reality. The orthodoxy in education debates is to talk as if every student is some budding genius who needs only to have their potential unlocked and then to pursue their own bliss. Most students are not like Aaron Swartz and they never will be. Trying to erect an entire educational system based on the habits of the extremely rare individuals at the top of the heap is idiocy.

    To be useful in the education debate, you have to imagine your average student, in any level of education, as you do the average person. And very few of us imagine the average person to be a budding genius. This romanticized fantasy about what most students want or can achieve is a direct and serious impediment to making education as good as it can be. What's more, it demonstrates the basic poverty of our national conversation on the topic: so many of the loudest voices have never taught anyone anything at all.
    21 Jun 20:05

    The Siren Call of Aerobatics: Cirrus SR22 Crash

    by Sylvia

    It was the 13th of November, 2011. Two pilots were flying a rented Cirrus SR22, on their way home from the Stuart Air Show at Witham Field in Martin County, Florida. The pilot in the left seat was a 23 year-old private pilot. In the right seat, was a 34-year old commercial pilot whose family says had over 6,000 hours experience. The pilots were cousins and best friends.

    About 10 miles south of Witham Field, they saw a Sukhoi SU-29 and an Extra-300 flying in formation, piloted by friends. The Cirrus SR22 joined the formation and the planes proceeded southwest.

    ERA12FA068: Sunday, November 13, 2011 in Boynton Beach, FL

    Shortly after the flight crossed the northern border of the Loxahatchee National Wildlife Refuge, the pilot of the Su-29 observed the accident airplane’s pitch smoothly increase upward to an angle of about 30 degrees. The airplane then began a roll to the left, and pitched nose-down as it rolled to an inverted attitude. As the airplane descended, it began to roll right, before it impacted the marsh below in an approximate 80-degree nose-down pitch attitude.

    The pilot of the Su-29 contacted air traffic control as he orbited around the wreck. It was already clear that neither pilot could have survived.

    A man walking his dog saw the three aircraft which flew overhead at a low altitude, less than 1,000 feet above the ground. The FAA confirmed this with radar data, the SR22 was flying at a recorded pressure altitude of 521 feet.

    Local news coverage the day of the crash:

    It was not immediately clear who was flying the plane. The safety restraints had to be cut from the left-seat pilot but it appeared that the right-seat pilot was not wearing his shoulder harness. However, the right-seat pilot was much more experienced, a commercial pilot with over 6,000 hours of flying experience, including helicopters, corporate jets and single and twin engine aircraft.

    He was described as “a really good stick” and an “adrenaline junkie” and was clearly well-liked within the group.

    He’d obtained his private pilot certificate in 1996 and then gave it up in 2006, when he submitted a “letter of surrender” to the FAA, abandoning his commercial pilot certificate. The reason for his surrender was “in anticipation of FAA certification action” but the FAA file contained no further details or even any reference to incidents that might have led the pilot to expect action.

    In 2008, he obtained a student pilot certificate and over the next two years, he obtained his commercial pilot certificate with ratings for single and multi-engine aircraft, rotercraft helicopters, instrument airplane and helicopter.

    The SR22 was rented in his name from 11-13 November for personal use. As a part of the rental agreement, the right-seat pilot agreed that the aircraft would not be used or operated by any other person. This, combined with the pilot’s experience and statements by witnesses, has led the NTSB to state that it was “most likely” that the right-seat pilot was in control of the aircraft.

    The Cirrus SR22 is a single-engine four-seater and is currently the world’s best-selling single-engine aircraft. The SR22 is best known for the Cirrus Aircraft Parachute System (CAPS) which lowers the aeroplane slowly to the ground in the event of loss of control or other in-flight emergencies. The accident aircraft, registration N661FT, was operated by Air Orlando Flight School as a rental aircraft.

    A Blackberry mobile device found in the wreckage had photographs taken that day. The final four photographs were taken from the aircraft directly before the crash.

    Two of the photos depicted two other airplanes flying in a trailing formation off of the accident airplane’s right wing, while one of the later photos shows one airplane in a trailing formation off of the accident airplane’s left wing. The airplanes immediately off of the accident airplane’s left and right wings in the two photos appeared to be the same, though the registration number was not visible in either photo. One of the photos also showed that the left seat pilot was wearing a black t-shirt and that both shoulder restraints were on, while another photo showed that the right seat pilot was wearing a gray t-shirt. Only the right shoulder of the right seat occupant was visible, and the occupant did not appear to be wearing that shoulder restraint.

    A witness on the ground saw the aircraft shortly before the crash. He was standing with an acquaintance when they heard several loud and low airplanes.

    He remarked to his acquaintance about how close each of the airplanes was flying to the others as they flew from the northeast to the southwest. The airplane that was trailing in the formation began to lag behind when the witness looked away. Just then, the acquaintance remarked, “Whoa, that guy snapped a roll!,” referring to the lagging airplane in the formation.

    Another witness said that he’d observed two or three low wing aircraft flying southwest in close formation. He said one of the airplanes did a barrel roll before he lost sight of the formation behind trees.

    A barrel roll. In a Cirrus SR22. Let’s just make sure this is clear: the Cirrus SR22 is not an aeroplane meant for loop-de-loops. It is neither certified nor designed for aerobatic operations, nor even for turns where the angle of bank exceeds 60°. For an aileron roll, you pull the aircraft into a 90° bank. I mean, you don’t. I don’t. We wouldn’t do this in a plane which isn’t made for it. But it seemed the pilot of the SR22 that day did.

    The investigation confirmed the aerobatic maneuvers when they reviewed the data from the flight recorder. And when they reviewed the flight earlier that day. And when they reviewed the flight from the day before…

    On November 11, 2011, two days prior to the accident flight, the airplane departed BCT at 1654 and climbed to an altitude of about 2,000 feet, before beginning a shallow descent to 1,800 feet. At 1658, the airplane began to pitch up and roll to the left, reaching about 30 degrees of nose-up pitch and completing 360 degrees of roll. The airplane then continued to FA44, and landed at 1701.

    On the morning of the accident flight, the airplane departed from BCT at 1030 and climbed to an altitude of 1,500 feet. At 1037, the airplane began descending and leveled off at an altitude of about 600 feet at 1048. At 1057, the airplane began pitching nose-up and rolling to the left, reaching 32 degrees of nose-up pitch and completing 360 degrees of roll. The airplane completed a low pass down runway 12 at SUA at a GPS altitude of less than 75 feet and an indicated airspeed of 142 knots before it climbed to about 500 feet, circled the airport, and landed at 1105.

    After they departed SUA, they climbed to 1,000 feet but the flight recorder showed that at 17:34, the flight descended, with a GPS altitude of 161 feet and the measured pressure altitude was 0 feet. Over the next few minutes, the GPS altitude varied from a high of 195 feet to a low of 38 feet.

    Beginning at 1736:18, while flying at a GPS altitude of 61 feet, the airplane began a roll to the left that reached a maximum bank angle of 66 degrees about 4 seconds later. The airplane then began rolling back to the right, and at 1736:19 reached a maximum right bank angle of 70 degrees, after climbing to a GPS altitude of 308 feet. At that time, the recorded pressure altitude was 109 feet. The airplane returned to a relatively level roll attitude about 4 seconds later.

    Then the aircraft descended again, reaching a low GPS altitude of 145 feet (the pressure altitude was an invalid negative number).

    The pitch angle then began to increase, reaching a maximum of 27 degrees nose-up at 1736:36, at a GPS altitude of 129 feet, and a pressure altitude of 29 feet. Within 2 seconds, a left roll began that continued past 90 degrees, and as the roll increased, the pitch angle also began to rapidly decrease. As the airplane reached 178 degrees of left roll, the pitch had decreased to 30 degrees nose-down, at a maximum pressure altitude of 353 feet. The airplane then began to descend, and the pitch continued to decrease to 67 degrees nose-down one second later, as the roll transitioned past inverted to 138 degrees of right roll. The final recorded data point, one second later, showed the airplane in a 68 degree nose-down pitch attitude and a 42-degree right roll, at a pressure altitude of 205 feet and an airspeed of 156 knots.

    That can be hard to visualise but COPA safety have done an excellent video based on the data. The following shows the aerobatics performed in the SR-22 over the course of these two flights and the accident flight:

    One of the pilots of the aircraft said that he’d heard that the right-seat pilot had “rolled the Cirrus” in the past but had never seen him do it. But he’d never logged aerobatic flight hours and was not known to have aerobatic experience. Maybe if he had, he’d have better understood the stresses he was putting the aircraft under.

    It’s possible that the lack of a harness was the final straw which caused the right-seat pilot to lose control of the aircraft. At that height, in that aircraft, he had no chance of recovery.

    The National Transportation Safety Board determines the probable cause(s) of this accident to be:
    The right seat pilot’s decision to attempt a low-altitude aerobatic maneuver in a non-aerobatic airplane.

    The parachute was found in a bag near the wreckage. The ballistic recovery parachute system activated on impact. However, even if one of the pilots pulled the handle to activate the parachute, it wouldn’t have made any difference, not at that height.

    You can read the full report here: ERA12FA068: Sunday, November 13, 2011 in Boynton Beach, FL


    If you are interested in air crash investigations, you’ll probably enjoy my e-book, Why Planes Crash.

    PS: If you don’t have an e-book reader and would prefer the book in PDF format, just email me at sylvia@fearoflanding.com and we’ll work something out.

    20 Jun 20:45

    The quickening pace of modern life?

    by Jason Kottke
    John Costello

    Beautiful photo.

    Ah, the good old days, when people used to talk to each other in public rather than looking at their phones or listening to headphones all the time. Except that's not been the case for awhile as XKCD demonstrates with a series of quotes from various publications dating back to 1871. This is from William Smith's Morley: Ancient and Modern published in 1886.

    With the advent of cheap newspapers and superior means of locomotion... the dreamy quiet old days are over... for men now live think and work at express speed. They have their Mercury or Post laid on their breakfast table in the early morning, and if they are too hurried to snatch from it the news during that meal, they carry it off, to be sulkily read as they travel... leaving them no time to talk with the friend who may share the compartment with them... the hurry and bustle of modern life... lacks the quiet and repose of the period when our forefathers, the day's work done, took their ease...

    In 1946, a young Stanley Kubrick worked as a photographer for Look magazine and took this shot of NYC subway commuters reading newspapers:

    Kubrick Subway Newspapers

    The more things change, etc. More of Kubrick's subway photography can be found here.

    Tags: journalism   NYC   photography   Stanley Kubrick   subway   XKCD
    20 Jun 20:42

    Feel feel feel feel feel, feel the heat

    by Jason Kottke
    John Costello

    There's hot dog eating competitions -- and then there's this.

    Mary Roach travels to the state of Nagaland in India, where some of the world's hottest chili peppers grow, to observe a chili-eating competition, in which contestants see who can eat the most insanely hot chilis in 20 seconds. This guy is dealing with the after effects of competing (perhaps on a vision quest):

    Chili Contestant

    The event itself is surprisingly low-key. The mood is one of stoic grimness. No one is screaming in pain. No one will be scarred by the heat. That's not how capsaicin works. It only feels hot. The human tongue has pain receptors that respond to a certain intensity of temperature or acid. These nerve fibers send a signal to the brain, which it forwards to your conscious self in the form of a burning sensation. Capsaicin lowers the threshold at which this happens. It registers "hot" at room temperature. "It trips the alarm," says Bruce Bryant, a senior researcher at the Monell Chemical Senses Center in Philadelphia. "It says, 'Get this out of your mouth right now!'" The chili pepper tricks you into setting it free.

    The whole affair is beginning to seem like an anticlimax when I look up from my notes to see Pu Zozam headed my way. I have seen people stagger in movies, but never for real directly in my sightline. Zozam's legs buckle as he tries to keep walking. He goes down onto one knee and collapses sideways onto the floor. He rolls onto his back, arms splayed and palms up. He's making sounds that are hard to transcribe. Mostly vowels.

    This story gives me the chance to alert you to one of my favorite units of measure, the Scoville scale, a "measurement of the pungency (spicy heat) of chili peppers". As the article states, the chili used in the contest has been measured at 1,000,000 Scoville heat units (SHU). As a comparison, Sriracha sauce is about 1000-2000 SHU, jalapenos register 3,500-8,000 SHU, and habanero is about 100,000-350,000 SHU. (via coudal)

    Tags: food   India   Mary Roach
    20 Jun 18:38

    bevin the barbarian

    20 Jun 05:21

    Super Shear

    by Cliff Mass
    John Costello

    Check out the wind shear.

    Some days one can look at a time lapse cloud animation and come away amazed...and today is one of them.  A day where the winds are simultaneous blowing at many different directions and speeds above us, producing an effect that either is startling or gives you a case of meteorological disorientation. 

    Today (Wednesday) was one in which there was substantial directional wind change (shear) with height.  Our mountains often produce major differences in direction in the lowest 5-10 thousand feet, due to the channeling and blocking influences of the terrain.  But today there was even more going on, with a low center sitting over the region (see map for 500 hPa...roughly 18,000 ft at 11 AM this morning).


    Ready to see what I am talking about?  Here is a video from Greg Johnson, taken from his his dual-cam today from 9 AM to 2 PM.  This view is looking north from north Kitsap, with Whidbey Island on the horizon.   Watch the flag, which shows you the near surface winds, and the clouds above, and pay particular attention after 11 AM. (click on image to view or go to the link)

    http://www.youtube.com/watch?v=s0IIKWCc_9M&feature=youtu.be

    After 11 AM, the winds are easterly (from the right) near the surface (shown by the flag), westerly in the lower atmosphere (check out the clouds over Whidbey Island), and easterly again farther aloft (in the high clouds).

    You can get a closer view by just watching the western cam.  Here is is:
    http://www.youtube.com/watch?v=QxP7V7lWPM0&feature=youtu.be

    You can see the origin of these complex winds by looking at a few weather maps---all valid at 11 AM.  An upper level map (300 hPa pressure, about 30,000 ft) shows the trough south of Washington and strong southeasterly flow over Washington.  That is why the upper clouds were streaming towards the NW.

    A  map at 850 hPa (about 5000 ft) shows a very different story,  with northwesterly flow over the area, a deep low over western Montana, and only a weak trough along the coast.


    The observed surface winds show weak easterlies near the surface over the cam location.  The easterlies were probably due to weak troughing to the northeast of the Olympic Mts.

     The vertical shear of the wind was quite apparent still at sunset (and very beautiful as well)
     


    Large directional  and wind speed shear in the vertical is not unusual around our region, and as noted above, our terrain is a major contributor.

    One final thing...large vertical wind shear can produce turbulence for those flying through it.  There was major vertical wind shear (mainly in speed) between roughly 15,000 and 25,000 ft over our region today (the southeasterly winds strengthened rapidly with height) and this led to many reports of light to moderate turbulence.  Here is an example pilot report (pirep):

    SEA UA /OV SEA104035/TM 1726/FL250/TP B737/TB LGT OCNL MOD CHOP 250-210/RM -ZSE
    (translation.  Turbulence light with occasional moderate chop between 21,000 and 25,000 ft)