Smart Disorganized (incoming)

May 17, 2013

Fog Creek

What’s new in Kiln? View a diff between any two changesets

One of the first features we added to Kiln was diff viewing: click a changeset, see what was changed. In terms of raw page views, viewing diffs is one of the most popular features in Kiln.

But viewing a single diff isn’t always everything you want. Often, you’ll want to see all the changes made between two changesets that are farther apart—perhaps the difference between two tagged releases, or the sum of the changes made in a feature branch. With Kiln Harmony, now you can!

Simply load any changeset, and you’ll see the diff from the changeset’s first parent. Click the “Diff from another changeset…” link to search for another changeset (you can search by commit hash, tag, and branch names, or phrases in the commit message, or even filter by author and date—it’s the full power of Kiln’s search engine). Click the results to view the diff from that changeset!

Changeset search

You can see some examples on our demo site:

This feature is available in Kiln 3.0.33 and higher. Sign up for a free trial and try it out!

by Kevin Gessner at May 17, 2013 07:35 PM

Dave Winer

Scripting News: Google is the new MSM.

A picture named bulworth.gifLast night watching the NBA on TNT, new commercials for the YouTube comedy fest. The production was distinctly not YouTube. It was professional in every way. Nothing amateur about it. Google is now MSM. All that talk about Burning Man is sleight of hand. That guy has as much in common with you and me as Rupert Murdoch does.

It's not just Google, Twitter is also MSM. Facebook? Eh. Their presence on TV is mostly in URLs at the bottom of other peoples' ads. Their commercials are amateurish, awful imitations of other tech company commercials. Not to say they're the only ones with awful commercials, but theirs are awful in their amateurishness, as if one of the Zuckerbergs had started an ad agency and Zuck threw them a little business.

A blog post on Forbes suggests that Google is going to bring RSS back in a MSM-type way. You'll be able to follow Blogger blogs in Google Plus. Maybe they'll make a deal with Automattic to make it possible to follow WordPress blogs there too. But I have a feeling it won't be possible to follow Facebook user profiles. And Twitter? Maybe. Me and you? Well we can be followed, but only if we use one of the silos. We have to be locked in someone's trunk to participate.

The web is going to play the same role to all this crazy locked up stuff that it played to MSM in the 90s. We're going to be the oddballs. The ones with amateurish sites. We'll be the artisans, the local farmers of ideas. The ones that lack polish but speak from our experience. We'll do what Bulworth so famously did. I don't have access, and I don't want it. I'd much prefer to hear from other people who don't have access and don't want it.

The web keeps moving. If your attention has shifted and you can't see that, that's not the same thing as the web being lost. Maybe you got lost? :-)

May 17, 2013 03:50 PM

Alex Schroeder

Pendragon RPG

http://farm9.staticflickr.com/8413/8746075723_1d6720b08a_o.jpg

Recently Joshua Petronis-Akins asked in the Pendragon RPG Google+ community: Could anyone sell me on Pendragon? What makes it cool?

Coming from a D&D background, this is what made us want to play Pendragon RPG and The Great Pendragon Campaign:

  • a multi-generation campaign—play your knights, their sons, and their grandsons
  • the annual cycle—every session is about the adventures during the summer and the “levelling up” in winter
  • personality traits—knights have multiple traits that come in opposing pairs such as just vs. arbitrary and usually whenever you increase one, the other decreases; these traits sometimes get used to determine what the character does in spite of what the player might wish

I really like the combat system: your skill is a number; roll below this number to succeed, roll the exact number to succeed critically. In a round, there is no need to roll for initiative. It’s all opposed checks. If you want to fight multiple opponents, you must split your skill between all your opponents and roll for each one. This is devastating. If you hit, roll damage. The opponent checks whether this value is higher than their knockback stat. If so, succeed at a horsemanship test or fall off the horse. Armor reduces damage. You can further reduce damage using a shield, but only if you had a “partial success”—only if you succeeded in your check but lost against an opponent who succeeded with a higher roll.

Critical hits count as 20. If your skill rises above 20, just add that much to your roll. If your skill is 23, you roll 1d20+3. Thus, your crit range in effect is 17–20.

It’s interesting, it’s different, and it still works.

Our campaign is still in the Anarchy period.

There’s a German campaign wiki, if you want to take a look: Ritter von Salisbury.

Things we’re not that much into:

  • the resources game—gaining manors, building fortifications, hiring men, the minutiae of earning your taxes, paying for upkeep
  • the family events—we switched from the table in the rulebook to Telecanter’s Dramarama (with a few changes once we discovered that too many of our relatives kept eloping with butchers and tax men)

I bought the books in 2011 from RPG Now, and they’re still doing fine:

http://farm9.staticflickr.com/8231/8539404868_eaab402d46_n.jpg http://farm9.staticflickr.com/8244/8539409258_dd5be18586_n.jpg http://farm9.staticflickr.com/8101/8538296923_732dc0d2d7_n.jpg

May 17, 2013 07:25 AM

May 16, 2013

Dave Winer

May 15, 2013

Mark Bernstein

Eating Disorder

Michael Ruhlman loses his temper: America Has A Serious Eating Disorder.

The disorder, broadly speaking, is that we use food as the occasion of guilt. We worry about food. We shouldn’t. Worry about your friends and your family and the girl who was expelled for fooling around with chemistry. Don’t worry about your food.

Specifically, our eating disorder is that some of us get stuck in a rut when we don’t need to. Salt might be good for you or bad for you, but it’s pretty clear that a varied diet is a good thing. Don’t eat only french fries, and don’t eat only lettuce. Don’t have steak and potatoes every night. Don’t live on rice and beans. Eat different food, not all of it “healthy.” You’ll last longer.

For most of history, almost no one had a choice. Orwell visited Wigan Pier in 1937, where he saw plenty of little kids who are alive and well today. But those kids couldn’t vary their diet much because nobody could. If you were prosperous, you might have meat once a week for Sunday dinner. If not, you might have meat for Christmas. Lots of people still have too few choices. But if you can choose, mix it up.

And don’t forget the pie: stress cannot exist in the presence of pie.

Meanwhile, Tony Maws loses his temper too over some kids from Culinary Institute of America who dropped into Craigie on Main during Spring break and were too busy dissecting the food to have a good time.

May 15, 2013 05:12 PM

Dave Winer

Scripting News: What's new (or broken) with the Twitter API?

My linkblogging tool, Radio2, has a connection with Twitter. You can establish a link between your feed and Twitter so that every item in your feed is also posted to Twitter.

Here's a screen shot. To create the connection you click on the blue bird. That starts an OAuth conversation where the user gives Radio2 permission to post to his or her Twitter account.

I've been hearing, peripherally, that some part of the old Twitter API is about to be turned off, or maybe has already been turned off. I can't pay full attention because it's a small feature, used by just a few people, and I have my attention elsewhere.

Late last night I tried clicking on the blue bird, and sure enough there appears to be some breakage. Twitter complains that there is "no request token for this page." Perhaps they changed something in their OAuth implementation?

I should investigate.

If you have any clues, please post a comment.

Thanks! :-)

May 15, 2013 01:39 PM

Alex Schroeder

Treasure Hunting In Niflheim

http://farm8.staticflickr.com/7282/8739860841_54fe5d2a6a.jpg

The party had just finished The Eternal Boundary and had found a treasure map that would lead them into The Gray Waste. I prepared a very linear adventure that you can see on the on the right. I decided that the map represented an incomplete list of dangers to be overcome:

  • near the roots of Yggrasil sleeps the dragon Níðhöggr…
  • in the woods the “children” of Hekate roam freely, the trolls of Niflheim (I’m claiming that Hel and Hekate are the same)
  • there are big, flightless birds in the swamps with big hands instead of wings and they are called Diakka…
  • there is a plain where nightmares ride, the mighty horses of black riders…
  • the larval petitioners live in the sea of fog…
  • the island of the black trees is the realm of a ghoul-witch

I also had a number of NPCs in mind:

  • Njal, a priest and a drinker and a melancholy man who would act as a guide, if they wanted to pursue their connections with priestess Anja of the Freya temple
  • Raud, another priest and a gloomy, apathetic victim of Hades, who can provide them with information about Hades and who’ll offer to lead them to Hopelessness and through its gate to Hades (but this is a false lead since this gate will lead to the upper layer called Oinos where the Blood War rages)
  • Lissandra “gate-seeker” will contact them if they brag about the portal they know; she is described in Uncaged: Faces of Sigil; she can lead them to Alluvias Ruskin (in the same book) who will sell them “the holy axe with the wooden root-grip of wisdom” which will be required to travel to Niflheim via Yggdrasil

This was the first challenge: figure out whom to trust and discover through questions that Raud would lead them to the wrong layer on Hades since Oinos ≠ Niflheim. This was also the opportunity for them to learn about the apathy of Hades. One player expertly decided to spend 100gp on books with jokes, fart machines and other ludicrous things to drive away apathy and despair.

They don’t contact Njal but they do talk to Raud and end up going with Lissandra. They made such a good impression on her, in fact, that she decides to tell them about a merchant called Kherion Mallibrun (described in the section about Death of Innocence in the Planes of Conflic box). In return, he wants them to protect him from Hekate’s trolls.

This was the second challenge: take along a guide and avoid fighting rock pythons and giant squirrels on the branches of Yggdrasil.

The dragon is easy: the third challenge is simply to be quiet. The cleric is prepared and casts silence. No problem.

The woods and trolls present the fourth challenge: unbeknownst to the players, I had decided that the forest houses both wolves and trolls. Even though the party was silenced, the wolves had picked up their scent and the trolls were following the wolves. One player who plays a character that can fly decided to take a listen and fly overhead. He soon discovers the wolves and using the fillings of a little rocket full of itching powder they disable the wolves’ scent ability and the flying character distracts and enrages the trolls until they break off the chase.

In the village, they see that the merchant is selling colorful textiles and the fifth challenge is finding a guide to the island. They discover that there is a hunter of nightmares who will lead them in exchange for the funny articles one of the characters had bought. This part was all improvised but it worked well.

He warns them of the giant, flightless birds. Luckily they are slow. The party buys horses for the three characters in plate armor and can thus outrun the the sixth challenge, the Diakka birds.

I had thought that the nightmares would be the next challenge but at the table I suddenly felt strange using the nightmares as predators. As I had seen one of the players get really excited about the prospect of catching and taming a nightmare, I decided that the seventh challenge would be the temptation of catching a nightmare. The party would have to start a fight. And they didn’t…

The eight challenge had not been listed on the “treasure map”: flying yeth hounds. The party moved away from their baying (it’s effect only works within 100 ft.) and decided to avoid the dogs. It worked.

At the edge of the sea of fog, they left their guide who, when asked, said that all they had to do was ignore the larva. And they did. No talking, no eye contact, no listening. Again, the party used silence to bypass the ninth challenge. It worked.

Finally, they reached the witch, the tenth challenge. I decided to use witches from the Shark Den section of the Caverns of Slime, Vialashta and Kurmatesha, the four lesser witches, the tengu horn, and my own treasure I had rolled up. As you can see, I had prepared a different night hag in my notes (including a 65% magic resistance)… Oh well. There was a lot of talking, bluffing and haggling involved, a short discussion on the merits of both Odin and Hekate, but in the end, the orc witch has charmed the talking character and disappeared into the tent and the fight was on.

The party consisted of a cleric 5, a fighter 4, an elf 2, and some henchmen: two giant apes, a cleric 4, a fighter 2, and a magic-user 1.

The enemies:

  • Vialashta, the one-eyed crow priestess of the orcs (HD 9; AC 8; Atk 1 orcish hammer (1d6); MV 9; curse at will, roll d6: 1. slowed, 2. blind, 3. stupid like an ox, 4. weak as a baby, 5. contract the plague, 6. crippling pain; save vs. spells to avoid)
  • her four witches (HD 5; AC 8; Atk 1 cudgel (1d6); MV 9; curse 3×/day as above)
  • Kurmatesha, the orc witch (HD 9; AC 9; Atk 1 staff (1d6); MV 9; spells as per her spellbook below); she has the horn of the mountain cedar which summons twelve tengu once per day: crow-headed, flying swordsmen (HD 5; AC 7; Atk 1 two handed glass swords (2d6); MV 9 fly); if attacked she will polymorph into a shadow wolf (HD 9; AC 7; Atk 1 bite (2d6); MV 12; howl of pain (anybody touching the ground within 60 ft. must save vs. petrification or be stunned for a round and save vs. death or suffer 1d6 damage from bleeding ears)
  • the hanging tree (HD 15; AC 3; Atk 8 branches and roots (1d6 each); MV 0); the branches of the hanging tree are loaded with twitching corpses: twelve armless ghouls are hanging up there, unable to free themselves (HD 2; AC 9; Atk 1 bite (1d6); MV 12)

Kurmatesha is reduced to less than 10 hit-points in two rounds. She, in turn, blows the horn and summons the tengus, then polymorphs into a shadow wolf. The party then kills her and have a quick chat with the tengu. They want the horn (and their freedom), but one character is close enough to the horn to blow it again, at which point I decide that the tengu are all dispelled.

The second half of the battle is a running battle as the witches are standing under the hanging tree, cursing all that approach. With a desperate rush, a character delivers the arrow that has silence cast on it to the witches. The witches start releasing ghouls but they are being turned as fast as they are being released. Finally, when the crow witch Vialashta is finally held using magic, the remaining lesser witches flee into the sea of fog.

The witch tells them that the hanging tree is guarding the treasure and since they stocked up on oil and hadn’t used any of it, I decided that burning a 15 HD tree required 15 flasks of oil—and having bought 20 flasks of oil without having to use them against the trolls, that was no problem at all…

  • 20’000 gold pieces
  • 10 gems worth 1980 gold pieces (1000, 10, 50, 10, 10, 500, 100, 100, 50, 100)
  • two pieces of jewelry (“the crown and sceptre of the Ulfides”)
  • a halfling chain +1 and a small shield +1 (“the magic armor of a halfling hero with the heraldry of the Oxwrestler clan”)
  • the horn of the mountain cedar (I already fear that this item might be too powerful!)

Tags: RSS RSS RSS

May 15, 2013 09:29 AM

Lambda the Ultimate

Terra: A low-level counterpart to Lua

A very interesting project developed by Zachary DeVito et al at Stanford University:

Terra is a new low-level system programming language that is designed to interoperate seamlessly with the Lua programming language:

-- This top-level code is plain Lua code.
print("Hello, Lua!")

-- Terra is backwards compatible with C
-- we'll use C's io library in our example.
C = terralib.includec("stdio.h")

-- The keyword 'terra' introduces
-- a new Terra function.
terra hello(argc : int, argv : &rawstring)
    -- Here we call a C function from Terra
    C.printf("Hello, Terra!\n")
    return 0
end

-- You can call Terra functions directly from Lua
hello(0,nil)

-- Or, you can save them to disk as executables or .o
-- files and link them into existing programs
terralib.saveobj("helloterra",{ main = hello })

Like C, Terra is a simple, statically-typed, compiled language with manual memory management. But unlike C, it is designed from the beginning to interoperate with Lua. Terra functions are first-class Lua values created using the terra keyword. When needed they are JIT-compiled to machine code.

Seems as if the target use case is high-performance computing. The team has also released a related paper, titled Terra: A Multi-Stage Language for High-Performance Computing:

High-performance computing applications, such as auto-tuners and domain-specific languages, rely on generative programming techniques to achieve high performance and portability. However, these systems are often implemented in multiple disparate languages and perform code generation in a separate process from program execution, making certain optimizations difficult to engineer. We leverage a popular scripting language, Lua, to stage the execution of a novel low-level language, Terra. Users can implement optimizations in the high-level language, and use built-in constructs to generate and execute high-performance Terra code. To simplify meta-programming, Lua and Terra share the same lexical environment, but, to ensure performance, Terra code can execute independently of Lua’s runtime. We evaluate our design by reimplementing existing multi-language systems entirely in Terra. Our Terra-based auto-tuner for BLAS routines performs within 20% of ATLAS, and our DSL for stencil computations runs 2.3x faster than hand-written C.

May 15, 2013 08:38 AM

May 14, 2013

Aza Raskin

Psychological Pitfalls And Lessons of A Designer-Founder

It’s an exceptional time to be a product person and a founder: we are collectively responsible for—and a part of—inventing the future. In the last ten years, design has changed the face of consumer electronics. That change has impacted the way we live, from how we communicate to how we get around.

I started Massive Health as a designer and a founder. These are the most important lessons and psychological pitfalls I learned. They apply to any founder or manager who is also a creative.

Your Job Isn’t To Make A Great Product

As a founder, your job isn’t to make a great product. It’s to build a great team that makes great products. You are who you hire.

If you love doing something, under no condition should you start a VC-backed company to do more of it. You won’t. You are going to spend all of your time recruiting, fundraising, recruiting, aligning team vision, recruiting, and figuring out which fires you can safely ignore.

To maintain your psychological health, you’ll need to learn how to shift the fufillment you get from making to the fufillment of enabling a team to make. You’ll be making vicariously, not making directly. You’ll have to come to terms and internalize it or else your lack of emotional fufillment will trickle down to your team.

Very early on, you’ll be able to make stuff. Enjoy it. It won’t last. In fact, making stuff as your team grows is often more harmful than helpful.

The Dangers of “Helping” & The Power of Words

Because you will spend your time building a great team that builds great product, the moments that you directly work on product will be rare. The rarity will make it insanely tempting—and it will feel insanely good—to get your hands dirty by fixing an interaction flow, pushing around some pixels, doing an information re-architecture, or whatever you may be passionate about. Here’s the thing: that can be insanely disruptive unless handled carefully.

Here’s why:

1

You are a founder, which means each word you say lands like an anvil. Even in a very small company, and especially in a larger one, it takes fortitude and courage for a team member to honestly critique your work. The courage required isn’t a one-time cost. It’s incurred every single time. By nature of being a founder, you are used to saying things with charisma and force and you will undoubtedly be excited by your solution and argue for it. This just makes it worse. A final note: it doesn’t matter how nice you are, or how close you are to your team. As a founder, your words are always more powerful than you think.

2

It’s easy for a brainstorm to be taken as direction. I talked to Tony Fadell of Nest and iPod fame about this topic: To this day, in every conversation he has—every—he tries to reiterate whether he is brainstorming or setting direction. Putting this into practice, you’ll feel like you are repeating yourself. That everyone gets it. Don’t stop. Keep saying it. Get used to saying it.

3

When you swoop in to help with complex problems, the person working on the problem has all the context and knows the pitfalls. You’ve hired this person because they are amazing at their job. Jumping in and then advocating for your ideas is often interpreted as a lack of trust in their ability. This can be a huge morale drain. Not only that, but your suggestions may be shortsighted. You’re jumping in—they’re living it.

You are a founder because of your vision and ability. Your input is, in fact, critical.

So what should you do? Define the problem and its constraints. Framing the problem is the most important step in helping your team find the right solution. You can and should point out what’s wrong with a design or product (sandwiching it with praise), just don’t prescribe how to fix it. Never give a solution unless a team member comes to you for help.

Hype can be psychologically compromising

Massive Health launched with a fair amount of hype. We were glad for it—it gave us good brand recognition while hiring, which is the most valuable outcome of PR for a pre-launch startup. But, it’ll hurt in ways you aren’t expecting. Think back to Color and how the hype overshadowed their product; it set expectations so high that whatever they made probably wouldn’t be good enough. When their product launched, the market thrashed them. That’s the obvious way hype hurts, and it’s not even the one I’m talking about.

The more subtle (and more damaging) way that hype hurts is psychologically. The hype nestled in the back of your mind is constantly tugging, saying that your product is never good enough to launch. That it isn’t big enough. That it isn’t ground-breaking enough.

The single most important thing a founder has to know is where to focus his team’s energy: what is and isn’t safe to ignore, which shortcuts are helpful or harmful, and where and when to invest in absolute perfection.

Hype compromises that ability.

Looking back, this was a major factor in launching only one of the awesome products we were working on at Massive. As a founder, I let perfect be the enemy of the good.

Ego And Reputation

A corollary to the psychological pressure of hype is ego. All product people learn the painful process of divorcing ideas from ego. That’s how great products are made. As a founder, you’ll have to learn how to divorce your ego from your company’s success.

You’ll live with knowing that you are personally judged based upon your company’s performance. That your reputation is tied to your company’s reputation. You’ll no longer be judged on your own work, but your team’s work. It will make you want to get too directly involved in the design. And, as we know, that’s dangerous.

Early on at Massive Health, I did not articulate these worries clearly or directly. It was just a fuzzy haze of emotion that confused my decision-making. Once I was able to articulate what was going on, it helped me mitigate its effects.

Be aware that ego can and will get in the way and be ready to fight it.

So Being A Designer and A Founder Sucks?

Not at all. It gives you huge strategic advantages. The Designer Fund articulates that well.

I founded Massive Health because there was a storm brewing: just over the horizon health was about to become consumerized; that quantified self would escape its geeky beginings and morph to become mainstream; that the Apples and Googles of consumer health didn’t yet exist but were about to. At the center of it all was design; and that design-focus is enabling us, now as a part of Jawbone, to invent the future.

The more you know.

Related posts:

  1. So You Want To Be A Designer: Top 5 List
  2. Massive Health: Raised Money, Spending On New Hires

by Aza Raskin at May 14, 2013 07:23 PM

Mark Bernstein

Yahoo U

In an article incredible even for Yahoo’s low standards, Yahoo urges parents to discourage their children from the following majors, which offer relatively poor employment prospects:

  • Architecture
  • Fine Arts
  • Philosophy and Religious Studies
  • Anthropology and Archaeology
  • Film, Video, and Photographic Arts

Instead, Yahoo recommends:

  • Accounting
  • Elementary Education
  • Finance
  • Business Administration and Management
  • Health Care Administration

When your child is old, do you really think they’ll be happy that they studied Health Care Administration when they had dreamed of building wonderful buildings or studying lost civilizations?

Each of the five recommended majors has a stock photo picture of a happy graduate. The accountant, teacher, finance major, and health care admin are all women. The young manager is not.

Whatever Danielle Bundell was paid to write this, it wasn’t enough. (She has a fresh degree in journalism, not accounting.)

May 14, 2013 06:35 PM

Alex Schroeder

Scrobbling Fail

Ever since I stopped listening to music on iTunes, scrobbling is absolutely broken. I listen to music on at least three different Apple devices, sync them with iTunes every now and then, checked “Enable iPod submissions” using playlist “zuletzt gespielt” which is defined as matching both of these rules: “last played in the last 3 months” and “media kind is not podcast” with live updating. I listen to music practically constantly. If you check my profile, you’ll note huge gaps everywhere. Why is that? Are the devices “overwriting” each other? iScrobbler says 586 items queued. Ok… All I’m seeing is two new items. :(

Update: Apparently I'm an idiot. It just takes a long time (a day?) to process the tracks submitted. Yikes, sorry for the bad press, iScrobbler!

http://farm8.staticflickr.com/7286/8738643028_80349f0e2e_o.png

That’s a lot of titles…

You’ll notice that The Beatles have made a big comeback in 2013. :)

2013

http://farm8.staticflickr.com/7282/8737525023_225628fc02_o.png

2012

http://farm8.staticflickr.com/7281/8737525275_9d48546b9d_o.png

Update: Apparently there's another abandoned scrobbler… ScrobblePod.

Tags: RSS

May 14, 2013 02:13 PM

Mark Bernstein

Designing A Conference: Details

Some details might help Tinderbox novices follow “Designing A Conference With Tinderbox.” If you haven’t read that post already, you should probably read it first.

Prototypes For Papers

I seldom build a tree of prototypes in Tinderbox, but this task is an exception.

Designing A Conference: Details

We have a prototype Paper that represents a submitted research paper. It has the key attributes you’d expect: author, title, submission number, reviewer scores, and the email address of the corresponding author.

We then have a bunch of prototypes that inherit from Paper and represent various categories of accepted paper. These prototypes do two things:

  • Add some distinctive appearance, so it’s easy to scan a complex map and pick out the accepted papers.
  • Provide an easy handle for agents that want to search for all the accepted papers, or for specific kinds of accepted paper.

Agents For Double Checking

Web Science ’13, like many conferences, uses the EasyChair Web application to coordinate reviewers. EasyChair is a headache, but perhaps less of a headache than the old days where we photocopies every paper four times, stuffed and mailed a hundred envelopes, and collated reviews on paper tally lists.

EasyChair gives you a convenient count of the number of acceptances you’ve sent. Obviously, we want to be confident that our own records and EasyChair’s are in sync. One way to increase our confidence is to check that the number of accepted papers in each category matches the number of EasyChair acceptances. An agent can make short work of this.

Designing A Conference: Details

We simply look for all the notes that have the appropriate prototype, count them up, and check the total against the number of acceptance emails. If they don’t match, you know you’d better go hunt down the discrepancy!

Even then, you never know. One author of an accepted paper didn’t read his email with sufficient care, and assumed his paper had been accepted for a workshop. He came, read his paper to the workshop, and left Paris. Only as he used the train’s wifi on the return voyage did he realize his mistake. That was awkward, but not as awkward as the encounter would be with a researcher who has travelled a long distance at great expense, only to find their presentation is not on the program.

Trial By Fire

Using the prototype Tinderbox Six to manage the program was a risk. Through the process, the software changed from day to day, and it was not unusual for progress on the conference to require a quick fix to the software. Many details of the screen layout in these examples will therefore look a bit strange to today’s Tinderbox 5.12 users, and they’ll doubtless seem quaint when Tinderbox Six is actually released.

I also kept my conference notes in Tinderbox Six, such as they were — program chairs have many distractions, I was on stage a lot and it’s hard to take notes when you’re on stage.

Designing A Conference: Details

As usual, the left margin is reserved for notes to myself — especially notes about #Tinderbox features that I wanted as I made the notes. For example, the test version I was using didn’t understand that double-clicking an adornment should create a new note, just like double-clicking in the background of the map. This is the sort of thing that Test Driven Development doesn’t catch (it’s a dog that didn’t bark in the night) but that is still very good to know about. Tinderbox Six was well behaved through the conference, giving us a little more confidence as we approach the widening of the circle.

Questions? Email me.

May 14, 2013 01:38 PM

Alex Schroeder

When To Roll

Recently I left a comment on Philip Watson's thread on Google+ where he wondered whether players should know when their thief failed to hide. I said:

I let them roll in the open but will delay the roll until immediate consequences are at hand. Player says their character is hiding, no roll required. Orcs are coming. Now you roll—and if you fail, they spot you.

Consequences happen right after the result of the die roll is known. As a referee, I have have no “information advantage” and thus the question of unfairness doesn’t come up.

I was reminded of Courtney Campbell’s blog post On Skill Deconstruction: Why Roll for Resolution? He lists five reasons for rolling dice.

  1. time constraints
  2. in conflict with another entity
  3. a serious consequence for failure
  4. impossible to model at the table
  5. (partial results can make the procedure more exciting)

I’m trying to have thieves succeed automatically whenever possible. I’m going to opt for dice rolling when the conditions listed above are true. If the dungeon has wandering monsters, each failed roll to open a door or unlock a chest means one check for wandering monsters. If there are no monsters, we don’t need to know how long the thief takes to unlock the chest. It will succeed eventually.

Tags: RSS

May 14, 2013 01:25 PM

Bret Victor

Drawing Dynamic Visualizations

This talk presents a tool for creating data-driven visualizations, like D3, but via direct manipulation of the picture itself, like Illustrator.

May 14, 2013 09:57 AM

Erlang Factory

Erlang User of the Year 2013: Nominate your favourite until 17 May!

As every year, at EUC 2013 the Erlang community will reward one Erlang user whose contribution to the development of the Erlang language has been outstanding. You are invited to submit your proposed names with a short motivation until 17 May here.

Nominations will be analysed by a panel headed by Bjarne Däcker and composed of five members: Joe Armstrong, Robert Virding, Kenneth Lundin - head of the Ericsson Erlang/OTP team, Dave Smith - winner of the 2011 award  and Fred Hebert - winner of the 2012 award. 

May 14, 2013 09:53 AM

May 13, 2013

Alarming Development

Getting to simple

There is one gigantic problem with programming today, a problem so large that it dwarfs all others. Yet it is a problem that almost no one is willing to admit, much less talk about. It is easy to illustrate:

books-web

 

Too goddamn much crap to learn! A competent programmer must master an absurd quantity of knowledge. If you print it all out it must be hundreds of thousands of pages of documentation. It is inhuman: only freaks like myself can absorb such mind boggling quantities of information and still function. I wager that compared to other engineering disciplines, programmers must master at least ten times as much knowledge to attain competence.

The tragedy is that this problem is not inherent in the nature of software: it is largely our own fault. There are many reasons for this tragedy but as usual in such societal failures they boil down to the fact that the people with the power to change things have a vested interest in not doing so. But that is a topic for another discussion. For the moment I just want to define the problem.

I conjecture that in order to fix the problem we first have to be able to quantify it. Everyone gives lip service to simplicity. Then they use C++. We need an objective measure of what makes programming hard in order to hold people accountable and make progress. I want to propose a simple approximate measure of programming difficulty:

Difficulty = pages of reference documentation

In other words, the height of that stack of manuals pictured earlier. Let me qualify this definition a bit. This measures the complete documentation of a programming technology for programmers to fully understand and use it. Not tutorials. Not guides. Not code comments.

Clearly this is an imperfect approximation. An average page of the C++ manual contains a lot more knowledge presented a lot more more obscurely than an average page of the Lua manual. So the nominal 12x page ratio underestimates the actual difference. On the other hand, regular expressions are documented very precisely and concisely despite being tortuous to use. Nevertheless I want to suggest that on the whole documentation size is a reasonable approximation of how hard it is to program. More importantly, it is the only such measure I know of. I welcome better alternatives.

I have found this metric quite helpful in my own work. All designers agree that simplicity is crucial, but how do we tell when we are in the trenches fighting with different designs of a language or API? Thinking about documenting the design to its users is a good way to clarify things. Whatever makes the documentation shortest is the best.

Perhaps this metric could also help solve a big problem with computer science research: simplicity is not a result.  We can’t publish papers claiming that one language or tool is simpler than another, because there is no “scientific” way to evaluate that claim, other than empirical user studies which are essentially impossible. That is why CS research focuses on hard results like performance and theory. If researchers could accept documentation size as an approximate measure of difficulty we might be able to at least discuss the issue.

But none of that really matters. What really matters is what this metric tells us about the future of programming. By far the most effective thing we can do to improve programming is:

Shrink the stack!

I am talking about the whole stack of knowledge we must master from the day we start programming. The best and perhaps only way to make programming easier is to dramatically lower the learning curve. Now hold on to your seats, because I am going to break the most sacred taboo of our field. To shrink the stack we will have to throw shit away. Heresy! No one wants to even talk about it, much less risk their careers on it. Well, not quite no one: Alan Kay has been a lone voice in the wilderness saying this for decades.

What we need is revolutionary thinking. Revolutionary in the sense of paradigm-shifting ideas, and revolutionary in the sense of angry citizens overthrowing corrupt regimes.

Programmers of the world, unite!
You have nothing to lose but your docs.

by Jonathan Edwards at May 13, 2013 10:19 PM

Reinventing Business

Every Organization is Unique

You'll notice I've changed the subhead of this blog from "Seeking the Next Organizational Structure" to "Discovering Your Best Organizational Structure." This is a fundamental shift that comes from the first big mental change caused by the Holacracy Seminar.

After spending many years helping organize traditional programming conferences, I decided that this new Internet ought to enable better and lower-cost organization of conferences. Traditional conferences required big investments in mailings and phone marketing to generate registrations. Choosing and scheduling speakers (where I was primarily involved) was an arduous and time-consuming task; much like editing a book of contributed chapters (I did this once).

I was there when commercial microcomputers first appeared. My first computers were a Kaypro 4 and then a Kaypro 10 (with an amazing 10 Megabyte hard drive! It was The Future!). Initial attempts at "computerized learning" simply took learning tools from the real world, like flash cards, and made computer versions of them. It seems naive now to think that this would be anything like the computerized learning systems we have started to see, but at the time it was the best and most obvious thing anyone could come up with.

So it's not entirely silly that the best I could think of for a new kind of conference was to take what we were doing by hand and try to computerize it, with a little crowdsourcing thrown in to, for example, help figure out what presentations would be most desirable. It took a fair bit of delving, struggle, and help from other people before I discovered just how different a conference structure could be (Open Spaces).

It's equally unsurprising -- to me, anyway, having watched myself make similar mistakes over and over before (one hopes) eventually figuring something out -- that I would start with what we've been taught from birth: there's a structure, a single structure, for all organizations (the power hierarchy). Using the same logic I initially applied to seminars, all we have to do is find a different structure -- "The Next Organizational Structure" -- and apply that single structure to all new companies. Problem solved!

This is the first myth that the Holacracy seminar busted for me. If every organization is unique, why would they all end up with the same structure? (Because we've been told so many times that it doesn't even occur to us to question it).

Even if you accept this premise, the thought of developing a unique structure for each company is at first daunting -- again, because we've never acquired the tools to think about the problem. The solution is, again, very different: we don't use the traditional big-bang-waterfall approach where you just impose the structure ready-made, huge and ponderous so it can solve all anticipated problems. Instead, the organizational structure is grown organically, a bit at a time, always on demand (rather than anticipating needs, which produces our current overbuilt and ossified structures).

How does this organic growth happen? That requires the introduction of several other foundational concepts which is delegated to future blogs. For now, just ponder the idea that each organization can evolve its own structure, suited exactly to its own needs -- and change that structure to adapt to new issues as they arise.

by noreply@blogger.com (Bruce Eckel) at May 13, 2013 09:37 PM

Tim Ferriss

The Magic of DonorsChoose — Join Me and Reddit Co-Founder Alexis Ohanian for Dinner

DonorsChoose.org is the first charity named to Fast Company’s 50 Most Innovative Companies in the World.

I dislike most non-profits because — good intentions aside — they get little or no results.

DonorsChoose, on the other hand, is incredibly effective. In this month’s Vanity Fair, Melinda Gates describes them as “Kickstarter for classrooms.” Here’s her short article, which includes a photo spread by Annie Leibovitz. I make a guest appearance, which was a dream come true.

Here’s why I’m on their advisory board: To me, poor education is the root cause of most of our problems. DonorsChoose (DC) is helping to fix education.

This post launches a competition. If you’ve ever benefited from anything I’ve written, I’d kindly ask you to participate.

The four winners will get flown to dinner with me, Reddit co-founder Alexis Ohanian, and DonorsChoose’s founder, Charles Best.

Ready? Here are the details…

· TIMING: Monday, May 13 through June 3. This is a three-week campaign of goodness.

· PRIZES: The top two “fundraisers,” as well as two randomly chosen “donors,” will win dinner in San Francisco with Reddit founder Alexis Ohanian, DonorsChoose.org founder Charles Best, and me.

· HOW TO WIN: There are two ways to win — roll the dice, or be master of your own fate.

Random shot:

Step 1: Donate to a classroom on my Giving Page here. For bonus points and good karma, share the link far and wide: www.donorschoose.org/tim

Step 2: Cross your fingers! Once the campaign ends, DC.org will select and announce two random winner(s) who donated to my page.

Master your own fate — make dinner happen:

Step 1: Create your own “Giving Page,” by choosing the “4-Hour Chef” category from this page.

Step 2: Add a picture, description, and classroom projects to your page. Choose whichever projects you like. This will automatically add your Giving Page to my Leaderboard.

Step 3: If you like, add the 4-Hour Chef widget (on the “Create a Giving Page”) to your website, etc.

Step 4: Fundraise! Do your best to get the most donors and/or the most money into classrooms. There will be two “master of fate” winners: 1) most money raised, and 2) most donors on your page.

###

Please note: This competition is about being resourceful… and not about how many resources you personally have. So, don’t be intimidated.

I’ve run online fundraisers in the past, and the McGyvers win more often than the Donald Trumps. Be bold and get creative.

Hope to raise a glass of wine to you soon :)

Go get it!

Tim

(532) Tim Ferriss

by Tim Ferriss at May 13, 2013 04:58 PM

Mark Bernstein

Designing A Conference With Tinderbox

At the close of Web Science 13, conference chair Prof. Hugh Davis said some very kind things about the construction of the program. During the final deliberations, he was in Southampton and I was in San Francisco. When we made the final decisions late in the Southampton evening. it seemed we had a big bundle of ill-assorted papers. When Hugh awoke the next morning, all the papers were neatly sorted into sessions and assembled into a draft program.

Though Tinderbox isn’t designed for this task, it turns out that Tinderbox does it quite well. I’d like to walk through it in some detail — perhaps too much detail — because the task is itself not uncommon or unimportant, and because lots of other scheduling have similar properties.

The Nature Of The Problem

You never have enough time to plan the program for a peer-reviewed conference.

On the one hand, the deadlines for submitting papers and for submitting peer reviews need to be as late as they possibly can be. You want the latest results at the conference and the best results of the moment – not the best of last year. These days, researchers tend to submit late, and reviewers are even less punctual. While it’s possible to take a firm line with authors, reviewers have the upper hand and they know it; they’re important and busy people and you need their reviews more than they need you.

But once the reviews are in, there’s lots of pressure from the other end to have a final program. The Proceedings Chair wants the list of papers, yesterday. The Publicity Chair needs a program to publicize. The Powers That Be are always very edgy at this moment; they’ve committed to almost all the conference expenditures at this point and they’re terrified that no one will come. It never fails: the grizzled and ultra-competent Professor who has done this dozens of times before will, inevitably, wake up at this point in a cold sweat and email everyone to demand a finished program right away.

What You Can Do In Advance

In the nature of things, the Venue and the Powers That Be will dictate the shape and duration of your conference. For this conference, these constraints included:

  • A tradition of a single track, without parallel sessions
  • Three days (plus workshops, which Claudia Roda handled so adeptly)
  • Two fixed keynotes, shared with other conferences, that cannot be moved
  • Our own keynote and a plenary panel, also fixed by the speakers’ other commitments
  • We’re not buying lunch, and this is France; we need to allow plenty of time for a lunch break.
  • The opening and closing times of the auditorium (typically constrained by local regulations or work rules)

Now, other conferences have different constraints, and some of these constraints might be finessed. Computer Science conferences, for example, never have evening sessions. Biochemistry conferences do, and that’s an arrow for our quiver if we need one.

All these constraints can be hard to keep in mind, but it’s easy to write them down in the form of a quickly sketched schedule.

Designing A Conference With Tinderbox

Each box is a Tinderbox adornment. Each label is an adornment, too. This doesn’t need to be precise or drawn to scale: it’s just a sketch. (Of course, it’s much larger and easier to read on your screen).

Looking at this, we can see that we have eight sessions to plan. Each session runs 90 minutes and so can accommodate 3 long papers, 6 short papers, or some combination of long and short papers. So, we could possibly accept as many as 48 short papers.

Special Events

Web Science always has a poster session as part of the main program. It’s unusually strong, featuring good work from senior researchers. It’s tough to get experienced people to do posters, which in other conferences are dominated by student work, so we need to give posters a large and prominent slot. But we already have two keynotes on day 1! We’ll put the posters on Day 2, and give them 2 hours. But then the coffee break — which is again fixed by the venue contract — falls at the end of the posters. So, we’ll move lunch a little earlier, split the morning session in half, and now the coffee break falls conveniently at the midpoint of the poster session. We’ve got an odd space at the end of the day, but I’ve got some ideas for a setting up an invited panel anyway in the name of program balance.

Designing A Conference With Tinderbox

So now we have six sessions of research papers. I’m not happy that three of them fall on Day 3, but decide that can’t be helped.

Pecha Kucha

We’re still well in advance of making program decisions at this point. Reviewers are reading and pondering their assignments. We’ve got a lot of submissions — 198 — and lots of interesting topics. My own impression, though, is that we don’t have many papers that stand head and shoulders above the rest. Making decisions will be difficult.

In addition, I’ve been worried for years about the quality of presentations at research conferences.

Cons, or Why We Are Unhappy At Conferences

I work at my talks, but I have to: I have the legacy of a speech impediment and the handicap of choosing topics that are usually unfamiliar. Lots of researchers are not especially talented presenters, but there’s no reason to expect they would be. You wouldn’t expect researchers to be especially good singers or right fielders, either.

Pecha kucha talks (about which I’ll write more later) are usually considered a risk-averse programming technique, a way of minimizing the damage one lousy presentation can do. That’s not my concern here; we’ve got the whole arsenal of peer review to cover that. But the discipline of 20 slides, changing every 20 seconds, helps bring out the strengths and hide the weaknesses of academic presenters. No one uses enough slides: here, the format insists on it. Too many presenters forget to speak up; here, they’ve got the adrenaline rush of summing up years of research in 400 seconds. Students, especially, tend to get lost in a forest of detail, but with only 20 seconds per slide, they’re constantly reminded of the need to explain the big picture.

I want to try this. I sense that other people on the committee aren’t exactly enthusiastic about the idea, but sitting in the chair has some perks. We drop that into Day 1, session 2. That gives us 11 pecha kucha talks, and I make a mental note to ensure that some really good papers and reliable presenters are among them

Designing A Conference With Tinderbox

When discussing which papers to accept, I make a point of asking whether an accepted paper might be suitable for the pecha kucha session. By the time we’re done, we’ve filled the pecha kucha roster. (In the end, one of the best-paper winners and two runners up came from the pecha kucha session.)

The Talks

The peer review process identifies acceptable talks. Every paper is read by at least three reviewers. I try to mix expertise and disciplines in assigning reviews, so we often have very different people discussing the same paper. Difficult or contentious papers get additional reviewers. Some have five or six. The goal is to accept every paper that is acceptable, but none that are not.

In addition, we have some tight constraints. Wall space limits us to 45 posters. Our five sessions can fit 15 long papers or 30 short papers. We’ve already lined up the 11 pecha kucha papers.

Posters and Presentations

Lots of conferences use posters as a training ground, but at Web Science we want them to be a first rate venue. Some papers lend themselves to posters.

  • One strong message
  • Topics with clear appeal to everyone
  • Topics with specialized appeal and clear importance
  • Implemented systems
  • Controversial methodology

The last point bears some elaboration. Occasionally, conferences receive papers that are difficult to evaluate because they are methodologically unorthodox. Reviewers are not confident that the results are wrong, but strong doubts are expressed. Discussion will improve the underlying work, but how can you arrange for that discussion? Referee reports may not be enough, especially not if the author simple assumes the the reviewer is hostile or has failed to understand their work. A paper presentation might not work, either, because even a carefully prepared question might get bogged down in details in which most of the audience isn’t interested. Posters are perfect for this; you can meet with people and establish that (a) you’re a reasonable fellow, (b) you understand their work, but (c) they could be more convincing if only they addressed some objections.

Conversely, some topics lend themselves to presentations.

  • Lots of messages, each requiring separate discussion
  • Epistemology, ethics, literature, and other fields without strong visual language
  • Arguments that require tearing down common assumptions
  • Arguments that confirm or extend received wisdom

Lots of people will bypass a poster titled “Dogs bite!” assuming that it is student work, confirming what everyone already knows. Sometimes, this sort of research cleverly demonstrates what everyone knew but nobody could actually prove. Sometimes, we demonstrate what everyone thought they knew, but could not really have known before our new experiment. This rhetoric is more effective in a dramatic presentation than in a poster; the poster has to disclose the punchline at the outset where the presentation can build up to it properly.

So, at the end of the day we have about 30 papers destined to be posters. Now we start to build up some sessions.

Building Sessions

Designing A Conference With Tinderbox

The hard work of pulling together 700 reviews of nearly 200 papers led to a very complicated workspace that I used during program committee meetings. Every review was read, every paper examined, and most papers were discussed in some detail. In the end, we had a list of papers that were clearly acceptable, papers that clearly needed more work or that would find a better audience at a different conference, and perhaps a dozen papers on the bubble. It was time too build some sessions.

I had to start somewhere. I picked up Harry Halpin’s “Does The Web Extend The Mind?” It’s got to be a presentation — it’s a philosophy paper, it’s dense, there’s no obvious visual hook. Halpin’s got a panel on Day 3, and I’m not sure this paper is ideal in the leadoff spot on Day 1. So it’s the opening act on Day 2. We don’t have any other papers on the same topic, but we’ve got two papers that harmonize nicely with its psychological concerns.

Designing A Conference With Tinderbox

The mechanics of this are really easy. I make an alias of the paper’s note from the program committee workspace and then paste the alias onto the program adornment. The original note carries metadata like paper number and author email addresses, so those are carried along with the alias. We’ve only got an hour in this split session, so we pencil in one long and two short paper sessions, and we give the session a title.

Going back to the pool of accepted papers, I notice a study about people’s attitudes toward user-contributed reviews. This concerns ownership of crowd-sourced material, and Cory Doctorow, slated to close Day 1, is a renowned intellectual property activist. So, it would be nice if this paper were on Day 1, but not so close to the keynote that it steps on its toes. But this one can bat leadoff – it’s classic Web Science material. Again, there’s nothing else much like it but we have lots of papers about user-contributed material and also lots of papers about crowdsourcing. It’s easy to imagine a session.

Designing A Conference With Tinderbox

Most of the other sessions are equally easy to assemble. The session on Journalism and the News assembles itself. Another collects interesting papers about affinity, ranging from financial sentiment on Twitter and general concepts of privacy to gender in Facebook profiles. The remaining papers break down fairly neatly into those chiefly interested in networks and those concerned with representing data (or people). Suddenly, we’re done.

Cleaning Up

Much of this could be done in a graphics package like Visio, or OmniGraffle. But in Tinderbox, because each of those notes already has the title, author list, and lots more metadata, it was easy to write a quick export template to format the draft program, including the pecha kucha session and the list of accepted posters. All this went straight into Pages (I might easily have used Scrivener) where I fixed the formatting and made sure everything was right.

It was also easy to write agents to do simple checks. How many papers and posters were in the program? How did they compare to the number of acceptance emails we had sent? At this point, I noticed that the program showed we had accepted one poster too many. Were we listing as accepted a poster we had actually rejected? It turned out to be a clerical blunder — I’d made two aliases of one poster and hadn’t noticed the spare. But Tinderbox made it easy to check the number of papers and posters in the program against the number of acceptances we had sent out. It would be awkward to have rejected a paper and then have the researcher show up at the conference empty-handed, only to be asked to do a presentation. Double-entry accounting is your friend.

So, a few hours after the final decisions were made, we had a nice draft program ready for discussion. Additional changes would be made, but the bones of the program were all in place. When changes were needed, moreover, it was easy to move papers in the Tinderbox map and see the impact on the program.

May 13, 2013 04:39 PM

Alex Schroeder

Other Favorite Entries

http://farm8.staticflickr.com/7294/8733961353_32f503d211_n.jpg

I just posted my nominations for the One Page Dungeon Contest 2013. I also liked the following entries.

I saw Roger the GS’ recommendations the other day. What about your favorites?

Tags: RSS RSS

May 13, 2013 10:07 AM

My One Page Dungeon Contest Nominations

http://farm8.staticflickr.com/7318/8735009164_dbb6eb8e7c_n.jpg

I’ve finished reading the submissions to the One Page Dungeon Contest 2013. As always, an interesting mix of styles. Less tombs than in previous years. The ever popular “get into the dungeon and trigger a trap” is there. Bandits, undead, but no pirates! This year’s popular rare monster must have been the gibbernig mouther. It showed up in three submissions. :)

Gibbering Mouthers:

I wanted to comment on my nominations for the contest winners. I’ve done this before (2010, 2011, 2012). Writing it all down helps me think it through.

  • Daniel O'Donnell, Down Among the Dead Men: beautiful map; lovely visuals such as a well surmounted by the jaws of a giant shark or acolytes on stilts “tending” the undead in the water. It’s gruesome. It stands on its own and can be placed in my campaign.
  • Gus L., The Brittlestone Parapets: a lovely amalgam of trench warfare, undead soldiers, Beowulf, D&D as an implied post-apocalyptic setting; and it comes with an inspiring map, an interesting list of random encounters, the witch comes with the list of spells prepared, one faction can be hired for a few weeks. It’s fascinating. It stands on its own and can be placed in my campaign.
  • Jobe Bittman, Into The Demon Idol: an iconic image, a beautiful map, the giant grab pincer. Best of all: the option of reanimating it! A potential long-term change for your campaign. It’s tempting. It stands on its own and can be placed in my campaign.
  • Misha Favorov, Court of the King of No Men: a map that allows multiple approaches; the most important notes are on the map itself. That’s what I love! The two simple magic items are interesting without being overengineered: a sword dealing wounds that heal within 24h, a hammer that can be thrown once a day, a rod that allows you to control the movement of an opponent (but nothing else). It’s sylvan. It stands on its own and can be placed in my campaign.
  • Paul Gorman, Faery Ring to Alpha Ari: not the only adventure using myconids and various fungus effects, but what I liked in particular was the strange mix of fantasy and present day space exploration; the observatory and the tiny island on the one hand and a map that looks appropriate for a Mars colony. I also like how enemies come in all sizes from pixies to giant. I’m not sure it would simply fit into my campaign.
  • Ramsey Hong, Something Happened At The Temple Near Glourm: a beautiful map with village and five dungeon levels; multiple stairs and entrances; notes on the map itself. This dungeon is beautiful. It’s terrifying. It stands on its own and can be placed in my campaign.
  • Rob S, Citadel of the Severed Hand: another beautiful map with notes on the map itself; it also features myconids and “shroom effects”. The part I like is the tragic figure of the orc boss with his staghelm who hates the torturer demon because she has his son in her power. The entire setup with the two slaves is genious. It’s evil. It stands on its own and can be placed in my campaign.
  • Roger SG Sorolla, Devil's Acre: when I first read about it on the author’s blog I thought that it was an interesting take on the complex of sin, vigil, prayer, temptation, saint and devils, and all of that in a D&D context. My campaign hasn’t featured these topics, however, so I’m not sure how well it would work for me.
  • S. J. Harris, The Baleful Spring: a small tower always comes in handy. This one has a tower with an evil master and a ship with a neutral captain. I like the framing story: two diplomats trying to secure a peace accord have gone missing. It’s nothing fancy with a functional map. It’s useful. It stands on its own and can be placed in my campaign.
  • Simon Forster, Church of Consumption: a beatiful map; another cult trying to raise a demon. Unfortunately it’s very linear. Strangely enough it appears to be open on both ends with major treasure sitting right next to one of the two entrances. But… it’s so beautiful. And I love the imagery of the cultists eating their dead god, the meat grinder, the ghouls dreaming about eating the same dead god, one day… It’s gruesome. It stands on its own and can be placed in my campaign.

The One Page Dungeon Contest is just so damn useful it amazes me every year.

Tags: RSS RSS

May 13, 2013 09:18 AM

May 11, 2013

Dave Winer

Scripting News: We need a curator for the Apple river.

A picture named bus.gifI did a house-cleaning on my river server on May 9. At that time some of the rivers stopped updating. Mostly the ones that no longer have tabs in the user interface because either I personally didn't have enough interest in the subject and not many other people were reading them. I didn't feel like paying for machine resources if only one or two people were reading the flow, or if there were only one or two new items a week.

One of the rivers that I turned off is the Apple river. I use a Mac, several in fact. And I have an iPad and an iPod. I am a long-time Apple shareholder. I am an Apple user, but I am not a dedicated member of the Apple community like some people I respect are. For example, Brent Simmons, Marco Arment, John Gruber, Daniel Jalkut or Michael Gartenberg. I see a tremendous value in the river, if only someone rooted in the community would take an interest. It's also a potential money-maker, imho.

It's really time for communities to spread out and become more inclusive. With a well-curated river, the Mac community can explore more niches, and grow in some interesting ways, perhaps.

So I offer to keep running the river...

1. If someone with a site with serious flow offers to display the river on their site, linked to from their home page.

2. It can be rendered in their template.

3. I will provide support on the technical process for getting the river to display well in another site. It involves using jQuery, something I'm not an expert in. But I got it to work here, so I presume we can get it working anywhere. If we need help I know where to ask for it. ;-)

4. The curator has to have the ability to edit an OPML subscription list, and make it available at a public HTTP address. Fargo, my outliner, does this very nicely, in conjunction with Dropbox. But you can use any tool you like.

5. The person doing the curating and the person doing the display can be different people, if you like.

6. Curating here means choosing feeds, not stories. We're looking for good sources of Mac news and opinion. But it's up to those sources to decide what goes in the river. It's just an RSS aggregator on the back-end.

7. All I want in return is a link from the page back to a page that shows people how to set up their own rivers, which I will write. It won't be hype-ish. I may ask for a little money for the software.

I think the Apple river is a great place to start. Now I'm looking for one of the leaders in the Mac blogging world to step up and work with me on this. I may not be a Mac insider these days, but I go back to the beginning. I was onstage at the Mac rollout in 1984. I had an ad in the first issue of MacWorld. My product won the top Eddy in 1986. I used to go to WWDC back when it was in San Jose. I even spoke at WWDC one year. Ask Guy Kawasaki. ;-)

Let's do this. I think it'll turn out to be an important step in the growth of the Mac blogosphere.

May 11, 2013 11:16 PM

Tim Ferriss

How To Gain 20 Pounds In 28 Days: The Extreme Muscle Building Secrets of UFC Fighters

Nate Green's muscle building experiment

The following is Part 2 of a two-part guest post from Nate Green, who works with John Berardi, PhD, Georges St-Pierre’s nutritional coach.

Part 1 detailed how top UFC fighters rapidly lose weight before weigh-ins for competitive advantage.

Now, in Part 2, Nate shares how he gained 20 pounds in 28 days, using techniques an elite fighter such as Georges St-Pierre (GSP) might utilize to move up a weight class. This is a very, very comprehensive post.

If you’ve ever wondered how to quickly gain muscle — or how a GSP versus Anderson Silva super-fight could happen — you’ll want to print this out and refer to it often.

Let’s jump into the detail…

Georges St. Pierre vs. Anderson Silva: The Superfight

For the past couple of years, there have been rumors of a super-fight between current UFC Welterweight champion Georges St Pierre and current Middleweight champion Anderson Silva.

If the fight becomes a reality, it will easily be the biggest fight in UFC history.

Fans want it. Sponsors want it. UFC president Dana White wants it. The only people who seem like they don’t want it?

St Pierre and Silva.

And it’s easy to see why when you look at the stats:

St Pierre, who’s 5’10″, fights in the 170-pound division. Silva, who’s 6’2″, fights in the 185-pound division.

After reading Part 1, you know how elite fighters use weight manipulation to strategically lower their body weight before official pre-fight weigh-ins. You also know that they quickly rehydrate to get back up to their real weight.

In GSP’s case, that would be about 190 pounds. In Silva’s? 230 pounds.

So for the super-fight to go through, and for it to be a reasonably fair fight, one of two things would need to happen: either St Pierre would have to gain 20-30 pounds to move up a weight class, or Silva would have to lose 20-30 pounds to move down a weight class.

Both are very difficult.

In fact, it’s enough of a weight disparity to make even the most enthusiastic MMA fans chalk up the super-fight to a pipe dream, something that will likely never happen.

But here’s the thing: That kind of extreme weight manipulation isn’t impossible. Far from it.

In fact, it’s entirely possible to gain 20 pounds of quality mass in as little as 28 days.

That’s what Nate did recently with some help from GSP’s nutrition coach, Dr. John Berardi and Martin Rooney, a strength coach who regularly trains UFC athletes.

And in this post, we explore how a guy like GSP could gain 20-30 pounds in a short period of time, increase his power, boost his strength, and maintain his athleticism and (mostly) endurance.

And maybe — just maybe — these techniques will make this super-fight a reality.

Take it away, Nate…

Enter Nate

I recently decided to try and gain 20 pounds of quality mass in 28 days.

Why?

For starters, a lot of people in the fitness world don’t think this is possible without taking steroids. Fortunately, this isn’t true. With the right program and world-class advice, it’s attainable. I wanted to prove this beyond the shadow of a doubt.

Dr. John Berardi wanted a guinea pig to show exactly how someone like GSP could–if he wanted to–gain enough muscle to move up an entire weight class and take on a fighter like Anderson Silva.

I started the official experiment at 169 pounds and 28 days later, weighed in at 190.

This post detailed exactly how we did it.

Nate Green before muscle-building experiement

Here’s a breakdown of the strategies I used to put on 20 pounds in 28 days.

6 Strategies for Rapid Muscle Gain

[Note from Tim: Nate shares the exact meal plan and workout program after outlining the six strategies/principles. Again, after reading once, this is probably a post you'll want to print out for reference.]

STRATEGY #1: CYCLE THE AMOUNT OF FOOD YOU EAT.

We kept things simple here. My nutrition plan was split into two different kinds of days: High-Calorie or Low-Calorie.

On my weight-training days, I ate more food. This ensured I was getting a huge influx of nutrients on the days where my muscles could put them to use. On the days I did interval workouts or took off from the gym, I ate a little less food. This helped me to add weight without adding lots of body fat.

It’s important to note that even my “low calorie” days still involved eating more food than I was previously used to. So, no matter the day, I was always in a positive energy balance. Except for Sundays. Which brings me to the second strategy.

STRATEGY #2: USE INTERMITTENT FASTING.

Every Sunday I did a 24-hour fast to offset the inevitable fat gain that would normally come with an eating plan like this. The goal was for me to be in a caloric surplus – an anabolic state – six days per week, eating more calories than I burn which would lead to muscle growth.

And then I’d be in an extreme caloric deficit one day per week, which would help reset my insulin sensitivity, boost growth hormone secretion, and help stimulate fat loss while preserving my lean mass.

STRATEGY #3: GIVE YOURSELF ROOM TO GROW.

Making a big change is all about small incremental improvements. You try something for a little while, see how it works, and if you need to, make a small change and repeat the steps.

For this experiment Berardi started me off with a lot of food, enough to where I’d be in a caloric surplus and gain muscle. But he didn’t overload me as much as he could have. Not at first, at least. He wanted to leave a little wiggle room to make changes if needed.

In both Weeks 3 and 4 we strategically added more calories to help push me past a plateau when my weight stalled at 178 pounds. (You’ll see how we did that below.)

STRATEGY #4: EAT MORE FOOD. MUCH MORE.

My weight-gain nutrition plan called for way more food than I was used to eating. So instead of focusing on counting calories — which would have been a nightmare — we turned our attention instead to making sure I was in a positive energy balance.

When you eat more calories than you burn, you gain weight. Dr. Berardi knew all I’d have to do to gain weight was eat more food than I was eating before we started the experiment. And that was easy to do, since I was eating enough to only maintain a 170-pound body.

So how much food does it actually take to gain 20 pounds? I went through and added everything I ate in 28 days. Here it is:

  • 65 pounds of meat
  • 54 bananas
  • 84 scoops of protein powder
  • 72 pieces of bread
  • 36 sweet potatoes
  • 7 jars of almond butter
  • 5 jars of fruit jam
  • 8 jars of sauerkraut
  • 144 cups of vegetables
  • 36 pieces of fruit
  • 72 squares of dark chocolate
  • 8 bags of frozen blueberries and raspberries
  • 7 cans of coconut milk
  • 4 cartons of heavy whipping cream

STRATEGY #5: TRAIN YOUR ASS OFF.

Most guys think the training program is the most important part of gaining muscle. Well, most guys are wrong. If I didn’t eat enough food I could have trained as hard or as long as I wanted and not much would have happened.

Of course, the workout program is important. So Martin Rooney hooked me up with a variation of his Training For Warriors routine that he uses for high-level UFC athletes like brothers Jim and Dan Miller.

Here’s what it looked like:

Monday: Upper Body Strength

This workout focused on compound exercises and used heavy weights to build strength and target fast-twitch muscle-fibers, the ones most primed for growth.

Tuesday: Hurricane Day – Sprints

An intense total-body workout that promoted rapid fat burning and power development. Martin calls them “hurricanes” because the workouts are like a brief, powerful storm that create disruption in the muscular, cardiovascular, and neurological systems.

They’re also some of the hardest workouts I’ve ever done in my life. (I nearly passed out after my first Hurricane session; I took a 5-minute nap next to the treadmill.)

Wednesday: Off – Recovery

A much-needed rest for my muscles and mind.

Thursday: Hurricane Day – Energy Circuit

A brief, intense workout comprised of five unconventional exercises (like sledgehammer slams, medicine ball work, and rope climbs) all done in circuit fashion.

Friday: Upper Body Hypertrophy

A second upper-body day that used less complex exercises and higher reps to promote more muscle growth.

Saturday: Lower Body Strength

Just like the Upper Body Strength day, this workout focused on compound exercises and used heavy weights to build strength and target fast-twitch muscle-fibers.

Sunday: Off – Recovery

Another rest day.

So when you put it the weight-gain nutrition plan and workout program together, this is what you get:

Monday: High Calorie / Upper Body Strength

Tuesday: Low Calorie / Hurricane Sprints

Wednesday: Low Calorie / Off

Thursday: Low Calorie / Hurricane Energy Circuit

Friday: High Calorie / Upper Body Hypertrophy

Saturday: High Calorie / Lower Body Strength

Sunday: Fast / Off

STRATEGY #6: USE STRATEGIC SUPPLEMENTS.

We like to say “Supplements are supplements.” In other words, they’re ingredients you add to a smart eating and training program. They don’t replace them.

Despite what the supplement ads say, no guy has ever built a good body by taking a weird powder with a stupid name and doing nothing else.

For this experiment, however, Dr. Berardi decided I should use a few supplements strategically to maximize the amount of muscle I could build on such a short time-frame. With only 28 days to gain 20 pounds, I had to look at every opportunity to take in more calories.

The following surely didn’t “make the difference”. But they did help.

Multivitamin: Helps fix small decencies of vitamins and minerals and enhance energy metabolism. I used Optimen Multivitamin.

Protein powder: Makes eating large quantities of protein easier. I used Optimum Gold Standard Casein (for my Breakfast Pudding) and Jay Robb Egg-White Protein (for my Super Shakes).

Vitamin D: Even though natural sunlight allows our body to create Vitamin D, many of us are still deficient, which can lead to loss of muscle strength and mass and low levels of immunity. I used Vitamin D3 by NOW.

Creatine monohydrate: Helps regenerate muscle energy stores and can improve strength, boost performance, and increase muscle mass. I used Biotest creatine monohydrate.

Liquid fish oil: A key source of omega-3 fatty acids that helps improve mood and motivation while boosting fat-burning and dampening inflammation. I used Carlson’s Very Finest Liquid Fish Oil.

BCAA capsules: Helps reduce the chance of muscle tissue breakdown while stimulating protein synthesis, leading to better recovery and preservation of lean muscle mass. I used Optimum BCAA capsules primarily on my fasting days.

Greens powder: Veggies, fruits, algaes and/or grasses that have been compacted and distilled into powdered form and contain vitamins, minerals, fiber, and phytonutrients. All good things for a growing man. I used Biotest Superfood.

Peri-workout drink: Supplies essential amino acids to help re-build muscle and acts as a performance-enhancing stimulant. I used Purple Wraath by Controlled Labs.

Post-workout drink: A mixture of high-quality protein and fast-acting carbohydrates that helps your body recover and rebuild quickly. I used Universal Torrent.

The Weight Gain Menu – Weeks 1 and 2

Now that we know the strategies, let’s get to the actual menu.

HIGH CALORIE DAY (MONDAY, FRIDAY, SATURDAY)

Breakfast

Breakfast pudding

The following was all put into a blender and blended into a pudding.

2 frozen bananas, blended until creamy
1/4 cup of almond milk
3 scoops casein protein powder
2 squares high cacao chocolate

Side dish

4 pieces whole grain bread
2 Tbsp peanut or almond butter
2 Tbsp jam
multivitamin
3,000 IU vitamin D
1 tsp creatine in coffee or green tea

Immediately Pre-Workout

500ml water
10 grams BCAA’s

Sip During Workout

1L water with
1 scoop of workout drink

Immediately Post-Workout

1L water with
3 scoops post-workout drink

Post-Workout Meal

1.5lb any type of lean meat
3 cups of favorite veggies
½ cup sauerkraut*
2 large sweet or white potatoes
1 Tbsp Udo’s 3.6.9 oil

Anytime Meal

1lb any type of lean meat
3 cups of favorite veggies
½ cup sauerkraut*
2 servings of your favorite fruit
1 Tbsp fish oil

*Your body has a mixture of good and bad bacteria in it. Fermented foods like sauerkraut are rich in enzymes and help increase the amount of good bacteria in your intestines. You’ll notice my diet contained a cup of sauerkraut per day. That’s not in there by chance.

LOW CALORIE DAY (TUESDAY, WEDNESDAY, THURSDAY)

Breakfast

Breakfast pudding

2 frozen bananas, blended until creamy
1/4 cup of almond milk
3 scoops casein protein powder
2 squares high cacao chocolate

Side dish

2 pieces whole grain bread
1 Tbsp peanut or almond butter
1 Tbsp jam
multivitamin
3,000 IU vitamin D
1 tsp creatine in coffee or green tea

Lunch

1.5lb any type of fattier meat
3 cups of favorite veggies
1/4 cup mixed raw nuts
½ cup sauerkraut
1 large sweet or white potato
1 Tbsp Udo’s 3.6.9 oil

Dinner

1lb any type of fattier meat
3 cups of favorite veggies
½ cup sauerkraut
1 servings of your favorite fruit
1 Tbsp fish oil

FASTING DAY (SUNDAY)

I fasted every Sunday with the goal to reboot my insulin sensitivity and carb tolerance before another 6 days of big eating. The rules were simple:

Rule 1: Stop eating by 10pm on Saturday.

Rule 2: On Sunday, have 3 “meals” consisting of the following:

  • 1L water with 1/2 serving greens powder
  • 15g BCAA’s
  • 1 cup of green tea

Why have these fake meals? According to Dr. Berardi, we release a hormone called ghrelin about 30 minutes before our normal meal times, which stimulates hunger pangs and gets us ready for the upcoming meal.

So it was psychologically comforting to have some kind of eating routine. The BCAAs and greens powder made it feel like I was still “eating”, which helped curb those hunger signals. (Plus the BCAAs helped preserve my lean muscle mass.)

Also, the caffeine in green tea (or coffee) helped to liberate stored fats. This helped my body eat the “food” that was stored in my love handles instead of requiring me to actually have a meal.

Rule 3: Break the fast at 10pm Sunday night by eating 1 pound of any protein with 3-4 cups of veggies.

Nate Green's high calorie breakfast

Nate Green high calorie lunch

Nate Green dinner

The  Weight Gain Menu – Weeks 3 and 4

My menu on Weeks 3 and 4 followed the same base menu as above but we strategically added calories. In Week 3, we introduced a Super-Shake (basically a fancy protein shake) because by this time I was tired of chewing. Drinking a shake was much easier.

Here’s what we added:

WEEK 3 ADDITIONS

High-Calorie Day Super Shake (Monday, Friday, Saturday)

  • 8 oz unsweetened almond milk
  • 2 Tbsp heavy cream/whipping cream
  • 1 scoop protein powder
  • Handful frozen raspberries
  • Handful frozen blueberries

Low-Calorie Day Super Shake (Tuesday, Wednesday, Thursday)

  • 8 oz unsweetened almond milk
  • 2 oz coconut milk
  • 1 scoop protein powder
  • 2 Tbsp cacoa nibs or 99% chocolate
  • 1 Tbsp favorite nut butter

WEEK 4 ADDITIONS

We continued to add more food to my existing meals in Week 4.

Additions to High-Calorie days

  • 1 banana to my breakfast pudding (for a total of 3 bananas)
  • 1 chocolate square to my breakfast pudding (for a total of 3 chocolate squares)
  • 1 scoop Purple Wraath to my workout drink (for a total of 2 scoops)
  • 1 scoop Universal Torrent to my post-workout drink (for a total of 4 scoops)
  • 2 Tbsp nut butter to my breakfast toast side-dish (for a total of 4 Tbsp)
  • 1 Tbsp of jam to my breakfast toast side-dish (for a total of 2 Tbsp)
  • 2 Tbsp heavy cream to my Super Shake (for a total of 4 Tbsp)
  • 1 scoop protein to my Super Shake (for a total of 2 scoops)

Additions to Low-Calorie days

  • 1 banana to my breakfast pudding (for a total of 3 bananas)
  • 1 chocolate square to my breakfast pudding (for a total of 3 chocolate squares)
  • 1 Tbsp nut butter to my breakfast toast side-dish (for a total of 2 Tbsp)
  • 2 oz coconut milk to my Supe Shake (for a total of 4 oz)
  • 1 scoop protein to my Super Shake (for a total of 2 scoops)
  • 1 Tbsp chocolate to my Super Shake (for a total of 3 Tbsp)
  • 1 Tbsp nut butter to my Super Shake (for a total of 2 Tbsp)

These were seemingly small changes that made a big impact on how much weight I gained this week.

Workout Program – Week 1

MONDAY – UPPER BODY STRENGTH

Warm-up

3 sets jumping jacks x 10
3 sets pogo jumps x 50
3 sets of wide outs x 10
2 sets of 20 yard skips
2 sets of 20 yard side shuffle
2 sets of 20 yard carioca
2 sets of 20 yards backward run
1 set of fire hydrants x 8
1 set of forward hip circles x 8
1 set of backward hip circles x 8
1 set of side leg raise x 8
2 sets of band shoulder external rotation x 10
2 sets of band shoulder row x 10
2 sets of band shoulder extension x 10

Weights

Bench Press

Warm-up sets of 5 reps up to the weight of your 5RM (5 Rep Max)
Perform 5 sets of 5RM.

Weighted Chin-up

Warm-up set of 8 reps.
Second set with 25 pounds of 6.
Perform 4 sets of 6 reps with 6RM.

Weighted Dips

Warm-up set of 10 reps.
Second set with 30 pounds for 8.
Perform 4 sets of 8 reps with 8 RM.

Overhead Press

Perform 4 sets of 10 with 10RM.

Barbell Curls 

Perform 4 sets of 10 with 10RM.

Abs of your choice

(I did 3 sets of 8 reps of weighted crunches.)

TUESDAY – HURRICANE SPRINTS 

Warm-up

3 sets jumping jacks x 10
3 sets pogo jumps x 50
3 sets of wide outs x 10
2 sets of 20 yard skips
2 sets of 20 yard side shuffle
2 sets of 20 yard carioca
2 sets of 20 yards backward run
1 set of fire hydrants x 8
1 set of forward hip circles x 8
1 set of backward hip circles x 8
1 set of side leg raise x 8
5 sets of quick steps for 5 yards
5 sets of high knees for 5 yards

Hurricane Category 2

Round 1

Sprint on treadmill at 10 mph and 10% grade incline for 25 seconds.
Jump off treadmill and perform the following:

1 x 20 regular crunch
1 x 20 table-top crunch

Repeat from beginning for a total of 3 rounds.
Rest 2 minutes before moving on to Round 2.

Round 2

Sprint on treadmill at 11 mph and 10% grade incline for 20 seconds.
Jump off treadmill and perform the following:

1 x 20 knee-grab crunch

Repeat from beginning for a total of 3 rounds.
Rest 2 minutes before moving on to Round 3.

Round 3

Sprint on treadmill at 12 mph and 10% grade incline for 20 seconds.
Jump off treadmill and perform the following:

1 x 20 bicycle crunch

Repeat from beginning for a total of 3 rounds.

WEDNESDAY – OFF

THURSDAY – HURRICANE ENERGY CIRCUIT 

Warm-up

3 sets jumping jacks x 10
3 sets pogo jumps x 50
3 sets of wide outs x 10
2 sets of 20 yard skips
2 sets of 20 yard side shuffle
2 sets of 20 yard carioca
2 sets of 20 yards backward run
1 set of fire hydrants x 8
1 set of forward hip circles x 8
1 set of backward hip circles x 8
1 set of side leg raise x 8
5 sets of quick steps for 5 yards
5 sets of high knees for 5 yards 

Training For Warriors Circuit 

Complete each station of the circuit for 1 minute for 5 total minutes. Rest for 3 minutes and repeat.  Rest for 3 minutes and perform the last round for 30 seconds each station.

1. Rope

Begin standing holding one end of the rope in each hand. Start by performing 10 double arm swings by bringing the arms up and down as violently as possible. Then perform 10 alternating swings by bringing each arm up and down one at a time. Then perform 10 rotations by bringing each arm up and out to the sides and back down. Once all 30 reps are completed as fast as possible, start back at the beginning for the allotted time.

2. Kettlebell Swing

Begin standing with the kettlebell in both hands. Swing the bell between the legs. Extend at the knees and hips and swing the bell forward to shoulder height.  Repeat for 10 reps.  Then perform 10 more reps using each arm (single-handed swings). Once the 30 reps are completed, start back at the beginning with two hands for the allotted time.

3. Medicine Ball Slams

Begin holding the medicine ball in both hands overhead. Fire the ball into the ground as hard as possible. Recover the ball and repeat for as many reps as possible in the allotted time.

4. Sledge Hammer Swings

Begin facing the tire with both feet forward holding the hammer. Bring the hammer back and over one side of the body and hit the tire as hard as possible. Return the hammer over the other side of the body and repeat for as many reps as possible in the allotted time.

5. Ladder

Begin standing inside of the ladder with both feet.  Jump and land with your feet outside of and forward one box. Jump your feet back into the box and repeat for the length of the ladder and back.  Once completed, begin running with high knees using one foot in each box, down and back the length of the ladder. Once this second set is finished, perform side steps through the ladder using two feet in each box down and back up the ladder.  Once the third set is completed, start at the beginning and complete as many reps in the allotted time possible.

FRIDAY – UPPER BODY HYPERTROPHY

Warm-up

3 sets jumping jacks x 10
3 sets pogo jumps x 50
3 sets of wide outs x 10
2 sets of 20 yard skips
2 sets of 20 yard side shuffle
2 sets of 20 yard carioca
2 sets of 20 yards backward run
1 set of fire hydrants x 8
1 set of forward hip circles x 8
1 set of backward hip circles x 8
1 set of side leg raise x 8
2 sets of band shoulder external rotation x 10
2 sets of band shoulder row x 10
2 sets of band shoulder extension x 10

Weights 

Close Grip Bench

Do 3 warmup sets of 5 reps.
Perform 4 sets of 8 with your 8 RM.

Cable High Pull

Do 4 sets of 10 reps after a warmup set.

Band Triceps Pushdown

Do 4 sets of 15 reps.

Cable Rows

Do 4 sets of 8 reps with 8RM.

Dumbbell Curls

Do 3 sets of 8 each arm.

Abs of your choice.

(I did 3 sets of 5 reps on each side of half-kneeling chops.)

SATURDAY – LOWER BODY STRENGTH

Warm-up

3 sets jumping jacks x 10
3 sets pogo jumps x 50
3 sets of wide outs x 10
2 sets of 20 yard skips
2 sets of 20 yard side shuffle
2 sets of 20 yard carioca
2 sets of 20 yards backward run
1 set of fire hydrants x 8
1 set of forward hip circles x 8
1 set of backward hip circles x 8
1 set of side leg raise x 8

Weights

45-degree back raise

Perform 1 set of 10 with bodyweight.
Perform 1 set of 8 with 25 pounds.
Perform 1 set of 8 with 45 pounds.
Perform 1 set of 8 with 70 pounds.

Barbell Squat

Do 3-4 warmup sets.
Perform 5 sets of 8 reps with 8RM.

Deadlift

Do 3-4 warmup sets.
Perform 5 sets of 8 reps with 8RM.

SUNDAY – OFF

WORKOUT PROGRAM – WEEK 2

MONDAY – UPPER BODY STRENGTH

Warm-up

Same as Week 1.

Weights

Bench Press

Warmup sets of 6 reps up to the weight of your 6RM.
Perform 5 sets of 6RM.

(The goal is to use heavier weight in last few sets than Week 1 at 5 reps.)

Weighted Chin-up

Warmup set of 8 reps.
Do second set with 25 pounds for 8 reps.
Perform 4 sets of 8 reps with 8RM.

(The goal is to use heavier weight in last few sets than Week 1 at 6 reps.)

Weighted Dips

Warmup set of 10 reps.
Do second set with 30 pounds for 10.
Perform 4 sets of 10 reps with 10RM.

(The goal is to use heavier weight in last few sets than Week 1 at 8 reps.)

Overhead Press

Perform 5 sets of 6 with 6RM.

Barbell Curls

Perform 5 sets of 8 with 8RM

Abs of your choice

(I did 3 sets of 10 weighted crunches.)

TUESDAY – HURRICANE SPRINTS 

Warm-up

Same as Week 1.

Round 1   

Sprint on treadmill at 9.5 mph x 10% grade for 25 seconds.
Jump off treadmill, grab a 65-pound barbell and do the following:

Push Jerks x 10
Close Grip Snatch x 8

Repeat from beginning for a total of 3 sets.
Rest 2 minutes before performing Round 2.

Round 2   

Sprint on treadmill at 10.5 mph x 10% grade for 25 seconds.
Jump off treadmill, grab a 65-pound barbell and do the following:

Wide Grip Bent Over Row x 10
High Pull x 10  

Repeat from beginning for a total of 3 sets.
Rest 2 minutes before performing Round 3.

Round 3  

Sprint on treadmill at 11.5 mph x 10% grade for 25 seconds.
Jump off treadmill, grab a 65-pound barbell and do the following:

Biceps Curl x 10
Cleans x 10

Repeat from beginning for a total of 3 sets.
Curl into a ball and try not to throw up.

WEDNESDAY – OFF

THURSDAY – HURRICANE ENERGY CIRCUIT 

Warm-up

Same as Week 1.

Training For Warriors Circuit 

Complete each station of the circuit for 1 minute for 5 total minutes. Rest for 3 minutes and repeat. Rest for 3 minutes and perform the last round for 30 seconds each station.

1. Farmer’s Walk   

Begin standing holding a heavy dumbbells in each hand with the elbows extended. Walk for 20 yards down and back as many times as possible in the time allotted.

2. Sandbag Drag   

Begin facing the sandbag while gripping the bag with both hands.  Drag the bag backward for 20 yards, using a toe-heel foot contact. Repeat for the distance as many times as possible in the time allotted.

3. Hand-Over-Hand Rope Pull 

Begin standing with the single rope in each hand. Pull the rope to the hip with the far hand and then grab further down the rope with the opposite hand. Repeat for as many times as possible in the allotted time.

4. Prowler Push or Sled Push

Begin using the high grip on the Prowler. Taking as big of steps as possible, push it 20 yards. Run around to the other side and push it back using the low grip. Repeat for as much distance as possible in the allotted time.

5. Tire Flip 

Begin facing the tire. Bend down and grab both hands under the bottom rim. Using the legs, lift the tire onto one side while keeping the elbows extended.  Turn the hands over and push the tire down as hard as possible. Run to the opposite side of the tire and flip it back to the other side. Repeat for as many reps as possible in the allotted time.

FRIDAY – UPPER BODY HYPERTROPHY

Warm-Up

Same as Week 1.

Weights

Close Grip Bench

Do 3 warmup sets of 5 reps.
Perform 4 sets of 10 with your 10RM.

Cable High Pull

Do 4 sets of 8 reps after a warmup set.

Band Triceps Pushdown

Do 4 sets of 20 reps.

Cable Rows

Do 4 sets of 8 reps with 8RM.

Dumbbell Curls

Do 3 sets of 8 each arm.

Abs of your choice.

(I did 3 sets of 6 reps on each side of half-kneeling chops.)

SATURDAY – LOWER BODY STRENGTH

Warm-up

Same as Week 1.

Weights

45-degree back raise

Perform 1 set of 10 with bodyweight.
Perform 1 set of 8 with 25 pounds.
Perform 1 set of 8 with 45 pounds.
Perform 1 set of 8 with 90 pounds.

Barbell Squat

Do 3-4 warmup sets.
Perform 5 sets of 8 reps with 8RM.

Deadlift

Do 3-4 warmup sets.
Perform 5 sets of 8 reps with 8RM.

SUNDAY – OFF

WORKOUT PROGRAM – WEEK 3

MONDAY – UPPER BODY STRENGTH

Warm-up

Same as Weeks 1 and 2.

Weights

Band Bench Press

Warmup sets of 5 reps up to the weight of your 5RM.
Perform 5 sets of 5RM.

(I used mini-bands. Here’s a video of how they work.)

Alternating Grip Weighted Chin-up

(One hand using a overhand grip, and the other hand using an underhand grip.)

Warmup set of 8 reps. (4 reps with each grip.)
Do second set with 25 pounds for 8 reps. (4 reps with each grip.)
Perform 4 sets of 8 reps with 8RM. (4 reps with each grip.)

Weighted Dips

Warmup set of 6 reps.
Do second set with 40 pounds for 6 reps.
Perform 5 sets of 6 reps with 6RM.

Overhead Press

Perform 5 sets of 5 with 5RM.

Barbell Curls

Perform 4 sets of 8 with 8RM

Abs of your choice

(I did 3 sets of 10 of reverse crunches.)

TUESDAY – HURRICANE SPRINTS 

Warm-up

Same as Weeks 1 and 2.

Round 1   

Sprint on treadmill at 9.5 mph x 10% grade for 25 seconds.
Jump off treadmill, grab a 65-pound barbell and do the following:

High Pull x 10
Bent-over Row x 8

Repeat from beginning for a total of 3 sets.
Rest 2 minutes before performing Round 2.

Round 2   

Sprint on treadmill at 10.5 mph x 10% grade for 25 seconds.
Jump off treadmill, grab a 65-pound barbell and do the following:

Close-Grip Snatch x 10

Repeat from beginning for a total of 3 sets.
Rest 2 minutes before performing Round 3.

Round 3  

Sprint on treadmill at 11.5 mph x 10% grade for 25 seconds.
Jump off treadmill, grab a 65-pound barbell and do the following:

Cleans x 10

Repeat from beginning for a total of 3 sets.

WEDNESDAY – OFF

THURSDAY – HURRICANE ENERGY CIRCUIT 

Warm-up

Same as Weeks 1 and 2.

Training For Warriors Circuit 

Same exercises as Week 1 but with different time parameters  Complete each station of the circuit for 30 seconds for 2.5 total minutes. Rest for 1 minute and repeat. Do 4 total sets.

FRIDAY – UPPER BODY HYPERTROPHY

Warm-Up

Same as Weeks 1 and 2.

Weights

Incline Barbell Bench Press

Do 3 warmup sets of 5 reps.
Perform 4 sets of 10 with your 10RM.

One-Arm Dumbbell Row

Do 4 sets of 8 reps after a warmup set.

Cable Triceps Pushdown

Do 4 sets of 12 reps.

Bent-Over Reverse Fly with Dumbbells

Do 4 sets of 8 reps with 8RM.

Dumbbell Curls

Do 3 sets of 8 reps.

Abs of your choice.

(I did 3 sets of 8 reps on each side of half-kneeling chops.)

SATURDAY – LOWER BODY STRENGTH

Warm-up

Same as Weeks 1 and 2.

Weights

45-degree back raise

Perform 1 set of 10 with bodyweight.
Perform 2 sets of 8 with 45 pounds.
Perform 2 sets of 8 with 90 pounds.

Barbell Squat

Do 3-4 warmup sets.
Perform 5 sets x 6 of 6RM.

Deadlift

Do 3-4 warmup sets.
Perform 5 sets x 6 of 6RM.

SUNDAY – OFF

WORKOUT PROGRAM – WEEK 4

MONDAY – UPPER BODY STRENGTH

Warm-up

Same as Weeks 1, 2, and 3.

Weights

Band Bench Press

Warmup sets of 8 reps up to the weight of your 8RM.
Perform 5 sets of 8RM.

Weighted Pull-Up

Warmup set of 8 reps.
Do second set with 25 pounds for 8 reps.
Perform 3 sets of 6 reps with 40 pounds added.

Weighted Dips

Warmup set of 6 reps with 25 pounds added.
Do second set with 40 pounds for 6 reps.
Perform 5 sets of 6 reps with 80 pounds added.

Overhead Press

Perform 4 sets of 8 with 8RM.

Barbell Curls

Perform 4 sets of 10 with 10RM

Abs of your choice

(I did 3 sets of 12 of reverse crunches.)

TUESDAY – HURRICANE SPRINTS 

Warm-up

Same as Weeks 1, 2, and 3.

Round 1   

Sprint on treadmill at 10 mph x 10% grade for 30 seconds.
Jump off treadmill, and do the following with light weight:

Cable Row x 10
Cable Triceps Pressdown x 8

Repeat from beginning for a total of 3 sets.
Rest 2 minutes before performing Round 2.

Round 2   

Sprint on treadmill at 10.5 mph x 10% grade for 30 seconds.
Jump off treadmill, and do the following with light weight:

Cable High-Pull to Chin x 10

Repeat from beginning for a total of 3 sets.
Rest 2 minutes before performing Round 3.

Round 3  

Sprint on treadmill at 11.5 mph x 10% grade for 30 seconds.
Jump off treadmill, and do the following with light weight:

Cable Lat Pull-Down x 10

Repeat from beginning for a total of 3 sets.

WEDNESDAY – OFF

THURSDAY – HURRICANE ENERGY CIRCUIT 

Warm-up

Same as Weeks 1, 2, and 3.

Training For Warriors Circuit 

Same exercises as Week 2 but with different time parameters  Complete each station of the circuit for 30 seconds for 2.5 total minutes. Rest for 1 minute and repeat. Do 4 total sets.

FRIDAY – UPPER BODY HYPERTROPHY

Warm-Up

Same as Weeks 1, 2, and 3.

Weights

Incline Barbell Bench Press

Do 3 warmup sets of 5 reps.
Perform 4 sets of 6 with 6RM.

One-Arm Dumbbell Row

Do 4 sets of 8 reps after a warmup set.

Cable Triceps Pushdown

Do 4 sets of 10 reps.

Bent-Over Reverse Fly with Dumbbells

Do 3 sets of 10 reps.

Dumbbell Curls

Do 3 sets of 8 reps.

Abs of your choice.

(I did a basic plank for 3 sets of 30 seconds.)

SATURDAY – LOWER BODY STRENGTH

Warm-up

Same as Weeks 1, 2, and 3.

Weights

45-degree back raise

Perform 1 set of 10 with bodyweight.
Perform 2 sets of 8 with 45 pounds.
Perform 2 sets of 8 with 90 pounds.

Barbell Squat

Do 3-4 warmup sets.
Perform 5 sets x 10 of 10RM.

Deadlift

Do 3-4 warmup sets.
Perform 5 sets x 8 of 8RM.

SUNDAY – OFF

Girth, Body Fat, and Performance Metrics After Gaining 20 Pounds

Nate Green after muscle-building experiment

So let’s say Georges St Pierre wanted to put on 20 pounds to move up a weight class to fight Anderson Silva. (Granted, he probably wouldn’t do it in 28 days.)

What would happen to his performance? Would he get slow and fat? Or even more powerful and agile?

We can only speculate with GSP, but here’s what happened to me.

Baseline After Weight-Gain
Weight 169.6 190.2
Girth Measurements
Neck 15.25 15.38
Shoulder 48 49.25
Chest 41.5 44
Upper Arm 14.75 16
Waist 31.5 32.25
Hip 38 39.5
Thigh 23.13 24.25
Calf 15.5 15.38
Body Fat Measurements
Mid-Ax 2.8 3.8
Cheek 2.8 5.7
Chest 2.8 4.7
Ab 7.6 3.8
Subscap 5.7 7.6
Triceps 2.8 3.8
Suprailiac 2.8 4.7
Knee 5.7 2.8
Hamstring 3.8 4.7
Calf 9.5 6.7
Body Fat (%) 3.03 (probably ~6) 4.1 (probably ~7)

GIRTH MEASUREMENTS

Expected: We were confident every part of my body would increase in size, and for the most part, that was true.

Surprised: My calf measurements actually went down. We believe it had something to do with the resultant fat loss from doing the Hurricane sprint days.

BODY FAT PERCENTAGE

A quick note about the body fat test: We used calipers and a 10-site skinfold test. All measurement days were done at the Missoula Underground Strength Training Center and performed by trainer Mike Scialabba.

When testing body fat with calipers, there’s always a 2 – 3 percent margin of error. Mike, who’s done this same test on hundreds of his clients, ended up with skinfold measurements that indicated the obviously wrong numbers of 3.03 and 4.1 respectively. Adding a 3% margin of error, the real numbers were probably more like 6-7% and 8-9%.

All of this to say, my body fat percentage went up, but very minimally.

Surprised: I expected to gain more body fat than this (but was pleasantly surprised that I didn’t). Also, while most of my individual sites increased, there were a few that went down (ab, knee, calf). Those were three of the places that had the highest body-fat percentage on the initial Day 0 test.

And here are the performance metrics:

STRENGTH TEST: DEADLIFT MAXIMUM

Baseline: 405 pounds
After Weight Gain: 475 pounds

POWER TEST: VERTICAL JUMP

Baseline: 28 inches
After Weight Gain: 31.7 inches

STRENGTH ENDURANCE TEST: 225-POUND BENCH PRESS

Baseline: 8 reps
After Weight Gain: 15 reps

ENDURANCE TEST 1: MAX VELOCITY ON TREADMILL (VMAX)

Baseline: 9 minutes and 32 seconds of sprinting at 8mph, working up to an incline of 8%
After Weight Gain: 7 minutes and 38 seconds of sprinting at 8mph, working up to an incline of 6%.

ENDURANCE TEST 2: MAX TIME ON TREADMILL (T-MAX)

Baseline: 3 minutes and 11 seconds of sprinting at 8mph with 6% incline
After Weight Gain: 3 minutes and 14 seconds of sprinting at 8mph with 6% incline

STRENGTH/POWER/MUSCLE ENDURANCE TESTS

Expected: We expected to improve performance dramatically in all three of my non-endurance tests (vertical jump, 225-bench, max deadlift).

Surprised: No surprises here.

V-MAX AND T-MAX

Expected: I wasn’t too sure what to expect here, honestly. I felt like I was in better shape than on our baseline testing day, but I didn’t know if my short duration Hurricane sprint training (25 second sprints) would translate to better endurance.

Surprised: What surprised me about both the VMax and the TMax was that I actually felt like I had more endurance. However, I was much heavier and I felt it during the endurance testing. Perhaps I didn’t have enough time to adapt to my new body weight.

Now, this is something GSP may not have to deal with, since he’d likely gain weight over a longer period of time and his body would have more opportunity to adapt.

Closing Words

During each phase of my experiments, I pushed my body to its physiological limits.

I ate as much as I could for 28 days straight. I fasted for a full 24 hours multiple times. I purposefully dehydrated myself and robbed my body of water. I lifted heavy weights and sprinted as fast as I could.

I proved that it’s possible to for a regular guy to gain 20 pounds of (mostly) lean mass in a month. That it’s possible to then lose those 20 pounds in a week. And that it’s possible to gain them all back in a day.

In the process, I hope I’ve demystified the process of muscle building, weight cutting, and rehydration. In the end, there’s no voodoo and witchcraft here. Just the right advice, expert guidance, and a ton of hard work.

+++++

For more about Nate, Dr. Berardi, and their work on building muscle and gaining strength, check out Scrawny To Brawny.

Additional resources: You can download the entire weight-gain nutrition plan Nate used here: Muscle-Building Nutrition Plan. And you can download the entire training program he used here: Muscle-Building Workout Program.

by Tim Ferriss at May 11, 2013 07:15 PM

Axis of Eval

Green threads in the browser in 20 lines of Wat

This page shows 5 independent Wat green threads (view source for full Wat code).

Each thread has an ID and is defined as a function that loops forever, repeatedly printing its ID, and then sleeping 250ms:

["define", ["run-thread", "id"],
["loop",
[".", document, "write", ["+", ["string", "Active thread: "], "id"]],
["sleep", 250]]],

So, how can a Wat thread sleep inside a loop? Why, with good ole delimited continuations:

To spawn a thread, I just wrap the call to RUN-THREAD in a prompt (which is just a unique object used as an identifier):

["define", "default-prompt", ["quote", "default-prompt"]],

["define", ["spawn-thread", "id"],
["push-prompt", "default-prompt",
["run-thread", "id"]]]

Where it gets interesting is the SLEEP function which captures the continuation up to the prompt, and sets up a callback with JavaScript's setTimeout that will reinstall the continuation later:

["define", ["sleep", "ms"],
["take-subcont", "default-prompt", "k",
["define", ["callback"],
["push-prompt", "default-prompt",
["push-subcont", "k"]]],
[setTimeout, ["wat-js-callback", "callback"], "ms"]]]

So, first, SLEEP aborts up to and including the default prompt using TAKE-SUBCONT. It receives the continuation in the variable K. Once it has K, it defines a CALLBACK function, that will reinstall the default prompt with PUSH-PROMPT, and then continue with K again with PUSH-SUBCONT. All that's left is to give this callback to setTimeout.

Then I can spawn independent threads:

["spawn-thread", 1],
["spawn-thread", 2],
["spawn-thread", 3],
["spawn-thread", 4],
["spawn-thread", 5]

Wat syntax certainly won't win a beauty contest, but it's already practical for adding concurrency and metaprogramming to JavaScript. Deployment is very easy. Include the single wat.js file, put together some code as JSON, and run it.

by Manuel Simoni (noreply@blogger.com) at May 11, 2013 04:32 PM

Dave Winer

Scripting News: Should the Community Feed be an RSS feed in addition to being an OPML feed?

This question came up in the Community Feed, which you can read in Fargo, by choosing the Community Feed command from the Docs menu. Or you can read it in the Small Picture Reader if you don't use Fargo. I wrote my answer there, but thought it would be interesting to also post it here. No I didn't use the fancy Blogging 2.0 protocol I described in an earlier post. Soooon!

Well of course it would be nice to have everything, if there were no cost.

It would take time to write the code and keep it running. It would be worth doing if there would be a lot of people using it. But right now the Community Feed a new feature. We're still at the point where we're introducing ourselves. If that's all it does it will have been worth it.

I'm an investor in software, and I have to make decisions as any investor would. I can't buy everything. And right now there are other projects that I think need more attention.

Also, and this is a key point, this is not something you need Kyle or me to do. The OPML feed is public. If you want to write the code to convert it to an RSS feed, you can do it.

  • Read it once every ten minutes. Use the eTag feature of HTTP to conserve bandwidth. Generate RSS 2.0. How will you synthesize a title for each item? I don't know, that's a hard problem. RSS 2.0 doesn't require titles, but Google Reader did. That made generating RSS feeds a difficult process for data that doesn't inherently have titles. But Google Reader is going away, so we're free to do as we please, you say. Not so fast. The replacements are clones. I bet they're just as picky as GR was. At least until the dust settles, and that isn't going to happen this year even, probably.

But OPML feeds? Ahhh that's easy. Since I'm writing both ends I can make it work. And if I want to change things based on what I learn, I can do that too. That's why the early days on anything are important. And why you should go slowly enough so you can feed back what you learn into the protocol.

Anyway you see these questions sound simple, but when you actually start writing the code, they can become complex.

Bottom-line: My bet is that no one would use an RSS feed of this content. That makes it a bad investment. I've been wrong before, btw.

May 11, 2013 03:41 AM

May 10, 2013

LoperOS

One for the Spam Zoo.

Consider this oddity:

from: Sydney B. Kirklen <sydneybkirklen@gmail.com>
to: censored
date: Thu, May 9, 2013 at 3:05 PM
subject: Is Loper-os.org For Sale? (Website Not Just Domain)

My business partners and I would like to present you with an offer to purchase loper-os.org.  We promise not to take up much of your time.  Would you be interested in selling if the price was right?

Best Regards,

Sydney B. Kirklen
Phoenix, Arizona

Being a chump, I replied, thinking it might be an actual human:

from: Stanislav Datskovskiy <censored>
to: “Sydney B. Kirklen” <sydneybkirklen@gmail.com>
date: Thu, May 9, 2013 at 4:03 PM
subject: Re: Is Loper-os.org For Sale? (Website Not Just Domain)

No. Go Away.

Turns out, it was probably a script.  Although it isn’t clear to me what purpose (other than address harvesting) it might serve.  What happens if you actually agree to sell your site to the spammer?  What exactly is the point, from the spamming scum’s point of view, of purchasing a “human” site to turn into a link farm?  Presumably, your readers will make the mistake of loading the turd exactly once, after which they will curse your name for all eternity.

by Stanislav at May 10, 2013 06:14 PM

Mark Bernstein

Girl Arrested, Expelled For Science Experiment

A girl takes off her shirt in Tunisia and gets on the wrong side of the authorities and we’re protesting across the globe. Now, a girl has Fun With Science in Florida and she’s a felon?

16-year-old Kiera Wilmot heard about a nifty science experiment.

She took an 8oz plastic bottle, put some aluminum foil inside, some Sodium Hydroxide, and closed the bottle. It’s exothermic, it generates hydrogen and sodium aluminate. The plastic top eventually goes pop.

When we did this in school, we said, “cool!” I’m pretty sure we did do exactly this, in fact: Blake Hannaford (now a robotics professor), Harris Suzuki (retired young from a successful investing career), Michael Harris (gentleman), and I. Michael Druzinsky (composer) might have been there too.

When Kiera did this at lunch in her Florida high school, the principal said, “that’s an explosive device! You are expelled!” And the prosecutor said, “felony!”

OK: this is not a great idea. Don’t try this experiment yourself; you could get hurt. (That other experiment with the ___________ crystals, and the ________? The one that makes every footstep “pop” in the school corridor? Don’t do that one either.)

But, seriously folks, this is very bad news for American education. How anti-intellectual have we become when, even in the deepest South, we want to expel and jail kids for a science experiment? And where the f____ is the American Chemical Society’s statement of solidarity with the girl?

Update: Good report from DNLee at Scientific American.

May 10, 2013 01:52 PM

Axis of Eval

A new low in programming language design and implementation

The new Wat is the best, most lightweight way to implement a JavaScript-based programming language I have found so far.

Basically, I get away from JS as quickly and painlessly as possible, and start writing the language in itself.

So I define a very small set of primitives on the joint foundation of Kernel-like first-class lexical environments and fexprs and delimited continuations. Fexprs are a great tool for language-oriented programming, and delimited continuations allow me to escape from the browser's (and Node's) async hell and implement any concurrency and effect system I like.

To fexprs I also add macros. When a macro is used as the operator of a form, the form's code gets  changed to the macro's output when the macro is first called, a technique I learned from here. I like macros because they make syntactic abstraction cost-free - with fexprs alone there is always an interpretative overhead. Still, Wat macros, like fexprs, do not work with quoted identifiers, but with first-class values, so many hygiene problems are avoided.

To delimited control I also add classic first-order control (sequential, conditional, loop, throw, catch, finally). This runs on the ordinary JS stack. Only when a continuation is captured does the stack get reified on the heap.

And last but not least, I use a JSON-based syntax for writing the language in itself. At first this was just intended as a quick way to not have to specify a parser for Wat, but I'm starting to like it. It allows Wat to truly be embedded in JavaScript.

Wat does not have a type tagging or object system. It uses the raw JavaScript values.

The whole implementation is roughly 350 lines of JavaScript. After these 350 lines, I can already write Wat in Wat, which is just great.

by Manuel Simoni (noreply@blogger.com) at May 10, 2013 01:35 AM

May 09, 2013

Dave Winer

Scripting News: Blogging 2.0.

    • Georgia
    • 160%

I wrote a piece in August 2012 which I posted on Medium entitled We Could Make History, in which I proposed that we get together and create a new API to connect authoring tools to publishing environments.

At the time I thought it was a long shot, but worth putting it out there in case anyone was listening at Medium, or elsewhere. That's why I made it openly. And why I put the post on Medium.

Today I'm writing this post on my own blogging platform, which is more or less some scaffolding I put together to hook my outliner up to the web, so I could publish, before we had something real that others could use.

Now I can make a more concrete proposal because Fargo is visible, people can better imagine what I'm talking about.

1. I don't like the idea of writing something to have it visible in only one place.

2. Sometimes I find that a comment I wrote in one place is really a blog post, but why should it stop being a comment?

3. Copy/paste is an awful synch protocol. It's 2013. We can do better! In fact we live in a time of great progress in sychronization, thanks to Dropbox. Publishing should make the leap into the future as well.

4. Software now runs in the browser, written in JavaScript. It's indistinguishable from desktop software. So any protocol we come up with must work equally well with JS apps running in the browser.

5. Meanwhile there are a number of projects underway to bring blogging up to date. But they're doing it without APIs and without feeds. Why? That's not really progress.

6. We were able to hook up Fargo to WordPress, largely to show what's possible. But we had to set up a proxy server so that our JS app running in the browser could call their server. This is a waste of resources and does not scale.

7. We will have a for-real CMS running on a server. It will do things that are new, that none of the other publishing platforms do. But there will still be things they do that we don't. APIs are needed. But I'd prefer to work with others to come up with the API, rather than do both ends myself. If we do it that way we get there sooner, better.

8. I'm pretty sure there will be APIs here. But I'd rather there just be one. We had that worked out pretty well in Blogging 1.0. But let's do it even better in 2.0.

9. Who wants to go first? :-)

May 09, 2013 06:29 PM

Mark Bernstein

Links

Links

Back from WebSci, I’ve been immersed in Tinderbox Six links.

We need to build out some link-editing tools to move forward, but that’s been slow as molasses. A few days away from the coding and I feel like I’m a batter returning from a stint on the disabled list to a 1-for-17 slump.

It’s been made worse because I jumped straight into a rewrite of SLine, the abstraction that handles lines, polygons, and curves. It’s nominally “new” code, but it’s the oldest class of the new code and it has lots of scuffs and extensions and whatnot. But it’s also tricky code where getting stuff slightly wrong makes bad things happen — for example, I lost a couple of hours because the arrow heads of links were sometimes drawn at an angle that didn’t look (and wasn’t) quite right.

More good news: not only did I do all the conference planning in Tinderbox Six, I took conference notes in Six as well. And there were no crash logs with a Paris dateline. None. We’re getting there.

May 09, 2013 02:07 PM

Too Much Philosophy?

The program at Web Science 2013 was diverse. For example, here’s the roster for the pecha kucha session:

  • Who Wants To Get Fired?
  • Experiences Surveying the Crowd ◀ best paper award ◀
  • Why Individuals Seek Diverse Opinions (or Why They Don’t)
  • Considering People with Disabilities as Überusers for Eliciting Generalisable Coping Strategies on the Web
  • Voice-Based Web Access in Rural Africa
  • Rethinking Measurements Of Social Media Use By Charities: A Mixed Methods Approach
  • A comparison between online and offline prayer
  • The Performativity of Data: Re-conceptualizing the Web of data
  • Debanalizing Twitter: the transformation of an object of study
  • Why Forums? An empirical analysis into the facilitating factors of carding forums
  • Toward Google Borders

From technical solutions to impetuous twittering to methodological questions in using Amazon Mechanical Turk to the nature of online prayer, we’re covering a lot of ground.

In the end, we have no choice. There are plenty of people who study some facet of the Web. Web Science studies the Web as an entire phenomenon. It’s not just the plumbing and it’s not just the sociology and its not just philosophy. Web Science it the place where philosophy informs the plumbing.

This makes for nifty sessions — you’ve got to love the transition between papers 5, 6, and 7 — but it also creates real tensions. A paper on the nature of trust, for example, simply cannot be correct in the way that a paper on information retrieval can. Then again, lots of people will be able to follow at least part of a paper about trust, but if you’ve forgotten what an eigenvalue is or why the intentional fallacy is false, it’s not hard to get lost in a paper whose author considers the argument straightforward.

In one of my first talks, I got a Nobel laureate completely confused about the elements of my experiment. That was a useful lesson: everyone has a hard time with hard ideas. You’ve spent months or years alone with your problem in a dark room, but your audience hasn’t met it before. Take it easy; they won’t be bored with a few minutes review and they won’t think you’re dim.

One significant problem at Web Science right now is a failure of imagination: how do our small studies suggest great consequences? This is not to say that writers should claim too much or write incautiously. But consequences that might rock your own province can strike people from other fields as obscure, and can seem pedantic or worse to people who have work to do.

Web Science is still not very good at working with people who build Web sites and invent Web apps, the very people we ought to be serving and to whom we ought to be listening. For that, we need every eigenvalue, every statistic, and every construct in our toolbox.

May 09, 2013 01:32 PM

May 08, 2013

Giles Bowkett

Elektron Analog Four: Phenomenal Demo

One of the challenges I saw with Archaeopteryx: programmers got so excited about the code side of it, they distracted me from the actual instrumentalist aspect.

This is awesome. And so is this. But so is this:

by Giles Bowkett (noreply@blogger.com) at May 08, 2013 10:01 PM

Dave Winer

Greg Linden

Blogging is dead, but have we fixed anything?

Google Reader is shutting down, but most people moved on long ago.

Blogging is dead. To the extent that it lives, it is dominated by professional journalists, writers backed by major organizations, or has transformed into microblogging. The original objective of an amateur form of journalism -- long articles written and published without an organization or editor -- has become archaic.

I have been writing on this blog since 2004. At its peak, this blog had about 10k regular readers. Over a decade, I have watched blogging rise and fall.

Nowadays, my posts here on this blog often get less attention that my tweets on Twitter. 140 characters that take two minutes to spew out sometimes get more attention than an article that takes four hours of thoughtful analysis, careful reading, and tight writing.

There is nothing wrong with people moving on. Professional journalists now use blogs to air early research or analysis that will later make it into a full print article. Companies use blogs to announce changes or new features. Many use microblogging as a useful means of quick communication. That is good.

But there was something charming about so many people trying to be amateur journalists. Journalistic writing is a skill; it emphasizes clear, tight, concise writing. That so many were attempting it and practicing it had a lot of value, both in the the skills bloggers gained and sometimes candid and insightful articles produced.

I find my blogging here to be too useful to me to stop doing it. I have also embraced microblogging in its many forms. Yet I am left wondering if there is something we are all missing, something shorter than blogging and longer than tweets and different than both, that would encourage thoughtful, useful, relevant mass communication.

We are still far from ideal. A few years ago, it used to be that millions of blog and press articles flew past, some of which might pile up in an RSS reader, a few of which might get read. Now, millions of tweets, thousands of Facebook posts, and millions of articles fly past, some of which might be seen in an app, a few of which might get read. Attention is random; being seen is luck of the draw. We are far from ideal.

Attention should flow to relevant and useful writing. I should see writings that are personally relevant and useful to me. When a friend does something I want to know about, when a colleague reads an article I should read too, when a company announces a useful change to a product I use, when a well-written article important for my work is published from a reputable source, when a major event occurs in the world, those should be brought to my attention.

Blogging wasn't that, but neither is microblogging. We need to build something that focuses our attention, improves our communication, and finally solves the problems blogging and microblogging failed to solve.

by Greg Linden (noreply@blogger.com) at May 08, 2013 03:35 PM

Mark Bernstein

Verjus

Braden Perkins and Laura Adrian started out in Seattle. For several years, they ran an underground dining club in Paris, Hidden Kitchen, which became a bit of a legend. I even had a reservation once, but the underlying trip, alas, fell through. Now they have a restaurant, Verjus, where they serve a fixed (but ever-changing) tasting menu. Here was ours:

  • citrus cured banka trout,
    • smoked fingerling potatoes, trout roe
  • buffalo milk ricotta dumplings,
    • sweet peas, heirloom carrots, wild herbs, toasted hazelnuts
  • pan roasted clams,
    • sunchoke soup, celery root, thyme oil, garlic crouton, house harissa, wild thyme, mizuna
  • warm egg yolk,
    • soft polenta, asparagus, sweet onion, frisée, baby leeks, pumperknickle, kimchi
  • duck breast from Pomarez,
    • winter sauerkraut, orange, rye, smoked celery root skin
  • grilled hanger steak,
    • heirloom carrots, pickled turnips, mustard seeds, wild greens
  • a selection of french cheeses
    • aged by madam hisada, house garnishes
  • dark chocolate sorbet,
    • early spring citrus salad, tonka/parsley cream, chocolate biscotti
  • cardamom honey panna cotta
    • wine soaked prunes, sekel pears, shortbread, shaved fresh walnuts

What is this saying? I think it says a lot.

First, it tastes good! It’s reasonably balanced and reasonably healthy. It concentrates on things that it makes sense to eat at a restaurant, even if you cook, because they depend on lots of time-consuming products or require ingredients you don’t have. Tonka beans, for example, are banned in the US, and Madame Hisada is a long trek from Boston.

Second, this is a wildly untraditional format. The ancient ancestor of the restaurant, the table d’hôte, did have a fixed menu: you came and ate what they made there. If you wanted roast chicken, you went to the fellow who roasted chicken and not to the fellow who stewed lamb. The other tradition grew out of health food and is what we call a restaurant: it had a list of broths and foods and potions and would fix up whatever your doctor ordered. But the restaurant menu settled down to an entrée, a plat, and a dessert, with maybe an apéro first and some mignardises later. In Italy, you’d add a pasta course, and in England you might have a fish course.

But all these small courses are something new here; Alexander Lobrano calls it a public dinner party. It’s been controversial. And it returns, I think, to a very old discussion that Paris has had with America, the Ben Franklin admiration of gentle rusticity, of the new world’s projection of informality into ritual and thereby to get back to the heart of the thing. Simple, comfortable tables and simple, comfortable service are the modern translation of Franklin’s well-tailored homespun suits. The food matters and that’s why we’re all here, so let’s not stand on ceremony.

There are allusions in the food as well. I’m missing lots of them, I’m sure, but composing the menu as a list of ingredients can only be a nod to Alinea. I don’t know what a banka trout looks like when it’s at home, but if you Google it you’ll find that the top hits all go to Frenchie, George Marchand’s famous foodie destination of this Parisian moment.

In Back Of The House , Scott Haas makes an interesting point about chef Tony Maws (Craigie on Main). Lots of American celebrity chefs were raised to consider themselves poor, and until very recently all traditionally-trained cooks in France were working class men. Maws grew up in upper-middle-class Boston; his family eats at Craigie because it’s the sort of place they’ve always gone. That changes and defuses a lot of the class tension that underlies restaurant ritual.

Yesterday’s restauranteur was a servant, though perhaps one with valued expertise. California service reminds us that this is just a convention. “I’ll be your server tonight” acknowledges that tomorrow, you may be my server. For Brecht/Weil, that transition required a black freighter mit fünfzig Kanonen. Here, now, it’s every day.

There’s more to work through here, I think, and a lot that I’m missing. That’s OK, too: we don’t need to understand every element in the meal or follow every argument. But this is a meal with something to say. Not whispered but not shouted, it stands up and speaks out.

Verjus

May 08, 2013 02:08 PM

Alex Schroeder

Distributing XP With Emacs

This topic ties together two topics that probably don’t see too much overlap.

  1. I play role-playing games of the D&D old school variety.
  2. I use Emacs to help me do simple stuff on a daily basis.

The problem: the party of characters my players run is huge. Even if there are usually only around ten characters that are part of a single session, there are more than thirty primary and secondary characters on the status page. Given the wiki table for the status page, how can I quickly add up the correct XP and gold values? Any XP gained is shared equally amongst the characters that took part in the session but any gold gained is distributed according to each characters share. Primary characters get a full share, secondary characters get a third of a share.

I used Emacs widget mode to create a page like this:

XP total:   805          
Gold total: 7191         
[X] Schalk
[ ] Uluf
[ ] Witschik
[X] Schachtmann
[ ] Sirius
[X] Logard
[X] Arnd
[X] Tinaya
[ ] Pyrula
[ ] Pijo
[ ] Garo
[X] Zeta
[ ] Pipo
[X] Fusstritt
[ ] Thor
[ ] Jack
[ ] Gloria
[ ] Hermann
[ ] Urs
[ ] Alpha
[ ] Beta
[ ] Gamma
[ ] Boden
[ ] Basel
[ ] Bern
[X] Nuschka
[ ] Moranor
[ ] Axirios Hectaxius

[Go!]

And here’s the code to do it:

(defconst fünf-winde-regexp "^\\(|\\[\\[\\(.*?\\)\\]\\][ \t]*|[ \t]*\\(1\\|1/3\\)[ \t]*\\)|\\([ \t]*[0-9]+[ \t]*\\)|\\([ \t]*[0-9]+[ \t]*\\)"
  "Regular expression to parse the Status page.
\(let ((str (match-string 1))
      (name (match-string 2))
      (share (match-string 3))
      (xp (match-string 4))
      (gold (match-string 5)))
    ...\)")

(defvar fünf-winde-buf nil
  "Source buffer.")

(defvar fünf-winde-xp nil
  "XP share.")

(defvar fünf-winde-gold nil
  "Gold share.")

(defvar fünf-winde-party nil
  "Charakters in the party.")

(defun fünf-winde-xp-and-gold ()
  "Hand out Gold and XP."
  (interactive)
  (let ((buf (current-buffer))
	(names))
    (save-excursion
      (goto-char (point-min))
      (while (re-search-forward fünf-winde-regexp nil t)
	(setq names (cons (match-string 2) names))))
    (switch-to-buffer "*Fünf Winde*")
    (kill-all-local-variables)
    (set (make-local-variable 'fünf-winde-buf) buf)
    (make-local-variable 'fünf-winde-xp)
    (make-local-variable 'fünf-winde-gold)
    (make-local-variable 'fünf-winde-party)
    (let ((inhibit-read-only t))
      (erase-buffer))
    (remove-overlays)
    (setq fünf-winde-xp
	  (widget-create 'integer
			 :size 13
			 :format "XP total:   %v\n"
			 0))
    (setq fünf-winde-gold
	  (widget-create 'integer
			 :size 13
			 :format "Gold total: %v\n"
			 0))
    (setq fünf-winde-party
	  (apply 'widget-create 'checklist
		 (mapcar (lambda (name)
			   `(item ,name))
			 (nreverse names))))
    (widget-insert "\n")
    (widget-create 'push-button
		   :notify (lambda (&rest ignore)
			     (fünf-winde-process
			      fünf-winde-buf
			      (widget-value fünf-winde-xp)
			      (widget-value fünf-winde-gold)
			      (widget-value fünf-winde-party)))
		   "Go!")
    (widget-insert "\n")
    (use-local-map widget-keymap)
    (local-set-key (kbd "q") 'bury-buffer)
    (local-set-key (kbd "SPC") 'widget-button-press)
    (local-set-key (kbd "<left>") 'widget-backward)
    (local-set-key (kbd "<up>") 'widget-backward)
    (local-set-key (kbd "<right>") 'widget-forward)
    (local-set-key (kbd "<down>") 'widget-forward)
    (widget-setup)
    (goto-char (point-min))
    (widget-forward 1)))

(defun fünf-winde-process (buf total-xp total-gold party)
  (message "(fünf-winde-process (get-buffer \"%s\") %d %d '%S)"
	   buf total-xp total-gold party)
  (switch-to-buffer buf)
  (save-excursion
    (let ((xp-shares 0)
	  (xp-share nil)
	  (gold-shares 0)
	  (gold-share nil))
      (goto-char (point-min))
      (while (re-search-forward fünf-winde-regexp nil t)
	(let ((name (match-string 2))
	      (share (match-string 3)))
	  (when (member name party)
	    (setq gold-shares (+ gold-shares
				 (cond ((string= share "1/2") 0.5)
				       ((string= share "1/3") (/ 1.0 3))
				       (t (string-to-number share))))
		  xp-shares (1+ xp-shares)))))
      (setq gold-share (/ total-gold gold-shares)
	    xp-share (/ total-xp xp-shares))
      (goto-char (point-min))
      (while (re-search-forward fünf-winde-regexp nil t)
	(let ((str (match-string 1))
	      (name (match-string 2))
	      (share (match-string 3))
	      (xp (match-string 4))
	      (gold (match-string 5)))
	  (when (member name party)
	    (setq gold (format (concat "%9d")
			       (+  (string-to-number gold)
				   (* gold-share (cond ((string= share "1/2") 0.5)
						       ((string= share "1/3") (/ 1.0 3))
						       (t (string-to-number share))))))
		  xp (format (concat "%9d")
			     (+  (string-to-number xp)
				 xp-share)))
	    (replace-match (concat str
				   "|" xp
				   "|" gold))))))))

I’m not sure I’m spending my time wisely, but there you go. I used to have a simpler piece of code that helped me distribute XP and gold separately. The drawback was that it would ask me for every person in the table “was this character in the party? (y/n)” and that’s a lot of yes and no replies if you go through the list twice.

It’s also a stark reminder that simpler old rules doesn’t automatically mean less work for the referee. With D&D 3.5, I had a spreadsheet to compute the XP gained based on challenge rating and character level. It wasn’t something to do quickly without a book in front of me. Now the complexity of the task has been reduced, but the number of characters has exploded to compensate!

Tags: RSS RSS RSS

May 08, 2013 01:17 PM

May 07, 2013

Dave Winer

Scripting News: Levy on BigCo innovation.

Levy: "To really think big, you can't be at a big company."

I was amazed that these words came from Steven Levy, former Newsweek tech reporter, and late of Wired. He's spent a career supporting the myth not just that big ideas can come from big companies, but that they only come from big companies.

He was paraphrasing Evan Williams, founder of Twitter and Blogger. But it's still an amazing transformation.

Now, I don't expect the press to all of a sudden start reporting on where big ideas actually come from. But it's nice to be able to point to the truth, just once, from such a source.

BTW, we're thinking very big at Small Picture. :-)

May 07, 2013 10:03 PM

Alex Schroeder

iPhone Sync and Not Enough Disk Space

Once again, I’m syncing my wife’s iPhone using iTunes and half way through the process it claims that it can’t do it because the computer is out of disk space. With more than 9 GB on the main hard disk and much more on the external hard disk (and a link from ~/Library/Application Support/MobilySync to the external hard disk), this is simply impossible. Strangely enough, synchronization continues anyway.

Luckily I remembered what to do: open preferences, find the backup for my wife’s device and delete it. Done. Now I can sync without any messages interrupting it. Strange.

Tags: RSS RSS

May 07, 2013 07:19 PM

WMA to MP3

This is based on How to Convert Unprotected WMA Files Into MP3 Files. I’m leaving the instructions here for my future self. :)

for file in *.wma; do
  mplayer -vo null -vc dummy -af resample=44100 \
    -ao pcm:file="${file%%.[Ww][Mm][Aa]}.wav" "$file"
  lame --preset standard "${file%%.[Ww][Mm][Aa]}.wav" \
    "${file%%.[Ww][Mm][Aa]}.mp3"
done 

Use locate lame|grep 'lame$' and locate mplayer|grep 'mplayer$' to find the location of your executables. On a Mac, they’re probably not on your PATH… I installed MPlayer OSX and iTunes-LAME to get the executables. You’ll need to do something similar.

This is the result I just used for some files with upper case file extension:

for file in *.WMA; do
  "/Applications/MPlayer OSX.app/Contents/Resources/External_Binaries/mplayer_intel.app/Contents/MacOS/mplayer" \
    -vo null -vc dummy -af resample=44100 \
    -ao pcm:file="${file%%.[Ww][Mm][Aa]}.wav" "$file"
  "/Applications/iTunes-LAME.app/Contents/Resources/lame" \
    --preset standard "${file%%.[Ww][Mm][Aa]}.wav" \
    "${file%%.[Ww][Mm][Aa]}.mp3"
done 

Tags: RSS RSS RSS

May 07, 2013 06:11 PM

Dave Winer

Scripting News: Q&A with Brent Simmons re River of News.

    • Palatino

On April 11, Brent Simmons sent an email, included below. My words are indented beneath his in italic.

    • true
    • none
    • italic

I like the river of news style of feed reading, despite having once written an RSS reader that doesn't use that style.

But I'm not actually 100% sure what the technical definition is. I'm not trying to be obtuse about this -- I want to be sure I understand.

I think it's something like this, but I'm not sure which parts are optional, and I might be missing things.

1. It presents a list of articles from multiple feeds in a scrollable list.

  • Yes.

2. There might be multiple scrollable lists -- tabs of some kind.

  • Not required, but you can do it that way (I have it with my mediahackers site). But each one is a river, not the whole thing.

3. Items in the list are sorted in reverse-chronological order by arrival date (date the feed scanner saw the item) rather than by pubDate. (True?)

  • True. By arrival date. pubDate is not important for ordering.

4. Items are presented with title, link, and an excerpt. The excerpt should be just long enough to be meaningful (around 280 characters).

  • You could leave out the excerpt and it would still be a river. The important thing is that the excerpt be of determinate length, and short enough so you can see a lot of items on screen at the same time.

5. It handles edited items by ____? (I don't know. Does it show them again?)

  • Does not show edited items again.

6. There is no notion of read/unread whatsoever, and thus no unread counts.

  • Correct. No notion of read/unread.

7. There is no notion of starred (or flagged, or saved) items whatsoever. (Users can blog, send to a read-it-later service, etc. as they normally would for any web page.)

  • Not true -- you can do whatever you want there. I include a RT link on my items. Just as long as it's small and doesn't interfere with skimming.

8. A river of news feed scanner outputs river.js data. (Is this optional? Could it be RSS?)

  • Not required. It would however be useful to have a standard here. I want to write all my displayers in JS running in the browser.

9. Do river-of-news readers have to be web pages? Could an iOS or Mac app qualify, if it met all the criteria?

  • Of course it could be an IOS app.
  • The main idea aren't the details, but the way its used. I can scroll back to the point where I hit something I seen. Quickly. My memory is perfectly capable of telling me I've seen something before. You can rely on it, people can do this.

May 07, 2013 04:49 PM

Mark Bernstein

Alex Schroeder

Raspberry Pi WiFi

Reading Raspberry Pi: WLAN einrichten… I bought the Nano-WLAN-USB-Stick 150 Mbps by hama.

pi@raspberrypi ~ $ lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
Bus 001 Device 004: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
pi@raspberrypi ~ $ sudo apt-get install firmware-realtek
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
firmware-realtek ist schon die neueste Version.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.

Apparently I installed it already. iwlist wlan0 scan results in a lot of output. Including the network I’m looking for:

pi@raspberrypi ~ $ iwlist wlan0 scan | grep Schroeder
                    ESSID:"Schroeder"

Set your network and password using sudo nano /etc/wpa.conf. This is what you want:

network={
 ssid="YOUR-SSID"
 proto=RSN
 key_mgmt=WPA-PSK
 pairwise=CCMP TKIP
 group=CCMP TKIP
 psk="WPA-PASSWORD"
}

Edit the list of interfaces using sudo vi /etc/network/interfaces and append the following:

auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa.conf

I was astonished to find some stuff relating to wlan0 in the file already. Anyway, I followed the instructions…

Restart and check:

pi@raspberrypi ~ $ ifconfig
eth0      Link encap:Ethernet  Hardware Adresse b8:27:eb:81:a6:af  
          inet Adresse:192.168.2.3  Bcast:192.168.2.255  Maske:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:114 errors:0 dropped:0 overruns:0 frame:0
          TX packets:94 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX bytes:17450 (17.0 KiB)  TX bytes:14232 (13.8 KiB)

lo        Link encap:Lokale Schleife  
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metrik:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0 
          RX bytes:1104 (1.0 KiB)  TX bytes:1104 (1.0 KiB)

wlan0     Link encap:Ethernet  Hardware Adresse 80:1f:02:8f:91:26  
          UP BROADCAST MULTICAST  MTU:1500  Metrik:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

The last entry is shows that we didn’t get an IP number. Oops! It turns out that there is some other stuff in the /etc/network/interfaces file that might interfere. Commenting them out, I have:

auto lo

iface lo inet loopback
iface eth0 inet dhcp

# allow-hotplug wlan0
# iface wlan0 inet manual
# wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
# iface default inet dhcp

auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa.conf

Still doesn’t work, however. I tried a few variants for the config files. Nothing seemed to work. This makes me so tired. I’m not sure I’m learning much. This is “fiddling with GNU/Linux” and frustrating. :(

Then I read How to install Wifi on a Raspberry Pi which tells you to install wicd-curses.

That seemed to work! Suddenly ifconfig provided me with an IP number for wlan0. I removed the ethernet cable, rebootet, and was unable to connect. Did the IP number change? Is DHCP taking too long? Why is bonjour not working? Patience! It just takes forever to boot. After a minute—long enough to write this paragraph--it suddenly worked:

alex@Pyrobombus ~$ ssh pi@raspberrypi.local
pi@raspberrypi.local's password: 
Linux raspberrypi 3.6.11+ #371 PREEMPT Thu Feb 7 16:31:35 GMT 2013 armv6l

Yay!

Tags: RSS

May 07, 2013 12:26 PM

May 06, 2013

Lambda the Ultimate

Lisp in Summer Projects

This summer, spend some quality time with your favorite technology in our 2013 summer programming contest!

The Lisp community is awarding prizes for demonstrating interesting and useful programs, technologies and art using any LISP-based technology.

Lisp, prizes, what's not to like?

May 06, 2013 08:55 PM

Tim Ferriss

How To Lose 20-30 Pounds In 5 Days: The Extreme Weight Cutting and Rehydration Secrets of UFC Fighters

Nate Green workout and nutrition tests

The following is a guest post by Nate Green, who works with Dr. John Berardi, nutritional advisor to athletes like UFC champion Georges St. Pierre (GSP).

This is the first of two blog posts entailing extreme physical experiments. Absolutely no performance enhancing drugs of any kind were used.

Part 1 — this post — details exactly how top fighters like Georges St. Pierre rapidly lose 20-30 pounds for “weigh-ins.” To refine the method, Nate performed this on himself, losing 20 pounds in 5 days. The unique part: Dr. Berardi and team measured key variables throughout the entire process, including the last “rehydration” phase. As Berardi put it:

“We used GSP’s exact protocol with him [Nate]. The idea was that by doing this with a guy who didn’t actually have to compete the next day, we could measure all sorts of performance variables that you’d never get with an athlete about to fight.”

Part 2 — the next post — will share how Nate used intermittent fasting and strategically planned eating to gain 20 pounds in 28 days, emulating a fighter who wants (or needs) to move up a weight class in competition.

Cautionary Note on Part 1

Mixed Martial Arts (MMA) fighters put it all out in the open for the world to see: they kick, punch, laugh, cry, and bleed in front of thousands of arena fans and millions more watching at home.

But even if you’re a hardcore fan who knows all the stats, there’s something behind the scenes that you’ve probably never seen in full: world-class weight manipulation

Done right, it can significantly increase a fighter’s chances of winning. An athlete will artificially lower his weight for pre-fight weigh-ins, then show up to the actual fight 10, 20, or even 30 pounds heavier than his opponent. It’s a game changer.

Done wrong, it can make even the toughest guy lose his edge… and probably the fight. There’s serious risk of organ failure if done haphazardly.

Even though boxers and wrestlers have been manipulating weight in this fashion for decades, it has the air of illicit activity. And though it’s legal in MMA competition, you should *never* try this at home or without medical supervision. Excessive dehydration can kill you. “Cutting weight” has no place in real-world dieting or behavior.

This is NOT an article on sustainable weight loss or healthy living. Rather, it’s a fascinating look at how far athletes and scientists will go to manipulate the human body for competitive advantage.

Here’s how it works…

Enter Nate

Imagine this: It’s Saturday night and you’re a top-ranked MMA fighter who just stepped into the cage to fight for the 170-pound Welterweight Championship.

Question: How much do you weigh?

The answer may seem obvious: 170 pounds, right? But if you followed the steps of extreme weight manipulation, the real answer is that you weigh somewhere between 185 and 190 pounds. That’s 15-20 pounds more than the “cutoff” weight of 170.

24 hours before you stepped into the cage, however, you did in fact weigh 170 pounds. You had to. Friday night was the official weigh-in where you and your opponent both stripped down to your skivvies, stepped on the scale in front of the judge, and prayed that the number on the scale hit 170 or lower.

But once you stepped off that scale it was a race to gain weight.

I find this kind of physiological puppetry very interesting. Most of us regular guys have a hard time gaining or losing just 5 pounds at a time.

But the top combat athletes can lose up to 30 pounds in just 5 days leading up to the fight. Then they can gain nearly all of it back in the 24 hours between weighing in and going toe-to-toe.

They do this to gain a massive competitive advantage. In other words, the bigger guy who retains more of his strength, agility, and endurance will likely win. The guy who weighs in at 170 — and then fights at 170 — often has a world of hurt coming his way.

That’s why Anderson Silva – arguably the world’s best MMA fighter — normally fights in the 185-pound class even though he actually weighs 215 pounds. A few days before he fights, Anderson “cuts” 30 pounds to make weight…then gains most of his weight back in 24 hours in time for his fight.

Georges St Pierre — arguably the world’s 2nd best fighter – normally walks around at 195 pounds. He ends up cutting 25 pounds to make his 170 pound weight class, and then gains 20 of it back before his fight.

Sneaky, huh?

Just how do these guys do it? And what does this rapid weight loss and weight gain do to their performance?

My Extreme Weight Manipulation Experiment

I’m lucky enough to be friends with Dr. John Berardi and Martin Rooney, two guys who regularly work with UFC athletes.

Recently, I told them I wanted to see what cutting weight was like. Is it really possible for a regular guy like me to drop 20 pounds in a few days then gain all of it back in 24 hours?

And if it was possible, what would it feel like? I heard cutting weight was one of the hardest things fighters do throughout their career. Was I man enough to handle it? Or would I give up when things got tough?

They agreed to help me cut 20 pounds in one week, and then put it all back on again in 24 hours.

Nervous doesn’t even begin to explain how I felt.

The Smart Way To Cut Weight Fast

Nate Green before cutting
Before pics. Full of water and feeling happy.

Now extreme weight manipulation can go horribly, horribly wrong. Even a lot of UFC guys don’t know how to do it the smart way. Instead, they put their bodies in real harm by doing stupid things like taking a lot of diuretics, not drinking any water, skipping meals, wearing trash bags while exercising (sometimes in the sauna) and generally being idiotic.

They lose weight, of course. But they also lose energy and power and develop one bad temper. None of which helps during fight time.

With the help of Dr. Berardi and Rooney, I decided to take a smarter route, instead of putting my health in serious jeopardy.

I started at 190.2 pounds and had 5 days to lose 20 pounds.

Here’s a breakdown of the nutritional strategies we used — the same one Georges St Pierre and other elite MMA fighters use before a big fight. (Remember: we know this because Dr. Berardi is Georges’ nutrition coach).

STRATEGICALLY DECREASE WATER CONSUMPTION

Dropping weight fast is all about manipulating your water and sodium levels.

For a fighter who wants to cut weight quickly and safely, here’s how much water he would consume in the 5 days leading up to his weigh-in:

Sunday – 2 gallons
Monday – 1 gallon
Tuesday – 1 gallon
Wednesday – .5 gallons
Thursday – .25 gallons
Friday – No water till after weigh-in at 5PM.

As you can see, the amount of water starts high with two gallons and decreases with each day till he’s drinking hardly any water on Thursday and Friday.

This is to ensure their body gets into “flushing mode.”

By drinking lots of water early on, the fighter’s body will down-regulate aldosterone, a hormone that acts to conserve sodium and secrete potassium.

And when he suddenly reduces the amount of water he drinks in the middle and end of the week, his body will still be in flushing mode, meaning he’ll hit the bathroom to pee a lot even though he’s hardly drinking any water.

What happens when you excrete more fluid than you take in? Bingo! Rapid weight loss.

DON’T EAT MORE THAN 50 GRAMS OF CARBS PER DAY

Since one gram of carbohydrate pulls 2.7 grams of water into the body, it’s important for fighters to keep their carb intake low.

By doing this, they also deplete muscle glycogen (a source of energy) and keep their body in “flush mode”.

DON’T EAT FRUIT, SUGAR, OR STARCHES

These are carbs that should be avoided entirely while cutting.

EAT MEALS THAT CONTAIN A LOT OF PROTEIN AND FAT

Fighters have to eat something. Since they’re avoiding carbs, Dr. Berardi advises them to load up on high-quality protein like meats, eggs or a vegetarian sources of protein. It’s also the perfect opportunity to eat lots of leafy vegetables (like spinach) and cruciferous vegetables (like broccoli and cauliflower).

Georges St Pierre normally has his meals prepared by a private chef so he doesn’t even have to think about this stuff or make decisions. Recommended reading: here’s an entire article detailing GSP’s training diet.

DON’T EAT SALT

Since the body likes to hold on to sodium (which will hold on to water), dropping salt helps the fighter’s body flush water out.

CONSIDER A NATURAL DIURETIC

This step isn’t always necessary, but it can help when you’re getting down to the wire and still need to lose water. Opt for a natural diuretic like dandelion root, but wait until the last 2 days to use it.

TAKE HOT BATHS

We sweat a lot in hot environments. However, we sweat the most in hot, humid environments. Since hot water offers both heat and 100% humidity, fighters lose water quickly by taking hot baths and fully submerging everything but their nose for 10 minutes at a time.

SIT IN THE SAUNA

This is the “finishing touch” to flush the last few pounds of water and is only used on the last few days leading up to the weigh-in.

The Weight Cut Schedule

So if we take all of that and break it into a weekly plan, it looks like this:

SUNDAY

Carbs: Less than 50 grams per day. No fruit, starches, or sugars.
Protein and Fat: As much as you want in 3 meals
Water: 2 gallons
Salt: None

MONDAY

Carbs: Less than 50 grams per day. No fruit, starches, or sugars.
Protein and Fat: As much as you want in 3 meals
Water: 1 gallon
Salt: None

TUESDAY

Carbs: Less than 50 grams per day. No fruit, starches, or sugars.
Protein and Fat: As much as you want in 3 meals
Water: 1 gallon
Salt: None

WEDNESDAY

Carbs: Less than 50 grams per day. No fruit, starches, or sugars.
Protein and Fat: As much as you want in 3 meals
Water: 0.5 gallon
Salt: None
Sauna in afternoon

THURSDAY

Carbs: Less than 50 grams per day. No fruit, starches, or sugars.
Protein and Fat: As much as you want in 3 meals
Water: 0.25 gallon
Salt: None
Sauna in afternoon for 30 minutes, hot water bath at night

FRIDAY (WEIGH IN AT 6PM)

Carbs: Less than 50 grams per day. No fruit, starches, or sugars.
Protein and Fat: Eat 2 very small meals until weigh in
Water: None till weigh-in
Salt: None
Sauna until weight is met

(Note from Tim: You can download the entire weight-manipulation plan that Nate used here: Weight Loss and Rehydration Protocol.)

What It Feels Like To Cut Weight

Nate Green after cutting weight
Dry as a bone and none to happy about it.

So that all looks fine on paper. But what does it actually feel like to go through it?

One word: Hell.

I started my cut on Sunday at 190 pounds. Here’s a quick rundown of what it looked like.

SUNDAY – 190 POUNDS

I carry a gallon water jug with me wherever I go, which makes me feel ridiculous. But I have to make sure I get my two gallons of water in. Overall, though, I feel fine. It actually doesn’t seem that difficult. I’m not sure what the big deal is.

MONDAY – 187 POUNDS

I’m starting to miss the taste of salt. All of my food is bland. Now I’m drinking one gallon of water instead of two. Still not that bad.

TUESDAY – 182 POUNDS

I go to the bathroom 13 times in one day. A new record, I believe. And I’m still drinking a gallon of water.

WEDNESDAY – 179 POUNDS

Now I’m down to half gallon of water per day, which means I have to ration it out, which feels weird. I have a little with breakfast, a little with lunch, and a little with dinner. It’s definitely not enough water.

My mouth is dry. I feel dehydrated. I’m drinking straight espresso instead of drip coffee because it contains too much water.

In the evening, I try my first hot water bath. I generally enjoy baths, but this one’s different. My apartment’s water doesn’t get as hot as Dr. Berardi wants it to be — “hot enough to cause moderate pain but not burn your hand” — so I fill two pots and a kettle with water, put them on the stovetop until they boil, and pour them into the bath tub.

I get into the bath and immediately regret the decision.

10 minutes later, I’m lying naked in the middle of my living room trying to catch my breath. My eyes are rolled back into my head. My entire body feels like a giant heartbeat. I want to drink some water, but can’t.

This is starting to be less fun.

THURSDAY – 175 POUNDS

I am a zombie. A zombie who sits. Mostly in the sauna or on the couch.

In the sauna I watch beads of sweat collect on my skin. I see my precious water run down my arms and chest and legs and know that I won’t be able to replenish any of it when I get out.

I only have .25 gallons of water to last me the entire day. I’m ready for this to be over.

FRIDAY – 169.7 POUNDS AT 5PM

I look sick, very sick.

I spend the last 30 minutes before the weigh-in in the sauna and drink four sips of water throughout the entire day…

What Cutting Weight Does To Performance

OK, I’ll save you the rest of the journal entries and share some performance data.

While the fighters are tested in competition, no one has ever really documented how much strength or power they lose by dehydrating. (Or how much strength and power they regain after they get all their weight back.)

So we decided to check.

And it turns out, losing 20 pounds in 5 days is not conducive to being strong, powerful, or agile. (Surprise!) I couldn’t jump as high, lift as much weight, or run as fast or as long as I had just a week before during our baseline testing.

POWER TEST: VERTICAL JUMP

Baseline: 31.7 inches
After Dehydration: 27.6 inches

STRENGTH ENDURANCE TEST: 225-POUND BENCH PRESS

Baseline: 15 reps
After Dehydration: 5 reps

ENDURANCE TEST: MAX TIME ON TREADMILL

Baseline: 3 minutes and 14 seconds of sprinting at 8mph with 6% incline
After Dehydration: 1 minute and 28 seconds of sprinting at 8mph with 3% incline

It’s no wonder these guys try to gain all their weight back immediately after weighing in. They’d be screwed if they didn’t.

Speaking of which…

The Smart Way To Gain Weight Fast

Once UFC athletes cut weight and weigh-in, they’d never be able to perform at a top level. (Which is obvious from my less-than-stellar performance in the gym).

So what do they do next? They gain as much weight as humanly possible in 24 hours.

Here’s how they do it. (And how I did it, too.)

DRAMATICALLY INCREASE WATER INTAKE.

According to Dr. Berardi, the body can absorb only about 1 liter (2.2 pounds) of fluid – at maximum – in an hour. So he advises the fighters he works with to not to drink any more than that. Instead, he tells them to sip 1 liter (2.2 pounds) of water per hour.

However, the fighters won’t retain all that fluid. In fact, probably about 25% of it will be lost as urine.

So, here’s the math for someone like Georges St Pierre:

  • 9 liters (20 pounds) of water to get back.
  • 11 liters (25 pounds) of fluid between Friday weigh-in and Saturday weigh-in to get it all back.
  • 24 hours in which to do it. 8 of which he’ll be sleeping and 3 of which will be leading up to Saturday weigh-in.

This leaves 13 total hours for rehydration.

So as soon as Georges steps off the scale, he literally slams a liter of water and carries the bottle around with him, refilling it and draining it every hour until 3 hours before his fight. (There isn’t a bathroom in the cage.)

EAT AS MUCH CARBOHYDRATE (AND PROTEIN AND FAT) AS YOU WANT

Now’s also the time for fighters to load up on carbs and pull all the water they’re drinking back into their muscles. It also helps them feel more human and look less sickly. (Something I definitely experienced during my super-hydration phase.)

Dr. Berardi has his fighters eat a big meal directly after they weigh in. He doesn’t restrict calories – his athletes can eat as much as they want in that meal as long as it’s healthy food like lean meats, sweet potatoes, rice, and vegetables. (Gorging on junk food is a bad idea.)

Then on Saturday (fight day), Dr. Berardi has his fighters eat a satisfying amount of healthy food in a few small meals leading up to the fight.

ADD SALT TO EVERYTHING

Since sodium helps the body retain water, fighters are encouraged to add extra salt to their meals.

Here’s what my super rehydration schedule looked like:

The Weight-Gain Schedule

FRIDAY AFTER WEIGH-IN

Carbs: Eat as much as you want in one meal after weigh-in and testing
Protein and Fat: Eat as much as you want in one meal after weigh-in and testing
Rehydration Beverage: Drink 1 liter of water mixed with 1/2 scoop of carbohydrate/protein drink for every hour you’re awake. (We used Surge Workout Fuel.)
Salt: Salt food

SATURDAY

Carbs: Eat satisfying amount in four meals before weigh-in
Protein: Eat satisfying amount in four meals before weigh-in
Rehydration Beverage: Drink 1 liter of water mixed with 1/2 scoop of carbohydrate/protein drink for every hour you’re awake but stop 3 hours before testing.

What Gaining Weight Does To Performance

Nate Green after rehydration
Back to normal-ish.

First things first: Personally, I ended up gaining 16.9 pounds back in 24 hours. Not bad.

But the real question: How much strength and power do you really gain when you super-hydrate?

Answer: A lot.

While I didn’t perform as well as my baseline (when I did all the performance tests before I started the experiment), I got really close. Which means that even though I put my body through a week of torture, it was almost 100%.

And I totally annihilated my performance numbers from just 24 hours before when I was sickly and dehydrated.

I ran faster and longer, jumped higher, and lifted more weight for more reps.

POWER TEST: VERTICAL JUMP

Baseline: 31.7 inches
After Dehydration: 27.6 inches
Re-hydrated: 29 inches

STRENGTH ENDURANCE TEST: 225-POUND BENCH PRESS

Baseline: 15 reps
After Dehydration: 5 reps
Rehydrated: 12 reps

ENDURANCE TEXT: MAX TIME ON TREADMILL

Baseline: 3 minutes and 14 seconds of sprinting at 8mph with 6% incline
After Dehydration: 1 minute and 28 seconds of sprinting at 8mph with 3% incline
Rehydrated: 3 minutes and 25 seconds of sprinting at 8mph with 6% incline

Lose Weight. Gain Weight. Fight.

For an MMA fighter, this is about the time when he’d be getting ready to step in the cage and fight, which means it’s about the same time you’d turn on the TV and see him in his corner, jumping up and down, getting psyched and ready for battle.

How much does he weigh?

It’s safe to say at least 10-30 pounds more than the weight class he’s fighting in.

And now you know the “secret” to extreme weight manipulation, something 99.9% of guys who watch MMA will never know.

Pretty cool, right?

If you have questions, please put them in the comments and Dr. Berardi and I will do our best to answer them.

###

Nate’s not done yet. Next we’ll have Part 2 – How To Gain 20 Pounds in 28 Days: The Extreme Muscle Building Secrets of UFC Fighters.

For more about Nate and his work on building muscle and gaining strength, check out Scrawny To Brawny.

by Tim Ferriss at May 06, 2013 08:28 PM

Mark Bernstein

Choosing The Best

Eight years ago, I wrote a post about a colleague’s protest about the lack of women in a conference program. Since then, the post has been sitting in the penalty box — the place where volatile posts go to cool off. (Regular readers may be astonished that I possess such a thing.)

Of course, that conference has been over for years. I think, though, that there’s a useful idea here, one that casts some light on what I call the Treaty For Web Science, about which I hope to write soon. So I’ve rewritten and extended the post here.


2005: My friend had written that

There is no such thing as selection from strict quality criteria and nothing else.

Here, I think we've wandered into the swamp or stepped off the end of the pier. If there's no such thing, for example, as selecting from strict academic quality, then universities are just social clubs where some lucky people get to distribute lots of money to their attractive and well-connected friends. That can't be right.

One could, I think, assemble a technical conference program from purely objective criteria that would likely correlate with "quality". We might need to fine-tune our metrics; that's why this is hard. It doesn't mean it can't be done.

Is it possible to select the best baseball player ever, selecting strictly from on-field performance and nothing else? I think so. Can we ask, "Was Babe Ruth a better player than Willie Mays?" We can, and the answer is yes -- even though most people seem to like Mays and lots of people thought Ruth was a jerk. (Update: Eight years later, a more effective comparison would be Barry Bonds and Mays. Or load the deck even more: Barry Bonds or Jackie Robinson. Jackie’s number 42 has been retired from baseball and Bonds might never get into the Hall, but no one is going to argue that Bonds wasn’t a better player.)

Is it possible to select the best 5 novels of the year, arguing strictly from literary quality and nothing else? Most people think this is a plausible enterprise, though it's bound to be difficult. The National Book Award, the Booker, the Pulitzer – they'd mean nothing if people thought they were rigged or jobbed or arbitrary.

As it happens, the last National Book Award (i.e. 2004 or 2005) ended up short-listing five novels. All five were written by women. All were "small" novels. None sold very well. A number of other novelists (Philip Roth, Tom Wolfe) wrote books that were eligible, but weren't nominated. If we neglect the questions raised by Middlesex, we'd expect that all five books on the short list would be written by people of one gender or the other about once every fifteen years, just from luck. It's possible that Roth's maleness worked against him, it's possible that judges thought he was already sufficiently famous, or that having already won the prize, he didn't need another shiny object. It's possible that the judges simply liked the other books more.

Writing in The Believer, National Book Award chairman Rick Moody – no slouch of a writer – said that's just the way it turned out. Moody thinks the resentment is, at core, anti-intellectual: famous writers should create the best books, right? He's got a nice polemic on how anti-intellectual spleen has no place in the National Book Award, and how the media furor surrounding the award infantilizes the American book-loving public.


2013: What I didn’t appreciate sufficiently in 2005 is the way this disagreement illuminates a disciplinary boundary. My friend is a humanist steeped in postmodern thought. My background lies in the physical sciences. We seem to be arguing politics, but we’re really arguing disciplinary faith.

My friend’s position, I think, is that all these judgments are necessarily embedded in social contexts and understandings. We can’t truly know which novel was the best of 2013; it’s not really a question that makes any sense. The best we can hope to do is suggest which novel would be the best one for you to read right now. Someone else, at some other time, might find it dull or trite or impenetrable. And if we can’t choose the best novel, how can we choose the very best conference speaker? And might not being female sometimes in itself make one person a more effective speaker than another?

Suppose you’re having a dinner party. Seven guests have been invited; your table can manage eight. Is there one best person to invite? Context is everything here, and it’s entirely possible that balancing genders, personalities, and interests will lead to the best answer.

But science cannot work this way. As Curie said, in science we talk about things, not people. Considering a talk at a scientific conference, we can easily ask (and, one hopes, answer) questions that would confound us in literature:

  • Is the work completely correct?
  • Is it completely original?
  • Does it suggest exciting new avenues for research?
  • Might it have important practical consequences?

No one can read a new novel and tell you with confidence whether it’s going to inspire lots of novels or not. For plenty of computer science papers, on the other hand, this is immediately apparent. In literature, it might be interesting to hear someone with talent expound a position that’s almost certainly wrong: Edmund Wilson’s case against The Lord Of The Ring, or Jane Smiley’s rejection of Huckleberry Finn. This is even more true in History, which thrives on energetic defenses of such seemingly-indefensible positions as “our sympathies should lie with Sparta, not Athens” or “it might have been better for everyone if Britain had let Germany win WW1.” Even if it turns out that the new argument doesn’t quite hold up, the attempt may well repay some time and effort by giving us a broader understanding and deeper sympathy.

But in science, wrong is wrong. And few things would be more wrong than preferring paper A to paper B because the author of A, though he’s clearly made a blunder this time, is an important fellow while the author of B is an unknown student from a backwater. To take the speaker’s podium away from B and give it to A would, in the sciences, be a revolting crime and a scandal. It’s unthinkable.

A fairly precise parallel can be found in the Anglo-American legal tradition. Suppose Smith, a beloved movie star, has committed a serious crime. He is immensely wealthy. He is head of prominent charities and is considering running for office. Thousands of workers depend on him and would lose their jobs if he weren’t available to make his next film. May we excuse the crime? The Romans would have answered without hesitation, “yes.” But the Anglo-American tradition is unambiguous: though the sky fall, let justice be done.

Now, even in the sciences we may have tough decisions. We might not catch a mistake. We might not know that something has already been published, especially if the first publication was obscure or if it used a different notation. Reasonable people can disagree over whether a given result is intriguing or rather dull. Committees can err. But, obviously, they must not commit crimes.

Now, scientists are not (always) dim or parochial. They understand that people are fallible, and they understand that in other fields to ask for a judgment of whether a conclusion is wrong is to ask too much. It’s impossible to apply the standards of physical chemistry to a paper on ethics or narratology. But to consider persons, not facts, when choosing conference papers is going to make scientists very, very uncomfortable.

May 06, 2013 06:52 PM

Clotilde's Edible Adventures in Paris

The proof of this lively guide to restaurants and food shops of Paris will lie in my upcoming trip, I suppose, but this is a pleasant and amusing little read, well above the usual guidebook fare. The book is replete with tasty sidebars about language, customs, habits, and these are its particular strength.

Dusoulier’s weblog, Chocolate & Zucchini,

captured my attention early on with a simple anecdote. Clotilde was having the neighbors to dinner, and she had a particularly nice wine. What should she cook? This was a revelation: no one had ever suggested to me that you could choose the wine first and build a meal around it, while every cookbook and wine seller talked all the time about pairing wine with particular foods. At restaurants, you always found out what people were ordering and then tried to pick a sensible wine; you never said, “Let’s have this interesting Bordeaux” first, leaving people to choose what they’d like to eat with that wine. Knowing how Clotildle was thinking about this opened up all sorts of possibilities.

There’s some of that in this book, but not quite enough. Perhaps age and celebrity and a baby have made her more private. Perhaps it’s a desire to put the restauranteurs and storekeepers in the foreground. She was never a confessional blogger, but there’s not enough Clotilde here for her fans.

And we could welcome even more of the book’s plentiful sidebars. Those macarons in the lovely bakeries: can you buy just one or two? Or does one buy a dozen? Everything else in today’s gastronomy rejects coloring: why are colors so prominent in macaroons? How does a hotel-bound visitor sample viennoiserie? OK: it’s (say) 1530 and you’re standing outside a famous bakery; is it OK to buy a single roll? Should one buy a baguette and tear off chunks to eat as you stroll down the street, or is that obnoxious? Or should you buy that baguette first thing in the morning?


As it turned out, we chased down two restaurant recommendations from Edible Adventures, and one bakery, and all were (of course) excellent. But this is Paris and there’s lots of good food, and plenty of people to tell you about it. What can we learn from these three?

Les Papilles is a wine store in the 5e arrondissement that serves dinner. I tried to get reservations for May 1, struck out, but we did find space for a small crew at the big communal table in the basement the next day. It’s a fixed menu: you choose your wine from the store shelves but that’s it. The dinner was outstanding: a delightful celery soup, a lamb stew, some tasty cheese, and a panna cotta. We had some nifty Bandol. It was terrific, but you wouldn’t know about a place like this if Clotilde didn’t tell you and give you permission. (I’m still a bit unclear whether it would be bad manners for an anglophone couple to sit at a communal table, but I suppose it’s ok for a larger party.)

Interestingly, the staff at Les Papilles didn’t know about the book or about Clotilde.

L’Entredgue is a neighborhood place in a neighborhood that is not terribly folkloric but that happens to be close to the Palais des Congrès where Web Science was held. Clotilde had given a wonderful presentation at Web Science the day before and a friend had ordered the book overnight on Amazon and reserved a table at this handy place. Again, it’s not very big and it’s not very conspicuous, but the cooking is very, very good. I had some foie gras, some delicious pork, and a tarte tatin. And it was exactly right for a conference dinner: lively but not raucous, comfortable but not boring, with food that was interesting but not frightening.

In the mornings, we’d been taking our morning coffee and a croissant in the nearby Place Maubert, and they were very nice indeed. Even the conference croissants were terrific. But Clotilde speaks highly of Eric Kayser’s boulangerie down the street, so one day we grabbed two of his pain au chocolate. Wow! These are at once more tender and more flaky than I thought possible. We immediately bought a second pair to eat by the Seine. Astonishingly good. Again, it’s not so much the tip as the permission, the suggestion that you should stop and try this even if you don’t have to.

May 06, 2013 06:31 PM

Dave Winer

Scripting News: 11th hour for news nets.

Michael Wolff comments on the job ad that Twitter is running, looking for a manager of news.

He suggests existing news execs, and that's probably the kind of person Twitter is looking for for this job.

It's a head-fake. This guy is a figure-head. He or she will be working with media companies, speaking at conferences, talking about how Twitter is helping media companies succeed in the age of realtime Internet-delivered news. He or she is a feel-good ambassador to the news industry. A person handing out complementary samples of pasta and baked goods while the real action is elsewhere.

The job is a bedtime story. News will be as it always was, with familiar faces and jobs, just with a new delivery system.

Meanwhile, the news system of the future is booting up all around Twitter, which is and always has been a coral reef. They need a new shipwreck to build around, and this time the sunken ship is the remains of the news industry.

Even at this late hour, I have a recommendation to any player in the news industry.

1. Create a river of news and put it on your home page.

2. Include all the news from your own organization, but include news from bloggers in your community.

3. Include the feeds of your competitors.

4. Deliver the best news product you can with today's technology. You can link from the river to stuff behind your paywall, if you must, but the river itself must be freely accessible. Think of it as a river of ads for full-length stories.

5. No 140-char limit. Pick a higher number. There should still be a limit to the length of a synopsis. 500 characters is plenty. Most NYT synopses are much shorter than that.

6. Make nice with Twitter. You can do a head-fake too. :-)

May 06, 2013 04:58 PM

May 05, 2013

Axis of Eval

Some progress on the Wat VM

Wat is back! If you'll recall, Wat is my ultra-minimal (~500 lines of JS) interpreter for a Kernel-based language with delimited continuations as well as first-order control, and hygienic macros as well as fexprs.

I'm pretty excited by some recent and ongoing changes, which make Wat even smaller and turn it into more of a VM than a full language. Wat will provide (just) the following features:
And that's about it. This should give an extremely minimal yet powerful infrastructure for building JavaScript-based languages.

And I gave up on quasiquotation and Scheme-style hygienic macros again. I just cannot get them to work in a satisfying manner.

Exempli gratia, here's some initial Wat VM "microcode" for bootstrapping a vaporlanguage.

by Manuel Simoni (noreply@blogger.com) at May 05, 2013 03:08 AM

May 04, 2013

Dave Winer

Scripting News: Markdown and outliners.

A picture named drummer.gifI've had Markdown on my to-do list for a few months, and the other day, with a bit of blank space in my worklist, I decided to give it a shot.

It was amazingly easy to integrate into our JavaScript app. I just downloaded the source for Pagedown, the Markdown interpreter used by Stack Overflow. I put it into a file on our server, and included it in Fargo. Added a command to the File menu, and came up with a simple way to generate it for users. The whole thing was done in a couple of hours.

Now we need people who know Markdown and outliners to take a look at this, try it out and relatively quickly, before there's an installed base to break, figure out if there's anything special we need to do, because this is an outliner and not a straight text editor.

Here are a couple of considerations:

1. Should we generate one or two return chars at the end of every outline heading? At first we did one, then thought better and generated two, but now we're back at one. Pretty sure one is the right answer. We often think of a headline as a paragraph, but sometimes headlines are titles. Markdown views titles and paragraphs very differently.

2. Indentation. I thought at first that we should generate a tab for every level, but backed out of that idea quickly because Markdown treats tabs as very special characters. Everything deeper than level 0 would be seen as preformatted code. Not the desired outcome.

So I wonder if there have been any others who have integrated outlining and Markdown before? If so, what did they do here?

See the Fargo docs for an idea how it works from a user's standpoint.

I welcome any comments from Markdown experts (I am anything but that).

May 04, 2013 09:10 PM

Giles Bowkett

Stop Drawing Dead Fish

Another brilliant presentation from Bret Victor. The spirit of Xerox Parc remains alive, and then some; he transfers, to animation, the machine control as performance dynamic which characterizes DJing. Very highly recommended.


by Giles Bowkett (noreply@blogger.com) at May 04, 2013 05:07 PM

May 03, 2013

Dan Bricklin

An overview of HTML 5, PhoneGap, and mobile apps

In my discussions with business IT people, I'm finding that the use of HTML5 and perhaps "hybrid" architecture is becoming more and more commonly accepted. However, I'm also finding out that most people don't understand exactly what this means, nor have a clear picture that lets them differentiate between variations of that architecture supported by the multitude of development environments. I wrote an essay to fill in a lot of the details to help people understand that picture.

Read "An Overview of HTML 5, PhoneGap, and Mobile Apps" in the Writings section of my website.

May 03, 2013 03:25 AM

Tim Ferriss

A Few Thoughts on Content Creation, Monetization, and Strategy


(Photo credit: Shewatchedthesky)

This is short post on content creation and monetization.

Below is an e-mail I received from a friend of a friend. My answers to him are inline after “TIM”, and I’ve elaborated on a few.

The e-mail itself is also a great example of a thoughtful approach to a busy person (me). I bolded one key phrase.

For those who want to explore further, here are two related posts:

How to Build a High-Traffic Blog Without Killing Yourself
Tim Ferriss Scam! Practical Tactics for Dealing with Haters

Now, let’s read that e-mail…

The Email: Questions and Answers

Tim -

I realize you are a very busy man and you mentioned in your last reply that you are taking a couple of months off from doing interviews. I respect your request and, having read your work, understand the motivation behind it. I certainly don’t mean to intrude, but I’m working on a project for my work as a Content Strategist and would greatly appreciate it if you wouldn’t mind taking two minutes to answer two questions. I promise they are short and to the point and that I will not follow up your answers with more questions, unless you specifically allow me to. I thank you for your time in advance.

TIM: No problem :)

The questions are as follows:

When working with brands, specifically big multinational brands, I often run into the mindset that volume and velocity are the most important aspect of content marketing. Yet, it seems to me that agility and ensuring the content is found, consumed, shared and acted upon – meaning that content leads to conversions of direct business value – are more important than simple speed. What is your rule of thumb as it relates to content that keeps you from being in the news business and so focused on specificity while allowing for flexibility in topics and responsiveness?

TIM: You can’t out Fox News Fox News. Timely news-based content turns life (or business) into a keeping up with the Joneses nightmare. I focus on evergreen/useful content that is as valuable 6 months from now as it is the day it’s published. It might mean less immediate traffic, but it means sticky traffic and also Google traffic that will add up to monstrous traffic later. This all factors into conversion and sales, if that’s your priority.

My approach allows great flexibility and offers the option to hit STOP without losing it all. If I stopped writing blog posts tomorrow, I’d still make tons of income from my traffic (via books, start-up intros, speaking gigs, etc.). That was never the primary intent of my writing, but it’s a nice side-effect!

People prefer to trust other people, not brands (e.g. Steve Jobs versus Apple), so I have the advantage of being a single-person-based media provider. Brands can do this by singling out killer personalities to drive their brands (e.g. Bobby Flay for Food Network in the early days).

People want to follow humans, not trademarks. Plan accordingly.

How much of your content is planned vs. responsive?

TIM: 90% planned, at least. I write about the things that capture my attention and imagination, first and foremost. Guessing what other people want is exactly that — guessing. The remaining <10% is experimental and based on reader leads.

As a content marketer, the value of my work is often calculated in the same terms that media ROI is determined by. Yet, working in the digital space, it seems we can be so much more precise as it relates to causation. TV and media metrics often fall into the old logical fallacy of “Post hoc ergo propter hoc” (“After this therefore because of this”) Knowing that you are devotee of Drucker’s axiom “that which gets measured gets managed” I wonder what model you use to calculate the ROI of your content. Can you make a recommendation?

TIM: I don’t quantify the profitability of each piece of content, as it would affect my editorial purity and stymie my curiosity to explore things on the edges… yet that’s precisely what’s built my reputation, if I have one!

I write about what most excites me and assume that will hold true for 10,000+ people… if I write about it well. If I get 100 die-hard fans per post like that, I can build an army that will not only consider buying anything I sell later (assuming high quality — most critical!), but they’ll also promote my work as trustworthy to other people. This compounds quickly. The product — here writing — needs to stand on its own two feet.

Furthermore, it’s much more interesting to me to sell something like a small-scale, $10,000-per-seat seminar every 2-3 years, instead of obsessing over monthly, weekly, or even daily Amazon commissions, for instance.

Many high-traffic blogs and publishers are coming to similar conclusions and doing much the same. Optimizing a bad business (or marginally profitable one) is not as elegant as creating a parallel, higher-margin revenue stream. Think TED videos and TED attendance. If TED charged for their videos from the beginning, where would they be now? Near obscurity.

As Warren Buffett once said, “Should you find yourself in a chronically leaking boat, energy devoted to changing vessels is likely to be more productive than energy devoted to patching leaks.”

That said, if you’re operating in a CPM-ruled world, you might have other near-term pressures, but I’m building a snowball the size of continents. The catch: it sometimes moves at a glacial pace. Big things take time, but that’s OK — almost nothing can stop a glacier from moving once it reaches critical mass.

Thank you again for your time and consideration in this matter. I certainly appreciate it, as I do all of your work.

TIM: Thank you and my pleasure!

###

AFTERWORD TO READERS: What are your most burning questions about content, whether as craft or business? Please let me know in the commments, and I’d love to hear your own best practices.

by Tim Ferriss at May 03, 2013 01:41 AM

May 02, 2013

Simplest Thing (Bill Seitz)

"I was talking to a woman who had moved here from California. “If the whole world comes to New York..."

I was talking to a woman who had moved here from California. “If the whole world comes to New York when they need to leave home and discover something new, where do New Yorkers go?”

“The movies,” I said.



-

word up

(via stoweboyd)

May 02, 2013 06:44 PM

"Just start something and be open to the lessons that you will learn along the way."

“Just start something and be open to the lessons that you will learn along the way.”

- The End of Entrepreneurial Design Great writeup by one of my students, Tyler Davidson. (via garychou)

May 02, 2013 06:38 PM

Dave Winer

Scripting News: The Knicks as a metaphor.

A picture named knicks.gifA number of Knicks players did something extremely stupid when they dressed in black for last night's game, saying they were dressing for the Celtics' funeral. These guys may be talented athletes, but they don't understand sports. Amazingly. How could they get that far in the NBA without understanding that you don't celebrate until you win. I know they're young. I wonder if they've ever heard about Game 6 of the 1986 World Series.

Sports, if it teaches us anything, it's how to struggle against our folly. How not to tempt fate. How to manage our own presence.

Look at the incredible baskets these guys make. But they only make them when they're grounded, in the moment, feeling the energy, whatever it is. So JR Smith started celebrating after they had a solid lead in Game 3. He got ejected, and suspended, and not only wasn't there to help in Game 4, he broke the bubble around the Knicks, that had been around the team since they emerged from an awful funk in February. Now we have to wonder if they can get it back.

The Celtics, last night, walking off the court, may have helped the Knicks get back in the groove, repeating trash talk about Carmelo's wife. I'm just theorizing, lip-reading. But maybe he'll get angry and really want to win. That's probably all it takes.

Meanwhile in Oklahoma City, the Thunder coach thought he could sneak by the Rockets with a trick. Oh how sad. Kevin Durant who I thought was a true fighter, is instead mired in self-pity. And the Rockets, a young, smart, admirable -- wonderful group of young men -- are pushing every one of their buttons, artfully. They might pull out the upset. Amazing parallels between the Celtics and the Rockets. One team old, one young. Both not going out peacefully.

All this is a metaphor for my former friend Mike Arrington, who may be the JR Smith of tech. He was celebrating the demise of RSS while the body was still breathing. He had no clue that he had won, or that anyone was keeping score.

Technology isn't all that different from basketball. There's teamwork, and bubbles of energy, and franchises. RSS is not something that dies, any more than the NBA dies. Players come and go, there are generations -- the Patrick Ewing Knicks and the Bernard King Knicks. Now we have the Carmelo Anthony Knicks. But RSS, like the NBA is bigger than me or Mike. He doesn't get to say it's dead. RSS just laughs, shrugs it off and keeps on going.

May 02, 2013 04:52 PM

Reinventing Business

Venture Capitalists are not Evil, but ...

When I first started learning about venture capitalists (VCs), I heard about them from the tech startup side, which called them "vulture capitalists" and declared they were only in it to screw over the hard-working company founders. Those were the scary stories one heard, anyway, because everyone else was too busy working on their companies.

Many years later, and after having a girlfriend who was in social venture investing (different goals but much in common) I'm of the belief that the majority of VCs are not evil, but there are enough of the evil ones out there that you have to be very careful to choose one that shares common beliefs with you about business. The right VC doesn't just provide money, but nurtures the company in numerous ways, providing guidance and expertise. Sometimes they need to make some hard decisions that you can't make, but the right VC will make those decisions in the interest of the company and not for short-term greed.

Pitching to VCs should not be a one-sided trip to Vegas, hoping to hit a jackpot. It must be a two-way interview to discover if you can work together. You might be anxious to get funding, but funding from the wrong place can destroy years of your life. Here's an article that shows what can happen, and why you should pay for your own lawyer in the process. (The idea of hiring a lawyer is expensive and scary at first, but there are times when cutting corners in the short term will cause much grief in the long term).

It's also important to realize that venture capital is not right for everyone. If you can bootstrap yourself out of your garage while working a side job, there are more and more opportunities for that (for example, launching anything big on the web used to require setting up server farms, now anyone can scale through the cloud). And if you're building a product, what better way to fund the first production run and find out whether people actually want it than services like Kickstarter? Other forms of investing are beginning to appear, as well.

To begin learning more about this, I recommend the Stanford Entrepreneurial Thought Leader podcast; it's worth going back and listening to all of them (I find them very stimulating during drive time).

by noreply@blogger.com (Bruce Eckel) at May 02, 2013 04:17 PM

Dave Winer

Scripting News: The Fargo-WordPress connection.

A picture named wheel.gifMy outliner is an authoring tool. I think of it as the hub of a wheel with lots of spokes. At the end of each spoke is a way to communicate.

Some of the spokes lead to private places, for example, the worknotes I share with my programming partner. No one else sees those. But then there are blog posts, like the one you're reading now. At the end of this spoke is software I wrote that renders an outline in this form. I'm one of a small number of people, today, using that method of rendering.

Yesterday we released a spoke that leads to WordPress, the popular open source blogging environment. You can now use Fargo to create and edit posts in WordPress. This works in two ways:

  • 1. You can use the outliner to organize a library of posts you want to be able to access quickly.
  • 2. You can use the outliner to structure each blog post.
    • By default each level is represented in the blog post by indentation. But we also add CSS styles to each paragraph that indicate what level they are at. So a skilled CSS designer can set it up so that level indentation does much more to control the appearance of the text. I expect lots of interesting stuff to develop here.

Here are the docs for the feature, and a list of recent new posts written in Fargo.

Here's a homemade video demo of the new Fargo-WordPress connection.

Over time you'll see us add more connection, and of course offer a general way for anyone to add new spokes to the wheel. And because we're using an open format, it'll even be possible to hook other outliners up to the same connections.

For anyone who cares, this is how you bootstrap a new standard, a coral reef for authoring and rendering.

PS: This is what the post looks like in WordPress. :-)

May 02, 2013 03:29 PM

Mark Bernstein

Preamble

Websci this year received a lot of work.
One ninety eight submissions were reviewed
By more than seventy program committee folk,
And in the program we managed to find space 
For forty talks and more than forty posters
By squeezing every minute,every meter,
And plotting out the pecha kucha show
I hope you’ll all enjoy right after lunch today.

I emphasize we always separate
The mode of presentation from publication.
Some of the papers we thought best became
Posters or short talks because we we thought
They’d show to best advantage in a smaller space.

So we might think ourselves well pleased,
A happy conference, prosperous and strong.

This year, you gave this conference many frights.

We waited for your papers anxiously
And feared too few would come, 'til at the end
They all poured in at once, and more came late.
The deadline for extended abstracts came
And went, and papers still rushed in. Reviews
Were also plentiful but very slow,
Terser and more shallow than I’d wish.

And so I take a moment here to ask
You all to slow down all of your reviews, 
To water them and let them grow a bit.
Move carefully but well beyond your comfort zone,
And show your work. Tell what you understand
And how. 

	We do not care as much as you 
Just what you like — and don’t. We need to know
More clearly what you thought about, and why. 

❧ 

Disciplinarity is harder than you think.
In school it seems to be for most
A question of departmental boundaries,
One that good-natured friends with ease
Should overcome. Alas, this turns out not
To be the case. Our disciplines
Encode our rules of evidence, and worse
Encode what we think good, and bad, and wrong.
Last night, in fact, I was awake past two
To settle one last vexing argument.
Simple things like how we submit work
And then review it raise question and tempers too.
What seems straightforward in one field
Another finds intolerably wrong.

❧  

Whoever thinks a faultless piece to see,
Thinks what ne'er was, nor is, nor e'er shall be.					

But still, my friends, this isn’t good enough.
The writing we received is really far from good,
Making all allowance for the fact
That we all come from different states and fields.

I don’t complain of trivial mistakes.
I am myself a very sloppy writer,
And almost every paper I submit
Has missing words and blunders. It’s not these 
That makes our papers so damn hard to read, 
But rather imprecision in our choice of words
And absence of concision in our prose.
You need not hammer home the structure of your work
If it's the same old structure we have read
Since we were undergrads. 

	But if you write
About the antelopes that roam the Web
It does behoove you well to know exactly what
An antelope might be, and to distinguish them
From beavers, boojums, snarks and ocelots.
You need not argue ocelots are bad!
We simply want to know how your ideas fit
With what we all already do and know.

Precise word use and thorough scholarship			
Are even more important when, as here,
The audience is drawn from many disciplines.

Our topics — timid, inoffensive, mild –
Will seldom cause  great outrage or surprise.
The times are bad, the provost even worse,
I understand how fear of a false step
Can tempt us to tread light. But still,
It’s not just me: a bunch of you sent mail
To ask about the timing of your talk
So you might fit it in your travel plans
And rush away to give another talk.
I don’t recall a single message sent
To ask about a colleague’s Web Sci work,
And when their talk might be. 

	Why do we come
To conferences like this? To please our dean?
To earn a meager line on our CV?
That’s not the point. 

	I hope we come to learn
To find the best of what is being done
And thought about this complicated Web.

So thanks for coming. Please enjoy the show;
I look forward to learning what you all newly know.

May 02, 2013 01:10 PM

May 01, 2013

Tim Ferriss

Jedi Mind Tricks: How to Get Loved Ones to Lose Weight

03.31.13 Darya and Kevin
Darya Pino Rose, PhD, and her dad, who transformed himself after years of resistance.

“Families are like fudge: mostly sweet with a few nuts.”
- Anonymous

“Language is a means of getting an idea from my brain into yours without surgery.”
- Mark Amidon

Losing fat yourself is one thing. Readers of this blog have lost 100-200 pounds without too much trouble.

Getting your mom or dad to take you seriously? To stop eating white bread or drinking 64-ounce sodas? That can seem impossible.

Loved ones — whether family, friends, boyfriends, girlfriends, spouses, or otherwise — can be sensitive. The people who need help most often won’t accept it, especially from those closest to them.

So what to do?

This post gives a real-world example from Darya Pino Rose, PhD. I’ve known and followed Darya for years. Her PhD is in neuroscience from USCF, and she champions a whole-food-based approach to nutrition that avoids pills and powders. This combination produces fascinating results.

The below story, from her new book Foodist, shows exactly how she transformed her dad’s health without butting heads with him… and how you can do the same for your loved ones.

Do you have any tricks that have worked with your family or friends? Please share in the comments!

Note: For the purposes of this post, a “foodist” is someone who uses real food and real science to lose weight permanently.

Enjoy…

Enter Darya

Eating like a “foodist” does not doom you to being ostracized from your friends and family. This post will teach you how to lightheartedly deflect your critics and gently nudge (but not annoy) those loved ones you hope will adopt better eating habits.

This is tricky business, but it can be done.

How To Win Over Friends and Influence Family

It’s hard to see loved ones suffer as a result of their eating habits. Traditional whole foods have been out of fashion for so long that many of our parents and sometimes even our grandparents are completely unaware of the negative health effects caused by the foods they grew up loving. As they age, however, these habits start to take their toll, and we must watch as their health deteriorates. A medical emergency that brings them face-to-face with reality is sometimes what it takes for them to make changes. Other times even that isn’t enough.

Unfortunately, changing the habits of another person is even more difficult than changing your own. Stubbornness, pride, and ignorance can prevent people from even listening to advice that could save their lives, and for whatever reason age tends to compound these particular traits. Pushing a message that people don’t want to hear can cause them to dig in and fight even harder to preserve their way of life, straining and potentially destroying your relationship with them. When dealing with someone like this, it’s first essential to accept the fact that there may be nothing you can do for him or her. No matter how badly you may desire to help, a person has to want to change and cannot be forced.

But still, change can happen. Despite my close relationship with my father and his enthusiasm about my career path, I didn’t expect him to ever alter the way he ate. My dad had suffered from depression since I was in high school, and his outlook got even worse after my mother passed away in a car accident in 2003. Like most people, he had developed the habit of eating processed and fast foods starting in the early 1990s, and as his depression grew deeper, the effort he put into feeding and taking care of himself waned.

“In general, I did not want to continue living and didn’t think I would. With all the health problems I was having, and especially after your mom died—that was a really hard thing for me to deal with—and I thought it would be better if I was gone too,” he told me.

After a series of serious medical emergencies that nearly took his life on three occasions, I had nearly given up hoping for a turnaround, even though he was only in his fifties. But I continued to love him and share my passion for seasonal food whenever possible.

“You were so understanding, you never put any pressure on me or tried to convince me to change, but you always gave me hope that things would get better, things would be better,” he recalled.

From my perspective he had gone through enough and didn’t need me or anyone else telling him how to live out his life. If he didn’t want to live, I didn’t want to bug him about his blood pressure or eating habits. I just wanted to have as many happy and positive times with him as possible until whatever happened happened, and the last thing I wanted was to strain our relationship unnecessarily. I know my dad, and he is not one to do anything just because someone else, even me, thinks he should. Still my excitement about food and health was genuine, and I knew he had always been a fan of a good meal, so I continued to share what I was learning.

My cooking was the first thing that caught his attention. I made a point whenever visiting home in southern California to stop by the San Francisco farmers market before getting on the plane and bringing back something delicious. On one summer trip I brought home a small bag of padrón peppers, some good olive oil, and a crusty baguette. Padróns are small green peppers that are a common tapas dish in Spain and a seasonal delicacy for foodists in San Francisco. They are incredibly simple to prepare. All you have to do is heat some olive oil in a cast-iron pan and cook the peppers over medium heat until they blister and just start to brown. When they’re done, sprinkle them with some coarse sea salt and eat them with your fingers. Padróns have a deep pepper flavor, but are not usually spicy—except when they are. One out of every ten peppers is incredibly hot, so eating a bowl is a bit like playing Russian roulette with your tongue.

My dad has always been a fan of spicy foods, and I knew that padróns would be right up his alley. At his house I cooked them with a little more olive oil than usual, because it becomes infused with the oil from the peppers and tastes delicious. We used the bread to sop up the extra pepper oil and cool our mouths when we got burned on the spicy ones. My dad loved every bit of it and quietly started paying more attention whenever I mentioned food.

His next great epiphany was beets [ubersimple recipe at the end of this post]. All his life he had hated beets, and consequently I had never eaten them as a child. The first couple of times I tried them, even at nice restaurants, beets tasted a little off to me. Something about their flavor reminded me of dirt, and I could never get past that to enjoy their earthy sweetness. But I continued to sample them when they were available, hoping one day something would click. That day came one sunny afternoon at the house of a friend who was hosting a dinner party. We were having Dungeness crab for dinner, which I was totally excited about, but the main course was a long way off, so she put out a huge pile of roasted beets sprinkled with chèvre cheese and fresh mint as an appetizer.

I was starving, so I started reluctantly picking at the giant pile with my fingers, since I didn’t want to scoop myself a serving of food I didn’t expect to like. I popped the first bite in my mouth and, yeah, it still tasted like beets. But I was hungry, so I tried another, this time with a good portion of mint and cheese on it. After a few chews, it hit me. “Whoa, this is good,” I said to myself. Something about the fresh-tasting mint and the creamy cheese balanced the earthy flavor of the beets and transformed them into something I could appreciate. I proceeded to put a hefty dent in the beet mountain, leaving bright pink stains all over my fingers. Beets had finally made it onto my beloved vegetables list, and I started making my own version of the recipe at home.

Proud of my recent conversion, I told my dad about my beet discovery during our next phone conversation. He replied skeptically, saying that he hated beets and always had. But I knew I was onto something and decided to include the recipe in our next Thanksgiving dinner, just so he could try it for himself. I made plenty of other dishes as well, just in case he really didn’t like the beets, but I followed my friend’s lead and set them out earlier than the rest of the food as an appetizer, knowing that someone with a hungry tummy couldn’t resist trying a bite. It worked.

“When you made those beets I was like, ‘Wow, this is so unbelievable! So different from what I remember,’ ” he recalled.

I was stoked, and my dad became a believer. At almost sixty years old, he developed a new appreciation for vegetables and real food (turns out the beets he grew up eating were always from a can), even the ones he thought he didn’t like.

“It made eating and preparing healthy food much more fascinating,” he explained. “It became exciting to me to see what the possibilities are.”

The beets weren’t enough to change my dad’s habits, but he was starting to make the connection between good food and good health. More important, he was now convinced that vegetables and other healthy foods could taste amazing and that eating them would not be a sacrifice. He also began paying more attention to me and the things I would say and share on Facebook about the connections between food and wellness.

Though he still didn’t care much about his own life or health, he was growing weary of feeling sick and drained all the time, and it was becoming obvious to him that his health (and possibly his diet) was the reason. After living for decades on processed foods, my dad had developed prediabetes and his blood sugar swings were having a terrible impact on his mood and energy levels. He also had dangerously high blood pressure, and in 2006 a mild stroke left him with a speech impediment that deeply troubled and embarrassed him. Worse, the stroke made it nearly impossible for him to play his guitar, the only passion he had left in his life. Though he was able to recover his speech and dexterity after a couple of months, this experience scared him enough to at least start taking medication for his condition and paying more attention to his diet. He may not have cared then if he lived or died, but he knew he didn’t want to live without his music.

Because he’s a good father, my dad had always done his best to keep up with my work ever since I started writing in 2007. He’s seen almost all my rants against processed food and praise for seasonal vegetables, pastured eggs, and wild fish, and nothing had ever convinced him to change the way he eats. Then one day in late July 2011, I got a phone call with the words I never expected to hear.

A few weeks earlier I had released a video on Summer Tomato about salt, explaining how it affects your health and what you need to understand to make smart food decisions. My basic argument was that salt itself is not bad for you. In fact, it is necessary to have some sodium in your diet. Moreover, salt makes food taste better, and I encourage everyone to sprinkle some on their vegetables if it helps them eat more of them. There are three reasons salt is a problem for most Western societies. The first is that we eat way too much of it, which can lead to hypertension. However, a whopping 75 percent of the sodium we eat comes from processed foods.11 Relatively speaking, the salt you add to your own home-cooked food is insignificant.

The second issue is that sodium intake must be balanced by sufficient potassium intake, which comes mainly from vegetables. [Note from Tim: avocados, white beans, and spinach are great options.] That is, the more vegetables you eat, the less dietary sodium matters. Most people don’t eat enough vegetables, so eating a lot of sodium poses a bigger risk for developing high blood pressure than it would in the context of a healthier diet. Third, a high intake of fructose, a common ingredient in processed foods, exacerbates the effects of sodium in the diet. This means that the same amount of salt in your food is more dangerous if there is a lot of fructose around as well. All three of these points lead to the simple conclusion that too many processed foods and too few vegetables are the real causes of hypertension, not the little white shaker sitting on your kitchen table.

On that random day in July, my dad called to tell me that he watched this video, and something about it struck a chord. I remember his words so vividly I can still hear him saying them in my head.

“I watched that video you made about salt, and it was really great,” he began.

“Thanks, Dad,” I replied.

“Yeah, I was watching it, and you made me realize that salt is already inside the processed foods,” he explained.

“That’s right,” I answered, almost chuckling at his excitement about this simple revelation. My brain instantly cued the scene from the movie Zoolander in which Hansel realizes that files are kept in the computer and then throws the machine off a balcony, so he could open it up and find them.

“Well, since the salt is already in there, I stopped eating them,” he continued.

“What?” I wasn’t sure I’d heard him right.

“I stopped eating the processed foods a couple weeks ago. But I needed something else to eat, and I remembered you always saying I’m supposed to eat vegetables, so I went to the store and bought all of them,” he went on.

“What? What did you buy?” I asked, starting to realize the meaning of his words. Maybe he did throw his processed foods off the balcony.

“I bought all the vegetables. They weren’t very well labeled, so I wasn’t sure exactly what I was getting. But I think I got some kale and some chard. And I got some peppers, onions, mushrooms, and all sorts of other weird shit. I took it home and cut it all up—it took an hour there was so much of it—and I made three huge batches of stir-fry. It was beautiful, and so colorful, so I call it my Rainbow Stir-Fry. And it was delicious! I take it to work and eat it every day for breakfast and lunch. I also sauté some fish or turkey meat and eat that. After eating that all day, I’m not usually hungry for dinner.”

Laughing again, this time in disbelief, I asked, “So you’ve been eating nothing but vegetables, fish, and turkey for two weeks?”

“Yeah, and I love it! And I’ve had to poke two new holes in my belt. I think I’ll need to get new pants soon.”

To say this was hard to believe is beyond an understatement. Seemingly overnight, my dad, who had nearly given up on his own life, had completely overhauled his eating habits and loved everything about it. At the time I didn’t let myself dwell too long on what this could mean. It was still too new, and too unbelievable. But deep down I knew what was at stake if he was serious: it meant he might make it. It meant he might be around to meet his future grandkids, my future children.

As I hoped, my dad’s change was real and permanent. In just two months he was down twenty-five pounds. I know this because he was so impressed by his own transformation that he went and bought himself a scale to track his progress. It wasn’t out of vanity—the man doesn’t have a full-length mirror in his entire house—but out of curiosity. He wanted to have something tangible to look at and know that what he was doing was making a difference.

“In the beginning I didn’t know I was losing weight because I didn’t weigh myself, but I kept having to put new holes in my belt, and one day there were so many folds in my pants. I wore a size 36, so I tried a 34, and goddamn those were too big! I couldn’t believe I was a size 32—I was so proud of myself.”

Shortly after that he developed an uncontrollable urge to start exercising.

“It only took about two to three weeks of me eating like that every day to feel a complete difference in my body, in the way I felt. It all starts adding together, it has an effect on your whole life,” he explained. “The exercise came along when the weight started melting off. It was just dropping off me. And I felt like I wanted to stretch and move again. I didn’t want to feel weak anymore,” he said.

For over five years he had been using a cane to walk. His knee had been severely weakened from a staph infection, which required surgery that left a massive amount of scar tissue. But when he started losing weight, it was easier for him to move around, and he started using the cane less and less. He started taking the stairs instead of the elevator at work, spent more time walking with his dogs, and bought some used exercise equipment for his house—some dumbbells and an ab roller wheel. Over a year later he is down fifty pounds and doesn’t use a cane at all.

“Now I do a hundred ab rolls every day,” he told me. (If you’ve ever tried these you know how hard they are. I can only do about thirty, and then I’m sore for days). “I remember when I hit eighty the first time I couldn’t believe it. It’s really good because when things don’t go well at work one day, or I have problems with the dogs, I know I did my hundred rolls. I have at least that one thing I’m proud of. It’s a lifestyle that I find very delightful,” he gushed.

As his eating habits and body transformed, so did his outlook on life. “I thought, ‘Well shit, if I’m going to live and see my kids grow up, I don’t want to be in a wheelchair. I better be fit enough to do stuff on this planet,’ ” he explained.

When I asked him what he thought led to his change, he had a hard time putting his finger on it.

He said, “For me it took having the wake-up call of the health issue. Then somewhere in me I decided I really didn’t want to die. I don’t know exactly when it was, but it was definitely associated with you. I always felt better after speaking to you. It wasn’t for me or because of me, but your belief that things could be better.”

My dad’s healthstyle has evolved since he first started on his journey. Eventually he became tired of eating his Rainbow Stir-Fry day in and day out.

“At first,” he explained, “it was a bit like cooking dinner and making a piece of art you could eat. Then after about six months it started being too much of a hassle and started getting old. But that didn’t mean I went back to my old habits.”

He now shops and cooks more frequently, making smaller batches of vegetables and fish that he can whip up quickly in the morning before work. “I mix it up with different sauces, Chinese or Turkish, and I rotate and shop at different places for my vegetables. I found a little produce place by my house now that has better vegetables than my grocery store. I never get tired of this stuff.”

Though he knows his dishes and strategies will continue to change as he gets better at cooking and learns to use new vegetables, he isn’t worried about slipping back into his former habits.

“I’ve gone long enough now that I know in my heart that I’ll never go back to my old way of eating, because I don’t find any joy in it. I still go get sushi or Mexican food occasionally, but I don’t want to do it every day. I’m happy and comfortable with how I’m doing it now.”

My video on salt was clearly a catalyst for my dad’s turnaround, but it would have been impossible for it to have had the impact it did without the years of education and encouragement from me that came before it. Just as important is that he was able to make the adjustments at his own pace, without pressure from anyone to do it a certain way.

“I was able to read on Summer Tomato without interacting with you all the time, and see the reasons for doing all this stuff. Then I had the opportunity and knowledge, which I got because of you, and I stumbled my way through it until I got my own style. Once I made up my mind, I’m pretty hard to keep down. I went whole hog,” he explained.

I asked him if he had any advice for people in the same situation that I was in, wanting to help a loved one make healthier choices.

“As long as they can be patient and present things in a way that’s easy to understand. Let your family see how you eat, read a little, and get some inspiration. Everyone has to find their own path, what works for them,” he advised.

As for my dad, he’s just happy it clicked for him when it did.

“I’m feeling better now than I have in a really, really long time. I’m very confident about the future,” he said.

“So am I.” I smiled.

Beating Beet Aversions

If my dad can learn to like beets at the age of fifty-five, anyone can. This is the recipe that convinced him (and me a year earlier) that the humble beet can be as delicious and elegant as any exotic vegetable.

This is the perfect dish for the beet skeptic and beet lover alike, and it hardly requires any cooking skills. If you are still worried you will not like the flavor of beets, look for the milder and less messy golden or pink-and-white-striped cioggia beets. Whenever possible I like to use a few different colors to mix it up, but if all you have are the common red garden beets they work beautifully on their own.

To begin you must eliminate all thoughts of substituting canned beets for fresh. Fresh roasted beets have a rich, sweet, earthy flavor that is completely unlike that of the flaccid purple slivers that come in a can. You will also need fresh mint leaves. Most grocery stores carry them; ask if you can’t find them. Chèvre is a soft goat cheese that a close friend of mine describes as “like cream cheese only better.” A little bit goes a very long way, so I always buy the smallest amount possible (it usually costs around $3).

Be careful not to add the cheese directly to hot beets or it will melt and form an unattractive pink slime. It still tastes good, but it’s better to avoid this problem by cooling the beets beforehand. An hour in the refrigerator works well, but if you are in a hurry you can get away with ten to fifteen minutes in the freezer. This dish is very easy to scale for large batches, making it ideal for parties and potlucks.

Roasted Beets with Fresh Mint and Chèvre

Serves 2 to 3

1 bunch of beets (3 large), any variety

1 to 2 tablespoons olive oil

½ cup fresh mint leaves, loosely packed

¼ ounce chèvre

Sea salt or kosher salt

Preheat the oven to 375?F. If the leaves are still on the beets, twist them off, leaving enough stem to use as a handle for peeling. (If the beet greens are still fresh and springy, I recommend cleaning them and cooking them up with some onions and garlic—sauté them like spinach. Beet greens are so full of potassium that they taste naturally salty, so be careful with your seasoning, because they are easy to oversalt.)

Peel the beets using a vegetable peeler and chop them evenly into ¾-to-1-inch cubes. Keep in mind that the larger the
pieces, the longer they will take to cook. Discard stems.

Add the olive oil to the beets and toss to coat. Sprinkle the beets with salt and place in a single layer in a large Pyrex baking pan. Place the pan in the oven on the middle rack and roast until the beets are tender and have a glazed-like appearance, stirring every 8 to 10 minutes. Roasting takes approximately 35 minutes.

When the beets are finished roasting, transfer them to a large bowl, cover with plastic wrap, and place in the refrigerator. Chill for at least 30 minutes, but 45 to 60 minutes is preferable.

Five minutes before the beets are done chilling, stack the mint leaves on top of each other and chiffonade them by rolling them lengthwise like a cigarette and slicing them into thin ribbons. For very large leaves I like to cut the ribbons in half once by making a single cut through the middle of the pile along the vein of the leaves. Discard the stems.

Using a fork, crumble a small amount of the chèvre into a small bowl or plate and set it aside. When the beets are ready, sprinkle the mint onto the beets and stir, reserving a few ribbons for garnish. Adjust salt to taste. Transfer the minted beets to a serving bowl and sprinkle with the chèvre and remaining mint. Serve immediately.

###

Click here to learn more about Darya’s book Foodist.

Have you been able to help loved ones quit bad behaviors or adopt healthy ones? Please share your stories and recommendations in the comments!

by Tim Ferriss at May 01, 2013 07:14 PM

Alex Schroeder

One Page Dungeon Contest Submissions

1PDC The One Page Dungeon Contest 2013 is now officially closed. No more late submissions. This year I found two submissions in my spam folder. If you can’t find your submission on the contest page, let me know. This year I also got four late submissions, which is about average, I’d say. I asked the other judges and we decided to accept the ones I received. I have to draw the line somewhere, though… So this is it. Closed. :)

Here’s how to get all the files:

72 Submissions! :D ok star

20092010201120122013
Number of submissions112647110772

Tags: RSS RSS

May 01, 2013 03:10 PM

April 30, 2013

Lambda the Ultimate

Typesafe Activator

A new addition to the Typesafe Platform is Activator, a unique, browser-based tool that helps developers get started with Typesafe technologies quickly and easily. Getting started is a snap; just download, extract and run the executable to start building applications immediately via the easy to use wizard based interface. Common development patterns are presented through reusable templates that are linked to in-context tutorials which explain step-by-step exactly how things work. The Activator environment supports each stage of the application development lifecycle: Code, Compile, Run, and Test. At the appropriate time, Activator can generate fully-fledged projects for the leading IDE's so that application development can continue in these environments.

You can download Activator here.

Truth be told, the web site has too much hype and not enough details for my tastes. Had I not known about some of the technologies behind the Typesafe Platform I wouldn't go past the first page. Hopefully this side of things will be improved. People developing in Scala might want to share their experiences in the comments.

April 30, 2013 11:30 PM

Mark Bernstein

Bouquinistes

Another delightful dinner at Guy Savoy’s Seine-side bistro. What could be better than an elegant neo-bistro named for booksellers? The truffled artichoke soup was everything you could want. The beef was perfect, its sauce tangy, its potatoes luxuriously smooth. The calvados could not be faulted either. This is not food with an argument, perhaps, just very good food, smartly presented. The wine was lovely, and with a name like Le Temps Est Venu, I suppose it’s got an argument somewhere.

April 30, 2013 10:13 PM

Mission to 81 Rue Du L’U

Than longen folk to goon on pilgrimages,
And palmers for to seken straunge strondes,
To ferne halwes, couthe  in sondry londes.

Walking back from the Orsay, I noticed that we were at 42 rue du l’Université. Julia and Paul Child lived at 81. Why not drop by?

Actually, 81 is not particularly close to 42. Oh well.

Mission to 81 Rue Du L’U

April 30, 2013 10:05 PM

Mission To Paris

Paris. 1938. An American movie actor sails over in the I’le de France, lent to Paramount by Jack Warner. He’s not entirely comfortable with this. Soon, German emigres and diplomats make him even more uncomfortable. Lovely sense of place and time and noir.

April 30, 2013 09:54 PM

Dave Winer

Scripting News: A song I sing to users.

When users ask when a feature will be available, this is what I say.

Software takes time. Good software takes even more time. We know that so we don't make promises about when software is coming. It'll be here when it's ready.

April 30, 2013 06:34 PM

Mark Bernstein

Orsay

Unfortunately, the lines at the Orsay are very long.

Fortunately, for a modest charge, you can now reserve tickets that allow you access to entrée reservée downloaded to an app on your mobile phone.

Unfortunately, this isn’t actually true: you have to print the tickets.

Fortunately, my hotel is accustomed to this.

Unfortunately, the special entrée reservée merely lets you join the back of a very, very long queue of other people similarly equipped with advance tickets. This queue may or may not be shorter than the very, very long queue of people who do not yet possess tickets.

Fortunately, it was only an hour or so of waiting, and it didn’t rain, and the grand hall with its wildly unfashionable but wonderful sculpture is still terrific.

Unfortunately, the display area for pre-Impressionist painting is greatly restricted by renovation. A little is on display, more is on loan.

Unfortunately, the result of those long queues is that the Impressionist galleries are overflowing with crowds of inattentive tourists and crying babies and energetic pre-teens from the four corners of the world. This makes it difficult to appreciate, say, Whistler.

April 30, 2013 03:54 PM

Alex Schroeder

The Fall

Recently reports have started resurfacing… (I’ve been following Jürgen Hubert on Google+.)

At one point I left the following comment:

The fall of the US from a spiritual leader of freedom and democracy when I was young – in the seventies and eighties I knew nothing of Vietnam and I grew up with American pop music – to a war mongering nation, to a nation that systematically tortures prisoners, a nation that refuses due process to prisoners, to a nation that imprisons so many of their own population, to a nation that uses cruel and unusual punishment in the form of Three Strikes and its variations – there are no words for this moral catastrophe. No words.

I’m still torn: was my decision do abandon my ranting online and turn into a gamer (HomoLudens) the right thing to do? After all, if we all retreat into our little shells, if we all tend to our little gardens, then nothing ever changes, right?

Tags: RSS

April 30, 2013 12:56 PM

Bret Victor

Stop Drawing Dead Fish

People are alive -- they behave and respond. Creations within the computer can also live, behave, and respond... if they are allowed to. The message of this talk is that computer-based art tools should embrace both forms of life -- artists behaving through real-time performance, and art behaving through real-time simulation. Everything we draw should be alive by default.

April 30, 2013 08:39 AM

April 29, 2013

Dave Winer

Scripting News: Google Glass is not a trivial product.

Watching this Chris Dixon interview this morning helped me appreciate that Google Glass has real-world non-trivial applications.

Examples:

1. A teacher giving a lecture while drawing a diagram on whiteboard.

2. As a teleprompter for a person giving a speech.

3. A doctor reviewing test results while examining a patient.

4. An architect looking at designs on a site visit.

5. Watching your heart rate while riding a bike.

6. Sign-language interpreter for a real-time meeting.

7. In general, as a heads-up display for jobs that require use of your hands and access to information, at the same time.

Honestly, I had not thought of these applications until Dixon explained.

And of course there are trivial applications, like watching Green Acres while pretending to pay attention to someone talking. ;-)

April 29, 2013 04:25 PM

Greg Linden

More quick links

Again, it has been too long, but here you go, what has caught my attention lately:
  • "Employees who ate at cafeteria tables designed for 12 were more productive than those at tables for four, thanks to more chance conversations and larger social networks. That, along with things like companywide lunch hours and the cafes Google is so fond of, can boost individual productivity by as much as 25 percent." ([1])

  • "Managers avoid dealing with low performers (because they believe the conversation will be difficult), and instead assign work to the employees they enjoy — i.e. high performers ... They end up 'burning out' those same high performers." ([1])

  • "Is it really true that using someone else's invention is the actually the same thing as stealing their sheep? If I steal your sheep, you don't have them any more. If I use your idea, you still have the idea, but are less able to profit from using it. The two concepts may be cousins, but they not identical." ([1])

  • Clever and simple idea: Attach a little flash memory and a small battery to memory chips ([1] [2])

  • Another clever and simple idea: On touchscreens (like your phone), make a knuckle or nail tap like a right mouse click so it does something different ([1] [2] [3])

  • Most data visualizations would be more clear done as a simple bar chart ([1])

  • When someone comes back to a search result page after hitting the back button, you should add more search results to the bottom of the page ([1])

  • For the first time, more smartphone ship than dumbphones, which has big implications, especially for the developing world ([1] [2])

  • You can identify people based on just four locations sampled from a mobility trace (cell towers and Wifi nearby) from their cell phone ([1])

  • "The problem is that Apple has not been able to sustain its high margin levels" ([1] [2])

  • Humor (from The Onion): Weeping Tim Cook spotted screaming for help at Steve Jobs' tombstone ([1])

  • Amazingly arrogant executive hired from Apple didn't understand customer base or think he had to, destroyed a major retailer ([1] [2])

  • Amazon moves against Google ([1] [2]) and Google moves against Amazon ([1] [2] [3] [4])

  • Very soon, only big players -- like Amazon, Facebook, and Google -- will be able to do personalized advertising. A change to third-party cookies will kill off all startups working on personalized advertising, but major websites get an exemption. ([1] [2])

  • A new compression library from Google designed for web content, can be decompressed by existing software so no changes required on the client side to use it, just need to recompress the static content on the server to save about 5% in bandwidth ([1])

  • eBay successfully moves away from auctions. "Auctions ... are less than 10% of what we do." ([1])

  • "At this point, unfortunately, it seems clear that the Windows 8 launch not only failed to provide a positive boost to the PC market, but appears to have slowed the market ... Radical changes to elements like the user interface and higher costs had made PCs less attractive compared with tablets and other devices." ([1] [2])

  • A MacBook Pro runs Windows faster than any PC laptop (but only because PCs have so much crapware installed) ([1] [2])

  • "Aereo's founders realized that [a court] ruling offered a blueprint for building [an IPTV] service that wouldn't require the permission of broadcasters. In Aereo's server rooms are row after row of tiny antennas mounted on circuit boards. When a user wants to view or record a television program, Aereo assigns him an antenna exclusively for his own use." ([1])

  • The vast majority of people have simple taxes, so simple that the IRS could just mail you a tax return, you'd look it over to make sure everything is correct and sign it, and you'd be done. Why don't we have that? Apparently, "it's been opposed for years by the company behind the most popular consumer tax software—Intuit, maker of TurboTax." ([1])

  • Why Redfin has been unable to undermine the absurdly high 6% commission when you sell your home ([1] [2])

  • "Personal finance courses ... have no effect on financial outcomes ... [but] additional training in mathematics [does]" ([1])

  • "Graduate school in the humanities: Just don't go" ([1] [2])

  • At least so far, MOOCs (like Coursera and Udacity) seem to only work for people who are already highly motivated, which isn't the group in the most need ([1])

  • Seems to be increasing evidence that some autoimmune diseases (including allergies) are rooted in a bored immune system incorrectly prioritizing threats. Almost a parallel with anxiety disorders, your immune system is seeing threats where none exist, incorrectly prioritizing dangers. ([1] [2])

  • "Deep waters have absorbed a surprising amount of heat -- and they are doing so at an increasing rate over the last decade" ([1])

  • "Resilience -- building systems able to survive unexpected and devastating attacks -- is the best answer we have right now." ([1])

  • The web-based version of blackmailing people who have done something embarrassing ([1])

  • Little known fact, the second most used web server is something called Allegro RomPager ([1] [2])

  • For most people in the US, the vast majority of entertainment time is still spent watching normal, live TV ([1])

  • Odd similarities between distributed denial of service attacks and pollution. As Ed Felten writes, misconfigured DNS servers allow massive DDoS attacks, but it's hard to get people to fix it, because "the resulting harm falls mostly on people outside the organization." ([1] [2])

by Greg Linden (noreply@blogger.com) at April 29, 2013 03:57 PM

Lambda the Ultimate

John C. Reynolds, 1935-2013

Randy Bryant, dean of the school of computer science at CMU, sent out an email saying that John C. Reynolds passed away yesterday.

Subject: In Memoriam. John Reynolds, June 1, 1935 - April 28, 2013
Date: Sun, 28 Apr 2013 21:45:12 -0400
From: Randy Bryant
To: scs-all@cs.cmu.edu

I'm sorry to announce that John Reynolds, a long-time member of our computer science faculty, passed away early this morning. Many of you know that John had been in declining health recently. We were able to celebrate his retirement him last summer. He had a heart attack last week and went downhill over a period of several days.

John got his PhD in 1961 in theoretical physics, but while working at Argonne National Laboratory came to realize that his passion was for computation. He became a very successful computer scientists, focusing on the logical foundations of programs and programming languages. He was at Syracuse University from 1970 to 1986 and then joined the CSD faculty.

John has made many important contributions over his career. Interestingly, his 2002 work on separation logic, done jointly with Peter O'Hearn and others, has been especially prominent. Separation logic provides a formal way to reason about what we might think of as "normal programs," i.e., ones that operate by changing the values stored in memory, but where memory is partitioned into independent blocks, and so we can reason about different program components independently. I can only hope that the work I do at age 67 would be counted among my best!

We will also remember John for this cheerful spirit, his high ethical standards, and his deep intellect. He will very much be missed.

Randy Bryant

It's probably impossible to overstate the impact that John had on the field of programming languages. But beyond being a great scholar, he was also a generous mentor and a fundamentally decent and kind human being. He will indeed very much be missed.

April 29, 2013 02:50 PM

Blue Sky on Mars

You Won't Regret Positive Feedback

Every product that has ever existed has had to deal with feedback.

The most interesting feedback happens before the product ever ships, in comments and discussion amongst your teammates. Should we leave this as-is? Does it look right? How can we improve this part of it?

It's governed by taste and design. They're subjective measurements, which means there's inevitably going to be conflict.

I can't think of a time I've ever regretted giving someone positive feedback on their work. But I still cringe years later when I think of the times I've been overly critical in past feedback.

"The products suck! There's no sex in them anymore!"

While not the originator, Steve Jobs is the personification of this culture of cruelty-as-management-tactic. There are stories all over the Valley about directors berating their staff in an effort to motivate them to push harder. My friend worked at a startup that typified this: her boss would stand over her desk, tell her how the work she just did was shit and how she needed to redo it. I told her that her boss was an asshole; she said he was a genius.

Maybe that really is a motivator in the short term. It seemed to work for Apple. But it also led to a lot of burnt-out, unhappy employees, and a really hostile work environment.

Regret

There was this thing a few years ago.

It was something our company was going to launch, and it seemed like there were parts of it slipping through the cracks. I wanted to see this succeed, so I devised a sarcastic approach in an effort to drum up more attention to the launch's deficiencies. I figured this would be an edgy way to help get more people involved in turning the ship around, so to speak.

It was the wrong way to handle it. It shed more negative light internally on the people involved in the launch, who in the end had great reasons as to why they made the choices they did. Sometimes circumstances are just shitty. Sometimes you don't know the whole story. Or sometimes the shit you're stressing out about just doesn't matter that much.

Drive-by design

I think our industry does feedback really poorly. I sure as hell do. My first impulse whenever I see a comp is to shit on it. Honestly. Even if it looks great. Especially if it looks great. We instinctively want to pick apart any deficiencies as soon as possible because that's how product is created. We build things incrementally, chipping away the rough edges until we have a clean polished surface underneath it all.

I think that leads to a feeling that being emotional or cruel is actually helpful during design or code reviews. That the approach cuts away the fat even quicker, which is a great thing since we can get to that finished product quicker, right? Because that's really all that matters anyway, after everything is said and done: if The Product is unimpeachable, everything was worth it. Sleeping under your desk. Yelling at your coworkers. Pushing to make that final iteration. It's all for The Sake Of The Product.

It's really all bullshit though. Maybe it does produce good product, but I don't really care about that directly anymore. I want to make good companies. Good, healthy, positive companies produce good products. And if things still go south, and your good company produces a product that just wasn't good enough, well, at least you're all still happy. Companies with hostile environments can fail just as easily, but the difference is that they leave depressed and angry people in their wake.

It doesn't matter that much

It really doesn't.

I'm still bad at giving feedback. I want to slam my mouse on that big submit button in the comment form as soon as I can. But I've found that's almost always a reaction.

If I see a monumentally bad idea come across my inbox, I've been trying to first let it simmer for a few hours or days. It's surprisingly made me a much happier human. You don't get suckered into as many passionate debates because you're able to come into the discussion with a much cooler head. Many times I end up seeing why the decision was made in the first place. There are always a myriad of tiny invisible decisions that go into building a product, and you can't understand all of them three minutes into glancing at someone's work.

In turn, you also avoid shitting on the work of people you care about: friends, colleagues, humans. You should still say what's on your mind — disagreements will always happen, after all — but coming at it with a cooler head makes for less sarcasm and fewer lines drawn in the sand. And you can be proud about that.

April 29, 2013 07:00 AM

Ian Bicking

“new” Considered Harmful

Javascript objects and classes aren’t hard. This whole “prototype” thing is blamed for too much: prototype-based programming isn’t hard. this is really weird, but prototypes aren’t.

What’s prototype-based programming? It just means every object has a “prototype” and when you look up a property on the object it searches the object, then the object’s prototype, then the prototype’s prototype, and so on. It’s exactly like classes except there’s no special distinction between “instance” and “class”. You don’t have to change paradigms to understand prototypes, you don’t have to drink any Kool Aid to accept the idea. Don’t overthink it, it’s fine.

The problem with Javascript isn’t prototypes, it’s the new operator. The new operator is terrible in all ways. But to explain why it is bad, I want to start with the right way to think about prototypes: Object.create().

Object.create is newer than new and support isn’t universal (though there’s a polyfill), but it’s much simpler.

Object.create(obj) creates a new object, with obj as the new object’s prototype. (There’s a _argument_with_Object.create">_argument_with_Object.create">second argument that does fancy things, but let’s ignore that part.) That’s really all you need to know, and you should probably be able to understand it. As an example, this tutorial by Yehuda Katz uses it as the basis for explaining Javascript objects in general.

We can describe new in terms of Object.create():

function new_(constructor /* plus a variable number of arguments */) {
  var newObject = Object.create(constructor.prototype);
  // This gets the varargs after `constructor`:
  var restArgs = Array.prototype.slice.call(arguments, 1);
  var result = constructor.apply(newObject, restArgs);
  if (typeof result == "object") {
    // If the function returns something, ignore newObject
    return result;
  }
  return newObject;
}

Using this, new Constructor(1, 2) is equivalent to new_(Constructor, 1, 2)

This might seem reasonable, but it has a few problems:

There’s nothing to distinguish constructor functions from normal functions

So there’s nothing to keep you from calling Constructor(1, 2) — but the results will be bad. If you’ve used Javascript much you’ve probably made this mistake, and added global variables as a result.

If you are not familiar with it, it works like this:

function Constructor(a, b) {
  this.a = a;
  this.b = b;
}
var obj = Constructor(1, 2);
// Now there is a global object a==1, b==2
// because "this" was bound to the window
// obj is undefined because Constructor didn't return a value

It’s not actually that easy to detect when new was left off.

You can check if this === window, but that doesn’t work in Node.js (you’d have to check this === module). The best way is generally:

function Foo() {
  if (! this instanceof Foo) {
    return new Foo();
  }
}

But then it’s not clear if new should be used at all, you may very well need to understand named function expressions, and passing arbitrary arguments along is hard).

There’s two ways to define the prototype: awkard or inflexible

The more common way to define the prototype is like this:

function Foo() {
}
Foo.prototype.method = function () {
};

This gets kind of tedious, and you repeat the class name over and over. A shorthand is helpful:

function Foo() {
}
Foo.prototype = {
  method: function () {
  }
};

But that makes it hard to do subclassing, because you are overwriting the prototype. This keeps you from overriding just the methods you care to in the subclass. Which leads us to…

Clean subclassing is hard to impossible because of the constructor

So here’s how you are supposed to create a class Bar that subclasses Foo:

function Bar() {
}
Bar.prototype = new Foo();

Now you can add methods. But can you create a new Foo object so easily? Usually the constructor will have arguments, maybe even side effects, creating peculiar artifacts in your prototype.

(Of course you could do Bar.prototype = Object.create(Foo.prototype) — and you probably should — but once you use Object.create() there’s no reason to go back to new.)

Prototypes are still okay

Given the problems with new some people resort to wildly different means of creating object. For instance, the explicit method:

function Point(x, y) {
  return {
    x: x,
    y: y,
    add: function (other) {
      return Point(this.x + other.x, this.y + other.y);
    }
  };
}

Or you can avoid this entirely:

function Point(x, y) {
  return {
    getX: function () {
      return x;
    },
    getY: function () {
      return y;
    },
    add: function (other) {
      return Point(x + other.getX(), y + other.getY());
    }
  };
}

There’s a wealth of quirky ways to use objects, ad hoc methods, closures, factory functions, and other techniques to create something class-like. But prototypes don’t need all that fixing! These techniques add memory overhead, sometimes performance overhead, and make it harder for other people to read your code. Prototypes don’t need fixing.

Douglas Crockford described some patterns like this (using closures) in Javascript The Good Parts but I think he ultimately has come around to prototypes.

A modest proposal for classes

Lots of libraries include shortcuts for classes. But they often add other features that get in the way of just replacing new. I will offer my own class constructor, which in my opinion does exactly what it needs to do and nothing more:

function Class(superclass, properties) {
  var prototype;
  if (! properties) {
    // We're creating an object with no superclass
    prototype = superclass;
  } else {
    prototype = Object.create(superclass.prototype);
    for (var a in properties) {
      if (properties.hasOwnProperty(a) {
        prototype[a] = properties[a];
      }
    }
  }
  var ClassObject = function () {
    var newObject = Object.create(prototype);
    if (newObject.constructor) {
      newObject.constructor.apply(newObject, arguments);
    }
    return newObject;
  };
  ClassObject.prototype = prototype;
  return ClassObject;
}

// Use like:
var Point = Class({
  constructor: function (x, y) {
    this.x = x;
    this.y = y;
  },
  add: function (other) {
    return Point(this.x+other.x, this.y+other.y);
  }
});

This doesn’t have a special way to call the superclass. Instead you just have to be explicit, for instance you might do:

var Subclass = Class(Superclass, {
  method: function (a, b) {
    a = Math.abs(a);
    return Superclass.prototype.call(this, a, b);
  }
});

It’s a little tedious to write out Superclass.prototype.call(...), but in my experience these superclass calls don’t happen that often, and trying to be clever is worse than the little bit of extra typing required.

I’ve chosen the name constructor for the constructor method because it’s the one name already used by Javascript. I prefer this over init or __init__ or something else adopted from another language.

ES6 will save us all, sometime far in the future

ES6 (EcmaScript 6, the version of Javascript currently in development) has a class statement (this is probably more readable). Unlike some previous proposed versions of Javascript, and some previous proposed class statements, this one seems like it will actually stick. That will resolve most of the problems with our current vague patterns (though it’s unclear to me how it affects new).

But let’s be honest: most of us will not be able to use this for quite some time (though who knows, with source maps we might be able to compile down to older versions of Javascript without much loss in debuggability). So until then we must manually apply sanity when we write Javascript.

Another improvement coming into availability is "use strict" — the ability to apply strict behaviors (both in syntax and at runtime) to your code. This allows you to at least avoid the problem of forgetting new by setting this to undefined when you leave off new

by Ian Bicking at April 29, 2013 05:00 AM

April 28, 2013

Axis of Eval

A quasiquote I can understand

I've written two Lisps (1, 2) with quasiquotation, and in both, quasiquotation was the most difficult thing to implement, and gave me the most headaches. That shouldn't be, right? After all, it only creates new forms.

I think now I've found a formulation for quasiquote that has a really simple implementation, and yields more or less the same results as existing quasiquote implementations.

Some definitions:
  • `foo stands for (quasiquote foo), `(foo) stands for (quasiquote (foo)).
  • ,foo stands for (unquote foo) and is only allowed within a quasiquote.
  • ,@foo stands for (unquote-splicing foo) and is only allowed within a quasiquote.
  • Quasiquote, unquote, and unquote-splicing only ever take a single operand.
  • `foo = 'foo, i.e. a quasiquoted symbol yields simply the symbol.
  • `"foo" = "foo", `12 = 12, and likewise for other literals.
The main difficulty I previously had with quasiquote came from unquote-splicing, which inserts a list of multiple elements into the constructed list (whereas nested quoted or unquoted forms only insert a single element). The main idea in this new formulation is to make inserting multiple elements the default, and define nested quoted or unquoted elements as simply inserting a list containing a single element.

Every `(...) expression therefore stands for an APPEND of the list's further processed elements.

For example, given

(define foo 1)
(define bar 2)
(define quux '(3 4))

the quasiquote expression

`(foo ,bar ,@quux)

stands for

(append (list 'foo) (list bar) quux)

which produces the following when evaluated:

'(foo 2 3 4)

So, processing a quasiquoted list works by wrapping each element, except for unquote-splicing forms, in a call to LIST, and APPENDing the results. Quoted elements (foo) get processed recursively. Unquoted elements (bar) are passed to the call to LIST unprocessed. Unquote-splicing forms (quux) are inserted directly into the APPEND form.

I haven't implemented this yet, but I think defining a quasiquoted list `(...) as an APPEND really simplifies things.

by Manuel Simoni (noreply@blogger.com) at April 28, 2013 07:57 PM

Dave Winer

Sunday morning thoughts on outliners and word processors.

I was writing a comment in response to a comment from Hanan Cohen, and decided to make it a post. It was getting so long, and said stuff that I wanted to say more prominently.

Hanan said that Word had outlining in the late 80s, and they never took it out. So we should look out for users of that outliner as people who might like Fargo. But I don't look for any magic there, because their idea of outlining and ours are not the same thing.

  • It's like the word unconference. It was a term we came up with for BloggerCon, and then was applied to a very different kind of conference and the result was confusion. That's what outlining in word processors was, from my point of view, confusion.

What they called outlining was more like outline formatting. Putting Roman numerals on the top sections, capital letters on the first level. Numbers on the second and so on.

Word is a word processor. Its primary function is writing-for-printing. The choices the designers made make it a relatively strong formatter and a weak organizer.

Conversely, we can put formatting capabilities into an outliner, but it would behave like an outliner, not a word processor. We fully explored this with MORE, the users loved it, but they still needed to export to Word or Pagemaker if print formatting was important.

Word is a production tool -- good for annual reports, formal papers, stories, books. Fargo is an organizing tool, good for lists, project plans, narrating your work, presentations, team communication. You could organize a conference with an outliner. The slides would naturally be composed wiht an outliner.

An outliner is designed for editing structure more than it is for editing text. The text is sort of "along for the ride." Or you could see an outliner as text-on-rails. Outliner text is always ready to move, with a single mouse gesture or keystroke. You enter text into an outliner so you can move it around, like stick-up notes on a whiteboard.

The reason a program has to be either a word processor or an outliner is this: There's only one keyboard, and one set of mouse gestures. The identity of a product is determined by choices made by the designer. Word processors are good at selecting words, sentences and paragraphs. Outliners select headlines and all their subs. Shift-click in the two apps do vastly different things, yet in both cases they are "extending the selection." Even the data structures used by the programs are different. Yet superficially they look similar.

Some great software designers were fooled by this in the first go-around. Probably the guys who did Word thought at first that they were equalling our outliner, but I guess over time they realized what we learned too. That you need to know what your product is supposed to do before you make those choices. Otherwise it ends up as a confusing unusable mess. That's why Lotus 1-2-3 was a magical product, and Symphony, that confronted this problem head-on and didn't solve it (because it doesn't have a solution) never had 1-2-3's balance and sharp-edge feel. Symphony was mush, 1-2-3 was fine.

  • Apple's iTunes is another good example. It's all over the map, doing a dozen different things, without a single idea tying it all together. You can tell that the designers are confused too, because in each rev the commands move around and are re-named. Things you depend on disappear, but if you know the magic formula you can make them reappear. One senses that it might be possible to do a beautiful music app that felt wonderful, but if Apple were to produce one, they'd have to start over.

People who used an outliner were never satisfied with what the word processors called outlining. Ultimately that's how you tell what you got. When you sit a person down in front of the keyboard, does magic happen?

BTW, this is great. When I was selling outliners in the 80s there were no blogs, so I couldn't comment on how the various categories of software were handled by reviewers. Now the conversation can be multi-dimensional and lots of learning can happen quickly. Hope! :-)

April 28, 2013 12:52 PM

Mark Bernstein

Homeland

In Little Brother, Marcus Yallow’s high school world got blown apart when someone blew up the Bay Bridge. The panic was bad but the government response was worse, as the government used terrorism as an excuse to impose martial law. That crisis was resolved, thanks to Marcus’s clever hacking, but the Lesser Depression has gotten worse and worse and the government is still eager to use the Internet (and a healthy dose of torture) to control a docile populace. This sets the stage for Homeland.

Doctorow’s entry in Clute’s commendable Science Fiction Encyclopedia is, I think, exactly right: Doctorow is a thinker who uses fiction to explain an argument that mixes technology and politics. This has not been a formula for success lately, though of course it once worked well enough for Hugo and Zola and Shaw, for Dreiser and Dos Passos Sinclair Lewis. But it seems to me that Victor Hugo is the closest match to Doctorow’s aspiration; these are books of ideas first, with some dramatic tension to leaven the dough.

There’s plenty of leavening, and also plenty of info dumps. We learn a lot about police tactics, 3D printers, Burning Man etiquette. We learn how Occupy does public speaking without a microphone and how to manage a campaign Web site.

One thing we don’t learn much about is Marcus’s callow, feckless parents. Mom and Dad are useless. The parents of Marcus’s remaining school friends are no better; though his girlfriend’s parents are cool about his spending the night now and then, none of them does much about the government surveillance, harassment, and torture of their kids, and none of them takes much interest in finding a job for themselves or their grown children. Marcus does make a point of cooking nice family dinners to restore a sense of normality to the house, but his parents simply make appreciative noises. These kids grow up early. So does Katniss Everdeen, to be sure, but Katniss knows it’s wrong and it makes her sad and angry and she thinks about it all the time. To Marcus, absent parents are just the new normal.

Canadian-born Doctorow now lives in England, and his campaign subplot makes more sense for the UK than it does for the US. The story is set in a near-future that is even more recognizable than the terrorism-battered San Francisco of Little Brother. Our hero, Marcus Yallow, is now webmaster for a charismatic politician running an independent campaign for the US Senate. This candidate is clearly a progressive, but deplores the Democrats’ support for drones and detention and bankers. The Republicans are “just as bad.” This is arrant nonsense. First, the Republicans aren’t merely just as bad; they’re just as bad on these issues and they’re insane on many others, Doctorow forces his would-be Senator into false equivalence of the worst sort. The candidate worries about being forced by party discipline to vote against his conscience, but everyone knows that the Democrats have no party discipline. The candidate is running for the Senate: how does he propose to work in the senate? Of course he’s going to caucus with the Democrats.

When was the last time a Democratic senator was really hurt badly for going off the reservation? Remember: this is the party that held Hubert Humphrey and Theodore Bilbo together. Someday someone will pull off the trick that Lincoln did in 1860 and replace one of the current parties with a new one, but that’s not going to happen in a California senate race and, if it were to happen in the near future, the obvious candidate to play the role of the Whig Party is the GOP. This independent candidacy could make sense in Parliament; in the US, it’s a silly fantasy, and it feeds the right-wing propaganda that always blames the Democrats for Republican intransigence.

Doctorow will keynote Web Science 13 this Thursday May 2, in Paris.

April 28, 2013 08:24 AM

Chez Lena et Mimile

Chez Lena et Mimile

A delightful dinner at Chez Lena et Mimile, high up in the 5th, with Prof. Everardo Reyes-Garcia, formerly of Toluca and now at Paris 13 where he has time for more research (hurray!) and terrific students.

This comfortable old bistro is now home to molecular gastronomy and to a disciple of Hervé This. I’m a bit worried that French resistance to the play of molecular experimentation may have worn them down a bit – much of the menu is fairly conventional, and even the tasty coquilles St. Jacques are fairly tame now. But the scallops were perfectly seared and the foam (remember foam?) was really well executed. And the wine could not be faulted.

Chez Lena et Mimile

Lunch at Café des Musées with some delicately smoked salmon — smoked meats in Paris this year seem to be very, very lightly smoked — and a faultless vegetable cocotte.

Chez Lena et Mimile

April 28, 2013 08:05 AM

How to Node

Daddy, what's a stream?

At dinner tonight, I was discussing that I've been thinking about streams and how to simplify them in JavaScript. My 7-year-old perked up and asked me:

Daddy, what's a stream?

I explained that a stream is like a line of water along the ground. If you dig a trench on a hill and fill up the high end using a water hose the water will run down the hill along the trench. This is one of his favorite hobbies in the back yard, so he understood completely. I explained that when new water is added to the top, it eventually makes its way to the bottom of the stream. The end where water comes from is called the upstream and the other end is the downstream. Gravity pulls water down.

Back Pressure

Satisfied that I explained the concept, I continued by saying that I've been thinking a lot about how back pressure should work. Then he asked:

Daddy, what's back pressure?

I thought for a moment and thought of a water hose. I explained to him that in a water hose, if you kink the end of the hose while the water is on, eventually it will fill up and once the pressure is high enough, the house will stop putting more water into the hose. The tap will feel the pressure all the way from the kink back to the source.

Now imagine back to the original example of a trench in the ground. If you build a large dam at the end, the source won't feel back pressure. Rather when the trench fills up, the water will spill out flooding the nearby plains. This is usually a bad thing.

Pull Streams

I then resumed explaining to my wife about my work. I explained that pull streams are much easier to implement back pressure for than push streams. Then my son asked:

What's that mean?

I could see that I would have to explain everything I talked about. He was in that mood where he wanted to understand everything adults talk about.

I said that the example with the water hose and the trench in the ground are push streams. The water is pushed into the upstream side and flows downstream because of the positive pressure. A pull stream is more like a straw. With a straw, you don't have to worry about flooding because the bottom of the straw will normally not push water up the straw on its own. When the person sucks on the top of the straw it creates a vacuum that pulls water from the bottom of the straw. New water only enters the straw when it's asked for by the top of the straw.

I then went on to explain how different straw lengths and thicknesses affect how the straw works. With a larger straw it takes longer to get at the initial bit of drink because all the space needs to be filled first. When you do finally get drink, it's not the liquid that just entered the bottom you're drinking, but the water that was first buffered into the straw.

Codecs

The tricky part of what I've been working on today is how to express codecs simply while still preserving back pressure. I looked over to Jack and he was still listening intently so I tried to explain what a codec is.

It stands for encode and decode. It converts a stream from one type to another. I could see I had lost the 7-year-old, so I decided to explain it to my wife instead.

My favorite part of physics was dimensional analysis. If you knew the units that the answer expected and knew the units you started with, then pick the formula that had the difference in units. If you have the proper units when you were done, it was probably correct. (This is probably how users of strictly typed programming languages feel about their compiler.)

But my second favorite part of physics was the actual conversion process between units. You would start out in one unit, apply a transformation and end up with another representation of the same thing.

Here is an example converting 100 meters per second to miles per hour using several conversion constants:

          3.28084 feet    1 mile     60 seconds   60 minutes
100 m/s x ------------ x --------- x ---------- x ---------- = 223.7 Mph
            1 meter      5280 feet    1 minute      1 hour

Stream codecs are just like the unit conversions, except they work on streams of data instead of scalar values. The new stream after running through the codec is the same data, just represented a different way.

My son is learning how to read, so I decided to explain codecs using reading. A sentence is composed of many words. The sentence can be viewed as a stream of words where each event is a word. Now suppose I want a new stream that is a list of all the letters in the sentence. This codec would consume word events and emit letter events. The problem I quickly saw with this was that the reverse conversion didn't work. I would have to emit a space after each word to know how to re-form the words out of the stream of letters.

Then I realized that this could be a nested stream. Instead of creating a new flat stream of letters, I could convert each word into a new stream of letters. In fact, it's nested streams all the way up. Letters contain strokes, words contain letters, sentences contain words, paragraphs contain sentences, sections contain paragraphs, chapters contain sections, etc...

Obviously I had gone off the theoretical deep end here.

But what does this have to do with computers?

In computers we have streams of data. For example, if you want to stream a movie from a server to your smart phone, the movie is the stream. Now usually, the server can read from the local disk much faster than the phone can download the data over its 3G connection. If you don't program a way for the disk source to feel the back pressure from the slow mobile connection, it will read the data full-speed and flood the server's memory by buffering everything. This is bad for servers with lots of clients and/or large media files.

One way for the media server to feel the back pressure is to use a pull stream. But care needs to be taken to keep things running smoothly. The stream needs to have an appropriate level of buffering along the path so that just like the straw you don't have to wait the full length of the straw to get a single chunk. If the stream is constantly full, then the phone gets the chunks as fast as it asks for them with no latency other than the initial buffering.

We have codecs every time we convert a network or file stream from one format to another. On the network there is IP, TCP, HTTP, JSON, and other codecs layered on top of each other. Sometimes there are nested streams. For example, this week I was prototyping a new HTTP codec for node.js and hit a snag because the TCP connection stream emits request events, but within the request event is a body stream with its own data events. Preserving proper back pressure inside that nested stream is tricky and my nice little prototype APIs didn't work anymore.

I eventually figured out what works for me, but that's content for another more concrete post.

by tim@creationix.com (Tim Caswell) at April 28, 2013 01:33 AM

April 27, 2013

Mark Bernstein

The GreaterJourney

David McCullough recounts the adventures of a century of Americans in Paris. In the 1820’s, Americans came for the world’s best medical training ands the world’s best art training. At the century’s end, they came for the fashion and for the food, for glittering nights, and for the world’s best art training. In between, McCullough reconstructs the fascinating, forgotten story of the American Ambassador who determined that it was his duty to remain at his post through the siege of 1870 and the Commune and whose rediscovered diary provides vivid insights into a time whose brief turbulence seemed likely to continue forever.

April 27, 2013 07:50 AM

April 26, 2013

Mark Bernstein

Terroir Paris

It’s interesting that in this fairly-conspicuous restaurant with a lovely open kitchen, half the brigade are women.

Wonderful charcuterie, and terrific mushrooms with snails and stuffing and not too much garlic. A fine spring navarin of lamb. Tasty roast duck. And an eclair au chocolat that’s not kidding around.

April 26, 2013 07:34 PM

Bret Victor

upcoming videos

I gave a few talks over the last year. Here's when they'll be online.

April 26, 2013 07:05 PM

Alex Schroeder

Emacs Wiki Redesign

I finally installed the new theme for Emacs Wiki. Feel free to leave comments on the Talk page. Bootstrap allows me to make all the changes at run-time, ie. add a few scripts including a script that changes the wiki’s HTML (emacs-bootstrap.js) and a new CSS file (bootstrap.css).

Since no changes to the script are necessary I can continue to provide the old theme for those that don’t feel like switching.

Tags: RSS

April 26, 2013 12:42 PM

Dave Winer

Scripting News: The message of Boston.

This post was written quickly.

It was an interesting week to be in Boston, as in the Chinese proverb about living in interesting times. But not for the reasons people think.

I learned this last night, in a big way, at the Berkman Thursday meetup. We had about 15 people there, some original people from the old days, and some new people who totally fit in. Having new people there makes sense, because the Thursday group was like that. Every week we'd have a fair number of returning friends, and always a healthy number of newbies.

One man, whose name I didn't catch, said something that I found surprising at first. He said that the press got the story of Boston wrong. The people weren't cowering in fear in their houses as was reported on TV and on Twitter. That was a lie. I admit I found it irrational. Boston is probably about the size of Queens, in geography and in population. If someone was holed up in Astoria, people in Flushing probably wouldn't be too worried. It wouldn't make sense. It would be like worrying that you'd get hit by a bus on any given day. There are a lot of days when no one gets hit by a bus. And even so, the chances of you being that person, well, it's not a smart thing to spend a lot of time worrying about. (Though please, look first before you step out into a street!)

Everyone in the room who was from Boston immediately agreed, enthusiastically. They didn't like that they were being portrayed that way by the media. So we explored the actual story, what was really going on among the people of Boston. The answer was, they were working together to make their city safe. The city hadn't shut down on the Tuesday or Wednesday after the bombing. But on Thursday night, when the bombers were on the run, the police asked everyone to stay off the street. And the people did what they were asked to do, because that's what people do.

  • One person explained it this way: The police wanted to take all the pieces off the board. So if the bomber started moving he would stand out.

This goes back to one of the themes of my talk on Wednesday night at the Boston Globe. People feel a need to be part of the world they live in. Most of us feel like we're on the sidelines, spectators, consumers, eyeballs, credit card numbers, and that's not what we want. We want meaning. We want to make a contribution. We want do do good and have that good make a difference. If you look at what people actually do, not the stories you read in the paper or hear on CNN, this is obvious. The bombings not only worried people, for a short time when the scope of the danger was unknown, but people also saw the opportunity to get some of the precious stuff, meaning and relevance.

Why was this a theme of my talk at the Globe? Because the news industry has the ability to offer people exactly what they want, but they won't do it. Their view of the world is that we're out there and they're inside. They talk, we listen. They are relevant, their lives have meaning. The meaning of our lives is not important to them. As long as they view it that way, people will continue to be frustrated by them, as long as they pay any attention. And more and more they're chosing to not pay attention.

This week the people of Boston learned something about the press because they told a big lie not just about a handful of them, but all of them, collectively. This presents a unique opportunity for a whole city to wake up and take over. I suggested at dinner that the people of Boston buy the Boston Globe, and give it a new direction. You know a city the size of Boston could buy the Globe. And you know what, it's actually for sale. :-)

April 26, 2013 12:35 PM

Scripting News: Older techies and outliners.

I had a flash yesterday, after doing a series of demos of Fargo here in Boston on this trip and my last one in March. In several cases, the people were close to my own age, and were former users of MORE and ThinkTank. For these people I just needed to show how Fargo picked up on the ideas in those products and brought them into the technology world of 2013. But in a couple of cases, the people, smart and accomplished, had no idea what I was talking about, so I had to start from the beginning. Just like the old days, before outliners were a semi-major category. I don't mind doing this, I actually kind of like it -- but the engine is rusty. I haven't done this kind of selling in many years.

The conclusion I reached, in an email, trying to explain it to a friend (who is 47) is that if you're under 50 you probably came into computing after the outlining category began to fade. If you're over 50 and a techie, you probably remember at least knowing someone who was a fanatical outliner, whose arms would wave as they tried to explain what they were so excited about. As they spoke, little bits of saliva would drip from the corners of their mouths. Non-inductees of the Club of Outliner Fanatics would stare, not knowing what to make of it. But at least they knew what they were, if only by the reaction they provoked with their acolytes.

Now, there are companies, notably Omni and Eastgate, who have made a good living selling outliners, all along. I think that's because, while the category hasn't been growing as a percentage of computer use, it is growing in absolute terms, because so many more people use computers today than did in the late 80s and early 90s.

I have my work cut out for me. I have to explain Fargo to a couple of new generations who don't feel so new, being in their 20s, 30s and 40s. This is going to be fun. ;-)

BTW, my father, who would have been 84 this year, loved my outliners. So it's not just people in their 50s and 60s. Some of the people who could explain why this software is so great, are no longer with us. My dad would have absolutely flipped over Fargo. I think about that a lot. Wish I had done this work sooner so he could have seen it.

April 26, 2013 11:57 AM

Mark Bernstein

Gladine’s

Hopping off the airplane and finding our hotel in the 5th, all had gone smoothly. Too smoothly: our room wasn’t quite ready. I wasn’t hungry but eating would be a Good Idea to help with jet lag, which is causing more trouble this trip than usual. We asked where might we find a light lunch.”

The concierge directed us to the end of the street. Not the restaurant at the corner. Turn right: two doors down. That one.

Gladine’s

Now, that’s a a tasty salad complet to go with a nice dark bier. And Linda’s omelete was tasty, too.

April 26, 2013 07:39 AM

April 24, 2013

Tim Ferriss

Case Studies: How to Build Online Businesses That Gross $250,000+ Per Month


Debbie Sterling’s GoldieBlox is now grossing $300,000+ per month.

My specialty is modeling success. I analyze what works and ask: what recipe can I find that others can use?

In this post, we’ll look at five successful online businesses. Some of them (e.g. GoldieBlox) are now grossing $300,000+ per month…and it’s the founder’s first company! One (Fresh-Tops) has gone from 1 to 20 employees in six months. Some of the other stats are even more impressive.

Out of more than 10,000 contestants in the 2012 Shopify Build-a-Business Competition, these are the five businesses that sold the most in completely different categories:

Design, Art and Home
Gadgets and Electronics
Fashion and Apparel
Canadian [Because Shopify is based in Canada. Go Canucks!]
Everything Else

What do they have in common? And what can you replicate on your own?

For both questions, the answer is: more than you think.

The highest monthly sales by a contestant in the FIRST two months of starting, excluding any pre-existing businesses, was $196,811. How would that change your life?

Without further ado, let’s analyze these five rock stars, looking at what they did right and, just as important, what they did wrong…

5 CASE STUDIES

Electronics & Gadgets Category Winner: GameKlip

Who are you and what is your Shopify store?

Ryan French, Creator of GameKlip

Describe your product in 1-3 sentences.

The GameKlip is a device that attaches your Android phone to a DualShock3 controller, normally used for the PlayStation3. This allows you to use a real controller to play games on your smartphone. It opens the Android platform up to more than just “casual” gaming with touch screen controls, and really gives you a full console experience at a fraction of the cost.

How did you decide on your product? What ideas did you consider but reject, and why?

I was frustrated with the controls on my smartphone. Touchscreen controls worked okay for simple games, but anything more complex was impossible. I made a bracket to hold my phone onto my controller, and realized other people might want one too.

I didn’t reject any other product ideas. I set out looking for a solution to a problem I had, instead of looking for a product to sell. Once I had my solution, the GameKlip, I focused on finding a way to share it with others.

What were some of the main tipping points (if any) or a-ha moments? How did the tipping points happen?

The first a-ha moment was when I snapped my phone onto my controller for the first time. I found myself playing games for hours, and really enjoying the experience. I stayed up all night bending plastic and trying out different shapes until I arrived at a design I thought was efficient and presentable.

The second a-ha moment was when I posted a video of my prototype and started pre-orders. I realized there actually was a demand for my creation. I used the pre-orders to fund my first batch of plastic.

The third a-ha moment came when I realized that I couldn’t continue hand-making the GameKlip forever. I spent all my money on a mold so I didn’t have to make the GameKlip by hand anymore. I couldn’t afford a mold for every phone, so I cut the product line down to just two versions, a model for the Galaxy S3, and a universal solution. The community met the new models with open arms and demand increased immensely.

My final a-ha moment was when I could finally contract my assembly process. I was able to use some of the funds generated from the new molded version to contract out an assembly line. Now that my production process was scalable beyond the hours I could put in myself, the GameKlip was finally ready for retail distribution.

What were your biggest mistakes, or biggest wastes of time / money?

About half of my time was spent struggling with my spreadsheets and dealing with the post office, instead of focusing on my product, so I wish I found solutions to those earlier.

It’s easy to say that I should have streamlined my manufacturing earlier, but each step along the way was a learning experience. If I had jumped into contract manufacturing and assembly earlier, it’s very possible that I would have taken on too much. If I had unlimited units to sell, with no ecommerce platform to sell them on, it would have been a disaster.

Key manufacturing and marketing lessons learned?

Keep things local. To find a manufacturer, I started with a simple Google search. I found that there was an injection molding company right across the street from one of the restaurants I frequent, but unfortunately their machines were all booked. Even though they weren’t able to take on my project, I was able to use their 3d printer for my prototypes, and they pointed me in the right direction for finding another company that could produce the part.

If you’re just starting out, I’d suggest doing some local searches and talking to as many people as possible. I started by calling a local shop that supplied plastic sheets for home projects. I described my idea, and asked if they knew anyone in the area that could help me make it happen. I found that most people were more than happy to spend a few minutes on the phone to help.

Try searching for a “rapid prototyping” shop in your area. They’ll be able to help make some physical prototypes of your product, and most will have connections with companies that can handle the manufacturing when you’re ready.

When I did get all my manufacturing processes figured out, I was really glad that I kept everything as local as possible. The GameKlip and packaging are made in the USA. It costs a little more to manufacture things here instead of overseas, but the added convenience of being able to drive over and talk to people is incredibly valuable. The packaging is printed, and the units assembled, about half an hour away from my apartment.

As for marketing, I approached that aspect of the company a little differently than most. Instead of making a traditional advertisement, I simply sat down and recorded myself showing the product and explaining what you could do with it. I think it’s important to let the product speak for itself. Everything exploded organically after that.

Any PR wins? Media, well-known users, or company partnerships, etc? How did they happen?

I was an active member on Reddit, and Android forums like XDA Developers, long before I started GameKlip. When I did launch my product, the members of both of those communities definitely helped me spread the word. I couldn’t have done it without them.

The GameKlip has been featured on Gizmodo, The Verge, The Fancy, ABC News, PC World, CNET, Phandroid, Android Authority, Ask Men, as well as many other blogs around the world.

I didn’t make any pitches or hire a marketing firm to get these mentions, they all picked up on my story on their own. In my opinion, having interesting photos of your product is crucial! I made sure I had a somewhat large selection of quality photos available, to make it as easy as possible for writers to feature my story. If I had to do it over again, I would have gone a step further and created a press kit ahead of time. That way it would have been even easier for blogs to pick up on my story.

What software/tools and resources, mentors or groups did you find useful for growing, if any?

The most useful tool to me was Google search. For example, to learn more about international shipping, I simply searched “best way to ship a package overseas” and found that lots of people post on forums with great information. The amount of information stored on forums is incredible!

Software wise, ShipStation is an app which allowed me to automatically pull orders from my online store and create shipping labels. Before I found this I was copying and pasting addresses into the USPS website manually. Now I click one button and the invoices come out of one printer and the shipping labels come out of another. The order processing efficiency still amazes me every morning!

If you were to do it all over again, what would you do differently?

Having a real shipping system and the hardware to back it up (a label printer), would have helped a lot. My two most prized possessions at this point are a shipping label printer and an automatic tape dispenser. When I first started I was running sticker paper through my home printer, cutting the labels out with scissors, and using tape from my local office supply store. I managed to ship over a thousand packages this way, but I could have saved a huge amount of time and money if I adopted a better system earlier.

Any other advice to people starting their first online businesses?

Don’t feel like you need to know everything, or that everything has to be perfect before you start. I knew nothing about running a business, had no idea how to have something manufactured, and had no idea how to ship a package overseas. I’ve now shipped thousands of units to over 80 countries worldwide. It won’t be easy, there’ll be many points where you feel like giving up, but it’s worth it.

What’s next?
I am still pushing forward at full speed. I hope to have the GameKlip on store shelves around the world.

Design, Art & Home Category Winner: GoldieBlox

Who are you and what is your Shopify store?

Debra Sterling, Founder of GoldieBlox

Describe your product in 1-3 sentences.

GoldieBlox is a book series and construction toy starring Goldie, the girl engineer. Throughout Goldie’s adventures, she encounters problems she needs to solve by building simple machines. As kids read along, they get to build along with Goldie, learning basic engineering principles with each story.

How much revenue is your company currently generating per month (on average)?

Over 300K per month.

To get to this revenue number, how long did it take after the idea struck?

About 6 months.

How did you decide on your product? What ideas did you consider but reject, and why?

When I first started, a lot of advisors were telling me to ditch the idea of a toy entirely and just do an app. I decided to do a physical toy (in addition to an app, which we are launching around x-mas this year) because I felt that the tactile experience of building things was a better way to introduce mechanical engineering principles. Screen play alone just doesn’t do it justice.

My earliest toy sketches were girly Legos… curved shapes, tiny decorative pieces, girly themes like princess castles and stuff (a lot like the Lego Friends line of girl construction toys that just launched, actually). I ditched this idea because I felt like it was reinforcing all the same old gender stereotypes. I wanted to push the envelope and develop an idea that didn’t rely on those stereotypes to engage girls. I knew that little girls are more than just princesses and that I could make something different and empowering that they’d fall in love with.

What were some of the main tipping points (if any) or a-ha moments? How did the tipping points happen?

My big ‘a-ha’ moment came when I realized I needed to incorporate a book into the game element. I did extensive research into the differences between the learning styles of boys and girls. I met with neuroscientists and teachers, and I spent a lot of time playing with kids. I asked kids to bring me their favorite toy. Girls would always bring me a book. Boys would bring me a toy. After the fifth girl brought me a book, I decided I needed to blend the construction components of my boardgame with a story. This was a huge ‘a-ha’ moment for me because it significantly changed the direction of my toy.

What were your biggest mistakes, or biggest wastes of time / money?

My biggest waste of money so far was when I first hired a law firm. I met with a few different law firms and I felt really, really good about one with whom I really connected. I liked the lawyer, but he was expensive and because I had limited capital, I hired a cheaper law firm I didn’t like as much. I almost instantly regretted my choice. I eventually had to leave the cheaper law firm and went with my original choice. The cheaper firm made me pay money upfront, while the one I eventually went with was willing to defer payment until I was in a stronger financial position. I wasted a lot of money by making the wrong choice.

Key manufacturing and marketing lessons learned?

1. Prototype and test everything! It’s important to prototype everything beforehand. Then test the prototypes on your target demographic. Long before I approached a manufacturer, I designed the toy myself in my living room. I made crude working prototypes using ribbon, clay, wooden dowels, thread spools, Velcro and pegboard from the hardware store. I wrote and illustrated a book where Goldie built a belt drive to spin her friends, and mimicked the action in the book with the physical pieces.

I probably spent a total of $250 on the prototypes. I tested everything on children around the Bay Area – I went to over 40 homes and 3 schools. I observed girls and boys, ages 4-12, interacting with the game. Every time I observed a child and/or parent playing with it, I learned a new insight, which I incorporated into the next version. I quickly iterated and improved the design until it rocked.

2. Be prepared for the manufacturing part to take a long time. The whole process of prototyping and manufacturing is huge. Example: I sketched out detailed drawings and dimensions for each piece of the board game, but I needed the drawings in CAD. One afternoon, I snuck into an Industrial Designers Society of America “happy hour” to try and find an industrial designer who could assist me. I met a really talented engineer there who was passionate about my mission and agreed to help. Then, I needed the prototypes to be printed, so we used 3D printing technology to take them to the next level. I hired a professional sculptor to create the character figurines to match my drawings. I sent everything to the factory, and they made a manufacturer’s sample. Once I approved the sample, we began the tooling process, which is timely and expensive. It took several months of back-and-forth revisions of the plastic parts until the tolerances were perfect. This resulted in a lot of hair pulling. We are still tweaking the molds. Nevertheless, we finally hit the green light and went into production on a first run of 40,000 toys to fulfill our pre-orders from Kickstarter and our website. Seriously, you can’t underestimate the time that manufacturing takes.

3. Decide if you’re an entrepreneur or an inventor. When I started out I was incredibly secretive because I didn’t want anyone to steal my idea. But then a friend asked me if I wanted to be an inventor or an entrepreneur. An inventor works by themselves in a lab, but an entrepreneur needs to inspire others to lend their expertise. I realized that I needed help. I went out and found the best mentors in the fields I was working in and asked for their help. I had to be specific about what I needed and asked them exactly what I wanted them to do. I was amazed at how much help I got! I saved so much time and money by getting help from someone who had been in the toy business for 30 years.

4. Create an authentic and emotional story behind your product. When it comes to my marketing strategy, I am a brand-driven person and I believe that the most important thing is creating an authentic and emotional story and brand. We’re more than a product, we’re a social mission and I like to give the product a face and personality (mine!) For example, our decision to launch on Kickstarter wasn’t about raising funds. We used it as a platform for sharing our story in a video format. Because then it wasn’t: “Hey! Here’s this toy for girls,” it was: “Hey, here’s this female engineer who is trying to do something about a problem in our society.”

5. Plan your Kickstarter exit strategy. We started on Kickstarter, but a lot of these products just fizzle out when their campaign has ended. We started our Shopify store ahead of time so that people who missed the Kickstarter campaign could still participate. My online store was my saving grace because my video went viral and my shop was up and running to capitalize on the publicity. My online store far exceeded the sales I had made on Kickstarter.

Any PR wins? Media, well-known users, or company partnerships, etc? How did they happen?

Our first PR win happened very early, in fact months before we even launched. I was still in the earliest prototyping stages, but I created a blog to share my stories of building GoldieBlox with friends and family. A friend-of-a-friend’s sister found the blog, she was a writer for The Atlantic. Another friend-of-friend found the blog, who happened to be a writer for TechCrunch. I set up phone interviews with both of them and gave them the “exclusive story.” They both posted wonderful pieces about GoldieBlox the day we launched, which created a ton of buzz.

Another win was that we got Tim Schafer (cult video game designer / Kickstarter celebrity) to make a cameo in our Kickstarter video with his 4-year-old daughter. He then tweeted the link to his 90,000 Kickstarter backers. I met Tim through my banker. When I told my banker I was about to go up on Kickstarter, he made the introduction to Tim’s colleague, Justin, who had just joined on board at DoubleFine Productions (they had raised over $3 million dollars on Kickstarter). I arranged a meeting to learn how they’d done it and to get advice. I hung around there a couple times, until I ultimately persuaded Tim to appear in our video.

When we launched on Kickstarter, we had a lot of influential people in tech backing our project: Sheryl Sandberg (COO of Facebook), Craig Newmark (founder of Craigslist), Alexis Ohanian (Founder of Reddit), Mayim Bialik (Actress, Big Bang Theory), the list goes on.

We also got written up in Forbes, Huffington Post, The Guardian, Wired, TIME, Ms. Magazine, The Boston Globe, The San Jose Mercury News, interviewed on BBC world radio, and NPR. We didn’t have a PR agency or anything. These reporters simply emailed into “info@goldieblox.com” and we set up the interviews.

But our biggest PR win to date was on November 14, 2012, we call it “G Day.” Eduardo Jackson from upworthy.com posted our Kickstarter video about a month after the campaign had ended. It instantly went viral. In just a couple days, the video spiked to almost a million views. There were so many orders, we literally sold out of our first shipment and had to push back the delivery date.

What software/tools and resources, mentors or groups did you find useful for growing, if any?

StartingBloc, a social entrepreneurship fellowship program, was by far the biggest game-changer for GoldieBlox.

Pacific Community Ventures, connected us with a pro-bono advisor, Sam Allen (founder of ScanCafe) who has been instrumental to our business.

I got to pitch GoldieBlox on the main stage at SOCAP and met really great contacts in the social innovation space.

The books “Lean In” by Sheryl Sandberg and “Start Something That Matters” by Blake MyCoskie both inspired me.

And my mentors: Terry Langston (founder, Pictionary), Brendan Boyle (head of toys, IDEO), Bob Lally (co-founder, Leapfrog), Jake Bronstein (founder, BuckyBalls), and Clara Shih (founder, Hearsay Social) played a huge role in helping me learn about the toy business.

If you were to do it all over again, what would you do differently?

I would ask for help from the start. Also, in the beginning I thought I had to make a range of products, but this spread my team too thin and it wasn’t very realistic. I had this idea that if you are a startup, you have to work around the clock until you just about kill yourself. If I had to do it over again, I would only work on one thing at a time.

What’s next?

This month we’re launching into retail stores. And we’re also very busy developing new products to add to the line.

Fashion & Apparel Category Winner: Fresh-Tops

Who are you and what is your Shopify store?

Nella Chunky, Founder of Fresh-Tops

Describe your product in 1-3 sentences.

Fresh-Tops is high end fashion for hipster trendy teenage females. Our products are inspired by pop culture with a girly twist. We sell everything from leggings, accessories, crop tops, sweaters and anything that our customers requests that makes sense.

How did you decide on your product? What ideas did you consider but reject, and why?

I experimented with a bunch of brands until we found one that really worked. I ended up with my current brand by being inspired by pop culture, and a love for bright colors and creating fun, cute little things. I believe that to be successful in fashion, you have to stay fresh, and that’s where the name Fresh-Tops came from.

What were some of the main tipping points (if any) or a-ha moments? How did the tipping points happen?

My biggest tipping point was realizing how important social media is to the growth of my company. Being able to interact with our customers 24/7 on various social media platforms has been really, really important.

What were your biggest mistakes, or biggest wastes of time / money?

My biggest mistake was with packaging. When I first created Fresh-Tops I was convinced that fancy packaging and the experience of our customers opening our products would increase sales. Nope. Its better to focus on fast delivery and high quality products rather than packaging, which only eat out on your profits. Once our brand became more established it made more sense to invest in pretty packaging.

Key manufacturing and marketing lessons learned?

1. Network. Getting to know people in my industry played a huge role in developing my company. We found all our manufacturers through referrals from personal relationships. Get involved with the market of your specific products. If you’re in the fashion industry go to every fashion event you can.

2. You can’t ignore social media. Our marketing strategy is completely focused on our social media. We use Facebook, Tumblr, Instagram and Twitter to share pictures of our clothing. Then our fans share those pictures with their audiences. This social influence is very powerful. People tend to shop where their friends shop and they feel left out if they’re not involved.

3. Secure your brand name. We keep our ears open for the next popular network, and we’ll then immediately establish accounts. It’s important to do this for two reasons. First, to secure your brand name before someone else gets. Second, you want to be in these social circles in case they catch buzz. For example, there is a lot of buzz around Keek right now. It’s a social site which allows users to post videos no more than 30 seconds long. We don’t know how we’re going to use this as a marketing tool yet, but at least we have reserved our company user name before anybody else could.

Any PR wins? Media, well-known users, or company partnerships, etc? How did they happen?

No company partnerships as of yet but we are looking to partner with a PR firm and a very well known web development company this year.

What software/tools and resources, mentors or groups did you find useful for growing, if any?

We don’t really use any fancy software or tools. You’d be surprised how much you can do with very little integrated software. A couple of my mentors who I study, and who inspire me are Kimora Lee Simmons and Tony Hseish.

Conference wise, learnt a lot from Fashion Week and Stitch Trade Show in Las Vegas.

If you were to do it all over again, what would you do differently?

Our biggest challenges so far have been holiday seasons. During the holiday season, it was tough to keep up with increased demand, so I would have ensured our stock count was big enough.

Any other advice to people starting their first online businesses?

I would really suggest that if you are starting your own business, it’s very important to listen to your customers and use their input to drive the growth of your business. We relied on email requests and suggestions from our social media fans when deciding how to move forward and what items to add to our line, and it worked really well.

The second thing I would say is just do it. Keep experimenting and keep trying different things and different brands until you find something that works. Be versatile and flexible and you’ll learn and grow as you go along. Stick to doing a few things really well and don’t overextend yourself.

What’s next?

This spring we are starting a new line of shorts which are fun and colorful.

Canadian Category Winner: Canadian Icons

Who are you and what is your Shopify store?

Aron Slipacoff, Founder of Canadian Icons

Describe your business in 1-3 sentences.

Canadian Icons is an online museum and store that shares stories about iconic Canadian brands like Canada Goose and Manitobah Mukluks alongside rare objects from Canada’s past. We ship every order overnight for free – and sometimes even faster than that. Our aim was to make our website a place where you can always encounter an inspiring collection of Canadian treasures and find out about organizations working to produce, preserve and protect them.

How did you decide on your product(s)? What ideas did you consider but reject, and why?

We wanted to offer items with incredibly strong connections to Canada’s past. If it was something that really resonated with what could be considered to be truly ‘Canadian,’ and it was something iconic, the decision wasn’t really ours to make—the items and the stories behind them would just speak loud and clear.

The items in the Canadian Icons collection are as relevant now as they were 50 years ago, and they will be just as relevant 50 years from now. And, of course, everything had to be made in Canada.

What were some of the main tipping points (if any) or a-ha moments? How did the tipping points happen?

The only real tipping point was when the media began talking about our unique concept of combining storytelling with online sales.

What were your biggest mistakes, or biggest wastes of time / money?

We spent a lot of time early on pursuing a hard copy version of the Canadian Icons collection. We wanted to make a book that could live in the physical world but the web proved to be a much better medium to tell the stories and conduct business at the same time.

Key manufacturing and marketing lessons learned?

It’s important to learn where you can add value and how you can stand out amongst your competition. We quickly learned that customer service was the way we could really provide value. We saw opportunity to fill a gap with our Canada Goose jackets in particular because our competitors weren’t great on service because the demand for these products is so huge. So we decided to offer the best possible service to our customers. This meant overnight shipping in Canada and 90 minute delivery within 50km of our office. We also decided to offer a full return policy, no questions asked and no postage required. Risky, but ultimately worth it.

Any PR wins? Media, well-known users, or company partnerships, etc? How did they happen?

PR wins: Our PR approach for Canadian Icons was determined right up front, we wanted high quality links for Google juice, and we wanted brand mentions in good publications to help drive traffic and support our reputation. We hired a firm to help with PR and have received lots of positive media mentions in Canada.

Partnerships: First, I developed great historical content. I wrote stories about Canadian icons such as the canoe, the snowshoe, and the Group of Seven. I began to curate a collection of high quality content. Then, I approached national cultural organizations such as the Museum of Civilization and got them on board.

Once I had these great partners and stories in place, I presented an idea to some iconic brands, suggesting that Canadian Icons would be the most authentic Canadian place online to tell their brand stories and offer iconic Canadian products in a new way.

For brands like Canada Goose and Manitobah Mukluks, it was clear early on that they “got it.” Both of these companies take great pride in their product’s deep and unique connection to Canada.

What one thing (knowledge, skill, tool, etc.) would have saved you the most headache if you had it when you just got started?

There really weren’t any headaches. I had a lot of experience in Canadiana, in writing, marketing and PR, and I actually enjoy cold-calling and developing strategic partnerships and building relationships.

The hardest part, for me, was building the business online – the actual coding and backend – but that really wasn’t that difficult.

Any other advice to people starting their first online businesses?

Build it and they will not come! You need to put a lot of work into PR. Get your name out there, get featured in the press, get backlinks. Getting in the media really helped people to get to know us as well, but the links that the media mentions gave us really improved our SEO ranking.

What’s next?

We are going to continue to strive to provide Canadian products delivered in a manner never before seen in Canada, stories and world-class service you can only really get right here at home!

Everything Else Category Winner: SkinnyMe Tea

Who are you and what is your Shopify store?

Gretta Van Riel, Founder of SkinnyMe Tea

Describe your product in 1-3 sentences.

SkinnyMe Tea is an all-natural detox and weight loss program designed to provide fast results and kickstart a healthier you. SkinnyMe Tea is formulated with all-natural, high-potency ingredients rich in antioxidants, vitamins, minerals and fibre. The natural ingredients in SkinnyMe Tea aim to cleanse and detoxify, increase metabolism, assist in the digestion of food, suppress appetite and much more.

How much revenue is your company currently generating per month (on average)?

Over 600K per month.

To get to this revenue number, how long did it take after the idea struck?

It took around 9 months after we launched to reach this revenue; however, as we’re still a very young company (we turn 1 next month) our revenue is still increasing.

How did you decide on your product? What ideas did you consider but reject, and why?

I had a dream about “teatox” one night which gave me the inspiration for the name. When I woke up, I knew that I had a great idea and I started building my business literally the same day. While I have experimented with various ways to package and sell the product, my vision for the product has been the same from the start.

What were some of the main tipping points (if any) or a-ha moments? How did the tipping points happen?

The biggest tipping point is when our revenue from one week was above my yearly wage at my previous job. That’s when it really hit home. I get so excited when we meet targets we never even considered possible when just getting started. I guess it’s time we start setting more challenging goals.

What were your biggest mistakes, or biggest wastes of time / money?

Our biggest mistake was underestimating our rate of growth. We were constantly finding ourselves catching up. Apart from being quite stressful, this meant we had less time to look at the bigger picture and had no time for planning and creating strategies about the new directions our business should be going. That was a big mistake, being able to strategize high-level direction is really important for long-term growth.

Key manufacturing and marketing lessons learned?

1. Make sure you do your research and know which certifications you need. In Australia it’s important to find a manufacturer with TGA (Therapeutic Goods Administration) approval which isn’t always very common for tea manufacturers because tea isn’t often classified as a therapeutic good per say. That was a challenge in itself.

2. Make sure you will be able to scale your business to keep up with increasing demand. When you can afford it, be overstocked rather than under-stocked. In today’s push-button society everybody wants everything yesterday.

3. Social media can work both ways, it drives discussion but not always in the direction you intended. Be ready to deal with negativity, and listen to your customer’s feedback… sometimes that’s more important than the numbers game and driving sales.

4. Take a personal approach to social media. Your overall message should target your key demographic, but your responses should always target the individual.

Any PR wins? Media, well-known users, or company partnerships, etc? How did they happen?

We have a lot of very well known customers but of course for their privacy we cannot reveal who they are. No significant PR or media wins and no company partnerships, we have tried to stay quite low key while getting started.

What software/tools and resources, mentors or groups did you find useful for growing, if any?

We almost exclusively used social media to grow our brand. We found Instagram to be the best tool for us, we now have over 180K followers on Instagram! With social media we are able to harness the broader messages surrounding health and wellbeing and tie them into our marketing. We don’t just talk about the product, we talk about everything in the health industry and emphasis our product as a part of a healthy lifestyle, not a ‘just another diet’ per se.

If you were to do it all over again, what would you do differently?

I would have given us more time to plan things out. If I had anticipated the incredible rate of growth we would be enjoying, I would have embraced it and planned accordingly rather than considering it some sort of fluke that would pass.

What one thing (knowledge, skill, tool, etc.) would have saved you the most headache if you had it when you just got started?

With so many websites around now, it’s really important to be able to give your website an individual look and feel. You should do something to stand out. For example with the ‘Happy Ending’ Shopify app we now add a personal message that says “You’re Amazing!” at the end of checkout. Although it’s a small thing, it’s a nice personal touch which our customers have responded really well to.

Any other advice to people starting their first online businesses?

Just do it! Believe in yourself and your vision. Everyone has an idea, turn your dreams into plans before somebody else does!

What’s next?

We’re working on lots of innovative new products and the worldwide distribution of our existing products. We’re really excited for what’s to come.

ADDITIONAL RESOURCES

Thinking of giving it a shot yourself? You don’t need to go it alone.

Check out Shopify’s “Build-A-Business” competition forums, which include all of the questions and answers from the 2012 competition that the above 5 companies won. The forums cover almost every topic imaginable.

Also check out the “Build-A-Business” mentor lesson videos featuring Tim Ferriss (that’s me), Daymond John, Eric Ries, and Tina Roth Eisenberg.

What other questions or topics would you like explored? Please let me know in the comments.

###

ODDS AND ENDS ELSEWHERE: $10,000 MEMORY CHALLENGE RESULTS

Here’s another example of a success “recipe”…

The biggest memory competition ever held now has a winner! The competition was co-created by me and Grand Master of Memory Ed Cooke, then announced on this blog — it challenged “ordinary” people to learn to memorize a pack of cards in less than a minute.

Irina Zayats, a 24 year-old Ukrainian woman, showed just how quickly a brain can be trained. Miss Zayats had no previous experience using memory techniques, but she learned to perform the gold standard of memory skills (memorizing a shuffled deck of cards) in just five days. In doing so, she won $10,000 and, to her surprise, a job offer from Memrise, the learning platform that ran the competition.

Keep in mind that the American record for this feat was, until recently, 1 minute 40 seconds. And those were trained competitors!

So, how did Irina do it? Here’s the full blog post, and an incredible video of her performance is below:

by Tim Ferriss at April 24, 2013 11:45 PM

Aza Raskin

The Future of Mozilla: Fast Second Follow

No one wants to be a follower. Except Mozilla.

Mozilla rarely moves the consumer needle with its own inventions. Rather, the company is at its best — and its best is revolutionary — when it takes an existing product and re-envisions it as a public benefit product, where the people making have a top-down directive to never include revenue as part of a decision making process.

Mozilla, a nonprofit, must capitalize on its record of fast-second-follow success, identifying products that have already found consumer traction and then remaking them Mozilla-style.

Five years ago, I joined Mozilla as part of an aqui-hire. I was a founding member of Mozilla Labs, and served as creative lead during the Firefox 4 release. While I am no longer on the paid staff, I carry Mozilla DNA and often find myself reiterating Mozilla mantras. Safe to say, any critique I offer here is not meant as a slight; every company has strengths and weaknesses, and it’s important to know how to play to those fortes. “Once a king or queen of Narnia, always a king or queen of Narnia”, noveslist C.S. Lewis famously wrote. And, so it goes in open-source projects: Once a contributor to Mozilla, always a contributor to Mozilla.

When Firefox debuted in 2002, Microsoft had all but abandoned its Internet Explorer development team. By streamlining and improving an existing product, Mozilla revitalized the stagnating browser space to protect the most important shared resource of our times. Today, the space is intensely competitive, with browsers from Apple, Google, and Microsoft each vying to be the fastest, most capable and most compliant. The majority of web now surfs on open-source browsers. That’s a huge Mozilla victory, and a huge victory for the open web.

The story of Thunderbid, Mozilla’s desktop email application, recapitulates the theme. Thunderbird started strong as a second-mover with tens of millions of users. But, as technology and consumers moved to web solutions — relying on heavy servers and light clients that provided rich and instant access to email from anywhere — desktop clients became less and less relevant. Mozilla is culturally distrustful of any product that centralizes user data, so it invested in desktop-centric, server-agnostic solutions. It lost the email space not for lack of trying: Mozilla created its first and only spin-off, Mozilla Messaging, to tackle the problem. Caught between an inability to innovate as a first-mover on mobile and culturally unable to be a second-mover on the web, Mozilla’s email presence atrophied. Mozilla Messaging was soon rolled into Mozilla Labs and the company quietly lost the war, letting the the future of communication fall into the control of companies that are ultimately beholden to their bottom line, and not the user’s best interest. This isn’t a conspiracy-theory what-if: In 2006, Yahoo was called to testify before congress for yielding to the Chinese government’s demand for access to a journalist’s email. Yahoo’s capitulation, which resulted in 10 years of jail time for the journalist. This is, of course, just one example of many.

Late or Strategic Second-Mover?

When it comes to mobile, there’s still hope. Mozilla is a second-mover with the Firefox phone. The company has taken something that we know works for consumers and recreated it with open DNA — the user interest trumping the commercial. It’s a make-or-break moment for Mozilla.

Let’s take another example: Instagram.

The app now has more than 100 million users, nearly a fifth the size of Firefox, with an accelerating growth curve. Its square photos document a society grappling with the sudden ubiquity of cameras capable of capturing and broadcasting every moment. Instagram has always been a good actor, with a fantastic set of APIs, but should we trust the future of this shared resource to Facebook?

MySpace and Neopets taught a generation how to mess with HTML, covertly turning consumers into producers. Mozilla can bring that same educational opportunity to Instagram. We can make it open and add the ability to analogously “view-source.” Why not use Javascript to modify, create and share new filters? Or change the layout of your profile? Or clone and host your own version of Instagram that has video? In other words, let both users and developers remix Instagram.

In doing so Mozilla could become a powerful second-mover in the market. But why stop with Instagram? We should be prying open Mailbox, Gmail, AWS, and many others. By amplifying an existing product and injecting it with our DNA, Mozilla can defend the open web.

Developing products that embody openness is the most powerful way to shape the policy conversation. Back those products with hundreds of millions of users and you have a game-changing social movement. Expanding those social movements beyond the browser is the legacy that Firefox deserves.

Related posts:

  1. Mozilla Labs Geode: Follow up
  2. Leaving Mozilla, Starting Massive Health
  3. Joining Mozilla

by Aza Raskin at April 24, 2013 08:53 PM

Dave Winer

Scripting News: A semi-luddite view of Google glasses.

This was written very quickly.

At the beginning of my blogging career, in 1994, I expressed doubt that PDAs would become general-purpose computers.

Randy Battat, then an exec at Motorola, rebutted that people used to say that about personal computers, and that I would come around. I never did, and I was more or less proven right. We're still struggling with mobile devices, trying to figure out what they're good at. One thing they are not, is being a general-purpose computer. The reason is simple. No keyboard. No way around that. Without a keyboard, they are good for reading and relatively short messages. They work well for text messaging and Twitter. I marvel at how some people can write full blog posts and emails with their tablets and phones. But I think that will continue to be something that only some people can do. I'm an excellent typist, but I have to use two index fingers on a virtual keyboard. There isn't room for both my hands.

Now to Google glasses. I want to put my stake in the ground. (And I know the product is called Google Glass, but I think they're glasses, so I'm inclined to describe the product my way, without using their brand name (and hence the lowercase G.))

I think they will make an excellent display device for the obvious reason that they're mounted in front of your eyes, the organ we use for vision. The idea of moving your fingers to the side of your head, of winking to take a picture, well I don't like that so much. I admit I might be a luddite here, and am going to keep my eyes and ears open for indications that I'm wrong. It happens, quite a bit when it comes to brand-new tech.

I think they could be a great part of a mobile computing platform. With more computing power and UI in my pocket, in the form of my smart phone, or in a big pocket, in the form of a tablet. They communicate over Bluetooth, and together form a more useful reading and communication device, but probably still not a very good writing tool. The idea that I would use glasses without tethering them to something more capable for finger-work, well that's what I thought was wrong with the PDA idea in 1994. It turns out, in 2013, for some people -- that the PDA of today can be used without tethering. But it doesn't have the same utility as the desktop computer I'm typing this blog post on. IMHO of course.

April 24, 2013 04:06 PM

Mark Bernstein

Patchwork

Patchwork

That’s a screen shot of a new prototype of Patchwork Girl by Shelley Jackson, running of OS X Mountain Lion.

We’ve got two separate projects building toward a new generation Storyspace. This is the first project, built on raw Cocoa with a fresh implementation of almost everything. Call that one “Hot Chocolate.”

There’s also an ambitious second project, built on the technology platform that Tinderbox uses. Twelve years ago, the first cut of that platform was code-named Hereford, so call this fresh implementation “Cool Cider” since cider, it seems, is the drink of Hereford.

Hot Chocolate will become the foundation for a generation of iPad readers for hypertexts written with Storyspace.

Cool Cider will become the foundation for Storyspace.

Now, what goes well with apples and chocolate?

April 24, 2013 03:31 PM

Dave Winer

Scripting News: Care to Share Your OPML?

A picture named drum.gifInteresting question last night on Twitter from Daman Bahner. He asked how about rebooting Share Your OPML now that there's renewed interest in RSS. That requires a little explaining for people who are not familiar with the original service with that name.

First, OPML is used to exchange subscription lists between RSS aggregators. I'm the one who made this choice, because I thought it would be cool if people could edit their lists in our outliner (at UserLand) and OPML was the file format of the editor. All our competitors wanted to make it easy for our users to switch to their products, and Radio was the product that got all this RSS stuff going with users, so it became an instant standard. And even though few people use Radio today, the choice of OPML is still with us.

If anyone writes a book about how standards really are developed, the way OPML became the standard for subscription lists would make an excellent counterpoint to the theory that all standards come from deliberative bodies of warring BigCo's.

Share Your OPML took advantage of the standard. I asked the readers of my blog to upload their OPML files to a server I wrote at share.opml.org. It was later rewritten by Andrew Grumet and then Dan MacTough. That version is visible today through the Internet Archive.

The reason it became popular? Because everyone who mattered in the RSS world of that day read Scripting News, and I beat the drum relentlessly and without shame for Share Your OPML, an idea I totally wanted to see happen. ;-)

How it worked...

When you uploaded your OPML, we added the info to a database.

From that we produced a top 100 list of feeds.

We ran an aggregator of the top 100, sort of an early version of TechMeme.

We kept a list of the most prolific subscribers.

You could find out who subscribes to a given feed (including your own).

And most important, it would make recommendations, based on the feeds you're following, suggesting feeds that "people like you" also follow. It was very good at this. (Can't show you this page because archive.org wasn't a member, and this was a members-only feature.)

We also had a blog, of course.

You can get an idea of how it works by clicking around the archive. That was the best thing about it. You could lose a lot of time just clicking around and seeing what was related to what.

We had to take it off the air because it was getting too popular and it was a labor of love, not a for-profit business, although it would have made an excellent for-profit business. I wanted to, but failed at finding a programmer to work with me on it. It wasn't the kind of project I wanted to take on by myself.

Anyway -- today it would still be a good idea, but now I have a startup that's keeping me busy.

Daman Bahner asked me about this on Twitter last night, and I asked him to put up a blog post explaining the idea. And that motivated me to write about it myself. Maybe we can fund this as a community thing. Might be a fun way to do it. Share your ideas, if you find this interesting.

PS: I'm meeting with an old VC friend in Boston later this week. I'm going to suggest they kick in some money for labor-of-love tech projects. That's how a lot of the best ideas develop. What would they get in return? First right to invest in the projects. Seems like a no-brainer (a term VCs like to use a lot). :-)

PPS: I've often wondered if any tech investors read my blog. If you are one, leave a comment, or send me an email. dave dot winer at gmail dot com. I'm interested in knowing if we have any money in our community.

April 24, 2013 01:36 PM

Alex Schroeder

Cosmology of Love and Strive

 Maximilián Pirner, Empedokles As I was listening to the episode on Empedocles on the History of Philosophy “without any gaps” podcast, my thoughts turned to cosmology and D&D. Basically, there is a big cycle between the rule of Love, where all the elements mingle and everything is a single perfect sphere, and Strife, where all the elements separate, fire over here, water over there, and so on.

Implementing this in fantasy role-playing games we need to change some of the Great Wheel cosmology of Planescape. The inner planes are now the outer planes: The four elements are the chaotic forces pulling us in different directions. All elemental creatures must be very chaotic and enemies of life. At the center, where all elements meet, there is but a humongous sphere of gray goo. I guess all the slimes, puddings and oozes must be creatures of law Love. They bring all the elements together and none better than the gray ooze. Given all that, the world we know must necessarily be between the elements and the spherical goo, ie. on the spherical surface.

What about dungeons? What about the “mythic underworld”? I think we have various options:

  1. The concept of Love that pulls the elements together is just as inimical to life as Strife: the civilizations that have gone before us have all been pulled underground, closer and closer to each other, until war and attrition destroyed them all; perhaps a few gaunt dessicated members of the old Atlanteans still live down there in the deepest depths, close to the gray goo, guarding their nuclear weapons and their nanotech weapons.
  2. The concept of Love offers some form of transcendence over the material world; it attracts good and evil alike; it tests us, breeds us, selects the finest amongst us, and like zygotes we penetrate the deepest secrets to eventually reverse the great cycle, to break the stalemate.

In either case, monsters are drawn down to the center of things just as we are. The traps can be set by our competitors down there, or by the gray goo defending itself against unworthy plunderers.

I think we need one final idea to make it all work: How to explain the heavens and the moon and the stars if “up above” we expect to see the four elements?

  1. Our known world exists where earth and air have started separating; the oceans is where the water is. If you sail far enough, there will be no more land and eventually, no more air. You’ve reached the plane of Water. If you climb the highest mountains, eventually you will realize that you have reached the wall of walls. Air ends and the plane of Earth begins. Up where the sun is, fire reigns. It has already left most of the known world. Whenever we light a fire, the flames leap up, up towards the sky, towards the sun, towards the great fire in the sky that burns far beyond the sky.
  2. Alternatively, the known world is just like present day earth. The air protects us from space. Space is in effect the Void separating the four elements under the dominion of Strife and the gray goo under the dominion of Love (and its tiny crust of weirdness that is life).

Food for thought, in any case.

I like how the podcast provides two interesting links:

The second link uses “font-family:comic sans ms, verdana, arial, sans-serif”. Comic Sans. You have been warned. :)

Tags: RSS

April 24, 2013 12:44 PM

April 23, 2013

Dave Winer

Thread: New Fargo intro dialog.

We've gotten a lot of feedback on the initial user experience for Fargo, and decided to take another look at it. The result is a new intro dialog. Screen shot below.

A picture named fargoIntroDialog.gif

The actual dialog is a little bigger, the full image is scaled to fit into the web page.

Let me know what you think of it...

Dave

PS: This is deployed in Fargo 0.51.

PPS: As I was writing this I was thinking of the Matrix. Clicking on the Dropbox button is like taking the red pill. Clicking on More Info is the blue pill. :-)

April 23, 2013 05:15 PM

Fog Creek

Dive into parser combinators: parsing search queries with F# and FParsec in Kiln

We open on: the past

The year: 2012. The problem: search. With a new release of Kiln, search is now forefront and center. You can zip around repositories or code with a simple tap of the keys, and boy is the future bright.

Powering search was our search engine. And powering it was our search-query parser, a couple hundred lines of code that parsed a query into a list of keywords and filters. For example, if you asked of Kiln

foo bar project:Eggs date:yesterday..now author:Tyler

Kiln finds all the commits, by people named “Tyler,” to a repository in projects named “Eggs” since yesterday with the words “foo” or “bar” in the commit message.

But try to search "foo bar" and you would be disappointed. The unspoken rule of the internet is that surrounding two words in quotation marks should make a search engine look for both words as one phrase instead of two separate words. So "foo bar" should match the string “boy I had a lot of foo bar pie” but not the string “foo and bar are two friends from way back when.” Pretty goofy rule, but the internet is a goofy place.

It’s 2012, and Kiln does not have phrase search. We left it on the cutting floor to make room for everything else we wanted, and we regret it. Life moves on.

And we cut to: the present

The year: 2013. Not having phrase search: more and more irritating. Having migrated our full-text indexing to elasticsearch, phrase searches are not only possible but easy. So you, being a developer on the Kiln team, don glasses and open the .cs file containing the query parser. Written in C# and presented for your consideration is a jumble of grammar rules and intermediate parse trees, a jungle of loops and state. A flock of crows take off from a nearby tree. You close the file.

“This seems like the ideal intern project,” you think to yourself. “It would be a shame to not allow someone else to rewrite this.”

Just then, Andrew Pritchard walks by your office. Andrew Pritchard was our summer 2012 intern who worked on a dazzling array of Kiln features, including phrase search. We will borrow a hypothetical version of him. Look at him, walking with the smooth confidence of a man not yet burdened by string parsing.

“Help us, Hypothetical Andrew Pritchard,” we said. “What do you know about parsing?”

H.A.P. points you at FParsec, a parser combinator library for F#. He begins erasing your whiteboard and drawing diagrams while you wonder what he is talking about.

“Hold on,” you say, slapping the multi-colored markers out of his hand. “I have many reservations about what’s happening right now but here’s the biggest one. F# is that that new functional-programming language from Microsoft right? Kiln is a giant ASP.NET MVC application that uses C#. There is no room for F#, Hypothetical Andrew Pritchard, you crazy lovable human being you.”

“No,” he replies. You two stare at each other for a while.

It turns out that .NET’s Common Language Runtime, plus increasingly better F# support in Visual Studio, lets you create an F# library inside your solution and reference it from a C# project. There are some quirks: ReSharper support for F# is ongoing, F# files have to be sorted in the solution tree in the order you want them to be compiled, and F# collection types map awkwardly from and to C#—to name three big ones. Overall though the experience is surprisingly pleasant. I say in the year 2013 you can (and should) alternate between F# and C# depending on the problems you are solving.

We created an F# project with the source code in this blog post if you would like to follow along. If you are not familiar with F#, fear not! By and large the F# syntax can be intuited; for a look-see, Wikipedia also has a buffet of code snippets. On my part I’ll use highly descriptive variable names and mention C# analogues to F# features when possible.

“FParsec is great, but we need F#. No biggie,” H.A.P says, shrugging his shoulders. “Besides, F# is functional, which means it’s ideal for a self-contained, computer-science-y project like string parsing.”

“It is fun.”

“You will like it.”

You are sort of convinced. In any case, he has covered your whiteboard in figures and symbols. He looks at you, then looks at the board. He walks over and gently pushes you out of your chair. You get up, brush yourself off, and read the notes on the whiteboard as he begins typing into your computer. Which notes are:

Parsers

In the world of parser combinators, a parser is a function that takes an initial state s and returns a final state s' in addition to an output object:

p .>>. q>. q" />>. q" />

If the output is of type 't, we say the parser is of type 't. The black arrow shows the output.

The state is a set of facts about the world.

Let’s give ourselves a parser p that finds the string hello inside other strings. And let’s run p on the string “hello, world”. Then the state of the world prior to running p (the initial state s) as indicated by the first blue arrow has these facts:

  • Our string is “hello, world”;
  • Our current position is index 0;
  • No errors so far;
  • etc.

The state of the world after running p (the final state s') as indicated by the second blue arrow has these other facts:

  • String: still “hello, world”;
  • Current position: now index 5 (the comma);
  • Errors: still none;
  • etc.

We say that the parser has consumed the string “hello”, which means the parser has read the string “hello” and has adjusted the current position accordingly.

A parser can also fail. For example, if we run p on the string “salutations, world” an exception is raised as soon as the parser realizes there is no “hello”, and the whole thing is called off.

FParsec comes with a smörgåsbord of helper functions for parsing common chores. Some that are relevant to us:

These higher-order functions take arguments and return a parser. (By the way, fun c -> c <> ' ' is just a lambda. The C# equivalent, which is actually terser!, would be c => c != ' '.)

pchar '"' and manySatisfy (fun c -> c <> ' ') are parsers of type string, as indicated by their type Parser<string, unit>, which makes sense since they consume a string and then immediately output it. (You may be wondering what that second generic type argument unit is for. [unit is the same as void in C#.] We will leave the resolution to that mystery to the excellent FParsec documentation.)

Parser combinators

A parser combinator is function that takes multiple parsers and returns a new one. Every parser you’ll ever write in FParsec will be a pyramid with small simple parsers at the bottom building up to something big and wonderful at the top.

FParsec comes with a zoo of parser combinators. Some are functions, but most are operators. In F#, you can define custom operators and FParsec is nothing if not a testament to that feature. This lets us write, for example, p <|> q instead of (say, hypothetically) alternate p q. There is a trade-off though: the library can be intimidating at first. It may seem like a place of tall runes and cold magic, where the flesh and soul are tested, and light is dim, joyless. But armed with logic and courage, you will soon be able to write fairly complicated parsers in only a few terse lines.

So, using these primitives, little itty parsers get glued together into a big ol’ parser, which is what we will be doing for Kiln. You can take apart the pieces when you are reading and understanding it, and you can build up the pieces when you are writing and debugging it. You might even dare to reuse a parser or two. The same cannot be said for the kind of parsers out there in the harsh imperative world—try refactoring that while-loop with the big switch statement into modular components without messing up the big global state object.

And also: no preprocessor.

Some combinators that are relevant to us:

Sequencing with >>. and .>>

val (>>.):   Parser<'a,'u> -> Parser<'b,'u> -> Parser<'b,'u>

Here’s what you do if you’re >>.: First run p and throw away its output (black arrow). Then, following the state (blue arrows), run q and take its output.

p >>. q>. q" />>. q" style="width: 627px;height: 291.17359050445106px" />

The cousin of >>. is .>>, which throws away the second output and takes the first:

val (.>>):   Parser<'a,'u> -> Parser<'b,'u> -> Parser<'a,'u>

p .>> q> q" />> q" style="width: 627px;height: 291.17359050445106px" />

Tuple sequencing with .>>. (or “two eyes, full hearts”)

val (.>>.):  Parser<'a,'u> -> Parser<'b,'u> -> Parser<('a * 'b),'u>

First run p. Then run q. Take both outputs and tuple them, which we denote by multiplying the two types together, just as F# does. (For example, a tuple of an integer and a string in F# has a type int * string, which is just shorthand for Tuple<int, string> like you might see in C#.)

p .>>. q>. q" />>. q" style="width: 627px;height: 428.85311572700294px" />

Alternation with <|>

val (<|>): Parser<'a,'u> -> Parser<'a,'u> -> Parser<'a,'u>

Say you have two parsers of the same type 't. Run p first. If it fails without altering the state, run q instead.

p <|> q|> q" />|> q" />

If you recall from compilers, you can write down a grammar in a hoity-toity syntax that looks like

compound_stmt: if_stmt | while_stmt | for_stmt | try_stmt | with_stmt
if_stmt: 'if' test ':' suite ('elif' test ':' suite)* ['else' ':' suite]
while_stmt: 'while' test ':' suite ['else' ':' suite]
for_stmt: 'for' exprlist 'in' testlist ':' suite ['else' ':' suite]
try_stmt: ('try' ':' suite
           ((except_clause ':' suite)+
            ['else' ':' suite]
            ['finally' ':' suite] |
           'finally' ':' suite))
with_stmt: 'with' with_item (',' with_item)*  ':' suite
with_item: test ['as' expr]

You can think of the <|> operator from FParsec as a rough correspondence to the | operator from Backus-Naur syntax. Note that <|> will fail if p alters the parser state. If backtracking (trying a parser without actually altering the state) is what you are looking for, seek FParsec’s excellent documentation on parsing alternatives.

Separation with sepBy

val sepBy: Parser<'a,'u> -> Parser<'b,'u> -> Parser<'a list,'u>

The combinator to turn to when parsing a list of things:

sepBy

  1. Allocate a list of type 'p list.
  2. On failure, stop and output the list.
  3. On success, append the output of type 'p to the list. Then run sep and then go to step 2.

In F#, generic types’ arguments go before the generic type. So the type of the output is 'a list instead of, in C#, List<'a>. Also in F#, as you might have noticed, type variables are prefixed with a single quote because single quotes go out on Friday night and have all sorts of fun.

Function application with |>>

val (|>>): Parser<'a,'u> -> ('a -> 'b) -> Parser<'b,'u>

p |>> f> f" />> f" />

Run p once, which outputs an object of type 't. Pass said object to f: 'a -> 'b. Result: output of type 'b.

The code

“OK,” you say. “This is snazzy, but now what?”

H.A.P. is kneading his temples back and forth with his fingers. “This is what I am thinking,” he says. You wonder if he could think less dramatically.

  • A keyword is a phrase or just a word.
    • A phrase is a bunch of characters surrounded by quotation marks.
    • A word is a bunch of non-space characters.
  • A filter is a word (from a whitelist of approved words) followed by a colon followed by an argument (which is a word or phrase).
  • Our input is a list of keywords and filters.

Keywords

Since elasticsearch differentiates between phrase and word searches, we need to encode the difference using types so that the code that calls into our query parser knows what to do. In F#, the way we model this is with a union type, which is analogous to union in the C programming language. So you push H.A.P. out of the way and type:

type Keyword = Word of String | Phrase of string

In F#, you should read this as “Keyword is a type with two constructors. Constructor number one is Word, which takes a string and returns a Keyword. (Constructors are just functions.) Constructor number two is Phrase, which takes a string and returns an Keyword.”

A word is a string of one or more characters that are not spaces, so we pull out the built-in many1Satisfy from earlier:

let notSpace c = c <> ' '
let word = many1Satisfy notSpace

A phrase is trickier. A phrase is a string of characters (let’s call them innards) between two quotation marks. Innards cannot contain a quotation mark unless it is escaped by a backslash. For example: "Maria said, \"I love you,\" to Mark. Mark gasped." would be a single valid phrase.

So a rigorous definition: one innard is either (1) parse a non-quotation-mark character or (2) parse a backslash followed by a quotation mark. This calls for another <|>.

let phraseEscape = pchar '\\' >>. pchar '"'
let phraseInnard = phraseEscape <|> noneOf "\""

And a phrase is just many innards surrounded by quotation marks:

let phraseInnards = manyChars phraseInnard
let phrase = between (pchar '"') (pchar '"') phraseInnards

between left right middle is another built-in parser. As the documentation for between notes, it is really just shortand for left >>. middle .>> right.

We now have two parsers of type string: word and phrase. All that remains is to lift them into the Keyword type:

let keyword = (phrase |>> Phrase) <|> (word |>> Word)

“Quiz:”, announces H.A.P. “This will not work if we switched around the arguments to <|> i.e. (word |>> Word) <|> (phrase |>> Phrase). Why?”

Who just gives out quiz questions? What kind of person does that? Quiz: What kind of person does that?

Filters

Here are all the filters we have in Kiln search:

type Filter =
    | Author of string
    | File of string
    | Project of string
    | Repo of string

Remember, the right-hand side of a type definition lists the constructors for that type and also the arguments of the constructor. For example, we can infer from this that Author has type string -> Filter.

There are three parts to a filter in the Kiln search-query syntax:

  1. The name of the filter. Like author.
  2. The colon.
  3. The filter’s argument(s). Like Tyler in author:Tyler.
  4. We also want to allow phrase searches like author:"Tyler" or author:"Tyler H". Because phrases are cool.

The code:

let filterName = (* to be written *)
let findFilter = function
    | "author" -> Author
    | "file" -> File
    | "project" -> Project
    | "repo" -> Repo
    | _ -> raise <| Exception "Invalid filter name"
let pipeline (f, x) = f x
let filter =
    (filterName |>> findFilter)
        .>> (pchar ':')
        .>>. (phrase <|> word)
        |>> pipeline

The strategy:

  1. Parse the filter name. For example, given author:"Tyler", consume author.
  2. Find the corresponding Filter constructor (findFilter). For example, author means Author: string -> Filter. If the filter name is not one of the ones we recognize, the parser should fail.
  3. Parse a colon, throw it away (.>>). In our example, this now leaves us with just "Tyler".
  4. Parse the filter argument, which can be a word or, now, a phrase.
  5. With .>>., tuple the Filter constructor and the string argument together.
  6. Pass the tuple to pipeline, which applies the filter constructor (string -> Filter) to the filter argument (string) and returns a Filter.
  7. We now have a Parser<Filter, unit>!

Which looks like:

filter

Remember that the blue arrows track how the string is consumed, which in this case is fairly simple, and the black arrows track how the output is manipulated, which is more complicated.

FParsec’s operators sure are a double-edged sword: the code for filter is hard to read without knowing what the operators do. But we did just compose a smart complicated parser without breaking a sweat. Overall I would say the library hurts the bright-eyed beginner but benefits the adept novice—but look at you guys, you guys are all adept novices already and I am proud of you.

Speaking of getting advanced in F#, H.A.P. has taken your wireless keyboard and typed:

let filterName =
    ["author"; "file"; "project"; "repo"]
    |> Seq.map pstring
    |> choice

“Get out of here, H.A.P. Do you ever drink water?” He stares out the window, licking his lips.

You should know that x |> f in F# is the same as f x. Futhermore, Seq.map f maps a function over a list and returns the new list, and choice [p, q, r] is roughly the same as p <|> q <|> r. While you are puzzling this all out, H.A.P. has placed one hand gently on the window, the way people do at inmate visitations.

Putting keywords and filters together

We want to store keywords and filters together in one list for simplicity’s sake, so let’s introduce another union type:

type Atom = KeywordAtom of Keyword | FilterAtom of Filter

Example: in the query

"foo bar" project:Eggs date:yesterday..now

The first atom is a phrase foo bar. The second and third atoms are filters.

And so we turn to the <|> operator one last time:

let atom = (filter |>> FilterAtom) <|> (keyword |>> KeywordAtom)

This has the type Parser<Atom, unit>, as desired. “Always satisfying to have the type of a function match the name of the function, isn’t it?” H.A.P. says as he reclines in your office chair. You were not aware your office chair had reclining capabilities.

It’s a magical world, Hobbes, ol’ buddy

H.A.P. stands up from the nap he was taking on the floor. “I am proud as well,” he says. He takes out an “A+” sticker and puts it on your hand. With a flourish of his hat—which was your hat, that he took—he leaves your office.

There is not much left to do. Now that we can parse an atom, we can parse a bunch of atoms separated by spaces, which is the parser we wanted all along:

let spaces = many1Satisfy (fun c -> c = ' ')
let parser = sepBy atom spaces

And that’s it. To run the parser, FParsec comes with a library function called run:

exception ParseError of string

let parse input =
    match run parser input with
    | Success (atoms, _, _) -> atoms
    | Failure (error, _, _) -> raise (ParseError error)

run returns a success or an error (another union type!). On success, atoms is of type atom list and we simply return it. On error, error is of type string and, since this is a toy parser, we simply raise an exception. (With match, we are using pattern matching, which alone is reason enough to try out F#. It’s the same trick that made findFilter so short.)

And what’s the type of parse? parse: string -> Atom list. That’s jazz, baby.

Sure there are some i’s to dot and t’s to cross:

  • Parsing date-range filters. The date filter constructor will have the type DateTime -> DateTime -> Filter so it is not as simple as just extending filterName and findFilter.
  • Part of that is also translating human date descriptions like “yesterday” and “today” into usable System.DateTime objects.
  • Better error reporting, about which there is much to say.
  • Using lookahead and backtracking to make the parser more robust.
  • Writing a blog post, to which you commit not knowing that it requires you to learn more Photoshop than you ever wanted to.

But it is nice outside and you do love your family.

I pushed the source code to a public Kiln repository, which contains not only the code in this blog post but also some of the tests we use for our in-production parser; we are a big fan of unit testing, but who isn’t these days? (You can run the tests by hitting Test -> Run -> All Tests in Visual Studio.) I took a crack at implementing a date-range parser as a quick one-hour project but it is fairly fragile—you can do better! Play around! It’s what H.A.P. would want, with those big sad eyes of his.

And afterward, sign up for Kiln Harmony to see all the other cool stuff we put into our last release.

Hao Lian is a programmer on the Kiln team. Did you know you can create custom vibrations in iOS?

by Hao Lian at April 23, 2013 05:10 PM

Mark Bernstein

Speaking Code: coding as aesthetic and political expression

Two distinct groups of people are interested in the aesthetics of computer programs. On the one hand, we have people who create software; those with taste and judgment will naturally hold aesthetic opinions and prefer the beautiful to the ugly. Opposed to these artisans, we sometimes meet a group of theoretically-inclined critics or "codewerkers" who compose things that look like poems but that ridicule the benighted corporate fools who make or use real software.

In Speaking Code: coding as aesthetic and political expression, Geoff Cox and Alex McLean are writing for the latter. The program code of which they speak is almost always either a hypothetical category too broad to be analyzed or a clever stunt ginned up in a dozen lines of perl. These toys are sometimes clever, but they have little to do with actual programs, and their creation has little to do with the construction of actual code. It is as if the authors set out to write about painting but, finding actual painters dead and actual paintings opaque, decide instead to analyze instead the movie actors who portrayed some painters. The actor’s version of Jackson Pollock might look like a painting, and it might be made from paint, but it’s not Pollock.

The book is filled with tiny little programs. Some of them run. Some of them simply look like programs and are meant to be read. The first example is written in an esoteric language called Befunge, and the general level of scholarship in this volume is reflected in the first footnote.

As an esoteric language, Befunge also breaks with the conventions of downward direction of interpretation through two-dimensional syntax [1].

[1] For more on the Befunge programming language, see http://en.wikipedia.org/wiki/Befunge.

Parts of this book are scrupulously sourced – for example, Cox makes some very nice distinctions between Lacan and Hannah Arendt – but the creator of the programming language that is the subject of the opening argument doesn’t deserve citation, presumably because the kind of mechanic or drudge who would actually write a compiler is obviously insufficiently human to deserve one. Elsewhere, Cox urges resistance to Javascript because "it is proprietary, indeed owned by Google." This point might be interesting, were it true. His footnote leads to a wiki page at LibrePlanet which links, in turn, to an essay by Richard Stallman; apparently, Cox misunderstood Stallman’s opposition to Gmail (a Google Web service) to mean that Google owns the underlying language. Stallman’s polemics against software property are briefly mentioned elsewhere in the book, but his actual art — the beautiful and immensely influential EMACS editor — is not.

It’s not just Stallman. You won’t find Kernighan here, or Ritchie. Bill Atkinsons’s not around, nor Bricklin, and there’s no joy for Bill Joy, nor does Lisa Friendly’s JavaDoc find a friend. You won’t find Sutherland’s Sketchpad, or Smalltalk, or The Demo. Knuth appears only for a cameo on literate programming. Ward Cunningham’s wiki was beautiful code (though modern incarnations are covered with ugly encrustations). Charles H. Moore’s FORTH was gorgeous. So was John McCarthy’s LISP. And there’s no hint of the work programmers do with Iverson’s APL and Wall’s Perl to express complex ideas in a tiny, tiny compass, a game as intricate as a villanelle and as delicate as haiku.

In fact, Reading Code seldom looks at any code that does something, code that might dirty its hands with actual work. Instead, we have things that look like programs and make pithy declarations about capital and labor. Every beginning student, learning that a variable name is simply a label and that the machine does not know or care what the label means, spends a day or two playing silly games.

for (teacher = every + fracking + grownup) { frack = you; }

 

There’s a lot of that here. And there’s some mild cleverness, like referring to a program that recursively deletes your Facebook friends as a form of (social) suicide. But none of it is really code, and a lot of it isn't quite as clever as it thinks.

The problem we face in thinking about code aesthetics is twofold. First, code is big, and the printed page is small. When we write about novels or epic poetry or a Collected Work, we assume that the reader is generally familiar with the work, that we are exchanging insights about familiar things. It’s not clear that MIT Press expected the audience for this volume to be able to read code, but there is no hint in the book that the authors expect readers to have any shared experience of it.

Second, code works. It does stuff. Its hands are dirty. This seems to unnerve the code aesthetes as much as machine aesthetics unnerved so many people in the 19th century. How could stone and steel be anything but ugly? Viollet-le-Duc had an answer, and Ruskin had another, and then Louis Sullivan told us that the tall office building "must be every inch a proud and soaring thing, rising in sheer exultation that from bottom to top it is a unit without a single dissenting line." Architectural beauty does not depend on ornament any more than delicious food depends on folding napkins into pheasants; to understand, we must simply have sympathy for things, their inherent tendencies and their purposes, their fabric and their fate.

What Cox and McLean overlook, alas, is that software aesthetics are in the midst of a profound revolution. For years, aesthetic discussion was polarized between two camps: those who advocated provability or at least mathematical rigor, and those who prized clarity. The mathematicians (also called “neats”) prized concise languages and intriguing formalism: LISP and Scheme, APL and Prolog. Their opponents (“scruffies”) prized structural clarity and expressiveness: Algol and ADA, C/C++ and Unix Tools, Java and Javadoc, Smalltalk. Neats wrote lovely little things; scruffies wrote exciting big things. That’s changed in the last five years in the wake of Design Patterns and Refactoring, Agile, and the tiny methods style. Today, scruffies still write large, but those programs are made up of lots of tiny bits, bits that look like the work of the neats. And the neats, too, can suddenly find a place for their work in the middle of a Web of small, loosely joined pieces. Spuybroek sees this in The Sympathy of Things, but there’s really not the slightest hint of it here.

Cox and McLean fancy themselves members of a radical left that abjures corporate control and detests "neoliberalism". In practice, they've gone all the way back to Versailles, dressing up as working folk and holding working-folk tools and cherishing clever little jokes that display their leisure-class status and superiority to work.

April 23, 2013 01:02 PM

Hypertext Fiction: News at 11

Iain Pears has a new hypertext fiction coming this fall from Faber.

Steve Johnson (the FEED guy) has a piece in Wired about why hypertext fiction failed. He thinks it’s too hard, and that people promised too much. People always promise too much about a new technology, style, or movement — or at any rate you can always pretend they did. Bzzzz. Next contestant!

Mark Marino thinks he’s part of the answer. Or something like that. He asks me not to be mean to him, so I won’t. I’m too busy writing Storyspace 3 and Tinderbox 6 and putting the final touches on Web Science 13.

April 23, 2013 12:49 PM

Giles Bowkett

April 22, 2013

Dave Winer

Scripting News: Where's the app?

A picture named tr.gifIn the early days of the web, I remember (vaguely) marveling at the idea that I could put software in a machine that had a persistent connection and have it be accessible anywhere. This was great until I created something that became moderately popular and learned the wonders of scaling. And then I learned about ISPs who don't react well to outages. After all that it didn't seem so magical.

Today, almost 20 years later, we've pivoted to a new architecture and it's got me puzzled again, at times, looking one way then another trying to find the app, and not getting it right at first -- even though I wrote the app myself. Here's what's weird.

1. Because JavaScript has become such a powerful language that performs so well, you can literally put the code for an app in a web page. To install the app just visit the page. To update the app, reload. Amazingly simple.

2. But those apps have limited ability to store stuff. Little Outliner proved that even though there are limits, you can still create something useful that runs in the page, with absolutely nothing else. Every computer that runs a modern browser has decided that each virtual "site" can have a few megabytes of storage. That might not be a lot for movies or audio, but for outlines, it's plenty.

3. Enter Dropbox, and presumably Microsoft SkyDrive, Box.net and Google Drive as well, with APIs that add another dimension to what a modern web app can do. Now instead of a few megs of storage that can only be accessed locally, and can't be moved between computers, these services offer gigabytes of storage, and infinite mobility. The data moves as fluidly as the web itself. This coupled with in-browser JavaScript is enough to make a full-blown computer. The UI is handled by HTML. Logic by JS, and storage by the Box-Drives.

A user asked if Fargo could write to the local sub-folder of Dropbox even if he didn't have a net connection. I actually had to think for a moment. No, it can't. Think of the circuitous route the data goes through just to end up right back where it started. And think about all the efforts to sandbox web apps so they couldn't get at the local hard drive. That barrier is gone. Now we have to trust the Box-Drive folks to make sure the sandboxes they maintain are really solid. So far they seem to meet the challenge.

But we are, once again, in a strange new world. Maybe there are ways it will get weary and will break. But if there are, we don't know what they are yet. And for now, it's just a mysterious kind of fun. The gee-whiz factor is high again. ;-)

April 22, 2013 09:40 PM

Alex Schroeder

Raspberry Pi

http://farm9.staticflickr.com/8264/8668963053_8315a1de94_n.jpg

I got a Raspberry Pi from my employer. Nice! Installed Raspbian. Used HDMI to connect to the TV. That worked.

Note: I have a 2Gb and a 4Gb card and I want to give PiMAME a try (play arcade games using MAME), so I will need the 4Gb card for PiMAME. At the same time, I want to use Raspbian to play videos. That goes on the 2Gb card.

Connected Apple keyboard and mouse via USB. That caused repeating keys and all that. I read that the problem is a lack of power on the USB port. I could buy a USB hub as suggested.

One cable to rule them all. The cable modem is too far from the TV. Even if I did that, it would take my wireless network down. On my Mac Mini, I enabled sharing of my wireless connection with the ethernet (System Preferences → Sharing → Internet Sharing) and connected the Raspberry Pi to my Mac using an ordinary ethernet cable I had lying around. I was able to connect using ssh pi@192.168.2.3. You might have to guess the last digit?

Via ssh, I run sudo raspi-config and set it up: expand_rootfs, configure_keyboard, change_locale (choose de_CH.UTF8, pick en_GB.UTF8 as the default), set_timezone (Europe / Zurich), memory_split (64)… Maybe the memory split is already the default? I might have to switch on overclocking in the future in order to play games.

Following suggestions online, I wanted to get my Apple bluetooth keyboard working. First, I updated and upgraded my packages before doing anything: sudo apt-get update, sudo apt-get upgrade and sudo apt-get autoremove.

Note: Do all this while connected to the Raspberry Pi via ssh. You keyboard needs to be paired and all that before it will work stand-alone.

Next, bluetooth: sudo apt-get install bluetooth bluez-utils blueman. This installs a lot of stuff I probably won’t need. Oh well, I spent some time trying to sort through it and figured it wasn’t worth it. If you’re installing on a 2Gi card, you’re going to be running out of space real soon now:

pi@raspberrypi ~ $ df 
Filesystem     1K-blocks    Used Available Use% Mounted on
rootfs           1838936 1751248         0 100% /

Try sudo apt-get clean to make some space:

pi@raspberrypi ~ $ df 
Filesystem     1K-blocks    Used Available Use% Mounted on
rootfs           1838936 1567016    178880  90% /

In the end, this is how it should work:

pi@raspberrypi ~ $ lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
Bus 001 Device 004: ID 0a5c:200a Broadcom Corp. BCM2035 Bluetooth dongle

I guess the Bluetooth dongle has been recognized!

pi@raspberrypi ~ $ hcitool scan
Scanning ...
	E8:06:88:38:C6:2F	Apple Wireless Keyboard
	00:02:72:D4:E9:EA	DOC-PC

This was a bit more complicated:

pi@raspberrypi ~ $ sudo bluez-simple-agent hci0 E8:06:88:38:C6:2F
RequestPinCode (/org/bluez/5802/hci0/dev_E8_06_88_38_C6_2F)
Enter PIN Code: 0000
Release
New device (/org/bluez/5802/hci0/dev_E8_06_88_38_C6_2F)

Type 0000 RET on the Mac. Type 0000 RET on the keyboard. Not sure whether the “sudo” was required or not.

On we go:

pi@raspberrypi ~ $ sudo bluez-test-device trusted E8:06:88:38:C6:2F yes

Make sure the keyboard is “on” when you run the next step:

pi@raspberrypi ~ $ sudo bluez-test-input connect E8:06:88:38:C6:2F

Ok, time to give it a try… Remember that you’re probably using a British keyboard layout. The y key might be where your z is. This is important because the default password is raspberry ← note the y. Switch your keyboard layout: sudo dpkg-reconfigure keyboard-configuration has no effect? Try sudo vi /etc/defaults/keyboard:

XKBMODEL="apple"
XKBLAYOUT="ch"
XBKVARIANT=""
XKBOPTIONS="lv3:ralt_switch"
BACKSPACE="guess"

Unfortunately the option key still doesn’t work for simple things like []|{}. Sucks to be me!

For my Sony Bravia, I had to use the following in sudo vi /boot/config.txt:

disable_overscan=1
overscan_left=53
overscan_right=50
overscan_top=28
overscan_bottom=22

Don’t ask me why overscan is both disabled and its various parameters are set.

Copied various videos on to a USB Stick. Create a mountpoint using sudo mkdir /mnt/BIG_STICK and mount the drive using sudo mount -o uid=pi,gid=pi /dev/sda1 /mnt/BIG_STICK.

Play it using omxplayer /mnt/BIG_STICK/some_file.mp4 → it worked! :) ok

In order to avoid typing this every time, use ls -laF /dev/disk/by-uuid and note the uuid of the mounted stick. Then sudo vi /etc/fstab and start typing:

UUID=8805-CE39 /media/Cruzer8Gb vfat auto,users,rw,flush,utf8=1,uid=pi,gid=pi,dmask=002,fmask=113 0 0

But there was no sound! Well, there’s sound on the headphones out of the Raspberry Pi but no sound on the TV. I tried both HDMI inputs. I uncommented hdmi_drive=2 in the /boot/config.txt file. To no avail. When I tried aplay /usr/share/sounds/alsa/Front_Center.wav, however, it worked. Something about the .avi file, or about omxplayer isn’t working. Checking omxplayer --help I found the solution: omxplayer -o hdmi /media/Cruzer8Gb/some_file.mp4 → it worked! :) ok

A day later…

I wanted to sudo apt-get install libnss-mdns and install bonjour so that I can connect to it via raspberry.local instead of 192.168.2.3: sudo apt-get install libnss-mdns—but apparently it’s already installed!

alex@Pyrobombus ~$ ssh pi@raspberrypi.local
The authenticity of host 'raspberrypi.local (192.168.2.3)' can't be established.
RSA key fingerprint is 4e:e2:82:e5:e9:e5:5f:a9:b6:ac:53:f0:e2:3b:ac:c1.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'raspberrypi.local' (RSA) to the list of known hosts.
pi@raspberrypi.local's password: 
Linux raspberrypi 3.6.11+ #371 PREEMPT Thu Feb 7 16:31:35 GMT 2013 armv6l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon Apr 22 10:56:12 2013 from pyrobombus.local
pi@raspberrypi ~ $ 

Yay!

If you’re not using a Mac, you’ll need to install bonjour on your host system as well, I think.

Next I wanted to play a game using my Xbox USB controller (not necessarily the wireless variant). sudo apt-get install xboxdrv. Simply running sudo xboxdrv gave me gave me a lot of output. The driver must be working. ok The driver has a man page.

Tags: RSS

April 22, 2013 12:02 PM

Giles Bowkett

Blue Sky on Mars

The Conference Circuit

You're at a new conference, but the faces look the same.

The speakers all are familiar. The names? Few surprises. You're seeing the conference circuit at work.

Hedging Their Bet

This isn't some conspiracy. What you're seeing is simple: it's a hedge. Conference organizers like people who have given talks before.

The quality gulf between your first talk and your second talk is unnervingly large. You learn how to talk to a group of people. You discover how to stand on a stage. You micromanage an internal monologue while delivering an external monologue. During your first talk, the dumbest things — plugging your laptop in, drinking water, even breathing — are things to worry about, things that could cause a stumble.

They dissipate some by your second talk. By reaching your second talk, you're suddenly Accomplished: you have made it through at least one talk without dying or collapsing into a small ball of tears and embarrassment.

People who do this process over and over again are Very Accomplished. They're a known quantity. Someone who can Get Things Done, at least on stage.

Watching a bad talk at a conference can waste thirty minutes of your time. That's irritating. On a conference level, though, you're wasting thirty minutes of two hundred people's time. That's intimidating.

So they hedge. Organizers ask people who have done this before, and they hope to avoid disaster.

The Circuit

The Conference Circuit is a weird thing to be on. I flew around 200,000 miles last year to primarily give talks at conferences. It's exhausting, and it's a lot of fun. It's also really surreal sometimes.

People look up to you. Often, literally: you're on a stage, towering over tidy rows of folding chairs. Typically, metaphorically: you're the expert, you're flown in, you go to special speakers dinners. It's hard to not feel some feeling of superiority.

This isn't necessarily bad when it comes to your talk. It's helpful to feel like you have some special power over these people because holy fuck they're all looking at me why did I think I ever deserved to be up here in the first place holy bajeezus I should just duck behind this podium and maybe I can disappear in poof of nervousness. Anything that makes you feel confident in the face of this insecurity is a good thing.

The real trick is dropping the schtick after the talk. More often than not, the attendees know more than you do, and the speakers just happen to have some additional experiences in the small realm of their talk. Many times, people on The Conference Circuit can't drop the schtick: I've heard of plenty who only show for their talk session and ditch the rest of the conference like some conference prima donna. If that was a thing that existed, I mean.

Most speakers aren't magical; they're just prepared (and some not even that). It's not cause for some special elevated status.

Small and focused

So how do we address this problem of stale speakers? It's a problem that won't ever go away, but good conferences can help combat the tide.

  • Stories. Focus on stories rather than ideas. For one, ideas are harder to capture for first-time speakers: they're typically abstract concepts that are difficult to communicate unless you've thought about it a lot. But if you're just telling a story of a problem you've solved in your career, you're just regurgitating experiences. It's easier to deliver, and reduces the risk of a new speaker bombing on-stage.

    Hidden bonus: stories are typically far more captivating to listen to for an audience.

  • Discussions. For smaller conferences, breaking into groups of less than 50, ideally seated informally, can really change an experience. Have someone talk about their experiences for twenty minutes, and then have an informal discussion around the room for the next forty. In this format, the discussions are usually more fascinating than the talk, as each person contributing to the discussion can share their own experiences in that domain.

    Good moderation, of course, is crucial here.

  • Shorter talks. Speaking for twenty minutes is a wildly different experience than trying to fill an entire hour. Almost no technically-minded talk can keep a room full of people engaged for a full hour. Shorter, targeted talks get people focused on very specific problems, and they're simply more exciting.


These suggestions won't work for every conference, though. Larger conferences can't break up into small, intimate sessions. Abstract talks — which are just as important — don't lend themselves to stories as easily. Still, facilitating these types of interactions can really make your conference stand out.

There are a lot of great speakers out there. A lot of them haven't discovered it yet, though. There's nothing wrong with wanting to seeing our favorite speakers at conferences, but I'd love to discover even more new faces, too.

April 22, 2013 07:00 AM

Tim Ferriss

Announcements: Live Q&A Today, $10,000 Memory Challenge, Etc.

Hi All,

This post is simply a few time-sensitive announcements. More juicy content (really fun stuff) coming in the next post.

LIVE AND FREE Q&A TODAY! – 2 HOURS LONG, ASK ME ANYTHING

I’m doing a live two-hour Q&A session today — please join me!

Just go to this Facebook page, click “Like”, and ask me whatever you like. Here are the details:

Date: Today, April 22, Monday
Time: 4:30-6:30 PM EST (1:30-3:30 PM PST)

Where: This Facebook page

$10,000 MEMORY CHALLENGE RESULTS

The biggest memory competition ever held now has a winner. Co-created by me and Grand Master of Memory Ed Cooke, then announced on this blog, it challenged “ordinary” people to learn to memorize a pack of cards in less than a minute.

Irina Zayats, a 24 year-old Ukrainian woman, showed just how quickly a brain can be trained. Miss Zayats had no previous experience using memory techniques, but she learned to perform the gold standard of memory skills (memorizing a shuffled deck of cards) in just five days. In doing so, she won $10,000 and, to her surprise, a job offer from Memrise, the learning platform that ran the competition.

How did she do it? Here’s the full blog post, and an incredible video of her performance is below:

by Tim Ferriss at April 22, 2013 03:57 AM

April 21, 2013

Giles Bowkett

New Track On SoundCloud: "Willfully Obtuse"

It's a leftfield drum and bass track with an indie rock feel to it.



Probably very influenced (unintentionally) by this Diiv song.

by Giles Bowkett (noreply@blogger.com) at April 21, 2013 06:08 PM

Mark Bernstein

She Kills Monsters

Company One at the Boston Center for the Arts is staging She Kills Monsters, a nifty play by Qui Nguyen.

Agnes Evans (Paige Clark Perkinson) is a young but dull Ohio school teacher. Her parents and her geeky teenage sister Tilly (Jordan Clark – the actresses are sisters) died in a car crash. Cleaning out Tilly’s room, she comes across an obscure module that has something to do with D&D. She asks experts for help: what is this stuff? What does she want to do with it? Play it! And so Agnes the Ass-Hatted goes adventuring in her dead sister’s psychic wilderness.

She Kills Monsters
photo: Company One

This is clever: leaving an apologia in the form of a D&D adventure is crazy, but it’s just the sort of thing Tilly would do. The adventure leaves us plenty of room to play with identity (Tilly becomes Tillius the Paladin who does battle with, among other things, a pack of cheerleader succubi) alongside the redoubtable axe-wielding tank Lillith and the sveltely dangerous dark elf Kaliope. “Why don’t any of you know how to dress yourselves?” Agnes complains constantly about their improbable armor. She learns the answer, and much more.

April 21, 2013 09:54 AM

April 20, 2013

Mark Bernstein

Fine

A lot has been happening around here lately — especially Friday, where the Press Of The World was camped right down the street, tantalizingly out of reach. We’re safe and well.

April 20, 2013 08:55 AM

April 19, 2013

Dave Winer

Scripting News: Wish for WordPress and Tumblr.

I love that WordPress and Tumblr have APIs.

However, I wish their APIs were callable directly from JavaScript running in the browser.

As it stands now, unless I'm missing something, if I want to connect to either service from an app running in the browser, I have to run a proxy server that does nothing more than act as a gateway between my browser-based app and their server.

It would be incredibly helpful if they ran that endpoint. They already have to run a server since their apps are entirely server-based.

We're trying to keep server load to a minimum in Fargo. It's one thing to deploy a server that provides some visible functionality for users, but this is just getting around a limit in the browser.

Over time, more functionality can migrate to the "edge" computer. Smoothing out and optimizing the interface between the browser and the server will help move that process along.

Update: It looks like Tumblr has what we're looking for!

April 19, 2013 06:15 PM

Alex Schroeder

Hellebarden und Helme praktisch fertig

Hellebarden & Helme ist mein Hausregelndokument für meine Labyrinth Lord Runde und dient als Spielerhandbuch bis zur 5. Stufe. Die aktuelle Version hat – auf Wunsch von Claudia – nun auch wieder Diebe drinnen und sie hat auch einen einseitigen, dreispaltigen Index. Keine Ahnung, ob das wirklich nötig war für ca. 20 Regeln.

Tags: RSS RSS

April 19, 2013 03:30 PM

April 18, 2013

Alex Schroeder

Old School RPG Planet Updates

With Tenkar’s Swords & Wizardry Appreciation Day came a plethora of blogs I had never heard of. I’ve been adding new blogs furiously to the Old School RPG Planet. (A planet is a feed aggregator—it shows an extract of all the various blogs I added, like a public blog roll. This particular planet is controlled by a wiki page, so anybody can submit new blogs.)

If you’re looking for new blogs to add, take a look. Perhaps you’ll find a new blog you like? I know that some people from the “early days” said that they felt the Old School Renaissance was shrinking. My thinking at the time was that this is now what’s happening. What is happening is that some people drop out, stop blogging. If you don’t add the newcomers, those who start blogging, your impression will necessarily be that the OSR is shrinking. Not so! Look at the number of blogs that participated.

If you already follow the Old School RPG Planet, please let me know if I added some blogs by mistake. I think I checked each and every new feed I added. If a feed seemed mostly about video games, or anime, or miniatures, I didn’t add it. Most of the blogs that were listed on the Swords & Wizardry Appreciation Day post seemed to be very appropriate! Still, one never knows.

Let me know if you spot anything else that’s fishy. :)

And I'm only half way through! Phew!

Tags: RSS RSS

April 18, 2013 09:33 PM

Mark Bernstein

Are You My Mother?

Alison Bechdel’s childhood was difficult. All of them are. This long, profound, and beautifully-drawn comic explores the author’s relationship with her mother, and also with her several psychiatrists, three girlfriends, and Virginia Woolf. On the way, she engages the work of psychoanalyst Donald Winnicott with depth and sensitivity.

My father was an analyst. Almost anything about psychoanalytic theory will send me running for the exits, but somehow I found this work thoughtful and engaging and – for once – more focused on ideas than on theoretical fireworks. It’s also a relief that, through all the emotional discussions with mother and shrink, Alison’s sexuality is always taken as a fact, not something to be explained much less fixed. The book is technically masterful, especially when pulling two or three separate arguments across a series of panels without muddling them and without being bogged down in more allegory than the medium can bear.

April 18, 2013 07:55 PM

April 17, 2013

LoperOS

Bitcoin Adventures.


The Bitcoin Kill Switch is quite alive, well, and waiting to be pressed:

“I can’t assure with 100% certainty that the all the black dots are owned by Satoshi, but almost all are owned by a single entity, and that entity began mining right from block 1, and with the same performance as the genesis block. It can be identified by constant slope segments that occasionally restart. Also this entity is the only entity that has shown complete trust in Bitcoin, since it hasn’t spend any coins (as last as the eye can see). I estimate at eyesight that Satoshi fortune is around 1M Bitcoins, or 100M USD at current exchange rate. I’m sure there will be plenty of people that will carefully analyze the source data set and come up with the exact figure, which will be very close, but nevertheless they will scream at me again.”

BITSLOG: “The Well Deserved Fortune of Satoshi Nakamoto, Bitcoin creator, Visionary and Genius.”

How many U.S. dollars / bricks of cocaine / alpaca socks are there, in total, circulating in the Bitcoin economy?  How many of them does one man deserve to be able to vacuum up at his pleasure? Evidently, if you ask Bitcoin users: all of them, and then some…


In February, I wrote a review of a Bitcoin-based stock exchange:


A reader from Romania, one Mircea Popescu, asked me to try out his MPEx, a stock and futures exchange working entirely in Bitcoin.  He presented me with a free account [1] containing one bitcoin, operational from Dec. 21, 2012 to Feb. 5, 2013.

What exactly did I do with my demo account on MPEx?  I am afraid the answer is rather boring.  Given that a single bitcoin is rather short of what one might need as collateral funds in futures trading, I focused solely on stocks.  That is to say, I picked the two best-performing stocks on MPEx and bought a small quantity of each.  These were, unsurprisingly: MPOE (MPEx’s own stock) and DICE (Satoshi Dice, a kind of casino.)  In the end, I ended up with ~1.4 BTC.  Popescu’s service works exactly as described.

“A Review of MPEx, the Bitcoin Stock Exchange.”

Mr. Popescu’s company is still in business and doing rather well.  Though apparently not quite as well as before.

I admit that I’ve sometimes wondered who else might have been asked to review MPEx.

Behold, we have (one) answer:

I’ve lived my life so far without the vaguest idea as to who Scott Locklin might be. It turns out he’s an ex biker/factory worker who lately fancies himself some sort of financier, scientist and whatnot – practically speaking yet another Kludge. I don’t happen to particularly care, the world is full of people toiling under the burdens of unwarrantedly high self esteem.

Our paths on this Earth crossed about an hour ago, when my PR asked for permission to tell him off, which resulted in my review of their communication so far. It’s an amusing little adventure, which I’ll retell presently, but first allow me to give a little context.

To : Scott Locklin

Date: Thursday, December 20, 2012, 7:15 AM

Hi,

Would you be interested in publishing a review of MPEx, the Bitcoin securities exchange? Compensation is available. You wouldn’t be expected to write anything other than the truth.

Let me know.


Mircea Popescu: “How to fail – the Scott Locklin method.”

Looks like Locklin, an ex-physicist and occasional reader of this site, was also contacted by Popescu’s slave girl. [1] I am certain that he will be a bit surprised – and entertained – to learn that he had in fact spent his life toiling away in a factory.

The slave asked of Locklin the very same thing she asked of me, in the same words, and on the same day. And personally, I have no problem with reviewing various oddities, so long as the oddities are interesting. And, having experimented with Bitcoin in various ways (not involving spending money) since 2010, I had quite a bit of fun trying out MPEx and writing down my impressions thereof.

But it turned out that Locklin isn’t much of a Bitcoin enthusiast:

From : Scott Locklin

Date: Fri, Dec 21, 2012 at 3:00 AM

I’m not a huge fan of bit coin. Can’t think of any real purpose to trading them held in escrow. If you had exchanged backed contracts, it might be a different story, but it appears you don’t.

Bit coin escrow I do not care for I have to ask me, what’s it there for?


Mircea Popescu: “How to fail – the Scott Locklin method.”

Whether Locklin is an overall cryptocurrency skeptic, or simply isn’t ready for the Brave New World of trust-free electronic commerce, I cannot tell. But the fact remains: he wasn’t terribly interested in playing with Mr. Popescu’s service, except as part of his day job.

And, learning this, Popescu proceeded to reason from the assumption that Locklin is an idiot – which he isn’t. Instead he is a skeptic and a “zoological” hater of anything which stinks of trendiness, in much the same way I am. Were I not an amateur cryptographer with a fairly good mathematical understanding of Bitcoin and its technological implications, I am not certain that I would find it the least bit appealing. [2] Certainly not in its present state: that of being covered head-to-toe in trendoid piss.

One interesting detail is that Popescu is worth (by his own – quite believable – admission) around $200M (U.S.)  He sees himself as royalty, and truly does pity us poor buggers who work for a living:

Since we (by which I mean MPEx in this case) have a lot of money at our disposal, and since I’m one of those weird types who still believes money should be used to promote socially valuable projects (as the monthly MPEx reports do attest), I’ve ordered a number of fringe bloggers be approached with an offer to discuss MPEx and make a little change for their efforts. The idea is that poverty and unemployment in the anglophone world and the United States especially being at record highs, and centripetal forces in the anglophone world and the United States especially being at their strongest in many years, it may be salutary to give a little rope to those least apt to survive on their own, which is to say those outside of the corporate and governmental mesh which compose the emerging new socialism.


I’ve never reviewed the list, I’ve never reviewed the exchanges, I’ve never reviewed the results in any systematical manner. I simply never cared. This to my detriment, because lo and behold what sort of gems I’m missing out on…


Mircea Popescu: “How to fail – the Scott Locklin method.”


And so it turns out that the ~1.4 BTC I got from MPEx wasn’t quite equivalent to a free video card which a computer magazine might receive in exchange for a review.  It was really something else:

“The problem with this is, of course, that he [Locklin] wasn’t being offered money for his opinion. He was being offered money for charity. There is a difference, even if the aforementioned burdens of unwarrantedly high self esteem demand it not be recognised.


This would have normally been the end of it, my prominent position in the most important thing to happen since electricity (yes, Bitcoin is more important than the semiconductor) makes me the target to a lot of confused communication from a lot of confused individuals, which in ninety nine cases out of the hundred go exactly nowhere.”


Mircea Popescu: “How to fail – the Scott Locklin method.”

Make no mistake, I am rather fond of Popescu, whether or not he imagines himself a Napoleon; and I am glad that he lives. (How many people are there with whom one could have a conversation like this one?)  I don’t even believe, at the present time, that he is a scam artist, or even a potential scam artist.  In fact, I fully agree with this customer’s colorful comment:

“Shady ROMANIAN character opens up unregistered bitcoin options exchange (complete with HTML from 1993) on his personal website (which also hosts porn) and charges exorbitant fees just to join, while constantly accusing pretty much everyone else in the bitcoin community of being a scammer, and, along with his (possibly virtual) -PR lackey, acts like a loudmouthed douchebag … but apparently scams no one.” (yet?)  Thank you Mircea for your services to the bitcoin community and for apparently being an honest and trustworthy entrepreneurial businessman. (Making you perhaps the only honest and trustworthy Romanian I know.)”


(Quoted by) Mircea Popescu: “The Bitcoin Drama Timeline.”

But, my dear readers, I will have you know that today I sent back Mr. Popescu’s 1.41421096 BTC.  Not because I dislike him (even if I did, this alone would not be reason enough: pecunia non olet and all that) – and not because I like him – though I hold him in some esteem: he’s rather unlikely to notice an extra BTC or two.

Instead, I did it because I would like to teach a little something to the man who does not believe that anyone else (and certainly anyone not worth >=$200M) has anything left to teach him.  Popescu might have an atomic icebreaker, while I would then have only a rowboat.  But the rowboat does not need anything from the icebreaker.  Not everyone is a charity case [3], and not everyone who disagrees with a clever man is an illiterate idiot.


[1]  Mr. Popescu claims to own actual slaves. I’ll take his word for it.
[2]  People who claim to find Bitcoin interesting, while comparing it in any way to, say, Warcraft gold, aren’t thinking about Bitcoin at all, but rather some weird mental chimera of their own.
[3]  Yes, there is a BTC donation address on this page.  It is there on the off chance that someone is a wealthy oddball who wants to put serious money behind my ideas.  Stranger things have happened. This would be a truly insane thing to do: especially considering that any legal ownership of the results by the donor is permanently off the table. But I do not presently lack for money, food, FPGAs, luxuries, etc. – only free time.  Donations which cannot buy me free time (by freeing me from commercial work) will merit a “thank you” but will not bring the Loper architecture any closer to completion. At any rate, I no more expect such donations than I expect to find hundred-dollar bills on the asphalt. But I still refuse to ignore the asphalt entirely, perhaps out of childhood habit.

by Stanislav at April 17, 2013 09:13 PM

Mark Bernstein

A Map Of Tulsa

A reliable way to define the protagonist’s beloved is to give him or her no inner life. Adrienne Booker is beautiful and brilliant and loves to sing Mozart and Bach, the Beatles, and she makes loves to Jim Praley. This surprises and delights Jim, who has no idea what’s going on but who is not hard to please. A would-be poet without access to his own inner life, Jim makes a wonderful partner to Adrienne. They are young and attractive and the world is all before them. Of course, the world is mostly Tulsa.

April 17, 2013 05:02 PM

Dave Winer

Scripting News: Introducing Fargo!

Good morning!

When we started our new company, Small Picture, late last year, we set out to create the most powerful editing environment running entirely within a web browser.

We believed that HTML 5 is actually a richer environment that the desktop, because of its ability to network. With JavaScript, we could do everything we formerly did on the desktop. And you can install this software simply by visiting a web page.

But we didn't stop there. We hooked into Dropbox, the deeply transformative and open networked storage environment. Users don't have to export their data. No lock-in here. It's all sitting in a folder on their desktop (and tablet, smartphone, desktop, server, you name it).

Today, we're ready to unveil the full vision. It runs in any HTML 5-compatible browser, including Safari, Chrome, Internet Explorer 10, or Firefox.

The name of our new product is Fargo.

http://fargo.io/

And if you're still here, and reading, thank you. :-)

Here are the bullet points:

1. Fargo is a rich, networked text outliner.

2. You can use it as a notepad, todo list, to organize projects, narrate your work, for presentations, brainstorming, design, programming, specs. Investors use Fargo to organize deals, lawyers for cases, educators for course outlines, project leaders to organize the work of team members.

3. Fargo is deceptively simple. You edit documents within documents, nesting them and organizing to as many levels as you need. Reorganize structures with a single gesture. Expand to see the detail or zoom out to see the big picture.

4. Dropbox is brilliant and transformative. Coupled with the deep power of Fargo, you get a profoundly powerful work environment that goes everywhere.

5. You can share outlines with friends and co-workers, or publicly.

There's lots more info on the site, but most important -- please try the software. It's right there in your browser.

http://fargo.io/

This is the beginning of a journey. We plan to hook Fargo into everything. And because it uses an open document format, OPML, other developers can hook into the idea flow of Fargo users. The possibilities are endless.

If you've made it this far, thank you so much for your interest and please let me know if there are any questions, feature requests, etc.

Dave Winer, co-founder
Small Picture, Inc.

April 17, 2013 12:32 PM

Alex Schroeder

Swords & Wizardry

Swords & Wizardry Creative Guild In 2006, Greywulf was a user of Oddmuse, a piece of software I was maintaining. It’s still used to run this blog/wiki. Greywulf kept talking about D&D and eventually I started reading EN World. There, I discovered Greywulf had a huge thread going. He proposed a minimal variant to D&D 3.5 and called it M20 (original files). I loved it and ended up starting a campaign using it. (It later converted to D&D 3.5.)

In 2008, I came across M74 and discovered the “old school renaissance”. I learned about OD&D and its use of a d6 for hit-dice and weapon damage. I was intrigued and wrote M20 Hard Core. I also wrote a little random character creator for my rules variant.

Some blog posts from back then:

(You can get the source files from the Swords & Wizardry download page.)

I was very impressed by Ruins & Ronin. If you check out the Sword+1 blog, you’ll find lots of R&R character classes for download in the sidebar. It really was an eye opener for me. Anything can be turned into a class! This is Do It Yourself D&D!

These days, I still play Labyrinth Lord. It was my first retro-clone. It didn’t have weird elves. I ended up liking race-as-class. As you can see from the list above, however, OD&D and Swords & Wizardry have been an important part of the journey. And I absolutely loved the Peter Mullen covers!

Today is Swords & Wizardry Appreciation Day Blogfest! Follow the link and find a list of more than 100 other blogs writing about S&W.

Tags: RSS RSS

April 17, 2013 08:21 AM

April 16, 2013

Dave Winer

Scripting News: Rollout of http://fargo.io/ postponed.

We had planned to introduce a new product yesterday, around the time of the tragic explosions in Boston. Of course we postponed the announcement. I'm sure marketers all over the country faced a similar decision, and today are evaluating what to do.

The best approach to us seems to wait a couple of days and see where we're at.

However, in the meantime, we have users waiting for the new stuff. So we decided to quietly give our closest users and friends a chance to preview the product, report on any problems, and in the meantime we can fix bugs and prepare for a formal announcement later this week.

So, without fanfare: http://fargo.io/ is the new outliner from Small Picture.

In the right margin of the app are links to docs and a press guide.

If you have questions, you can post them here or on the Q&A page for the product, or on the support mail list.

We'll be back with more news later in the week.

April 16, 2013 03:08 PM

Tim Ferriss

How a First-Time Author Got a 7-Figure Book Deal

 

John Roman Romaniello
This man was paid $1,000,000+ for a book…and he’s dressed like a cow. Pic from a 4-Hour Chef sidebar that sadly had to be cut due to space constraints.

[This is a companion post to "How to (Really) Make $1,000,000 Selling E-Books – Real-World Case Studies"]

This guest post by John Romaniello will explain exactly how a first-time author can get a 7-figure book advance, as he did. He’ll also explain how he got Arnold Schwarzenegger to write the foreword to his book (!!!), which you can read here.

This post demonstrates how to sell yourself effectively and–more importantly–how to be yourself effectively.  I’ve added my own recommendations in brackets after “TIM”.  In a few instances, I’ve also corroborated specifics (e.g. dollar amounts mid-negotiation) from sources other than John, as he rightly didn’t want to earn bad blood.

Before we get started, a few statistics:

  • Less than 6% of all reported deals get an advance of more than $100k (as of 2011, and it’s gone down since)
  • On average, fewer than 100 Hardcover Nonfiction Bestsellers in any year sell more than 100,000 copies, and usually only one or two top 1 million sold.

In 2009, John “Roman” Romaniello might have been another casualty of these sobering stats. He launched his blog in 2009 with 0 readers.  Roman had effectively no Internet presence. By 2011, he was ranked as one of the top 100 most influential people in health & fitness, sharing space with Jillian Michaels and Dr. Oz.  He used that platform to help him build a company that has grossed as much as $240,000+ per month, with a six-figure net.  We’ll cover a lot of how he did all this and more.

But here’s the punchline: Roman’s first book deal for Man 2.0: Engineering the Alpha (with a co-author, much more on this later) fetched more than $1,000,000 in advance.  

This is practically unheard of, unless you’re a president. So, how did he do it? This post explores the answers and tactics…

Enter Roman

There’s a scene in the Adam Sandler film Happy Gilmore that could help you discover—as I did—“the secret” to landing a 7-figure book deal.

At the final hole of the final tournament in the movie—the one that the titular character has to win to save his grandmother’s house—Happy needs to sink his final putt to beat his nemesis, Shooter McGavin, by a single stroke and win the day. (Trust me, this is going somewhere.)

Suddenly, a large camera tower (previously damaged by one of Shooter’s henchmen) falls onto the green, blocking Happy’s shot. The rule is play it as it lays, meaning Happy needs to putt (uh oh). He’s advised to putt around the tower, sinking his ball in two strokes and bringing about a tie. This would extend the tournament into sudden death. Gilmore, briefly considers the idea and then decides, “Nah, I’ll just beat him now.”

Without completely spoiling the beauty of the putt, Happy makes the shot and wins the tournament. Before I share what this has to do with landing a major publishing deal, I want to touch on another story that’s equally important.

We’ve all heard about how The 4-Hour Workweek was turned down by 26 out of 27 publishers. It went on to be a runaway success, hit #1 on the New York Times bestseller list, and launched Tim’s brand.

Tim went on to have two more bestsellers using the same formula from his first go-round. And I knew that if we did things the right way, we could come close to replicating it.

Which leads us back to Happy Gilmore. My publishing philosophy was direct: I’d rather just win now.

First, I partnered with a co-author.  There are many good reasons for this, which I’ll explain later, but here’s the short version: I specifically sought out Adam Bornstein.

Roughly 4 years ago, Adam Bornstein was an editor at Men’s Health making $30,000 a year. He positioned himself as the editor’s editor, and was poached by LIVESTRONG.com. They moved him from Pennsylvania to Santa Monica, and increased his salary by a factor of five. He built his network there, and increased LS.com’s traffic by nearly 300% in 18 months. During a 12-month period, he also tripled the open rate of newsletters (from 10% to 30%) and increased click-through rate (CTR) to 60%. This is impressive for a list of any size, but practically unheard of for a list of nearly 2 million people.  Adam now commands 5-figures a day as a business consultant for web traffic, conversions, and monetization of content.

Clearly, he was the perfect partner for a plethora of reasons.

Adam had previously written several books, all of them published by his former employer, Men’s Health‘s parent company Rodale, for advances of around $20,000-$40,000. Those advances are nothing to sneeze at, and are absolutely in line with the advances typically offered by big publishing companies.  This time around, we modeled Tim’s success (skipping the getting turned down 26 times part), added our own flair, and came out swinging.

The first publisher we met with offered us a $400,000 “preempt” (preemptive offer).  This is an “exploding offer” that you have a short time to consider and that usually prevents you from meeting with other publishers. We considered it but decided to turn it down. (We’ll cover the “why” of both events later on in this post.)

The gambit (and gamble) paid off. Our proposal — and, I have to imagine, our refusal of the preempt — made quite a splash. Publishers who hadn’t seemed interested the week before suddenly clamored to set up meetings. In the end, the proposal went to auction, and was eventually acquired by HarperOne for a “major deal.” This is part of the secret language that publishing insiders use to communicate the size of a deal to each other without having to specify a dollar amount to outsiders. I’m not big on secret languages, so let’s translate it: we inked a 7-figure, 2-book deal, an impressive feat, especially in the fitness industry where great offers normally net $50,000-$100,000 for their first foray into the world of traditional publishing.

If I may quote Tim, I say none of this to impress you, but rather to impress upon you what is possible.

The goal of this post is to give you a complete insider’s look into exactly how and why my co-author and I were offered a deal valued at roughly 10-20X the average—and how this is a replicable achievement, in nearly any industry. How anyone can become a millionaire author; how, with the right proposal that highlights their skills in the right way, anyone can pull a Happy Gilmore, and just win now.

Below, you’ll find an account of exactly how Adam and I approached both the writing of our proposal and the pitching of it, complete with the detailed examples we presented to our publisher. You’ll learn about the process itself, how to manage expectations and outcomes, and, in short, how you can (potentially) get a 7-figure advance as a first-time author.

Others have done it, we did it, and there are lessons you can borrow. There are techniques you can copy.

The Proposal Process

NO PUBLICATION WITHOUT REPRESENTATION

First thing’s first: All book deals—at least the type that don’t revolve around tell-all stories by famous people—depend on the strength of your book proposal.

There are many conflicting opinions on the best way to go about writing a proposal. My suggestion? Don’t start with writing. First, hire a really good agent. Book agents write and sell proposals for a living, and have dozens of proposals crossing their desk every week. They see what works and what doesn’t. The insight of a good agent will be invaluable, and so the obvious recommendation is to join forces with a pro, and write together.

[TIM: Finding a good agent seems mysterious, so I'll suggest one effective method. Look at the "Acknowledgments" of authors you like, then look up those agents' contact information on Publisher's Marketplace, where you can also look at their sales track record.]

Of course, you can operate without an agent, write your proposal, and set up meetings with a publisher on your own. This, to me, seems unwise; agents know how to deal with publishers, and they know how to make deals. I’m only speculating here, but it’s probable that if you don’t have an agent, you’re not going to be taken as seriously—meaning you won’t get nearly as many meetings. A great piece of advice came from Gary Vaynerchuk, which I’ll pass on to you: “partner with a good agency that has had success with multiple books in your niche.” (That advice, by the way, holds true for selecting a publishing house.)

[TIM:  I can sell books without an agent, so why do I still have one?  I gladly pay 15% to my agent to fight battles after the book is sold (editorial, covers, distribution, etc.), not simply to sell books on the front end.  Not everyone agrees with this, such as multiple-time NYT bestselling author Tucker Max, who operates independently.  See "How Tucker Max Got Rejected by Publishing and Still Hit #1 New York Times" for more on his approach.]

As to how to find the right agent, it’s like dating: there are a lot of ways to do it. You can either be introduced, or go out of your way to find a date (by which I mean calling the agency to set up an appointment to pitch your idea). And, like relationships of any kind, sometimes they happen serendipitously: for example, I met my agent, the incomparable Scott Hoffman, at Tim’s Opening the Kimono event in 2011. Scott and I got to talking, and topics ranged from fitness to bourbon to life in NYC. He liked my book idea, we got a good vibe from one another, and, strangely, it turns out his agency’s office was three blocks from my apartment. And just like that, we were in business.

[TIM: I was introduced to my agent, Steve Hanselman, by Jack Canfield (co-creator of Chicken Soup for the Soul), who had Steve as an editor.]

When it comes to finding an agent, there’s one piece of advice I feel confident giving you: only sign with someone who believes in your project as much as you do.

 

UNDERSTANDING THE PROPOSAL

One of the best pieces of advice I’ve ever been given was from Tim, at his Kimono event in 2011. During his presentation, he stressed thinking of your proposal like a business plan—because, really, that’s what it is. And as a business plan, it will need to have a strong focus on how the business is going to make money.

Think of your prospective publisher like a bank; you’re a small business seeking a loan. In such a situation, you’d be asked about your business and what sets it apart, of course—but I assure you that bank would be far more interested in your projections for making money. The size of the loan—and, indeed, whether you even get—is predicated on the bank’s confidence that they’ll get their money back. If your business fails, that isn’t going to happen.

When a publisher considers the acquisition of a proposal, they need to appraise not only the idea itself, but also the salability of the idea, as well as the business acumen and marketing skill of the author. The long and short of it is that your proposal serves two purposes: to sell the idea, and explain how publishers will recoup their investment. The more time you spend on the latter piece, the easier it will be to do the former.

A good rule of thumb is that at least 50% of your proposal should focus on the business stuff (including marketing plan, previous successes, proof of concept, and details of your platform), and the rest should be devoted to the idea itself.

[TIM:  It's not a bad idea to learn how successful start-ups pitch venture capitalists ("VCs").  They are even more comparable to publishers than banks.  See examples here and here.  Also see Author 101: Bestselling Book Proposals. Roman's agent Scott also added a few thoughts to proper positioning. Note the language; you have to learn to "talk the talk" (use familiar frameworks/terms) to sell effectively:

"People buy nonfiction books for four main reasons: 1) To solve a problem they know they have; 2) To take advantage of an opportunity they believe exists; 3) To learn more about a subject they're fascinated by; or 4) To live vicariously through the lives of other people. Man 2.0: Engineering the Alpha fits all four of these categories. That's one of the things publishers found most attractive about it. Movie producers are constantly looking for a "four quadrant" film--one that appeals to men and women, and people over and under 25."]

 

SETTING YOURSELF APART

As we get into the nitty-gritty of actually writing your proposal, the first thing I’d like to stress is the importance of separating yourself from everyone else. In any niche, most people at the top are offering similar services and similar results, even if the methodology differs. What customers or readers react to and how they decide what to invest in is not based on the 99% of what we have in common, but the 1% that makes us different.

To use myself as an example, people follow me because I’m Alpha–unapologetically me, unafraid to offend people or be polarizing. I’m not shy about talking about sex or dropping F-bombs, or waxing poetic about Dungeons & Dragons and comic books. Those things aren’t necessarily unique to me, but taken all together they do make me a rarity in the fitness space; muscle-bound über-nerds are not common, and in an industry where everyone can seem vanilla, it stands out.

Here’s how this is relevant to you: you need to realize that publishers are customers, and they react to they same triggers as everyone else. Like any customer, they make a purchase because of the promise of immediate benefit or the threat of missing out.

And remember that, in a very real way, publishers aren’t buying just the idea.  They’re buying your “platform” (blog readers, Twitter followers, Facebook fans, etc.). Remember this term and use it.

A great example of this is Tucker Max: he had a very large and very responsive audience, and so his first book, I Hope They Serve Beer in Hell, was acquired in a noteworthy deal: despite the fact that much of the content in the book was available for free on his website, Citadel Press chose not only to publish the book, but also give him a modest advance. These decisions were based on Tucker’s assumed ability to move units. It turned out to be a good move for the publisher, as the book eventually hit #1 on the New York Times best-seller list.

The lesson: the importance of your platform cannot be overstated, for both the sale of the proposal and sales of the book itself. Highlight it repeatedly in your draft.

[TIM: But what if you don't have a platform?!  You can build a world-class platform quickly if you mimic people who've done it already. Here's how to create a global phenomenon for less than $10,000, step by step.]

On Credibility and the Metrics of Awesomeness

When it comes to standing out from the crowd, establishing your credibility early on is important; now that you got the publishers attention by being different, you need to drive home the fact that you’re better. There are 4 primary ways to prove credibility:

Credibility Method #1: Established influencer

Our proposal highlighted these things dramatically, focusing mostly on the below. Don’t be intimidated. I’ll explain how I achieved the most important bullets in this post:

  • I’ve been published in both fitness and tech magazines (crossing industries), including Men’s Health, Men’s Fitness, Fast Company, T-Nation, SHAPE, Oxygen, yadda yadda yadda.
  • I’m a blogger on a few high traffic sites (most notably LIVESTRONG and HuffPo),
  • I’ve trained professional athletes and a few celebrities,
  • I’ve had several successful information products (more on this below),
  • I’ve been featured on TV a few times,
  • I serve on the advisory board of more than a dozen fitness and tech companies,
  • I’m the lead fitness advisor for Arnold Schwarzenegger.  How this happened is explained below.

As an added feather in the cap, it didn’t hurt that I was featured in both The 4-Hour Chef (Vermonster section), and the teaser app for the book (iOS, Android/Kindle Fire) that was released during the holidays.

 

Credibility Method #2: Media Reach

We also focused on the fact that between my co-author and myself, we’d have a dual platform. Adam served as the fitness editor of Men’s Health, and then the Editorial Director of LIVESTRONG.com. His network is more extensive than my own, and includes editors from every magazine in our niche, as well as actors and professional athletes he met working in various publications. We used this to prove how many eyeballs we could reach in print and digital media, which was a very valuable asset. (More on this later)

 

Credibility Method #3: Third-Party Endorsement

You can also “borrow” someone else’s credibility, with an endorsement of some kind from people better known than you.

Our proposal had quotes from a few big name people in the industry; the most notable of these was Arnold Schwarzenegger—and when you’ve got the Terminator on your side, it grabs publishers’ attention. In that specific case, it lent a lot more weight to our implication (not promise) that we could get Arnold to write the foreword to the book—and, thankfully, we delivered, as the Gov was happy to write a few pages for us.

For those interested, here’s how my association with Arnold came to be: about two years ago, I got this email from a young guy named Daniel (hit Cmd and “+” to enlarge):

Roman Email

After a few email exchanges over the course of a week, I decided, in a moment of idle curiosity, to Google him.

The first result that came back was his Twitter account; the second was the Wikipedia page for the term “Body Man.” I learned two things reading that page: the first was that a body man is a politician’s closest personal assistant, who travels with said politician and generally provides whatever is necessary. The second was that my pen pal with all the great questions was listed under “notable body men” –as one of the special assistants to Arnold Schwarzenegger.

[TIM: The "body man" connection is powerful. Here's how a few 20-somethings networked with Obama's body man to play basketball with the President.]

Whoa…

Daniel was going to receive priority email response going forward. I didn’t think anything was going to come of our interaction, but as a meathead, it was just cool to be talking with someone who had such intimate access to the Oak. After a month or so of communication, he signed up for my coaching program (essentially, online personal training delivered by email). Daniel became a client—and a great one, at that—and we began to build a friendship.

During our time working together, he’d be traveling with Arnold, and they’d be in the gym together; occasionally, Arnold would jump in and do his workouts with him. One of the most surreal moments of my life was when I got an email from Daniel after a chest workout saying that “the Boss” was curious about why I’d selected a squeeze press instead of a traditional DB fly, and asking how to explain the workout to him. In essence, I was being asked to justify and explain the design of a chest workout to the man with arguably the greatest chest development in the history of chests. No pressure.

Anyway, the upshot is that Daniel came to rely on me as the primary source of fitness information, as well as someone who had a good read on the pulse of the industry. When Arnie finished his final term as governor, he decided he wanted to get back into the fitness game, and re-launch his website with some high quality fitness content—but of course, he wasn’t going to be writing all of it himself. Given my relationship with Daniel, and his relationship with Arnold (who, I came to learn, liked my fitness content quite a bit), I was the logical choice to start contributing to the site. That evolved into recruiting other experts and writers to the site, and the eventual formation of Arnold’s Fitness Advisory Board. My co-author Adam and I lead the advisory board, and help out with the site quite a bit—which put us in a pretty good position to ask Arnold to write the foreword and feel confident that it would at least be considered.

The lesson I learned here was that the Internet is as small as it is big. You never know who’s listening, and relationships can be built from the simplest communications.  Google names.

 

Credibility Method #4: Strategic Partnership or Platform

You also have the option of creating a partnership, as I did with Adam. Although I’m a fine writer and expert, this was my first book, and that’s bound to give some publishers pause.  Who knew if I’d finish the damn thing? In contrast, Adam had written four books previously, and is one of the respected fitness authors in the world. In addition to making the book better than I could have on my own, I knew having a veteran author on board made the publishers feel at ease. If you decide to partner with another writer (as a co-author or even a ghost writer), the obvious choice is to work with someone who will make the project better, and who brings assets to the table that you do not.

[TIM:  This is just like finding a co-founder or CEO before seeking VC funding. You'll get better pricing and better terms.]

Keep in mind that publishers are primarily interested in selling books. If publishers see that you have a relationship with magazines and TV shows, they feel more confident in your ability to get press for the book, and make sales. Done correctly, it will lead to them giving you more money.

 

Substance: Sizzle is Nice, Steak is Better

To this point, I’ve discussed a lot of the general aspects of how to make your proposal stand out—but, of course, marketing is pretty pointless unless you have something to market. Which is to say, you need to actually have a good idea.

[TIM: Put another way, you can use marketing to hit the bestseller lists or Amazon top-100 for one week, but you need a good product (and distribution) to stay there. The word-of-mouth verdict in a digital age comes quickly.]

“Positioning” the idea is hugely important.  It helps define the lens through which both prospective publishers and readers view the book. In the literary world, it’s common to take two well-known books or people and have them “meet” to describe your concept. For example, The 4-Hour Chef could be described, conceptually, as The Joy of Cooking meets Zen and the Art of Motorcycle Maintenance. This works for authors as well as books: “If you crossed Jason Bourne with Julia Child, you’d end up with Tim Ferriss.”  That was one of Tim’s cover quotes for 4HC.

See how well that works? Just take two things that most people know about, each of which relates to your idea in someway, and sandwich them together in a way that immediately creates context.

For us, it was “The 4-Hour Body meets The Hero With a Thousand Faces with a dash of Fight Club.” This immediately helps people understand what your idea is, or at least how to frame it, before you even begin.

[TIM:  Pro tip: Have your agent check Nielsen BookScan to ensure the titles you use don't suck from a tallied sales perspective. Rest assured that curious editors will do this, so you should do it first.]

 

A BIG PROBLEM = A GREAT IDEA

Once you have identified the personality of your book, you must identify why the book needs to be written. When you’re writing a book with a service approach (like a fitness book) your best bet for landing a big deal is making sure your content solves a problem with mass appeal. Adam made it clear that one of the greatest lessons he ever learned was from billionaire Mark Cuban. Cuban firmly believed that the reason so many businesses fail is because they never truly address or identify a real, specific problem. And no, saying “people are fat” is not specific enough. Once identified, the goal is to fix that problem in ways that currently don’t exist or suggesting something more efficient or effective.

As an editor, Adam had seen the typical fitness book approach. And as a voracious reader, I knew that most fitness books all read the same and few every stray from the typical information. That is, you might find different workouts or diets, but fitness books are formulaic. And more importantly, they all address symptoms and rarely search for underlying problems. Books like The Omnivore’s Dilemma or Born to Run—both best sellers—didn’t fall prey to the approach of 99 percent of all health and fitness books. They were innovative and sought to understand why problems exist; from that launching point, the authors then attacked the problem at its foundation.

We took the same approach and started with the big picture: What problems plagues men the most? We made lists of issues in an attempt to filter our specific approach. Our list ranged from fat loss and muscle gain (obvious choices), to dwindling sex life, stress, lack of success, unfulfilled potential, and not “feeling like the man.” From there we created charts and tried to determine the various causes of these problems. Obviously, there were many unrelated concepts. But after we mapped out all the issues, there was one common denominator: Hormones.

We started with testosterone, but also looked at others, such as growth hormone, insulin, cortisol, leptin, and ghrelin. Once we began to investigate hormone levels in men, everything became clear and our foundational idea was established.

Men are becoming less manly. That’s not an opinion; it’s a scientific fact. It’s so bad that researchers from Massachusetts found that the average man’s testosterone (not just older men) has dropped 22% in the last 20 years. And ¼ men have below “normal” range testosterone.

 

MAKE IT PERSONAL

[TIM: I asked Roman to add a bit more personal backstory to this post, as I think it can make or break a book (it's described in his book). As my agent has said, "First, the message, then the movement."  Making a book personal is the best way to build a category killer in prescriptive nonfiction...Roman's going from his own problem to the wider societal issue will be the ground on which the book fails or succeeds.  If people connect with that message, as they did with 4HWW or Will Bowen's in A Complaint-Free World, it will be a long-running bestseller, and one that might travel around the world too. Now, back to Roman...]

The hormone angle wasn’t just number crunching or market research for me. It was intensely personal.

Here’s an abridged version of the story: I was 25-years old and had spent the majority of my adolescent and young adult life as a very sexual being. Like most young guys, to an extent, I defined myself by my aspects of sexuality—virility, desirability, performance… every part. And then one day, it was gone.

My lack of sex drive infiltrated every area of my life; it affected my assessment of my manhood, which crushed my confidence. Sex drive is strongly tied to all drive. When it drops, so too does your ambition, and your motivation to achieve. I suffered from depression and barely slept. My physique went to hell, and I just couldn’t muster up the energy to fix it. Without exaggeration, ever part of my life was negatively affected: my relationships, my sleep patterns, my body, and even my mind, as productivity and business were all hampered.

In short, I suffered all of symptoms of low testosterone, as well as the consequences of those symptoms. The worst part of it all was that, since I was so young, it never occurred to me to consider testosterone as a cause. That was a problem for the older men, or so I thought. So, I’d become a different person, a lesser man, all seemingly without reason.

Eventually, I spoke to a friend of mine who was a disciple of Charles Poliquin, a Canadian strength coach and hormone expert. Based on my symptoms, my friend suggested I get my testosterone levels checked. They were low–not incredibly low, but right around the level where, according to research, the trouble begins. Despite having tests confirm my suspicions, I couldn’t fix it medically. Because the range of “average” is so vast, I was low enough to be experiencing negative effects, but not low enough to qualify for treatment. I had to take matters into my own hands.

Thus began my research, and my journey down the rabbit hole. I read everything I could find, and came to realize that this wasn’t just an issue facing “older guys”–it was happening to men in their 20’s. The more I researched, the scarier it became–things that reduce testosterone pervade our lives. Plastics. Shampoos. Beer. Things we all use, every day.

Over the course of the next several months, I dove into all the literature I could find and started making a lifestyle overhaul. I doubled my intake of saturated fat. I used high doses of fish oil. I cut carbohydrate intake to virtually 0 for close to two months. I was draconian about the times I went to bed and woke up.

My sex drive returned rather rapidly. In 6 weeks, I felt different. After 12, I got tested again, and my testosterone levels had literally doubled–doubled! I was productive again. I started dating. I reclaimed my physique and liked the way I looked again. I felt alive again.

From my perspective, the book had to be written. As a side-effect, the book would also contain a personal narrative that would make the science easy to digest.

 

The Business of Business Plans

OUTLINE YOUR PLATFORM (AND YOUR PLAN)

Probably the single most important question a publisher needs to answer about a prospective author is, “can s/he sell books?” Their number one priority is making sales; or, since you’ll be dealing with the acquisitions department, making purchases that will eventually make sales.

At the risk of stating the obvious, famous people make more money than non-famous people. If you’re not quite sold, consider the advances celebrities get for their books; Lena Dunham’s highly publicized advance of $3.5M is nothing compared to the $15M deal Bill Clinton got in 2004. It’s very simple math: Bill Clinton is far more famous than Lena Dunham—or, to use marketing parlance, has an far larger platform—and therefore got far more money.

These things don’t just apply to celebrities, of course; they apply to you. The more “famous” you are, both in general, and specifically in your industry, the more desirable you are to a publisher. Fortunately, in the age of social media, you can be micro-famous and quantify your influence. Whether on Klout or Quantcast, Facebook or Twitter, the numbers are right there in front of you.

[TIM:  If you're still relatively unknown, don't despair.  Getting national media can be easy -- here's a step-by-step guide with real-world examples from Wired Magazine to Dr. Oz.]

Using our deal as an example, to demonstrate that we had an impressive platform from which we could sell books, Adam and I simply laid out our numbers for them. That looked a little something like this:

Romaniello:

  • 51,000 newsletter subscribers (now 65,000). Of those subscribers, 18,000+ were customers. Of those customers, 16,000+ were people who had bought products twice or more.
  • 9,000+ Facebook fans (now 16,000)
  • 5,000+ Twitter followers (now 8,000)
  • ~10,000 hits per day to main website (now ~12,000)

For his part, Adam’s effective control of LIVESTRONG certainly helped—he was able to show the success metrics of their newsletters, and guarantee placement in it. (Note: Adam has since stepped down from his position as Editorial Director and now serves as Editor-at-Large.)

Bornstein:

  • 3,000 newsletter subscribers (now 6,000)
  • 5,000 Facebook fans (now 7,500)
  • 29,000 Twitter followers (now 35,000)
  • Control of the LIVESTRONG.com newsletter list of 1.5M subscribers
  • Control of all content on LIVESTRONG.com, getting 40M unique visitors per month

While our social media numbers aren’t staggering, they’re still enough to move the needle.

Our fan bases are very engaged, and tend to take action quickly. More to the point, my newsletter list—the lifeblood of my business—isn’t huge by Internet marketing standards, but generates high-5- to low-six figures per month. In other words, I have three years worth of data quantifying my ability to sell. Given that the products I create are generally priced at $47-$97, it wasn’t overly difficult for prospective publishers to imagine that we could sell a $16 hardcover book to our audiences.

Your platform isn’t quite everything, but it’s extremely important; the more time you spend developing it, the easier it will be to leverage. Publishers look for this, and are willing to invest quite in it.

As to how to build a platform, or increase your existing platform: I’m certainly not the expert, and I’ve learned a lot from watching the bigger guys and asking questions. My main plan of attack has always been, “just say enough random, funny shit on your blog, and people will either love you or hate you for it.” It’s worked out well; as I alluded to earlier, being me is what’s allowed me to build my platform.

Having said that, there are a few tips that I’ve learned. Most of these come from Gary Vaynerchuk, who is full of wisdom that he dispenses between sets of push-ups during our training sessions.

  • Makes declarative, absolute statements. These get retweeted more than questions or links or pieces of content. Gary told me, “you can literally take any message from a fortune cookie and people will retweet it; absolute statements make people feel like they’re passing on a strong message.” Seriously. Fortune cookies are better than content? I’ve tested this. It’s frightening how true it is.
  • Use hashtags. Getting new Twitter/Instagram followers is all about getting in front of new people. There are a few ways to do that, but the simplest is hashtagging; anyone who is searching through hashtags is actively looking to follow and interact with new people.

One thing that’s well known about Gary is his belief in being hyper-responsive; that’s his shtick–respond to every email, tweet, etc. This is very helpful, particularly when you first start out, and it’s a strategy that I used with great success. As your success and platform builds, you may find that you’re too busy to do that.

Sci-Fi author Neil Gaiman touched on this in a commencement speech at the University of the Arts in May, 2012. He said, “[…]the biggest problem of success is that the world conspires to stop you doing the thing that you do, because you are successful. There was a day when I looked up and realized that I had become someone who professionally replied to email, and who wrote as a hobby. I started answering fewer emails, and was relieved to find I was writing much more.”

I’ve taken that to heart, and currently, I respond to email as often as I can, but I probably only get to about 10% of what I receive.

 

“YOUR NETWORK IS YOUR NET WORTH”

This is a quote of Tim’s, once again from his Opening the Kimono event in Napa.

Writing a book proposal is one of the few times when being a name dropper makes you look desirable instead of douchey. Part of you platform is whom you know—and more importantly, who’ll promote you. If you have relationships with other industry leaders, outline them.

Because of our relationships with the editors at various magazines and websites, we were able to guarantee placement in the following places:

  • Men’s Health
  • Men’s Fitness
  • Muscle & Fitness
  • LIVESTRONG.COM
  • HuffPo
  • AskMen
  • STACK
  • Yahoo
  • Bodybuilding.com
  • Greatist.com

There are several dozen more outlets that were part of the list showing that we could reach 70 million impressions. And for a publisher, that is value with big dollar signs.

This, of course, begs the question: how does one go about guaranteeing placement in magazines and on sites? How could we make absolutely certain? Simply put, the editors of many of these magazines owed me a few favors—because I saw to it by making their lives easier.

One thing I’ve learned writing for magazines is that editors experience the same stress as any blogger: they need content, they need it now, and it has to be good. They’re always on the lookout for new writers, but the bread-and-butter of any magazine are the established experts. The experienced experts make things easier on both the editors and fact checkers, as they know how to write in the voice of the publication, and generally site sources up front. The problem is experienced and established generally translate to expensive—and too that can strain the budget of a magazine. This is the problem that editors deal with every month; I made it my goal to solve it.

My primary way of doing this was to stop accepting payment for articles.

Starting about 8-9 months out from the publication of the book, I told the editors of most of the major magazines that I wanted to contribute to the magazine as much, but I understood that my involvement could get expensive, given my asking price for an article ($1000-$3000, depending on length). I decided to generate a lot of content gratis. Sometimes, this meant I would contribute a full article for free; I did this with Men’s Fitness. Other times, I’d let editors to email me questions about a prospective article–I’d give full content and then allow them to quote me as an expert, rather than giving me a byline; this was my primary method with Men’s Health. Still others, I’d allow a website to simply re-publish articles from my blog for free; I did this a lot with AskMen.

If you’re looking for a single tip to guarantee placement, the most useful is this: always have people owe you more favors than you owe them. (Hat tip to Tucker Max for that particular phrasing.)

[TIM: On a related note, Roman's now A-list agent Scott also got his start by offering to work for free:

"I go to conferences and see writers obsess about whether their query letters should be in Helvetica or Times New Roman. Do you know how many of my most successful authors of the past four years have found me through a query letter? Zero. If you don't know what to do at any given step of the process, the answer is simple: build more relationships [or do something for free]… I’ve never had a job that existed before I walked into the room– I got started in this business by telling someone established that I would work for free just to be in the room. Once you’re in the room, all things are possible.”]

Of course, we weren’t just focusing on established media outlets. Just as valuable to me personally—especially in a changing book environment—was the affiliate world. We made it very clear from the outset that when a publisher bought us, they were also buying our network, which is vast.

Further, the above strategy for collecting favors applies here, as well; the proposal outlined the top 20 most effective online fitness marketers, the approximate size of their mailing lists/social media presence, and—where applicable—a list of the favors they owed me. In other words, a list of people we could guarantee would promote the book.

Overall, we were able to promise that between our own networks, our affiliates, and our media connections, we would have hundreds of thousand—if not millions—of people guaranteed to see our book upon publication. Eyeballs are everything.

 

FOCUS ON PREVIOUS SUCCESSES

We came to the table with what we felt was a bulletproof marketing plan; it was a hybrid model that combined a traditional internet marketing launch (affiliate-based, hat tip to Jeff Walker), Tim’s “Land Rush” concept of incentivizing multiple purchases, and the age-old media blitz that publishing companies seem to be so fond of.

[TIM: I've never used affiliate sales to drive a book launch, as I have nothing to up-sell/cross-sell, but the numbers can be truly staggering.]

Our confidence wasn’t due only to our egos, but also to a history of success. Remember, I had never published a traditional book before. But that didn’t mean I didn’t have a proven history of moving products. Although we’d never done a “Land Rush,” Adam was old hat at leveraging traditional media, and I have a lot of experience running affiliate-based launches. Publishers tend to take the perspective that there’s no better way to predict the future than by looking at that past—so we very clearly outlined our previous victories.

I was sure to underscore the fact that my affiliates and I had previously sold nearly 11,000 copies of an eBook priced at $67 (plus several thousand more upsell transactions) in a single week.  The per-week sales rate is critical, as that’s how bestseller lists are calculated.

 

Acquisition

All stories need a climax, and ours was pretty exciting.

After a week straight of pitch meetings—sometimes as many as eight per day—we’d met with several imprints from all of the major publishing houses, as well as a few of the boutique firms. As I mentioned earlier, we turned down a $400,000 preempt, and then started fielding offers in the half-million range. Of course, there was temptation to take one of the early offers.

This is where having an agent comes in.  Scott understood how get editors and agents excited, build stories on single sentences, and play houses and imprints against one another. (If you’re a Game of Thrones fan, Scott would be Littlefinger.)

Our proposal went to auction, and towards the final stages, we had to decide between an advance of $750,000 for a single book deal, or a larger advance (in the low 7-figures) for two books. Despite what you might think, it wasn’t a no-brainer; we spent a few hours discussing what we thought about the chances of the first book were for being a big enough success to allow an even larger deal for a second book. This time, we decided not to gamble.

The largest offer came from Harper Collins (HC), but the story didn’t end there. Three separate HC imprints were offering identical deals. What differed was the general perception of each imprint, respectively, and the staff. While all three imprints were appealing in their own way, we eventually settled on HarperOne. This decision mainly had to do with our meeting with HarperOne editor Nancy Hancock; we certainly liked a number of the books she worked on, but ultimately, we just clicked right away, and felt she would be a great boon to the project. We were right.

And so the final lesson is this: writing and selling a book proposal is both science and art. The numbers are important—the metrics, the proof of concept, the wheeling and dealing with various houses are all integral parts of getting the best deal. But when it comes to people you’re going to work with, you need to use your gut as much as your head.

 

Conclusion

Getting a 7-figure book deal as a first time author is a strange concept.

If you had asked me two years ago if it was possible, I would have said no. Now, things have changed. I’ve seen that there’s a method, and that the method is replicable. The publishing game is complex, but like any game, it’s built on rules; as long as you know what they are and how to work them to your advantage, you have the potential to make a huge splash.

If you want to understand how to get a 7-figure advance in just a few lines, try this: understand how to explain your uniqueness; develop a compelling pitch around a single break-out concept; build and exhibit your massive network and platform; painstakingly detail your previous successes; present all of these things with an Alpha veneer of knowing that your stuff is awesome.

Follow those rules and you will garner an advance far above the norm for your industry—even as a first timer.

 

Afterword from Tim

I love Roman’s story.  For most people in the world, getting an advance of that size changes your life forever. Truly. Financially, you are now free.

But there is no free lunch: it comes with responsibilities.

My most successful book in terms of earnings is still the one with the smallest advance (The 4-Hour Workweek), and that massive over-performance made everything that followed possible. Sure, it had a 3-year head start on my second book, and The 4-Hour Body will eventually pull even or perhaps squeak ahead, but it brings up a few interesting questions.

Although I personally fought for maximum advances on my second and third books, there are authors who never–as a principle–want a maximum advance.  What?!?  I know this might seem odd, but there are world-class writers and bestselling authors like Neil Strauss (6x New York Times bestselling author of Emergency [see "How to Become Jason Bourne"], The Game, etc.) who actually prefer to take smaller advances.

This ensures that all of their books are financial “winners” for their publishers, even in a worst-case scenario. This ensures future book deals.  After all, Neil would reason, if the book succeeds, the advance is irrelevant.  If the book doesn’t “earn out” the advance, you might have created a rope for hanging yourself… professionally, that is.

Advances can be a double-edged sword.  On one hand, higher advances tend to ensure more publisher support in terms of print runs, marketing, and PR.  On the other hand, if you bite off more $$$ than you can chew, it can backfire with a vengeance.

Which would you choose?

###

 

Read more about Man 2.0: Engineering the Alpha here.

Read the other approach to 7 figures in “How to (Really) Make $1,000,000 Selling E-Books – Real-World Case Studies.”

 

by Tim Ferriss at April 16, 2013 03:52 AM

Dave Winer

Scripting News: "Assume you saw the news".

When I got back to work at 3:46PM this afternoon, I got a message from Kyle after checking in: "Assume you saw the news."

What.

The change in body chemistry was palpable. I assume this is a moment I'm going to remember.

I had not seen the news.

I went to Twitter, but not before imagining what might have happened. I formed a theory. North Korea had destroyed a Japanese city. Or maybe an American city. We're on the verge of World War III.

I found out quickly. Twitter is good for that.

I went back and said: "Wow that was some strong medicine."

The imagination is a powerful machine.

April 16, 2013 01:52 AM

April 14, 2013

Giles Bowkett

Lambda the Ultimate

Teaching Garbage-Collection

Teaching garbage collection by implementing GCs can imply heavy curricular dependencies. We've worked at shrinking them so the material can be used in any number of contexts, and this material is being used by several universities that use PLAI. We have a pedagogic paper about our approach, which we've summarized in a blog post (with a link to the full paper).

April 14, 2013 12:37 PM

April 13, 2013

Alex Schroeder

Garamond

I like the Garamond font. This website uses it. Here’s how:

@font-face {
      font-family: 'Garamond';
      font-style: normal;
      font-weight: 400;
      src: local('Garamond'), local('GaramondNo8'), local('EB Garamond'), local('EBGaramond'), url(https://themes.googleusercontent.com/static/fonts/ebgaramond/v4/kYZt1bJ8UsGAPRGnkXPeFdIh4imgI8P11RFo6YPCPC0.woff) format('woff');
}

body, rss {
    font-family: Garamond, serif;
    font-size: 16pt;
    line-height: 20pt;
    margin:1em 3em;
    padding:0;
}

As you can see, if you have a font called Garamond, Garamond No. 8 or EB Garamond installed, then the web page will use it. Garamond No. 8 is what I use on my GNU/Linux system. If you don’t have any of them, it will download the EB Garamond files from Google Web Fonts.

I hope it works. Thoughts?

Tags: RSS

April 13, 2013 10:28 PM

Dave Winer

Giles Bowkett

New eBook: Unfuck A Monorail For Great Justice

Have you ever encountered a monolithic Rails app?

Have you ever wondered how to get it back to the slim, flexible dexterity that it had in the early days of its development?

Would you like to know how to make large Rails test suites fast?

I've written a book which tells you how to do those things. But that's not all it does.

I've figured out some amazing hacks to accelerate the process of refactoring. Using these techniques, I shrank a code base by over 1100 lines in a single week.

Monolithic Rails apps -- or monorails -- are a problem in the world of Rails development. My new book doesn't just show you how to get them back on track. It shows you how to get them back on track more cleanly and more swiftly than you would have believed humanly possible.

Nobody's seen this book yet, but people had great things to say about my first one.

Unfuck A Monorail For Great Justice: $41, 85-page PDF



I hope it's obvious, but this book is NSFW. Unless your workplace is cool with swearing a lot. In which case, you're golden.

(Update: more info here, and some Twitter responses.)

by Giles Bowkett (noreply@blogger.com) at April 13, 2013 10:10 AM

Les Orchard

I like it when services treat me like I treat my pets

I like animals, and I’ve been told that I’m good with them. I’d like to think that’s due to a mix of empathy and respect that I’ve developed over the years.

It occurred to me the other day that my favorite online services treat me like I imagine my pets like to be treated.

It might be worth noting we have cats and rabbits, which are both rather independent kinds of critters. That said, being treated like a pet might sound demeaning. But, consider these pointers for being nice to animals:

  • Give them a reason to come to you. Don’t chase after and grab.
  • If they want to leave, let them. Don’t hold on and squeeze tight.
  • If you are allowed to pick them up, hold them gently yet offer enough support to make them feel safe.
  • Pay attention to their reactions, learn what kind of attention they like. This gives them a reason to come back when you let them leave.

Consider the above with respect to Dropbox, a service I use more every day:

  • They give me a place to put my files, like a thumb drive installed all the time on all my computers regardless of vendor or OS.
  • I can quit Dropbox whenever I want – all my files are safe on multiple hard drives, and won’t disappear if Dropbox goes away.
  • Dropbox has never lost a file, never spammed me, never done anything that suggested they’re spying on me. I mean, they could, but they haven’t. I also asked a support question once – they answered it.
  • The people at Dropbox keep doing more of the above, and releasing things like the JavaScript API that makes them useful for web apps I like building.

I can tell a similar story about Disqus, the service I use for comments here:

  • Disqus takes care of my comments and keep spam away. They were easy to set up with a WordPress plugin.
  • The official WordPress plugin mirrors every comment into my site’s database. I can turn off the service at any moment without a problem.
  • Disqus does run some advertising and off-site recommendations alongside my content. But, even though I could turn it off, I haven’t because it seems like a genuinely interesting aspect of the service. They’re also quick to answer questions.
  • Disqus continues to work well, add features I like, and have yet to disappoint me.

Now, how about Evernote? They’re neck-and-neck with Dropbox for me:

  • They store all my random thoughts & notes, make them available on all my computers regardless of vendor or OS.
  • I can backup or export my notes and quit whenever I want, and they’re stored on all my computers.
  • Evernote hasn’t done anything nasty with my notes, and have only ever made gentle suggestions that I pay or use other services.
  • The Evernote team just keep improving things – and every time I switch to something like Notational Velocity on Dropbox, I find myself coming back.

So, that’s it: Just a quick handful of thoughts that occurred to me when I was on a walk. I’m not entirely sure how this translates into execution and a successful business, but I know I like it when it works out this way.

Might be interesting to muse on this further: Sometimes being treated like a pet is a trap. Sometimes it’s demeaning. I’m not entirely sure it’s a good thing all the time, mostly my point in this post is to describe the feeling.

by lmorchard at April 13, 2013 01:44 AM

April 12, 2013

Alex Schroeder

The 1PDC Process

1PDC On the mailing list for the One Page Dungeon Contest 2013, one of the judges asked me to go through the process again. I’ve used my reply to write this blog post.

The first thing to remember is that people can revise their submission until the very end. That’s why I personally don’t read them until the end of April.

The output of the process is a list of nominations from each of the judges. They can nominate as many or as few as they like. In the past, judges have nominated somewhere between 10 and 20 entries. Every judge determines their own criteria. There is no agreed upon checklist.

My own list of criteria will look very similar to what I wrote on 2010-02-05 Quality Dungeons. I find that having the checklist helps me score the dungeons.

I will compile all the nominations into a big spreadsheet and produce a list of winners. I’ll try to have at least three nominations from every judge on the list (ie. we are six judges and thus I expect there to be around 18 winners). I’ll also try to invent a category for each of the winners. It would be very cool if your list of nominations contained a suggested category. That is optional, however.

Last year, I wrote about the entries I nominated and the made-up categories I nominated them for, if you’d like to see an example of how I personally went about this.

Sometimes judges will then comment on the final list and propose to add a particular entry because of some very specific qualities they want to highlight and thus we might end up more winners.

Once we have announced the winners, they are invited to send me three picks from the prize list. Again, the data goes into a spreadsheet and I try to figure out a way to give every winner at least one thing that they are wishing for. Against all intuition, this seems to have worked so far! When in doubt, I’ll go back to the big spreadsheet with all the nominations on it and give precedence to those winners that received the most nominations.

This last element of the process is not entirely transparent. I wrote a blog post trying to defend the lack of transparency two years ago. I hope that it’s not a big problem. ;)

Tags: RSS RSS

April 12, 2013 10:29 PM

Mark Bernstein

Relish

A love-letter from a 20-something comic-book writer to her mother, couched as a book about cooking, eating, and coming-of-age. Knisely has a knack for expressive character drawing and a clever way with anecdote. Chapters are punctuated with two-page spreads that describe a recipe; these are neatly done and the recipes look reasonable; though she still believes the McGee-debunked myth that washed mushrooms get soggy, anyone who suggests serving a big bowl of sautéed mushrooms for dinner is fine in my book.

The most original chapter in this pean to tasty food is an intelligent piece on bad meals and on cooking for people who don’t really like to eat – two real problems that we seldom hear discussed.

The subject here – the confluence of food, family, and memory – could easily have collapsed into mere sentiment. What keeps Relish fresh is Knisely’s lively drawing, particularly her knack for sympathetic portraits of herself at various ages and her skill at drawing not the food, but the way people react to it.

April 12, 2013 04:44 PM

State Bird Provisions

This fascinating restaurant in San Francisco is likely a template for the way we’ll soon eat out everywhere.

The menu is divided in two parts. Most of the food is presented dim sum style: people bring trays or carts with small plates that you might like. There’s also a small list of “commendable” dishes that you can order. There are three savory pancakes — we had sturgeon and horseradish — and the eponymous CA state bird (quail) with provisions that include tasty pickled onions.

It’s an open kitchen and, as far as I could tell, all the cooks serve and most of the servers cook. You have the advantages of “chef’s whim” – the kitchen can send out whatever it feels like cooking – without the rigor of a tasting menu. The cooking is very, very impressive.

April 12, 2013 04:34 PM

Giles Bowkett

A Hello World In Ember.js

I saw several blog posts with inaccurate code for a 'hello world' in Ember. Here's code which actually works:

Loading this file gets you an "index" (default) view with a "hi" link, and clicking that link gets you to "hello world!".

I'm a little embarrassed about 'index' as a naming choice, because it's a bad habit, but I got it from the framework. Ember uses 'index' to mean 'default view,' the same way Rails controllers do. This probably came to Ember from Rails, and came to Rails from Apache, but it really has nothing to do with indexing whatsoever. It's one of the few completely cargo-cult elements in Rails, so it's not my favorite part of Ember either.

However, one thing I do want to give Ember credit for, which you can see in this example: this code's concise. In fact it could be a lot more concise; that 'index' route doesn't actually need to be there. Like a lot of things, Ember supplies it automatically.

So this is better:

And also:



by Giles Bowkett (noreply@blogger.com) at April 12, 2013 03:27 PM

Reinventing Business

Hierarchical Communication

Clay Shirky gives a very good description of how information gets distorted moving up and down a power hierarchy. Here's a little story, told in bible-speak, which shows the distortion in action.

by noreply@blogger.com (Bruce Eckel) at April 12, 2013 12:11 PM

Dave Winer

Scripting News: Workflowy and Little Outliner.

A picture named drum.gifLittle Outliner v0.42 is up.

The main new feature in this release is the ability to import outlines from Workflowy, a popular browser-based outliner.

It would be simpler if they supported OPML import and export, as our outliners do, but you take what you get. The users want to go back and forth, so let's make it as easy as possible.

Here's how you do it.

1. In Workflowy, get the section of the outline that you want to export on screen.

2. Hover with the mouse just to the left of the main headline and nudge the mouse down to reveal the full menu, and click on the Export command. (Screen shot.)

3. A dialog appears containing the exported text. Be sure to click on the Plain text option. (Screen shot.)

4. Copy all the text, then go to Little Outliner. Position the cursor where you want the text to go, and Paste. (Screen shot.)

April 12, 2013 03:18 AM

April 11, 2013

Lambda the Ultimate

Virgil: a statically-typed language balancing functional and OO features

In PLDI this year: Ben Titzer, "Harmonizing Classes, Functions, Tuples, and Type Parameters in Virgil III" [pdf]

Given a fresh start, a new language designer is faced with a daunting array of potential features. Where to start? What is important to get right first, and what can be added later? What features must work together, and what features are orthogonal? We report on our experience with Virgil III, a practical language with a careful balance of classes, functions, tuples and type parameters. Virgil intentionally lacks many advanced features, yet we find its core feature set enables new species of design patterns that bridge multiple paradigms and emulate features not directly supported such as interfaces, abstract data types, ad hoc polymorphism, and variant types. Surprisingly, we find variance for function types and tuple types often replaces the need for other kinds of type variance when libraries are designed in a more functional style.

April 11, 2013 09:47 PM

Giles Bowkett

Rewind: Analyzing Git History With Bash

Rewind is a small library of git analysis scripts in Ruby and bash. Its goal is to quickly extract meaningful context from the enormous amount of historical data which any git project provides.

One use case: you want to compare the respective authorship patterns of two forks of a library from GitHub. Maybe your company has a local gem forked from a popular gem, and you want to figure out how many unique changes your fork has.

Another use case: you're looking at a large library with a lot of files, and you've been told this library has a lot of technical debt. One way to track down technical debt is to find the files which a) have the largest number of lines of code, and b) have the largest number of commits. Conversely, if you see a very small file with a very large number of commits in its history, people have probably refactored that file a lot.

Rewind gives you numbers; you have to use good judgement to get useful insights from those numbers.

by Giles Bowkett (noreply@blogger.com) at April 11, 2013 12:53 PM

Dave Winer

Scripting News: A vision for River of News.

A picture named drum.gifI had lunch a couple of weeks ago with Josh Marshall of Talking Points Memo. They're just three stops south of me on the A train. We should do this more often, political bloggers and tech bloggers getting together to share a meal and talk about what's possible.

At one point in the conversation Josh asked me what new technology they should be looking at. I didn't hesitate -- I had an answer prepared. This is what I suggested.

1. Let's ask your readers for their OPML subscription lists.

2. Read the lists into a database and rank the feeds, figure out which are the most popular.

3. Then let's start a river with those feeds. Let it run for a few days so all the feeds update a few times, and see what we've got. My bet is that we'll have a pretty fantastic and totally unique news service.

4. Give it some space on TPM and let it live and breathe. We'll all read this river, and get ideas for more feeds to add to it. You'll learn about other, smaller, political blogs, and they'll get exposure to a wider audience. Win-win. (You'll also run links to stories from Politico and Buzzfeed, so oddly it'll be the place people come to find out what's new on your competitors' sites.)

5. Make deals with them Josh. Ask them if they want to run some TPM ads. Share revenue.

This is a way to build community in new directions. Encourage people to step out from the discussion boards and start their own pubs. It would instantly make TPM the technology leader in the political blogosphere.

I promised I would write it up so that the idea could be presented to those people in their community who are RSS-savvy.

This is something I talk about all the time with news people who will listen. You never should have let Google own the news distribution system. But now that they're evacuating, hurry up and fill the void, before another tech giant owns the space. News publishing is something news publishers should at least have a say in.

Also see my pitch for River of News. We need some updated technology here. My River2 software can be a start, but we've figured out how to do it more efficiently since then, with JavaScript and JSON. I don't have the bandwidth now to do the development, at least not at this time, with Small Picture actively shipping new products. So there's an opportunity here for techies as well.

April 11, 2013 12:28 PM

Scripting News: Another pitch for River of News.

I know most of the developers working on replacing Google Reader are doing just that -- creating products and services that do more or less exactly what Google Reader does.

But there is another kind of aggregator, river of news, and its needs are pretty simple, compared to the Google Reader approach which requires synchronization among different clients. If I had the time here's the software I would write.

A feed scanner that accepts OPML subscription lists and generates river.js files.

This is the core of a River of News aggregator. It doesn't say how to display it, but there's an excellent jQuery app that does this, written by a group of developers led by Nicolas Gallagher. And it also leaves subscription management to other tools.

It would be great if this core feed engine could easily be deployed in an EC2 instance and very lean so it could scan lots of feeds for lots of users.

It would be really nice to have this simple problem solved once and for all. And it's relatively simple compared to the problems of synching.

For some reason this isn't being discussed. It should be. River of News may not be the only way to read RSS-based news, but it's a good way. And for some people such as myself, it's the only one we need.

April 11, 2013 12:07 PM

Giles Bowkett

How I Made ~2,340% Profit With Bitcoin And Trivial Code

The other day, right before the latest Bitcoin price spike crashed, I sold half a Bitcoin for about $117.89. I had bought this Bitcoin for about $10, so I think my math is very approximately correct when I call that a 2,340% profit. A 100% profit on a $5 investment would have been another $5.

In other words, I sold at the height of a bubble. Lucky me. But the answer is not just luck. The answer is shell-scripting the web.

Two years ago, I wrote a simple Ruby script to screen-scrape Bitcoin prices (in USD) and create a simple web page with the latest price. Then I plugged that into an hourly cron job and wired up the DNS for btcusd.gilesb.com. I didn't do it because I actually cared very much about Bitcoin prices. What I did care very much about was not looking at the hideous price-tracking web sites which existed at the time. I was too used to plugging my currency conversions into Google searches, but you couldn't do that for Bitcoin yet at the time (and maybe you still can't).



However, after I built this little mini-app, because of a very useful side effect, I saw its one tiny web page every single day, several times a day, and in the process developed a very detailed intuitive feel for the volatility of Bitcoin prices. And then, when I sold my Bitcoin, I just happened to do it very close to the peak of the latest bubble. Coincidence?

Here's how the side effect happened. At the time I wrote btcusd.gilesb.com, Safari was my only web browser on my iOS devices, and iOS Safari has a number of very poorly-conceived quirks, the worst being that any time you open it on an iPhone, it will idiotically jump to your Bookmarks, as if bookmarks were a feature which normal people ever even use. I began developing muscle memory for the task of closing the bookmarks and switching to the search field, but it struck me what a terrible maladaptation that was, so I decided to do something else instead.

I developed a simple habit for my iPhone of always keeping a web page open which had a simple DOM and a very fast page-loading time. (DOM simplicity can be more important than actual network loading speed when it comes to perceived performance.) I chose Hacker Newspaper for this purpose.

Hacker Newspaper is a miniapp like btcusd.gilesb.com, but for Hacker News, which I had written a few years earlier. I wrote it because Hacker News makes (in my opinion) terrible and obvious mistakes in typography, color theory, and web application performance, as well as terrible but subtle mistakes in application design. Anyway, Hacker Newspaper loads very quickly and renders very quickly, because it features a simple DOM, and very few external assets, so it got me around the usability fail in iPhone Safari. But btcusd.gilesb.com loads and renders even more quickly, with an extremely simple DOM, zero external assets, and also zero distracting links, so I made that my default launch page for Safari on the iPhone instead.

That was in 2011. It's 2013. I've seen the Bitcoin price fluctuating nearly every day since then, sometimes very many times per day. I've never given it a lot of attention, but I didn't have to. I've developed an enormous amount of context for Bitcoin prices as a side effect. (This is why I firmly believe you have to be judicious about what information you consume, both actively and passively.)

Anyway, my massive profit percentage is in fact just a tiny sliver of actual dollars. However, what I plan to do is continue using btcusd.gilesb.com this way, and buy BTC again when I feel they've hit a low. I'm willing to trust my intuition in this regard because I've developed it against a lot of data. Although this is just intuition, I expect the price to dip quite a bit at some point in the future, and I have very logical reasons to expect that I'll be among the first to know if/when that happens. Having tested this system with a small amount of money, I'm willing to experiment with a larger amount next time.

Of course this is not financial advice, and although I think some sane solution for Bitcoin and taxes will emerge, this is not legal advice either. But it is programming advice. You should shell-script the web. Hacker News annoyed me, so I fixed it with a tiny mini-app, really not much more than a shell script. Google didn't extend its automatic currency conversion to BTC, so I fixed that with a tiny mini-app too, again not much more than a shell script. And then I used that shell script mini-app to avoid Apple UX fail, and made an absurd profit percentage as a side effect.

Shell script all the things. The web is full of broken. Fixing even the little problems can accidentally net you huge profits.

by Giles Bowkett (noreply@blogger.com) at April 11, 2013 07:23 AM

Blue Sky on Mars

Keeping People

Tech companies do a generally poor job at keeping employees from leaving.

There are plenty of reasons for this: competing offers, unhappiness, and just generally itchy feet. Because of this, sometimes it's difficult to focus on building a strong culture of company solidarity, particularly when you're trying to juggle the hundreds of other needs of a growing business.

This is a talk about keeping people.

Slides

April 11, 2013 07:00 AM

Tim Ferriss

How to Create a Viral Book Trailer (or Get 1,000,000 Views for Almost Anything)

How do you create a viral video?

I am asked this quite a lot. I’ve been asked by authors, TV producers, and first-time Kickstarter entrepreneurs. In my experience, the answers are the same for all of them.

In this post, I’ll deconstruct one example: The 4-Hour Chef (4HC) book trailer, which is now the most-viewed non-fiction book trailer of all time. Roughly 1.5 million views and counting.

Before we dig in…

First, let’s make a distinction: creating a “viral” video is not the same a creating a “popular” video, but both can be valuable.

If you use ads to drive 1,000,000+ views, a video is not viral; it is popular. If your views come from organic sharing (or incentivized sharing like DropBox), it can be considered viral.

This post is also intended as a companion to my post, Behind the Scenes: How to Make a Movie Trailer for Your Product (or Book), which goes into equipment, planning, and (tons of) other details that I’ve omitted here.

For later — below are resources that will save you a TON of time and tail-chasing…

Feel free to skip the box for now if you like:

VIRALITY RESOURCES:

YouTube Channel stats – http://vidstatsx.com/
Viral video chart – http://viralvideochart.unrulymedia.com/all
Trending videos – http://www.youtube.com/trendsdashboard

Good blog posts on the topic, probably in this order:
-http://gawker.com/5912376/
-http://www.socialh.com/a-little-bit-of-math-measuring-virality/
-http://tinyurl.com/bnowj55

Outlets that cover trends and tools in online video well:
-Reelseo.com
-Tubefilter.com
-http://newmediarockstars.com/

YouTube Creator Playbooks
http://www.youtube.com/yt/playbook/index.html
http://www.youtube.com/yt/playbook/guides.html

Now, without further ado, here’s how we got ~1.5 million views for my latest book trailer…

Step 1: Storyboarding

This is like creating a comic book for the trailer, scene by scene. It’s the same process used by Pixar, among many others (video example here).

Here was my first stab for 4HC:

Click here to enlarge the below.

Click here to enlarge the below.

Optional Step 2: If Budget Allows, Assemble a Team

For the 4HC trailer, I brought in several specialists to help with production and promotion.

Please note that a team is nice-to-have and not must-have insurance. To date, my most viral video had zero budget. Here’s what gets you 4-5 million views:

That said, I like to tilt the odds in my favor whenever possible. Here’s my A-Team for doing so when funds allow:

- Directing and post-productionAdam Patch
- PR strategy and implementationRyan Holiday and BrassCheck
- Marketing, YouTube influencers, and experimental campaignsMekanism (Thanks, Jason and team!)

But how do you choose someone like Adam, if it’s not Adam? You ask for proposals, of course.

Typically, before you hire a production lead like Adam (who also acts as a general contractor for the production team), they will put together a proposal or “treatment”, which includes an itemized budget.

For 4HC, since I’d worked with Adam before, things started with my storyboarding and an in-person lunch with Adam.

Below is the 4HC “treatment,” cobbled together from our subsequent emails and conversations. It gives you a good idea of what you might expect you see:

4-Hour Chef video trailer Treatment

Step 3: Shot List and Logistics

Once you agree on look and feel, you have to roll up your sleeves: it’s time to scout locations, find talent (if needed), and choose specific shots for a to-do list (the “shot list”) that you check off as you film.

Special thanks to Chris Young and the amazing ChefSteps team for letting us use their Mr. Wizard-like food lab in Seattle. We shot the entire trailer in Seattle as a result. Here’s the kind of fun we had (see first 15 secs):

Our full shot list is below. Note that “CU” stands for “close-up”, and “TT” stands for “tabletop”.

Step 4: Shooting Principal Footage

Not much to say here, other than shoot a TON of material when you have the chance. It’s easier to edit down than to add extra shooting days.

Below an example of original footage that will be magically changed in the next step. Here we used one of my favorite books as a stand in:

Step 5 – Editing

The first step is to cut down hours of footage into 120 or fewer seconds. This is tough but important work.

If you make the finished product look polished enough for broadcast, you might have opportunities (or make opportunities) to get it on major TV. Here’s the process I used to get bookings.

The 4-Hour Chef trailer was featured as my introduction on everything from Dr. Oz to The Hallmark Channel. It’s the perfect adrenaline rush and sales pitch wrapped into one. Especially for short-form TV interviews — typically 3-4 minutes total, with multiple hosts — you’ll be strained to get a word in edgewise. It’s fantastic to let your video hit the talking points, doing the sales job for you.

Now you have a “rough cut” of the trailer. This is first draft, without graphics or special effects.

Once the footage, cuts, and order of scenes is agreed upon, you arrive at “picture lock,” which means that the footage and length can’t be changed. Only at this point does it make sense for anyone to create time-consuming graphics, animation, or sync’d music. Something like this, for instance:

Here’s the complete progression from first “draft” to finished product. Can you tell what changes in each version?

Now that you’ve taken a shot, here’s the full commentary from Adam, taking you though it step-by-step:

And how exactly does Adam work his magic?

Let’s watch how Adam edits the opening atrium scene in The 4-Hour Body trailer, which also has roughly 1,000,000 views. But first, take a look at the finished trailer and notice the opening shot of me at my desk:

Now, we go behind the scenes:

Step 6 – Music

For The 4-Hour Body trailer, I chose music first (Splinter by Sevendust), which I then set visuals to. This turned out to be a licensing headache marathon, and I explain the whole how-to process here. And that was with the band offering it for free! For this new 4HC video, we had custom music produced after the video was complete. The talented Luis Dubuc provided a sync’d jam, and we were ready to roll. No fuss, no muss.

Custom music need not be expensive, and you can even use crowdsourcing with start-ups like Audiodraft. I’ve used them before as well (see here and here).

Step 7 – Launch and Promote

First, a super basic note on uploading. ENSURE YOUR VIDEO CAN BE VIEWED ON MOBILE DEVICES!

25% of global YouTube views come from mobile devices. I screwed this up for The 4-Hour Body trailer, and I’ve been unable to reverse the mistake and make it viewable on mobile; as a result, I’ve lost hundreds of thousands of views.

Screwed on YT
No option to change — shite!

So, avoid being a dumb-ass like me and get it right the first time. Back to launching once you’ve uploaded…

The 4-Hour Chef trailer premiered on HuffPo, then it was reposted to my blog here. When I announced the post my Facebook fan page, we promoted it through FB’s paid mechanism. Notice that this was all done on 11/7/12 and 11/8/12 — roughly two weeks before official book launch on 11/20/12.

One of the most effective promotions I did was a unique BitTorrent bundle of 680MB+ of free content. For the super-low labor involved, it drove fantastic numbers:

Watched the trailer on YouTube: 293K people
Visited the author’s website: 325K people
Visited the book’s Amazon page: 852K people

But that was just one piece of the YT traffic puzzle.

When it comes to YouTube, you need to realize what you’re up against in terms of noise: 72 hours of video are uploaded every minute. To capitalize on the opportunity (it’s the second largest search engine in the world), you need to plan. Spray and pray almost never works — your competition is too good.

So, what to do?

First off, do not split your ammo. If you’re considering ads to help drive traffic, do it when it counts: the first 24 hours, when you can combine it with all PR for a synergistic effect. Momentum begets momentum, and early success begets later success. I often pile nearly all book launch media/interviews into a 5-7 day period (Check out this madness).

Team Mekanism was responsible for 99% of all my YT-related PR and directly and indirectly 50%+ of traffic. BitTorrent and my PR that week make up the rest. Mekanism combined extensive PR outreach with early judicious use of TrueView ads and StumbleUpon traffic (Disclosure: I advise StumbleUpon).

Here’s Mekanism’s explanation of what they did, first as PDF with screenshots, then as text:

4 hour chef coverage from Mekanism

Bolded emphasis below is mine:

To help support Tim’s book launch, Mekanism took a three tiered approach: connecting him to relevant online influencers, hosting a contest on Pinterest (to expand his exposure among the female demographic), and promoted content within Slideshare.

[TIM: Slideshare is hugely underused for product launches. We used it for The 4-Hour Body as well.]

Online Influencers:

To drive widespread awareness of The 4-Hour Chef, Mekanism reached out to credible online influencers to help drive word-of-mouth. Mekanism reached out to bloggers and YouTubers across a variety of verticals relevant to each of the different chapters within the book. For example:

• Food Enthusiasts
• Male Lifestyle
• Science + Tech Bloggers
• Mom Bloggers
• Lifehackers

In researching outlets and people, Mekanism took an approach very similar to that outlined by Mike Del Ponte in his Hacking Kickstarter post. The key is establishing relationships, and ensuring your content/message is tailored to each individual blogger’s audience. To accomplish this, Mekanism not only crafted custom pitches, but also provided a wealth of assets that could be freely used: exclusive excerpts, interviews with Tim (live or recorded), his video book trailers, images, etc.

Without a doubt, the most engaged audiences were those of several YouTube stars/channels, specifically SourceFed & WheezyWaiter. These appearances led to thousands of comments and likes and contributed to YouTube being the second largest traffic drive to Tim’s target landing pages.

Slideshare:

We wanted to see if it was possible to get a deck outlining the benefits of the 4-Hour Chef on the homepage of Slideshare, vis a vis having it rank on Slideshare’s ‘Top Presentation’s of the Day’ section. Slideshare was chosen because it has a well-educated and affluent user base that matches the target consumer of The 4-Hour Chef (69% college grads, 37% have $100k+ HHI).

First, a Slideshare deck was created to outline the benefits/chapters of 4HC. Next, we did the math to determine how many views, and in what period of time, were needed to drive the into the ‘Top Presentation’s of the Day’ section. Based on our observations, it seemed as though 15,000 views within a 24-hour period was likely enough.

Having this understanding of required viewing density, we uploaded our deck and promoted it via paid StumbleUpon ads and drove the content to the homepage of Slideshare via “stumbles,” ensuring everyone visiting the site the day of launch saw the presentation.

Keep in mind that the sum is greater than the parts. Here are more of the parts, written in a report to Tim:

Slideshare Presentation
- Made the ‘Hot on Facebook’ and ‘Hot on Twitter’ section (on homepage)
- Was ‘Featured’ (also on homepage)
- Peaked as 2nd most popular presentation last night

Sourcefed Video
-#3 most liked & top favorited ‘How To & Style’ video of the day
-#5 most viewed ‘How To & Style’ video of the day
-#65 top favorited & most liked video on YouTube today (of all videos across all categories)”

BLOG COVERAGE
http://sourcefednews.com/workout-systems-roundup/
http://www.tubefilter.com/2012/11/19/tim-ferriss-book-trailer-youtube-4-hour-chef/
http://www.dannyroddy.com/main/my-interview-with-bad-ass-mother-fucker-tim-ferriss
http://www.tubefilter.com/2012/11/19/tim-ferriss-book-trailer-youtube-4-hour-chef/
http://www.insidehook.com/nation/tim-ferriss/
http://gearpatrol.com/2012/11/21/tim-ferriss-the-4-hour-chef/
http://www.5minutesformom.com/67553/an-interview-with-tim-ferriss-author-of-the-4-hour-chef/
http://newmediarockstars.com/2012/11/tim-ferriss-interview/

YOUTUBE INFLUENCERS
http://www.youtube.com/watch?v=3ggiUlMujSE&list=UU_gE-kg7JvuwCNlbZ1-shlA&index=2&feature=plcp
http://www.youtube.com/watch?v=olSnJC3juXw&feature=youtu.be
http://www.youtube.com/watch?v=Nw7nZmqiH1I
http://www.youtube.com/watch?v=7J8fiuG7z-I
http://www.youtube.com/watch?v=HAJBnwBxAWs

The goal of all of this, of course, is to build a rapid view count number that pushes the trailer above the noise. This then propagates into additional organic sharing, all of which sells books.

###

So, those are the basics of stacking the deck in your favor for online video. Most posts on “virality” are vague generalities, so I wanted to dig into the weeds. Hopefully you like this.

Are there any other details you’d like to see, or questions you’d like answered? Please let me know in the comments.

by Tim Ferriss at April 11, 2013 01:08 AM

April 10, 2013

Reinventing Business

Work Is Not A Job

I like this site. Kindred spirits.

by noreply@blogger.com (Bruce Eckel) at April 10, 2013 05:29 PM

April 08, 2013

Dave Winer

Scripting News: Comments on Arrington/Gawker.

1. I am a former friend of Mike Arrington. He was also my lawyer before he was a friend.

2. I don't think what Gawker did was right.

3. An anonymous commenter on TechCrunch said that on any day, any man could be torn apart the way Gawker was trying to tear apart Arrington. I believe that.

4. My fear in speaking was not of reprisal by Arrington, as an Atlantic author assumes it is, I've been attacked by him at the height of his power, and am still here to tell the tale. The fear is if I stand up and say something I'll be the next one Gawker goes after.

5. Mike has done things I don't support, that I don't agree with, that anger me, even at times enrage me, but what Gawker has accused him of is one of the worst things you can say about a man. You have to really know that someone is guilty before you make those kinds of charges. I think they know how weak their story is, and it's appalling that they went ahead with it anyway.

6. Heather Harde's statement is the strongest possible endorsement he could get, as a woman who commands a lot of respect in Silicon Valley, her support says all that needs to be said. I encourage Mike to back down now, and let her statement be the end of it.

April 08, 2013 07:51 PM

Reinventing Business

Anti Consensus

Although he has spent many years hilariously lampooning management foibles, when he tries to come up with solutions the cartoonist Scott Adams seems to produce cartoonishly oversimplified conclusions. Although I think there's some truth in his assertion that "Management exists to minimize the problems created by its own hiring mistakes," it seems naive to say that's the only reason for the existence of management. And it's great that he has a decision-making system that works for his small team, but it's basically consensus, which has fundamental problems:

  1. Consensus is the slowest possible decision process, excepting probably war.
  2. Consensus is a very heavyweight process. This means we resist revisiting a decision because it's so much trouble. Decisions made become ossified into your system.
  3. Consensus doesn't scale. In Adams' own case, right now he has a group that can quickly make decisions because they're already in agreement (or could it be that they're already in agreement with Adams, in which case you have the charismatic leader problem and you're not actually evaluating decisions on their own merit). Bring in a new person to the process -- it becomes a many-body problem in which any one person can bring everything to a grinding halt.
  4. Consensus filters out differing viewpoints. Differing viewpoints are exactly what you want in order to make the best decisions and build the best systems. If Adams wants rapid consensus, then a "hiring mistake" is "anyone who doesn't already agree with us," and you end up with the rookie move of hiring yes-persons.
  5. Compromises produced by consensus are always worse than mediocre -- there's a yawning gap between "a decision everyone likes" and "a decision everyone can put up with." The easy issues are great, when everyone is already on the same page. But when you solve a challenging problem, you must go into uncharted territories where there will be disagreements
Aside: This has me wondering about agreement in general -- how important is it in a relationship? Consider the extremes:
  • We agree on nothing. This sounds like "irreconcilable differences." Can you have any kind of relationship when you can't agree on anything? This is a new question to me so I haven't figured out how to approach it.
  • We agree on everything. First, I wonder if anyone would believe it's even possible to agree on everything. But if the other party could back up their agreements with, say, rational arguments, or by citing a shared religious document and/or news media outlet (conforming to a particular interpretation process) then it could be convincing. Initially it would be very satisfying to find someone "of the same mind," but at some point having a perfect echo chamber prohibits growth, and I believe we have an innate growth impulse which, when stifled, eventually causes fractures in our world.
I guess, in order to move forward, we need some level of agreement about "the basics," and perhaps most of human cultural evolution and the ensuing clashes are around what those basics are.

Anyway, Holacracy uses the diametric opposite of consensus: instead of getting everyone to agree, Holacracy looks for a legitimate objection, with precise tests to determine legitimacy. If such an objection surfaces, then the proposal is modified to resolve that objection. You end up with a proposal that some people might not be happy about, but if there are no legitimate objections you incorporate it -- with the essential caveat that it can be revisited at any time. The lightweight nature of the decision process and the ability to revisit a decision allows for experimentation, which is an essential factor in Holacracy. A management system that says it promotes experimentation but requires a heavyweight process to actually do experiments will end up stifling innovation.

People talk about a company being a "victim of its own success." This actually means that the organization and decision processes worked great in the small, but didn't scale. So far, my analysis of Holacracy -- which is not a design for a company structure, but rather a process for designing the unique structure of your own company -- is that it does scale, at least significantly beyond what we see as the critical junctures in the growth of companies using the old model.

by noreply@blogger.com (Bruce Eckel) at April 08, 2013 01:33 PM

Dave Winer

Scripting News: Drew Houston and the role of MIT.

A picture named newAccordionGuyBig.gifI read an interview with Dropbox founder Drew Houston that ran in MIT Tech Review in early 2012. Really interesting story, well worth a read, especially for this bit about where the idea for Dropbox came from.

"For me, it goes all the way back to MIT, where there is a campus network called Athena. You can sit down at any of thousands of workstations and your whole environment follows you around: not just your files but where your icons were on your desktop. Then I left and discovered that no one had really built that for the rest of the world."

I thought -- how interesting, the idea for a hugely important, transformative technology came from using the campus network as a student at MIT.

Then I remembered where Zuck was when Facebook was being hatched. In case you're not familiar with the legend, it was down the street in Cambridge at Harvard. His co-founders were also Harvard undergrads.

In my own case, the idea for outlining came in a hallway conversation with a fellow grad student at the University of Wisconsin. He told me about editors for Lisp systems that understood structure. From there it was a few steps to editable structures for non-programmers.

Universities, for people who really use them, can be incredible places to make connections between people and ideas.

April 08, 2013 12:53 PM

Alex Schroeder

Hellebarden und Helme ist ziemlich lang geworden

https://farm9.staticflickr.com/8406/8621195607_ddbc396a69_m.jpg

Ich hatte schon mal von Hellebarden und Helme geschrieben. Das Dokument ist nun vollständig. Alle Zaubersprüche bis und mit der dritten Stufe sind drinnen. Ich wollte natürlich “Zirkel” sagen, um die leidige Diskussion um Charakterstufe und Spruchstufe zu vermeiden. Aber egal. Ich habe noch eine Weile mit Claudia diskutiert, ob es sich lohnt, die weibliche Form für die Regeln zu verwenden. Sie war dagegen und meinte, das würde ihr ja nicht helfen, gleich viel zu verdienen wie ein Mann. War wohl nichts mit den tief hängenden Früchten. Für mein eigenes Wohlbefinden habe ich mich entschieden, über weite Teile “du” zu verwenden. Das tönt dann ähnlich informell wie dieser Blog. Was hältst du davon? :)

Mit über zwanzig Seiten ist das Dokument doch überraschend lang geworden. Schade, eigentlich!

Auf Seite 19 hat es unten viel leeren Platz. Ich weiss nicht so recht, was ich da machen soll. Ich hätte gerne ein paar gute, freie Bilder von Hellebarden! Leider gibt es im Handbuch der Waffenkunde: Das Waffenwesen in seiner historischen Entwicklung vom Beginn des Mittelalters bis zum Ende des 18. Jahrhunderts von Wendelin Boeheim (1890) nicht so viele gute Hellebardenbilder wie Helme. Kennst du eine Quelle von guten Hellebardenbildern?

Ansonsten bleiben mir noch die selber gemalten Bilder, welche am Rande etwas mit Zauberei zu tun haben… Vom Stil her passen sie leider überhaupt nicht zu den Helmen.

https://farm4.staticflickr.com/3261/3198902637_b172003c71_m.jpg https://farm4.staticflickr.com/3469/3275717737_e9131816f5_m.jpg https://farm4.staticflickr.com/3411/3279480659_716c6db0e9_m.jpg https://farm4.staticflickr.com/3529/3923437634_7d9636786b_m.jpg https://farm3.staticflickr.com/2605/3922651157_cf2a315b7a_m.jpg https://farm5.staticflickr.com/4139/4900445467_c34b4d0ac7_m.jpg https://farm5.staticflickr.com/4099/4970804690_90559b970d_m.jpg https://farm6.staticflickr.com/5014/5641851376_e47b1f3a6f_m.jpg https://farm7.staticflickr.com/6040/6348317241_94ac33dcfc_m.jpg

Meine Aufgabe für die nächsten Tage: Korrekturlesen und Leerräume in der Randspalte finden, wo ich noch den einen oder anderen Helm aus dem Handbuch der Waffenkunde unterbringen kann. :)

Oder Illustrationen aus den alten Fechtbüchern?

https://upload.wikimedia.org/wikipedia/commons/thumb/4/47/De_Fechtbuch_Talhoffer_102.jpg/320px-De_Fechtbuch_Talhoffer_102.jpg

Tags: RSS RSS

April 08, 2013 09:45 AM

April 07, 2013

Mark Bernstein

The Gates

Don D’Ammassa explained at Readercon’s The Year In Books that he found John Connolly in a grocery store. Visiting friends in a remote part of rural New England, D’Ammassa ran out of books. This is not hard to imagine, as he reads one or two novels a day, but booklessness is not something he is willing to contemplate for more than an hour or so. And so it was off to the grocery store to find the least-bad book in town. (Had his hosts nothing in the house? ) And there he found John Connolly.

In The Gates, we meet a young British lad named Samuel Johnson. He has a dachshund named Boswell. He has a distracted mother, an absent father, and unpleasant neighbors named Abernathy. Unfortunately, these unpleasant neighbors have taken to dabbling in satanic rituals. More unfortunately still, one of their rituals, assisted by the CERN supercollider, accidentally manages to open a portal to Hell.

No one will believe Samuel’s warnings, and demons turn out to come in surprising varieties, including one who discovers that he really enjoys driving a Porsche very fast. The book inhabits Terry Pratchett territory, which is not a bad place to be.

April 07, 2013 10:42 PM

Dave Winer

Reinventing Business

Visit to Riot

I spent Friday at Riot Games (here I am, speaking about error handling). This was one of the most stimulating and mental-input-producing company visits I've had and there will be lots to think about and digest over time. However, I signed an NDA and game companies are very careful about revealing information, so to be safe I can't really talk about any of it. Suffice it to say the experience was very worthwhile.

Riot makes League of Legends, a phenomenon in the world of multiplayer online games, specifically a Multiplayer Online Battle Arena (MOBA) game. There are millions of players throughout the world at all times (in Korea, if there's an outage it gets reported on the evening news).

League of Legends is strictly a team game -- you always play in a team, even if it's a team of robots. At the recent Game Developers Conference, Riot revealed some results of the research they've been doing on shaping player behavior -- the game is intense and players can behave badly toward each other (bad behavior on the Internet? Shocking!).

A game like League of Legends could be exactly the kind of revealing interview game I was talking about here. Clearly, it produces the kind of "decisions made under pressure" that reveal someone's true character. Not only that, it produces some teams that work extremely well together. I can imagine forming optimal teams through an online game (perhaps one more tuned towards business) and then moving those teams into the real world.

by noreply@blogger.com (Bruce Eckel) at April 07, 2013 03:02 PM

Dave Winer

Scripting News: Streisand's money.

An interesting chain of thought.

1. I saw a tweet by Fred Benenson about the Streisand Effect which I had never heard of.

2. So I looked it up.

3. Decided to participate, so I tweeted a link to the page.

  • A picture named streisandsHouseInMalibu.gif

4. Got a tweet from Sonal Chokshi saying that Streisand has a shopping mall with all her collections, in the basement of the house.

5. I thought about being rich. I couldn't imagine that shopping mall really made Streisand feel good. But I imagined that a poor person could dream that it might. I tweeted to that effect.

That led me to another train of thought that I didn't blog.

I have opinions about what money does to people because I have been lucky enough to have money do it to me. Having money is nice, but not nearly as nice as poor people (which I have also been) imagine it is. But then I wondered how other people deal with money, and I wondered if they all reach this conclusion.

Now, I'm sure I'm right that money doesn't buy happiness, but when you first get that message, what's your response? I think perhaps some people go into denial, and insist that it must.

What led me to that was a piece I read last week about a guy who, like me, never stopped programming. He had a theory why people think that's unusual. Because being in charge of programmers has more status than being one. The more you are in charge of, the more status. It isn't the quality of the work that matters, it's the size of the subservience.

It's funny because I never felt this way! And of course since I didn't feel this way, it didn't occur to me that others did.

I always thought the greatest gift was to be able to do stuff yourself, without having to do it through others. It was the act of creating that was the priviledge. If you had a choice between being a player or a coach, wouldn't everyone choose to be a player? I guess not.

Mitt Romney is a symbol of this for me. It didn't occur to him, I guess, that we wouldn't love him. If we don't love him, then what was the point of making all that money? I think a lot of rich people never put that to the test, and go through life assuming that they are loved for their money. This explains, imho, a lot of the behavior I see. Being rich seems to equate to "behaving badly."

Another person who helped put this together for me is Frank Langella, in the Fresh Air interview that ran this week. He recounts what age does to you. And how actors deal with it, or don't. It was both rich and chilling. And a good perspective for anyone who gives money or fame too much credit for giving meaning or happiness to life.

Time for a walk! :-)

April 07, 2013 02:50 PM

Scripting News: Why podcasting matters.

Earlier I wrote about how podcasting got its name. I wrote it because there's a reporter who says he gave podcasting its name. He didn't. It pisses me off when people who know they didn't do something claim credit for it anyway. I don't need to explain why it's wrong, do I? ;-)

Now, I want to say that even though I have never made a dime off podcasting, and I did a lot of work to make it happen, and I even spent money on it, it was still worth it.

Because it's a form of literature that's valuable and it persists.

To this day, when I go for a walk on a sunny day, or a frigid one, in NY or Seattle or Europe, I can listen to the people that I want to hear from, with no gatekeepers in the middle. I still listen to a lot of programming that is professionally produced, but I think it is better because it has to compete in a free market. One where the cost is pretty close to zero to distribute the programming.

So even though it didn't make me money, it gave me something much better. Ideas! :-)

April 07, 2013 02:21 PM

Scripting News: How podcasting got its name.

A picture named ipod.gifIn September 2004, the activity we called audioblogging was starting to gain traction. There were a dozen or so regular programs. We had tools for creating audioblog feeds, and an aggregator that could pull them all together into a river of audio programming.

I had my own show, Morning Coffee Notes. Adam Curry had Daily Source Code and together we did a short-lived audioblog called Trade Secrets. Adam was working on an open source tool that would bring Apple's iPod into the mix. In September he opened the iPodder-dev mail list, which I publicized on Scripting News.

In the first days of the iPodder-dev mail list the term podcast was introduced and adopted as the name of the activity.

Here's the sequence of events, with links.

1. On September 13, Adam posts the inaugural message on the iPodder-Dev list. (You will get a warning from Yahoo when you click on the link because the mail list has since been overrun by spam for porn sites. Oh the humanity!)

2. Lots of people introduce themselves, including Dannie Gregoire, a "reasonably competent Perl programmer" from Kentucky.

3. On September 15, Gregoire posts a message where he uses the term "podcaster." I read this message, as did Adam.

4. In a phone talk, Adam and I discussed this, and agreed we needed a name for the activity, and that Gregoire's suggested term was pretty good, so we agreed to use it. The conversation was recorded and distributed as one of the Trade Secrets shows. (Note: I'm not sure of the date of this podcast.)

5. Gregoire recalls the sequence of events in a post to the list on September 20.

6. On September 24, I wrote a definitive page explaining what a podcast is.

7. On September 27, I decided to rename the audioblogging session for the upcoming BloggerCon, Podcasting. Adam was the discussion leader.

8. On September 28, Doc Searls wrote a post entitled DIY Radio with Podcasting. I couldn't locate a subsequent post where he did a Google search and found zero hits for the term, predicting that there would be a lot more, as the idea caught on.

  • On second thought, that post might have been written by Rex Hammock.
  • Update: Apparently it wasn't Rex, but he has a quote from Doc's missing post.

Finally, a Google Trends graph clearly indicates that the term was introduced in September 2004.

April 07, 2013 12:12 PM

Alex Schroeder

Textures and Creative Commons

Recently I got a submission for the One Page Dungeon Contest 2013. It was made using the Dungeon Tiles Set by ProBono on RpgMapShare. The tiles use textures from CGTextures.com.

I stopped when I saw a passage saying “One or more textures in this pack have been created with images from CGTextures.com. These images may not be redistributed by default, please visit www.cgtextures.com for more information.”

Then I found the following passage in their FAQ:

May I use these textures in my Open Source (Creative Commons, GPL, etc) project?
No. These textures may not be used in Open-Source projects. The licenses are not compatible. Almost all Open-Source licenses allow redistribution of the materials, and redistribution is not allowed for these textures.

Unfortunately, the One Page Dungeon Contest uses a Creative Commons license.

Tags: RSS RSS

April 07, 2013 11:47 AM

April 06, 2013

Giles Bowkett

Dave Winer

Scripting News: Did something break in Chrome/Mac?

Update: Thanks to elasticthreads, in a comment thread belog, for helping with a few workarounds, and the first one I tried worked. I have a fix I can release if other Frontier/OPML Editor users are seeing the same problem. Right now since I've not heard from anyone, I'm not going to do a release.

I have a question to ask other people who do web development on a Mac using Chrome. I'm not trying to make news, this is just a question. I'm using my blog to ask it.

1. Back in Netscape days the browser supported a set of interapplication messages called "Apple Events" that allowed other apps to make calls to the browser to get it to do things.

2. The most useful one, imho, was the GURL message, which said "Here's a URL, please open it in the browser."

3. This feature is deeply integrated in my CMS. I put my cursor on something, right-click and choose View in Browser. It figures out what its URL is and shoots a GURL message over to the browser, and within a second I'm viewing the page.

4. This feature was copied by every browser from then on. You could shoot a GURL over to any of them and they'd open the page. This included Chrome. Until sometime in the last few days. Then it stopped working.

  • Here's the Apple Event I'm sending:
  • appleEvent ('rimZ', 'GURL', 'GURL', '----', string ("http://scripting.com/"), 'cwin', nil)
  • No error is returned, the event eventually times out.

5. I rebooted the system, relaunched the browser and my CMS, it still doesn't work.

So my question is this -- if you do web development on Mac with Chrome, did this stop working for you too?

PS: I started a Hacker News thread for this, in case you prefer to comment there.

PPS: Losing this feels like losing the right rear-view-mirror on a car. Very jarring.

PPPS: Gradually our development environment is being whittled away by Google and Apple. If I were paranoid I'd think they want to slow us all down, for some reason. That's the net effect.

April 06, 2013 02:00 PM

April 05, 2013

Dave Winer

Scripting News: Pay For Your Sins.

Now that I've started a new business, my first business mentor speaks to me again, from childhood.

My grandfather, Rudy Kiesler, was a businessman. He came to the US during the war, a Jew fleeing the Nazis, with a few diamonds sewn into my grandmother's coat, which was stolen on the way. So they arrived in the US, to their new home in Brooklyn, like many other imigrants, without a dime.

He started a sewing shop, and grew it, and grew it, until when he retired after having a stroke in his 60s, he had a dozen factories in the South, and a nice bit of cash in the bank.

When I was a kid he didn't seem like a wise person. He yelled a lot, loudly, and had hard opinions about everything. But there was an intellect in there. He was a good card player, and a good provider, and he did teach me one important thing about business, an idea that keeps coming up.

"Pay for your sins," he would say. It's one of those ideas that means different things depending how you approach it. You're going to pay for them, one way or the other. So knowing that, think twice before you do it. And if you try not to pay for them you're only making it worse. There's a compound interest to sins.

Compare this to the lame "Don't be evil" -- which has none of the subtlety. Why not be evil? My grandfather knew the answer.

April 05, 2013 06:20 PM

Giles Bowkett

Your Periodic Reminder That Silicon Valley's Perceptions Are Skewed

Earlier this year Chris Dixon wrote what is mostly a good blog post, but sadly also a classic of blind northern California arrogance:

What the smartest people do on the weekend is what everyone else will do during the week in ten years...

Engineers vote with their time, and are mostly trying to invent interesting new things. Hobbies are what the smartest people spend their time on when they aren’t constrained by near-term financial goals...

Today, the tech hobbies with momentum include: math-based currencies like Bitcoin, new software development tools like NoSQL databases, the internet of things, 3D printing, touch-free human/computer interfaces, and “artisanal” hardware like the kind you find on Kickstarter.

It’s a good bet these present-day hobbies will seed future industries.


This statement is true within a bounded territory, but it has two zones of epic fail.

If by "the smartest people" you mean "the smartest young, single geeks in Silicon Valley with time on their hands but no idea how to party," then it's basically true, or close enough. It can even stay mostly true when you broaden it to "the smartest geeks in Silicon Valley."

But if by "the smartest people" you mean "the smartest people in Silicon Valley," you quickly run into the first zone of epic fail. Steve Wozniak did it as a hobby; Steve Jobs did it as a business. So the idea can only be legit if we assume Wozniak was smarter than Jobs. This is not only a dickhead thing to say, it's also extremely debatable.

That same problem becomes much, much more serious in the idea's grander zone of epic fail, which is the world at large. If by "the smartest people" you actually do literally mean "the smartest people," this statement falls from a lofty status of near-flawless truism — which it achieves when isolated to a particular subset of Silicon Valley geeks — down to a nadir of useless and near-total inaccuracy.

It can only be true if none of the smartest people are also uneducated; if none of the smartest people work on the weekend, or go to school on the weekend; if none of the smartest people are beset by war, famine, illness, or other distracting, weekend-filling forms of misfortune; and if none of the smartest people, anywhere ever, like to spend their weekends making music, making art, making films, or volunteering their time to feed the homeless, end various injustices, or make the world a better place in any other non-commercial sense, or indeed just having fun.

For instance, consider the Oscar-winning actress and budding director Natalie Portman, who first published her scientific discoveries in peer-reviewed journals while in high school. If she spends her free time geeking out about Bitcoin, Dixon's rule applies to her. If not, then either Dixon's rule is silly, or she is not one of the smartest people out there. But that would mean winning the top award in one of the most competitive fields in the world, attending Harvard, and publishing in scientific journals while essentially still a child would not be reliable indicators of high intelligence, while selecting a hobby which went on to become a big business would be a reliable indicator of high intelligence.

It doesn't take long to find many similar examples; and, as an experiment, I just googled "Natalie Portman charity work." Turns out there's enough there to win her another award. I hope she did all that charity work during business hours, because if it happened on the weekend, she's off that genius list.

It's good to pay attention to what the startup community talks about. You just need to take it with a grain of salt.

by Giles Bowkett (noreply@blogger.com) at April 05, 2013 01:58 PM

Tim Ferriss

How to (Really) Make $1,000,000 Selling E-Books – Real-World Case Studies


Who will be the JK Rowling of self-publishing? Better still: who will be the legions who make an extra $1,000-$1,000,000 per year? (Photo: The Telegraph, UK)

This is a guest post by Ryan Buckley and the team at Scripted. I have added my own tools and recommendations after “TIM” throughout the piece.

Enter Ryan Buckley and Team

Barry Eisler writes thrillers about a half-Japanese, half-American freelance assassin named John Rain. John Rain is the consummate anti-hero, a whiskey swilling, jazz-loving former CIA agent battling crippling paranoia as he adventures around the globe. Readers love John Rain, so much so that they’ve landed Barry Eisler and seven of his John Rain books on the New York Times Bestseller list. [TIM: Here's how the different bestseller lists work.]

Having conquered all that needs to be conquered in the world of commercial publishing, it shouldn’t come as a surprise that Eisler’s publisher offered him $500,000 deal for a new two-book deal.

The surprise was that Eisler turned down the deal and decided to tackle self-publishing instead.  In a freewheeling discussion with self-publishing expert Joe Konrath, Eisler says:

“I know it’ll seem crazy to a lot of people, but based on what’s happening in the industry, and based on the kind of experience writers like you are having in self-publishing, I think I can do better in the long term on my own.”

We asked Eisler for a current update, and he told us that this month (March 2013), he expects to sell 8,000 copies of his 10 self-published novels and stories, which are priced $1-5 each. Despite self-publishing his first story only two years ago, it appears he’s made the right decision. With roughly $300,000 in royalties per year, he already beat his publisher’s offer…

The writing on the wall couldn’t be any clearer: the publishing world is changing fast

Getting a publishing contract has long been the first litmus test of a writer’s success. Writers spend years in the wilderness accumulating rejections before finding a single buyer (advances usually start at $1,000 to $10,000). Even The 4-Hour Workweek was rejected 20+ times before it got an offer.

But conventional publishing isn’t the only game in town anymore.

Self-published authors are increasingly landing on the NYT bestseller list and hog a fair share of Amazon’s top-20 list. Amanda Hocking became a self-publishing multi-millionaire with her teen supernatural thrillers before bagging a $2M publishing contract with St. Martin’s Press. John Locke sold $2M worth of eBooks before landing a deal with Simon & Schuster.

All this means that perhaps you don’t need a contract to validate you… now or in the future.

Why eBooks, Why Now?

The numbers don’t lie: Amazon now sells more eBooks than printed books. Kindle sales topped 1 million per week by the end of last year. More than 20% of publishing giant Random House’s revenues last year were from digital sales.

[TIM: Here are my personal stats -- the percentage of total sales from ebooks for each of my books, limited to their first year on-sale:

April 2007 pub date - original 4HWW - less than 1%
Dec 2009 pub date - revised and expanded 4HWW - approximately 21%
Dec 2010 pub date - 4HB - approximately 31%
Nov 2013 pub date - 4HC - will surpass 50% by November 2013]

Amazon is at the forefront of this publishing revolution. Through the Kindle eReader and the Kindle eBook store, it has given indie authors a platform to get published and gather an audience. As a $100-billion-plus market cap e-commerce juggernaut, Amazon already has a substantial user base (as per comScore, 282.2 million people visited Amazon.com in June 2011 – or roughly 20% of the total internet traffic). Coupled with high royalty rates (70% compared to 10-15% for traditional publishers), it is the perfect platform for a fledgling writer to make a living, and if fate agrees, even a fortune.

The path to becoming a Kindle millionaire isn’t easy, but it’s possible to tilt the odds in your favor by following best practices. [TIM: Becoming a millionaire using non-Kindle ebooks is arguably even easier -- here's one $1,000,000/month example.]

This how-to post will look at general principles and lessons from real-world successes.

Understanding Amazon and Niche Selection

The first step is market research.

Your first order of the day should be to spend a few hours around the Amazon Kindle marketplace. Browse through the top sellers, be generous with your clicks and read up as much as you can – user reviews, book descriptions, Amazon’s editorial reviews (if any). You want to get an intuitive feel for the market, what sells, what doesn’t. How many non-fiction books end up in the top 10? What genre do they belong to? What is the average price of a Kindle bestseller? What do their covers look like? How many reviews do they have? What is the average rating? What is the correlation between rating and current ranking?

[TIM: For what it's worth, much like Hugh Howey, I write about what I love or would love to learn about. Here's how I did preliminary market research for The 4-Hour Chef:

- I polled my 400,000+ followers on Twitter and Facebook with questions like “What are your favorite 2 or 3 cookbooks?” and “If you were starting over, which 2 or 3 books would get you most excited while learning fundamentals?”

- I then used virtual assistants via Taskrabbit.com to create a list of those titles that pop up more than 3 times. I also asked professional chefs the same questions and cross-referenced the lists.

- Once I had the repeat contenders (let’s assume 20 titles), I headed to Amazon, where I did 2 things:

1. First, I identified the titles on my list that have an average review of 4 stars or higher.

2. Second, I read the “most helpful” critical reviews from those titles, aiming to focus on 3-star ratings, whenever possible. If not, I look for 4-star. The 1- and 2-star are usually written by people who hate everything (look at their other reviews if you
doubt me), and the 5-star reviews tend not to go into detail. From the “most helpful” 3–4-star reviews, I compile a list of:

A) Things “missing” or deficient in even the best books. These are opportunities for me to do or explore something new. For instance, even the best-selling BBQ books were criticized for omitting the “heart and soul of BBQ”: short ribs and brisket. This meant I naturally had to include at least one.

B) I download all 20 books onto my Kindle and read the “Popular Highlights” in each, sorted by “Most Popular.” This often allows me
to read 20–50 pages instead of 300, 500, or even 1,000 pages. Then I can deep dive only where I love what I see. If you don't like the movie trailer, you're certainly not going to like the book the highlights were pulled from.

But this begs the question: how do you go about selecting your niche in the first place?

I’m tempted to say: pick a niche you actually enjoy reading. But this may not always be the best advice. I enjoy reading complicated literary novels and obscure texts in linguistics, but they’re hardly the stuff best sellers are made of. Your niche selection should be in-line with market demands. This is why spending time in the Amazon marketplace is important: it will tell you which niches are popular and which are not.

[TIM: To really determine what will sell and what will not, I highly recommend reading this step-by-step method by Noah Kagan. He built two multi-million-dollar businesses before age 28 using similar methodologies.]

Once you have your niche, spend some time researching your ideal buyer. See where they hang out, how active they are online, what is their average age and income, and what motivates them to buy an eBook in the first place? Are they looking for solutions, or are they looking for adventures and story-telling to ease their boredom?

Once you have a faint picture of your ideal buyer, find out what they do and what they consume online. Entrepreneurs will likely hang out at TechCrunch, while productivity folks will have Lifehacker bookmarked. Quantcast is a good tool to understand market demographics better. Just type in the URL of the target site, and you’ll get a fair idea of their demographic make-up. [TIM: You can also get valuable data from Kickstarter projects you find that might attract similar customers -- which sites are sending them the most traffic?]

Be prepared to spend a few hours over a weekend in market research. [TIM: I'll spend weeks doing this, if necessary. I don't truly know my audience until I could make decisions for them.]

A few power tips for niche selection:

- Weight loss and dieting are a perennial Amazon favorite.

- Business books tend to find a lot of favor with readers as well, especially if you can package scattered information into an easy to digest package (example: Personal MBA by Josh Kauffman).

- Reddit is one of the finest sources to research niches and gather ideas. Spend a few hours in /r/Fitness and its related sub-reddits (/r/leangains, /r/paleo) and you’ll come up with dozens of ideas for a book (example: The Butter and Bacon Diet: Losing Weight With Keto, inspired by /r/keto). This is a nice list of sub-reddits arranged by popularity.

- Don’t go niche-hopping. Stick to one niche and dominate it with a flood of quality content. There are dozens and dozens of ideas scattered all over the Internet. Research these ideas, agglomerate them into comprehensible forms, and synthesize them into consumable format, and you’ll have your eBook. [TIM: This isn't my approach, but it can be done well, even with public domain materials.]

Creating the eBook

This can be the hardest or the easiest part of becoming a Kindle publisher, depending on your comfort level with writing. Writing the eBook yourself can be incredibly fun if you enjoy the creative process, or a mind-numbing chore if you don’t.

[TIM: Writing a book shouldn't be used to determine if you like (or can at least handle) writing. Try and publish a chapter-length (3,000-5,000 words) blog post a week for a month. If you can't do that, don't commit to a book, IMHO. To improve your craft, I suggest On Writing by Stephen King, Bird by Bird, and On Writing Well.]

Alternatively, you can outsource the entire project. But before you jump into the fray, there are a few key steps to consider:

- Brainstorm the title of the book. Along with the cover, your title is the most visible aspect of your book. Dig through the bestseller list in your targeted niche to see how top books are titled, and consider following their lead. [TIM: I actually test both titles and subtitles using cheap Google Adwords campaigns.]

- Brainstorm angles and approaches to the content. What makes your book unique among the competition? What new perspective are you bringing to the niche? How can you deliver most value to your readers?

- Create a detailed outline of the entire eBook. Map everything out, from the introduction to the concluding paragraph. Look to the best selling books in your niche for inspiration and advice on structure and organization. You should have a thorough outline detailing the style, tone and content of each chapter.

[TIM: I typically break my books into 3-5 "sections" which are then broken down into chapters. I use the program Scrivener to map this out. Each chapter has a beginning, middle, and end like a magazine article. Each of them should be independently self-sufficient. This makes the book easier for me to write if I hit a block... and it makes the book easier to read. I can write chapters out of order, and readers can consume them out of order.]

- While it’s necessary to strive for quality and push conventions aside, it is also important to be practical in your approach. You might aspire to write avant-garde literary novels, but that’s hardly the stuff best-sellers are made of. The key is to write an astounding book in a niche that sells. This, of course, doesn’t mean you have to sacrifice on quality; Max Brooks’ “World War-Z” piggybacked on the zombie apocalypse trend, and yet found a way to comment on compelling present day social and political issues. Now it’s a major film starring Brad Pitt.

If you want to write the book yourself, as Tim would have it, there are a few things you can do to sharpen your skills:

- Become a master of the Snowflake Method. Essentially, it means building a comprehensive ‘map’ of your book – character backstories, narrative arcs, plausible scenarios – before you write a single word. It flies in the face of all conventional notions of ‘creative inspiration,’ but it can be deadly effective at writing superior novels with strong narrative arcs, especially in genre fiction. The Snowflake Method has been devised by author Randy Ingmerson, who has used it himself in all six of his best-selling novels.

- Storytelling is a craft, and like any other craft, it too can be mastered with practice. Barry Eisler, who has tackled both legacy and self-publishing (and succeeded wildly), suggests a reading of three books – Stein on Writing: A Master Editor of Some of the Most Successful Writers of our Century Shares His Craft Techniques and Strategies by Sol Stein, Learning to Write Fiction from the Masters, by Barnaby Conrad, and Robert McKee’s Story: Substance, Structure, Style and Principles of Screenwriting to improve the craft of storytelling. [TIM: I personally favor Save the Cat for fiction/screenwriting.]

- Learn from fellow self-published authors. Eisler recommends the blog of novelist J.A. Konrath, who has been self-publishing since 2004 and recording his experiences on the blog. Eisler says, “I think anyone even considering self-publishing ought to be reading Joe, and if you’re not interested in self-publishing, you should read him just to be sure you understand the pros and cons of the various publishing options available today.” Eisler also has a list of indie author blogs on his website that can help you understand the self-publishing process.

- Learn from the masters: the likes of Stephen King, Nicholas Sparks, and Robert Ludlum have spent a lifetime perfecting their craft. Comb through their novels diligently. See how they create tension, withhold information to create suspense, and write dialogues. The more you read, the better you will become at grasping the essence of a good novel.

- Create a writing schedule and stick to it. Set aside at least an hour or two for writing each day. This is the hardest part about writing a successful novel, simply because it requires discipline and commitment. Most writers don’t succeed because they give-up midway. Don’t be that writer. [TIM: Most of my friends who are consistently good writers write between 10pm-8am. This means they either go to be really late -- I do my best work between 11pm-5am -- or they wake up really early. It's easier to concentrate when the rest of the world is asleep.]

Otherwise, it’s time to find freelancers to finish your project:

- Insist on a Skype interview before you hire anyone. Pay careful attention to their command of language. Also pay attention to how well they ask you questions.

- Ask them difficult questions: What is their prior experience with writing eBooks? What’s their best and worst published work and why? What mistakes have they made, professionally and creatively?

- Speak with references and include: “He/she seems great. I like them. Of course, all people have strengths and weaknesses. If you had to choose theirs, what would they be?”

- If they pass the above, give them your detailed brief and outline in full. The more information your writer has, the better the finished product will be.

- Consider payment on a chapter-by-chapter basis until a strong working relationship is established.

- Last but not least, have them sign a Non-Disclosure Agreement.

Formatting the eBook for Kindle

You’ll most likely write your eBook as a Word document. Converting a. docx/.doc file to the Kindle format is relatively straight forward with Amazon’s conversion tools. Amazon itself has a comprehensive guide on formatting a book for Kindle.

The key things to keep in mind when formatting are:

1. File size: files larger than 50mb cannot be converted to the Kindle format. Remember that Amazon’s delivery costs are approximately $0.15/mb. The larger the file size, the higher these costs. Compress the document as much as possible before uploading it to Amazon for the conversion process.

2. Amazon has a comprehensive guide to building a book for Kindle that covers every aspect of formatting – creating front matter, table of contents, etc. This is a free eBook that can be downloaded here.

3. The catalog/cover image is crucial for sales. Here’s Amazon’s online guide on how to create the cover.

Designing the Cover

Never judge a book by its cover, they say. On Amazon, however, your cover will go a long way towards setting you apart from the self-published pap that usually litters the Kindle store. If you’ve done your market research right, you already know what I’m talking about: badly formatted books with covers that look like Photoshop disasters and a child’s scribbling in MS paint dominate the low-end of the market.

A quality cover is proof that you’ve put thought and effort into the book – a good signal for a prospective buyer. [TIM: Also think in terms of thumbnail size -- will it grab attention as a tiny image on a handheld device? You won't have a nice big hardcover to show it off. Think like an app designer choosing an icon for the iPhone.]

Depending on your budget and Photoshop skills, you can either design the cover yourself ($0), or outsource it ($5 to $395).

OPTION A: DESIGNING THE COVER YOURSELF

Unless you are a Photoshop whiz, I don’t recommend this option. If you must cut corners and design the cover yourself, I recommend keeping things simple: grab a high quality image from Shutterstock that echoes the generic conventions of your niche and write your book title in an appropriate font. For inspiration, head to the Book Cover Archive.

Pro tip: Fonts, like images in a cover, echo the established values of a genre. Fonts in romance novels are usually florid, while those in thrillers and weight loss books are more contemporary. Make sure that you use fonts that adhere to genre conventions.

OPTION B: OUTSOURCING THE COVER DESIGN

Pick your poison:

Cheap: Set up a competition on 99designs to crowdsource your eBook cover. Prices can range from $50 to $500. OR, hire an established, experienced book cover designer. You can easily find a ton of these on sites like AuthorSupport or Damonza.

Cheaper: For $20-50, hire a designer from oDesk to design a cover for you.

Cheapest: For $5, get a cheap cover from Fiverr.

Marketing and Promoting Your Book

So you’ve written your book, you’ve formatted it for Kindle, and you have a gorgeous cover image to entice readers.

Now it’s game time.

Marketing is what separates the successful Kindle publishers from the also-rans who hug the bottom of the sales charts.

Self-publishing essentially inverts the traditional publishing model, where publishers publish the book, then get the media to drum up enthusiasm before the public can pass it along through word-of-mouth. Self-published authors must do this entire process in reverse: they must get people interested in their books before they actually publish the book on Amazon. It requires building relationships with your readers and establishing a sense of community by leveraging social media.

[TIM: I'll keep this note short. Here's how to create a high-traffic blog (1MM+ unique visitors a month) without killing yourself. It's exactly how I built this blog and manage it.]

ESTABLISH A CONSISTENT AUTHOR PROFILE

In the mid-80s, at the height of his literary prowess, Stephen King started writing books under the pseudonym of Richard Bachman. Bachman’s books were failures – Running Man sold only 28,000 copies in its initial print run, but ten times as many when Bachman was outed as a pseudonym for King. The message is obvious enough: readers won’t think twice about buying books from authors they know and recognize.

For amateur authors, this translates into maintaining a consistent author profile across multiple media properties. You are essentially trying to create a personal brand (like Tim’s). Select a good picture and make sure you use it on all author-related websites, including your blog, social media, and Amazon Author Central (more on this below).

START A BLOG

It is 2012; you have no excuses for not running a blog. It is free and downright easy with software like WordPress. The 4-Hour Workweek blog (built using WordPress) was started as a platform to promote a book and foster a community. Today, the blog and its readership are arguably more valuable than the book itself. [TIM: Definitely true.]

Share advice and tips related to your niche. Your blog should serve as a teaser trailer for what’s in store in your book. Be as educative, informative, and creative as you can be. This 4-Hour Workweek blog is a good model to imitate.

[TIM: You don't have to start out sexy! Check out this hideous mess, the earliest version of this blog. It's atrocious.]

HARNESS THE POWER OF SOCIAL MEDIA

Start with the obvious:

- A Facebook page
- A Twitter account

Then the not-so-obvious:

- Do Reddit AMAs on appropriate sub-reddits (here’s a big list).
- Answer questions on Quora related to your niche.
- Do guest posts on niche specific blogs.
- Create author profiles on GoodReads and Amazon Author Central.
- Engage and communicate with fellow writers and readers on forums like Authonomy and Absolute Write.

Barry Eisler advises “not to use social media to sell, but rather to give away useful information and entertaining content for free, and to build relationships thereby. What you do on your Facebook page and Twitter page should be intended to benefit your friends and followers. If they like it, they’ll like you; if they like you, maybe they’ll become interested in your books.”

BECOME A MASTER OF MARKETING

A foundation in conventional and Internet marketing can go a long way in helping you make Kindle sales. Eisler recommends four books on marketing to the aspiring author:

1. Marketing High Technology: An Insider’s View, by Bill Davidow. According to Eisler, “the sixteen factor he (Davidow) looks for in determining whether marketing is likely to be successful are incredibly useful and adaptable to the book industry.”

2. The Dream: How to Promote Your Product, Company or Ideas – and Make a Difference Using Everyday Evangelism, by Guy Kawasaki. Eisler adds, “approaching marketing as evangelism is a brilliant concept, and unusually applicable to books. Recruiting and training evangelists with the power of social media is something any writer intent on commercial success should do.”

3. The 22 Immutable Laws of Marketing: Violate Them at Your Own Risk!, by Al Ries and Jack Trout. [TIM: I love this book. Also don't miss this article, perhaps my fave of all-time: 1,000 True Fans.]

4. Permission Marketing: Turning Strangers Into Friends and Friends Into Customers, by Seth Godin. Eisler especially recommends Godin’s book, saying that “the concept of what a customer gives you permission to market and where you’re counterproductively overstepping your bounds is hugely important to bookselling, and this short book should be on any self-published author’s short list.”

PRICING, DESCRIPTIONS and REVIEWS

Price is a major advantage self-published authors have over published authors. $0.99 to $2.99 seems to be the sweet spot for self-published works. Amazon offers two royalty structures for its Kindle Direct Publishing program: 35% or 70% royalty. The 70% royalty option is available only a few select countries – including the United States (see the full list here). However, books with 70% royalty must be priced at least 20% lower than their physical counterparts. If you choose the 35% royalty option, you have much more freedom in setting the list price.

70% royalty is perfect for self-published authors who do not have physical books in the Amazon store. $2.99 is the recommended price point since it nets you more than $2 per sale (excluding delivery costs, which start at $0.15/mb) while still keeping the price low enough for impulse buys.

It is also a good idea to give away your book for free initially to jump start sales. You do this by setting the list price as $0.00 and promoting the book’s initial run through social media. If the product is good enough, it will spread through word of mouth and you can alter the list price accordingly.

The book description is important for telling the readers what to expect in the book. This is where you put your blurb and review snippets from bloggers. Look at books in the Amazon Top 100 to see how they capture reader attention and write their blurbs.

[TIM: I'm astonished when authors spend 1-10 years writing a book and then let a junior copyeditor at their publisher write their backcover and inside flap copy. Don't do this! That copy will end up being your "Description" text on Amazon, which is your most important tool for converting browsers to buyers. Good copywriters know that you spend 80% of your time on the headline of an ad. You should spend at least 10x as much time on backcover/flap/"description" copy as you would on an average internal page.]

Reviews are social proof of a book’s quality and a crucial contributing factor to its success. Gathering positive reviews will go a long way in pushing your eBook towards the bestseller charts. Some authors, including John Locke, confessed to buying reviews for money (as per this NYT expose), but it’s a practice that is unethical and looked down upon in the writer community. Your best bet is to leverage your existing relationships with your Twitter followers, blog readers, friends, and relatives to get positive reviews.

Finally, I’ve found that it is profitable in the initial run to release books within a space of a week or a month, so that your readers have something to move onto if they like your work. It also helps to create narrative arcs that span several books (something that can be done with non-fiction as well) to keep readers coming back for more. [TIM: Haha... I personally prefer to take 2-4 years between books and focus on ensuring that each one sells for decades.]

Closing Words

The beauty of Amazon is that once you have enough leverage in the market, you’re essentially working on auto-pilot. Once you are an established presence in the market, your name alone will attract the curious and the faithful. As far as passive income is concerned, it’s hard to beat a portfolio of Kindle books.

[TIM: Or 1 or 2 books that sell forever. Here's how to maximize the odds -- The 12 Main Lessons Learned Marketing The 4-Hour Body.]

Caveat lector: be aware that success through self-publishing is rare and hard fought. Eisler compares publishing to the lottery, where few can get in and even fewer can succeed. The main difference between legacy and self-publishing, he says, is that “the overwhelming majority of writers who couldn’t even get in the door in the legacy world can now publish just as easily as everyone else, but beyond that, so far I’d say the odds of making a living are roughly the same.”

He adds, “fantasizing about making it big in self-publishing is no more crazy than fantasizing about making it big in legacy publishing.”

Here’s to the crazy ones: take action, research, write, sell, repeat.

###

Did you like this post? Would you like more of this type of post? If so, please let me know in the comments. Thanks!

ODDS AND ENDS: MEDIA, MAPTIA WINNER

Media from the web:

Your Book is a Start-up (BitTorrent Partnership)
Surrender to Tim Ferriss (New York Observer)
How We Lost 68 Pounds – 4-Hour Body (Globe and Mail)

Maptia:

We have chosen Mexican-inspired Spicy Chocolate Soufflé with Avocado Whipped Cream by @poconversation (Natalie). Here’s the recipe, and here’s her winning tweet:

by Tim Ferriss at April 05, 2013 02:48 AM

April 04, 2013

Mark Bernstein

Ebert

Ebert

Ebert was the film critic of his era, one of the great critics of all time, and in a quiet way a leading voice of life on the internet. He showed how to live on the Web when everyday life was difficult. He had deep knowledge and deeper sympathy and boundless good humor; his last article, “leave of presence”, assured us he wouldn’t be gone long.

The balcony is closed.

April 04, 2013 08:17 PM

Giles Bowkett

Snippet: Drum & Bass w/String Section

A little variation from the norm; more melody than usual for me.

by Giles Bowkett (noreply@blogger.com) at April 04, 2013 12:56 PM

Lambda the Ultimate

It's Alive! Continuous Feedback in UI Programming

A paper by Burckhardt et al that will appear at PLDI 2013. Abstract:

Live programming allows programmers to edit the code of a running program and immediately see the effect of the code changes. This tightening of the traditional edit-compile-run cycle reduces the cognitive gap between program code and behavior, improving the learning experience of beginning programmers while boosting the productivity of seasoned ones. Unfortunately, live programming is difficult to realize in practice as imperative languages lack well-defined abstraction boundaries that make live programming responsive or its feedback comprehensible.

This paper enables live programming for user interface programming by cleanly separating the rendering and non-rendering aspects of a UI program, allowing the display to be refreshed on a code change without restarting the program. A type and effect system formalizes this separation and provides an evaluation model that incorporates the code update step. By putting live programming on a more formal footing, we hope to enable critical and technical discussion of live programming systems.

April 04, 2013 04:31 AM

Reinventing Business

The Hubspot Culture Code

Another alternative management approach. Slide deck (worth going through to the end) here.

by noreply@blogger.com (Bruce Eckel) at April 04, 2013 04:28 AM

Dave Winer

Thread: I do outliners for the thinking.

A picture named beetlejuice.gifI love outliner people. They are so cool.

  • I love how the new outliner is so lightweight and "transparent", yet powerful. It's a great mind mapping tool sans the cognitive load of layout and "making it pretty". I would love to see native experiences and sync to cloud (Evernote and the like are IMO becoming too heavyweight and start to get in the way of quickly taking notes or thinking)

When I ship a new outliner that's where people are looking for them, and today that is on the web -- I get to meet a lot of outliner people. And that makes me feel great!!

And that gets me thinking about why I do it. Because now the part about whether or not we attract users, which was speculative a couple of weeks ago, is no longer speculative. They are here, and more are coming.

This is why...

We need better tools for thinking. With those tools we might do more of it, and be more effective. I want the thinkers to be more powerful. That's it, that's why I work on outlining software. It's for the thinking.

The rest of it, open formats, keeping choice in the software, valuing users, that's all so we do more thinking.

April 04, 2013 02:44 AM

Reinventing Business

Self Management

My friend Dave sent me a link to this article that gives a brief introduction to what they call "Self Management." It has some similarities to Holacracy but what's described here gives me the feeling that it's not necessarily as finely-honed.

Since they are fundamentally a tomato-processing company, it seems like they might have produced one example of a result that could be more systematically produced via Holacracy. However, there's not enough in this article to know for sure.

Next time I'm in the Bay Area I'll try to visit them and see how they compare to Holacracy.

Edit: It turns out there's an article on the HolacracyOne Website addressing this very issue.

by noreply@blogger.com (Bruce Eckel) at April 04, 2013 01:37 AM

April 03, 2013

Mark Bernstein

Breakdown

Lotty and Mr. Contreras and the rest of the crew join V. I. Warshawski once more in this energetic and angry mystery at the sleazy intersection of fancy law firms, politics, and right wing broadcasting. We’re not that far from the mean streets of wartime Vilnius, and nowadays we’re never that far from the mean streets of modern Kiev, and both cast a long shadow over Warshawski’s South Side. It all starts in a disused Chicago cemetery when a bunch of schoolgirls stage an initiation and one sees a vampire. The book is superbly plotted and the writing has its moments, but something terrible has happened to Paretsky’s ear for routine dialog, especially when kids are in the room.

April 03, 2013 08:13 PM

Progress

My first big programming project was a summer project in the gait lab at Rush St. Luke’s Presbyterian Hospital. I spent six or eight weeks there, building a graphics library for Tom Andriacchi that would take measurements of joint angles from experimental subjects and reconstruct where their legs were from moment to moment.

This was an exciting project, investigating the brand-new technology of replacement joints. Joint replacement was a big deal then; nowadays, people get new knees and hips and they’re quickly back on their feet.

I was thinking about that project this morning. I think my graphics library took a couple of months. Today, I could do a much better job in a week, and might be able to get a decent result in a hard day of work.

One reason is that I’m better. I spent a lot of time debugging the library, testing small changes in the hopes that each small change would make things right. The trigonometry quickly got gruesome, so there were plenty of opportunities for sign errors everywhere, but scattershot debugging of a mucked up system almost never succeeds. And I didn’t yet know about separating model and view logic, since Smalltalk-80 was well in the future.

One reason is that the tools are better. I remember that I lost a week on a compiler bug in which FORTRAN’s call by reference semantics permitted me to redefine the constant number “1” to a different value. Compilers still have bugs, but nothing as low-hanging as that!

This library would have been much nicer if it had been written with some object-oriented encapsulation. But object-oriented languages were only beginning to get off the ground, and I still hadn’t discovered that the Computer Science literature was much better than the (already dismal) Information Technology literature.

The big reason is that, now I have a computer. This library had to be written and debugged on a shared departmental minicomputer, and computer time was a scarce resource. You’d sign up for a brief slot, and try to get as much done as you possibly could. Other eager programmers queued for any minutes you didn’t need.

Of course, everything was memory constrained then, and everything was terribly slow. So edit-compile-run cycles took forever. There was no debugger; just diagnostic writes. In one long day of test-driven development on my MacBook Pro, I’d probably get more compiler-edit cycles done than I did in the whole summer.

April 03, 2013 08:13 PM

Tim Ferriss

The First-Ever Quantified Self Notes (Plus: LSD as Cognitive Enhancer?)


The very first Quantified Self meetup, held at Kevin Kelly’s home. Here, Dr. Seth Roberts is speaking, and I’m seated third from the right. (Photo: Kevin Kelly)

Below are the notes I took at the very first Quantified Self meet-up on 9/10/08.

It was held in the picturesque home of Kevin Kelly, the founding editor of WIRED magazine. Surrounded by books, wood paneling, and white boards, we had one hell of a jam session.

From that small, 28-person gathering, “QS” has since grown into a pop-culture term and international phenomenon, with organizations in more than 20 countries. Forbes has even called 2013 “The Year of the Quantified Self.”

Here’s where it started…

Next, just for fun…

Next, just for fun: a term paper (and some random notes) from my sophomore year in college. It’s far from perfect, but it explores some worthwhile questions.

The late Professor Hoebel, a pioneer in food addiction research, was a fascinating man and incredible teacher. This paper was written when I was interested in later joining the lab of Dr. Barry Jacobs, which was focused on brain monoamine neurotransmitters. Alas, I couldn’t hack the requisite animal testing and later switched from neuroscience to East Asian Studies with a focus on language acquisition.

And now to the question: could LSD function as a cognitive enhancer? Hmmm…

For posts on my own self-experimentation, click here and scroll through.


A huge styrofoam robot — one of many wonders in Kevin Kelly’s home. (Photo: Telstar Logistics)

by Tim Ferriss at April 03, 2013 07:56 PM

Fog Creek

What’s new in Kiln? Sprint.ly integration!

Do you use Sprint.ly for project management? Kiln now has a web hook that you’ll like! You can manage your Sprint.ly items using special comments in your commit messages.

sprint.ly integration

Simply enable the web hook in your Kiln account, then reference Sprint.ly items using Sprint.ly’s commands. As you push to Kiln, you’ll see your changesets linked from your Sprint.ly items.

This web hook is available in Kiln 3.0.28 and higher. Sign up for a free trial and try it out!

by Kevin Gessner at April 03, 2013 04:48 PM

April 02, 2013

Dave Winer

Scripting News: We're not doing software right.

A picture named bee.gifNice writeup by James Fallows of Little Outliner, much appreciated.

The story he tells is pretty typical of the software industry. He wrote about an online outliner a few years ago, but it's gone now. His favorite outliner, Grandview -- long-gone. My early outliners, gone too. A few products took their place, but nothing like the great start we got at the beginning of the PC software era.

What changed is the way we finance software.

And that seems to be a story reporters appreciate now, because one of their most-used products, Google Reader, is going away. Probably wouldn't happen if a smaller company made it, if they depended on revenue from the product to make payroll.

The wave that's undermining journalism crashed over software many years ago. That's why when journalists want us to make their mission the center of our attention, it's a bit of narcissism on their part. Because what's happening to their profession happened to mine long ago.

We human beings aren't that good at creating sustainable systems. The bees are dying. The globe is warming. And we lose great ideas in software, and it takes generations to reinvent them, only to lose them again.

I'm bringing back a little of it now. Outliners are my thing. Now let's see if we can make this work as a business. :-)

April 02, 2013 09:51 PM

April 01, 2013

Lambda the Ultimate

DYNAMO

I was surprised to see that DYNAMO hasn't been mentioned here in the past. DYNAMO (DYNAmic MOdels) was the simulation language used to code the simulations that led to the famous 1972 book The Limits to Growth from The Club of Rome. The language was designed in the late 1950s. It is clear that the language was used in several other places and evolved through several iterations, though I am not sure how extensively it was used. When Stafford Beer was creating Cybersyn for Salvador Allende he used DYNAMO to save time suggesting it was somewhat of a standard tool (this is described in Andrew Pickering's important book The Cybernetic Brain).

The language itself is essentially what you'd expect. It is declarative, programs consisting of a set of equations. The equations are zero and first-order difference equations of two kinds: level equations (accumulations) and rate equations (flows). Computation is integration over time. Levels can depend on rates and vice versa with the language automatically handling dependencies and circularities. Code looks like code looked those days: fixed columns, all caps, eight characters identifiers.

Here are a few links:

  • Section 3.7 of this history of discrete event simulation languages is a succinct description of the history of the language and its main features.
  • A more leisurely description of the language and the Limits to Growth model can be found in this article. Ironically, the author of the article reimplemented the model in Javascript (run it!). What was originally written in a DSL is now implemented in a general purpose language, with all the niceties handled manually.
  • Finally, a nice piece on Jay Forrester who prompted the creation of SIMPLE and DYNAMO, its offspring.

April 01, 2013 08:34 PM

Dave Winer

Scripting News: Outliner plug-ins.

As you may know, we shipped Little Outliner one week ago today.

It's done pretty well. I've been watching our stats page regularly and there always seem to be at least a couple dozen people using it. Sometimes as many as a thousand people are outlining with our simple browser-based notepad.

But all the users, and esp Kyle and myself, want the full-featured product. And we'll have something for you to try out, pretty soon. We did most of the development on the full product before releasing Little Outliner. We wanted to be sure the basic outlining code works, and we wanted to start off with the simple, no-brainer product.

We will always have Little Outliner, because power-user products can get too complicated for beginners. Just like a ski mountain has a bunny slope, with a hot cup of cocoa close-by, we want to make sure there's a super-easy outliner so people can get comfortable with the idea.

Okay, so we've built a rich product, it's coming soon -- but I want to also hook up tools to produce different ways of viewing text that was written and organized in the outliner. The prototypical example of this is a slide show. That's what MORE did so well, why it won all the awards, and caught the attention of the press and investors, Guy Kawasaki and Apple, and a whole boatload of users. So that's where we begin with the plug-in story today.

We've created a little slide-show renderer, using the beautiful JavaScript presentations of reveal.js. Then we added an icon to the left side-bar of Little Outliner that takes the content of the bar cursor outline and shoots it over to the presenter. It in turn sends back the HTML which we then display in a preview window. All this is done with interfaces that are every bit as simple as they sound.

All this is accomplished with OPML, which is an incredible way to package up a structure of text to ship between programs. It's almost a whole language unto itself for specifying the arrangement of text. And as you know, we have an easy editor for producing OPML (the world-famous Little Outliner you've heard so much about). And with all the experimentation that's been done in JavaScript tools for presenting stuff, the outliner is the missing element that makes this stuff truly user-friendly. If you don't believe me, have a look at the docs for reveal.js. Or bespoke.js. Or impress.js. All of them produce wonderfully animated presentations, but you have to be a real glutton for tech detail to even begin to create your own. But with an outliner it's dramatically easy.

So now we're ready to show, dear developer, how plug-ins will work with our outliner. Right now you have to jump through a few hoops to enable the demo. This howto shows you what to do.

http://worknotes.smallpicture.com/march2013/pluginDemo

Hope you like! :-)

April 01, 2013 05:26 PM

Reinventing Business

The Interview Game

I haven't posted about the Holocracy seminar yet. There's still a lot roiling about, requiring mental digestion. And more than digestion: rebuilding my world view (many changes were already taking place from the work reported in this blog -- I was ready, but just barely).

Brian Robertson (the creator of Holocracy and our seminar leader) came from the software field so it's not surprising that he refers to Holocracy as a way to build the "operating system" for your company. He says that the operating system only covers the core parts of the company structure, and that everything else is an "app" which your company creates according to its needs. Some of these "apps" include hiring, firing, and determining salaries. Brian admits that these are fundamental to most organizations and that some kind of prototypical apps might eventually be produced by HolocracyOne (the company behind Holocracy, which of course is organized via Holocracy).

I've struggled a lot with the hiring process. There are so many things about it that are wrong, but we don't know any better so we keep doing them. The impact of bad hiring is nothing short of huge: the amount of time and effort bringing in a bad hire, the resultant time we allow that bad hire to do damage (because of the sunk cost fallacy), the impact of recovering from that damage, the time and costs in getting a bad hire out, and, not least, the cost to the person who is hired when it doesn't work out (they've often moved across the country, for example). Hiring and firing are some of the heaviest-weight processes we have in an organization. We need to make them lighter-weight (which I will not address in this posting) and at the root, we need to make the hiring/on-boarding process much more effective.

"This person seems to paddle a canoe pretty well. So they'll probably be a good swimmer!" Sounds ridiculous, but it's exactly what we do when we test how well someone interviews and assumes that will have any bearing on how well they work. We keep using interviews because we can't think of any better way to solve the problem.

An interview is a test that doesn't produce very useful results. We need better tests. We want to know how a person will work within a particular job, so our tests need to get a lot closer to the job they're being interviewed for. If you're a programming company interviewing a programmer, you get slightly closer to the mark by asking programming questions, but the context is usually wrong. Nobody writes sort routines as part of their job, and nobody solves programming problems at a whiteboard. And if you get someone who is good at solving problems at a whiteboard you might have a bad fit (you actually want someone who uses resources like StackOverflow to get to the answer quickly rather than brain-wrestling it to the ground from first principles).

You usually want someone who solves problems expediently in the context of a team. Whiteboard exercises do not test for these abilities.

When I talk about this problem, I often use the analogy from storytelling: the persona is "who the character says they are," while the true character is only revealed through decisions made under pressure (the storyteller's job is to put the character under pressure and force them to make decisions in order to reveal this true character). So to find out how a person is going to behave under real circumstances, it seems you must somehow simulate those circumstances -- and the decisions under pressure that go along with them.

This leads to all kinds of challenges -- one can imagine faking situations in order to produce reactions. Which ultimately violates transparency. Perhaps there's a better way. In particular, we tend to think of "pressure" in the negative sense, and this is the essence of my insight:
Can there be positive pressures as well, and can we use those to solve the problem?
Here's where I go far off the beaten path with some wild speculation derived from middle-of-the-night inspirations. So feel free to discount the rest of this posting; I won't be insulted.

Suppose we create a set of two-path questions, where you must choose one path or the other. The questions are hypotheticals which are not specific to jobs or working -- more like a game (and the feeling of being a game can relax the participants and make the results more natural). Ideally the questions might be able to build on one another like playing "Dungeons and Dragons." The questions are randomized into a sequence for a particular hiring process, then all the current members of the team take the test and their answers are captured and turned into a pattern that represents the team. The candidates also take the test and the pattern that most closely matches the team's pattern is judged the best fit.

Agreed, this system is pure guesswork on my part (it seemed so brilliant when it woke me up in the night) -- there's no way to know whether there would be ANY correlation between the results of this test and the fitness of a candidate. But it has a few things going for it:
  1. It's about as rational as assuming our current approach has any correlation. Perhaps it's even more rational because with my test we actually don't know what the result would be whereas with traditional interviews we know the results are very bad.
  2. It's virtually impossible to anticipate and prepare for my test -- you can't game it.
  3. If nothing else, the test could be a fun game to break up the monotony of the interview process and relax people.
  4. It might a step on the path to a better system.
If the idea still seems to crazy to consider, it's probably just this.

by noreply@blogger.com (Bruce Eckel) at April 01, 2013 05:20 PM

Paul's Pontifications

This post originally appeared as a response to this article in Forbes:

Thanks for this article; its good to see some opinions on this subject backed up with numbers. I still think you are wrong though.

First, your comparison with the US dollar ignores the effect of fractional reserve banking, which multiplies the ratio of GDP to monetary base by a factor of around 5. Taking that into account, US GDP is only around ten times its monetary base. Still a lot more than Bitcoin, I conceed.

More importantly, Bitcoin is not a normal new currency. A normal new currency is launched by a government with a territory, citizens, tax base and GDP. All of these give those trading the currency some clues to the fundamental value of each unit. Bitcoin has no territory, citizens or tax base. It has a GDP, but that is dependent on the amount it is used, and usage seems to be growing. A better way to think of Bitcoin (as I argue here: http://paulspontifications.blogspot.co.uk/2013/01/bitcoin-as-disruptive-technology.html) is as a disruptive technology; at the moment it is principally of use to those who are poorly served by the incumbent financial industry, but as it improves it will increasingly move up-market by taking business from the incumbents. As it does so the Bitcoin GDP will increase by multiple orders of magnitude, and so therefore will the value of each Bitcoin.

A bubble is defined by the "bigger sucker" theory; that the price will keep going up because there will always be someone willing to pay even more, because the price will keep going up. Bitcoin investment, on the other hand, is driven by a rational expectation that Bitcoin use will increase. If one has a rational expectation that Bitcoin GDP will support a much higher price in a few years time then buying it now looks like a sensible investment. It might also collapse in a pile of bits, but as a speculative investment its certainly worth taking a position in.

Disclaimer: I own some Bitcoins, and I'll think about selling in a couple of years.

by noreply@blogger.com (Paul Johnson) at April 01, 2013 09:28 AM

Dan Bricklin

More JavaScript news

Two additional things on the JavaScript front that I noticed. First, Dave Winer, the innovation-filled pioneer who made a popular outlining application in the early personal computing days, then helped teach many of us what blogging was all about while building and evangelizing tools and standards (including RSS), and pioneered the concept of podcasting, just came out with a JavaScript-based product. It's a simple outliner, called "Little Outliner", that runs completely in a browser, including using browser-based storage. It's the first offering from his new company, Small Picture.

Second, [https://blog.mozilla.org/blog/2013/03/27/mozilla-is-unlocking-the-power-of-the-web-as-a-platform-for-gaming/ Mozilla and Epic Games announced] that they were bringing Epic's Unreal Engine 3 (software for 3D games) to the browser. This uses special JavaScript speed-up techniques (asm.js) and WebGL (graphics hardware support). The demos are pretty impressive. The speed requirements for most regular applications are minimal in comparison to the 3D-fly throughs they are showing. Just the idea of this is pretty amazing.

April 01, 2013 12:04 AM

An old video about the history of pen-based computing

I've been looking at some of the old videos I have, and, as you may have seen on this blog, I've been posting some of the general interest ones on YouTube.

Back in March of 1992, Jean Renard Ward, a software developer then working with me at Slate Corporation, gave a presentation at the Boston Computer Society about the history of pen-based computing. He gave the talk a second time in our office in front of a video camera (though he still used an overhead projector for the visuals). I received his permission to post it publicly, and tweaked it a bit today (the original audio was quite low, so I added gain) and posted it to YouTube. It's a fascinating view of the many, many devices produced before that date (going back at least to 1914).

The video is "History of Pen-Based Computing - March 1992, Jean Renard Ward" and is embedded here:

[Embedded YouTube video on original post on Dan Bricklin's Log.]

Even today he still maintains an "Annotated Bibliography in On-line Character Recognition, Pen Computing, Gesture User Interfaces and Tablet and Touch Computers".

April 01, 2013 12:02 AM

March 31, 2013

Lambda the Ultimate

LtU is migrating from Drupal

As many of you know we have been suffering for a long time from the deficiencies of Drupal. We have not updated our infrastructure for a long time. Among the features members have been asking for are better integration with other sites and more social features. In particular, many said they want to be able to mark the posts that they find particularly helpful. I am happy to announce that we have big news!

In the coming days we will be migrating LtU from Drupal to Facebook. All the awesome features of Facebook will be automatically available; in particular the "Like" mechanism. You will also be able to share photos with other PLT enthusiasts, re-share their shares etc. Best of all, you will be guaranteed the privacy standards of Facebook.

Rest assured, we have not made this decision without considering the alternatives. We studied Google+ but given Google's unprovoked assault on RSS with the decision to discontinue Google Reader we found it unconscionable to go with Google.

LtU's twitter feed will have to go, I am afraid, given the relationship between our new home and twitter. Hopefully this issue will be resolved once twitter gives up and is acquired by FB.

The LtU feed will have ads, per usual on FB. I know this is somewhat of an inconvenience, but at least the ads you will be served will be personalized[1].

Ehud and the LtU Team.

[1] I am assured that ads for dynamically typed and scripting languages will never be served to you again after you mark them as "offensive" once.


Update: No, we are not migrating to Facebook. This was an April Fools joke.

March 31, 2013 09:42 PM

Dave Winer

Scripting News: Ten-year Berkman Thursday reunion meetup on April 25.

It's been 10 years since the Berkman-Thursday group started, and with it, blogging at Harvard. It all happened at the same time Facebook was booting up on campus.

It was an informal group that met at Berkman Center every Thursday evening. Our goal was to boot up a blogging community at the university and in the surrounding community. It was the first university at the time to offer blogging. We needed a way to create a pulse, a weekly event that was open to anyone where you could learn about blogging, and we could learn from each other.

It evolved in a number of directions. New software came out of the group. We planned and succesfully ran the first blogging conferences in the US. We taught a lot of people how to blog. And the sessions themselves were a lot like blog posts. Someone comes in with an idea, talks about it, we ask questions and discuss it. We discussed the things we were writing on our blogs.

The group continued running as a weekly seminar series until a couple of years ago.

Now we're approaching the 10th anniversary and some of the members have expressed an interest in a reunion. I've asked for space at Berkman, and they got pretty excited about the idea, so we're having a Old Timers Day meetup on April 25 at Berkman Center at 7PM, 23 Everett Street.

We'll talk about what we've been doing, what we learned, how life evolved in the last ten years, what we got right and what we got wrong, and what role the Thursday evening meetings played for us. I will also show off the software I've been developing, Little Outliner and other goodies. Some of them will already be shipping by the end of April. ;-)

There should be room for 25-30 people. I've set up an Eventbrite page.

http://berkmanthursday2013.eventbrite.com/

Hope to see you in Cambridge on April 25.

PS: Here's the archive of Scripting News for March 2003. You'll see a lot of the developments at Berkman recorded there.

March 31, 2013 06:27 PM

Alex Schroeder

Never Ending Story

Stop the Hollyweb! No DRM in HTML5

Tags: RSS RSS

March 31, 2013 04:40 PM

Dave Winer

Thread: The creepiest April 1 web page?

A picture named amare.gifThe worst tradition of the net is the April Fools news article.

I have something to announce. I'm quitting. No I'm not. Fooled you!

My competitor is a jerk. Haha. You're a fool.

None of it is funny, and while sometimes you are surprised, the surprise almost never feels good, or right.

It's bad enough that the people who indulge in this idiocy hurt their own reps, but it also makes it hard to do any communication on April 1. North Korea is threatening nuclear war. Haha. April Fools. Cyprus is having a run on the banks. No they're not. But what if they are? What if there really is astounding news on April 1? Are you prepared to believe it?

It would be good if we were all more circumspect about what we read.

But journalists joking about inaccuracy in their reporting is like a surgeon leaving his or her lunch in your chest. Or a programmer deliberately putting a virus on your hard disk. Lies are the stuff we're supposed to be fighting against, not actively inviting in.

If I come across something totally awful, I'll put a pointer here. Feel free to do the same in a comment.

1. TechCrunch wins the award for the first inane April Idiocy post.

2. Scott Radcliffe says he can't wait for Google's announcement tomorrow. So I ask him what they're going to announce and he says he was saying he hates 4/1 in a roundabout way. Oh. Ouch.

3. Seth Godin's is noteworthy because he's the last person I'd expect to partake in the idiocy. Peer pressure? The idea of a $0 Kindle is interesting. Since when does Godin have leaks of product announcements, esp for one of his biggest customers (if not his biggest). It was misleading for a fraction of a second, and then made me want to throw up.

Yours truly,

Dave Winer, 3/31/13

March 31, 2013 01:39 PM

Scripting News: The soul of the new developer.

A picture named knicksUniform.gifJust read this story in today's NY Times about the Stuyvesant High School teacher who wanted to make an elite school to teach computer science to young gifted New Yorkers.

It was a Fred Wilson thing. Fred Wilson is to developers what Spike Lee is to the Knicks. The guy who shows up at every game and roots the team on, through thick and thin, no matter if they start a Brooklyn team (Lee is also a cultural icon of Brooklyn). He loves the orange and blue uniforms of the Knicks and Madison Square Garden. Only in this sport, the fan is confused for the great player by the opinion leaders and gatekeepers. As if all there were to being a champion is having a lot of money (you might argue the opposite is true, the most interesting players are the ones who don't have any money, but hunger for recognition).

The Board of Ed liked the idea so much they stole it and usurped it, and now instead of creating great young talent to flow into Fred's NY startups, they'll create Certified Cisco maintenence guys. Or people who can keep Windows networks running as long as Microsoft is making them. Or Oracle databases.

The fight is a familiar one. Should we create hackers for Wall Street or for the nascent high tech startup industry that's trying to get a foothold in NYC. Fred of course wants the flow for Foursquare and Stack Exchange and Etsy etc. And Bloomberg wants them for Chase, Citibank and the Department of Sanitation.

There is a third possibility. Tell the captains of finance to back off, and let's create some developers who are capable of taking us in new directions. Not into Wilson's companies or Bloomberg's.

Not much chance of that of course. ;-)

So we'll still have Spike Lee coaching the team. Let's keep everything on a steady predictable course. As long as it makes me richer. (Paraphrasing.)

New York has always been run for the benefit of the already-rich at the expense of the gifted artist. Maybe it's not true in every art, but it totally so in the art of creating great world-changing software. In a few years when these kids are ready to work there will be a new league, and no one is prepared today to teach them the skills they will need for that. So it doesn't matter much who controls the curriculum. The really smart ones will figure it out. And they will surprise us and teach us a lot. (And if there's any sanity we will get to teach them a thing or two as well.)

PS: I went to Bronx Science, which is an elite public school, like Stuyvesant. Neither they nor I discovered, while I was a student there, that I had a talent for tech, and my media hacking was seen as a social behavior problem. So I don't have a lot of faith in the idea of elite NYC high schools. However, the students taught each other a lot, and we created our own fun. Which is kind of what I'm getting at in this piece.

PPS: In addition to teaching kids how to be great commercial developers, I'd teach them how to create open systems without lock-in. That's the equivalent of the scientific method for software design. Schools have an obligation to teach the idealism of art, not only the craft.

March 31, 2013 01:03 PM

March 30, 2013

Dave Winer

Scripting News: I'm on the web team.

A picture named cable.gifAny company that takes content off the web and puts it in a private silo is playing on its own team. There are lots of companies doing this, so there are lots of teams. I'm on the team that puts all the content on the web. That means that every bit can have an address. That means it can all be plugged into other applications. So our work multiplies. The value of ideas deposited on the web is much greater than ideas that are trapped in a silo. There are lots of people, companies, universities, libraries, open source projects and governments in "web team" space. It may seem naive for any single company to throw its lot in with us, but when you see the full picture, you see it's actually the other way around. What we create together can be much much bigger than anything a single company can do.

PS: Little Outliner is on the web team too. ;-)

March 30, 2013 08:51 PM

ZZ85

Three.js Bokeh Shader

(TL;DR? – check out the new three.js webgl Bokeh Shader here)

Bokeh is a word used by photographers to describe the aesthetic out of focus or blur properties of a lens or a photo. Depth-of-field (DOF) is the distance objects seems to be sharp in a photo. So while “dof” is more measurable and “bokeh” subjective, one might say there’s more bokeh in picture with a shallower dof, because the background and foreground (if there’s a subject) is usually de-emphasized by being blurred when thrown out of focus.

Bokeh seems to be derived from the Japanese word “boke” 暈け – apart from the meaning blur, it might also mean senile, stupid, unaware, or clueless. This is interesting because in Singlish (Singapore’s flavor of English), it has that same negative meaning when referring “blur” to a person (it probably comes from the literal meaning of the opposite of sharp”. And now you might now know non graphical meaning of the word blur in my twitter id (BlurSpline).

IMG_8537
Here’s a photo of the Kinetic Rain I took at Changi Airport Terminal 1. Especially if you like kinetic structures, you should check out the official videos here and here (in which there’s much use of bokeh too)

I remember the time I knew little about 3d programming when I first tried three.js 2 years ago. I wondered whether camera.near and camera.far were the ways of defining when objects in the scene gets blurred when they are at distances at the far or near points.

Turns out of course that I was really wrong, since these values are used for clipping – improving performance by not rendering objects out of the view port. I had that naive thinking three.js work like real life cameras that I was able to create cinematic like scenes. Some helpful one on three.js IRC channel then pointed me to the post-processing DOF example done by alteredqualia who ported the original bokeh shader written by Martins Upitis.

So fast forward to the present, we have seen that shader used in ROME, and Martins Upitis has updated his Bokeh Shader to make it more realistic, and I attempted to port it back to three.js/webgl.


With focus debug turned on


Testing it in a scene


The example added to three.js with glitters.

So to copy what martinsh say the new shader does, it has the flexibility to
• variable sample count to increase quality/performance
• option to blur depth buffer to reduce hard edges
• option to dither the samples with noise or pattern
• bokeh chromatic aberration/fringing
• bokeh bias to bring out bokeh edges
• image thresholding to bring out highlights when image is out of focus
• pentagonal bokeh shape (experimental)
• bokeh vignetting at screen edges

The new three.js example also demonstrates how object picking can be used and interpolated for the focal distance too. More detailed comments about the parameters were also written on github.

Of course the shader is not perfect, as DOF is something not that simple (there are quite a few in depth Graphics Gems articles on it). Much of it is post-processing smoke and mirrors, the way is usually done in rasterization, compared to Path tracing or so. Yet I think its great addition to have in WebGL, just as we have seen DOF used in the Crytech, Nvidia demos or in other high end games. (There was a also a cool video of a minecraft mod using that DOF shader – but now seemed removed as I recently looked for it).

I would love to see the tasteful use of bokeh sometime, not just because it feels cinematic or been been widely used in photography, i think its also more natural given that’s how our eyes work with our brains (more details here).

Finally it seems that the deadline for the current js1k contest is just hours away – this means I gotta head off to do some cranking and crunching, maybe more on that in a later post! :D

by Zz85 at March 30, 2013 12:15 PM

Giles Bowkett

Music Theory As An Algebra

In the introduction to Charles Pinter's A Book of Abstract Algebra, he covers a very brief history of algebra, examines differences between matrix algebra, numeric algebra, and boolean algebra, and then says:

Other exotic algebras arose in a variety of contexts, often in connection with scientific problems... Today it is estimated that over 200 different kinds of algebraic systems have been studied, each of which arose in connection with some application or specific need.

As legions of new algebras began to occupy the attention of mathematicians, the awareness grew that algebra can no longer be conceived merely as the science of solving equations. It had to be viewed much more broadly as a branch of mathematics capable of revealing general principles which apply equally to all known and all possible algebras.

What is it that all algebras have in common? What trait do they share which lets us refer to them as "algebras"? In the most general sense, every algebra consists of a set (a set of numbers, a set of matrices, a set of switching components, or any other kind of set) and certain operations on that set. An operation is simply a way of combining any two members of a set to produce a third member of the same set.

Thus, we are led to the modern notion of algebraic structure. An algebraic structure is understood to be an arbitrary set, with one or more operations defined on it. And algebra, then, is defined to be the study of algebraic structures...

Any set, with a rule (or rules) for combining its elements, is already an algebraic structure. There does not need to be any connection with known mathematics. For example, consider the set of all colors (pure colors as well as color combinations) and the operation of mixing any two colors to produce a new color. This may be conceived of as an algebraic structure. It obeys certain rules, such as the commutative law (mixing red and blue is the same as mixing blue and red). In a similar vein, consider the set of all musical sounds with the operation of combining any two sounds to produce a new (harmonious or disharmonious) combination.


Pinter's definition is of course almost insanely broad. "Combining any two members of a set to produce a third member of the same set" describes sexual reproduction, the construction of sentences, software development, Borges's infinite library, and a huge variety of other things. As long as you can discover any form of predictable combinatorial patterns, you can infer rules exist. But I like this definition very much, because it is a really useful way to understand music theory, especially Western musical notation, which definitely qualifies as a sophisticated and deep algebra under Pinter's definition.

Of course, music theory is not everything. Orchestral musicians have a saying that "90% of the music is not in the score." (The term "score" refers to the written representation of the music.) The same is extremely true of my own long-term obsession, electronic dance music, where the number might be nearer 99%. It's very, very common in both techno and trance to play the same melody or bassline repeatedly, changing the timbre (or sound design) while leaving the motif unchanged.

Here are a couple of very illustrative examples. It occurs quite a lot in other subgenres as well, of course; the first example is from drum and bass. There's also good coverage of this in Unlocking The Groove, which despite its seemingly casual title is a thick academic book from a music theory PhD.

Anyway, although music theory is not everything, dance music is as hopeless without it as any other form of music. And speaking of challenging books, I'm only about 20 pages in — three appendices and half an introduction — but Pinter's book is so far the most entertaining book on math I've read in a very long time.

by Giles Bowkett (noreply@blogger.com) at March 30, 2013 10:41 AM

March 29, 2013

Dave Winer

Thread: I'm not making blogging tools. :-)

First, I really appreciate Mathew Ingram's writeup in Gigaom about what we're doing at Small Picture. If you haven't read it, and you're a regular here, go read it now. Lots of good stuff. ;-)

However.. (you knew that was coming)

We are not making blogging tools.

We are making software for creative people -- writers, designers and programmers. Inevitably that means it will connect to blogging systems, because blogs are fixtures in the world of 2013 and beyond. And it's certainly possible that one can create a blogging system using our backend (not released yet). But our business is not what his headline says it is.

Mathew is totally entitled to his interpretation.

And of course I'm entitled to comment on his interpretation. :-)

Why this is important?

1. Our product should not be evalutated based on its capability as a blogging tool.

2. We see blogging products as complementary to ours, not competitive.

3. I even made a proposition to vendors of blogging tools, and the offer is still open (and I will make it again, in new contexts as the software develops).

I want to make great editing tools, for writers, designers and programmers.

That's our mantra, at least one of them. ;-)

And finally thanks to Mathew for such a thoughtful and otherwise accurate piece.

PS: I can totally see why it's confusing, esp based on some of the things I've said. I will try to be more careful about that! :-)

March 29, 2013 05:10 PM

Giles Bowkett

FlexVerb: A Serious Toy Language

Here's a few tweets from before I recently disconnected from Twitter:



These tweets prompted a few interesting responses, but the discussion didn't really go anywhere. That's partly because I decided I'd rather make a real example than discuss hypotheticals.



Unfortunately, I didn't get as far as I would have liked. It turns out implementing a language is hard. But I did create a basic implementation, along with a Vim syntax file to enable syntax highlighting, and post it to GitHub as FlexVerb.

The readme contains 1,828 words. It starts like this:

FlexVerb is a barely-implemented programming language based on Latin and Ancient Greek. It is essentially a blog post, in executable code form, about an obscure linguistic quirk and its unexpected benefits.

Although I absolutely cannot recommend FlexVerb for production use, or even (in its current state) any programming tasks beyond the most utterly trivial, I can very confidently recommend reading its code — for anyone interested in parsing expression grammars, or a gentle introduction to language implementation and Vim syntax highlighting — and reading its readme, for anyone interested in programming language design or linguistics.

As far as I can tell, linguistics only concerns itself with the commonalities of human languages; I think my readme also implies a fairly compelling argument for the development of a linguistics which studies computer languages. Also, just to really push my eccentricity to new heights, I would love to see a linguistics which explored the commonalities between computer languages, human languages, bird calls, dolphin calls, primate communication, and the dancing of bees.



Update: Speaking of dancing, nearly everything I know about Romanian comes from dance music, and many of the things I say about Latin and Ancient Greek in FlexVerb's readme also apply to romance languages, especially ones whose classical origins are very easy to trace, like Romanian.

by Giles Bowkett (noreply@blogger.com) at March 29, 2013 05:07 PM

March 28, 2013

Dave Winer

Scripting News: Make a Twitter out of RSS.

As developers rush to fill the Google Reader hole, it seems everyone is trying to reproduce Google Reader, almost verbatim. It's understandable. There are a huge number of fans of Google Reader who will be without Google Reader as of July 1. So when they tell you what they want, it's no surprise that what they come up with is basically, Google Reader.

I think/hope they will be well-served.

But there's an opportunity to do something different that might be equally interesting. Without asking users what they want, create a product based on a different hypothesis.

  • A famous platform vendor once asked me if the users were asking for ThinkTank, my first product, before I created it. He had a point. There were no users before there was a product. So they couldn't ask. Because they didn't exist.

The hypothesis: What if Twitter were, in every way, open.

A picture named rssTShirt.gifWhat would that look like?

1. First, it would look like Twitter. There would be a box at the top of the page that asks What's Happening, and below that a sequence of new items from people you follow, in reverse-chronologic order.

2. It would be easy to follow someone. When you're looking at their profile page, there would be a big easy to see button that says Follow. It would not say Follow in Product X or Follow in Product Y, etc. It would not open up a huge dialog with a list of products you could follow it in. It would say Follow. And when you click it you Follow that person. No questions asked.

3. It's a web app. No synchronization among different clients. Supply an API if you like. But like Twitter it's always reverse-chronologic, and it doesn't remember what you haven't read. Yes, some users won't like that. They will use the other kind of RSS app, the ones that synch between clients. (See the first paragraph of this piece.)

4. No lock-in. That's where it gets tricky. But it's a different kind of tricky than the people cloning Google Reader will encounter. Over there, you have to synchronize news items among lots of possible clients. Here you have to let the user tell you where she stores her subscriptions (and that will determine who gets the message when the user clicks on the Follow button). Beyond that, every developer could experiment with different scanning possibilities, and different presentations, and different whatevers.

This is my dream system. I would happily make components for it. I'm just one user, for sure, and you might have to think a bit more to do this one vs the straight Google Reader clone. But there's also more opportunity to innovate. And it won't just be a repeat of the last 8 years.

March 28, 2013 12:45 PM

Blue Sky on Mars

If Only I Knew This Shit in College

I knew I wanted to work in tech.

Looking back, that's really all I knew prior to graduating from university and joining the working world. I was invited back to give a talk at my alma mater recently and I wanted to give a talk to my less-than-knowledgeable former self and explain to him what he'll learn in the subsequent years after school.

This is that talk.

Slides

March 28, 2013 07:00 AM

GitHub: Behind the Feature

In the beginning of 2013, we shipped a new version of Search to GitHub.com. This talk takes a peek behind the scenes to illustrate how we build features at GitHub. It's a good beginner-level look at how startups work in teams together and deploy a product to the general public (initially this talk was given at a university).

Slides

March 28, 2013 07:00 AM

March 27, 2013

Giles Bowkett

Highly Recommended: The Inner Game Of Music



Credit where credit's due, I got the idea to read this from Zed Shaw. It's a good book. It goes well with The Talent Code, too.

by Giles Bowkett (noreply@blogger.com) at March 27, 2013 08:56 PM

Alex Schroeder

One Page Dungeon Contest

Yes, the Spring Equinox has come and gone and now it’s time the run the 1PDC again! :D vee <33">3"> 8-D star star star

One Page Dungeon Contest 2013!

Dates: Submission deadline is April 30, 0:00 GMT (Tuesday evening). If you live West of Greenwich, you will have to send in your submission a few hours before the end of the month! Winners will be announced June 1.

Help spread the word!

Prizes & Sponsors: Do you have prizes to donate? Let me know → kensanata@gmail.com!

Submissions: Here’s how to submit your entry.

  • Create a One Page Dungeon.
  • Submitting a dungeon to the contest releases it under the Creative Common Attribution-Share Alike 3.0 Unported license with credit to the contest participant.
  • The submission must have a name, an author, and a link to the license (http://creativecommons.org/licenses/by-sa/3.0/).
  • The judges and readers play a variety of systems. Don’t waste valuable space with a lot of system-specific stats.
  • A link to extra material on your blog such as wandering monsters, random events, adventure background, introduction, descriptions of tricks or traps are welcome for readers but will not be considered part of your submission.
  • One entry per participant. Participants may revise/replace their entries up until the end of contest, with the last revision counting as their official entry.
  • If your font size is too small to read, you will most probably not win.
  • Many people will print your submission as a black and white document. Adding colors is no problem as long as the black and white printed copy is still good enough.
  • Help us keep file size in check. A single page should not take more than an image with 3000x2000 pixels (1-2MB is cool, 5MB still works, 10MB is too much).
  • Submission must be mailed in PDF format to Alex Schroeder → kensanata@gmail.com. Usually we can help you convert your Open Office and Microsoft Word documents to PDF.
  • If you have a blog article talking about your submission, send us the link. We’d love to link to it from the One Page Dungeon Contest page.

Process: Here’s how we’ll determine the winners.

  • Every judge nominates their favorite entries and proposes a category for each.
  • We try to make sure that every judge has at least three of their nominations in the final list. The idea is to not only reflect popular opinion but to also capture some of the more eclectic entries out there. We’ll make sure that every judge is well represented with three entries each.
  • Based on the categories proposed in the first step, we try to assign a category to each entry on the list.
  • Judges gets to check whether their favorites are still on the list.
  • We fix omissions and rename categories until we’re happy.
  • We publish our list of winners!
  • We will ask each winner for three items they’d prefer to win and any items they prefer not to win. Then we try to do a best match, giving precedence to those winners that got more nominations in the first step.
  • All the entries and a special PDF with all the winners will be available for download at no cost.

Tags: RSS RSS

March 27, 2013 08:55 PM

Mark Bernstein

Why We Go To Conferences

My mailbox has been filled lately with queries from happy Web Science authors. They are happy but few: our acceptance rate is going to be around 35% if you include posters (which you should) or 15% if you don’t (and various grant agencies and provosts and pointy-headed bosses do not).

Some people want to know if they can publish their paper without attending the conference. Some people want to know when they are scheduled to speak, so they can rush off to another city after they’re done.

This is wrong. If we wanted to publish a bunch of papers, we’d do that. That’s called a book. I’ve seen books before. So have you. A conference is not a book.

More than fifteen years ago, I was at a hypertext conference. There was a big demo session, and Norbert Streitz, already a big wheel at GMD, was personally demonstrating his group’s SEPIA. One of the details of its hypertext map was that, when you moved a note, the links moved while you dragged.

I’d assumed that we couldn’t do that, that the performance would be too slow. “I don’t think it will be too slow,” Dr. Dr. Streitz reassured me.

“What if we want to use the Nanards’ lovely curved links?” I asked. Marc and Jocelyn Nanard were demonstrating, too, and their demo introduced Bezier curve links. Before then, links had always been straight lines.

“That might be slower.” Dr. Dr. Streitz admitted. “You’ll have to find out.” Streitz and company were using workstations, while we were tied down to slower personal computers. When I came home, I decided that we needed the curved links and discovered that live updates were going to be painful to do with the old Macintosh operating system.

And so we’ve had curved links for fifteen years, and we won’t have live link updates during Tinderbox drags until Tinderbox Six ships. You see, I didn’t forget, and so fifteen years later we finally get the feature out to everyone.

It’s a small feature. You couldn’t write a paper about it – not today, anyway, because the reviewers would want evidence that the new way is better. It’s obvious that it is better, but proving it with the blunt weapon of clinical psychology is another matter.

Every system has lots of these details, and every system is the result of lots of design decisions. There’s lots to learn from sitting down with the people who do work like yours and finding out what went well and what didn’t. You won’t get that from the digital library, and you won’t get it from books. That’s what you do at conferences.

It won’t work if you aren’t there, or if the other people aren’t there, or if only students do posters and demos. It’s hard to size people up quickly. If a student tells you “we tried this and it was too hard,” you have to find a quick and polite way to learn whether it was hard because the student had never done that before, or whether it was hard because the task was basically impossible. If you’re talking to the principal investigator and she says it was hard, you can probably assume it’s hard.

It won’t work if the audience doesn’t listen. I’ve been glum lately because I wrote a few papers to which nobody seems to have paid much attention. But it’s not just me: I’m not sure anyone is really paying attention these days. Lots of computer science papers right now seem timid to me, as if their authors were chiefly worried about rejection and would rather be forgettable than rejected. Lots of eLit papers seem obscurantist, as if their authors were chiefly worried that to be understood is to be found out. And everybody seems in a terrible rush to get to the next conference or to get home.

Passivity is the curse of a bad economy. This isn’t just a moral failing, but a symptom of the gradual drift of the CHI branch of computer science toward psychology and sociology. If we’re passively studying observed phenomena, then your results may not carry much urgency for me. You’re studying Scarlet Tanagers and I’m studying Fritillaries and, while your results may be very interesting, nothing you learn about birds is really going to change my plans for next week’s butterfly experiments. Back in the day when we were all building systems, your curved links and your animated drags became next week’s development agenda.

March 27, 2013 08:08 PM

Lambda the Ultimate

Who's online

Earlier today I enabled a drupal feature that list the names of users currently online. It was on the bottom of the right-hand navigation bar, and looked something like this:

Who's online
There are currently 7 users and 887 guests online.
Online users:

Matt M
Ehud Lamm
Mattias Engdegård
naasking
Andreas Rossberg
...

Some might see this as a privacy violation or otherwise object. Since I heard complaints I disabled this feature. What do you think?

March 27, 2013 06:51 PM

Mark Bernstein

Little Outliner

Dave Winer has a new little company and a new little product. It’s called Little Outliner, and it’s a big deal.

March 27, 2013 05:07 PM

Brian Marick

Does mocking privates hurt testing as a design tool?

No.

.

.

.

.

.

Oh, OK.

@ctford asks:

@marick Have you blogged anywhere about with-redefs [a Clojure function used for mocking] and how it relates to mocking private fields in OO? I’d be interested in your thoughts.

@marick My concern is whether by using a test mechanism that prod code can’t exploit, am I reducing some of the design benefits of TDD?

——–

In order to design, the designer must find words (abstractions, if you wish) that give her leverage when thinking about the code.

In order for that leverage to carry over to writing and later changing the code, those words have to appear in it. Most importantly for a language like Clojure, verbs have to be reified as functions.

Testing makes design rigorous by forcing it to be concrete along a different dimension than coding (dynamic rather than static). Tests should therefore have executable (mockable) access to reified verbs.

A programmer using a function may need a conceptual understanding of those verbs, but does not need direct access.

Therefore the reified verbs may be marked private - but only if the tests have a way to evade that. (That is, the need to do the right thing with testing trumps the desire to prevent a future programmer from doing the wrong thing.)

In practice, I’ve found it mildly helpful to add a “testable” access level to public/private. That divides a chunk o’ code into (1) functions of interest to normal users of the code, (2) functions those users don’t need to care about, but that are important for understanding the idea behind the code, and (3) functions that are just a coding convenience.

by Brian Marick at March 27, 2013 04:55 PM

Dave Winer

Scripting News: An open note to tech press/bloggers.

We just did a great rollout, the product is fantastic. This is going to move tech in a new direction. It'll create new standards. I'm absolutely sure of it.

Yet, even with my track record as one who leads change in technology, the release of this software has gotten almost no note from leading tech bloggers and reporters.

That's okay, because it'll happen without them. Last time I pushed something through, it didn't get support from the press either. And the time before that. We can make it happen without their help.

I think they're comfortable with big software ideas coming from big companies. But I can't make change happen within the context of a big corporation. Too much second-guessing, too many strategy taxes, too many phony business models. So I choose to do it as an independent.

A picture named bike.gifI think software is like other creative arts -- music, architecture, cooking, even design of everyday things like bikes and clothes. It takes a relentless focus on the act of using, and what kind of effect you want to create. Learning from others, and stealing from the best. Only. ;-)

We can do it on our own but it would be easier if we got help from influencers and gatekeepers. So if you like anything that I helped bring about, blogging, RSS and podcasting and a few other things, please have a look at Little Outliner. It's a little product, yes -- but one with very big ambitions. ;-)

These are early days, the product is very simple, and well-documented. We went to great lengths to make it easy to understand.

Helping users understand new relevant technology is what you do, after all.

PS: I did not include comments on this post because this is the kind of thing that attracts a lot of trolls.

PPS: To users, this is why you haven't heard much about Little Outliner in the tech press. There's nothing wrong with the product.

March 27, 2013 03:30 PM

Scripting News: Thinking like an outliner.

A picture named tales.gifI'm sure Bob Stepno won't mind if I use his question/suggestion as an example of how outliners are different from most other programs.

On our Q&A page, he asked how do you select-all in an outline. He was disappointed that when you press Cmd-A it only selects the siblings at the same level as the bar cursor headline. He felt it should select all the text in the outline.

My answer was that like almost every operation in an outliner, select-all is scoped. When you select a headline, you are implicitly selecting all the headlines that are subordinate to it. So if you want to select everything in an outline, move the cursor to one of the summits, and do the select-all there.

This is fundamentally different from the way a word processor or spreadsheet works, but it's exactly the way the Finder or Windows Explorer works, which are also scoped. When you select-all in a folder, it doesn't select all the files on your computer -- it just selects the files in the folder you're working in.

Why does it work this way? Well, an outline can logically contain many documents, not just one. For example, I'm writing this blog post in an outline that contains all my posts dating back to March of last year. If I did a select-all here, I'd want it to select all the text in this post, not all the text in all posts. However if I wanted to select everything, I could do that, by putting the cursor on the top level headline, as illustrated in this screen shot.

March 27, 2013 01:45 PM

Lambda the Ultimate

March 26, 2013

Simplest Thing (Bill Seitz)

James Altucher on stopping the BullShit

What the hell! We had no idea what we were talking about!

Gravity on the blood? The intestines cleaning themselves while upside down? Hahaha! Colon? What the hell is that all about? “How long would he be in a headstand”? Hahaha. Look at me! I NEEDED to know “how many hours”.

I don’t know. We talk talk talk. Really smart stuff all day long. I had Claudia record me the other day whenever I talked BS.

I want to catch myself today every time I waste air by talking baloney. When I actually look at the subset of things I know, it’s very little.

I’m going to be thrifty with my thoughts and words.

Yes! A lot of the noise in our lives is what we create ourselves.

March 26, 2013 03:34 PM

Alex Schroeder

Quick Sketch

Doodling during a meeting…

https://farm9.staticflickr.com/8092/8591737443_884be7c1c2.jpg https://farm9.staticflickr.com/8238/8591772567_727a14e3f9.jpg

Tags: RSS RSS

March 26, 2013 03:12 PM

Fog Creek

Sign Up For the FogBugz Beta!

Want to see what’s coming in the next version of FogBugz? Now you can! The FogBugz team has been hard at work on a project we’ve code-named ”Ocelot” for the past several months. We’ve rebuilt the core pages of FogBugz to use a completely new architecture that’s significantly faster. Like, seriously fast. And now we’re ready to start sharing it with you!

 

What’s shiny and new?

The new version of FogBugz is a single page app when it comes to the list page and the case page. What’s that mean exactly?

  • a super fast list page for listing and filtering your cases
  • a wicked fast case page for viewing and editing individual cases
  • blazing fast search for finding the cases you’re interested in
  • and blink-of-an-eye fast transitions between these pages

We’ve been dogfooding the new UI internally for a couple of months now and it has really improved our own experience of using FogBugz. We hope you’ll like it!

Riding the Ocelot

 

A Word of Caution

This is a beta, so there will be bugs. If you find one, please contact our customer service team and let them know. Furthermore, since we’re trying to get this into your hands as soon as is humanly possible, there are some caveats to the beta:

  • The beta is for FogBugz On Demand accounts only.
  • The beta UI has only been tested in Firefox and Chrome. Support for IE10 and Safari are on our TODO list and they should mostly work, but they might not and you will probably run into cosmetic issues.
  • Customizations from the BugMonkey Plugin will not apply to the beta UI.
  • With a few exceptions, existing plugins will not interact with the beta UI.
  • A number of features have not yet been implemented including:
    • Custom fields
    • Quick case add on the list page
    • Graceful handling of concurrent case editing
    • Similar speed improvements and single-page-appification to Wikis, Discussion Groups, Reporting, Admin pages, etc.
    • The Working On menu
    • Searching Wiki Pages and Discussion Groups from the main search box
  • With the exception of some specific text used in outgoing emails, the beta UI is not localized

 

Share your Feedback

We’re looking for feedback on: How the application feels, your general impressions, any missing features that impact your day-to-day workflow, and of course any bugs you find. Once you’ve started using the beta, please contact our customer service team and let them know what you think!

Once your account is enabled for the FogBugz Beta, you can enable and disable the beta UI on a per user basis from a link in the top right corner. If you later decide that you’d like your entire account taken off of the Beta, just let us know and we’ll be happy to take care of that for you.

 

Sign Up!








by Aaron Maenpaa at March 26, 2013 01:57 PM

Dave Winer

Scripting News: The missing HTML 5 local storage FAQ.

A picture named html5.gifAfter a few thousand people looked at Little Outliner yesterday, it's clear that some users are uncomfortable with the idea of local storage. For many, apparently this is the first time they have encoutered this HTML 5 feature.

I looked for a user-oriented FAQ on local storage but all I found were descriptions of the feature for developers. And for developers, there really isn't that much to know. I've put the details under this headline, you can expand it if you care.

  • There's a new browser object called localStorage. It behaves like any other JavaScript object except it persists. That means the next time the user comes back to your site, the storage will still be there, exactly as it was last time they visited.
  • In most browsers the object is attached to a single domain, so joe.userland.com and mary.userland.com will have different localStorage objects. Apparently Firefox is different, in that joe and mary share a localStorage object. There are reasons to do it either way. It would be nice if they all did it the same way. ;-)

So here are some answers to frequently asked question.

1. Where is local storage stored? It varies from browser to browser. Some users have explored in the system settings folders on various operating systems and found the files. They look like they're SQL databases.

2. How much space does it use? The per-domain limit is 5MB.

3. When you clear the cache does local storage get cleared too? I don't know.

4. Isn't local storage like cookies? Yes, it's very much like cookies, except cookies are limited to 4K, and local storage can go up to 5MB. The difference in size reflects the difference in times. When cookies were invented, in the mid-90s, computers had a lot less memory. Today it's not uncommon for a new computer to have a terabyte of disk space. 5MB today is like what 4K was back then. It seems silly to live in a world limited by the machines of the past. But cookies couldn't change without risking breakage, of the web itself. So local storage was a good answer. Also local storage is simpler to program than cookies, but not so much simpler as to make a huge difference.

5. Isn't this a potentially dangerous feature? We are very responsible about our software, we just want people to make outlines and be happy and want to use the new stuff we come out with. This is a business for us. So we would never use it in a harmful way. Not only would it be against our interest, but it would be professionally unthinkable. That said, localStorage is a potentially dangerous feature, in the hands of a malicious website. This is something the browser vendors will probably have to address sooner or later. Probably sooner. ;-)

6. How can I get rid of what you stored on my computer? I can only answer for our product. If you delete all the text in your outline, that will get rid of most of what we store. There will still be an empty outline in local storage, and a count of the number of times you saved. That takes up about 140 characters, or coincidentally, the size of a tweet. If even this is too much to bear, we can add a way for you to delete that too. (I imagine someone will say that it is, so I'm already preparing to write the code.)

If you have other questions, ask them below and we'll try to answer them, the best we can.

March 26, 2013 12:56 PM

Giles Bowkett

Rapid Weight Loss Is Easy

In 2009, I lost 60 pounds in six months, and I thought I was a badass, because I'd seen people go on Oprah and similar shows to brag about how they lost less weight than that in twice the time frame. But after a while I got lazy and stupid, and I started eating the way Americans normally eat, and I soon re-acquired the weight problems that Americans normally have. So eventually I got a hold of my senses, and in the past two months, I've lost 32.5 pounds, which is a very swift rate of weight loss. In fact, most of the weight loss comes from one week in February, when I lost 20 pounds, and the past two days, in which I've lost 9 pounds.

In February, I fasted for 7 days, and as of right now, I'm on day four of my second fast of the year. "Fasting" in this context means no food, only water, and limited amounts of water; I do not consider a "juice fast" to be a real fast. (In fact, strictly speaking, I don't even consider the phrase "juice fast" to be semantically meaningful, since it's a contradiction in terms, but that's a huge digression.)

I prepared for these fasts with a few tiny fasts (one day or two days) in 2010. I underwent my first serious fast, in February, after extensive research, but with no medical supervision. I plan to eventually do a month-long fast under medical supervision, for reasons I've already explained in another blog post. But I'm only doing a four-day fast currently, maybe five days at absolute maximum, so I'm not operating under medical supervision this time either, although I did consult with a doctor first. The doctor in question was an apprentice, of sorts, to a doctor who has consistently achieved incredible results with fasting and nutrition; for instance, in the area of heart disease, his track record surpasses that of literally every cardiologist in the United States, which is somewhere between 8,000 and 20,000 doctors. He's also had similarly remarkable successes in several other areas, such as autoimmune diseases, but I haven't investigated those in similar depth.

Caveat time: I am not a doctor. This is not medical advice. This is my own opinion and personal experience only. There's also the fact that fasting is very much easier for me than for most people, because I eat a very strict nutritarian diet which does not contain meat, processed chemicals, or white flour. (The diet has other restrictions but these are the restrictions which, as I understand it, make fasting easier, because those substances affect blood sugar stability, and induce various forms of frequent, mild toxic shock.)

Most important caveat: the process I'm using is not simply to stop eating. The process looks more like this: 1) spend a few hundred dollars on Amazon buying every book on heart disease which looks as if it might be worth a damn; 2) find the one book which actually is worth a damn; 3) read literally every word that the author of that particular book has ever written; 4) consult directly with a doctor under his personal training. And technically, the process is even more involved than that. I evaluated the "worth a damn" criterion after developing an entire career around the judicious application of structured logic to business problems, aka software engineering, as well as studying classical languages, philosophy, and logic continually from the ages of 14 to 20. If you make logic the focus of many years of your life, "worth a damn" implies high standards of logical rigor and supplementary research.

That being said, I'm visibly overweight, and when I just stop eating for a few days, I lose weight. It doesn't take a genius to see the connection. It does, however, take some epic research into nutrition to avoid packing the weight back on again once I resume eating. So perhaps I should say "rapid weight loss is hard," or "rapid weight loss is easy in context," or "rapid weight loss is easy, if you are already conforming to strict dietary rules which make your blood sugar remarkably more stable than the average American's," but that's kind of wordy. I've always felt that five words is the optimum length for a blog post title, and I don't mind passing along the implicit assumption that all people, everywhere, should use research, logic, and self-discipline by default, because I can mostly agree with that assumption in principle, and I can absolutely agree with it in the context of a programming blog.

Before I discovered how easy fasting can be, or the work of this incredible doctor, I took a very fatalistic attitude towards my weight problem. If that sounds like you, I want you to understand that you can obliterate your weight problem easily, as long as you can muster the necessary research, logic, and self-discipline. (And if you're weak in any of those areas, you can cultivate discipline by studying martial arts or musical instruments, while studying either software engineering or classical Western languages will strengthen both your capacity for research, and for logic.)

One final caveat: although I am still overweight, I might not actually be visibly overweight any longer.

by Giles Bowkett (noreply@blogger.com) at March 26, 2013 12:23 PM

March 25, 2013

Tim Ferriss

The Alchemy of Writing — More Tips from a Pro


Ernest Hemingway used to leave his final sentence of each day half finished. It gave him an easy starting point for the next morning.

This interview on the creative process is part II in an interview with award-winning author Fred Waitzkin. Part I can be found here.

Reading time:
- Bolded points (teaser) – 3 minutes
- All – 15 minutes

TF: But what about “inspiration”? Does it exist for you?

For me, inspiration is primarily energy. If I feel energy for a paragraph or a description I can almost always get to the essence of it. If I feel dead to myself, I don’t have a chance. I am always looking for energy. Where can I find it? What or who can give it to me? How can I amp up what I have?

A story can help us here. An older friend of mine was once depressed about his advancing years. He lacked zest or motivation for his regular gym workouts. He couldn’t concentrate on his career. One evening this man found himself in an elevator with a woman, a housekeeper who had worked for him in the past. But she was wearing outside clothes, a tight fitting sweater. She was young and beautiful. They talked a little. There was chemistry. She got off the elevator at his floor. They chatted in the hall. She said that she found him attractive. But he could feel this even before she said the words. She embraced him. And that was it. Nothing more happened between them. He was married and not looking for an affair. But he felt a big surge of life. He felt renewed, deeply so. There was a bounce to his step. He returned to the gym feeling ten years younger… There are many ways to experience the girl in the elevator.

If I’m beginning an important new project I try to get away for a few days to feel a different spirit–islands work for me. My mother was a great painter. She spent much of her life on Martha’s Vineyard because the tree line outside her house felt ominous and that spurred her work along with the sound and smell of the ocean.

I look for energy all over the place. Often just riding my bike along the river for three miles from my house to the office heightens my mood. Then I make a cup of green tea and look at my work from the previous evening. I always read back several pages before I try to write anything new. Moving back through interesting material seems to give me momentum to push ahead…

But what if there is no energy? I read the paper. I switch on sports talk radio. I look at my watch. I pace. I am eyeing the lunch hour. It’s getting closer to lunch. One hour before I meet my friend Jeff for turkey burgers. Forty-five minutes. Now I’m getting nervous. Thirty-five minutes before I have to leave my office! Suddenly I feel an urgency. I CAN’T leave for lunch without writing one good paragraph. I’m sweating, feeling the time pressure… and the words pour out. Sometimes a writer can do more in a fervent half hour than in a dreary eight-hour day. I’ve often played this game with myself.

There are many energy tricks. Sometimes in the afternoon when I’m groggy I wander over to Starbuck’s for a coffee. But it’s not just caffeine. I know all the women who work there. They know me. We chat. I love these talks–okay, innocent flirtations. Sometimes I even get a free latte. When I get back to my office I usually feel fired up.

Here is a story about deep mining for inspiration. Early on in the composition of The Dream Merchant I had an impression of the woman whom I wanted to be the great love of my central character’s life. She would be something like the girlfriend of Eddie the pool hustler, played by Paul Newman, in the great movie, The Hustler. She would be beautiful but a little worn from love and tough living. But her accessibility made her all the more desirable. The actress who played that part, by the way, was Piper Laurie although when I thought about what my character looked like, she was more voluptuous like Marilyn Monroe. This character would be hugely important in my book. She would have to be Jim’s match—she would love Jim and ruin him. Only problem was, I had never known someone like this.

I talked about the problem with Josh [his son, the subject of Searching for Bobby Fischer] and one day he proposed an idea. “There is someone I want you to meet,” he said. He arranged lunch for me with a young actress, Maya, a girlfriend of a friend of his. We met in a restaurant. Maya was sensual, the right body type, and gorgeous. I spent more than an hour describing the character I wanted to write—her name was Ava. Maya listened but said virtually nothing. She was a sweet girl—NOT Ava. This great idea was beginning to feel like a failure. But then when we were leaving the restaurant she turned to me and her entire being had darkened, she had become sultry and damaged. It was thrilling. She was becoming Ava. She was Ava. It gave me chills.

For the next year we would meet in my office about once a month. I would send Ava, no Maya, a long email describing what I needed from Ava in the next chapter of my novel. Then during the course of an hour or two together we would imagine the scenes or she would act them out. When Maya left me at the end of a session I was shot out of a gun to write the new material into the novel. As time went on, I did less talking and Maya held court. After a year of this she had truly become Ava. I put her in dangerous situations and she embodied Ava’s responses, her muted passion, her madness, a reckless impulse to bolt to the edge of the cliff. Would she fall? I think it was deep fascinating work for both of us…Just to say, I’ve never tried to create a character in this manner before or since. But I could never have written Ava without Maya.

TF: Do you have any friends you rely on to help breakthrough deadlock? If so, why do you find them helpful?

I have a couple of friends that I rely upon. They are very perceptive about the human heart. I’ll talk quite specifically about what isn’t working in a section of my book. I listen closely to what they think. I’ve done this many times. My wife Bonnie has helped me many times like this.

Here is the curious thing. Often her advice or the idea of a friend isn’t what I end up doing. But listening to the ideas engenders a new idea. The whole point is that you have to get moving. Movement begets movement. You need to get unstuck.

TF: There are many people with brilliant ideas, fascinating lives, and a good feel for language–but who have never seriously taken on the art of writing. What is some specific advice you would give to up and coming writers?

If a young person is not passionately motivated, talent aside, I would never encourage him to try to become a professional writer.

Even if you love writing, and it possesses you with missionary zeal, it is such a hard thing to do. First you need to learn the art, and the path is littered with generations of talented writers that couldn’t sit alone in a room and apply themselves for thousands of hours to become really good. Then there are legions of devoted writers who did good work but couldn’t crack the profession, they couldn’t get published or if they did they couldn’t make a living. It is a very tough field.

But whenever I happen to meet someone who is talented and possessed by writing, and particularly a youngster, it is a great pleasure to have a chat. However, the conversation needs to be personal to have any real meaning. I need to know my “new friend” somewhat deeply, to feel the play of his mind and what turns him on before I would presume to offer advice. There are many different ways to be a writer.

For a teenager who is dreamy, who makes uncanny associations like a poet, it can be ruinous to force onto him a rigorously academic approach to writing, even with a good teacher. Teaching him to compose organized mannered essays, like all the other smart boys in class, can make him inhibited and ultimately edit the imagination from this unusual fellow. For another classmate who plans to be a lawyer, proper carefully constructed essays are perfect.

A writer has a core, a sensibility to draw from like pulling gold from his own acre of earth. What you have to say on the page will be different than what I would say. Good writers have their own voice. A paragraph by Philip Roth sounds like Roth. His sensibility and prose rhythms are all through his pages. Same for Hemingway or Thomas Mann. A young writer can deepen his voice and make it richer. But a writer is on perilous ground when he moves away from his core into an area he doesn’t know, when he “lies” or when he cheapens himself with compromises.

Let me give you an example. I have a young friend who is gifted with words and sentences. The scenes he writes are emotional. And he feels impelled to write. He’s got the right stuff. This young man has led a difficult life. He is an orphan. As a teen he became an addict and alcoholic. He suffered greatly getting clean. He’s known a lot of women and hurt some badly. Okay, in shorthand, that’s his base. It is very rich with pain and dark-side-of-the-moon adventures. But whenever he writes more than a paragraph he feels the need to say that in his new life he is redeemed and he is so grateful. He proselytizes. The embarrassment about his past life is thwarting this writer who has such an interesting story to tell. It makes it hard for him to dig deeply. It is difficult to get over such habits like a quarterback who has an awkward throwing motion. But he can do it if he wants it badly enough.

Here is one generalization that might be useful: A good writer needs to become intimately involved with “fictive truth.” Bullshitting never works in writing—a good reader can always tell when a writer knows what he is talking about. If you write about the ocean, you must know the movement of the ocean, the smell and taste. Don’t try to invent it. It will smell like a fake. When you are trying to create a character he or she must be “true.” Fiction is not making up stuff out of whole cloth. It is always linked to a writer’s experience. Fiction is a wonderful tango between the writer’s experience and his imagination.

When I write a scene I always put it to a personal test: does it relate to something that has happened in my own life either directly or by analogy? Perhaps something similar happened to my father or a close friend. If I can feel it deeply, and if I know my craft, then chances are you will feel it. If I am guessing, chances are I will fall on my face. Even if you are writing fiction, research isn’t cheating. If you are writing about the ocean, go out on a boat when it’s rough, feel queasy in a breaking sea, smell the salt water. Then read Conrad’s great passages on the ocean for inspiration, or Jack London’s. In The Dream Merchant it was part of my plan that the last third of the book would take place in the dense rain forest of Brazil. I didn’t dare write that section of the book until I travelled there and spent a month in the jungle.

TF: What inspired you to write The Dream Merchant? Tell us a story or two that will help us understand the process behind the book. How did you draw from real life characters when writing fiction?

The inspiration for The Dream Merchant came from many people. Certainly the earliest influence was my father who was a lighting fixture salesman–a great one. I have often referred to him as the Beethoven of fluorescents. During his best years in the fifties, my dad sold the commercial lighting for nearly every new skyscraper in NYC: The Seagram building, the Saucony building, the United Nations building–his jobs sounded to me like poetry. As a boy I would look out at the magnificent night skyline of Manhattan as though it were my father’s work. Like Jim in the novel, my father did some terrible things—he destroyed men who got in his way—but it did not dampen my love for him. I knew that I wanted to explore this undiscriminating father adoration in my book. That was a key connection between Jim and the narrator, insofar as the narrator loves Jim despite his profligacy and shocking moral drift. By the same token, Jim idolizes his own father who has a considerable history of sins.

Without my father there could never have been Jim. But Jim is not a portrait of Abe Waitzkin—not by a long shot. They were both larger than life salesmen. Neither was impeded by conscience or restraint. Abe was perhaps more ruthless. Jim was much more lusty. My dad didn’t care much about women. Jim was a physical powerhouse. Abe was a dominant personality but he was sickly.

The great comedian, Lenny Bruce, has a small but important role in my novel. To write him I felt that I had to know this one-of–a-kind-personality inside and out. If I didn’t get into his skin the scenes would be fake and would ruin the book. I read books about him and his wife and I listened to performance tapes. I learned his dark slicing humor until I could write it myself. I did write it. After a half year I felt like I was Lenny Bruce. Then Lenny moved through the scenes naturally—he fit right in. It was a pleasure writing in his voice. I’ve already talked about Maya who became my Ava, Jim’s wife. Lenny Bruce and Ava become lovers. They go to very dangerous places together. For a while it was hard for me to stop being Lenny Bruce.

Here is an interesting story about inspiration. More than twenty-five years ago, when I was writing feature magazine pieces, I happened to read a short article in Time Magazine about illegal gold mining in the jungles of Brazil. The piece described secluded enclaves deep within the rain forest called garimpos where men slaved in deep muddy pits trying to collect gold to feed their impoverished families living in the cities. Their employers hideously exploited these scrawny little men, lured them into the camps by offering beautiful women. These poor men spent their hard earned gold on a single night of desire. Then they had to go back to the mudpits to work for another month before they could return home. It was an endless cycle. The workers were sometimes murdered by marauders or they died of disease or animal attacks. Many never made it home. This whole jungle scene was so exotic, violent, sensual and unlikely that I felt I had to write about it. I signed a contract to do a long piece for Harper’s magazine and was preparing to leave for Brazil when I received a contract from Random House to write Searching for Bobby Fischer. I abandoned the Brazil trip to write about Josh and the chess world, which greatly irritated the editors at Harper’s–they didn’t return my calls after this. Anyhow, the scene in Brazil haunted me for years and once I began my novel I decided that my character would ultimately save himself or perhaps perish in the Brazilian rain forest. I wrote the earlier sections of the novel aiming for Brazil.

TF: Tell us about the Amazon trip. What were you researching? What did you learn? Why was it so important to go there?

Oh man, what a trip. Josh wouldn’t let me go by myself. He was determined to protect his old man in the jungle. By then Josh was already one of the top martial artists in the world–he had won the Tai Chi Push Hands World Championships in Taiwan a year before, and now he was training Brazilian Jiu Jitsu [Tim note: Josh later became the first black belt under the legendary Marcelo Garcia, the Michael Jordan of BJJ]. I was thrilled for him to come but not so much for protection as camaraderie—so that we’d see it all together. By then I’d already written the first half of The Dream Merchant and as I’ve already said, I’d been pointing toward Brazil. I’d been writing about a great salesman who takes ethical short cuts to make it big and then loses everything. The deep jungle was the perfect pallet for the changes I wanted in Jim who by now was ready to cross any line to win big again—and he did. I wanted the last third of the novel to switch gears and come on like a firestorm—this was my homerun idea. But to work, as I’ve already said, the Brazilian scene would have to be truly rendered, all the smells, the violence, the animals, the decadence, the disease, the astonishing beauty.

Josh and I flew to Manaus, which is an island city surrounded by rivers and jungle. It’s a haunting place, sultry from the heat and danger of the jungle all around. My character Jim would own a big estate in Manaus, where he would sell his gold to buyers, and then after several days he would travel back to jungle—the jungle became Jim’s greatest passion. But first, to set up his operation he needed to hire an army of gunmen to protect his garimpo from marauders in the rain forest, to guard the gold. Josh and I travelled to gun dealers to learn the business of small private armies. We met with gunmen, talked about their malevolent work. We visited steak restaurants where Jim would dine with his top men. We visited poor shacks on the fetid riverbanks where he recruited hundreds of miners and we went to huge ornate brothels that catered to miners, where Jim hired gorgeous sad-eyed girls to work on their backs for him in the remote camp. Really, Jim constructed a little jungle empire that mirrored his runaway ambition.

There were many ways to maim oneself or to die in Jim’s jungle world but also it was a captivating place. Josh and I spent several weeks in the deep jungle, with its dense foliage a crazy tangle of living sculpture. We hiked for miles learning to softly push the vegetation aside like swimming. It was the dry season and watermarks on towering ancient trees were ten feet above our heads. In six months, four hundred pound fish would be swimming where we were walking. We swam in the rivers terrified about piranhas, and tiny fish called a candiru that swim up a man’s penis and with sharp spikes become lodged in the urethra. We played with pink porpoises that swam through our legs. We visited abandoned gold mining operations and met with garimpeiros who explained the work of searching mud pits hoping to find gold and pull themselves out of poverty but rarely did. These men were addicted to this difficult work—I suppose they were addicted to hope.

We spent nights in hammocks suspended between acai trees listening to an infernal racquet of insects and the bleating of hunting creatures. We worried incessantly about being attacked by jaguars. Every night we heard them hunting nearby. Travelers in the jungle worried about jaguars. Every native we ran into carried a rifle. We were told that a man by himself in the rain forest was a dead man walking but parties of two or three men were more likely to be left alone by jaguars. There were little cats, the size of house cats called jaguatiricas. They attacked howling like babies in packs of five or six. They ran up a man’s legs and ripped him apart. The little ones scared the hell out of me.

I could go on and on about the Brazilian Amazon: the beauty of the women, the unforgettable people we met. The jungle has a deep intoxicating call–really it is a siren’s call. It was hard for me to leave and return to the states. My character Jim couldn’t bear to leave even though staying would likely cost him his life.

TF: Last but not least: what are your top ten favorite books?

FW: This is a risky question to answer. For one thing, I have loved so many. How can I narrow it to ten? And to further complicate the process, I’ve noticed that books are always changing for me. Some books that I admired at thirty feel dead to me today. I know that I never got more excited reading any novel than Jack Kerouac’s masterpiece, On the Road. But would I revere it as much today, forty years later? Last week I read This Is How You Lose Her by Junot Diaz. I was so taken by the painful truths in these stories and the amorous Latin rhythms of his prose. Before reading Diaz I was telling all of my friends about Jennifer Egan’s A Visit from the Goon Squad. These are my recent infatuations. But did I love these books as much or more than The Sun Also Rises? I just don’t know. Last time I read Hemingway’s classic it was a hard push for me…but ten years before it thrilled me.

Here goes:

1. Love in the Time of Cholera — Gabriel Marquez
2. Heart of Darkness — Joseph Conrad
3. The Great Gatsby –F. Scott Fitzgerald
4. Lolita — Vladimir Nabokov

5.
a. For Whom the Bell Tolls — Ernest Hemingway
b. The Old Man and the Sea — Ernest Hemingway
c. The Sun also Rises — Ernest Hemingway

6. On the Road -- Jack Kerouac
7. Death in Venice — Thomas Mann
8. The Sheltering Sky — Paul Bowles
9. Invisible Cities — Italo Calvino

10.
a. The TrainGeorges Simenon
b. American PastoralPhilip Roth
c. The Spy Who Came in from the Cold John le Carre

###

Read more about Fred Waitzkin and The Dream Merchant here.

by Tim Ferriss at March 25, 2013 11:51 PM

Dave Winer

Scripting News: The magic of HTML 5 and S3.

We just shipped a new product, promoted the hell out of it (with great results, thanks!), the site is getting huge traffic, but our server is as quiet as it was yesterday.

Because this web app uses no server resources. ;-)

That's the magic of HTML 5 local storage, and static pages on S3.

Thanks to the W3C and to Werner Vogels (for persisting in getting the ability to access the root of a domain from an S3 bucket). As a result, we get unlimited scaling with zero investment. Consider this an endorsement for both innovations.

Now, that said, in future incarnations, we will have a server component, and scaling will be an issue. But for right now we can bask in the glory. ;-)

March 25, 2013 05:26 PM

Reinventing Business

Timeboxed Thumb-Voting for Discussions

One thing I learned at the Holocracy seminar came from a side conversation with one of the attendees; he initially introduced it as "agile coffee" although a search for that did not seem to reveal this particular technique.

Some background: when I was becoming bored with the way the Software Development Conference (now defunct) and similar conferences were working, especially considering the rise of the Internet, I began talking to people about trying to create a new kind of conference. Many thought it was an interesting idea, but Martin Fowler said "let's do experiments." We created the Enterprise Architecture Summit, an invitation-only event that ran for a number of years in Crested Butte, Colorado where I live.

Initially we put up big sheets of paper and people wrote topics of interest on them. Then we used "dot voting" where everyone has a fixed number of dots and can distribute them as desired (including putting all your dots on a single topic if you desire). Then the topics were discussed starting with the one that has the most dots.

This was a smaller group and we were all in a single room. A majority of the attendees were experienced authors and speakers and had no trouble producing lots of words, and therein lay the problem: with such a captive audience it became far to easy to fall into lecturing mode, which tended to stymie discussion and produce frustration.

At one point I even created signs for everyone, with red, yellow and green sides to indicate "stop now," "start bringing it to a close" and "keep going." People didn't really use the signs but their existence seemed to significantly diminish the tendency to lecture.

I think the problem with the signs was that anytime someone decided to change theirs, it was kind of a big deal, a rather noticeable event that made you stand out. Whereas if changing sign state is just something we're all doing as part of a pre-agreed process, you only stand out if you don't participate.

This is where time-boxing comes in. The discussion runs until the timer goes off, then everyone chooses: thumbs up for "continue the conversation," thumbs down for "end the conversation and move to the next topic," and thumbs to the side for "a few more minutes to wrap it up." The facilitator then makes a judgement call on minutes for the next timebox. (I could be wrong about some of these details; the description happened quickly).

Martin had discovered Open Spaces before we could solve the single-group discussion problem. The next time the opportunity arises I want to try this technique.

by noreply@blogger.com (Bruce Eckel) at March 25, 2013 05:18 PM

Dave Winer