Bifurcated Rivets: From FB

Good grief

Bifurcated Rivets: From FB


Bifurcated Rivets: From FB


Bifurcated Rivets: From FB

Good grief

Bifurcated Rivets: From FB


MetaFilter: "We give our pain meaning, and that meaning alters our experience."

Wounded Women by Jessa Crispin [Boston Review] The assumption of female vulnerability threatens to invigorate the sexist evils it aims to combat.

Instructables: exploring - featured: Play Kitchen

My wife and I inherited my family’s old entertainment center in college. We have been toting it around with us for years saying we would eventually re-do it. After we had our daughter my wife found some things on pintrest and thought “Instead of paying $800 for the really pretty Pottery Barn one I’l...
By: rmkershner

Continue Reading »

Slashdot: Is Cyber Arms Control a Lost Cause?

Nicola Hahn writes In light of a classified document regarding state-sponsored cyber ops, the editorial board at the New York Times has suggested that the most constructive approach to reducing the spread of cyber threats would be to "accelerate international efforts to negotiate limits on the cyberarms race, akin to the arms-control treaties of the Cold War." While such advice is by all means well-intentioned there are significant differences between nuclear weapons and malware that would make treaty verification problematic. Not to mention that the history of the Cold War itself illustrates that certain countries viewed arms control treaties as an opportunity to secretly race ahead with their own covert weapons programs. Rather than take on the Sisyphean task of trying to limit the development of offensive cyber technology, why not shift national priorities towards creating robust, fault-tolerant, systems that render offensive tools ineffective?"

Read more of this story at Slashdot.

Instructables: exploring - featured: Make a Pom-Pom with a Fork

Making a pom-pom is simple and satisfying. All you need is yarn, a fork, and scissors. Let's get started! Materials & Tools Yarn — I used worsted weight Noro rainbow-gradient wool yarn.Fork — You want one that has four tines. The bigger the fork, the bigger your pom-pom.ScissorsTapestry needle — ...
By: xxlauraxx

Continue Reading »

Hackaday: ROBOCHOP! It Slices, Dices, But Wait! There’s More…

You’re gunna love my cuts. 

KUKA robots are cool. They’re both elegant and terrifying to watch in action as they move unyieldingly to preform tasks. Not many of us get to use industrial tools like this because they aren’t exactly trivial to wield (or cheap!). Artists [Clemens Weisshaar] and [Reed Kram] however created an installation that allows anyone to potentially control one of these orange beauties to do their bidding… all from the safety and comfort of a computer chair.

For their piece, “ROBOCHOP”, the artists developed a web app that allows you to easily manipulate the surface of a virtual cube. You can rotate for positioning and then use a straight or curved line tool to draw vectors through its surface and subtract material. Once you’re finished sculpting your desired masterpiece, one of the four KUKA robots in the installation will retrieve a 40 x 40 x 40 cm block of foam and shape it into a real-life version of whatever you created in the app.

Screen Shot 2015-03-06 at 1.03.39 PMStarting today you can visit the project’s website and upload your own mutilated cube designs. If your design is selected by the artists, it will be among the 2000 pieces carved by the robots throughout their installation during CeBit in Hanover. After the show, your cube spawn will then be mailed to you free of charge! The only way I could see this being cooler, is if they filmed the process so you could watch your shape being born.

Anyhow, I personally couldn’t resist the invitation to sculpt Styrofoam remotely with an industrial grade robot arm and came up with this gem.

You can go to their page if you want to give the app a go, and really… why wouldn’t you?

Thank’s [hk] for pointing out this awesomeness to us!

Filed under: robots hacks

Slashdot: GSM/GPS Tracking Device Found On Activist's Car At Circumvention Tech Festival

vivaoporto writes A GSM/GPS tracking device was found this March 4 on an activist's car attending the Circumvention Tech Festival in Valencia, Spain, a festival that proposes to gather "the community fighting censorship and surveillance for a week of conferences, workshops, hackathons, and social gatherings, featuring many of the Internet Freedom community's flagship events." They are now asking for the internet tech community for help in order to identify the device. Below verbatim is the plea for help published on the Tor Project website. The fine article also contains pictures of the device. "On March 4th, 2015, we found a tracking device inside of the wheel well of a car belonging to an attendee of the Circumvention Tech Festival in Valencia, Spain. This was reported in the local media. If you have information about this device — please send information to jacob at appelbaum dot net using gpg. The device was magnetically mounted inside of the left wheel well of the car. The battery is attached by cable to the tracking device. The battery was magnetically mounted to the frame of the car. The tracking device was similarly magnetically mounted. The device itself has an external magnetically mounted GPS antenna. It has a very simple free hanging GSM antenna. The device included a Movistar SIM card for GSM network access. The entire device was wrapped in black tape."

Read more of this story at Slashdot.

MetaFilter: Save a loved-one's voicemail greeting

VMSave is a service by Pete Keen (zrail here on mefi). "When a loved-one passes away, sometimes the only recording you have of them is locked away on an answering machine or a voicemail box. Eventually the recording will disappear, either due to someone recording over it or service getting canceled. Before it disappears, use VMSave to save it, completely free." [via mefi projects]

Instructables: exploring - featured: MURVV - The Mobile Robot

For this project we want to use a PhidgetsSBC as a functional brain for a mobile collection of Phidgets sensors and controllers in the form of a wheeled robot. To make things simple we should have independent control of each wheel, this means we do not need any differentials or complex mechanics to ...
By: phidgetsinc

Continue Reading »

Greater Fool - Authored by Garth Turner - The Troubled Future of Real Estate: We’re here.

SURPRISE modified

Buy America, sell Canada. If you’re one of the unfortunate losers addicted to this pathetic blog, you surely remember that. It was the advice here two years ago (repeated often since) when it became apparent the US was on the path to riches, and we were on the road to horniness.

So, we’ve arrived.

We now know this: American interest rates will be swelling, probably in June, because the States differs from me and no longer requires continuous stimulation. The jobs report on Friday nailed it. Almost 300,000 new positions created last month, the 14th month of massive gains, taking the jobless rate down to 5.5%. That’s considered about normal. So the American central bank can start trashing those emergency interest rates in place for the last six years.

The news also spiked the US dollar, diving ours down to 79 cents and cratering gold by thirty bucks. In fact, Canada looks anemic. The latest trade numbers were the second-worst ever, showing a massive deficit as imports swamped exports. Oil revenues alone were off 23%, and with crude back below fifty bucks, this won’t get better soon.

This is a problem. A dithering economy here with people borrowing their buns off to buy million-dollar houses means it’s tough for the Bank of Canada to unhook us from cheap mortgages, or our own stupidity. But as the States powers ahead, with a surging currency and a rate increase, without higher Canadian rates a 79-cent dollar will soon turn into 75. Up goes the price of imports, sandwiching indebted families.

It gets worse, which is why you love reading this blog. RBC now says idiot Canadians took on $80 billion worth of new debt in the past year alone. Guess when most of it appeared? You bet. In the period since the Bank of Canada dropped its key rate in January. This is what I meant yesterday about the perfect negative correlation between rates and house prices.

In fact the bank said as much: “We saw mortgage rates fall in the month (January) to the lowest they’ve been in 10 years. So that may be encouraging some activity to be brought forward in the market.” So while Americans have been creating jobs, we’ve been busy creating debits. Household debt exploded 4.6% in January alone. People owe $1.82 trillion, which is more than the entire economy of Canada generates. Mortgage debt bloated almost 5.5% year/year in the same month as the bank rate fell. Mortgages alone total $1.3 trillion.

Now recall what we were yakking about here yesterday. The subprime mortgage business in Canada is exploding (25% growth in a year) as people borrow second mortgages in the 12% range just so they can raise the 20% downpayment needed to buy $1-million-plus homes with $800,000 mortgages at 3%.

Does any of this sound remotely sustainable to you?

Job creation in Canada has been weak. Even January’s stronger number saw full-time jobs shrink, part-time positions swell and more people become ‘self-employed’. The 20,000 retail jobs erased at the end of 2014 have yet to show up in the stats, along with an even greater batch in the oil patch. When they do, the loonie will likely sink a little further. It’s this labour news that’s got housing consultant and ex-realtor Ross Kay’s shorts in a twist. He’s now making this prediction for Cowtown: “Calgary will see sales plummet, shocking all analysts who thought a 35% drop was all that was coming.”

Speaking of the energy capital of the country, Greg works downtown, and Friday morning had this report as he snapped the picture below: “This parkade was always full by 7am, even a few weeks ago.   This morning at 8:15 it had 204 spots empty.  Traffic seems lighter in general.”

PARKADE modified

Of course, YVR and the GTA are not Calgary. But I sure hope nobody in either of the two remaining bubbly burgs feels immune from what’s around the corner. The advent of average million-dollar homes in both cities just underscores what cheap rates and house lust will do to a previously perfectly-fine economy.

Our household savings rate, once above 19%, has plunged to the 3% range. RRSP contributions this year are believed to have dropped by more than half. Our debt-to-income ratio has risen faster than in any country other than bankrupt Greece. Four people in ten live paycheque-to-paycheque and half of us could not get by if we missed only one of them. Family debt levels are higher here now than they were in the US before the housing crash.

America got stupid, got whacked and seven years later has repaired.

What stage are we at? Any guesses?

Arduino Blog: Encrypting messages with Cuckoo and Arduino Yún


Jochen Maria Weber is a Researcher and Designer at the intersection of Interaction- and Industrial Design. He shared with us Project Cuckoo, a project running on Arduino Yún and looking at our interactions with intercepted social networks and how alternative ways of communicating might change them:

Twitter, Facebook, Google+ and co. collect our data and are forced to have a backdoor for state surveillance. Therefore Cuckoo encrypts messages into randomly generated words, meanings and noise in order to scatter them over multiple communication networks simultaneously. Each letter of an original message gets translated into complex forms of certain length forming new sentences. Those sentences get posted to aforementioned social networks, next to randomly generated noise-sentences for distraction. The encryption method can be changed with every new message. Any receiving Cuckoo-unit following the respective social network accounts can filter and decrypt the important posts according to their encryption method and time stamp. Cuckoo combines social networks to build a hidden one on top of their infrastructure. An egg in the others’ nests.

Cuckoo uses an Arduino YUN to connect wirelessly as a stand-alone device to the internet. It also does the en- and decryption of all messenges and made it comfortable to connect to Twitter, Skype and Tumblr API with Temboo.

Take a look at the video on Cuckoo’s website.

cuckoo-yun Dist-Zilla-Plugin-MetaData-BuiltWith-1.004002

Report what versions of things your distribution was built against

MetaFilter: Selfie-link

Florence Henderson takes a selfie at a Queen Latifah Show. How much fun can you have after 80? Apparently a lot... Here's the story... of a lovely lady... who at 80 is getting busy with...

... not Greg. At least not according to her FAQ, here.

Instructables: exploring - featured: Instructables Wallet Pendant

Turn your Instructable Patch into a wallet pendant using the 3D printed STL file attached in the step below.The STL file is designed attached in the next step is designed so that you can hold atleast 4 cards(say your debit/credit card,Drivers licence and work/student Id) and few currency notes folde...
By: CarmelitoAndrade

Continue Reading » SVG-Fill-0.06

use svg file as templates, replace strings and images by id

Slashdot: Hands-On With the Vivaldi Browser

justthinkit writes: Vivaldi is billing itself as the power user's browser, and Ars went hands-on with it today. They say, "Vivaldi has so many great features, but it can be a little frustrating because it is still very much a technical preview. It's been largely stable during testing (most of the bugs we encountered using the first release are gone in the second), but it's still missing some key features." It appears to have the cred, with Vivaldi's CEO being Jon S. von Tetzchner, the co-founder and former CEO of Opera. Does the thinking behind Vivaldi appeal to you? Do you plan to switch when it's more feature-complete?

Read more of this story at Slashdot.

Recent additions: buffer-builder

Added by chadaustin, Fri Mar 6 22:56:39 UTC 2015.

Library for efficiently building up buffers, one piece at a time CGI-Application-Plugin-REST-0.3

Helps implement RESTful architecture in CGI applications CGI-Application-Plugin-WSSE-1.0

Simple WSSE Authentication for CGI applications

Recent additions: comonad 4.2.3

Added by EdwardKmett, Fri Mar 6 22:37:08 UTC 2015.


OCaml Planet: Shayne Fletcher: Heap sort

Given the existence of a priority queue data structure, the heap sort algorithm is trivially implemented by loading the unsorted sequence into a queue then successively pulling of the minimum element from the queue until the queue is exhausted.

There are many ways to implement a priority queue and so we seek an expression for a function for heap sorting that is polymorphic over those choices.

To begin, a module type for priority queues.

(**Priority queues over ordered types*)
module type PRIORITY_QUEUE = sig

(**Output signature of the functor [Make]*)
module type S = sig
exception Empty

type element (*Abstract type of elements of the queue*)
type t (*Abstract type of a queue*)

val empty : t (*The empty queue*)
val is_empty : t -> bool (*Check if queue is empty*)
val insert : t -> element -> t (*Insert item into queue*)
val delete_min : t -> t (*Delete the minimum element*)
val find_min : t -> element (*Return the minimum element*)
val of_list : element list -> t

(**Input signature of the functor [Make]*)
module type Ordered_type = sig
type t
val compare : t -> t -> int

(**Functor building an implementation of the priority queue structure
given a totally ordered type*)
module Make :
functor (Ord : Ordered_type) -> S with type element = Ord.t

An implementation of this signature using "leftist heaps" is described for the interested in this Caltech lab but such details are omitted here.

module Priority_queue : PRIORITY_QUEUE = struct
module type S = sig .. end
module type Ordered_type = sig .. end
module Make (Elt : Ordered_type) : (S with type element = Elt.t) = struct .. end

What I really want to show you is this. We start with the following module type abbreviation.

type 'a queue_impl = (module Priority_queue.S with type element = 'a)
Then, the heap_sort function can be written such that it takes a module as a first class value and uses a locally abstract type to connect it with the element type of the list to be sorted.

let heap_sort (type a) (queue : a queue_impl) (l : a list) : a list =
let module Queue =
(val queue : Priority_queue.S with type element = a) in
let rec loop acc h =
if Queue.is_empty h then acc
let p = Queue.find_min h in
loop (p :: acc) (Queue.delete_min h) in
List.rev (loop [] (Queue.of_list l))
There we have it. The objective has been achieved : we have written a heap sorting function that is polymorphic in the implementation of the priority queue with which it is implemented.

Usage (testing) proceeds as in this example.

(*Prepare an [Priority_queue.Ordered_type] module to pass as argument
to [Priority_queue.Make]*)
module Int : Priority_queue.Ordered_type with type t = int = struct
type t = int let compare =

(*Make a priority queue module*)
module Int_prioqueue : (Priority_queue.S with type element = int) = Priority_queue.Make (Int)

(*Make a first class value of the module by packing it*)
let queue = (module Int_prioqueue : Priority_queue.S with type element = int)

(*Now, pass the module to [heap_sort]*)
let sorted = heap_sort queue [-1; -2; 2] (*Produces the list [-2; -1; 2]*)

Recent additions: bifunctors 4.2.1

Added by EdwardKmett, Fri Mar 6 22:31:51 UTC 2015.


Computer Science: Theory and Application: Can anyone explain this Finder error? (no hidden files)

submitted by markmakes
[link] [2 comments]

Recent additions: htsn-import 0.2.2

Added by MichaelOrlitzky, Fri Mar 6 22:30:37 UTC 2015.

Import XML files from The Sports Network into an RDBMS. Coro-ProcessPool-0.18_3

an asynchronous process pool

MetaFilter: Canada announces new thalidomide compensation

Canada, long considered a "global outlier" on compensation for thalidomide survivors, has announced new lump sum compensation payments.

...countries with significant numbers of thalidomide victims have stepped forward with long-term support. In Britain, nearly 470 people get annual payments from both the British government and the successor of the drug's distributor, totalling an average of more than $88,000 per victim per year. The German government gives its 2,700 survivors pensions that can reach more than $110,000 a year.

Ottawa gave Canadian victims a one-time compensation payout totalling $8.5-million in 1991. It came to $52,000 to $82,000 a person, depending on their degree of disability. The victims call it a pittance.

Thalidomide was a sedative originally marketed in the late 1950s and early 1960s by the German drug company Chemie Grünenthal GmbH as a treatment for morning sickness in early pregancy, but by 1961 it had become clear that it caused severe birth defects when taken by pregnant women.

Thalidomide was never approved for use in the United States, thanks to Dr. Frances Oldham Kelsey, but it was marketed in Europe, Brazil, Australia, Japan and Canada.

Canada didn't withdraw thalidomide from the market until well after disclosure of its side effects and its removal from the market in the UK and Germany.

This was followed by decades of struggle by survivors against drug companies and the government for recognition and compensation.

In the UK, survivors waged an extensive campaign for compensation. Some of them are profiled in the BBC documentary The Fifty Year Fight.

Meanwhile, German thalidomide survivors say they have been hindered from accessing the compensation promised to them in 2013.

In 1998, the FDA approved thalidomide for use under very strict conditions (pdf) for the treatment of leprosy. It is now also used in the treatment of HIV-related conditions and some cancers.


Slashdot: NASA's Dawn Spacecraft Becomes First To Orbit a Dwarf Planet

The Grim Reefer writes with news that at 7:39 AM EST (12:39 UTC) today, NASA's Dawn spacecraft was captured by the gravity of dwarf planet Ceres. Mission controllers at NASA's Jet Propulsion Laboratory (JPL) in Pasadena, California received a signal from the spacecraft at 5:36 a.m. PST (8:36 a.m. EST) that Dawn was healthy and thrusting with its ion engine, the indicator Dawn had entered orbit as planned. "Since its discovery in 1801, Ceres was known as a planet, then an asteroid and later a dwarf planet," said Marc Rayman, Dawn chief engineer and mission director at JPL. "Now, after a journey of 3.1 billion miles (4.9 billion kilometers) and 7.5 years, Dawn calls Ceres home." In addition to being the first spacecraft to visit a dwarf planet, Dawn also has the distinction of being the first mission to orbit two extraterrestrial targets. From 2011 to 2012, the spacecraft explored the giant asteroid Vesta, delivering new insights and thousands of images from that distant world. Ceres and Vesta are the two most massive residents of our solar system's main asteroid belt between Mars and Jupiter. Further details available from the Planetary Society.

Read more of this story at Slashdot.

Recent additions: semigroups 0.16.2

Added by EdwardKmett, Fri Mar 6 22:16:43 UTC 2015.

Anything that associates

MetaFilter: People Who Could Really Break the Internet

People Who Could Really Break the Internet

Slashdot: Inside Bratislava's Low-Cost, Open Source Bike Share Solution

An anonymous reader writes: The Bike Kitchen started WhiteBikes in Bratislava after a failed attempt by the city to finance a similar program. At first users shared donated bikes with the same lock code. They needed a system that would work somewhat automatically without the need for manual rentals (e.g. somebody giving out bicycles). From there, smsBikeShare was born. Users registered with a mobile phone number and could send basic SMS commands (RENT, RETURN, FREE, WHERE, etc.). The system used an inexpensive SMS gateway API and a local message-back number to receive and respond to messages. Shared bicycles have a coded U-lock with a four-digit number, and upon renting a bike, users receive a code to unlock the bicycle and another to reset it to once they are done. Send a message, receive the answer, unlock the bike, reset the lock, and you're off pedaling.

Read more of this story at Slashdot.

Hackaday: A Functional Sonic Screw Driver (Well, Kind Of)

[Jerome Kelty] just finished building this awesome data-logging Sonic Screwdriver with his 6-year-old son [Sam]. The Halloween previous, [Jerome’s] older son had dressed up as the Doctor, which had inspired [Sam] to make his own Sonic Screwdriver — however he declared that his screwdriver needed to actually work!

They sat down together and decided what it needed to be able to do. [Sam] has a pair of hermit crabs, so they thought it would be handy to be able to measure the temperature and the humidity of their habitat. It needed a flashlight for obvious 6-year old reasons, and it had to make the right sound effect when you used it too!

[Jerome’s] first thought was to 3D print it, but was met with a resounding no: “It needs to be metal!”

So out came the sketchpad and they started designing it to be cut on the lathe, using a combination of aluminum, brass and wood.

Sonic Screwdriver GutsMany weekends later [Sam] and his dad finished the body of the screwdriver and started work on the electronics. To keep it simple they used an Arduino Pro Mini 5V with a Sparkfun OpenLog to record all the data — and a handful of sensors of course!


After modifying the body a few times they finally got all the electronic guts to fit inside the screw driver. It features an SD card you can remove to see the OpenLog data, but as a “cool factor” [Jerome] also programmed in the temperature sensor to output to the RGB LED, so little [Sam] can point at things to determine how warm or cold they are.

Cool project [Jerome], looks like [Sam] is well on his way to becoming a maker in your footsteps!

Filed under: tool hacks

Open Culture: Pink Floyd’s David Gilmour Sings Shakespeare’s Sonnet 18

In 2001 or 2002, guitarist and singer David Gilmour of Pink Floyd recorded a musical interpretation of William Shakespeare’s “Sonnet 18″ at his home studio aboard the historic, 90-foot houseboat the Astoria. This video of Gilmour singing the sonnet was released as an extra on the 2002 DVD David Gilmour in Concert, but the song itself is connected with When Love Speaks, a 2002 benefit album for London’s Royal Academy for the Dramatic Arts.

The project was organized by the composer and conductor Michael Kamen, who died a little more than a year after the album was released. When Love Speaks features a mixture of dramatic and musical performances of Shakespeare’s Sonnets and other works, with artists ranging from John Gielgud to Ladysmith Black Mambazo. Kamen wrote much of the music for the project, including the arrangement for Sonnet 18, which is sung on the album by Bryan Ferry. A special benefit concert to celebrate the release of the album was held on February 10, 2002 at the Old Vic Theatre in London, but Ferry did not attend. Gilmour appeared and sang the sonnet in his place. It was apparently around that time that Gilmour recorded his own vocal track for Kamen’s song.

“Sonnet 18″ is perhaps the most famous of Shakespeare’s 154 sonnets. It was written in about 1595, and most scholars now agree the poem is addressed to a man. The sonnet is composed in iambic pentameter, with three rhymed quatrains followed by a concluding couplet:

Shall I compare thee to a summer’s day?
Thou art more lovely and more temperate:
Rough winds do shake the darling buds of May,
And summer’s lease hath all too short a date;
Sometime too hot the eye of heaven shines,
And often is his gold complexion dimm’d;
And every fair from fair sometime declines,
By chance or nature’s changing course untrimm’d
But thy eternal summer shall not fade,
Nor lose possession of that fair thou ow’st;
Nor shall death brag thou wander’st in his shade,
When in eternal lines to time thou grow’st:
So long as men can breathe or eyes can see,
So long lives this, and this gives life to thee.

This post was originally published on Open Culture on April 5, 2013. We’re bringing it back today for Gilmour’s 69th birthday.

Related Content:

Watch Pink Floyd Plays Live in the Ruins of Pompeii (1972)

Shakespeare’s Satirical Sonnet 130, As Read By Stephen Fry

A Survey of Shakespeare’s Plays (Free Course)

What Shakespeare Sounded Like to Shakespeare: Reconstructing the Bard’s Original Pronunciation


Pink Floyd’s David Gilmour Sings Shakespeare’s Sonnet 18 is a post from: Open Culture. Follow us on Facebook, Twitter, and Google Plus, or get our Daily Email. And don't miss our big collections of Free Online Courses, Free Online Movies, Free eBooksFree Audio Books, Free Foreign Language Lessons, and MOOCs.

The post Pink Floyd’s David Gilmour Sings Shakespeare’s Sonnet 18 appeared first on Open Culture.

All Content: Chinese New Year: Goats, Rams, Sheep, Beautiful People and Movies


The following correspondence between various writers at was inspired by the Chinese New Year that began on February 19th. 


This year will be the Year of the Sheep, Goat or Ram. These are not quite as popular as horses.

In Chinese and Japanese, a sheep is 羊 and a goat is 山羊 or mountain sheep. In neither the original Japanese or Chinese is the sex of the animal designated.

The sheep was important enough in Chinese culture to be a radical, root or main character symbol. So while you have 羊, you also have words or meaning that derive from 羊 added to something else. Some of these things you might easily guess such as in Japanese words for clothes (着る)or crowd or group (群れ). Others are not so obvious such as justice or morality (義), adopted child (gishi: 義子)or in-laws like brother-in-law (gikei: 義兄)(gishi: 義姉)(gibo: 義母)(gifu: 義父)to raise (yashinau:養う), feel ashamed (hajiru: 羞じる) and envy (urayamashii: 羨ましい).  

For students of Japanese and Chinese, perhaps, the most infamous usage of the sheep radical is in the word for beautiful. Big plus sheep equals beautiful.

大 plus 羊 equals 美しい

So beautiful woman are compared to big sheep. In Japanese and Chinese, beautiful woman is 美女, and beautiful man is 美男. 美人 or beautiful person usually refers to women. Somehow that seems so very Chinese to me.

So I wondered if you might recommend some movies with sheep, goats or rams? has a long list of movies with sheep (which due to unwise font and style choices is hard to read), but most of these are unavailable and I (although I haven't checked them all) found that some have very little sheep in them (e.g. "The Quiet Man"). 

Of course, the sure thing is not even on that list: The feature opening this year from Aardman, “Shaun the Sheep.” The Mubi list also doesn’t have “Owd Bob” which definitely is about sheep and sheepdogs (and almost as heartbreaking as "Old Yeller").

If I decide on going with two-legged rams, then I came with one movie with the L.A. Rams: “Heaven Can Wait.” And I guess one could throw in any movie with Merlin Olsen, Joe Namatch, Deacon Jones, or Elroy “Crazy Legs” Hirsch.

I came up with three movies with goats—none of which I’ve seen. 

“Goats” (2012) written by Mark Poirier based on his novel. David Duchovny plays “Goat Man.”

“Old Goats” (2014) is a comedy about three elderly men looking to enjoy their last years. One is married, another is a hoarder trying to find a date and the third is a ladies man.

The Men Who Stare at Goats” (2009). A reporter meets a guy who claims to be a former member of the U.S. Army’s New Earth Army.

What are your recommendations for movies that would go well with the Chinese New Year?


Chris Noonan's "Babe" and Michelangelo Frammartino's "Le Quattro Volte." 


God help me, my first thought goes to the lovely Daisy in Woody Allen's "Everything You Always Wanted to Know About Sex (But Were Afraid to Ask)." Film critic Joseph Gelmis, member of the National Society of Film Critics, actually cast a vote for her for Best Supporting Actress.


Gene Wilder in “Everything You Always Wanted to Know About Sex"

And Wallace and Gromit in “A Close Shave”


"Black Sheep" (the horror comedy) and "Bad Taste."

Also, there is a really funny joke in "Club Dread" in which a guy remembers a youthful indiscretion with a goat. "We were just a couple of crazy kids"


Well, if we're talking just about sheep cameos, "Brokeback Mountain" has tons of them. (And so does "The Ballad of Josie.")

The logical ones, "Babe" and "Everything You Always Wanted to Know About Sex," were already mentioned and it's hard to do better than that, but there's a very funny goat in "Hoodwinked." I also seem to remember sheeps in "Bad Taste."

Oh, and "Black Sheep," of course! 


The most incredible sheep/ram moment I saw in film was that mammoth single shot in "Le Quattro Volte," in which the dog and the sheep conspire to take over the village. Still not sure how the director pulled that one off.


That's much more significant than the sheep cameo in "The Quiet Man." I have an idea of how that was done since we can't see the people in the village and the dog looks to be a border collie. 


Don’t know if this WB cartoon qualifies

Quiet Earth: Mark Neveldine's Solo Debut THE VATICAN TAPES Looks Run-of-the-Mill Possession [Trailer]

Possession movies are a dime a dozen and they really have to offer something unique to get my attention, even though I do have a soft spot for religious thrillers. The appeal of The Vatican Tapes is more straight forward than most: director Mark Neveldine.

One half of the directing duo of Neveldine/Taylor, the guys behind Crank and Gamer among others, Neveldine is taking it solo this time around directing this thriller starring Olivia Dudley as Angela, a 20 something typical girl who becomes possessed by an evil entity. The local priest Father Lozano (Michael Peña) enlists the help of the Vatican who sends over Vicar Imani (Djimon Hounsou) and Cardinal Bruun (Peter Andersson) to help with the exorcism but things really go south when Imani and Bruun discover t [Continued ...]

Instructables: exploring - featured: Chest Style Bench

This is a project that I have designed myself for a school project, it is a first attempt and is meant to be a learning experience for myself. I hope the research I have done surrounding this project will help somebody other than myself. I funded this project myself and it cost me about 300$ to crea...
By: Zxcvds56

Continue Reading »

TwitchFilm: Nordic Genre Boost: New Films From THALE, TROLLHUNTER, METALHEAD Directors, And More

Fans of Nordic fantastic film have reason to celebrate because the Nordic Genre Boost initiative will provide development grants and access to two residential workshops to a handful of genre films projects. Of the 113 entries this year seven were chosen to receive the grant and invitation to the workshops at the Night Visions International Film Festival in Helsinki (April 15 - 19, 2015) and then in Haugesund during New Nordic Films' Co-Production and Finance Market (August 19 - 20, 2015).So what does the boost get us? Well, Aleksander Nordaas we give us a sequel to Thale. We get an adaptation of another novel by John Ajvide Lindqvist (Let the Right One In). We will get new films from TrollHunter director André Øvredal and Metalhead director...

[Read the whole post on]

All Content: A&E Premieres Solid Remake of “The Returned,” Brings Back “Bates Motel”


After FOX’s “Gracepoint” smothered what worked so well about “Broadchurch,” I was apprehensive that a similar “Americanization” would happen to the brilliant French series “The Returned” when it premiered on A&E this Monday, March 9th, 2015. I guess you could say I’m something of an expert on the original show, having recapped every episode for Music Box Films, who produced it. I adored “The Returned” and its daring blend of horror and drama, always finding the right balance between the human and the supernatural elements within its captivating story. When I heard some of the names behind and in front of the camera for A&E’s remake, my optimism grew, but, then again, remakes are a dicey proposition and “Gracepoint” had a similar pedigree and went down in flames. So, no one is happier than I am that “The Returned” works. It’s not quite as atmospheric or accomplished as the original, but it’s way closer than I expected it to be, anchored by strong performances throughout and an understanding of what worked about the original.

To that end, creator Carlton Cuse (“LOST”) doesn’t fix what ain’t broke. The premiere of “The Returned” is remarkably loyal to the original French series premiere, and it seems that Cuse and his team (which includes “A Midnight Clear” director Keith Gordon on the premiere and “Splice” director Vicenzo Natali on episode two) are going to remain remarkably loyal to their source. The basic premise of “The Returned” is that a group of deceased individuals suddenly are not so dead. A girl who died in a horrible, town-changing bus crash crawls out of the ravine four years later and goes home as if nothing happened. A young man who died on his wedding day cannot understand why his fiancé doesn’t have the same life she did yesterday. And there are others, however their stories are unveiled slowly enough that I won’t spoil them here.

Don’t come to “The Returned” expecting “The Walking Dead.” This is not that kind of zombie show, although the reveal of a serial killer and something very wrong with the town’s water supply do add a sense of dread to the proceedings that plays right into Cuse’s wheelhouse. Like “LOST,” it’s more a show of confusion than horror, and the emotions that are unearthed when the ground of reality shakes. How would you respond if a loved one you had finally stopped mourning showed up like nothing was wrong? And Cuse and his team place even more emphasis on the reverse angle than the original did: what if you came home from school to a broken home and a twin sister who was four years older?

The ensemble assembled for “The Returned” is excellent, top to bottom. Standouts include the increasingly-fantastic Mark Pellegrino as Jack, father to Camille (India Ennenga), the dead girl who came home. Jack found solace in the bottle, tearing his family apart. Pellegrino conveys so much emotion with simple expressions and confident line readings, revealing that Jack knows he’s made mistakes and things can’t just return to the way they were even though that's what he's dreamed about for four years. Mary Elizabeth Winstead takes center stage in the second episode as Rowan, the woman left at the altar who is convinced her returned fiancé is a ghost. Winstead has long been an underrated actress and she’s strong here. The whole cast works but Innenga, Pellegrino and Winstead serve as the emotional foundation to the mystery and they deliver above expectations.

Ultimately, Cuse and Gordon avoid the common misstep of American remakes of foreign fiction by letting the story and the characters convey the themes instead of underlining and emphasizing them through common TV tropes like over-use of score, quick cuts, and other blatantly manipulative devices. The final sequence in the premiere doesn’t quite work like it did in the original, and the small-town atmosphere of dread isn’t quite the same, but these are minor complaints for a surprisingly effective drama. More than most, I know exactly what’s going to happen, and I still plan to watch. That’s saying something.

On the same night that A&E brings “The Returned” back from the dead, the network premieres the third season of “Bates Motel,” a show that I’ve liked but about which I’m starting to worry. For how many seasons can there be “something wrong with Norman”? I will likely always tune in for the excellent performances by Vera Farmiga, Freddy Highmore, and Olivia Cooke, but an air of repetition pervades the season premiere (more of the drug-dealing underworld subplot?), at least until its cliffhanger ending. Up to that point, it hits a lot of the same beats as previous episodes. Norma (Farmiga) and Norman (Highmore) are still bizarrely close, even sleeping together in the same bed. The writers of “Bates Motel” have been smartly turning up the heat on this incestuous insanity, but this is the season in which it really needs to boil. We can’t keep wondering when Norman will truly snap, and watching Norma protect him from himself. And the final scene of the premiere hints that we’re getting there as the writers at “Bates Motel” inch closer to the Norman we know from “Psycho”. 

Planet Haskell: Philip Wadler: An Open Letter to John Swinney

Dear John Swinney,

I sat in the gallery yesterday to watch the debate on Privacy and the State. As a member of the Open Rights Group, I have a keen interest in the subject.

The Identity Management and Privacy Principles, published in October 2014 with your name on the foreword, states in Section 4.6:
If a public service organisation needs to link personal information from different systems and databases (internally or between organisations), it should avoid sharing persistent identifiers; other mechanisms, such as matching, should be considered.
Willie Rennie and Patrick Harvie drew attention to the proposal that stakeholders should share the Unique Citizen Reference Number (UCRN). Using the UCRN as a key would link multiple databases, in effect forming a super-database, which is what concerns those who object to the plan. In your closing speech, Harvie intervened to ask you to acknowledge that the proposal breaches the Scottish Government's own guidelines. You responded:
I do not believe that the proposal breaches the data privacy principles that we set out.
Time was short, so you said no more, but I invite you now to elaborate on your bald denial. The proposal certainly appears to contravene the principle  advocated by your own document---how can you claim it does not?

It is not only your own guidelines which question your plan. The British Medical Association and the Royal College of General Practitioners have raised concerns about sharing information collected by the NHS with HMRC, and the UK Information Commissioner has warned that the proposal may breach European and British data protection laws. Both these criticism were raised during the debate, but ignored by you---I invite you to answer them as well.

There are ways forward that meet the needs of government and citizens that are far less problematic. I welcome your offer to review the proposals, and I hope that in light of these criticisms the Scottish Government will rethink its plans.


Philip Wadler
Professor of Theoretical Computer Science
School of Informatics
University of Edinburgh


Minutes of the debate on Privacy and the State

Identity Management and Privacy Principles

Report of the debate from BBC News

Planet Haskell: Philip Wadler: Status Report 3

I have a date for keyhole surgery to remove my kidney: Tuesday 17 March. This fits what I was told previously, so all is to schedule. Recovery time is likely to be four weeks. I expect to be in hospital until Monday 23 March: visitors most welcome! Please call the Western General, or Level 4 office has my contact details.

My liver biopsy took place on Thursday 19 February; the hardest part was to lie still for six hours after. I had meetings with my infectious disease doctor on Wednesday 25 February and with my cardiologist on Monday 2 March. My endocarditis is clear, but will need to be monitored once a year. The biopsy shows a deposit of amyloid protein; experts are being consulted, but it has no effect on my surgery. My thanks to all my doctors and the staff at the Western General, who have been excellent.

Related: Status report, Status report 2, A paean to the Western General.

Hackaday: Hackaday Meetup at SXSW

Each year the giant South by Southwest (SXSW) festival descends on Austin, Texas. It attracts droves of music lovers, among them an ocean of our kind of tech geeks. This year the crowd will trend evermore in that direction since Hackaday has decided to be there too!

In addition to scouring the crowd for awesome tech, we have a booth and are hosting an organized Hackaday meetup on Friday 3/13 at 11:00am. It’s free to all so put it on your calendar now! Several of our Hackaday crew will be there, we’re bringing cool hardware, and of course we’ll have some swag in tow the most hardcore of hackers.

This is one chance to talk about our passion: hardware development. We’ll be discussing the concept of focused and sustained efforts at building hardware as individuals, small teams, and a growing community. We know this is possible… we saw a lot of it with The Hackaday Prize and had a great look at one type of distributed development process through Developed on Hackaday which followed the Mooltipass project. Of course it’s not a lecture so bring your own ideas while we all chew the fat of what the future needs to look like.

As we mentioned, we have a booth at SXSW Create. Entry is again free to all and runs 11am-6pm for three days — find us in one of the four corner stalls. There we will be exhibiting the hardware from SatNOGS, ChipWhisperer, PortableSDR, Open Science Tricorder, and RamanPi. Don’t know what’s notable about these projects? They all won big for sharing the details of their future tech designs.

So, find us there! Give a shout on Twitter if you wonder what’s going on (we’re always looking for a good impromptu beer meetup or taco crawl). @hackaday@hackadayio@hackadayprize

Filed under: cons, Featured, The Hackaday Prize

Penny Arcade: News Post: Here’s The Twitch Stream For The Show

Tycho: It can be found right at this link!  There’ll be stuff there all weekend basically - including Sunday’s Acquisitions Incorporated adventure, live at 1:30 Eastern Time - so give it a whirl. (CW)TB

TwitchFilm: PORTAL TO HELL: Shots From The Set With Roddy Piper In Action!

Production has begun on Vivieno Cladinelli and Matt Watts' short film Portal to Hell with Roddy Piper as a building manager who faces off against the legendary Cthulhu. It is the battle of the century as a wrestling legend and a literary legend go head to head!Jack is a simple man with simple needs. Mostly he just needs to be left alone to read his book. It's a good book and he likes it, or at least he would if the tenants of the building he manages weren't so damn needy themselves. And it's not just blown fuses and clogged toilets here ... no, when the building power goes out the culprit is a pair of tenants opening a portal to hell in the basement....

[Read the whole post on]

s mazuk: eldiabloszone:Sorry I’m crying. As someone in my position;...


Sorry I’m crying. As someone in my position; Bisexual, disabled (hearing impaired), not confident in my appearance, and struggling. I tend to avoid posting pictures for a movement. Even if it is one meant to motivate, inspire, and more.

However after seeing some pictures of other African-Americans in similar positions as myself…after some thought I built up the courage. Thanks you all so much for #blackout

OUR VALUED CUSTOMERS: To his friend...

Colossal: 3D Illustrations Incorporating Everyday Objects by Victor Nunez


Illustrator Victor Nunes is seemingly obsessed with creating illustrations from common objects like pencil caps, pieces of popcorn, hair brushes, and rubberbands. He has, literally, thousands of these posted in no particular order on his Facebook page. (via I Need a Guide, Laughing Squid, Boing Boing)









TwitchFilm: SOMETHING WICKED: Watch The Clip, Win The DVD

This is a two birds with one stone kind of deal. Something Wicked comes out on DVD on March 17th. This was the last movie that Brittany Murphy worked on before her tragic death in 2009. We have an exclusive clip from the film to share with you. Then, we have three copies of Something Wicked on DVD to give away.Inspired by true events, a young couple seeks to re-build their lives after a disastrous car crash that kills her parents. But secrets from their past threaten to disrupt their budding relationship. Christine (Shantel VanSanten) is stalked by a creepy, masked stranger, while James (John Robinson) experiences freakish encounters that nearly kill him. Christine's sister-in-law, Susan (Brittany Murphy), a psychiatrist who observes the couple's deteriorating relationship,...

[Read the whole post on]

Quiet Earth: Watch: SHORT CIRCUIT / CHAPPIE Mashup is Dead On

Many early reviews are pointing to Robocop as the progenitor of Neill Blomkamp's Chappie, but I think we all know it's Short Circuit. I honestly don't know how he got away with writing the film without it being considered a reboot of the popular 80s film series.

The creator of the mash-up, a YouTuber called Lance Ford writes, "There are some striking similarities between the 80's classic Short Circuit and the new movie Chappie - most notably the idea that a robot can become "alive". So, of course I mashed them up using footage from Short Circuit and the audio from the Chappie trailer."

And so, just for the lulz, here is is:

[Continued ...]

programming: Finance outsider wins $100,000 with Python stock trading algorithm. Beats hedge fund pros.

submitted by thatrowerguy22
[link] [83 comments]

programming: When you should criticize code, and when you should STFU

submitted by evess_arudem
[link] [65 comments]

Perlsphere: pericmd 033: More on tab completion (5): Hash answer

Simpler complete_*() functions will just return the list of words as an array, e.g.:

complete_array_elem(word=>"a", array=>[qw/an apple a day keeps the doctor away/]);
# -> ["a", "an", "apple", "away"]

But actually completion routine can also return a hash structure. This is described in Complete. For example:

{words=>["a", "an", "apple", "away"]}

Aside from words which is the meat of the answer, a hash can contain some other keys for metadata/hints for formatting. I’m just going to mention 2 of such keys. The others you can read for yourself in the Complete or Complete::Bash’s POD (or will perhaps be discussed in later posts.)


As you probably noticed from the previous blog post (pericmd 032), complete_module() function from Complete::Module routines return a hash with path_sep key set to the path separator:

# -> {words=>["Complete::Path", "Complete::Pod::Weaver"], path_sep=>"::"}

complete_module(word=>"Complete/Po", dig_leaf=>0);
# -> {words=>["Complete/Pod/"], path_sep=>"/"}

The path_sep key is useful to give hints for, e.g. Complete::Bash (the module that formats the completion answer to stdout for bash). In bash, when a completion routine returns a single entry, bash will add a space to let user move to the next word since the completion is already unambiguous. For example, you already type “Cha” before pressing Tab, and there is only a single file that begins with “Cha” (“Changes”). bash will then change the current word “Cha” to “Changes” and add a space. This is fine when we are completing file/non-folder entity, but suppose the single completion you have for “li” is the directory “lib/”, and bash automatically adds a space after “lib/”. Normally you’d want to have “lib/” right before cursor and without any space, so you can press Tab again to drill down inside that directory. Bash does not provide a way for programs to hint this behavior, so the Complete::Bash employs a trick of returning ["lib/", "lib/ "] instead of just ["lib/"]. This makes the completion ambiguous (there are two candidates) and bash replaces current word “li” with the common substring of the answers “lib/” without any space.

So path_sep will make Complete::Bash format the output of complete_module() in the previous example:

complete_module(word=>"Complete/Po", dig_leaf=>0);
# -> {words=>["Complete/Pod/"], path_sep=>"/"}

into this final output for bash (the second entry has an extra space at the end):


But this answer will not get an additional entry since it’s already ambiguous:

# -> {words=>["Complete::Path", "Complete::Pod::Weaver"], path_sep=>"::"}

In short, you can a path_sep key if you are returning a path-like thing and you want to let user drill down. If you do have a custom path-like completion, though, consider using Complete::Path which provides some other nice features like previously discussed (pericmd 032).


This key gives hints to Complete::Bash on how to escape the output, as there are some possible variant depending on what the user expects. A value of shellvar tells Complete::Bash not to escape “$” (dollar sign) to “\$”. Normally if we are completing filenames, for example, we’d want dollar signs to be escaped to avoid shell variable interpretation. But if we are completing shell variables, we do want the “$” to stay as “$”.

All Content: Thumbnails 3/6/15



"Are This Season's Diverse Shows Ushering in a New Era of Multicultural Television?": Flavorwire's Pilot Viruet explores whether TV's latest slate of programs represents "real progress."

“Naturally, there’s been a lot of praise for the diversity of this season’s TV narratives — even if that praise fails to take into account what a small percentage of programming these shows actually comprise. But this isn’t the first time a ‘boom’ in diversity has occurred on television. Robin R. Means Coleman, an associate professor and the author of African American Viewers and the Black Situation Comedy, is quick to dismiss the notion that this is a groundbreaking year for minority-focused narratives, explaining that representation on TV is follows a cyclical pattern. ‘About every 20 years, there is a surge in representations of blacks on television,’ Coleman says. ‘In the ‘70s, there was a particular surge of blacks and black situation comedies: everything from ‘Good Times’ and ‘The Jeffersons’ and ‘Sanford and Son’ — those kind of representations were being offered up. In the ‘80s, you see a bit of an ebb in representations. But ‘then they come back with significant quantity — not always quality — in the ‘90s and that’s what really sparked UPN and WB. You’ve got just dozens of black situation comedies that are being offered up in the ‘90s. The upstart networks are offering up these shows that are really inexpensive and hailing to specific audiences.’”


"Birdmen of Tinseltown": At Indie Outlook, I contrast David Cronenberg's "Maps to the Stars" with Alejandro G. Iñárritu’s "Birdman," Ari Folman's "The Congress" and the career of Carrie Fisher.

“Like ‘Birdman,’ ‘Maps to the Stars’ is a show business satire infested with ghosts more psychological than supernatural. As Segrand madly pursues the role of her late mother (Sarah Gadon) in an upcoming biopic, she is stalked by an apparition taking the form of her mother at the pinnacle of her youthful beauty and sensuality. Giving voice to all of her daughter’s insecurities, the ghost hurls abusive words at Segrand, while striking poses that illustrate her physical superiority. At one point, she reenacts a scene from earlier in the film, reciting words previously uttered by her daughter as if auditioning for Cronenberg himself, proving—at least in her mind—that she should be the lead. As in David Lynch’s masterpiece, ‘Mulholland Dr.’, the phantoms in ‘Maps to the Stars’ represent the paranoid fears of its painfully vulnerable characters, such as the Bieber-esque brat (Evan Bird) visited by the dead girl whom he reluctantly visited at the hospital. In a business that awards selfishness, it’s only appropriate for overprivileged types to be frightened by their own conscience. And then there’s Agatha, an alleged member of the living who glides back into her estranged family’s life like an unwanted specter, provoking violent rage from her father (John Cusack), which Wasikowska’s deceptive innocence makes all the more difficult to stomach. Yet this tormented soul is no less prone to monstrous acts than the heroine (played by the same actress) in Park Chan-wook’s ‘Stoker.’”


"Here Are The 10 Movies 'Mad Men' Cast & Crew Were Required To Watch": LAist's Jen Carlson reveals "Mad Men" creator Matthew Weiner's hand-picked line-up for the latest Film Independent LACMA screening series with Elvis Mitchell on Thursday, March 26 and Friday, March 27.

“NORTH BY NORTHWEST: ‘This film became an important influence on the pilot because it was shot in New York City, right around the time the first episode takes place. While more overtly stylized than we wanted to imitate, we felt the low angles and contemporary feel were a useful reflection of our artistic mindset. I had studied the film in depth at USC film school and absorbed much of its ‘ordinary man in extraordinary circumstances’ narrative drive. It is worth noting that Cary Grant is playing an Adman named Roger, who is forced to assume another man’s identity.’ BLUE VELVET: ‘Remarkably original for its time, this film had an impact on my generation that can’t be underestimated. I saw it as I was finishing college and applied to film school soon after. Indefinable in genre, Blue Velvet moves from murder mystery to film noir to black comedy to coming-of-age story, almost from scene to scene. With stylistic richness and psychological complexity, it celebrates the horror of the mundane and is filled with reference to a kitschy and ironic ‘’50s’ milieu. This incredible observation informed much of the 1980s and became an inspiration for the series and its attempt to equally revise our mythical perception of the period.’’”


"Leonard Nimoy's photographs of fat, naked women changed my life": A beautiful personal essay by The Guardian's Lindy West.

“I didn’t realise it until after he died – for whatever reason, I’d just never done the mental arithmetic – but Leonard Nimoy is responsible for the single most transformative moment of my life. In a very tangible way, Leonard Nimoy saved me. Of course, I have all the standard emotional attachments to the man as an actor and cultural icon: I grew up on Star Trek reruns and the ensuing films (when you’re done here, please sign my petition to get my fiance to wear Spock’s Voyage Home wizard bathrobe at our wedding); I used to watch The Ballad of Bilbo Baggins about 7,000 times every weekend, before I had to quit smoking pot because I convinced myself that I could ‘walk backwards through time’; and, in all seriousness, as a human being who believes in things – in love and humanity and the thrill of consciousness – it’s impossible not to be awestruck at the existence of such a principled, kind, talented, ravenously curious polymath. But it’s one particular area of Nimoy’s art and activism that, for me, transcended appreciation and actually changed my life, and I’m surprised by how few people in my circle know about it. In 2007, Nimoy published a collection of photographs he titled The Full Body Project. The photos are in black and white, and they feature a group of women laughing, smiling, embracing, gazing fearlessly into the camera. In one, they sway indolently like the Three Graces; in another they recreate Herb Ritts’s iconic pile of supermodels. The women are naked, and the women are fat.”


"Nick Kroll's Walk In the Park": BuzzFeed's Anne Helen Petersen investigates why the acclaimed comic is leaving his Comedy Central show at the peak of its success.

“Earlier this year, Kroll unexpectedly announced that he was ending ‘Kroll Show’ after its third season, explaining that a number of characters’ arcs had been brought ‘to their natural conclusion.’ At the same time, ‘The League,’ the FX comedy on which Kroll has played ultimate asshole Rodney Ruxin for the last six years, is also wrapping its final season. He has a smattering of acting and voice roles lined up over the next two years: a small part in the next Terrence Malick film that, like any part in a Terrence Malick film, may end up on the cutting room floor, but also a supporting role in the ‘National Lampoon’s Vacation’ reboot. And then there’s the darling low-budget dramedy ‘Adult Beginners’ — with Kroll as a selfish douche turned decent nanny — which he developed and produced and will hit theaters in April. But mostly, Kroll has made a conscious decision to take stock before moving forward: a rare gift in the current world of celebrity and its vortex of brand management. It’s one of many instances of relative ease that characterize Kroll’s childhood and present — instances that have coalesced into a palpable ease: about his life, his career, his future. ‘There’s another hike that I do near my place that has the 5 in the distance,’ he says. ‘I like seeing the functions of humanity while I’m escaping it.’”

Image of the Day

J.M.W. Turner's 1842 masterwork, "War. The Exile and the Rock Limpet" is featured in KCRW's article accompanying its Art Talk episode, "Mr. Turner aka Mr. Storm."

Video of the Day

Auteur in Space from kogonada on Vimeo.

At Vimeo, "kogonada" presents a brilliant video essay on Andrei Tarkovsky’s "Solaris."

explodingdog: Photo

Planet Haskell: Philip Wadler: Petraeus won't serve a day in jail for his leaks. Edward Snowden shouldn't either.

Trevor Timm in the Guardian argues that David Petraeus' crimes, inspired by adultery, are more serious than Edward Snowden's, inspired by liberty.

The sweetheart deal the Justice Department gave to former CIA director David Petraeus for leaking top secret information compared to the stiff jail sentences other low-level leakers have received under the Obama administration has led to renewed calls for leniency for NSA whistleblower Edward Snowden. And no one makes the case better than famed whistleblower Daniel Ellsberg.

Ellsberg, the first person ever charged under the Espionage Act or any other statute for leaking the Pentagon Papers to Congress and seventeen newspapers, told me on Thursday: “The factual charges against [Edward Snowden] are not more serious, as violations of the classification regulations and non-disclosure agreements, than those Petraeus has admitted to, which are actually quite spectacular.”

It’s hard to overstate the shocking nature of the government’s case against Petraeus. The information that he gave Paula Broadwell, his friendly biographer with whom he was then having an extramarital affair, was among the most sensitive in the US government. According to the indictment, Petraeus gave Broadwell eight black books containing “classified information regarding the identities of covert officers, war strategy, intelligence capabilities and mechanisms, diplomatic discussions, quotes and deliberative discussions from high-level National Security Council meetings … and [his personal] discussions with the president of the United States.”

Saturday Morning Breakfast Cereal: Saturday Morning Breakfast Cereal - Dynamics

New comic!
Today's News:

 Exclusive bonus comic at The Nib!

Quiet Earth: Secrets of Chernobyl Explored by THE RUSSIAN WOODPECKER [Trailer]

In The Russian Woodpecker, artist Fedor Alexandrovich, a Ukrainian victim of the Chernobyl nuclear disaster, discovers a dark secret and must decide whether to risk his life by revealing it, amid growing clouds of revolution and war.

The film looks fascinating both formally and in terms of its content. Unfortunately we don't have a release date, but we'll keep you all posted.

The Russian Woodpecker was the 2015 Sundance Grand Jury Prize winner for World Documentary.

Full Synopsis:
Young, eccentric Ukrainian artist Fedor Alexandrovich was just four years old when the Chernobyl disaster struck, but the event had a profound effect on him. In seeking to learn more about what happened at the nuclear plant, Fedor becomes fascinated with the Duga—a massive, Soviet [Continued ...]

CreativeApplications.Net: Satelliten – A machine tracking activities in lower earth orbit

IMGP7999_bear2_smallCreated by Berlin based studio Quadrature, Satelliten is a custom build machine that brings the invisible movement of passing satellites in lower orbit to a tangible medium and scale.

All Content: Chappie


While out promoting his latest film, "Chappie," filmmaker Neill Blomkamp, who achieved great critical and commercial success with his 2009 debut "District 9," has made a couple of announcements that have attracted much attention from the fanboy set: his next project will be a new entry in the venerable "Alien" franchise and he has admitted that he feels that he messed up with his previous film, the hugely disappointing sci-fi allegory "Elysium". Based on this, I can only assume that when he hits the junket circuit in a couple of years to hype his "Alien" film, he will spend part of his time apologizing for "Chappie" as well because its failures are so pronounced that they make the artistic sins of "Elysium" seem minor by comparison. 

According to the faux-news reports that open the film, the police force in near-future Johannesburg, South Africa has been replaced with human-sized and heavily-armed robots that, while not indestructible, are powerful enough to have inspired a steep drop in the crime rate. For Tetra Vaal, the defense firm charged with supplying the robots, business is booming and other countries are set to place orders as well. However, Deon (Dev Patel), the brilliant designer who created the robot cops, is somewhat disenchanted and wants to make a more meaningful contribution to society. To that end, it appears that he has stumbled upon a way of endowing machines with true artificial intelligence so that they can learn, create and feel just like actual humans. This does not go over particularly well with his boss (Sigourney Weaver) and so, using the remains of bombed-out bot Scout 22, he decides to conduct some off-base experiments, arousing the suspicions of nasty office rival Vincent (Hugh Jackman), whose own prototype for a crime-fighting robot has been shunted aside, partly because of the success of Deon's creation and partly because his creation looks like the ED-209 sans the gazelle-like grace and is controlled by a virtual-reality helmet that makes the user look like a participant in "VR.5" cosplay.

Alas, while leaving the office, Deon is kidnapped by a trio of low-level thugs—Ninja (Ninja), Yo-Landi (Yo-Landi Visser) and Amerika (Jose Pablo Cantillo)—who are convinced that he has the ability to switch off all the robot cops so that they can commit a $20 million heist in order to repay a pressing debt to a violent local drug lord. Deon cannot do that but when they discover that he has a robot with him, they demand that he get it running so that they can use it for their own purposes. Deon successfully installs his AI program and revives the robot, now dubbed Chappie (and performed by Blomkamp regular Sharlto Copley) and coming across like a big metallic child that inspires some unexpectedly maternal feelings from Yo-Landi. While she and Deon try to instill the blank slate that is Chappie with all the right things—intelligence, kindness, an artistic temperament and the ability to know right from wrong—the harsher Ninja and Amerika show him the darker side of humanity in the hopes of getting him to help with their heist plans. About this time, Vincent gets wind of Chappie's existence and sets in motion a plan to neutralize the robot cops and plunge the city into chaos, a move that will eliminate his rival and force the company to let him deploy his creation to save the day. Spoiler alert: his plan proves to be as ungainly as his creation and while Johannesburg is going up in flames, Chappie's increasing developed soul is torn between the lofty ideals of his creator or the baser instincts inspired by the real world.

Although I wasn't quite as over the moon in regards to "District 9" as some people, it was nevertheless an ambitious work that combined genre thrills with a thoughtful allegory about the horrors of apartheid. "Elysium" was another attempt at a science-fiction allegory, this time about the importance of universal health care, but did so in such a absurdly heavy-handed manner that even the most ardent supporters of the ACA found it to be a tedious slog. Presumably in response to the rejection of that film, Blomkamp and co-writer Terri Tatchell (his wife and collaborator on "District 9"), have largely eschewed any grand political subtext this time around but have neglected to bring in anything new or interesting as a replacement. The basic questions posed here—can a machine somehow develop consciousness and, if so, what does that mean for humanity—are ones that have been explored in any number of films over the years, and "Chappie" brings nothing new to the table in this regard and eventually abandons all of its philosophical musings for a series of noisy but largely anonymous action set-pieces.

One of the biggest problems with the film is that Chappie himself is pretty much a tool, both literally and figuratively. The screen has seen any number of robot creations that has managed to demonstrate remarkably human characteristics—HAL 9000, WALL*E and Samantha from "Her" immediately leap to mind—but Chappie, despite the best efforts by Blomkamp to humanize him (such as slapping a "REJECT" sticker on its forehead), is almost stunningly unappealing. He may be like a child, but, if so, he is the kind of child who seems to be in desperate need of Ritalin. He isn't very interesting from a design perspective, his motor-mouthed (no pun intended) approach to everything quickly grows grating, and, after a while, he is so unlikable that it is impossible to give a whit about his transformation and what it means for us all.

Then again, the screenplay hasn't exactly imbued its flesh-and-blood characters with recognizable human qualities as well. As Chappie's creator, Patel is just meh, and it is always nice to see Sigourney Weaver in a genre film, but her appearance here is far too brief and her character is written as too much of a dope to be believable as the CEO of anything. In a weird casting move, Ninja and Yo-Landi Visser, who in real life are members of the punk-rap-rave band Die Antwoord, are on hand to more or less play themselves (at least in the sense that the Beatles played themselves in "Help") but whatever power they may display on the stage does not transfer to film because they are as stridently annoying as Chappie. Then there is poor Hugh Jackman, who is stuck playing the film's most poorly conceived character, a former soldier who hates Deon and his creations, believes that man should always be placed far above robots and is willing to destroy an entire city in order to get his way. The trouble with Vincent is that even though he is the villain of the piece, his concerns over giving robots the ability to think for themselves is actually kind of valid and a more honest film would have admitted it. Instead, the screenplay nullifies this by making him into a cartoonish ogre, and to make sure we know that he is the bad guy, he totes a gun, wears a mullet and is overtly religious to boot.

"Chappie" is such a misconceived work from a once-celebrated science-fiction visionary that I think that all the people who were lambasting the Wachowskis a few weeks ago over "Jupiter Ascending" now owe them an apology—whatever that film's sins, it was nevertheless a hugely ambitious attempt to create an original fantasy epic not based on a video game or comic book that I thought worked more often than not. "Chappie," by comparison, is an exhausting slog through overly familiar cliches that is nowhere near as profound or touching as it clearly thinks it is and is utterly lacking in the kind of intelligence and artistry that it so often pays lip service to in the dialogue. At one point, an anguished Chappie screams out "Why do you humans do this?"—while he is theoretically commenting on the inhumanity of man at this point, I couldn't help but think of it as his plaintive comment on the film as a whole.

Colossal: Quirky Animal Tissue Holders






I’m really enjoying this line of tissue holders from Sparkly Pony based out of Auburn, California. Dinosaur plates and whale spouts become dispensers for plumes of tissues. (via Quipsologies)

Hackaday: Hacklet 37 – Nixie Projects

Nothing quite beats the warm glow of a tube. What better way to enjoy that glow than to use it to read numbers? Nixie tubes were created by Haydu Brothers Laboratories, and popularized by Burroughs Corp in 1955. The name comes from NIX I – or “Numeric Indicator eXperimental No. 1″. By the mid 1970’s, seven segment LED’s were becoming popular and low-cost alternatives to Nixies, but they didn’t have the same appeal. Nixie tubes were manufactured all the way into the 1990’s. There’s just something about that tube glow that hackers, makers, and humans in general love. This week’s Hacklet highlights the best Nixie (and Nixie inspired) projects on!

temperatureDisplayWe start with [Sascha Grant] and Nixie Temperature Display. [Sascha] mixed an Arduino, a Dallas DS18B20 Temperature sensor, and three IN-12A Nixie tubes to create a simple three digit temperature display. We really love the understated laser-cut black acrylic case. An Arduino Pro Micro reads the Dallas 1-wire sensor and converts the temperature to BCD. High voltage duties are handled by a modular HV power supply which bumps 9V up to the required 170V.  Controlling the Nixie tubes themselves are the classic K155ID1 BCD to decimal converter chips – a favorite for clock builders.


driverNext up is [Christoph] with Reading Datasheets and Driving Nixie Tubes. Chips like the K155ID1, and the 74141 make driving Nixie tubes easy. They convert Binary Coded Decimal (BCD) to discrete outputs to drive the cathodes of the Nixie. More importantly, the output drivers of this chip are designed to handle the high voltages involved in driving Nixie tubes. These chips aren’t manufactured anymore though, and are becoming rare. [Christoph] used more common parts. His final drive transistor is a MPSA42 high voltage NPN unit. Driving the MPSA42’s is a 74HC595 style shift register. [Christoph] used a somewhat exotic Texas Instruments TPIC6B595 with FET outputs, but any shift register should work here. The project runs on a Stellaris Launchpad, so it should be Arduino compatible code.

fixietube[Davedarko] has the fixietube clock. Fixietube isn’t exactly a Nixie. It’s an LED based display inspired by Nixie tubes. Modern amber LEDs aren’t quite the same as classic Nixies, but they get pretty darn close. [Dave] designed a PCB with a 3×5 matrix of LEDs to display digits. A few blue LEDs add a bit of ambient light. The LEDs are driven with a 74HC595 shift register. The entire assembly mounts inside a tiny glass jam jar, giving it the effect of being a vacuum tube. The results speak for themselves – fixietubes certainly aren’t Nixies, but they look pretty darn good. Add a nice 3D printed case, and you’ve got a great project which is safe for anyone to build.

openNixieFinally, we have [Johnny.drazzi] with his Open Nixie Clock Display. [Johnny] has been working on Open Nixie for a few years. The goal is to create a Nixie based clock display which can be driven over the SPI bus. So far, [Johnny] has 6 Russian IN-12 tubes glowing with the help of the ubiquitous K155ID1 BCD to decimal converter. The colons of the clock are created with two INS-1 neon indicators. [Johnny] spends a lot of time analyzing the characteristics of a Nixie tube – including the strike voltage, and steady state current. If you’re interested in building a Nixie circuit yourself, his research is well worth a read!

Not satisfied? Want more Nixie goodness? Check out our Nixie tube project list!

That’s about all the time we have for this week’s Hacklet. As always, see you next week. Same hack time, same hack channel, bringing you the best of!

Filed under: Hackaday Columns

TwitchFilm: Is This Where We Fall Into THE VOID?

As Steven Kostanski and Jeremy Gillespie move closer to bringing The Void to life on the big screen one important question to be answered is: Where is it? Like, actually, where is it? Where can you go to enter a hell dimension? That answer may very well be an abandoned hospital in Northern Ontario.Want to know what's coming? Kostanski, Gillespie and producer Casey Walker recently traveled up north to explore the prospective site and have released a new video documenting the experience - and the site - as part of their ongoing crowd funding campaign. Check it out below and support the film here!...

[Read the whole post on]

programming: A quick tour of the Silicon web framework: A simple blog API in 85 C++ lines

submitted by matthieugarrigues
[link] [7 comments]

All Content: Unfinished Business


The stakes could not be lower in "Unfinished Business," the second collaboration between director Ken Scott and Vince Vaughn. Watching a film with non-existent stakes is a depressing experience, especially when "Unfinished Business" also wants to tug on your heart-strings. Heart-strings refuse to be tugged sans stakes. The characters are not people, but rough drafts of simplistic character-traits, and the actors (game as they all are) cannot create something out of nothing. Screenwriter Steve Conrad has written some very good films about middle-aged male panic, most memorably "The Weatherman," but in "Unfinished Business", scenes just sit there. Nothing happens. 

The opening scene, meant to call up memories of Jerry Maguire storming out of his office taking the brave little secretary with him, is a problem because as one watches it, one starts to wish that one were watching "Jerry Maguire" instead. Dan Trunkman (Vaughn) confronts his boss, the unfeeling and cutthroat Chuck Portnoy (Sienna Miller), about why he has to submit to a 5-percent pay cut. Employees implausibly gather around to watch the argument. When Trunkman storms out, declaring he will set up a business of his own, nobody follows him. Instead, he acquires his first "employees" in the parking lot on the way to his car: Timothy (Tom Wilkinson), fired because he was too old, and Mike Pancake (Dave Franco), who just interviewed for a job and didn't get it, maybe because he has only about 20 words in his vocabulary. 

A year then passes, and the three are seen still working out of the product-placement-Dunkin-Donuts as an office, and their relationship has not progressed at all. There's no chemistry between these guys, despite a valiant effort on the part of the actors (especially Vaughn, always open to possibilities in any given scene for comedy/bits/gags). Trunkman is determined to close some important deal, and that journey takes them first to Portland, Maine, and then to Germany (although why all three of them had to travel overseas remains obscure, especially since their "company" has no money in the bank). 

Elderly sad-dog Tim is unhappy in his marriage, wants a divorce, and his main desire in life is try the "wheelbarrow position." It's hard to invest in a "stake" such as that one, and the "wheelbarrow position," unfunny at its first mention, is brought up again ... and again ... and again ... in a tone-deaf repetition that almost reaches surreal levels. Trunkman has two unhappy kids at home, one who is being bullied, and one who is a bully, as well as a wife who cannot grasp that her husband is on an international business trip and she shouldn't call him three times a day. Mike Pancake is so naive that he doesn't know the difference between a square and a rectangle. 

There's one sequence in "Unfinished Business" that is not given enough room to breathe, but it has a lot of weird possibilities. Because he can't find a hotel room, Trunkman ends up staying in a museum art-installation called AMERICAN BUSINESSMAN 42: an all-white hotel room, with an entire wall of windows, where passersby can look in and watch him as though he is an elephant in a zoo. It's the only moment when "Unfinished Business" feels in any way original. 

Other than that, the film limps along, with no sense of comic timing, slapstick reality, or even spontaneity. It's so airless, and yet it feels heavy as lead. 

I like Vince Vaughn in his current phase of slightly-chastened grasping-at-straws middle-aged schlubs. It feels honest, the quick-talking quick-witted guy baffled as to why things don't come so easily to him anymore. Vince Vaughn still has the ability to nearly save any moment he is in by his sense of the absurd, his sharp reactions, and his rat-a-tat chatterbox vocabulary. His performance in "Unfinished Business" is weighed down with worry and concern, almost like it's from another movie, and the fact that his character lacks his typical charismatic snake-oil salesman vibe is actually kind of interesting, in spite of all the nothingness surrounding it. 

But the nothingness is pervasive. 

TwitchFilm: The Many Faces Of Sigourney Weaver

This week sees the release of Neill Blomkamp's Chappie, starring an eclectic mix of actors, non-actors and special effects. Loïc saw the film and had mixed feelings. Among the cast members is Sigourney Weaver though, and that is always worth rejoicing, especially since she and Neill apparently had some interesting things to discuss behind the scenes. Anyway, seeing Sigourney Weaver's name on a cast list always perks me up, and when it is in a science fiction spectacle, so much the better. Therefore, once again I'm going to use a gallery of close-ups of one of my favorite thespians to make a quiz. Click through the images and guess which movies (or shows) they're from! No competition, no prizes, just for fun, try to see...

[Read the whole post on]

Planet Haskell: Matthew Sackman: Paxos notes

I've been doing a lot of reading on Paxos lately. There are many papers to read. Some of them are very good, some of them are less so. Paxos is not very complex - there are only four messages types in total in the classic Paxos case (though most implementations will end up with at least six), but it is quite subtle. Very few of the papers speak at all about why things need to be written to disk, or when, for example. The following are some notes of mine, which might be useful to others.

I'm not going to attempt to describe Paxos (though I may do so by accident). The most succinct description I've come across is the first paragraph of the Paxos Made Practical paper by Robbert van Renesse:

Paxos is a simple protocol that a group of machines in a distributed system can use to agree on a value proposed by a member of the group. If it terminates, the protocol reaches consensus even if the network was unreliable and multiple machines simultaneously tried to propose different values. The basic idea is that each proposal has a unique number. Higher numbered proposals override lower-numbered ones. However, a "proposer" machine must notify the group of its proposal number before proposing a particular value. If, after hearing from a majority of the group, the proposer learns one or more values from previous proposals, it must re-use the same value as the highest-numbered previous proposal. Otherwise, the proposer can select any value to propose.

Before going further, you probably need to have read the Paxos Made Simple paper and probably the Wikipedia page on Paxos too.

Far too many papers choose different terminology for the different phases of the protocol. Thus in the following I'm just going to call them phase 1 and phase 2. Phase 1 is the one where: (1a) a proposer invents a ballot number and sends that to a majority of the acceptors; (1b) each acceptor replies iff the ballot number from (1a) is greater than any ballot number it's previously seen in a (1a) message, and that reply contains the ballot number and value of any (2b) message. Phase 2 is the one where: (2a) a proposer asks the majority of acceptors to accept a value with a ballot number; (2b) each acceptor replies (and accepts the value) iff the ballot number is greater or equal to the maximum ballot number it has seen in a (1a) message.

These papers normally talk about being able to tolerate failure of up to F machines (actually, acceptors). For this to be possible, Paxos still requires the availability of a majority of the original set of acceptors. So that means a total of 2F + 1 acceptors (if you have 2F + 1 machines, then a majority of them is F+1 machines, hence F of them can still fail and you have access to a majority of the original set of machines). The importance of a majority is that if you randomly choose two sets of F+1 machines, there will be at least one machine in common (intersection is never empty). The whole point of ballot numbers (and the way they're constructed such that they can never collide) is so that at least one machine in any two majority sets of machines will be able to correctly order any two different ballot numbers. Thus the point of phase 1 is to figure out if your ballot is currently the maximum known ballot number to each acceptor, and if it is, what value you're allowed to present for phase 2.

In the original papers, acceptors only ever reply iff the ballot number from the proposer meets certain requirements. If it does not, the acceptors are silent and the proposer is meant to determine through some sort of timeout that their message has failed. However, there's no need to implement it like this - several systems have the acceptors actively send back nack messages to the proposer. Paxos will work perfectly well on unreliable communication channels, which means it's fine over UDP. However, UDP frequently doesn't work in the cloud due to cloud providers breaking PMTU discovery and not supporting fragmentation. In such an environment, Paxos will not violate its properties, but you might find nothing makes any progress. If none of that applies to you and so you use UDP then you may well need to implement the timeouts too, in case the nacks go missing (if you choose to use that nacks too) and you can't detect that loss. If you're using TCP then you might decide you can just rely on the nacks (application-layer nacks, not TCP), not bother with timeouts, and also watch for the TCP connection dropping. The argument against timeouts is that the machine with whom you're communicating might just be under heavy load. But then again, is that acceptable for the service you're trying to build?

Paxos ensures that once a majority of the acceptors have accepted a value (by accepted, I mean an acceptor has received a phase 2a message which meets the requirements such that it intends to reply with a 2b message), it is impossible to get a majority of the acceptors to accept a different value. This, in combination with the construction of ballot numbers means that if any two acceptors have accepted a value for the same ballot, it is the same value. An entire instance of Paxos creates consensus in perpetuity on one value only. Normally you want to create a stream of values, so you need to run lots of rounds. How you construct your stream is up to you, but simply name-spacing each instance by the event log ID works just fine.

If in phase 1 you established your ballot number is the greatest ballot number ever and then you were just allowed to pick any old value, then it should be clear that anyone else could come along later, pick an even greater ballot number, and change the accepted value. So this is why phase 1b includes the value and ballot number for the most recent 2b message the acceptor has sent. The proposer has to receive 2b messages from a majority of acceptors before it can make further progress. Now let's pretend that each acceptor actually sends back all the ballot numbers and values for all 2b messages its ever sent as part of this instance. The proposer now has the complete history of all values accepted from a majority of acceptors. These histories can be different for each acceptor, though as said above, where any two acceptors accepted a value for the same ballot, the value will be the same. You can therefore create a list of all the accepted values, with the ballot numbers as indices; there may well be gaps in this list. What should the proposer now do? All the proposer can do is to cause the acceptors to append to this imaginary list - the acceptors will only act on a greater-than-ever-before ballot number, which means appending to the end of our imaginary list. We want future proposers to be forced to continue our work rather than diverge. If, for example, we should force the proposer to send a 2a message with the earliest accepted value then that does not cause more acceptors to agree on what their earliest accepted value is. So the only other sane choice is to force the proposer to send a 2a message with the value of the greatest ballot number it knows of that's been accepted. This can't reduce the spread of this particular value: even if the proposer dies right here, the acceptors haven't lost anything. It can increase the spread of this value though by passing this value to acceptors who haven't previously accepted any value for this ballot number (and because we got a 1b reply from that acceptor, we know that our current ballot number is acceptable to that acceptor; from this point, we can realise that we're most likely to make progress if the majority we send our 2a message to is the same as the majority we sent our 1a message to).

Once a value has been accepted by a majority of acceptors, any further valid (by valid, I mean it does not get ignored, or cause a nack) 1a message from a proposer will guarantee the accepted value is returned in the 1b message and must be chosen again by the proposer in its next 2a message (by the definition of a majority, it is not possible for a different value to have been accepted at the same time by a different majority (even with a higher ballot number)). Once a value is accepted by a majority of acceptors, at least one member of that majority is guaranteed to be in any other majority, and will thus present its accepted value in any 1b messages it sends. Acceptors are considered single-threaded in their dealings with Paxos. So when an acceptor is dealing with a valid 2a message and sending a 2b response, it is not simultaneously processing 1a messages. Thus if an acceptor receives a valid 2a message and accepts that value, some other proposer may be sending phase 1a messages or even different 2a messages to this same acceptor, but they have to wait their turn. In both cases: if some 1a or 2a message arrives afterwards, they are ignored (or a nack sent) if their ballot number is too low, otherwise the 1a will elicit a response (1b) containing the newly accepted value. However, the 2a cannot be valid. This is because a proposer would only send a 2a if it got a 1b back, which implies its ballot number is the greatest. But this acceptor has just accepted a value, implying the accepted value's ballot number must be greater still. Thus in any interleaving involving multiple proposers and an acceptor, the only value acceptable will be with the ballot number of the most recently issued 1b message (or put another way, a 2a will only be accepted from proposer ρ if the previous valid message the acceptor received was a 1a from proposer ρ (other than the special case of the first ballot number where phase 1 isn't necessary - covered below)).

All this talk of majorities is often confusing in combination with failures. The simplest formulation is that a proposer should send the 1a and 2a messages to all acceptors, and can make progress when it receives 1b and 2b message responses (respectively) from a majority of them. This is the simplest way of dealing with the possibility of failures. However, it's frequently a good idea to optimise for the common case, which is when failures don't occur. Thus you can pick your majority of acceptors at the start (perhaps randomly, perhaps not) and communicate with just them, sending your 1a and 2a messages just to them, and waiting for all of them to reply. But what then happens if any of them fail? You're now not talking to a majority. The simplest choice here is to abandon the current ballot, pick a fresh majority (this is a majority of the original 2F+1 acceptors - don't reduce the size of your machines just because of a failure; you should only reduce the size of your machines when you know a machine is not going to come back - covered below), and start from phase 1a with an increased ballot number.

When a proposer receives 2b messages back from a majority of acceptors, it knows the value chosen is never going to change for this particular instance of Paxos. The proposer can then disseminate this information as it chooses (this is often called phase 3/learning phase). If you plan it so, you can have the acceptors send their 2b message to not-just-the-proposer: that way, several parties can learn at the same time that a value has been chosen, without needing the extra hop of going through the proposer. You'll need to deal with some learners dying, whilst others don't, and the need to re-synchronise what's been learnt. The re-synchronising will however be easy because you won't have any conflicts - Paxos guarantees us that. So it should just be adding everything that's been learnt together from all available sources.

The proposer only gets to propose its own value in a 2a message when there is no information returned in the 1b messages from a majority of acceptors. Thus if a proposer is trying to get a particular value added to an event log, it may have to take part in several instances of Paxos before it finds one where its able to get 2a messages to a majority of acceptors for the first ballot number of that instance. Note that in light of failures of acceptors it should not immediately skip to the next instance: it could be that it was able to get its value to some acceptors (albeit not a majority), and some other proposer just happened to pick some of those acceptors in its own majority, and succeeded in spreading that value to a majority. It should only move on to a new Paxos instance if it has learnt it has lost the current instance.

In this light, if the proposer fails after having sent some 2a messages, you have no knowledge as to what value is going to be agreed on by later ballots. If the proposer did manage to get 2a messages to the majority then yes, you have consensus. But if the 2a messages didn't reach a majority, then a different proposer can happen to choose a majority not including any of the previous acceptors, and get a totally different value accepted. Or it can choose a majority which has some acceptors in common with the original 2a messages, and thus complete the instance with the value as originally sent. So you can't assume anything about what will happen in an instance when a proposer dies.

If you happen to construct your system such that you know a particular instance will only ever be started by a particular proposer, then that proposer doesn't need to bother with phase 1 at all - it can start with a phase 2a message (you're guaranteeing there's no history of this instance of Paxos for the proposer to learn through phase 1). Of course, again in light of failures of acceptors it may need to revert to phase 1, but in the common case (no failures), this is a useful optimisation that can halve the number of messages.

The original Paxos papers talk about having the acceptors write their state to disk, though it's not really explained why. If you do have the acceptors write state to disk then it means they can be restarted and continue where they left off - they'll have to read their state off disk and send some more messages, perhaps redundantly, and so your proposers will have to make sure they can handle messages they receive (i.e. 1b and 2b messages) idempotently, but you've probably done that anyway. But for this to work also requires that the restart of the acceptors isn't detected as a failure by the proposers, which may mean you're using UDP rather than TCP, which means you've probably gone down the timeout route. All of this means performance is unlikely to be amazing: the extra fsyncs necessary is going to hurt, the timeouts may have to be fairly generous (and how on earth do you decide what amount of time is allowed for an acceptor to restart without considering that a failure?), and detecting actual failures is going to be more complex.

If you decide to use TCP instead, and you decided that a TCP connection dropping indicates a failure at the other end, then it means that an acceptor being restarted will be considered a failure of an acceptor. In which case, it doesn't matter if that acceptor loses its state. Consequently, the acceptors don't need to write anything to disk. To see this, consider the following: due to design, or some programming bug, you have always chosen the exact same F+1 as your majority of acceptors. They have never crashed, and so they contain all the information to date about every instance of Paxos you've run. The remaining F acceptors contain nothing. Suddenly there's a power failure, and F of those chosen F+1 acceptors die. But Paxos can handle the death of up to F acceptors, so you're still fine. But now you have just F+1 acceptors left, and those F+1 acceptors are your only choice, ongoing, for the majority of acceptors. Crucially, that includes the 1 surviving acceptor from the original majority that has all the state. So nothing has been lost, even without writing anything to disk.

Now yes, if you need to be able to power down the entire system and then resume where you left off then you're going to have to write to disk. But that may still be outside of Paxos rather than within. For example, if you're using Paxos to achieve consensus on some stream of commands then the client which is submitting the command doesn't return until: 1) Paxos has successfully added the command to the stream (i.e. the client, playing the role of proposer, has had 2b messages back from a majority of acceptors for an instance of Paxos in which the proposer was able to pick its own value (command) for the 2a message); 2) the command has been processed by some later step (command processor) and some result returned. Now if the acceptors are co-located with the command processor and you need to turn everything off then does it matter if the stream of commands is lost? The client that submitted the command is just going to get an error, even if its command is eventually processed some time later, so do we really care if that command is lost?

It depends. Presumably the state of the command processors is written to disk every time the state changes, and if you have several of these processors then they could run at different speeds. So it's then a matter of: how do you re-synchronise the state of these command processors? Some of the papers show that you could use Paxos for this, which is true, but then you may need Paxos to maintain quite a history and add other messages to the acceptors so that you can efficiently catch up. Or you could build this re-synchronisation through other means, outside of Paxos, and just keep Paxos for speedy fault-tolerant non-blocking consensus.

So how do you actually deal with intentional removal (or addition) of acceptors? One simple idea is that the set of identities of acceptors amounts to a topology, and this is versioned (ver n). So if you want to add or remove an acceptor then you calculate what the new topology is, give it an increased version (ver n+1), and now run a Paxos instance proposing achieving consensus on what ver n+1 of the topology really is (I think you want to do this Paxos instance with the new topology rather than the old). All instances of Paxos reference the topology version. In a Paxos instance, once a value has been accepted by the majority, you cannot change the topology for that instance. If you increased the number of acceptors then you could render the old majority so small that none of them are chosen in a later ballot, thus allowing the accepted value to be changed. If you decreased the number of acceptors then you could remove enough of the old majority such that a new majority from the new topology need not include any of the original majority, and again the accepted value could change. Thus the easiest is simply that any 1a message would have to carry the topology version, and once an acceptor has received a valid 1a message, the topology version for that Paxos instance is fixed. So then if an acceptor receives a 1a or 2a message for that instance which has the wrong topology number, it will issue a nack, indicating the correct topology number, hopefully forcing the proposer to discover the correct new topology. That does mean that if >F acceptors fail, a Paxos instance can just get stuck. This, you'll just have to deal with explicitly, having everyone detect this case and completely aborting the instance.

There are further complications here too. Consider the earlier case where the same majority of F+1 kept getting chosen, and then F of them died, leaving just 1 acceptor with all the information. If a topology change now happens, removing all the failed acceptors then all the information held by this special acceptor is certainly not held by a majority any more, and is in danger of being lost. So historical instances of Paxos must be made read only, and before the topology change is agreed, it may be essential to duplicate or otherwise make safe such data.

Hopefully the above is useful to some people, not just myself. I've struggled to find much information regarding the various approaches and tradeoffs when implementing Paxos. There are various papers such as Paxos Made Live which are certainly worth reading. But they don't seem to cover much of what I've tried to cover above. Such papers tend to record their concrete implementations rather than considering various different uses of Paxos and what the consequences are. Comments and corrections are very welcome - please let me know.

Open Culture: Philosophers Drinking Coffee: The Excessive Habits of Kant, Voltaire & Kierkegaard

voltaire coffee

I think I speak for many of us when I say that coffee fuels our greatest intellectual efforts. And even as we get the jitters and leave brown rings on our desks, we can take comfort in the fact that so it also went with some of the most notable philosophers in the history of the discipline. As far back as the 18th century, no less a writer, thinker, and agitator than François-Marie Arouet, better known as Voltaire, “reportedly consumed somewhere between 40 and 50 cups of joe a day, apparently of a chocolate-coffee mixture. He lived into his eighties, though his doctor warned him that his beloved coffee would kill him.”

That comes from Amanda Scherker at The Huffington Post writing up “9 Famous Geniuses Who Were Also Huge Coffee Addicts.” Voltaire’s java habit also comes up on “10 Odd Obsessions of Famous Philosophers” by Virginia Muir at Listverse, who names his drinking venue of choice (the Café Procope in Paris) and indicates the extent of his enthusiasm by noting that “he even regularly paid exorbitant fees to have luxury coffee imported for his personal use” — which certainly doesn’t seem so eccentric today.


Later that century, Immanuel Kant took up coffee in his last days. Writing first-hand on the subject in the aptly titled The Last Days of Immanuel Kant, Thomas De Quincey (no stranger to life-changing habits himself) describes the philosopher’s “custom of taking, immediately after dinner, a cup of coffee,” a ritual he so came to relish that, whenever he sensed he may not get his new favorite beverage, there “commenced a scene of some interest. Coffee must be brought ‘upon the spot’ (a word he had constantly on his mouth during his latter days) ‘in a moment.'” Knowing this would happen, De Quincey made sure “the coffee was ground; the water was boiling; and the very moment the word was given, [Kant’s] servant shot in like an arrow and plunged the coffee into the water…. But this trifling delay seemed unendurable to Kant.”

Kierkegaard Mug
(pictured: Søren Kierkegaard coffee mug)

In the 19th century, Søren Kierkegaard would also get into a coffee ritual. He “had his own quite peculiar way of having coffee,” writes biographer Joakim Garff. “Delightedly he seized hold of the bag containing the sugar and poured sugar into the coffee cup until it was piled up above the rim. Next came the incredibly strong, black coffee, which slowly dissolved the white pyramid.” I always drink it black myself, but who among us dares think ourselves too good for the teeth-aching preferred by the author of Fear and Trembling?

We must always bear in mind, too, that while coffee may constitute a necessary condition for our intellectual achievements, it never constitutes a sufficient one. Before pouring your next cup, whether your first of the day or your fiftieth, whether before or after dinner, and whether into a pyramid of sugar or not, ask yourself how much progress you’ve made on your own Candide or Critique of Pure Reason. A sobering question, to be sure — but after enough caffeine, you feel pretty sober anyway.

Related Content:

Free Online Philosophy Courses

The Coffee Pot That Fueled Honoré de Balzac’s Coffee Addiction

“The Vertue of the COFFEE Drink”: London’s First Cafe Creates Ad for Coffee in the 1650s

J.S. Bach’s Comic Opera, “The Coffee Cantata,” Sings the Praises of the Great Stimulating Drink (1735)

Black Coffee: Documentary Covers the History, Politics & Economics of the “Most Widely Taken Legal Drug”

135 Free Philosophy eBooks

Colin Marshall hosts and produces Notebook on Cities and Culture as well as the video series The City in Cinema and writes essays on cities, language, Asia, and men’s style. He’s at work on a book about Los Angeles, A Los Angeles Primer. Follow him on Twitter at @colinmarshall or on Facebook.

Philosophers Drinking Coffee: The Excessive Habits of Kant, Voltaire & Kierkegaard is a post from: Open Culture. Follow us on Facebook, Twitter, and Google Plus, or get our Daily Email. And don't miss our big collections of Free Online Courses, Free Online Movies, Free eBooksFree Audio Books, Free Foreign Language Lessons, and MOOCs.

The post Philosophers Drinking Coffee: The Excessive Habits of Kant, Voltaire & Kierkegaard appeared first on Open Culture.

BOOOOOOOM!: Secret Sticker Packs


This post will be deleted after the weekend. Once again, I’m sending sticker packs out to everyone that mails us pencils over the weekend (include your mailing address when you email your photo of your pencil). These will NEVER be for sale (zippo for scale, these are big).

I will also be giving away 3 advance copies of the first-ever Booooooom book that nobody has because it doesn’t come out for another couple months.

Project instructions below:

Our latest project with Tangible Interaction a collaborative sculpture in Barcelona for Internet Age Media festival, is under way! We’re using 3D-printed connectors to build a sculpture out of pencils from around the world.

1. Get a new or used pencil. The pencil can be round or hexagonal but should be standard width (if the pencil is too thick it will not fit our connectors).

2. Use felts, paint, x-acto knife, whatever you want to decorate/personalize it. Include your name and city somewhere on it.

3. Photograph yourself holding your pencil. This part is optional but we would love to have a gallery of portraits of all the contributors. Email your photo to: with your NAME and full mailing address if you want a sticker pack.

4. Please mail your pencil (you can send as many as you like) to:

Imperfect Future
Attn: Andres Colmenares
Carrer Sant Gervasi de Cassoles 37
6-3. 08022, Barcelona, Spain

Deadline for pencils is March 16th.


View the whole post: Secret Sticker Packs over on BOOOOOOOM!.

Penny Arcade: News Post: Her name is Trill

Gabe: Tycho mentions being inspired by a doodle in my sketchbook. This is the one he’s talking about. We wanted to do a new story line but didn’t really have any ideas. I started showing him some stuff in my sketchbook that I’d done the night before and he saw this little daughter with the branches and the birds in her hair. After that it only took him about 20 minutes to write up a five part story and I loved it. I ended up drawing it all over the course of two days and then I passed my inks over to the very talented Steve Hamaker for colors. You might know Steve’s work…

BOOOOOOOM!: Mural Recap: Pow! Wow! Hawaii

james-jeanMural by James Jean

There were so many incredible murals painted at this year’s Pow! Wow! Hawaii event. It’s impossible to the fully appreciate these works without seeing them in person so maybe you’ll have to fly out to Honolulu and find them.

All the images in this post were painstakingly shot by Brandon Shigeta, who had to wake up extremely early (and also wait around for hours) to catch some of these without cars blocking them. He’s one of the hardest working people at this event every year.

I hope people in Honolulu realise how special this is; Vancouver is dying for something like this. Keep in mind, this post doesn’t even include all the work that was produced this year!

etam-1Mural by Sainer and Bezt (Etam Cru)


case-maclaim-smith-one-1Mural by Smithe and Case


doz-green-2Mural by Doze Green


eaton-1Mural by Tristan and Matt Eaton


crytik-1Mural by Cryptik


esao-aaron-horkeyMural by Esao and Aaron Horkey


ernestMural by Ernest Zacharevic


fafi-1Painting and flower installation by Fafi


heuman-1Mural by Hueman


hot-tea-3 One of many many yarn pieces by Hot Tea


katch-1 Mural by Katch


kevin-lyons-1 Mural by Kevin Lyons


mark-dean-veca-1Mural by Mark Dean Veca


dfaceMural by D*Face


reach-debeMural by Reach and Debe


severMural by Sever 


tatunga-and-lolo-ysMural by Lauren YS and Tatiana Suarez


vincent-di-nguyen Mural by Vincent Di Nguyen 


woes-nosego-1-(1) Mural by Woes, Nosego, Sainer, Lauren YS, Caratoes, Boykong


wooden-waveMural by Matt and Roxy Ortiz


View the whole post: Mural Recap: Pow! Wow! Hawaii over on BOOOOOOOM!.

Hackaday: DIY Thermal Insert Press

You might not know what a threaded insert is, but chances are you’ve seen one before. Threaded inserts are small metal (typically brass) inserts that are pressed into plastic to give a strong point of attachment for bolts and screws. These inserts are a huge step up from screwing or bolting directly into tapped plastic holes since the brass threads are very strong compared to the plastic. The only major downside to these inserts is that the press to install them is incredibly expensive. Thankfully, [Alex Rich] came up with a cheap solution: a modified soldering iron mounted to an Arbor press.

Commercial threaded insert presses typically use ultrasonic welding or heat welding to fuse inserts with plastic. [Alex] chose the simple route and went with heat welding, which (as you might imagine) is way simpler than ultrasonic welding. To provide the heat, [Alex] mounted a 100W Weller soldering iron to the press, which he says handles the impact with no problem. Unfortunately the copper tips of the Weller just wouldn’t hold up to the impact, so [Alex] made his own tips out of some brass he turned on a lathe.

If, like most people, you don’t have the capability of making injection-molded cases, let alone an Arbor press on hand, you’re not out of luck! Using this same technique people have successfully added thermal inserts to 3d-printed parts using a soldering iron and much smaller DIY presses. Have any ideas on how you could use thermal inserts in your 3d prints? Let us know in the comments.

Filed under: tool hacks Blog: UT61D handles high and also extra low voltages


That´s why this modern multimeter is also suitable development of sensitive and “ultra low power“ devices.

Wide offer of modern measuring equipment enables us to choose a suitable device for every purpose and in various price levels. A decision which device to buy and/or a decision whether it´s worth to go for a higher-level device surely isn´t easy.

UT61D, which we want to introduce to you this time offers all usual features – at the first sight. But when we go deeper, we find out that besides a pleasant resolution (5999) and a decent precision (0,5-0,8%) it also offers 60mV ranges – for DC and also AC. Especially in the AC field it´s not that common (at equipment of thice price-level) and moreover – all that we measure in the AC signals can be labeled as TRMS (true RMS). And to all this, also measuring of current starts with a 600uA range (DC aj AC), what means measuring with a 0,1uA resolution.

Probably the last main bonus of UT61D is a possibility of communication with PC via serial port (RS232) and displaying of measured parameters in a simple graphic software.

Detailed information will provide you the UT61D user guide as well as UT61 family flyer.

UT61D handles high and also extra low voltages - [Link]

BOOOOOOOM!: Mexican Artist/Illustrator: Smithe


Mexican artist Smithe painted one of my favourite murals at Pow! Wow! Hawaii this year; it was a collaboration with German artist Case, and you can see it here. When I first posted his work back in 2012 I didn’t realise that in addition to being an insane painter and illustrator he’s also a musician! His band, .Stendal will be playing SXSW this month!

Seeing his work nice and big in Hawaii took it to a whole other level for me. I love his line work and the way he colours his pieces. Take a look at some more images below.

View the whole post: Mexican Artist/Illustrator: Smithe over on BOOOOOOOM!.

CreativeApplications.Net: Marshmallow Laser Feast & Imaginarium for new VW Passat

Area6MoCap + real world LiDAR data + CG + Vicon + light projection with help from Andy Serkis’ Imaginarium, Marshmallow Laser Feast visualise the VW’s invisible data and intelligent sensors in the latest Passat. Blog: Ultra Low Power Wireless IoT Platform



TEXAS Instruments has announced the new SimpleLink ultra-low power wireless MCU platform. The platform has been designed to use so little energy it can be powered from harvested energy or will run for years on a coin cell. For versatility the platform supports multiple wireless connectivity standards using a single-chip and identical RF design. The SimpleLink ultra-low power platform supports Bluetooth low energy, ZigBee, 6LoWPAN, Sub-1 GHz, ZigBee RF4CE and proprietary modes up to 5 Mbps.

The first members of the SimpleLink devices to be introduced are the CC2640 which supports Bluetooth Smart and the CC2630 for 6LoWPAN and ZigBee. The CC2650 wireless MCU supports multiple 2.4 GHz technologies including Bluetooth Smart, 6LoWPAN, ZigBee and RF4CE. The support for such a wide range of radio standards helps future-proof designs and gives the ability to configure a chosen technology at the time of installation in the field. Planned for introduction later in 2015 are the CC1310 for Sub-1 GHz operation and the CC2620 for ZigBee RF4CE.

Ultra Low Power Wireless IoT Platform - [Link]

Perlsphere: Towards better Changes (1)

In order to produce a more helpful Changes file for my modules and applications (primarily for me first, and then for others), aside from the usual advice found on the web like:

  • Geared towards humans (users)
  • NOT a commit log
  • Tell user whether or not she should upgrade (and when)
  • List potential backward incompatibility (removed features, renamed stuffs)
  • List new/improved features
  • Reference each entry with associated issue tracker ID, if any (e.g. GH#123 for Github, RT#12345 for, and so on)
  • Categorize by the nature of the changes (new/enhancements, bug fixes, internal, documentation, and so on)

I’m trying to keep in mind about these two things.

Reason, reason, reason (a.k.a. why, Why? WHY???)

When something is added (and more importantly, when something is removed or renamed), there is usually a reason. Unfortunately, I forget easily. And more unfortunately, I often change my mind. A reason that might be sound at one time, might not be in a later time (and then might again be in a future time). If I didn’t write down the reason I did something, and then forget, I might revert a potentially good decision that I made in the past, only to find out later after some repeated incidents, which will make me revert back the decision. And thus, wasted efforts. This has happened to me more than a couple of times.

Instead of:

- Rename foo to bar.
- Remove baz.

it’s much more helpful (for the future me, for other users) to write:

- Rename foo to bar because foo is not a very clear name.
- Remove baz because Module::XYZ already has something similar (qux), 
  added a mention in See Also section.

The “why, Why, WHY???” rule is also very much applicable to code comments and commit messages.

Updating old entries

In a long history of a module, or a specification document, a feature that got introduced in an earlier release might get renamed or removed in a later release. When one reads the Changes file, it will be useful in the old entry that introduced a feature gets updated with a reference to the new release which removes/deprecates/renames the feature.

You might also notice something like this in IETF RFCs listing. For example, when you are viewing RFC 821 (an old description of the SMTP protocol), you’ll see a notice that this RFC has been obsoleted by RFC 2821.

So something like this might be useful:

1.03    2015-03-06 (PERLANCAR)

        - Add quz.
        - Remove foo because it proves to be more trouble than it's worth.
        - Rename bar to baz because bar might be mistaken as a night-only


0.46    2011-03-02 (SOMEONE2)

        - Introduce foo. UPDATE: Removed in 1.03.


0.13    2011-03-02 (SOMEONE2)

        - Add bar. UPDATE: Renamed to baz in 1.03.

Some other things I do

Add releaser information. Even if currently all of my dists are released only by me (but I’ve switched PAUSE accounts before). This is additional information that might be useful. Reader can be informed that a certain release is not released by its original maintainer/author. And, different releaser might use different build tools/environment and this might creep in as bugs. Knowing who did the release can be useful to track down the problem.

Add a blank line for each entry in a release. For example: this or this. Admittedly, this started purely because of issue with text editor (I can align each entry more easily in Emacs if I separate each entry with a blank line), but with time, this format encourages me to write more sentences in a single entry as a paragraph, instead trying to be as brief as possible by keeping each entry to fit in a single line. And, if each entry becomes a paragraph, a blank line separator helps readability.

Some things I tend to avoid

Crediting each entry


1.2.3    2015-03-06 (PERLANCAR)

         - Add foo GH#19 (Peter)

         - Make it so that bar does not crash the browser (Peter)

         - Fix bug GH#32 (Ron)

         - Rename bar to baz (Peter)

         - Mention some related modules (Ron) 

Sure, it’s okay to mention an occasional contributor and if there are only a few entries. But if there are a lot of entries, the names become more of a noise and distracting. If you need to credit a significant contribution for a certain release, perhaps it’s better to add an entry at the above, for example:

1.2.3    2015-03-06 (PERLANCAR)

         - This release is mostly due to Peter's tireless work. So, thanks Peter.

         - Add foo GH#19
         - Make it so that bar does not crash the browser
         - Fix bug GH#32
         - Rename bar to baz
         - Mention some related modules

I believe it’s more convenient for the reader. If a curious reader wants to know who does each change, she can go browse the commit logs.

Categorizing changes by contributor. Ugh, just no. This is not helpful for readers.

Other recommended readings Blog: Voltage indicator transitions between colours


by Einar Abell @

This Design Idea gives two versions of an indicator light that changes from green to red as a battery discharges. There are many circuits that do this sort of thing, but all the ones I have seen are too complex and costly for my taste. This DI shows a method that uses an absolute minimum of low cost parts: a dual-color LED and four other parts.

Voltage indicator transitions between colours - [Link] Blog: A basic Arduino Solar PV Monitor



I have just recently had solar pv installed, mainly to future proof my energy costs, I do not expect it to be like drilling for oil in my back garden, however the return looks to be encouraging.

The install gives you another single unit meter, from this you will see the total amount the panels produce, but that is about it.

I wanted to know how much the production was as it was happening, I discovered the light blinks on the front of the meter will flash 1000 times for each kWh of electricity which passes through. The rate of the flashing of the LED tells you how much power is currently passing through the meter.

A basic Arduino Solar PV Monitor - [Link]

BOOOOOOOM!: Video of the Day: Clipping “Summertime”

clipping-summertime2 clipping-summertime3clipping-summertime

Here’s a brilliant video for Clipping, directed and edited by Carlos Lopez Estrada. This is a great way to be able to put people in your video who may not even want to be in it! Lots of hilarious shots in this. Watch “Summertime” below.

View the whole post: Video of the Day: Clipping “Summertime” over on BOOOOOOOM!.

programming: AGILE must be destroyed, once and for all - Erik Meijer

submitted by jayanmn
[link] [553 comments]

Open Culture: Devo’s Mark Mothersbaugh & Other Arists Tell Their Musical Stories in the Animated Video Series, “California Inspires Me”

I’ve lived all of my life in various cities on the East Coast, north and south. Various cultural and geographic features of the mid-Atlantic have shaped me in ways I’m probably only partially aware of. But this past summer I spent more time on the West Coast—L.A. to be precise—than I ever have before, and I found it completely refreshing. Of course, mass commerce being what it is, no matter where you go in the U.S., you run smack into a Target, usually flanked by strips of other tediously familiar chains. But instead of the towering pines of my current locale, I gazed up at languid palm fronds, and instead of the typical East Coast swelter, I relished the arid heat and the faint ocean tang in the air. A change in climate changes one’s perceptions of the world, and that’s not even to mention my—admittedly superficial—tourist’s appreciation of myriad architectural, culinary, and other SoCal eccentricities.

On returning and settling back into the grind, I still felt the pull westward, toward L.A.’s weirdness. This is unsurprising—it’s a city, and a state, that have always symbolized escapism, as well as disappointment, whether that of the Joads, Norma Desmond, or countless real anonymous hopefuls. The story of moving west in pursuit of some American Dream is as old as Lewis and Clark and as new as Devo, one of whose founding members, native Californian Mark Mothersbaugh, narrates above his journey to Hollywood with his bandmates after college at Kent State (at the top of the post). He begins with some formative childhood experiences—getting his first pair of glasses in 2nd grade (Mothersbaugh is legally blind), seeing the Beatles on Ed Sullivan. He then tells, in brief, the story of Devo vs. the record company, or how a quirky art-rock band co-opted Madison Avenue strategies to “tell the good news of de-evolution,” only to themselves become a commodity after scoring a hit with “Whip It.”

The video is part of a series called “California Inspires Me,” a collaboration between Google Play and California Sunday magazine. Beneath Mothersbaugh’s animated story, see one from filmmaker and artist Mike Mills, who talks about skateboarding and punk rock in his L.A. youth. In the video above, singer/songwriter Thao Nguyen shares her “really deep appreciation for the history of San Francisco in music.” And below, Jack Black relates his experiences growing up in the “deep, deep South” of Southern California, specifically Hermosa Beach, with its surf culture, and “free-wheeling hippie love.” If there’s one thing that ties all four videos together—besides the music by Shannon Ferguson—it’s the mellow personalities of the four Californian artists. Watching the series from my currently blustery winter climate gave me the East Coast jitters, firing up that urge again to hit the dusty trail and revisit, or maybe relocate to the Sunshine State.

Related Content:

Watch Huell Howser’s Decades of Television Travels Online. It’s California Gold!

The Mastermind of Devo, Mark Mothersbaugh, Shows Off His Synthesizer Collection

Josh Jones is a writer and musician based in Durham, NC. Follow him at @jdmagness

Devo’s Mark Mothersbaugh & Other Arists Tell Their Musical Stories in the Animated Video Series, “California Inspires Me” is a post from: Open Culture. Follow us on Facebook, Twitter, and Google Plus, or get our Daily Email. And don't miss our big collections of Free Online Courses, Free Online Movies, Free eBooksFree Audio Books, Free Foreign Language Lessons, and MOOCs.

The post Devo’s Mark Mothersbaugh & Other Arists Tell Their Musical Stories in the Animated Video Series, “California Inspires Me” appeared first on Open Culture.

Open Culture: Richard Dawkins’ Famous “What If You’re Wrong” Speech Animated South-Park Style

In 2006, Oxford biologist and new atheist Richard Dawkins made an appearance at the evangelical Liberty University and fielded questions from the audience. One student, Amber Moore, asked Dawkins why he was more inclined to believe in extraterrestrials with advanced intelligence than God? When Dawkins gave his answer, explaining that he could only believe in biological beings, Amber asked the follow up question, “What if you’re wrong?” Dawkins’ response went viral on Youtube, tallying almost 4 millions views. So did the South Park-style animation that appeared several years later. The animation (above) came not from the creators of South Park, Trey Parker and Matt Stone, but rather from some YouTuber called TubeLooB.

Parker and Stone did separately lampoon Dawkins, however, in a 2006 episode of the show. Dawkins didn’t like it very much. If you watch this raunchy, very Not-Safe-for-Work clip, you’ll see why.

It’s also worth recalling that Parker and Stone took a respectful whack at animating the philosophical teachings of Alan Watts. We always enjoy giving it a watch.

Related Content:

The Wisdom of Alan Watts in Four Thought-Provoking Animations

Growing Up in the Universe: Richard Dawkins Presents Captivating Science Lectures for Kids (1991)

Richard Dawkins’ Documentary The God Delusion Tackles Faith & Religious Violence (2006)

Richard Dawkins Explains Why There Was Never a First Human Being

Free Online Biology Courses

Richard Dawkins’ Famous “What If You’re Wrong” Speech Animated South-Park Style is a post from: Open Culture. Follow us on Facebook, Twitter, and Google Plus, or get our Daily Email. And don't miss our big collections of Free Online Courses, Free Online Movies, Free eBooksFree Audio Books, Free Foreign Language Lessons, and MOOCs.

The post Richard Dawkins’ Famous “What If You’re Wrong” Speech Animated South-Park Style appeared first on Open Culture.

Planet Haskell: Ken T Takusagawa: [zyxbhqnd] Defining monads with do notation

If one happens to be most comfortable with "do" notation for monads ("What are monads? They are the things for which "do" notation works well."), so monads implicitly being defined in terms of bind (>>=) and return, here are the definitions of map and join, the "other" way of defining monads:

join :: (Monad m) => m (m a) -> m a;
join xs = do { x <- xs ; x }

map :: (Monad m) => (a -> b) -> m a -> m b;
map f xs = do { x <- xs ; return $ f x }

map is identical to liftM and slightly narrower than fmap which requires only the Functor typeclass instead of Monad.  This redundancy is one of the motivations for the AMP proposal.  Incidentally, map (as defined above) would work as well as the famous Prelude map function which operates only on lists, because a list is a Monad (and a Functor).

Just for completeness, here is bind defined in do notation:

(>>=) xs f = do { x <- xs ; f x }

I sometimes like explicitly using the bind operator instead of do notation because the syntax, specifying xs then f, lines up well with the thought process "first prepare the input xs to a function, then call the function f on it".  It also works well for longer chains.  For example, the expression xs >>= f >>= g >>= h is equivalent to

do {
x <- xs;
y <- f x;
z <- g y;
h z;

but not having to name the intermediate results.

Inspired by the tutorial Monads as containers.

Penny Arcade: News Post: The Judging Wood, Part One

Tycho: Professionals have a tendency to talk about weather in these sweeping, biblical terms.  I had every reason to believe that I was walking into a situation like that in The Thing, a mostly inescapable ice hell, minus the super gross spider head thing.  I guess I don’t wanna jinx it or whatever, but jeez.  There are piles of snow, old snow but it’s melting.  That’s creating its own problems, particularly if you have an old roof, but I was expecting some Fortress of Solitude type shit and it ain’t that. Hey!  Now it’s Friday, so The Judging…

Penny Arcade: Comic: The Judging Wood, Part One

New Comic: The Judging Wood, Part One

programming: Coding Like a Girl

submitted by cgaudreau
[link] [714 comments] Comic for 2015.03.06

New Cyanide and Happiness Comic

Disquiet: Disquiet Junto Project 0166: Slow by Steps


Each Thursday in the Disquiet Junto group on and at, a new compositional challenge is set before the group’s members, who then have just over four days to upload a track in response to the assignment. Membership in the Junto is open: just join and participate.

Tracks will be added to this playlist for the length of the project:

This assignment was made in the evening, California time, on Thursday, March 5, 2015, with a deadline of 11:59pm wherever you are on Monday, March 9, 2015.

These are the instructions that went out to the group’s email list (at

Disquiet Junto Project 0166: Slow by Steps
Take a pre-existing track, slow it in descending states, and then add something to it.

This week we’re slowing down an ancient piece of audio, dating from 1910, and adding sounds atop it to create one continuous composition.

Step 1: Download at a public-domain recording of Eugène Ysaÿe performing “Rondino” by composer Henri Vieuxtemps. (Note: If you land on the new site and can’t figure out how to download, click on the “exit beta” button in the upper-right-hand corner of the webpage to go to the original site design, where the downloading is self-evident.)

Step 2: Choose a short segment of the recording, roughly between three and five seconds. Label it as Segment A.

Step 3: Create a Segment B by slowing Segment A to half its original speed.

Step 4: Create a Segment C by slowing Segment B to half its original speed.

Step 5: Create a Segment D by slowing Segment C to half its original speed.

Step 6: Create an underlying foundational track by stitching instances of A, B, C, and D together in that order. Recommended for a five-second segment is Ax4, Bx2, C, D (or AAAABBCD), which would be 100 seconds.

Step 7: Create a new piece of music by recording accompaniment to add to the foundational track, which will otherwise remain unadulterated.

Step 8: Upload the combination of your accompaniment and the foundational track to the Disquiet Junto group on SoundCloud.

Step 9: Then listen to and comment on tracks uploaded by your fellow Disquiet Junto participants.

Deadline: This assignment was made in the evening, California time, on Thursday, March 5, 2015, with a deadline of 11:59pm wherever you are on Monday, March 9, 2015.

Length: The length of your finished work should be roughly between one and three minutes.

Upload: Please when posting your track on SoundCloud, only upload one track for this assignment, and include a description of your process in planning, composing, and recording it. This description is an essential element of the communicative process inherent in the Disquiet Junto. Photos, video, and lists of equipment are always appreciated.

Title/Tag: When adding your track to the Disquiet Junto group on, please include the term “disquiet0166-slowbysteps” in the title of your track, and as a tag for your track.

Download: It is preferable that your track is set as downloadable, and that it allows for attributed remixing (i.e., a Creative Commons license permitting non-commercial sharing with attribution).

Linking: When posting the track, please be sure to include this information:

More on this 166th Disquiet Junto project — “Take a pre-existing track, slow it in descending states, and then add something to it” — at:

More on the Disquiet Junto at:

Join the Disquiet Junto at:

Disquiet Junto general discussion takes place at:

Image associated with this project by Bruce Berrien, used thanks to a Creative Commons license:

Computer Science: Theory and Application: Definite Clause Grammars: Not Just for Parsing Anymore -- 2004

submitted by agumonkey
[link] [2 comments]

IEEE Job Site RSS jobs: Tier 2 Canada Research Chair in Engineered Advanced Materials

Ottawa, Ontario, Canada University of Ottawa Thu, 05 Mar 2015 19:29:49 -0800

Computer Science: Theory and Application: Solutions to "Mathematics for Computer Science" problems

I've been trying to improve my CS related math knowledge and found that the Mathematics for Computer Science text from MIT is available to anyone:

It can be a bit hard to work through the text without solutions to some of the problems. And for other problems it would just be nice to confirm that my answer is correct.

I imagine that because the text is used for a current class that solutions to the problems are only available for the class. So it might be that there are no public solutions to the problems.

If that's the case, I'm wondering if there are any other problem sets available online with similar types of questions?

submitted by TheCriticalSkeptic
[link] [1 comment]

Computer Science: Theory and Application: Quantum Computing Explained

submitted by True-Creek
[link] [37 comments]

Open Culture: The Paintings of Akira Kurosawa


Akira Kurosawa, “the Emperor” of Japanese film, made movies — and in some sense, he never wasn’t making movies. Even when he lacked the resources to actually shoot them, he prepared to make movies in the future, thinking through their every detail. Critic and historian of Japanese cinema Donald Richie’s remembrance of the director who did more than anyone to define the Japanese film emphasizes Kurosawa’s “concern for perfecting the product” — to put it mildly. “Though many film companies would have been delighted by such directorial devotion,” Richie writes, “Japanese studios are commonly more impressed by cooperation than by innovation.”


Kurosawa thus found it more and more difficult, as his career went on, to raise money for his ambitious projects. Richie recalls a time in the 1970s when, “convinced that Kagemusha would never get made, Kurosawa spent his time painting pictures of every scene — this collection would have to take the place of the unrealized film. He had, like many other directors, long used storyboards. These now blossomed into whole galleries — screening rooms for unmade masterpieces.” When he couldn’t shoot movies, he wrote them. If he’d written all he could, he painted them.


At Flavorwire, you can see a comparison between Kurosawa’s paintings and the frames of his movies. “He hand-crafted these images in order to convey his enthusiasm for the project,” writes Alison Nastasi, going on to quote the director’s own autobiography: “My purpose was not to paint well. I made free use of various materials that happened to be at hand.” But as you can see, the Emperor knew what he wanted; the actual shots clearly represent a realization of what he’d devoted so much time and energy to visualizing beforehand. Occasionally, Kurosawa’s own artwork even made it to his movies’ official posters, especially lesser-known (whatever “lesser-known” means in the context of the Kurosawa canon) personal works like 1970’s Dodes’ka-den and 1993’s Madadayo.


We might chalk up the filmmaker’s interest in painting — and perhaps in filmmaking — in large part to his older brother Heigo, with whom he gazed upon the aftermath of Tokyo’s 1923 Kantō earthquake. A live silent film narrator and aspiring painter in the Proletarian Artists’ League, Heigo committed suicide in 1933 after his political disillusionment and the career-killing introduction of sound film. Young Akira would make his directorial debut a decade later and, in the 55 years that followed, presumably do Heigo proud on every possible level.

Related Content:

Akira Kurosawa’s 80-Minute Master Class on Making “Beautiful Movies” (2000)

Akira Kurosawa’s List of His 100 Favorite Movies

Akira Kurosawa & Gabriel García Márquez Talk About Filmmaking (and Nuclear Bombs) in Six Hour Interview

Colin Marshall hosts and produces Notebook on Cities and Culture as well as the video series The City in Cinema and writes essays on cities, language, Asia, and men’s style. He’s at work on a book about Los Angeles, A Los Angeles Primer. Follow him on Twitter at @colinmarshall or on Facebook.

The Paintings of Akira Kurosawa is a post from: Open Culture. Follow us on Facebook, Twitter, and Google Plus, or get our Daily Email. And don't miss our big collections of Free Online Courses, Free Online Movies, Free eBooksFree Audio Books, Free Foreign Language Lessons, and MOOCs.

The post The Paintings of Akira Kurosawa appeared first on Open Culture.

Greater Fool - Authored by Garth Turner - The Troubled Future of Real Estate: Subprimal

BIKER modified

Last April the realtors’ cartel in Toronto reported that the average detached house in 416, the best place in the galaxy, ever, hit $1,012,172. This happened on the back of the latest mortgage wars, punctuated by the first 1.99% home loan offered in Canada.

After that, prices fell. In fact, they dipped about 12%, perfectly understandable in a city where average incomes remain stagnant and citizens have become nicely pickled in world-class debt. This changed in January, when the Bank of Canada panicked over oil and dropped its key rate a quarter point. Mortgages didn’t change much, but that’s not what people thought.

So this week the cartel announced the average 416 house had regained the level of almost a year ago, to $1,040,018. It issued a media release claiming this constituted “an increase of 8.9%”. The Globe and Mail, easily duped, reported that for the first time ever, “houses in Toronto cost $1 million.” The Financial Post said, “Housing sales across the Greater Toronto Area climbed 11.3% in February from a year ago, helping to push the average sale price of detached homes in the city past the $1 million mark for the first time.” The TV anchorettes piled on, and this week viewers were breathlessly marched through beater houses with slanty walls and pink toilets, told that they are all now worth seven figures.

Meanwhile most families still make about $72,000.

It’s hard to know who to be the most disappointed with. The real estate board for its duplicitous Frankenumbers, including its misleading annual gain stat. Or the big-city reporters who have the investigative talents of foot stools.

In any case, it’s more evidence of a perfect negative correlation between house prices and interest rates. When the cost of money falls, people borrow more and real estate goes up. Without 2.6% five-year mortgages, houses in 416 would not cost $1 million. In any case, this is not what the reporters told us. Instead the news was of a milestone, the start of a new era in property insanity, so you’d better buy now. In reality, it’s the end of a cycle – a perfect head-and-shoulders formation as the million-dollar mark is tested yet again, and will inevitably decline in a similar fashion. This time the chart is rife with danger.


Well, first, houses costing a mill don’t qualify for CMHC insurance. That requires a buyer to cough up a 20% downpayment in order to deal with a major lender. It also means the government will no longer insure financing on the average home, which is interesting. So on a property changing hands for $1.04 million, the down is $208,000. Land transfer tax in Toronto adds $33,800, so with normal closing costs, the buyer needs about $245,000 in real money, plus a mortgage of about $810,000. (Renovating comes extra.)

Most buyers don’t have $245,000, of course. So as prices creep above the level of CMHC insurable-mortgaging, many are being driven into the subprime market. If that sounds scary, good. It is.

Without CMHC backing, loans cost more since the lender is shouldering all the risk. If you don’t have the 20%, you must borrow enough elsewhere to make up the difference, in order to qualify for a decent rate. That’s called a second mortgage, and you’re lucky if you find one today for less than 12%. Of course, this is typically for a smaller amount of money (maybe a hundred grand), while the main (or ‘first’) mortgage can be had to today’s current cost.

Subprime lenders are typically not regulated by the federal government, charge rates determined by competition, not the Bank of Canada, and can decide capriciously not to renew your borrowing when the term expires. The subprime lending market is estimated to have grown by a quarter over the past year.

You read that right. The 12-month growth in Canadian subprime lending is 25%, and while it amounts to less than 3% of outstanding mortgages, expect that to change. Benny Tal, big economist at CIBC, was saying this week that the million-dollar CMHC cutoff limit is leading to a surge in subprime lenders entering the market which, of course, is what happened in the US prior to the crash there. Tal also says he sees more and more families forced to borrow downpayments to buy million-dollar-plus homes, because (a) they don’t have the money and (b) that’s what houses cost.

Weird stuff for an economist to utter. But it gets worse. The banker openly wonders why the feds brought in the rule three years ago removing million-dollar properties from the public insurance gig.

“It’s a legitimate question. Why was $1 million chosen anyway?,” says Benny. “This is probably not consistent with the spirit of what they want to do, because the spirit of CMHC is to make housing affordable for young people.”

F modified  Did you hear that noise? F just rolled.

Quiet Earth: EXPENDABLES TV Show will Unite Iconic Stars from the Small Screen

Sylvester Stallone’s latest Expendables film may have stuttered at the box office in the wake of pirates, but it seems the fun isn't over for the show's producer.

FOX is developing an Expendables television show with Stallone executive producing alongside the films’ producer Avi Lerner Shane Brennan (NCIS) to serve as showrunner.

The series is being described as "a fun action drama that unites iconic TV stars as a new team of highly-skilled heroes who are on a mission to stop a dangerous terrorist. "

We can only speculate on who those iconic stars from television might include. Tom Selleck? Chuck Norris? Scott Bakula? I'm sure all would be up for an episode or 2.

More as it comes, folks!

Recommended Release: Expendables 3

[Continued ...]

Colossal: Weapons of Mass Instruction: A 1979 Ford Falcon Converted into a Tank Armored with 900 Free Books

In celebration of World Book Day (today!) 7UP commissioned Argentinian artist Raul Lemesoff to construct one of his famous book tanks. In this case he began with a stripped down 1979 Ford Falcon which he used to build a new roving library on wheels with an exterior framework capable of carrying 900 free books. Lemesoff refers to his militaristic bibliothecas as Weapons of Mass Instruction, and he drives them around the streets of Argentina giving free books to anyone who wants one, as long as they promise to read it. Watch the video above to see it all come together. (via Designboom)









BOOOOOOOM!: Vancouver-Based Painter: Scott Sueme


New paintings by my talented friend, artist Scott Sueme, his show opens here in Vancouver at Kimoto Gallery on Friday, 6-9pm. Love the new direction his work is headed, more images below!

View the whole post: Vancouver-Based Painter: Scott Sueme over on BOOOOOOOM!.

new shelton wet/dry: A dark unfathom’d tide of interminable pride

The ’sex selfie stick’ lets you FaceTime the inside of a vagina The device offers the unprecedented opportunity to be on the phone with someone’s genitals. { Independent | Continue reading }

new shelton wet/dry: And the cloud that took the form (When the rest of Heaven was blue) Of a demon in my view

[O]ne in six serial killers are female. Their crimes tend to go undetected for longer than their male counterparts, likely in part because “our culture is in denial of women’s proclivity for aggression.” Harrison and her team have profiled 64 US female serial killers active between the years 1821 to 2008. […] The female serial killers [...]

explodingdog: Photo

Computer Science: Theory and Application: Google Tests First Error Correction in Quantum Computing

submitted by carmichael561
[link] [2 comments]

Quiet Earth: Heinlein's THE MOON IS A HARSH MISTRESS Headed for Big Screen Care of Bryan Singer

Bryan Singer is currently holed up in Montreal, knee deep in X-Men but that isn't stopping him from getting involved with new projects and one of the most recent sounds particularly promising.

Buzz is that Singer has signed on to executive produce a movie adaptation of Robert A. Heinlein's "The Moon is a Harsh Mistress." The novel, originally published in 1966, focuses on a lunar colony that revolts against Earth rule. The movie will be titled Uprising and the story is being adapted by Marc Guggenheim who has written a whole whack of TV (most recently "Arrow") and has been tapped to write the upcoming The Flash movie.

Various folks have been attempting to get t [Continued ...]

Perlsphere: PBP: 087 Extended Boilerplates

The Best Practices make some suggestions on additional things to include in your POD, and suggest those items get listed in your general boilerplates to fill out.  Some of the suggestions are interesting, but I’m not sure they belong in every POD ever.

I already think the templates given earlier are too verbose for many situations, and would rather see ways to be reminded of what sections exist instead of being forced to wade through them all and delete them every time I start a module.  Making modules should be easy, not painful.  It’s already hard enough to get engineers to organize their code.

That being said, some of the things listed in this section in the book are interesting, and to be reminded to include them is excellent.  While I don’t know if they belong in every module, they may belong somewhere in every project.

EXAMPLES: Isn’t the “Examples” section what the already-hard-to-manage Synopsis is supposed to be?

FAQ: I don’t think the FAQ belongs in every module.  Maybe in a POD for the project, and maybe on the web site or wiki.  Depends on how the project is being organized and the context it is for.

COMMON USAGE MISTAKES:  I like the note that this is “Frequently Unasked Questions” but I don’t want to put examples of how to do it wrong anywhere.  I think that’s what’ll show up in the Internet search, and it will cause more questions than it asks.

SEE ALSO: I loved the original Unix man(1) pages, because they had fantastic cross-references.  I learned Unix on a real Unix system where the manual pages were complete, cross-referenced, and included general background sections.  The modern Linux man pages are a pale, pathetic imitation of this.  (And GNU with their drive to put things in the hard-to-use and opaque info tool damaged this terribly.  I wish they’d stop.)  Whoops, rant over, sorry.  I just with the linking and anchoring tools in POD were easier to work with and less cranky and verbose.

I just noticed a footnote in this section that raises my hackles a little too.  “By now you have no doubt detected the ulterior motive for providing more extensive user manuals and written advice. User documentation is all about not having to actually talk to users.”  This is a terrible reason to write documentation.  This continues the poor belief that engineers are different than other people and shouldn’t have to deal with them.  The reason to write documentation is to help those other people, so that they can get the most possible out of the program you’re working with.  You’re trying to make their lives better by making sure they have the knowledge to understand and use the system, not to make your life better by getting them to leave you alone.

new shelton wet/dry: Jerry, just remember, it’s not a lie if you believe it

Over the past twenty years, DNA analysis has revolutionized forensic science, and has become a dominant tool in law enforcement. Today, DNA evidence is key to the conviction or exoneration of suspects of various types of crime, from theft to rape and murder. However, the disturbing possibility that DNA evidence can be faked has been [...]

Perlsphere: pericmd 032: More on tab completion (4): Completing paths

There are several kinds of tree-like entities that can be addressed using a path. Filesystem is one, another is a hierarchy of Perl module/package (yet another is Riap URL, which we haven’t really covered in depth, but suffice to say that local Riap URL also map to Perl packages in Perl-based application). A module called Complete::Path is used as a backend to complete all these kinds of path. Each specific type of path is then completed using a higher-level function which uses Complete::Path, but they support the same settings that Complete::Path supports/respects.

Completing filesystem path

Function complete_file in Complete::Util can be used to complete filesystem path (that is, files and directories). There is a filter option which can be a simple string like "d" to only use directories and not files or "x" to only include files (and directories) that have their executable bit set, or as complex as you want since it can also be a coderef.

Let’s try using the function directly. Suppose we have a directory containing these files:

% mkdir tmp
% cd tmp
% mkdir dir1 dir2 Dir3 dir2/dir4
% touch file1 file2-a file2_b File3 dir2/file4 dir2/dir4/file5

Then this code:

% perl -MComplete::Util=complete_file -MData::Dump -E'dd complete_file(word=>"d")'
["Dir3/", "dir1/", "dir2/"]

Note how directories are automatically appended with path separator character (in this case, /). This is for convenience to let you press Tab again directly to dig a filesystem deeper into subdirectories without typing the path separator character manually.

The map_case option. complete_file() also accepts map_case option (will be passed to Complete::Path) which, if turned on (by default it is), will regard underscore (_) and dash (-) as the same character. This is for convenience to let you use dash (which does not require pressing the Shift key on US keyboards) for completing words that might use underscores as separators. Example:

% perl -MComplete::Util=complete_file -MData::Dump -E'dd complete_file(word=>"file2-")'
["file2-a", "file2_b"]

The exp_im_path option. exp_im_path is short for “expand intermediate paths” and is another convenience option which by default is turned on (can be turned off globally by setting environment COMPLETE_OPT_EXP_IM_PATH to 0). This option lets you type only one or a few characters of intermediate paths. For example:

% perl -MComplete::Util=complete_file -MData::Dump -E'dd complete_file(word=>"d/d/f")'

This is akin to a shell wildcard like d*/d*/f*.

Note that by default, expansion is limited only when each intermediate path is only 1 or 2 characters long. As to why this is done, the documentation for Complete module contains the gory details.

The dig_leaf option. This is another convenience option (again, by default is turned on and can be turned off using COMPLETE_OPT_DIG_LEAF=0), which lets Complete::Path dig immediately several levels down if it finds only a single directory in the intermediate paths. For example:

% perl -MComplete::Util=complete_file -MData::Dump -E'dd complete_file(word=>"dir2/")'
["dir2/dir4/file5", "dir2/file4"]

Inside dir2 there is only a single file (file4) and a single subdirectory (dir4). Instead of settling with those, since there is only a single directory, Complete::Path will dig inside dir4 and add the files inside it to the completion answer. If dir4 in turn only contains a single subdirectory, the process is repeated. The effect is, if you have a deep directory structure, e.g. lib/TAP/Parser/Iterator/ and you happen to have only a single file like that and no other intermediate paths, you just have to type “lib” (or even “l/”, due to exp_im_path setting) and voila, the whole path is completed using a single Tab press instead of you having to Tab-Tab-Tab your way into the deep directory.

Completing Perl module names

Perl module names can be completed using the complete_module function in Complete::Module module. Since Perl modules also form a hierarchical namespace, the function also calls Complete::Path::complete_path as its backend and shares the same support for options like exp_im_path and dig_leaf. Let’s see some examples:

% perl -MComplete::Module=complete_module -MData::Dump -E'dd complete_module(word=>"TA")'
  path_sep => "/",
  words => ["TAP/", "TableDef", "Taint/", "Task/Weaken", "tainting"],
% perl -MComplete::Module=complete_module -MData::Dump -E'dd complete_module(word=>"TAP::")'
  path_sep => "::",
  words => [

Wait, why is the path separator still “/”, shouldn’t it be “::” (double colon)? Yes, this is for convenience when doing bash completion. Path separator will only become “::” if the word already contains “::”. Otherwise . See the documentation of Complete::Module (or some of my old blog posts) for more details.

You can force using “::” by specifying path_sep argument:

% perl -MComplete::Module=complete_module -MData::Dump -E'dd complete_module(word=>"TA", path_se=>"::")'
  path_sep => "::",
  words => ["TAP::", "TableDef", "Taint::", "Task::Weaken", "tainting"],

Also, why does instead of array of words, the function returns a hash structure instead? This allows for setting metadata (like the path_sep key above) useful for hints when formatting the completion. The hash completion answer structure will be discussed in the next blog post.

Another convenience that the function provides is some common shortcuts like “dzp” automatically being expanded to “Dist/Zilla/Plugin/”, “pws” to “Pod/Weaver/Section/” and so on. This list of shortcuts can be customized, even from the environment variable.

Let’s see the complete_module() function in action in an actual CLI program. Install App::PMUtils from CPAN. It contains several CLI apps like pmversion or pmpath:

% pmversion t/ansit<tab>
% pmversion Text/ANSITable _

% pmpath dat<tab><tab>
Data/            DateTime         DateTimePP       
Date/            DateTime/        DateTimePPExtra  
% pmpath date/<tab>
% pmpath Date/<tab><tab>
Date/Format     Date/Language   Date/Language/  Date/Parse      
% pmpath Date/f<tab>
% pmpath Date/Format _

% pmversion dzb<tab>
% pmversion Dist/Zilla/PluginBundle/<tab>
% pmversion Dist/Zilla/PluginBundle/a/perla<tab>
% pmversion Dist/Zilla/PluginBundle/Author/PERLANCAR _

Perlsphere: What could a reddit bot do with feedback?

David Farrell is conducting some Reddit experiments with his Perly::Bot. Through the _perly_bot user, he automagically injects things into the Perl subreddit, making a bit more like a feed aggregator. But that's just a start.

I like reddit because it allows for casual feedback, either up or down (unlike Likes). Some of that information could feed back into the bot. If someone's entries in, for instance, are consistently disfavored, the bot could neglect to inject them. There's lot of interesting math and algorithms around this sort of thing. And, counter-gaming and counter-counter-gaming. I'm sure some of you reading this know how to do that stuff and would have fun adding those features.

Saturday Morning Breakfast Cereal: Saturday Morning Breakfast Cereal - Thinning the Herd

New comic!
Today's News:

 Sorry about the RSS bug. Should be fixed now.

new shelton wet/dry: ‘To him who looks upon the world rationally, the world in its turn presents a rational aspect.’ –Hegel

Google started testing their cars on public roads back in 2009, long before any regulations were even dreamed of. An examination of the California Vehicle Code indicated there was nothing in there prohibiting testing. For testing purposes, Google has a trained safety driver sitting behind the wheel, ready to take it at any moment. Any [...]

CreativeApplications.Net: Irregular Polyhedron Study #1 – Vertex, edge and volume

iregular-polyhedron_images_07Created by Oslo based computational design studio Void, Irregular Polyhedron Study #1 is a physical representation of the basic components of computer graphics; the vertex and the edge and explores the perceptual gap between the flat and the spacious, the analogue and the digital.

The Rhizome Frontpage RSS: Speaking in Code


"The future of poetry is with the programmers." - Kenneth Goldsmith

"Does everything that exists, exist to be presented and represented,to be mediated and remediated, to be communicated andtranslated?" - Alexander R. Galloway, Eugene Thacker, McKenzie Wark, Excommunication.

Kenneth Goldsmith's aphoristic tweet has been coming true for a long time: some version of the "future of poetry" has been happening at least since 1959, when Theo Lutz wrote poems using the programming controls of a Zuse Z22 computer.[1] Since then, a small yet sizeable number of poets have ventured into pre-internet computer poems, yielding an even smaller number of specialists who know about their creative pursuits. Not only that, but digital poems take resources to conserve, programmers who know how to do so and, considering that many of these poems pre-date the internet, they are not as accessible as their successors, such as hypertext narrative.

Given the obscurity of these niche endeavors, it is not surprising that Wired published an article claiming that code poetry was invented in 2011, when a group of engineers noticed the similarities between code and language. But this is not necessarily a new idea: the connection between code and language goes back to its earliest inception. Code is language. It seems only natural that code should be, or would become, poetry.

In fact, this realization came early to digital poets. In the late 1960, the poet Carl Fernbach-Flarhseim asked, of a paper tape program used to randomly compose verses, "If the score is a poem, why not the program which controls the score?"[2] The work done by early digital poets was coincident with the rise of related forms beyond the processor: concrete poetry, in which the visual appearance of the poem is as important as the words comprising the typographical placement, and Oulipo (Ouvroir de littérature potentielle), a movement entirely concerned with implementing and working within stringent linguistic or mathematical constraints.[3] 

While these early works primarily used the computer to generate static texts, often for output to film or paper, later poets used the computer to generate dynamic compositions. In the 1980s, poet Barrie Phillip Nichol, more commonly known to by his lower case initials bp, experimented with an Apple IIe 8-bit home computer and the Applesoft BASIC programming language. Unlike previous models of the Apple II, the "enhanced" edition supported up to 1MB of memory, a full ASCII character set and keyboard, and the ability to input upper and lower case letters, as well as other features that simply made it easier to type.[4] At the same time, BASIC (an acronym which vaguely indicates its meaning: Beginner's All-purpose Symbolic Instruction Code) was all about making code more user-friendly. Plus, the machine was becoming less expensive to build.

The result of Nichol's encounter with the machine was First Screening: Computer Poems (1984), a suite of a dozen programmed, visual, and kinetic poems published in an edition of one hundred 5.25" floppy disks. In the printed introduction to the works, included with the diskette, Nichol briefly recounts the long process of programming these poems, highlighting that it took a year and a half to complete the series. Given the simplicity of each poem, however, they appear deceptively effortless. Each poem is composed of one, two, three, or up to six words or letters at the most, with the entire series taking less than ten minutes to view. 

Due to research and conservation efforts undertaken by a group of Nichol's friends and fellow poets, First Screening is available online as a viewable, readable resource with several versions and one emulated option enabling interactivity. Reading through the essays, we are reminded of (or can imagine) the difficulty of working with such a new technology, before the mouse and GUI.

The poems in First Screening have many similarities to poems Nichol made before he experimented with digital poetry: repetition, permutation, and movement. Letters, words, and phrases are treated as both linguistic and aesthetic elements of a composition, with the "page" serving as a dynamic space for fluid forms. With a careful, sparse selection of words, Nichol gives the same amount of importance to the words themselves as the way they appear on the page, or move across the screen. Programming enabled Nichol to employ these properties to their fullest, so that his computer poems are more effective than those in print: Motion isn't implied, as it would be in print; instead, it is actively happening.

The cover of the booklet could be considered the first poem in the series, with computer-generated drawings rendered as pixelated line tracings.[5] In the opening sequence, a group of nine "O"'s, 3 across and 3 tall, seem to circle around one another in a grid. The series then opens with "SELF-REFLEXIVE NO. 1":


bpNichol, "SELF-REFLEXIVE NO. 1" (1983-1984)

The closeness of "LOST" and "TOSS" is similar to an imperfect rhyme, yet the two words almost touch each other—the T of LOST sliding into the T of TOSS—rather than both ending their respective phrases. The first line appears and the second follows in such rapid succession that they appear almost to happen at once, and the following line comes just as quickly as the preceding line ends. As the lines moves so rapidly, the repeated lines pile up, one after the other, so that the poem begins to scroll as it continues to replicate. This feels very contemporary ("Clicking is through, it's all about scrolling.")—unlike hypertext narrative, which necessitates clicking, Nichol's poems scroll in a predetermined way. What's more, the scrolling that the repetition induces is indicative of the repetitive motion of tossing and turning. The motion of the words is concrete, rather than the words themselves and their form.  

"LETTER" begins with the phrase


bpNichol, "Letter" (1983-1984)

which then changes by one word into




going through each word of the phrase so that the first word of the phrase reappears at the end, and an entirely new sentence comprising the same words follows in the sequence so that the poem ends like this




In its transformation, the last line becomes indicative of the process of "reading writing interfaces," as described by Lori Emerson in her book of the same title, with the poem serving as the interface that needs to be activated, mediating "between writer and text as well as between writer and reader."[6] You sat down to write the poem; the poem sat down to write you. In the preface to her book, Emerson states, "Reading Writing Interfaces…is about demystifying devices—especially writerly demystification—by opening up how exactly interfaces limit and create certain creative possibilities."[7] Nichol's First Screening exemplifies this for Emerson, as the "reader/user" had to type in commands. The program also prompted reader/users to look and engage with the text further, with a "hidden" poem at the end, and with access to the .txt file, meaning the code was meant to be investigated and free to be augmented, or at least viewed, by any person curious enough to open the file. Through this, both the writerly process and the device are demystified, enabling reader/users to see and enact the program, and to remember that we are interfacing with an interface,  that there is an exchange happening behind the screen, or off it, as bpNichol alludes to from the poem entitled "OFF-SCREEN ROMANCE."

The poems in First Screening were the first and last Nichol ever wrote for the computer; he passed away in 1988. The title implies that there could be a second screening, or maybe it simply meant that this is the first instance of something. Because of the small selection of works, I compared his pre-digital poems with his computer poems. What becomes strikingly apparent, aside from the formal elements listed above, is that his work is incredibly methodological; it is almost obsessively experimental, a tendency that is as much that of a writerly one as that of a programmer.

However, unlike written human language, a programming language is often largely the invention of one person: the inventor of that language is therefore the only one who truly grasps all of its intricacies and understands its full potential. Speaking about programming languages and security vulnerabilities at DEF CON ® 20, Dan Kaminsky explains how all of the most successful programming languages are the brainstorm of one guy (note, guy): "There's one guy [sic] who has it in his head." He goes on, "Our languages that are popular are artistic endeavors by one person, supported by others, but one guy's got the vision." Thus, to locate vulnerabilities in any given code requires getting into someone's head, an intense investigation must be undertaken into the structure of a language, how it is organized, its syntax, its logic.

Translation is an entry point for those trying to fully grasp a language: to learn its nuances, colloquialisms, cadences, and irregularities. One pre-digital project of Nichol's, entitled "Translating Translating Apollinaire: A Preliminary Report" (1975-1978, and potentially ongoing among a network of collaborators as an experiment in pedagogy and practice) is a series of poems that reveals the centrality of this methodology to his writing.[8] In the introduction, Nichol references the first poem he had ever published, written nearly a decade before: Translating Apollinaire (1963), in bill bissett's Blew Ointment magazine circa 1964.[9] Describing the experiment, Nichol writes "I...decided to put that poem thru as many translation/ transformation processes as i & other people could think of. I conceived of it as an openended, probably unpublishable in its entirety, piece. [sic]"[10]

While Nichol eagerly began experimenting with the capabilities of Apple IIe upon its release, the novelty of the tool was not necessarily the allure, though that is the story often told with new media practices. In this instance, the tool enables the practice and, in turn, the form. In this instance, the tool enables the practice and, in turn, the form. The poems were experiments in formalism, concerned with properties and their output, and not necessarily the (probably unpublishable) content of the poem—with process, rather than its resulting object. This emphasis on process is what made the computer such a suitable environment for Nichol's work, and—given the fact that this process was partly enacted by the computer—what makes it so inseparable from its original technological context.


[1] C. T. Funkhouser, Prehistoric Digital Poetry: An Archaeology of Forms, 1959-1995 (Tuscaloosa: The University of Alabama Press, 2007), 37.
[2] Quoted in Mary Ellen Solt, Concrete Poetry: A World View, Indiana University Press; 1st edition (January 17, 1970).
[3]  One of the most cited example being Georges Perec's La Disparition (1969), written without the letter "e," save the author's name—a feat more difficult in French than English, given that nearly every feminine word must end with an "e."     
[5]  In his notes in the booklet, Nichol wrote that the dozen poems in the series "could be considered a baker's dozen if you count the cover piece."
[6] Lori Emerson, Reading Writing Interfaces (University of Minnesota Press: Minneapolis, 2014).
[7] Lori Emerson, Reading Writing Interfaces, ix.
[8] See "During the time we were going through the manuscript, bp began asking people if they'd like to participate in TTA 29 (some had already participated in other sections, such as TTA 20). We intended this to be the first in a series of "reports," and bp included an invitation to participate in his introduction. We discussed a number of ways of including other participatory sections in further volumes, including the alter-and-pass-on and alter-and-return type familiar to people in the mailart network. We received several of the TTA 29 type before bp's death in 1988, and I have received several since then."
[9]This poem is particularly apt for such an exercise, given the number of times it has been translated. Further, French is a particularly ambiguous and colloquial language; its translations can have a variety of interpretation, depending on the translator.
[10]bpNichol, "Translating Translating Apollinaire: A Preliminary Report," (1978)

Michael Geist: Misuse of Canada’s Copyright Notice System Continues: U.S. Firm Sending Thousands of Notices With Settlement Demands

The launch of the Canadian copyright notice system earlier this year raised serious concerns as Rightscorp, a U.S.-based anti-piracy company, sent notices that misstated Canadian law and demanded that users pay to settle claims. The misuse of the Canadian system was the result of the government’s failure to establish regulations prohibiting misleading content or the use of notice-and-notice to demand settlements.  Despite more than a year of work on potential regulations – including possible costs to rights holders for sending notifications – Industry Minister James Moore abandoned the process, implementing the system with no costs, no limitations on notice content, no restrictions on settlement demands, and no sanctions for the inclusion of false or misleading information. The government’s backgrounder says that the law “sets clear rules on the content of these notices”, however, it does not restrict the ability for rights holders to include information that goes beyond the statutory minimum.

The furor over the Rightscorp notices died down in recent weeks, but now another U.S. anti-piracy firm is flooding the Canadian market with thousands of notices, all seeking payment for alleged infringements. CEG TEK, a well-known U.S. firm, is sending notices that reference Canadian copyright law, but use the notice-and-notice system to pressure recipients into paying large settlements. A blog reader sent along a sample notice posted below (TekSavvy has posted a similar one they received).

The notice raises many concerns. First, CEG TEK is using the Canadian notice system to send thousands of demand letters at no cost. In fact, the cost is effectively borne by consumers, since Internet providers are required to forward the notifications and will ultimately pass along the charges in the form of higher access fees. The government was asked to include a fee, but having declined to do so, effectively invited abuse of the system.

Second, the notice references Canadian copyright law, but still may leave users with an inaccurate impression. Users’ personal information has not been disclosed (ie. CEG TEK does not know who receives the notices unless the recipient tells them by settling), the settlement demands (which are apparently US$150 per notice) bear no correlation to a likely award, the maximum statutory damages of C$5000 is for all infringements (not per infringement as implied in the notice), and the likelihood of non-statutory damages referenced in the notice is incredibly remote.

All of this could have been avoided had the government established regulations with the notice-and-notice system as many stakeholders urged Moore to do. Instead, the notice is system is again being abused, leading to significant ISP costs and settlement demands to thousands of Canadians. The solution is obvious: implement the missing regulations by establishing an appropriate fee for forwarding notices, prohibit the use of notices to demand settlements, and give ISPs the leeway to refuse to forward notices where they contain misleading or inaccurate information.

The sample CEG TEK notice is posted below:

Pursuant to the provisions of Sections 41.25 and 41.26 of the Canada Copyright Act, please electronically forward as soon as feasible the entire copyright infringement notice set forth below to the ACCOUNT HOLDER OF IP ADDRESS at 2015-01-31 xx:xx North American Eastern Time and inform us on behalf of Rights Owner once it has been forwarded or (if applicable) the reason it was not possible for you to do so.***

February 26, 2015

IP ADDRESS xx.xx.xx.xx at 2015-01-31 xx:xx North American Eastern Time
Re: Notice of Unauthorized Use of Copyright Owned by Paperstreet Media LLC, Case #: XXXXX

This notice is intended solely for the primary Managed Network Systems service account holder.
 CEG TEK International (“CEG”) is the agent for Paperstreet Media LLC (hereinafter “Rights Owner”) whose address is 14 NE 1st Ave Suite 304, Miami, FL 33132, US. All communications with Paperstreet Media LLC with respect of this notice should be made to our attention as its agent. CEG’s contact information is shown below.
 Rights Owner owns all right, title and interest, including copyrights, in and to the work listed below (hereinafter the “Work”). (Some individuals may find certain words in titles of works to be offensive. CEG apologizes in advance if this is the case.)
Your Internet account has been identified as having been used in the unauthorized copying, performance, and/or distribution, via peer-to-peer sharing, of the Work listed below. (Note that the time/date noted is the time/date that the unauthorized copying was identified. The actual downloading, copying, and/or distribution through your Internet account may have begun or occurred significantly earlier.)

Copyright Owner: Paperstreet Media LLC
Unauthorized File Name: *****mp4 
Unauthorized Hash: xxxxx Unauthorized File Size: xxx Unauthorized Protocol: BitTorrent Timestamp: 2015-01-31 xx:xx North American Eastern Time Unauthorized IP Address: ***.*.***.*** Unauthorized Port: 51413
The following files were included in the unauthorized copying, performance, and/or distribution:
File 1: ****.mp4

Paperstreet Media LLC is the sole and exclusive owner and distributor of the Work in Canada, and at no time have you, or anyone using your account, received authorization or consent to download or distribute Rights Owner’s exclusive property.

Your ISP has forwarded this notice to you pursuant to provisions of the Canada Copyright Act.

In Canada, the unauthorized copying, performance, and/or distribution of Rights Owner’s Work is illegal and is subject to civil sanctions (with statutory damages of up to $5,000 or non-statutory damages that could be higher) and/or criminal sanctions, and is a violation of the Canada Copyright Act (R.S.C., 1985, c. C-42).  The recent amendments to the Copyright Act, which came into force on November 2012, have confirmed Rights Owner’s right to have its copyright protected in Canada.

Moreover, such copying, performance and/or distribution of unauthorized works may also violate (i) the Berne Convention for the Protection of Literary and Artistic Works, (ii) the Universal Copyright Convention, (iii) bilateral treaties with other countries (including Canada), and/or (iv) the copyright laws of Canada.

If you have questions about your legal rights, you should consult with your own legal counsel (i.e., barrister, solicitor, lawyer, and/or attorney).


You have until Saturday, March 28, 2015 to access the settlement offer and settle online.  To access the settlement offer, please visit and enter Case #: xxxx and Password: xxx. To access the settlement offer directly, please visit

Settlement Information: 
Direct Settlement Link:

If this matter is not resolved by the date shown above, the original settlement offer will no longer be an option and any future resolution may require an increased payment from you.
In the event that Rights Owner proceeds with legal action against you, you will be required to produce all relevant documents, including electronic documents and files that bear on Rights Owner’s claim against you.  Until this matter is resolved, whether by settlement or otherwise, we require you to accept this as written notice to preserve any and all hard drives or other means of electronic storage used with your above referenced IP address and to take no steps whatsoever to remove, erase, discard, conceal, destroy or delete from any means of electronic storage any evidence of piracy and/or other illegal or unauthorized downloading and distribution of Rights Owner’s Work.

This notice is NOT a bill or invoice.  It is a notice made on behalf of Rights Owner of (i) a potential claim against you and/or those who you have allowed access to your Internet account for infringement of the Rights Owner’s copyright in the Work, and (ii) an opportunity to completely resolve that claim now.
Nothing contained or omitted from this correspondence is, or shall be deemed to be either a full statement of the facts or applicable law, an admission of any fact, or waiver or limitation of any of Rights Owner’s rights or remedies, all of which are specifically retained and reserved.
The information in this notice is accurate. CEG has a good faith belief that use of the material in the manner complained of herein is not authorized by the copyright owner, its agent, or by operation of law. CEG and the undersigned declare under penalty of perjury, that CEG is authorized to act on behalf of Paperstreet Media LLC.

CEG TEK International 
8484 Wilshire Boulevard, Suite 515 
Beverly Hills, CA 90211
United States of America
Toll Free: +1-877-526-7974 



The post Misuse of Canada’s Copyright Notice System Continues: U.S. Firm Sending Thousands of Notices With Settlement Demands appeared first on Michael Geist.

Penny Arcade: News Post: Rock Band 4!

Gabe: Harmonix just announced Rock Band 4 this morning which is awesome. You can hit their site to read all the details. Tycho and I have always loved the folks over at Harmonix and I’m really excited to say that I got to design a guitar for the new game. So how do you get one of these? “Attendees of PAX East in Boston between March 6 and March 8 can pre-order an exclusive Penny Arcade-themed guitar in person at Harmonix’s booth, #4224.” So there you go. If you’re gonna be at PAX this weekend, be sure and stop by the Harmonix booth. I also heard they have a… Blog: 5.5W – 2 Channel Audio Amplifier


This is a small 2 Channel amplifier constructed around Sanyo’s LA4445 IC delivers 5.5Watts +5.5 Watts at 4 ohm load, supply in 12V DC 2Amp, Input impedance 30K.


Dual Channels output : 5.5W
Minimum External Parts
Very small pop noise at the time of power supply ON/OFF
Good ripple rejections
Small residual noise
Built-in protectors 1. Thermal Protector 2. Overvoltage Surge Protector
Standard Audio signal
Supply 12V DC
Load : 4 Ohms Speaker on Each Channel
Voltage Gain : 50DB
Output 5.5W on each Channel (THD 10%)
Total harmonic distortion 1% Max @ Po=1W
Input impedance 30 K-ohms

5.5W – 2 Channel Audio Amplifier - [Link] Comic for 2015.03.05

New Cyanide and Happiness Comic

Cowbirds in Love: Revenge Preparations

I don’t think you actually have to dig graves for the people you are revenging yourself on, but it is polite.

OCaml Planet: Jane Street: Centralizing distributed version control, revisited

7 years ago, I wrote a blog post about how we at Jane Street were using our distributed version control system (hg, though the story would be the same for git) in a partially centralized way. Essentially, we built a centralized repo and a continuous integration system whose job was to merge in new changesets. The key responsibility of this system was to make sure that a change was rejected unless it merged, compiled and tested cleanly.

This half-distributed, half-centralized approach let us enjoy the benefits of a DVCS, while still getting the coherence and easy of sharing that comes from having a central authoritative source.

Since then, our development tools have changed a lot, including the arrival of a new code review and release management system called Iron. In writing Iron we discovered that centralization was valuable in ways we hadn't considered before. In particular, despite the fact that good support for merging is central to a DVCS, centralization is actually a critical ingredient to making merges work better.

To understand how centralization can help, let's talk about one reason why merging is a fraught process to begin with.

The criss-cross merge

The basic approach to merging in a DVCS like hg or git is pretty simple. Here are the basic steps that are taken to merge two heads A and B.

  • Find the greatest common ancestor (GCA(A,B)) of the heads to be merged.
  • Compute the patch from that base point to one of the two heads, say, A.
  • Take the patch you just computed, and apply it to B. Conflicts appear when the patch, which was actually based on GCA(A,B), doesn't apply cleanly to B. The result of this process is the merge.

The above discussion oversimplifies the story by assuming there's a well defined GCA, but this just isn't always true. To see why, consider a repository staring with a root revision R, and two revisions made independently on top of R.


Now, imagine that two different developers each concurrently decide to merge the heads A and B and do some further development. Note that in both of the cases shown below, the GCA for the merge between A and B is R.

Developer 1                Developer 2

  A---C--D                    A     
 /   /                       / \        
R   /                       R   \       
 \ /                         \   \  
  B                           B---E--F

Now, if we bring these two separate histories together into one repo, we have something like this.

 / \ /
R   \
 \ / \

Now, what happens if we want to merge D and F? In particular, what is GCA(D,F)? Both A and B are common ancestors, but neither one is greater than the other. In this case, there are in some sense two different GCAs, or, more precisely, there are multiple maximal common ancestors, or MCAs. This case is often described as a criss-cross merge, and is the source of much wailing and gnashing of teeth among developers and users of DVCSs.

git and hg have different ways of dealing with the case of multiple MCAs. By default, hg just picks one of the MCAs arbitrarily and does the merge based on that. Given that different choices of the merge base will lead to different results, making that choice arbitrarily is pretty disturbing.

git, on the other hand, has a strategy called recursive merge that repeatedly merges together the MCAs, and then uses that merged MCA as the basis for computing the diffs to A and B on which the final merge will be based. And hg has a new strategy called bid merge that is willing to make different choices as to the GCA to use on a file by file basis.

None of these approaches amount to principled solutions, and while they work better in some cases and worse in others, they all sometimes lead to bad results. It's tempting to look for a way out of this conundrum altogether, by avoiding the possibility of criss cross merges in the first place.

Avoiding the criss-cross merge

For those who haven't read my previous posts about how Iron approaches merges, I'll describe it briefly here. Iron organizes its branches into a hierarchy: every repository has a root feature, and that feature can have children, and those can have children as well. Thus, our main repository, called Jane, has a root feature called jane, and one can develop changes to jane in child features, such as jane/Core.Applicative or jane/quickcheck.

Critically, the merging of features is constrained. Note that in Iron, every feature is defined by its base and tip revision, where the diff between those two revisions is effectively the contents of the feature. Here are some of the key operations allowed on features.

  • fe release, moves changes from a child feature into a parent. This can only be done once the child feature is fully merged with its parent, and has the effect of setting the tip of parent to be the tip of the child, and typically deleting the child.

As an example, if the jane/quickcheck feature is based at the current tip of jane (and is fully reviewed, and all its tests pass), then calling fe release jane/quickcheck will move the tip of jane forward to be equal to the tip of jane/quickcheck, and will delete jane/quickcheck.

  • fe rebase lets you merge a feature with its parents, effectively pulling changes from a parent feature into a child. This has the effect of changing the base of the feature to be the tip of its parent, and the tip of the feature to be the result of the merge.

So, if other features have been released into jane since the jane/Core.Applicative feature was created, then the base of jane/Core.Applicative will no longer be the tip of jane. Calling fe rebase jane/Core.Applicative will merge the tip of jane/Core.Applicative with the tip of jane, and will set the base of jane/Core.Applicative to the tip of jane.

  • fe rename, which in addition to allowing you to simply change the name of a feature, also lets you introduce a parent-child relationship between features that didn't previously have one. e.g., calling fe rename jane/Core.Applicative jane/quickcheck/Core.Applicative causes the Core.Applicative feature to become a child of, and so be able to depend on the changes in, thequickcheck feature.

All of these operations are implemented against a single, centralized server which keeps track of the state of all our features. This centralization lets Iron enforce some useful invariants along the way, critically, that the GCA of a feature and its parent is well defined, and is equal to the base of the feature. This simple property turns out to outlaw criss-cross merges, which avoids all of the mess we described earlier.

The happy outcome turns out to depend critically on the fact that we built a central server that could enforce the invariants in question, or, more precisely, that we built a consistent service

discovered by chance, the existence of the central server is key to enforcing the necessary invariant. In particular, the scenario of two different users concurrently releasing into the same feature or rebasing the same feature simply isn't possible when there's a centralized monitor determining who goes first.

In retrospect, this shouldn't be too surprising. The criss-cross merge is really a result of concurrency, and the idea that introducing a lock (which is what a centralized server does for you) can be used to exclude unwanted concurrent executions in a distributed systems should surprise no one.

In the end, you can trace it all back to the CAP theorem: If you want progress while partitioned, you need to give up on consistency in some way. And criss cross merges are caused by a kind of inconsistency.

Centralization obviously has downsides, but I think Iron picks a nice point along the spectrum here: writing code is totally doable while disconnected, but operations like rebase and release that affect how information is shared between features requires you to be connected. I think it's a small price to pay to never have to deal with a criss-cross merge.

Bryce Kerley: – View on Path.

– View on Path.

Greater Fool - Authored by Garth Turner - The Troubled Future of Real Estate: The bottom

GOOD modified

As forecast, the Bank of Canada didn’t drop its key rate this week. In fact, I’d be surprised if it went down in April, or any other month this year. This is it. The bottom. That will be confirmed with the Fed moves higher – looks like June.

The impact of six years of historic low rates is everywhere. Savings and investments are down. Real estate is bloated. Debt’s off the chart. And people are getting truly weird.

In the last week or so have you noticed the number of people here who actually believe making mortgage payments is giving them a return on their investment? They justify not investing in anything else, because shelling out for their home loan is ‘a guaranteed return’ whereas all other assets are riddled with risk.

There is no guarantee you will earn 8%+ on your investments this year but you are guaranteed an after tax return of 3%+ by paying down your mortgage. — Blog comment

Yikes. Where do they learn such things? Brad Lamb U?

Repeat after me: paying interest costs money. Investing makes money. You can’t suck and blow at the same time. And even in an era of ridiculously-cheap loans, these rules don’t change.

For example a $300,000 mortgage at 3% will nick you about $1,400 a month. Over 25 years – assuming interest rates never rise (and they will), the cost of the mortgage (interest) is $126,000. By the time your house is paid off, you’ve shelled out $426,000 to repay something worth $300,000. So, the premium is 41%. That’s a loss, not a gain.

Of course, inflation will diminish the impact of payments over time, but so will interest rates rise with virtually every five-year renewal. And the cost of the house could rise. Or it could fall. You have absolutely no control over rates or the market. But the fact remains that paying the mortgage is not making you anything, only gradually decreasing your liability. Worse, residential mortgage interest isn’t tax-deductible, so it must be paid in wages which have already been reduced by a third to a half.

Compare that with an investment loan. You can get one at prime (if you’re good, or it’s secured by home equity), which is 2.85%. Typically this is set up as a line of credit with interest-only payments – on a $300,000 borrowing that would be $712 a month. But in this case all interest is deductible from income for tax purposes. So if you’re paying 35% tax, for example, you’d get $250 of that back. That makes the actual loan cost a little over $460 a month. If your investments rise 7%, you’ve earned $21,000 in a year and the cost was a deductible $8,550.

What happens if you lose money after borrowing? Well, losses on your house aren’t deductible. You have to eat them. Investment losses can be deducted from gains, and carried forward indefinitely. As for growing net worth, the track record for financial markets – like a balanced, middle-of-the-road, no-stocks, no-mutuals, no-cowboy portfolio – has exceeded that of real estate over the past decade, even in YVR or GTA, and even taking the 2008 crash into account.

Anyway, this won’t convince your mom. She still thinks people go through puberty just so they can buy a condo. The cult of property is unassailable.

But look at where it’s taken us.

In 1982, when rates were high and houses cheap, Canadians saved 19.2% of their incomes. Today, with low rates and inflated homes, we’re saving just 3.6% of what we make. The savings rate, says StatsCan, has been going down for a year, concurrent with the slide in mortgage costs. In fact, debt’s increasing again now by a whopping 7% annually, and households already have an average debt-to-income ratio of 162%. If anything goes wrong (like job loss) the technical term for this is ‘screwed.’

Most worrisome is that we’re saving less at a time when mortgages have never been cheaper to carry, and after gas prices fell by half. Yet people are dipping into their savings just to get by. In other words, it doesn’t get any better than now. Only worse. If people can’t save when home loans are 2.6%, imagine what happens when they return to 5%. The housing debt people take on now will be lingering for decades, and poses a long-term structural negative for the entire economy.

But, as I said, most folks could care less. This email from the mortgage department at Vancity is of way more interest:

From: William Fu <>
Date: 3 March 2015 at 13:38
Subject: Vancity Spring Mortgage Promotions – Effective March 3, 2015

I just wanted to let you know that Vancity now has the following mortgage promotions below that would be of value to you or someone you may know. Feel free to forward this email to your friends or family as I would be more than happy to discuss mortgage options with them.

1)      Vancity will provide up to 2.5% (as a 0.01% low interest rate loan) of the 5% downpayment for any purchase price up to $500,000 (some exceptions can be made up to $1 million purchase price).
2)      Save up to $250 in appraisal fees and receive up to $750 for you to put towards your closing costs in obtaining a mortgage

Yep, buy a house in Vancouver up to $1 million and you need only $25,000. The rest – 97.5% – is debt. Now do you understand why the Bank of Canada held the line on rates today? And why the reduction in January was an amateur mistake?

In a nation where people lack discipline, where loans are considered assets, where banks dish out downpayments, where savings plunge and average house prices in two cities top a million, this is death by debt. Assisted by stupidity. Leafcutter John plays Apiary Sessions >< SONICA Festival Friday 6th March

Very happy to be making a London appearance on Friday at this, playing first so don’t be late!

Apiary Studios, MoTA Museum & SHAPE present: Apiary Sessions >< SONICA Festival

Friday 6th March
8pm until late
£6 advance | £8 door | no guestlist

Apiary & SONICA present an exclusive mix of audiovisual performances, kinetic art installations and electronic acts by outstanding sound and media artists from London, Ljubljana and the newly established SHAPE Platform.

Live performances:
Leafcutter John
Karen Gwyer
Marco Donnarumma

Dental Metal byMartin Bricelj Baraga & Spatial 
Phenakistomixer 2.0 by Vesna Krebs

Andy Turner (Plaid)

Full venue details HERE.

explodingdog: Photo

new shelton wet/dry: ‘Free from what?’ —Nietzsche

{ Adam Savage’s Overlook Hotel Maze Model | watch video }

OUR VALUED CUSTOMERS: While discussing SPIDER-GWEN with his friend and casually swearing in front of his mother...

Colossal: This Bubbling Ferrofluid Light Works like a Magnetized Lava Lamp





We’ve seen a number of interesting ways to play with magnetized ferrofluid over the last few years, but here’s a new one worth a mention. Designer Kyle Haines just launched a Kickstarter featuring his design for a “motion lamp” filled with heated ferrofluid that can be manipulated with a pair of magnets called the Inspiration. The idea works somewhat similar to the iconic 60s-era lava lamp but with a magnetized twist. For those who just want to play with ferrofluid without the lamp, he’s also create a smaller self-contained bottle called the Thinker. See a video of them in action here.

Colossal: Murals of Greek Gods Rendered Against a Chaotic Backdrop of Graffiti by Pichi & Avo







Since first collaborating in 2007, Spanish street art duo Pichi & Avo (previously) have created an intriguing blend of traditonal graffiti and renderings of mythological figures influenced by ancient Greek sculpture. The precision, shading, and use of color is all that more impressive considering each piece is painted only with spray paint. Pichi & Avo open their first exhibition in Italy titled Urban IconoMythology later this week at Basement Project Room. You can see more of their work here. (via Illusion, Graff Crew, UrbaNNerding, I Support Street Art)

The Rhizome Frontpage RSS: Grappling with complexity, women in tech, and Leonard Nimoy: Perry Chen's Y2K

Screenshot of Leonard Nimoy in Y2K Family Survival Guide (1999). 

In December, artist and technologist Perry Chen organized a panel discussion at the New Museum (copresented with Rhizome and Creative Time Reports) exploring the phenomenon and legacy of the Y2K bug, as part of his ongoing project Computers in Crisis. Along with a presentation of books and video clips from the time, he assembled three Y2K experts to share their own experiences of preparing for 1/1/00, at which point many computer systems were expected to interpret the two-digit date as "1900" rather than "2000," with harrowing results. 

The event was a fascinating narration of an overlooked moment in technological history. If Y2K has been remembered as a "non-event," a hysteria and a farce, is that because it was an overblown threat? Or is it because the preparation for it was successful? In particular, the Y2K compliance effort was characterized by a sustained, collaborative effort to understand and update the aging software that had been lurking in many of the world's most crucial business and public sector computer systems. (As Chen wrote for Creative Time Reports, even the US and Russia worked together to prepare for the unknown, jointly staffing a Y2K command center in Colorado.) It was not only a collective attempt to understand and manage the risks of that dependence, but also a public discussion about our dependence on complex technological systems—a public discussion which is sorely needed today, as if you needed another reason to miss Leonard Nimoy.

The panelists (David Eddy, who coined the term "Y2K," Margaret Anderson, formerly of the Center for Y2K and Society, and Shaunti Feldhahn, author of Y2K: The Millennium Bug—A Balanced Christian Response) all had interesting stories to share, but the most memorable moment of the night belonged to Anderson:

Margaret Anderson: A whole lot of people on a global basis started working on it, and sharing information. There were really great lessons learned on how to address a complex, unknowable problem, and it was cooperation, collaboration, and a lot of information sharing. There was a huge undercurrent of engineers and programmers, and people like us who found a problem in a piece of equipment or in a software package, and let all of their networks know that it had that problem, and "here is the fix." They didn't tell their bosses they were doing this, they just did it because it was the right thing to do.

It was incredible around the world. There were regional meetings sponsored by the UN and helped a lot by the world bank and the US government, of regions of Africa and regions of South America; countries getting together and recognizing "you have the electrical infrastructure my country is dependent on…or, you have the water source my country is dependent on…let's talk about it," and "are you ready for Y2K?"

Perry Chen: The Y2K was a moment where a large number of women were heading these projects...

MA: I was mostly familiar with the federal government agencies, and I was a woman in technology, and really aware that there weren't many around me. And what I found with Y2K was all of a sudden I'd be in meetings, and so many of the program managers and the project managers were women. And they were there because it was not a good career move to be in Y2K. It was short term. If there were problems, you were going to get blamed for them. You didn't have the authority to really make the changes. So many people wouldn't take the responsibility, so all of a sudden there were a lot of women around, and I saw an unprecedented level of cooperation and information sharing… really. It was beautiful. (audience laughs/claps).

Watch the edited video of the event here:

Disquiet: This Week in Sound: Misophonia, Fridays Are the New Tuesday

A lightly annotated clipping service:

— Misophonia Home: At the New York Times, Barron H. Lerner, M.D., a professor at the NYU Langone Medical Center, writes about the condition that makes some individuals hypersensitive to specific sounds, often sounds associated with the human mouth. He discusses how the existence of the diagnosis is itself a source of comfort to sufferers, an idea that connects to something I often focus on in relation to noise pollution complaints: to the cultural context that makes noises seem louder or quieter.

— Aphex Activity: I was happy that Flavorwire’s Jesse Jarnow covered my proposed Selected Ambient Works Volume III, a playlist culled from the 173 tracks currently up on Aphex Twin’s rogue SoundCloud account. As Jarnow notes, one particularly effusive collation of Richard D. James’ off-label activity is a crowd-sourced effort to identify characteristics, such as era and source audio, for the numerous tracks. The hive mind’s tool of choice? A massively shared Google spreadsheet:</br?

— Industrial Calendar: Whether with a whimper or a bang, it is as of yet unclear, but the “global music industry” has decided, as reported in Billboard, that Friday is now the official release date for record albums, in order to fight piracy. In the U.S. it has historically been Tuesdays, followed the next day by comic-book Wednesday. What effect this will have, aside from making lower-level record-industry employees work over the weekend playing whack-a-mole with piracy sites, is not clear. What effect this will have on the growing legion of musicians who post their releases as they see fit to Bandcamp, SoundCloud, and other such services, or who pre-sell through campaigns on Kickstarter and PledgeMusic and the like, is all the more unclear. Quite likely they’ll simply ignore it:

— Wikipedia Activism: At ArtNews, Robin Cembalest covers an effort by 600 volunteers to contribute to an “edit-a-thon” to significantly increase the presence of women artists on Wikipedia, among them Cosima von Bonin and Aviva Rahmani, both of whom work with sound. This is a tremendous effort, and one worth emulating in various fields and disciplines. (Found via Shane Myrbeck.)

This first appeared in the March 3, 2015, edition of the free Disquiet “This Week in Sound” email newsletter: / 2015-03-07T01:27:01