The Software Freedom Law Center Blog: Additional Companies Join Red Hat’s GPLv3 Termination Policy for GPLv2 Programs

Yesterday additional companies—including CA Technologies, Cisco, HPE, Microsoft SAP, SUSE—joined Red Hat, Facebook, Google and IBM in agreeing to use GPLv3 “cure period” termination provisions with respect to their own GPLv2-licensed works, and as an additional permission on their contributions to other GPLv2-licensed programs. We at SFLC welcome this step, and we hope that other licensors will join the approach Red Hat has so successfully pioneered.

Bifurcated Rivets: From FB

Moment in Madrid

Bifurcated Rivets: From FB


Bifurcated Rivets: From FB


Bifurcated Rivets: From FB

awful video, great music

Bifurcated Rivets: From FB

RIP Liam O'Flynn

MetaFilter: "The child is in me still and sometimes not so still"

On what would have been his 90th birthday, Focus Features has dropped the first official trailer for a new documentary about Fred Rogers' life and legacy: Won't You Be My Neighbor?
Directed by Oscar-winning filmmaker Morgan Neville (20 Feet From Stardom), Won't You Be My Neighbor? features interviews with cast members from his acclaimed PBS children's show Mister Rogers' Neighborhood — including Elizabeth Seamans (Mrs. McFeely) and François Clemmons (Officer Clemmons).

Directed by Oscar-winning filmmaker Morgan Neville (20 Feet From Stardom), Won't You Be My Neighbor? features interviews with cast members from his acclaimed PBS children's show Mister Rogers' Neighborhood — including Elizabeth Seamans (Mrs. McFeely) and François Clemmons (Officer Clemmons).

Archival footage from the show as well as conversations with producer Margy Whitmer and rare interviews with Rogers himself — who died in 2003 at the age of 74 — will also color the documentary.

Recent additions: rfc

Added by RobertFischer, Tue Mar 20 18:37:25 UTC 2018.

Robert Fischer's Common library

Ideas from CBC Radio (Highlights): Beyond Words: Photographers of War

From the Civil War to Iraq, photographic images of conflict sear themselves onto our consciousness, and reside in a psychic space that lies beyond words. Yet we so rarely hear from the people who create the images of some of the most definitive events in modern history. This documentary features over twenty of the world's most prominent photojournalists and photo editors, and does so in their own voices.

Recent additions: list-tries 0.6.5

Added by MattiNiemenmaa, Tue Mar 20 18:12:51 UTC 2018.

Tries and Patricia tries: finite sets and maps for list keys

Recent additions: row-types

Added by dwincort, Tue Mar 20 18:11:06 UTC 2018.

Open Records and Variants

MetaFilter: There were no Paleolithic burgers, or pepperoni.

Food journalist Mark Bittman and Dr. David L. Katz, founder of the Yale-Griffin Prevention Research Center, sit down with Grub Street for a lengthy, exhaustive, no-"wellness"-nonsense interview about diet and nutrition.

LLVM Project Blog: EuroLLVM'18 developers' meeting program

The LLVM Foundation is excited to announce the program for the EuroLLVM'18 developers' meeting (April 16 - 17 in Bristol/UK) !





Student Research Competition

Lightning Talks


If you are interested in any of this talks, you should register to attend the EuroLLVM'18. Tickets are limited !

More information about the EuroLLVM'18 is available here

Slashdot: Hackathons Are Dystopian Events That Dupe People Into Working For Free, Say Sociologists

An anonymous reader writes: That's the conclusion that two sociologists came to after observing seven hackathons over the period of one year, reports Wired. In "Hackathons As Co-optation Ritual: Socializing Workers and Institutionalizing Innovation in the 'New' Economy," sociologists Sharon Zukin and Max Papadantonakis argue that companies use the allure of hackathons to get people to work for free. They says sponsors fuel the "romance of digital innovation by appealing to the hackers' aspiration to be multi-dimensional agents of change" when in fact the hackathons are just a means of labor control.

Read more of this story at Slashdot.

Recent additions: vector-sized

Added by jophish, Tue Mar 20 17:53:56 UTC 2018.

Size tagged vectors

Recent additions: prim-array 0.2.2

Added by andrewthad, Tue Mar 20 17:49:24 UTC 2018.

Primitive byte array with type variable

Open Culture: Coursera Now Offering Complete Bachelor’s and Master’s Programs–With Tuition Reduced by 70%

As we observed last October, Coursera has been undergoing an evolution of sorts. When the ed tech company started out, it offered an array of individual courses to students worldwide. A little of this. And a little of that. Now, they're increasingly moving towards courses that work together in sequences. First came "course specializations"--collections of courses that allow students to gain a mastery of specialized topics like Deep Learning, Data Science (Johns Hopkins), Business Fundamentals (Wharton), Digital Marketing (University of Illinois), and Big Data (UC San Diego). Next it was just a logical jump to offering full-blown Bachelor's and Master's programs at a discounted price (roughly 1/3 the usual cost.) As of this month, Coursera offers one Bachelor's program (Computer Science from the University of London), one MBA, and eight Master's programs. The full list of degree programs appears below:

Follow Open Culture on Facebook and Twitter and share intelligent media with your friends. Or better yet, sign up for our daily email and get a daily dose of Open Culture in your inbox. 

If you'd like to support Open Culture and our mission, please consider making a donation to our site. It's hard to rely 100% on ads, and your contributions will help us provide the best free cultural and educational materials.

Note: Open Culture has a partnership with Coursera. If readers enroll in certain Coursera courses, it helps support Open Culture.

Related Content:

Coursera Partners with Leading Universities to Offer Master’s Degrees at a More Affordable Price

New Deep Learning Courses Released on Coursera, with Hope of Teaching Millions the Basics of Artificial Intelligence

MOOCs from Great Universities (Many With Certificates)

Coursera Now Offering Complete Bachelor’s and Master’s Programs–With Tuition Reduced by 70% 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.

Perlsphere: Call for Grant Proposals (March 2018 Round)

The Grants Committee is accepting grant proposals all the time. We evaluate them every two months and another evaluation period is upon us.

If you have an idea for doing some Perl work that will benefit the Perl community, please consider submitting a grant application. The application deadline for this round is 23:59 March 27th UTC. We will publish the received applications, get community feedback through April 3rd, and conclude acceptance by April 10th.

To apply, please read How to Write a Proposal. Rules of Operation and Running Grants List will also help you understand how the grant process works. We also got some grant ideas from the community.

We will confirm the receipt of application by March 28th.

If you have further questions, please contact me at tpf-grants-secretary at

Instructables: exploring - featured: Ice Cream Machine

Lets make Ice Cream making Machine which make ice cream in 10-20 minutes.For making this machine you need Drill machine , Plastic container , Aluminum container and Nut-Bolt. Take Material As Per Capacity If you want better ice cream machine performance then make small machine.Size of all materi...
By: Creativity Buzz

Continue Reading »

ScreenAnarchy: FilMart Hong Kong: Horror, Animation and Creatures Abound as 108 Media Boards Three International Titles

In the world of independant film, co-productions are increasingly important to filmmakers who want to get their projects off the ground. For distributors it may or may not help that you have your foot in the door by backing a project as well.    108 Media is such a company. Based out of Singapore, with offices here in Toronto and over in Japan and Hong Kong, they have come on board three genre projects heading into this week's FilMart in Hong Kong.    These could be films we may see on the international fantastic film circuit in the seasons to come.   108 Media have come on board the Philippine horror-mystery flick Eerie, from Mikhail Red, the first time Philippine producer Star Cinema has worked...

[Read the whole post on]

Slashdot: The NSA Worked To 'Track Down' Bitcoin Users, Snowden Documents Reveal

An anonymous reader shares a report: Classified documents provided by the whistleblower Edward Snowden show the National Security Agency worked urgently to target Bitcoin users around the world -- and wielded at least one mysterious source of information to "help track down senders and receivers of Bitcoins," according to a top-secret passage in an internal NSA report dating to March 2013. The data source appears to have leveraged NSA's ability to harvest and analyze raw, global internet traffic while also exploiting an unnamed software program that purported to offer anonymity to users, according to other documents. Although the agency was interested in surveilling some competing cryptocurrencies, "Bitcoin is #1 priority," a March 15, 2013 internal NSA report stated. The documents indicate that "tracking down" Bitcoin users went well beyond closely examining Bitcoin's public transaction ledger, known as the Blockchain, where users are typically referred to through anonymous identifiers; the tracking may also have involved gathering intimate details of these users' computers. The NSA collected some Bitcoin users' password information, internet activity, and a type of unique device identification number known as a MAC address, a March 29, 2013 NSA memo suggested. In the same document, analysts also discussed tracking internet users' internet addresses, network ports, and timestamps to identify "BITCOIN Targets."

Read more of this story at Slashdot.


Recent drawings by Amsterdam-based artist Daan Noppen (previously featured here). More images below. Discovered via our Submissions platform where our members publish their work. We highlight the best of these submissions as Editors’ Picks. Click here to learn more about becoming a member.


Daan Noppen

ScreenAnarchy: Review: PYEWACKET, Dark and Disturbing Horror

Long-time actor Adam MacDonald has already made exciting waves as a filmmaker with just two features under his belt. 2014's Backcountry was a masterfully suspenseful woods thriller, wherein he employed a restraint that served to punctuate the film's moments of visceral terror. For his new picture, Pyewacket, he puts those same tools to work in a decidedly more supernatural vein of horror. Protagonist Leah (Nicole Munoz) and her mother (The Walking Dead's Laurie Holden) are coping with the loss of their father and husband, both in ill-conceived ways. While her mother turns icy and pores over old photographs while downing endless glasses of red wine, Leah throws herself into a fixation on the dark arts and the occult. Despite how dramatic that sounds, Leah's interest...

[Read the whole post on]

ScreenAnarchy: WELCOME TO CURIOSITY Teaser Trailer!

Check out the Teaser Trailer for upcoming crime thriller Welcome to Curiosity set for release in May. Welcome to Curiosity is the second feature from British director Ben Pickering and is the world’s first film to have raised its entire production budget through equity crowdfunding. A heist followed by betrayal, a serial killer on the loose, a lunatic out of the asylum, a girl stepping out with a very bad man and a salesman with a vivid imagination: five people whose lives are interconnected without them knowing it but all sharing one thing in common: curiosity kills... Welcome to Curiosity is Directed by Ben Pickering and stars: Amrita Acharia, Jack Ashton, Richard Blackwood, Kacey Clarke, Cristian Solimeno, Lili Bordan, Stephen Marcus and Eke Chukwu  ...

[Read the whole post on]

MetaFilter: David Avocado Wolfe Is The Biggest Asshole In The Multiverse

With more than 11 million followers on Facebook, David "Avocado" Wolfe, the Sideshow Bob-haired, blender-hawking alternative-health guru, calls himself the "Rock Star and Indiana Jones of the superfood universe." And he's humble. You've undoubtedly seen one of his bullshit-filled posts or inspirational memes shared into your feed, but who — or more accurately, what — is David Avocado Wolfe?

Orac: How is it that I've never heard of David Avocado Wolfe before?

The Unapologists:
  Don't Cry Wolfe: New Age Con-Artistry And Anti-Intellectualism
  Beyond The Woo – Why David Wolfe & Co. Are Detrimental To Society

Bad Science Debunked on Wolfe

RationalWiki on Wolfe

#DontCryWolfe on Twitter

Slashdot: Child Abuse Imagery Found Within Bitcoin's Blockchain

German researchers have discovered unknown persons are using bitcoin's blockchain to store and link to child abuse imagery, potentially putting the cryptocurrency in jeopardy. From a report: The blockchain is the open-source, distributed ledger that records every bitcoin transaction, but can also store small bits of non-financial data. This data is typically notes about the trade of bitcoin, recording what it was for or other metadata. But it can also be used to store links and files. Researchers from the RWTH Aachen University, Germany found that around 1,600 files were currently stored in bitcoin's blockchain. Of the files least eight were of sexual content, including one thought to be an image of child abuse and two that contain 274 links to child abuse content, 142 of which link to dark web services. "Our analysis shows that certain content, eg, illegal pornography, can render the mere possession of a blockchain illegal," the researchers wrote. "Although court rulings do not yet exist, legislative texts from countries such as Germany, the UK, or the USA suggest that illegal content such as [child abuse imagery] can make the blockchain illegal to possess for all users. This especially endangers the multi-billion dollar markets powering cryptocurrencies such as bitcoin."

Read more of this story at Slashdot.

MetaFilter: A positive story about a subreddit?

"It's a surprisingly functional and actually really nice community," says Walker of of more than a dozen mods on the Male Fashion Advice (MFA) subreddit Basically, there's a bunch of men on reddit looking for fashion advice, and they've created a remarkably open, inviting, and downright thoughtful community around it.

Quiet Earth: William Friedkin Films a Real Exorcism in THE DEVIL AND DR. AMORTH Documentary [Trailer]

Years after he changed the landscape of American filmmaking with 1973’s The Exorcist, director, co-writer William Friedkin moves from fiction to fact with his new documentary, The devil and Father Amorth.

What began as a brief conversation between Friedkin and Father Gabrielle Amorth – the head Exorcist for the Diocese of Rome for over 30 years – as two professionals who knew of each other’s work soon transformed into an once-in-a- lifetime opportunity, as Amorth agreed Friedkin could film an exorcism ceremony.

It would be the ninth exorcism for a p [Continued ...]

MetaFilter: What Is Democratic Socialism Anyway?

"This is also why authoritarian "socialist" regimes don't deserve the name. The whole purpose here is to increase people's control over their circumstances. If you're simply vesting that control in a government, and people have no say in that government, then there's nothing socialistic about what is going on, unless the term is meaningless. Collective ownership means collective decision-making power. Without democratic decision-making, then there's no collective ownership. There's just government ownership, and governments themselves only conform to the principles of socialism to the extent they are democratic. In fact, "democratic socialism" should be a redundancy, because socialism should consist of the application of democracy to all aspects of life." Socialism As A Set Of Principles (Current Affairs)

Perlsphere: Maintaining Perl 5 (Tony Cook): February 2018 Grant Report

This is a monthly report by Tony Cook on his grant under Perl 5 Core Maintenance Fund. We thank the TPF sponsors to make this grant possible.

Approximately 24 tickets were reviewed, and 6 patches were

[Hours]         [Activity]
  2.60          #125351 testing, sidetracked into unrelated failure, have
                reproduction problems, back to original testing, apply to
                #125351 look at minor re-work of patch, which apparently
                I’d already applied.
  5.88          #127743 review smoke results
                #127743 commit clean up, update Changes
                #127743 more Changes updates, testing, apply to blead
                #127743 reduce re-probes of the recursion limits
                #127743 more reduce re-probes (Win32 makefiles), testing
  0.37          #130841 (sec) review
  2.82          #131844 (sec) research
                #131844 (sec) research, comment
                #131844 (sec) request CVE ID
                #131844 (sec) testing patches against branches
  0.37          #132062 (sec) review overnight discussion
  9.14          #132063 (sec) catch up on discussion
                #132063 (sec) testing, research and comment
                #132063 (sec) comment
                #132063 (sec) more testing against branches, #p5p
                discussion of an AIX issue
                #132063 (sec) try to apply patches, testing
                #132063 (sec) more try to apply patch against maint-5.24
                #132063 (sec) comment
  6.62          #132227 (sec) research, comment
                #132227 (sec) testing, comment
                #132227 (sec) rebase blead, apply new patch, testing
                #132227 (sec) debugging
                #132227 (sec) more debugging
                #132227 (sec) comment
  0.98          #132683 debugging, produce a fix and comment with patch
  3.19          #132833 debugging, work on a fix, testing
                #132833 review, comment briefly
                #132833 review code, review fix and close
  0.25          #132834 research
  0.40          #132843 review discussion and related ticket and comment
  2.47          #132849 research, fix, testing on linux and freebsd, apply
                to blead and comment, fix porting test failure
                #132849 review comments, testing on Win32
  0.22          #132866 testing, comment
  1.70          #132867 testing, comment, find an old related ticket, test
                old patch, comment with patch
                #132867 testing, apply to blead
  0.77          #132870 testing, try to reproduce outside of perl, work on
                a fix and comment
  2.10          #132876 testing, work on a fix
                #132876 more testing, comment with patches
  8.59          #132893 testing
                #132893 testing, debugging, comment
                #132893 debugging
                #132893 debugging, work on a workaround
  0.58          #132920 debugging, comment
  0.98          more security patch wrangling
  0.25          push security patches to security repo, let pumpkin know
  0.63          reply Dave’s Storable email
  1.82          review security queue to select security issues
  3.60          security patch round up
  0.63          security patch wrangling
 56.96 hours total

ScreenAnarchy: SXSW 2018 Interview: Ethan Hawke On BLAZE

Blaze Foley was never a star. Like many an unsung hero in the great tradition of truth-telling, the idea of careerism or professionalizing his craft ran so counter to Blaze’s aesthetic drive, he’d sooner drink himself to death before playing ball with industry requirements for “success”. Like his best friend, Townes Van Zandt, Blaze’s soulful country, folk, blues... music existed solely as a therapeutic expression of his personal, often haunted, experience. Maybe this is one way to define a certain type of legend; a figure who finds confidence, not from the affirmation of superficial interests, but from the inside cosmic joke that is life, and is thus able to mine that perspective into lucidly smirking art. Chanaski once said, “I always thought I’d become famous...

[Read the whole post on]

Slashdot: Google Launches a News Initiative To Fight False News and Help Publishers Make Money

Google is launching the Google News Initiative, a journalism-focused program that will help publishers earn revenue and combat fake news. From a report: The initiative, announced Tuesday, will offer publications another monetization model online called Subscribe with Google, as well as work with established universities and groups to combat misinformation. It will also introduce an open-source tool called Outline, which will make it easier for news organizations to set up secure access to the internet for their journalists. Google said it was committing $300 million over the next three years to the project, though it did not elaborate on how the resources would be spent. The company said it paid $12.6 billion to news organizations and drove 10 billion clicks a month to their websites for free last year. Subscribe with Google will make it easier for readers to pay for content from news organizations that have agreed to partner with the company., The Washington Post, and McClatchy Company publications including the Miami Herald are among the 17 launch partners.

Read more of this story at Slashdot. DBD-ODBC-1.58


Slashdot: FTC Probing Facebook For Use of Personal Data: Bloomberg

An anonymous reader shares a report: Facebook is under investigation by a U.S. privacy watchdog over the use of personal data of 50 million users by a data analytics firm to help elect President Donald Trump. The U.S. Federal Trade Commission is probing whether Facebook violated terms of a 2011 consent decree of its handing of user data that was transferred to Cambridge Analytica without their knowledge, according to a person familiar with the matter. Under the 2011 settlement, Facebook agreed to get user consent for certain changes to privacy settings as part of a settlement of federal charges that it deceived consumers and forced them to share more personal information than they intended. That complaint arose after the company changed some user settings without notifying its customers, according to an FTC statement at the time. If the FTC finds Facebook violated terms of the consent decree, it has the power to fine the company thousands of dollars a day per violation.

Read more of this story at Slashdot.

Michael Geist: Dialling Up the Bell Lobbying Playbook: Production Company Website Blocking Submissions Using Identical Script

With just over a week left in the CRTC’s comment period on the Bell coalition website blocking proposal, the Commission has now received thousands of comments with the vast majority opposing the plan. While supporters of the site blocking approach have dismissed the opposition, Bell’s tactics in drumming up support deserves further examination. Last month, I blogged about its astroturfing campaign, which involved encouraging employees to submit comments without any reference to the need to disclose their corporate affiliation.

In addition to the internal efforts, Bell has clearly reached out to others with template language that can be used for submissions. Some customize their submissions, but many simply copy the supplied language verbatim. In fact, in some instances the language mirrors talking points included on the public site blocking site. For example, the FairPlay site FAQ states:

Piracy websites and services are operated anonymously online from jurisdictions all over the world, making it difficult or impossible to identify the people responsible for them or to bring enforcement actions. It is unreasonable to expect an artist or a small Canadian production company to track down and sue multiple anonymous parties operating in other countries every time they identify their content being stolen.

This is repeated in multiple submissions that copy the FAQ language. For example, the submission from Highway Entertainment:

Piracy websites operate anonymously online from jurisdictions all over the world, making it difficult to identify the people responsible for them or take action against them. It is unreasonable to expect an artist or a small Canadian production company to track down and sue multiple anonymous parties operating in other countries every time they identify their content being stolen.

and from Productions Casablanca:

Piracy websites operate anonymously online from jurisdictions all over the world, making it difficult to identify the people responsible for them or take action against them. It is unreasonable to expect an artist or a small Canadian production company to track down and sue multiple anonymous parties operating in other countries every time they identify their content being stolen.

and from Proper Television:

Piracy websites operate anonymously online from jurisdictions all over the world, making it difficult to identify the people responsible for them or take action against them. It is unreasonable to expect an artist or a small Canadian production company to track down and sue multiple anonymous parties operating in other countries every time they identify their content being stolen.

and from Great Pacific Television (with typo):

Piracy websites operate anonymously online from jurisdictions all over the world, making it difficult to identify the people responsible for them or take action against them. It is unreasonable to expect an artist or a small Canadian production company to track down and sure [sic] multiple anonymous parties operating in other countries every time they identify their content being stolen.

The same repetition of the script occurs with respect to claims that the website blocking proposal is similar to those found in 20 other countries (this is simply untrue given that the absence of a court order makes the Canadian system a clear outlier). The scripted language:

Anti-piracy regimes like the one proposed by FairPlay have been proven to work. 20 countries, including most of Canada’s closest international partners, have adopted similar regimes and have reported significant reductions to piracy as a result of the measures taken. It is high time Canada followed their lead.

This same paragraph appears word-for-word in submissions from Shaftesbury Films, Proper Television, Great Pacific Television, Productions Casablanca, and Highway Entertainment. Others, including Insight Productions and Pier 21 Films offer near-identical language.

This approach is typical of Bell’s advocacy approach. In 2011, I chronicled the repeat language from politicians such as Patrick Brown in support of its proposed merger with CTV.  In 2016, it lined up near-identical support from city mayors on a broadband appeal, sparking a Toronto city council motion opposing the mayor’s letter.

None of this is particularly surprising and it goes without saying that everyone should be encouraged to provide their views to the CRTC. However, those quick to dismiss public submissions as ill-informed or the result of organized campaigns should take a closer look at Bell’s astroturfing efforts and its outreach to supporters who profess concern with the issue but simply file submissions that do little more than copy-paste supplied language from Bell onto corporate letterhead.

The post Dialling Up the Bell Lobbying Playbook: Production Company Website Blocking Submissions Using Identical Script appeared first on Michael Geist. Inline-Java-0.64

Write Perl classes in Java.

ScreenAnarchy: Have Your Say: The New York Background

Last weekend I checked out Vinegar Syndrome's Blu-ray release of Slava Tsukerman's 1982 film Liquid Sky, and was very much impressed by what I saw. Liquid Sky is an obscure cult-film that's often been described as "trippy low-budget science fiction", but there's a lot more going on here than just a weird style. Tsukerman and double-lead-and-writer Anne Carlisle have a few things to say about fitting in, beauty, sex, drugs, abuse and self-destruction. And that's even before we get to the killing alien! I've heard about this film for decades (since the first Dutch VHS rental release of the mid-eighties) and it has intrigued me ever since. To be able to finally see it with this clarity and sharpness is more than I ever expected....

[Read the whole post on]

Colossal: The Acrobatic Entanglements of Everyday Objects by Mauricio Alejo

Photographer Mauricio Alejo uses everyday objects to create gravity-defying arrangements within his apartment, staging curious interventions and acrobatic feats on his kitchen counters and filing cabinets. Working within the confines of his living space has allowed Alejo to produce ideas as they come, rather than attempt to find the perfect backdrop for his spontaneous compositions.

“I didn’t always like the apartments I was living in, or better put, I didn’t always like the way some of the places I lived translated into the image,” explained Alejo. “They were somehow random and uninteresting, but I knew that it was just natural to photograph right where the ideas were conceived, besides if I started looking for the ‘right’ place to shoot it was going to be a never ending story.”

This immediacy of ideas has become embedded in the photographer’s practice, even with Alejo’s recent move towards studio-based photography. You can see more of his works on his website and Instagram. (via Ignant) Dezi-App-0.014_01

build Dezi search applications

Open Culture: Bill Murray Reads the Poetry of Lawrence Ferlinghetti, Wallace Stevens, Emily Dickinson, Billy Collins, Lorine Niedecker, Lucille Clifton & More

But we do have many, many clips of Murray reading his favorites from other poets he admires, like Ferlinghetti, and like Wallace Stevens, whose “The Planet on The Table” and “A Rabbit as King of the Ghosts,” he reads above at New York’s Poets House, an institution he has wholeheartedly supported.

Wallace Stevens is a famously difficult poet, but he is also quite funny, in an obliquely droll way, and its no wonder Murray likes his verse. Poets House director Lee Bricoccetti observes that there is “an alignment between comedy and poetry… a precision in the way you handle language.” Some of my own favorite poets—like Frank O’Hara and the “willfully ridiculous” Stevie Smith—are also some of the funniest writers I’ve ever encountered in any form. Murray’s own poetic efforts, were we ever to hear them, may not measure up to the work of his favorites, but he is undoubtedly “a master of linguistic control and pacing.”

We also know that he can turn in finely nuanced dramatic performances when he wants to, and his mastery of the spoken word contributes just as much to moodier poets like Emily Dickinson, whom he reads above in a surprise performance for constructions workers at work on the new Poets House home in 2009. You might agree, however, that he really shines with comic fare, like Billy Collins “Another Reason I Don’t Keep a Gun in the House” and Lorine Niedecker’s majorly condensed “Poet’s Work.”

Any of these readings should grant Murray admission into the most uptight of literary affairs. If anyone still doubts his skill in the craft of reading literature well in public—which, any writer will you, is no easy thing by far—then hear him read Lucille Clifton’s uplifting “What the Mirror Said” (above), or Sarah Manguso’s “What We Miss,” Billy Collins’ “Forgetfulness,” and Cole Porter’s song “Brush Up on Your Shakespeare.” Hear him read from Huckleberry Finn and mumble his way through Bob Dylan’s “Shelter from the Storm,” in character in the film St. Vincent.

Oh, but does the multitalented Bill Murray, "master of linguistic control and pacing," sing show tunes? Does he ever….

Find these poetry readings added to OC's collection, 900 Free Audio Books: Download Great Books for Free

Related Content:

Hear Bill Murray’s Favorite Poems Read Aloud by Murray Himself & Their Authors

Bill Murray Gives a Delightful Reading of Twain’sHuckleberry Finn (1996)

The Philosophy of Bill Murray: The Intellectual Foundations of His Comedic Persona

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

Bill Murray Reads the Poetry of Lawrence Ferlinghetti, Wallace Stevens, Emily Dickinson, Billy Collins, Lorine Niedecker, Lucille Clifton & More 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. Android-Build-20180318

Command line build of an Android apk without resorting to ant or gradle. Test-Against-Dev-0.06

Test CPAN modules against Perl dev releases

OCaml Weekly News: OCaml Weekly News, 20 Mar 2018

  1. New caml-list mirror -
  2. BAP 1.4 Release
  3. Ocaml-git, git design and implementation
  4. first release of orxgboost (gradient-boosted trees from R usable in OCaml)
  5. OCaml job at Be Sport Paris
  6. What is the reason of separation of module implementation and signatures in OCaml?
  7. Other OCaml News


New paintings by artist Matthew Dettmer (previously featured here). Currently on display at c3 contemporary art space in Melbourne, see more images from “What the hell is with Stonehenge?” below.

This project was submitted by Matthew Dettmer and selected as an Editors’ Pick. Our Submissions platform invites members to share work of their own with our editors as well as the larger Booooooom Community. Click here if you’re interested in participating and learn more about becoming a member.


Matthew Dettmer

BOOOOOOOM! – CREATE * INSPIRE * COMMUNITY * ART * DESIGN * MUSIC * FILM * PHOTO * PROJECTS: “Shan Shui” by Photographers Sébastien Tixier & Raphaël Bourelly

A stunning new series by French photographers Sébastien Tixier and Raphaël Bourelly. Taking its name from a style of painting that pays tribute to the path of mountains and water (immobility and motion), “Shan Shui” offers two perspectives on the same territory.

As Tixier and Bourelly observe, while China’s growth has skyrocketed over the last thirty years, such abrupt and accelerated change also means an increased demand on natural resources — a shift that can’t help but run up against the Toaist philosophy of non-intervention and harmony with nature. See more images from the project below or on display at Le 247 gallery in Paris starting May 3rd.


Sébastien Tixier, Raphaël Bourelly

Open Culture: Watch the Original Black Panther Animated Series Online: All Six Episodes Now Available Thanks to Marvel

Last month, I was thrilled to learn of a talk coming to my town called “The Writers of Wakanda.” I scored a (free) ticket, thinking that maybe the massive blockbuster movie’s director/writer Ryan Coogler might make an appearance (or his co-writer Joe Robert Cole), or maybe one or more of the high-profile writers who have expanded the comic’s world recently, like Ta-Nehisi Coates, Roxanne Gay, or Nnedi Okorafor. Well, either there was some kind of bait-and-switch at work or I naively failed to read the fine print. The event was a panel of devoted fans of the comic having a discussion about their lifelong fandom, the many iterations of the character through various Marvel writer’s hands, and the film’s huge cultural impact at home and abroad. It was slightly disappointing but also quite enjoyable and informative.

I learned, for example, that some of the most well-loved and highly-praised characters in the film appeared very late in the series’ run (which began with the character’s creation by Stan Lee and Jack Kirby in 1966) and were introduced by its first black writers, the “chronically underappreciated” Christopher Priest and the filmmaker Reginald Hudlin.

In the late 90s, Priest invented the Dora Milaje, the elite all-female fighting force who protect Wakanda’s kings (who each take on the mantle of superhero Black Panther once they ascend the throne). Hudlin created the character of Shuri, King T’Challa’s younger sister and the scientific mastermind behind his high-tech empire of vibranium-powered gear and gadgetry. Which brings us, at last, to the subject of this post, the Black Panther animated series, co-produced by BET and Marvel, who have released all six episodes on Marvel's YouTube channel. Stream them all above.

Taking its story from Hudlin’s 2005 comics run, the series is less animation and more “a stop motion comic,” as Nerdist writes, “added to the artwork of John Romita, Jr.” This is all to its credit, as is its star-studded voice casting, with Kerry Washington as Shuri, Alfre Woodard as the Queen Mother, Jill Scott as Storm, and Djimon Hounsou as T’Challa/Black Panther. How does it compare to the blockbuster film? From its first salvo of Wakandan warrior prowess in a cold open set in the 5th century A.D., to its seventies-African-funk-inspired theme song, to a present-day scene in the White House, with a blustery racist army general (played by Stan Lee) who sounds like a member of the current administration, the first episode, above, suggests it will live up to Hudlin’s casting of the character as “an unapologetic African man,” as Todd Steven Burroughs writes at The Root, “openly opposed to white, Western supremacy.”

Hudlin wrote some of the comic’s most politically challenging stories, delving into “serious European colonization themes.” These themes are woven throughout the animated series, which features such characters now familiar to filmgoers as Everett Ross and the villain Klaw. Captain America parachutes in—in a flashback—meets an earlier Black Panther during World War II, and takes a beating. ("These are dangerous times," says Cap, "you need to choose a side." The reply: "We have, our own.") The X-Men’s Storm, formerly the first most-famous African superhero, plays a significant role. Not in the series, likely to many people’s disappointment, are the Dora Milaje, at least in starring roles, and the film’s primary antagonist Erik Killmonger.

But not to worry. The ass-kicking general Okoye and her cadre of warriors will soon get a spin-off comic written by Okorafor, and there’s been some speculation, at least, about whether Killmonger will return (resurrected, perhaps, as he was in the comics) in the inevitable Black Panther 2. In the meantime, both longtime and new fans of the character can get their fix in this six-episode series, which offers a thrilling, bloody, and historically fascinating take not only on the Black Panther himself, but on the complicated relationship of Wakanda to the machinations of the Western world throughout colonial history and into the present.

Related Content:

Download Over 22,000 Golden & Silver Age Comic Books from the Comic Book Plus Archive

Why Marvel and Other Hollywood Films Have Such Bland Music: Every Frame a Painting Explains the Perils of the “Temp Score”

How to Draw in the Style of Japanese Manga: A Series of Free & Wildly Popular Video Tutorials from Artist Mark Crilley

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

Watch the Original <i>Black Panther</i> Animated Series Online: All Six Episodes Now Available Thanks to Marvel 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.

BOOOOOOOM! – CREATE * INSPIRE * COMMUNITY * ART * DESIGN * MUSIC * FILM * PHOTO * PROJECTS: iOS AR App of the Day: Weird Type Lets You Draw Typography in Space

Zach Lieberman and his partner Molmol Kuo have been making work together under the name YesYesNo, which specializes “in the creation of engaging, magical installations that combine creativity, artistic vision and cutting edge R&D.” The two spent the last year exploring artistic ways to use augmented reality (AR) and their latest creation is an AR app called, Weird Type.

One of the experiments that led to Weird Type involved creating drawing tools to play with recorded sound.


The more experiments they shared, the more people would ask about the possibility of an app.  The wheels were finally put in motion when Design Indaba Festival asked Zach about the possibility of having him create something for their event. They literally said, “What have you not made yet that we can help you make?”

Lieberman and Kuo teamed up with type foundry, Abc Dinamo, designer Richard The and some other iOS developers to make an app that allows users to simply and freely play with type in a really unique way. There are several different modes that give you the ability to draw with ribbons of text, explode words and walk around them, and you can even take pictures using letters.


Lieberman says, “It’s really heart warming to see people experimenting with the app and having the same kind of fun we’ve had working with AR this year.”

We played around with the app this past week and it was total a blast! Below are a few examples of what people are creating with it.




CreativeApplications.Net: Learning To See – Making deep neural network predictions on live camera input

Learning To See – Making deep neural network predictions on live camera input
Latest in the series of experiments and explorations into neural networks by Memo Akten is a pre-trained deep neural network able to make predictions on live camera input – trying to make sense of what it sees, in context of what it’s seen before.

Open Culture: Play a Collection of Classic Handheld Video Games at the Internet Archive: Pac-Man, Donkey Kong, Tron and MC Hammer

Equipped with smartphones that grow more powerful by the year, gamers on the go now have a seemingly unlimited variety of playing options. A decade ago they relied on handheld game consoles with their thousands of available game cartridges and later discs, whose reign began with Nintendo's introduction of the original Game Boy (a device whose unwrapping on Christmas 1990 remains one of my most vivid childhood memories). But even before the Game Boy and its successors, there were standalone handheld proto-video-games, "LCD, VFD and LED-based machines that sold, often cheaply, at toy stores and booths over the decades."

Those words come from Jason Scott at the Internet Archive, where you can now play a range of those handheld games again, emulated right here in your browser. "They range from notably simplistic efforts to truly complicated, many-buttoned affairs that are truly difficult to learn, much less master," Scott writes.

"They are, of course, entertaining in themselves – these are attempts to put together inexpensive versions of video games of the time, or bringing new properties wholecloth into existence." They also "represent the difficulty ahead for many aspects of digital entertainment, and as such are worth experiencing and understanding for that reason alone."

What kind of games came in this form? The Internet Archive's current offerings include vague approximations of 70s and 80s arcade hits like Pac-ManDonkey Kong, and Q*Bert;  even vaguer approximations of such major motion pictures of the day as TronRobocop 2 (as well as Robocop 3), and Apollo 13; and sports titles like World Championship BaseballNFL Football, and Blades of Steel. You'll even find popular oddities like Bandai's Tamagotchi, the original virtual pet, along with less popular oddities like MC Hammer, a dual-directional-padded simulation of a dance battle with the auteur of "U Can't Touch This."

So as you play, spare a thought for the developers of these handheld games, not just because of the dire intellectual property they often had to work with, but the severe technological restrictions they invariably had to work under. "This sort of Herculean effort to squeeze a major arcade machine into a handful of circuits and a beeping, booping shell of what it once was is an ongoing situation," writes Scott. "Where once it was trying to make arcade machines work both on home consoles like the 2600 and Colecovision, so it was also the case of these plastic toy games. Work of this sort continues, as mobile games take charge and developers often work to bring huge immersive experiences to where a phone hits all the same notes." And the day will certainly come when even the most impressive games we play now, handheld or otherwise, will seem just as hilariously simplistic.

Enter the handheld video collection here. And find more classic video games in the Relateds below.

Related Content:

Play “Space War!,” One of the Earliest Video Games, on Your Computer (1962)

Pong, 1969: A Milestone in Video Game History

The Internet Arcade Lets You Play 900 Vintage Video Games in Your Web Browser (Free)

Run Vintage Video Games (From Pac-Man to E.T.) and Software in Your Web Browser, Thanks to

Free: Play 2,400 Vintage Computer Games in Your Web Browser

Based in Seoul, Colin Marshall writes and broadcasts on cities and culture. His projects include the book The Stateless City: a Walk through 21st-Century Los Angeles and the video series The City in Cinema. Follow him on Twitter at @colinmarshall or on Facebook.

Play a Collection of Classic Handheld Video Games at the Internet Archive: <i>Pac-Man</i>, <i>Donkey Kong</i>, <i>Tron</i> and <i>MC Hammer</i> 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.

Instructables: exploring - featured: How to Make Beautiful Paper Daisy Flowers?

We all love flowers and it makes a very beautiful home decor. These days paper flower is becoming very popular. They not only look beautiful but also can be used in multiple things. These paper flowers can be used as a vase flower, decorative object during festivals etc.Here we are going to make a ...
By: Ananvita

Continue Reading »

Instructables: exploring - featured: Make Your Own Folding Map Booklet

Want freedom from using your phone for navigation?Want a tangible keepsake for your travels?Let's avoid those complicated map folds and get back to the basics--page by page instructions!This booklet incorporates a handy printout from Google Maps to guide your way The 'Fold' This fold is of my own...
By: WarriorStudio

Continue Reading »

Penny Arcade: News Post: Polymath

Tycho: We were trying to figure out The Ninja Phenomenon before he was playing with rappers or some shit, and now it’s even more difficult to pull this apart.  But we can talk about the sort of shit this motherfucker gets up to on his stream. The shooter substrate beneath his play is excellent.  His UI manipulation is cartoonishly fast.  His building looks instinctual.  I can understand each of these modes in essence because I do primitive versions of them.  But for a normal person, a human person whose soul is not in hock to Lucifer, they aren’t all happening at…

Jesse Moynihan: Manly Update

Hello all! Sorry for being off the radar. Been slammed with Cartoon Network duties, which will end in about a month. Meanwhile there’s some news on the ever elusive Manly front. Today my brother, the guys from Frederator and I took a long drive over to Culver City to meet with a production company about […]

Instructables: exploring - featured: Wooden Hair Clipper Case

I recently purchased a hair cutting set as a gift and the box it came in was not to my liking as everything was in a big jumble and would fall out every time I opened it up.This got me motivated to try my hand at building a more functional box to pair with the gift. So with no experience worth menti...
By: pelatia

Continue Reading »

Instructables: exploring - featured: Multiple LEDs & Breadboards With Arduino in Tinkercad

Let's learn how to control multiple LEDs using Arduino’s digital outputs and a breadboard. Expanding upon the last lesson on blinking an LED, We'll connect some LEDs to the Arduino Uno and compose a simple program to light them up in a pattern. You can follow along virtually using Tinkercad Circ...
By: circuits

Continue Reading »

Planet Haskell: Mark Jason Dominus: English's -en suffix

In English we can sometimes turn an adjective into a verb by suffixing “-en”. For example:

black → blacken
red → redden
white → whiten
wide → widen

But not

blue → bluen*
green → greenen*
yellow → yellowen*
long → longen*

(Note that I am only looking at -en verbs that are adjective-derived present tenses. This post is not concerned with the many -en verbs that are past participles, such as “smitten” (past participle of “smite”), “spoken” (“speak”), “molten” (“melt”), “sodden” (“seethe”), etc.)

I asked some linguist about this once and they were sure it was purely morphological, something like: black, red, and white end in stop consonants, and blue, green, and yellow don't.

Well, let's see:

Stop Blacken
Open (?)
Fricative Coarsen
Nasal   Cleanen
Vowel   Angrien
Glide   Betteren

There are some fine points:

  • “Biggen” used to exist but has fallen out of use
  • Perhaps I should have ommitted “strengthen” and “hasten”, which are derived from nouns, not from adjectives
  • I'm not sure whether “closen”, “hotten” and “wetten” are good or bad so I left them off
  • “moisten” and “soften” might belong with the stops instead of the fricatives
  • etc.

but clearly the morphological explanation wins. I'm convinced.

[ Addendum: Wiktionary discusses this suffix, distinguishing it from the etymologically distinct participial “-en”, and says “it is not currently very productive in forming new words, being mostly restricted to monosyllabic bases which end in an obstruent”. ]

Greater Fool – Authored by Garth Turner – The Troubled Future of Real Estate: Risk off

That’s what the traders, hedgers, advisors and fund managers say to each other over fresh Sbux when they wake up and decide to trash your RRSP. And it’s one of those weeks.

Facebook screwed up with a massive personal data release and is being seriously spanked. Trump’s inching closer to firing Mueller, creating a full-blown crisis. Armies of children are about the shame the NRA and most of Congress. Putin and Xi just cemented their locks on power, becoming democratic dictators. Uber ran over a woman with an experimental self-driving car. Apple crushed suppliers’ stock with news it’s making its own screens. And a former ‘Sex in the City’ star is running to be governor of New York.

Phew. But there’s more. In Canada Doug Ford is up and Justin Trudeau is down. Jag The Good’s being accused of playing footsie with terrorists. And on Wednesday American interest rates swell for the fifth time in little more than a year, pushing our mortgages up. Risk on. Monday, by the way, saw the Dow shed 400 points and Bay Street give up over 150. The dollar staggered along at 76 and a half cents.

Much of this underscores the peril of owning individual stocks in your portfolio. Facebook, Tesla, Netflix, Amazon – sexy, visionary outfits whose shares often soar even when the companies underneath are profitless. Much safer to own the whole market through a broad-based ETF. Why hold a few stocks when one fund will deliver a position in the 500 largest?

Then there’s currency risk. Rising US rates and a worried Bank of Canada will further devalue the loonie – thus the long-standing suggestion here to keep 20% of your investment assets in dollar-denominated stuff. It’s part of being balanced. When one set of holdings falls, another ascends. Equilibrium.

And as for rising rates, they’re an inevitability, whatever befalls the Socialist Republicks of Hockeystan. So keeping 15% or so of your portfolio in rate-reset preferreds will protect you from declines in the bond holdings – which are necessary to reduce portfolio volatility. They gain in value along with the cost of money, plus pay you a dividend just for showing up.

This is how to invest in a volatile world, without chewing your nails or ordering Tums for lunch. Balance. Diversity. Liquidity. No stocks. No mutual funds. No deferred sales charges or high MERs. Never hire an advisor who sells you stuff and is paid on commission, or a guy who gets some money from you every time he makes a trade. When someone hands you a card saying they’re an insurance specialist, run. And never sign up for an RESP with one of those baby vultures. As for TNL@TB, I would like to share an email with you from a guy I will be trying to help (he’s an ashamed bank employee, and made a nice ask):

I am 21 years old working as a full-time Financial Advisor for (deleted) bank, making 40,000 yearly, single but my family depends on my income to help with bills and I go to school full-time as well. Total assets I have are 15,000 that’s fairly liquid, 7,000 of which is in my ownership plan stocks. My goals is exactly what I wanted to talk to you about. Putting clients and their finances first before the business you work for. So my request – and I know it sounds a bit out of the blue – I’d like to have some mentor ship. I’m interested in the field of Advising and Investing, but I am working for a company in the industry that only lets you sell what they want and not what’s best for the client which makes it difficult to learn past the bubble they’ve created. I’d also definitely like to get some Investing help of my own and I do understand if you are too busy, I just thought I would reach out to try.

Well, that speaks for itself. Good kid. Sincere. Wants to do the right thing and reaches out to a wizened fossil for knowledge. Kudos for Robert. But it also makes you wonder how many people wander into The Bank thinking they’ll get professional, seasoned, banky and knowledgeable help, only to end up in the clutches of a kid whose mandate is to sell them stuff. He admits to little life experience, scant personal assets or investing knowledge and being shackled in his job. Robert sits behind a plaque saying ‘Financial Advisor’. But he has no advice to give. It’s a fraud. I will try to rescue him.

The world is unlikely to get less volatile or more ethical. Investing today is absolutely necessary, but deeply scary. The best advice is to ignore the noise – including those strutting cowboys here who pretend to flip stocks – and set up a terminally-boring balanced and globally diversified portfolio. In the days to come I’ll review the assets and weightings. Your job is to calm down.

OUR VALUED CUSTOMERS: While discussing her ex-boyfriend...

Open Culture: Watch Stephen Hawking’s Interview with Neil DeGrasse Tyson, Recorded 10 Days Before His Death: A Last Conversation about Black Holes, Time Travel & More

Ten days before Stephen Hawking’s death, Neil DeGrasse Tyson sat down with the world-famous physicist for an interview on Tyson’s StarTalk podcast. “I picked his legendary brain,” says Tyson in his introduction, “on everything, from the big bang to the origins of the universe.” He starts off, however, with some softballs. Hawking’s favorite food? He likes oysters. Favorite drink? Pimms.

Your appreciation for Tyson’s earnestly awkward small talk may vary. He’s prone to making himself laugh, which doesn’t elicit laughs from Hawking, whose communication was, of course, extraordinarily constrained. And yet, when it came to matters most of consequence to him, he was eloquent, witty, profound into his final days.

Though we cannot detect any tonal inflection in Hawking’s computer voice, we know him as a sensitive, compassionate person as well as a brilliant mind. It doesn’t sound like he’s bragging when—in answer to Tyson’s question about his favorite equation (at 4:10)—he replies, “the equation I discovered relating the entropy of black hole to the area of its horizon.” "How many people," Tyson replies, chuckling, "get to say that their favorite equation is one they came up with? That’s badass.”

Cutaway segments with Tyson, theoretical physicist Janna Levin, and comedian Matt Kirshen surround the short interview, with Levin offering her professional expertise as a cosmologist to explain Hawking’s ideas in lay terms. His favorite equation, she says, demonstrates that black holes actually radiate energy, returning information, though in a highly disordered form, that was previously thought lost forever.

At 8:05, hear Hawking’s answer to the question of what he would ask Isaac Newton if he could go back in time. Whether we understand his reply or not, we learn how “badass” it is in the cutaway commentary (which begins to seem a little ESPN-like, with Levin as the seasoned player on the panel). Rather than asking Newton a question Hawking himself didn’t know the answer to, which Newton likely couldn’t answer either, Hawking would ask him to solve a problem at the limit of Newton’s own studies, thereby testing the Enlightenment giant’s abilities.

Offered ad-free in Hawking’s memory, the podcast interview also tackles the question of whether it might ever be possible to actually travel back in time, at 24:00 (the answer may disappoint you). Michio Kaku joins the panel in the studio to clarify and sticks around for the remainder of the discussion. The panel also answers fan-submitted questions, and Bill Nye makes an appearance at 42:16. Hawking’s interview makes up a comparatively small portion of the show.

His answers, by necessity, were very brief and to the point. His final theories, by contrast, are mind-expandingly vast, opening us up to the secrets of black holes and the existence of the multiverse. While Hawking's theoretical work may have been too speculative for the Nobel committee, who need hard evidence to make a call, his legacy as “one of our greatest minds, of our generation, of the century, or maybe, ever,” as Tyson says, seems secure.

via Laughing Squid

Related Content:

Stephen Hawking (RIP) Explains His Revolutionary Theory of Black Holes with the Help of Chalkboard Animations

The Lighter Side of Stephen Hawking: The Physicist Cracks Jokes and a Smile with John Oliver

Stephen Hawking’s Universe: A Visualization of His Lectures with Stars & Sound

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

Watch Stephen Hawking’s Interview with Neil DeGrasse Tyson, Recorded 10 Days Before His Death: A Last Conversation about Black Holes, Time Travel & More 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.

Colossal: Over 30,000 Negatives Discovered in Russian Artist’s Attic Reveal a Lifetime of Hidden Photography

Russian artist and theater critic Masha Ivashintsova (1942-2000) lived a secret life as a photographer, taking over 30,000 photographs in her lifetime without ever showing a soul. It wasn’t until years after her death in 2000 that her daughter Asya Ivashintsova-Melkumyan stumbled upon her vast collection of negatives while cleaning out the attic. The photographs showcase an astounding look into the inner world of Ivashintsova, while also providing a glimpse of everyday life in Leningrad (now Saint Petersburg) from the 1960-1999.

Ivashintosova was heavily engaged in the city’s underground poetry and photography movement, yet never showed anyone her images, poetry, or personal writing during her lifetime. Ivashintsova-Melkumyan shares a quote from one of her mother’s diary entries that hints at the reasoning behind her hidden artistic life, “I loved without memory: is that not an epigraph to the book, which does not exist? I never had a memory for myself, but always for others.”

“I see my mother as a genius,” explains Ivashintsova-Melkumyan, “but she never saw herself as one—and never let anybody else see her for what she really was.”

Some have referred to Ivashintsova as the Russian Vivian Maier, an American photographer and caregiver whose extensive collection of negatives was discovered in Chicago after her death in 2009. A group of close family friends are working to scan the entirety of Ivashintsova’s life’s work. You can view more of her recently discovered images on this website and Instagram specifically created to share her legacy. (via PetaPixel)

Colossal: Crocheted and Embroidered Bacteria Grow in Elin Thomas’s Fiber Art Petri Dishes

Elin Thomas creates petri dishes filled with mold, but she’s not using any week-old peanut butter sandwiches. The fiber artist builds her science experiments using a felted wool base, and then carefully crafts individual growths using crochet and embroidery techniques. Most of her creations are set in authentic 8cm borosilicate glass petri dishes, although she also makes free-form brooches and other accessories in a similar style.

Thomas has an MA in Visual Culture from Bath Spa University College, and she is based in the UK and Wales. The artist sells her work, including custom orders, on her website and Etsy store. (via #WOMENSART)

Quiet Earth: LEPRECHAUN RETURNS Coming from Director of THE VOID [Trailer]

SyFy has tapped Canadian filmmaker Steven Kostanski to helm the next installment of the popular Leprechaun horror series. Kostanski is a member of the Astron-6 filmmaking collective who we've covered a lot over the years here as well as a writer/directors of last year's The Void.

The new film is titles Leprechaun Returns and we've even got a short teaser below to wet your appetites.

The film is written by Suzanne Keilly who has worked on Ash vs Evil Dead.

The Leprechaun returns once again, when a group of girls unwillingly awaken hi [Continued ...]

Planet Haskell: Mark Jason Dominus: Funky coordinate systems

I had a fun idea this morning. As a kid I was really interested in polar coordinates and kind of disappointed that there didn't seem to be any other coordinate systems to tinker with. But this morning I realized there were a lot.

Let be some parametrized family of curves that partition the plane, or almost all of the plane, say except for a finite number of exceptions. If you have two such families and , and if each curve in intersects each curve in in exactly one point (again with maybe a few exceptions) then you have a coordinate system: almost every point lies on and for some unique choice of , and these are its coordinates in the system.

For example, when is the family of lines and is the family of lines then you get ordinary Cartesian coordinates, and when is the family of circles and is the family (plus also ) you get standard polar coordinates, which don't quite work because the origin is in every member of , but it's the only weird exception.

But there are many other families that work. To take a particularly simple example you can pick some constant and then take

$$\begin{align} F_1(c): && x & =c \\ F_2(c): && y & =kx+c. \end{align} $$

This is like Cartesian coordinates except the axes are skewed. I did know about this when I was a kid but I considered it not sufficiently interesting.

For a more interesting example, try

$$\begin{align} F_1(c): && x^2-y^2 & =c \\ F_2(c): && xy & =c \end{align} $$

which looks like this:

<figure>Two families of hyperbolas, as in the displayed equation immediately preceding. The hyperbolas (in blue) and (in red)</figure>

I've seen that illustration before but I don't think I thought of using it as a coordinate system. Well, okay, every pair of hyperbolas intersects in two points, not one. So it's a parametrization of the boundary of real projective space or something, fine. Still fun!

In the very nice cases (such as the hyperbolas) each pair of curves is orthogonal at their point of intersection, but that's not a requirement, as with the skew Cartesian system. I'm pretty sure that if you have one family you can construct a dual family that is orthogonal to it everywhere by letting be the paths of gradient descent or something. I'm not sure what the orthogonality is going to be important for but I bet it's sometimes useful.

You can also mix and match families, so for example take:

$$\begin{align} F_1(c): && x & =c \\ F_2(c): && xy & =c \end{align} $$

Some examples work better than others. The hyperbolas are kind of a mess when , and they don't go together with the circles in the right way at all: each circle intersects each hyperbola in four points. But it occurs to me that as with the projective plane thingy, we don't have to let that be a problem. Take to be the quotient space of the plane where two points are identified if their -coordinates are the same and then investigate . Or maybe go more directly and take (literally the Cartesian product), and then topologize in some reasonably natural way. Maybe just give it the product topology. I dunno, I have to think about it.

(I was a bit worried about how to draw the hyperbola picture, but I tried Google Image search for “families of orthogonal hyperbolas”, and got just what I needed. Truly, we live in an age of marvels!)

Planet Haskell: Functional Jobs: Scala developer for NetLogo at Northwestern University (Full-time)

Job Summary

The CCL Lab at Northwestern University is looking for a full-time Scala/Java Software Developer to work on the NetLogo desktop application, a celebrated modeling environment used in both education and research. The developer we seek will also participate in the design of web based modeling applications in Javascript.

This Software Developer position is based at Northwestern University's Center for Connected Learning and Computer-Based Modeling (CCL), working in a small collaborative development team in a university research group that also includes professors, postdocs, graduate students, and undergraduates, supporting the needs of multiple research projects. A major focus would be on development of NetLogo, an open-source modeling environment for both education and scientific research. CCL grants also involve development work on HubNet and other associated tools for NetLogo, including research and educational NSF grants involving building NetLogo-based science curricula for schools.

NetLogo is a programming language and agent-based modeling environment. The NetLogo language is a dialect of Logo/Lisp specialized for building agent-based simulations of natural and social phenomena. NetLogo has many tens of thousands of users ranging from grade school students to advanced researchers. A collaborative extension of NetLogo, called HubNet, enables groups of participants to run participatory simulation activities in classrooms and distributed participatory simulations in social science research. NetLogo can also be extended to interface with external software such as R, Mathematica and Python.

Application information:

The Northwestern campus is in Evanston, Illinois on the Lake Michigan shore, adjacent to Chicago and easily reachable by public transportation.

To apply, please contact Uri Wilensky, Director of the CCL, at the following email address: ccl-developer-job [at] ccl [dot] northwestern [dot] edu

Please put 'Developer Job' in the subject line. Please include a PDF version of your resume and, optionally, links to any relevant development projects you feel illustrate your abilities.

Specific Responsibilities:

  • Collaborates with the NetLogo development team in designing features for NetLogo, HubNet, NetLogo extensions, and web-based versions of these applications; writes code independently, and in the context of a team of experienced software engineers and principal investigator;
  • Creates, updates and documents existing models using NetLogo, HubNet, NetLogo extensions, and web-based applications; creates new such models;
  • Interacts with commercial and academic partners to help determine design and functional requirements for NetLogo, HubNet, and NetLogo extension features or projects;
  • Interacts with user community including responding to bug reports, questions, and suggestions, and interacting with open-source contributors;
  • Mentor undergraduate student workers and guide Google Summer of Code participants on contributions to the NetLogo codebase; assist graduate students with issues encountered during their work;
  • Performs data collection, organization, and summarization for projects; assists with coordination of team activities;
  • Performs other duties as required or assigned.

Minimum Qualifications:

  • A bachelor's degree in computer science or a closely related field or the equivalent combination of education, training and experience from which comparable skills and abilities may be acquired;
  • Demonstrated experience and enthusiasm for writing clean, modular, well-tested code.

Preferred Qualifications:

  • Experience with working effectively as part of a small software development team, including close collaboration, distributed version control, and automated testing;
  • Experience with at least one JVM language, Scala strongly preferred;
  • Experience developing GUI applications, especially Java Swing-based applications;
  • Experience with programming language design and implementation, functional programming (especially Haskell or Lisp), and compilers;
  • Interest in and experience with computer-based modeling and simulation, especially agent-based simulation;
  • Interest in and experience with distributed, multiplayer, networked systems like HubNet;
  • Experience working on research projects in an academic environment;
  • Experience with open-source software development and supporting the growth of an open-source community;
  • Experience with Linux/Unix system administration;
  • Experience with building web-based applications, both server-side and client-side components, particularly with html5 and JavaScript and/or CoffeeScript;
  • Interest in education and an understanding of secondary school math and science content.
  • List item

As per Northwestern University policy, this position requires a criminal background check. Successful applicants will need to submit to a criminal background check prior to employment.

Northwestern University is an Equal Opportunity, Affirmative Action Employer of all protected classes including veterans and individuals with disabilities.

Get information on how to apply for this position.

Trivium: 19mar2018

Planet Haskell: Ken T Takusagawa: [mjdtvttx] Flipping function composition

Here is how to refer to the function composition operator in Haskell when it has a qualified prefix: "Prelude..".  It certainly looks very weird.  Here it is in the context of creating an operator which puts its arguments in an order which some might consider more natural.

import Prelude hiding ((.));
import qualified Prelude;
(.) :: (a -> b) -> (b -> c) -> a -> c;
(.) = flip (Prelude..);

But consider just using the builtin operator Control.Category.>>> instead of redefining "." in this way.

Penny Arcade: Comic: Polymath

New Comic: Polymath

Colossal: Public Restroom: A Bathroom Reimagined as a Town Square Using Custom-Printed Tiles

Lithuanian design studio Gyva Grafika has given a second life to a restroom by reinterpreting its tiled walls as building facades. Each tile features a unique view of a generic rectangular window, offering glimpses into the nuanced lives of individuals. Some windows are closed to the viewer with lace curtains; in others, a person or a houseplant peeks out. The creators share that the photos are from the neighborhood where the bathroom is located. They first made stickers to apply to the tiles, and then experimented with printing the photos directly on the tiles. You can find more projects by Gyva Grafika on Behance and their website. (via Design You Trust)


Disquiet: More Celestial Than Aquatic

The Monk by the Sea is the name under which Ivan Ujevic of Zagreb, Croatia, records lush ambient music, often guitar-based. Presumably the “sea” in question is the Adriatic, which separates Croatia from Italy. In a new track titled “Lost at Sea,” the Monk by the Sea ventures into a spectral zone, a purely imaginary space, one that feels more celestial than aquatic. When the piece first opens, the familiar pluck of an electric guitar and the effects of backward-masking — already a nostalgic technological touch when employed by rock musicians in the 1960s, and these days doubly so — are easily recognizable. Yet as the work moves forward, those sounds get lost in — more to the point, those sounds expand to become — a vast shuddering spectacle, a voluminous shimmer that drones on like the sonic equivalent of the horizon.

Track originally posted at More from Ujevic at, YouTube, and

Professor Fish: Big Code Science

I am pitching "Big Code Science" (my take on the mashup of mining software repositories, source-code analysis, program comprehension, etc.) to an inter-faculty meeting at my university. (I am about to start an extended unpaid leave of absence to join Facebook.) I will just have 15min in a brown-bag setting and thus, I am going to use images, charts, and simple messages.

Title: Big Code Science

Abstract: Code Science is Data Science for code. Big Code Science is the scientific approach to accessing, analyzing, and understanding big data where the data here is code or data related to software development. There is several reasons why Big Code Science has taken off. (i) Open Source development has exploded in the last 10 years so that we have access to terabytes of source code, version history, developer communication, documentation, release infos, bug tracking info, etc.; not trying to learn from the past would be crazy. (ii) Big IT et al. corporations (Facebook, Google, IBM, Microsoft, Philips, Siemens, ...) critically depend on their super-huge code bases for their businesses to function and to develop further which is an extraordinary challenge because robustness, performance, security, maintainability, evolvability, and other critical parameters are increasingly harder to control when code bases grow; size does matter and science must come to the rescue. (iii) Machine learning, information retrieval, data mining, parallel programming, text analysis, traceability recovery, program analysis, reverse engineering and yet other relevant techniques have matured, also in the context of industrial scale software engineering so that we are definitely able to deal with big code both technically and methodologically. In this talk, I am going to look at a few topics that my research team have addressed in the context of Big Code Science over the last few years. I also hint at some challenges ahead -- some of which I also hope to look into during my appointment at Facebook.



New Humanist Blog: Living with the consequences

Climate change is already here: we must stop debating deniers and start making tough decisions about what we will save.

s mazuk: fruitsoftheweb: Jelly Cube on the Stairs


Jelly Cube on the Stairs Comic for 2018.03.19

New Cyanide and Happiness Comic

OCaml Planet: Coq 8.8+beta1 is out

The first beta release of Coq 8.8 is available for testing. It features better performances, tactic improvements, many enhancements for universe users, a new Export modifier for setting options, support for goal selectors in front of focusing brackets and a new experimental -mangle-names option for linting proof scripts. Feedback and bug reports are extremely welcome.

The Shape of Code: Estimating the number of distinct faults in a program

In an earlier post I gave two reasons why most fault prediction research is a waste of time: 1) it ignores the usage (e.g., more heavily used software is likely to have more reported faults than rarely used software), and 2) the data in public bug repositories contains lots of noise (i.e., lots of cleaning needs to be done before any reliable analysis can done).

Around a year ago I found out about a third reason why most estimates of number of faults remaining are nonsense; not enough signal in the data. Date/time of first discovery of a distinct fault does not contain enough information to distinguish between possible exponential order models (technical details; practically all models are derived from the exponential family of probability distributions); controlling for usage and cleaning the data is not enough. Having spent a lot of time, over the years, collecting exactly this kind of information, I was very annoyed.

The information required, to have any chance of making a reliable prediction about the likely total number of distinct faults, is a count of all fault experiences, i.e., multiple instances of the same fault need to be recorded.

The correct techniques to use are based on work that dates back to Turing’s work breaking the Enigma codes; people have probably heard of Good-Turing smoothing, but the slightly later work of Good and Toulmin is applicable here. The person whose name appears on nearly all the major (and many minor) papers on population estimation theory (in ecology) is Anne Chao.

The Chao1 model (as it is generally known) is based on a count of the number of distinct faults that occur once and twice (the Chao2 model applies when presence/absence information is available from independent sites, e.g., individuals reporting problems during a code review). The estimated lower bound on the number of distinct items in a closed population is:

S_{est} ge S_{obs}+{n-1}/{n}{f^2_1}/{2f_2}

and its standard deviation is:

S_{sd-est}=sqrt{f_2 [0.25k^2 ({f_1}/{f_2} )^4+k^2 ({f_1}/{f_2} )^3+0.5k ({f_1}/{f_2} )^2 ]}

where: S_{est} is the estimated number of distinct faults, S_{obs} the observed number of distinct faults, n the total number of faults, f_1 the number of distinct faults that occurred once, f_2 the number of distinct faults that occurred twice, k={n-1}/{n}.

A later improved model, known as iChoa1, includes counts of distinct faults occurring three and four times.

Where can clean fault experience data, where the number of inputs have been controlled, be obtained? Fuzzing has become very popular during the last few years and many of the people doing this work have kept detailed data that is sometimes available for download (other times an email is required).

Kaminsky, Cecchetti and Eddington ran a very interesting fuzzing study, where they fuzzed three versions of Microsoft Office (plus various Open Source tools) and made their data available.

The faults of interest in this study were those that caused the program to crash. The plot below (code+data) shows the expected growth in the number of previously unseen faults in Microsoft Office 2003, 2007 and 2010, along with 95% confidence intervals; the x-axis is the number of faults experienced, the y-axis the number of distinct faults.

Predicted growth of unique faults experienced in Microsoft Office

The take-away point: if you are analyzing reported faults, the information needed to build models is contained in the number of times each distinct fault occurred.

Greater Fool – Authored by Garth Turner – The Troubled Future of Real Estate: Kids

Lalanah is a mother of three who loves her kids. How much? Enough to hand over a big wad of money to assist her son, Taras, to buy a home for his family in an insane real estate market.

“I said to him that I could lend him the money for the property and he could pay me back,” she later said. “I expected that he would do the right thing, and pay in five or seven years.” But the kid had other plans. He took the $500,000 when in his twenties, bought a property, then flipped it and later – when be became an architect – used the inflated proceeds to build a luxury, five-bedroom home. More than a decade later, he had no intention of repaying the Bank of Mom.

“There was no loan,” Taras insists. “No discussion of payments.”

So she sued him. And won. Judge Ted Woodward ruled there has been “serious allegations of dishonesty and fraud” and ordered the ungrateful spawn to pony up the better part of $300,000, plus interest and legal costs.

You didn’t read about this in the MSM because the case was tried in Melbourne, where house prices have been as insane as those in Vancouver and Toronto. And in Oz this seems to be getting more common – two judgments handed down in favour of parents in dispute with adult children in the past two months. The kids say they were gifted the cash. The wrinklies insist it was a loan. It’s the stuff that can tear a family apart. The children crave a house and expect generosity. The parents want to retire and assume respect.

In Canada BoM lending has been massive – estimated to play a role in financing at least a third of all transactions. So pervasive was the “gifting” of down payments to children without their own money so they could qualify for conventional mortgages that the federal bank regulator brought in the B20 universal stress test. Family cash was circumventing rules put in place to ensure real estate buyers had the means to afford the properties they were closing on. Suddenly bank mortgage portfolios filled with loans to high-risk borrowers who skirted CMHC insurance. So as a result everyone has to prove their ability to carry a mortgage, regardless of where they got the deposit. Ironically, the Bank of Mom ended up making home ownership less attainable.

Meanwhile the demographic weirdness builds. The nation’s basements are brimming with clingy adult children unwilling to venture forth into a scary, expensive world. In the past 15 years the number has jumped 13% while the total of young adults living with a spouse has plunged 15%. In 2014, for the first time in 130 years, more adult kids lived at home than on their own. Four in ten university or college grads end up with their parents. It is a phenomenon of modern life that has a potentially debilitating impact on family finances and the retirement plans to millions of parents.

The handing over of real estate down payments not only puts those plans at risk, but also help perpetuate a bubble real estate market – especially when the old geezers dip into their own house equity to come up with the cash. Prices continue to rise as the money flows, instead of meeting a natural resistance as newbie buyers are priced out. Once again, the Bank of Mom just makes things worse. Ironically, however, a recent bank poll found almost 80% of parents are willing to do exactly that – which might show how desperate many of them are to get the squirts gone.

Well, if you fork over bags of cash to Junior, know the implications.

Yes, you can gift money without tax consequences. No deduction to you. No tax payable by them. If you borrow against your home on a HELOC to get the cash, the interest is not tax-deductible, unlike borrowing to invest in your retirement portfolio (then it’s 100% deductible).

If this is a loan, have your lawyer draft a legal agreement with repayment terms, default conditions and security for the borrowing. If it’s a gift, you’ll need to document that, spelling out that it need not be repaid. Mortgage lenders require that document as proof the money has become the property of the kids before financing will be extended.

No, don’t gift your adult children securities, real estate or other assets. That is seen as an in-kind transaction, which is a taxable event – a ‘deemed disposition.’ It’s the equivalent of a sale, so capital gains taxes will apply.

And don’t co-sign or guarantee a mortgage unless you truly know the risks. In this instance you’re 100% responsible for anything that goes wrong. Missed payments. Marriage breakup. Job loss. Or if your daughter vanishes to Katmandu to find herself. Whatever. Then it’s your mortgage to pay even if you don’t have clear title and cannot sell the property.

Finally, remember this: money changes everything.

It took me a long time to know that. What a discovery.

Tea Masters: Tea with 2 masters of the positive

Sometimes, tea is just a good excuse to meet very interesting people! Yesterday, I met not 1, but 2 such persons. From what I understood, both are writers and life coaches. They help others improving their happiness level. Whaoh! Are you interested to read how our meeting went and what I learned from them?

Let's start with a quick introduction. Below, on the left, we have Tynan, 'king of tech geeks' and on the right we have Leo who writes 'Zen Habits'. Both write extremely well and have published self improvement books.
Now, before you get your hopes too high, they didn't tell me the one key secret of a happy life, or the 3 steps to success. Our meeting was mostly about enjoying a very good tea in a fabulous location. However, I believe that actions speak louder than words. It's one thing to preach, but the real challenge is practicing what you preach. So, even though I was doing most of the tea teaching, I could learn a few things from Tynan and Leo.
They are travelling the world right now and are enjoying tea in tea houses with a lot of character. They asked me where they could find something similar to their experience at Wisteria, the famous Japanese era (1895-1945) tea house in Taipei city. Well, look around and see where I have taken you, I answered! This is the Lin Family Mansion and Garden. It predates the Japanese era by 50 years! Fittingly, I prepared this Chaxi using Qing dynasty tea ware (the Yixing zisha teapot, the qinghua cup, the celadon plate and the bamboo basket). And in order to feel in harmony with this old place and a cool, cloudy day, I chose to brew my mid 80s raw loose puerh.
The drawback of making tea in this historical place with lots of wooden structures is that you can't use charcoal fire and that you can't boil your own water with an electric kettle outdoors. As I explained this potential problem to my guests, Tynan right away offered to use his thermos to get hot water. He didn't focus on the negative, but offered a solution. (An advice he offers on his blog is to reframe every problem into a challenge and come up with a solution). That was pretty impressive. But I already had my own solution: a couple of days earlier, I had inquired and made sure that the hot water fountain is still in place in this garden. This would mean that I would have to walk 30-50 meters to get my boiling water. So, to avoid constant back and forth with a small teapot (or even running when brewing gongfu, haha!) I decided to bring my rather big Yixing teapot. This would also mean I needed a tea that wouldn't get bitter /bad when overbrewed. Add the idea of time travel in this antique Chinese garden and it made most sense to bring a very good aged raw puerh.
As we finished our first brew, I proposed to move to a second spot. This made me walking to get boiling water less awkward since we were all moving! It would have been a waste to only brew this tea once. At the same time, I didn't want want to bore my guests with just 1 tea. So, a change of scenery and Chabu helped keep this tea interesting.
Our cups almost got mixed up during our change of location, but then Tynan and Leo were able to recognize their cups, because each teacup has a different design. This simple fact made them happy and I could tell that they had been paying attention to their tea and to what I was telling them. For instance, I asked them what my tea jar originally was. The answer is in my blog. I gave them time to think about it and almost forgot about it when they asked me to tell them the answer. (Advice: when you do something, put all your heart in it).
Before meeting them, Leo had sent me 2 messages (by e-mail and by SMS) to warn me that they would be 5 minutes late. This allowed me to walk slowly to our meeting point and arrive slightly before them. Without these messages, I would have run to arrive on time, because I was also a little bit behind schedule. His kind thought and action let me arrive relaxed at our meeting point, still ahead of them.

Leo is the most sunny tea drinker I've ever met. His smile is generous, friendly, warm and caring. They were happy to drink my tea, not just because my tea was good, our surroundings gorgeous and our talk interesting, but because of their attitude. I felt humbled by 2 masters who are incredibly grateful and who are able to focus on the positive while leaving all negativity aside.
Thanks for sharing this special moment with me. Have a great journey around the world! And thanks for your interesting writings in your blogs.

Addendum: Tynan's take on this experience. Comic for 2018.03.18

New Cyanide and Happiness Comic

TheSirensSound: Too Dark To See The Green by Wilroy

Too Dark To See The Green, Wilroy’s debut EP serves as a cathartic journey through the arc of heartache, as told through the ghosts of 70’s soul men. His music paints grand, maximalist sonics: tracks change shape and mutate as they go, akin to the evolution of a dream. The EP’s 5 tracks wring out every last drop; from the opening nightmarish strings, and the dungeon-low dirge of the title track, to the liberated, gospel highs of Ascension.

TheSirensSound: New album Zajezdnia by Nautofon

In trance suites by drums, bass, keyboards and guitar musicians explore the depths of space rock, subtle electronic, ambient and even punk-jazz. Euphonic constellations and electric tales arise of foggy tissues of melody, harmony and pulse suspended in weightlessness.  Improvising sound spaceport formed in 2012 at Warsaw, Poland. Michał Jarosz – drums, Jerzy Karpowicz – bass guitar, Bartosz Ługowski – electric guitar, Paweł Wutkowski – keyboards

Greater Fool – Authored by Garth Turner – The Troubled Future of Real Estate: The International

RYAN  By Guest Blogger Ryan Lewenza

One of my favourite movies in recent years was The International, which had Clive Owen as the protagonist and combined an action-based Jason Bourne-like premise with global finance. Don’t let the Rotten Tomatoes rating of 58% deter you from seeing this film, as it’s an action packed thriller, which focuses on a shady international bank and its illegal activities. I was thinking about that movie when I decided to write this blog post on the outlook for the international equity markets. And if you dislike today’s blog post then maybe you at least get a good movie recommendation out of it. Or you end up in the 42% camp that didn’t enjoy the film and have complete contempt for me this weekend. I’ll get over it; so let’s get started.

At Turner Investments we break up equities into Canadian, US, and International and see a 20% weight (of our 60% equity weight) as being “neutral”. Since 2009, US equities have been the standout performer and without a doubt the best place to be. The MSCI US Index is up an incredible 264% since 09. This is 100% more than the MSCI Europe and Far East (EAFE) Index up 166% and way ahead of Emerging Market (EM) equities up 120%.

US equities have benefited from a slowly improving economy, a recovering financial industry, stronger corporate profits, a supportive central bank, and having a high exposure to the leading technology sector. But we believe things could be changing and we are now overweight international equities as we see EAFE and EM equities outperforming over the next few years.

Equity Returns Since 2009

Source: Bloomberg, Turner Investments

First, we are seeing a pick up in economic growth in Europe, Japan and other Asian countries. Europe’s economy accelerated from 0% GDP growth in 2013 to 2.7% Y/Y in H2/17. Some are forecasting Europe to grow at 3% in 2018.

Similarly, Japan’s economy accelerated to 2% Y/Y growth in Q4/17, with inflation finally starting to pick up following years of low and stagnant inflation readings. Japan’s economy is benefitting from “Abenomics” (economic reforms to turn around their lagging economy), massive central bank stimulus, and stronger exports.

Finally, China – the world’s second largest economy – has seen it’s economy strengthen since it’s early 2016 growth scare and is projected to grow around 6.5% in 2018, matching last years growth rate.

We see these economic trends continuing over the next 9-12 months.

Europe’s Economy is Picking Up

Source: Bloomberg, Turner Investments

As a consequence of this stronger economic growth, corporate profits for EAFE and EM equities look solid. EAFE stocks are expected to grow their earnings by 15.6% Y/Y in 2018 and EM stocks by 26% Y/Y. Admittedly the US looks the best at 27% Y/Y, but I believe estimates are too high for this year and much of this comes from the one-time gain of lower US tax rates following the major US tax reforms signed late last year. Moreover, the recovery in EAFE and EM earnings have significantly lagged the US (giving them the potential to catch up), and these areas offer higher operating leverage to the improving global economy so we could see stronger earnings for some time to come, if the global economy continues to accelerate.

These areas also benefit from higher dividend yields with the EAFE and EM indices yielding 3.1% and 2.4%, respectively, versus the US at 1.8%.

Finally, with these regions significantly lagging since 2009, they are cheap when compared to the US market. Currently, the EAFE and EM indices trade at 14.1x and 12.7x, respectively, a sizable discount to US stocks at 17.5x. Not sure about you, but in a world where everything is so darn expensive (Vancouver housing, Bitcoin, bonds, rare art etc.), I get pretty excited when I can find an asset on sale. EAFE and EM stocks may be those bargains investors need for their portfolio.

Equity Market Valuations

Source: Bloomberg, Turner Investments

So there’s the pitch. We see the lagged performance, improving economies, solid earnings outlook and cheaper valuations for EAFE and EM equities as the basis to overweight international equities in portfolios. And if you didn’t like that analysis then maybe you’ll like my movie recommendation for The International. And if you dislike both, then let ‘er rip in the comments section below.

Ryan Lewenza, CFA,CMT is a Partner and Portfolio Manager with Turner Investments, and a Senior Vice President, Private Client Group, of Raymond James Ltd.

Planet Haskell: mightybyte: Fake: Generating Realistic Test Data in Haskell

On a number of occasions over the years I've found myself wanting to generate realistic looking values for Haskell data structures.  Perhaps I'm writing a UI and want to fill it in with example data during development so I can see how the UI behaves with large lists.  In this situation you don't want to generate a bunch of completely random unicode characters.  You want things that look plausible so you can see how it will likely look to the user with realistic word wrapping, etc.  Later, when you build the backend you actually want to populate the database with this data.  Passing around DB dumps to other members of the team so they can test is a pain, so you want this stuff to be auto-generated.  This saves time for your QA people because if you didn't have it, they'd have to manually create it.  Even later you get to performance testing and you find yourself wanting to generate several orders of magnitude more data so you can load test the database, but you still want to use the same distribution so it continues to look reasonable in the UI and you can test UI performance at even bigger scale.

Almost every time I've been in this situation I thought about using QuickCheck's Arbitrary type class.  But that never seemed quite right to me for a couple reasons.  First, Arbitrary requires that you specify functions for shrinking a value to simpler values.  This was never something I needed for these purposes, so it seemed overkill to have to specify that infrastructure.  EDIT: I was mistaken with this.  QuickCheck gives a default implementation for shrink.  Second, using Arbitrary meant that I had to depend on QuickCheck.  This always seemed too heavy to me because I didn't need any of QuickCheck's property testing infrastructure.  I just wanted to generate a few values and be done.  For a long time these issues were never enough to overcome the activation energy needed to justify releasing a new package.

More recently I realized that the biggest reason QuickCheck wasn't appropriate is because I wanted a different probability distribution than the one that QuickCheck uses.  This isn't about subtle differences between, say, a normal versus an exponential distribution.  It's about the bigger picture of what the probability distributions are accomplishing.  QuickCheck is significantly about fuzz testing and finding corner cases where your code doesn't behave quite as expected.  You want it to generate strings with things like different kinds of quotes to verify that your code escapes things properly, weird unicode characters to check encoding issues, etc.  What I wanted was something that could generate random data that looked realistic for whatever kind of realism my domain needed.  These two things are complementary.  You don't just want one or the other.  Sometimes you need both of them at the same time.  Since you can only have one instance of the Arbitrary type class for each data type, riding on top of QuickCheck wouldn't be enough.  This needed a separate library.  Enter the fake package.

The fake package provides a type class called Fake which is a stripped down version of QuickCheck's Arbitrary type class intended for generating realistic data.  With this we also include a random value generator called FGen which eliminates confusion with QuickCheck's Gen and helps to minimize dependencies. The package does not provide predefined Fake instances for Prelude data types because it's up for your application to define what values are realistic.  For example, an Int representing age probably only needs to generate values in the interval (0,120].

It also gives you a number of "providers" that generate various real-world things in a realistic way.  Need to generate plausible user agent strings?  We've got you covered.  Want to generate US addresses with cities and zip codes that are actually valid for the chosen state?  Just import the Fake.Provider.Address.EN_US module.  But that's not all.  Fake ships with providers that include:
See the full list here.

I tried to focus on providers that I thought would be broadly useful to a wide audience.  If you are interested in a provider for something that isn't there yet, I invite more contributions!  Similar packages exist in a number of other languages, some of which are credited in fake's README.  If you are planning on writing a new provider for something with complex structure, you might want to look at some of those to see if something already exists that can serve as inspiration.

One area of future exploration where I would love to see activity is something building on top of fake that allows you to generate entire fake databases matching a certain schema and ensuring that foreign keys are handled properly.  This problem might be able to make use of fake's full constructor coverage concept (described in more detail here) to help ensure that all the important combinations of various foreign keys are generated.

Everythings blue: Sexy girl by bluemoon Comic for 2018.03.17

New Cyanide and Happiness Comic

Penny Arcade: News Post: The Hierarchy

Tycho: YouTube is Broadcast Television and Twitch is Cable.  Does that sound about right?  Am I close?  I feel like that happened really fast.  YouTube’s true audience is Unilever or whoever the fuck.  Multinational Hydrae bound in circles of salt by public markets.  Twitch is the warping House of Chaos that dances in fire.  You have no idea what kind of angel or devil is going to splup out of some inky hole and currently - currently - that is a market advantage. Having chiddlers is like having an ambulatory weathervane in your house that walks around and…

IEEE Job Site RSS jobs: Tier 1 Canada Research Chair (CRC)

Vancouver, British Columbia, Canada University of British Columbia Fri, 16 Mar 2018 19:11:27 -0700

s mazuk: thetriumphofpostmodernism:The Royal University of Bhutan. Photo...


The Royal University of Bhutan. Photo by Roman Leander

Greater Fool – Authored by Garth Turner – The Troubled Future of Real Estate: Fleas

Early on, as a newbie financial journalist, I learned that a country’s currency is kinda like a company’s stock price. When investors think it’s a dog with fleas, they sell it off.

Well, we’re infested. The loonie has collapsed from 82 cents down to seventy six, and the slide may continue – depending on how the Poloz poodles at the Bank of Canada decide to react. (Remember that we were actually above par with the Yankee dollar just a few years ago – when I told you to go forth and buy up all of Florida.) Some people now say 70 cents is for sure. Others even darkly mutter ‘sixty.’

A low dollar is inflationary, of course. Remember $7 cauliflower? And $30,000 Harleys? We import so much stuff that a serious currency decline ends up being a tax on all families, which is why the central bank usually jacks interest rates to shore it up (which also taxes households). But now with residential real estate wobbling and debt rising will our CBers have the stones to pace the Fed? (US rates are scheduled to rise again Wednesday.)

The loonie’s been pooched for a number of reasons. Trade’s a big deal. NAFTA talks seem to be going nowhere and if we don’t cave to the Yanks, Trump will just slap on his big 25% steel tariff. Then there’s household debt, now 170% of disposable income. At $2 trillion, families owe an amount of money as big as the entire economy. More debt means less consumption, which sucks the goo out of the GDP.

See what we’ve done to ourselves…

The dollar’s weak, too, on recent housing news. As reported here, 80% of Canadian markets are going down. Sales nationally fell 17% and prices have started to erode. Since a quarter of the entire economy is now connected to real estate, investors back off. Meanwhile Mr. Dressup’s recent budget inspired nobody with its gender equality talk while stringing out deficits as far as they eye can see. Sadly there is no plan. Temporary deficits have become permanent. The budget did not balance itself. He likes wearing Nehru jackets. Who knew?

Finally, BC is a big deal. What’s happening there has the potential to spray on everyone. The ‘speculation’ tax on secondary real estate, held by foreigners, Albertans or BC residents is a game-changer in Canadian tax and housing policy. It’s a wealth tax, not an affordability measure, and has a secondary purpose of artificially crashing the property market. This threatens to wreak economic havoc in certain targeted communities, which is why locals in Kelowna, West Kelowna and the District of Nanaimo are freaking out, demanding an exemption.

Non-local property owners, say the politicians on Vancouver Island, “are not speculators. They are important members of our communities. Families who visit year after year, supporting local businesses, paying their fair share of property taxes, and investing in our tourism-based economy.”

Chimes in West Kelowna mayor Doug Findlater: “Suddenly, the development market is freezing up,” The banks are not loaning and some developers are being caught in this already. I’m aware of that. Other developers who haven’t built are just putting it all on hold and just waiting for the air to clear.” Now add to the 2%-per-year spec tax to the 1% annual Van empty house, plus the 5% luxury property tax along with the 20% go-home tax and it’s like the Dippers just stuck Novichok into the loonie. Unholstered BC socialism has the potential to do serious damage. Already begun, apparently.

This is one good reason your balanced and diversified portfolio should be at least 20% in US$-denominated assets. Always. A loonie-only account has significant currency risk, as recent events have proven. Especially in a country where we suddenly snuggle socialists.

Finally, two follow-ups worth mentioning. First, RBC has given up its bullish housing stance, and now grudgingly admits the obvious: the real estate market is in the throes of correction, thanks to the B20 stress test. If only the economists up in the golden tower knew the anguish of loan officers in the branches – where so many borrowers are being punted – their language would be even stronger.

“Looking at average sales over the past four months or so, it appears the new B-20 regulations have had more of an impact than simply bringing activity forward to 2017. Stricter qualifying requirements for uninsured mortgages are keeping some potential homebuyers from entering the market, and a psychological impact is also likely at play. That sellers have moved to the sidelines to see how the market reacts hasn’t helped resale activity early this year.”

Remember, folks, anyone renewing a mortgage and changing lenders, or even refinancing and adding to their mortgage principal, will now have to pass the stress test. That’s a withering 5.14%.

Finally, let’s mock all who bought Bitcoin back in December when it was rocking toward $20,000 a thingy. The advice of this blog was simple. Don’t. It will end in tears.

So far Bitcoin has lost 60% of its value, and may be on the way to an 85% pummeling, according to the technical analysis dudes. The crypto has moved into a ‘death cross’ – which is what happens when one key support level crosses another, signalling big trouble. BTC’s 50-day moving average may soon fall below the 200-day MA, and from there it’s a freefall. Especially now that the big banks have taken the moisters’ credit cards away. If they want to buy, they need cash. We all know the only Mills with money are the ones who come here. And they wouldn’t dare.

Quiet Earth: Liv Tyler Stars in Werewolf Thriller WILDLING [Trailer]

The feature debut from Fritz Böhm, Wildling is a spellbinding take on the werewolf legend starring Independent Spirit Award Nominee Bel Powley (The Diary of a Teenage Girl) and Liv Tyler (Lord of the Rings), Brad Dourif (Death Machine).

IFC Midnight will release Wildling in theaters in New York and on VOD and Digital HD on April 13, 2018 with theatrical expansion in Los Angeles on April 20, 2018.

Wildling is a unique dark fantasy tale centered on young Anna (Powley) who has been raised in isolation by a man she knows [Continued ...]

Daniel Lemire's blog: Science and Technology links (March 16th, 2018)

  1. From the beginning of the 20th century to 2010, the life expectancy at birth for females in the United States increased by more than 32 years. The 3 major causes of death for females in 1900 were pneumonia and influenza, tuberculosis, and enteritis and diarrhea. In 2010, the 3 major causes were heart disease, all cancers, and stroke.
  2. It looks like Dwarf stars could be orbited by habitable planets.
  3. More evidence that intelligence is genetic.
  4. Sugar and bread are killing you: Dietary Carbohydrates Impair Healthspan and Promote Mortality (in Cell).
  5. It turns out that people in organized crime are probably saner than you’d expect: “we were able to determine that in the sample analysed there was not one subject with a psychotic personality”.
  6. If you made it to Pluto and could somehow survive, would there be enough light to read? More than enough according to Cook.
  7. China has reduced fine particulates in the air by a third in four years.
  8. You can cure blindness (in mice) using small wires: “artificial photoreceptors based on gold nanoparticle-decorated titania nanowire arrays restored visual responses in the blind mice with degenerated photoreceptors”. (In Nature.)
  9. According to Nature, a science doctorate has high value in the UK and Canadian job markets. It sounds true to me. However, you should simply not expect to automatically become a professor: “Nearly 30% of those with full- or part-time jobs ended up in academia.”
  10. Brenda Milner is a professor at McGill University who is going to turn 100 this summer. She is still an active professor with an ongoing publication record. Here is what the New Times wrote about her last year:

    “People think because I’m 98 years old I must be emerita,” she said. “Well, not at all. I’m still nosy, you know, curious.” (…) Dr. Milner continues working, because she sees no reason not to. Neither McGill nor the affiliated Montreal Neurological Institute and Hospital has asked her to step aside. She has funding: In 2014 she won three prominent achievement awards, which came with money for research.

  11. Mozilla has released an open source speech recognition model “so that anyone can develop compelling speech experiences” (via Leonid Boytsov).
  12. One of my favorite authors, Brian Martin, has published a new book: Vaccination panic in Australia. We all know that vaccination can be an effective public health policy. So you think that it is crazy to question vaccination policies? Not so fast. Brian explains carefully that there is room for reasonable disagreement on how exactly vaccination is to be used. But most importantly, the book reviews how authorities proceed to suppress dissent, even reasonable well-founded dissent. The book can be freely accessed online.
  13. As we get older, our muscles tend to disappear. It is a condition called Sarcopenia, first coined in 1988. It still unclear what causes it, but there is now evidence that it has to do with the disappearance of nerves. Even if we did nothing to cure cancer and heart diseases, simply keeping the muscles of older people strong would make a huge difference. Sadly, we have barely begun to consider maybe doing something about it.

things magazine: Going underground

Manod: The Nation’s Treasure Caves, an exhibition about wartime picture storage, featuring photographs by Robin Friend / Side-By-Side Photos of Paris and Its Chinese Knockoff, by Francois Prost / an exhibition about The Great British Seaside. Could have done with … Continue reading

Paper Bits: brandx: “In 2004, a New York Times reporter asked Stephen Hawking what his IQ was. “I have no...


“In 2004, a New York Times reporter asked Stephen Hawking what his IQ was. “I have no idea,” the theoretical physicist replied. “People who boast about their IQ are losers.””

— RIP Stephen Hawking. Thanks for everything. (via somethinglronic)

Colossal: A Full-Scale Demolished Car Constructed From Silk, Aluminum Mesh, and Tulle by Jannick Deslauriers

Montreal-based textile artist Jannick Deslauriers builds elaborate and often life-size pieces of machinery by sewing together yards of silk, aluminum mesh, and tulle. Each fabric she uses is transparent, which speaks to the hidden politics lurking behind commonly used objects and goods. One of her latest works, Sentence, souffle et linceul, is a full-scale replica of a demolished car. The translucent vehicle is slumped to the right, its broken form further exaggerated through a composition of soft and easily manipulated materials.

The sculpture is currently displayed at Art Mûr Montreal for the artist’s solo exhibition, which shares the same name as the sewn automobile. Also included in the exhibition are two miniature sculptures which depict a damaged model train and a segment of broken telephone lines—their transparent appearance similar to that of the nearby vehicle. The exhibition runs through April 28, 2018. You can see more of Deslauriers’s work on her website.


Penny Arcade: Comic: The Hierarchy

New Comic: The Hierarchy

Disquiet: Cartographic Misdirection

When first pulled up on its YouTube page, this video from musician r beny invokes a bit of cartographic misdirection. In the center of the frame is a single black box. The box is packed with knobs and buttons as well as a small, bright screen, which is itself packed with little icons. To the right of the box, in view when beny’s left hand isn’t, is a piece of paper with two columns of information. The circles and triangles on the paper bear more than a small resemblance to what is cycling through on the screen.

It’s not uncommon for musicians, beny included, to post videos of their early experiments with new (or at least new-to-them) equipment, so it would be entirely rational to interpret this piece of paper as a page from the device’s instruction manual, a reference as beny lets the lovely music unfold. The track, titled “Fall Creek Unit,” begins with a little melody against a backdrop of white noise. That melody in turn doubles and triples, notes falling into each other and out of pace until, as the piece nears its end after seven and a half minutes, those individual instances have been almost fully subsumed into a gentle cloud of soft tonality.

And if, at some point, you pull the video into full-screen mode, those two columns of icons are revealed to be not the instructions for the electronic music device on which the tune is being performed, but instead the legend for a larger map on which the device has been placed.

This is the latest video I’ve added to my YouTube playlist of recommended live performances of ambient music. Video originally posted at r beny’s YouTube channel. More from r beny, aka San Francisco Bay Area resident Austin Cairns, at and

50 Watts: Sidrolz in the Rain

Eighteen works by Ben Zoeller from Louisville, Kentucky, c. 2016-2018
Find him on tumblr and instagram

Artwork for Meng Qi's “Sidrolz” cassette on Obsolete Staircases

Artwork for WET's “Apollo’s Rodeo” cassette on Obsolete Staircases

Follow the artist on tumblr and instagram

50 Ways to Support 50 Watts Comic for 2018.03.16

New Cyanide and Happiness Comic

Lambda the Ultimate - Programming Languages Weblog: Why Is SQLite Coded In C

We are nearing the day someone quips that C is an improvement on most of its successors (smirk). So reading this page from the SQLite website is instructive, as is reading the page on the tooling and coding practices that make this approach work.

I think none of this is news, and these approaches have been on the books for quite a bit. But still, as I said: an improvement on most of its successors. Hat tip: HN discussion.

Disquiet: Disquiet Junto Project 0324: Factory Floor

Each Thursday in the Disquiet Junto group, 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. (A SoundCloud account is helpful but not required.) There’s no pressure to do every project. It’s weekly so that you know it’s there, every Thursday through Monday, when you have the time.

Tracks will be added to the playlist for the duration of the project.

Deadline: This project’s deadline is 11:59pm (that is, just before midnight) wherever you are on Monday, March 19, 2018. This project was posted in the afternoon, California time, on Thursday, March 15, 2018.

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

Disquiet Junto Project 0324: Factory Floor
Make music for newsrooms, design studios, and other collaborative workplaces.

Step 1: This is the latest in a series of Junto projects about background music. Consider what sort of music is appropriate for collaborative workplaces, such as newsrooms, design studios, software development teams, and so forth. Think about music that (1) isn’t distracting and (2) suggests momentum.

Step 2: Record a piece of music that applies the thinking arising from Step 1, and that makes sense played on repeat or as part of an imagined playlist of like-minded compositions. The length is up to you, but consider keeping it between three minutes and six minutes.

Background: This project is somewhat similar to another recent project that was part of the background-music series. In this case, to probe the concept further, most of the previously proposed constraints have been removed.

Six More Important Steps When Your Track Is Done:

Step 1: Include “disquiet0324” (no spaces or quotation marks) in the name of your track.

Step 2: If your audio-hosting platform allows for tags, be sure to also include the project tag “disquiet0324” (no spaces or quotation marks). If you’re posting on SoundCloud in particular, this is essential to subsequent location of tracks for the creation a project playlist.

Step 3: Upload your track. It is helpful but not essential that you use SoundCloud to host your track.

Step 4: Please consider posting your track in the following discussion thread at

Step 5: Annotate your track with a brief explanation of your approach and process.

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

Other Details:

Deadline: This project’s deadline is 11:59pm (that is, just before midnight) wherever you are on Monday, March 19, 2018. This project was posted in the afternoon, California time, on Thursday, March 15, 2018.

Length: The length is up to you. Between three and six minutes seems about right.

Title/Tag: When posting your track, please include “disquiet0324” in the title of the track, and where applicable (on SoundCloud, for example) as a tag.

Upload: When participating in this project, post one finished track with the project tag, and be sure to 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.

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 online, please be sure to include this information:

More on this 324th weekly Disquiet Junto project (Factory Floor: Make music for newsrooms, design studios, and other collaborative workplaces) at:

More on the Disquiet Junto at:

Subscribe to project announcements here:

Project discussion takes place on

There’s also on a Junto Slack. Send your email address to for Slack inclusion.

The image associated with this project is by kenmainr and is used thanks to a Creative Commons license:

IEEE Job Site RSS jobs: Electrical engineering Professor (data science, deep learning, reinforcement learning)

Montréal, Quebec, Canada Polytechnique Montreal Thu, 15 Mar 2018 15:53:31 -0700

Greater Fool – Authored by Garth Turner – The Troubled Future of Real Estate: Are we there yet?

So far in March, house sales in Calgary are down 31% from last year. In Victoria, about the same. Toronto, also, has dropped double-digits.

In the Lower Mainland and across BC nobody believes this unless they’re trying to sell a property, but the buyers – especially for detached homes – have been retreating. Here are the latest numbers from the provincial RE association (so they have to be true…)

The national stats came out Thursday, and confirm what this pathetic blog told you to expect a few months ago. Sales were down 6.5% nationally from January to February (that is a disaster). The year/year plop was 17%, while inventory rose 8%. The average price of houses, coast-to-coast, fell 5% from last February.

So what does this mean?

It was the second consecutive monthly erosion, which has not happened for more than a decade. Sales are at the lowest level in five years, and declines occurred in 75% of all markets, with the biggest pain being felt in the bubble regions of the GTA and LM. Last month sales nationally were 7% below the 10-yar average, and lower than year-ago levels in 80% of all cities. Ugly.

Here’s what the national graph looks like…

Okay, the market sucked last month. We get it. Now what?

Expect worse. The tone will be set in BC, where Comrade Premier Horgan’s politburo has imposed a wild-eyed ‘speculation tax’ which is really just a levy on anyone wealthy enough to have two properties with diddly to do with speculation. Caught in the snare are long-time vacation-home owners who live in Alberta, Ontario or elsewhere in troubled BC. This joins the 20% go-home tax for foreigners, the increased property tax and the empty-houses tax. Those people who voted NDP so they could cause a politically-motivated housing crash are on the path to success.

In Ontario, more politics. Pivotal election in June. The new alpha male, big-dog PC leader says he will eliminate the 15% Chinese dudes tax. The wily, progressive, interventionist premier wants more social housing, rent controls and – with the mama of all debts – more taxes. It’s shaping up to be a classic right-left battle and if Big Dog gets nipped, you can imagine the results.

Meanwhile, the macro context continues to dim. Trump’s new economic guy (he killed the old one) says he wants the Fed to ‘let the economy rip’ which, of course, means even-higher interest rates. Meanwhile the US prez freely admits he made up facts about trade when meeting with Mr. Dressup, which tells you how deeply he values and respects Canada, while hinting how NAFTA will turn out. If we don’t roll over, he slaps on the 25% steel tariff and, poof, there goes Hamilton.

The outcome?

As stated, 2018 will be the worst year for housing markets in a decade. Sales will languish. Prices drift lower. Already, detacheds in YVR are going unsold and unloved. McMansions in some 905 burbs have lost a third of their value since last spring. Most decidedly, there is more to come. If history’s any guide, with the key spring market in April will come a lot more listings, further tapping the shallow pool of existing buyers. US rates will be higher again next Wednesday, pushing up bond market yields and, sooner or later, mortgage costs.

Remember it will be at least early summer before we know the impact B20 had had on the markets. By that time, astute people buying in the frenzied urban fringe will pay little more than half what greater fools did just twelve months ago. Sometimes it pays not to listen to mom.


Quiet Earth: Quirky Time Travel Film PEACHES Channels Nacho Vigalondo

Dominican filmmaker Héctor Valdez has a new time-travel romantic comedy film coming out called Peaches, which channels the same kind of fun that Nacho Vigalondo has playing around and mixing genres as with Timecrimes or Extraterrestrial.

The cast includes Peter Vives as Diego, Joaquín Ferreira as Sandro, María Guinea as Laura, with Frank Perozo and Ramón Langa.

Somewhere in the Caribbean, in a future that never was: Diego and Laura go out on a weekend getaway in the hopes of rekindling their relationship. Upon their arrival [Continued ...]

Quiet Earth: Alejandro Jodorowsky Crowdfunding Psychomagic: An Art That Heals

Alejandro Jodorowsky has turned to crowdfunding to finance his next film called Psychomagic: An Art that Heals. The film is based on Jodorowsky's books on the subject, "Psychomagic, The Spiritual Journey", "Sacred Trickery or Manual of Psychomagic" which revolve around the topic of healing through the psychomagic acts, which, according to Jodorowsky, emulates of the language of dreams in order to communicate with unconsciousness.

As new-agey as this all sounds, Jodorowsky is great artist and thinker and, not to mention he's directed some of the most mind-altering films ever (read: El Topo, [Continued ...]

Ideas from CBC Radio (Highlights): Can we save Rosemary's Baby?

It's a horror classic from the 1960s that still unnerves us. It’s influenced generations of filmmakers. It's part of the exclusive Criterion Collection of world cinema. And it turns 50 this year. But director Roman Polanski is a convicted rapist. Film experts and cultural historians explore good and evil in Rosemary's Baby, discover eerie parallels between 1968 and 2018, and debate the movie's surprising treatment of women, all to answer the question: can we save Rosemary’s Baby?

New Humanist Blog: Book review: The Rage

A new book demonstrates the deep commonalities between far-right and Islamic extremists

IEEE Job Site RSS jobs: Associate Dean, Electrical and Computer Engineering

Burnaby, British Columbia, Canada BCIT Thu, 15 Mar 2018 00:48:11 -0700

Disquiet: Depth of Field

A post shared by Betty Hammer (@betty.hammer) on

This brief Instagram clip from Betty Hammer — aka Liesl Hazelton — shows her performing electric guitar, in the background, through an array of synthesizer modules, in the foreground. That depth of field serves as well to describe the music. You can see her hands playing the guitar, but by the time it reachers your ear those modules have done a lot to the source audio, pushing it from a simple plucked string to something more like a Caribbean steel drum played at the very far end of a long metal corridor. Meanwhile the synth is deploying its own snare beat, the pace evident in the soft red light that is as large as Hammer’s hand.

Clip originally posted at Hammer’s Instagram page. More from Hammer, who lives on Norfolk Island, Australia, at

Penny Arcade: News Post: Realiti

Tycho: I tried to explain it to Grub Dumpster a couple days ago.  Imagine the moment where you’re trying to push the final point in, say, Numbani.  The sled has turned the corner and the lip is now over the point.  It’s lipping.  Time is out, and it’s only desperate, frenzied roosting on the objective itself that is keeping this balloon in the air. I feel nothing. At least, not compared with him.  There’s something happening over the baseline but you’d need electrodes and probably a grant of some kind to discern it.  I know people who,…

OUR VALUED CUSTOMERS: While discussing comic book realism...

OCaml Planet: Release of Alt-Ergo 2.1.0

A new release of Alt-Ergo (version 2.1.0) is available on Alt-Ergo’s website: An OPAM package for it will be published soon.
In this release, we mainly improved the CDCL-based SAT solver to get performances similar to/better than the old Tableaux-like SAT. The CDCL solver is now the default Boolean reasoner. The full list of CHANGES is available here.
Despite our various tests, you may still encounter some issues with this new solver.  Please, don’t hesitate to report bugs, ask questions, and give your feedback!

OCaml Planet: New updates on TzScan

Update – can now work on top of the zeronet (, we hope it can help the developers community monitor the network. You can now switch between the alphanet & zeronet networks!

OCamlPro is pleased to announce an update of TzScan (, its Tezos block explorer to ease the use of the Tezos network.

In addition to some minor bugfixes, the main novelties are:

  • Health of the network with stats about the blocks, endorsements, bakers, etc.
  • Display of future baker’s rights in the current cycle
  • For each account, a more detailed balance including the bonds, rewards, fees, etc. for the current cycle and its future baking positions
  • A new feature to inject signed operations in the network
  • In the detailed block’s view, all blocks are displayed at the same level in alternative chains
  • UI improvements on desktop, tablet and mobile

We are still working hard trying to improve and add new features to TzScan. Further enhancements and optimizations are to come. Enjoy and play with our explorer.

If you have suggestions or bugs, please send us reports at

Perlsphere: Ricardo Signes Nomination for TPF Board

As has been announced previously, TPF is working on a process to allow for more public participation in adding new board members. I'm happy to present Ricardo Signes as our first new board candidate nominated with the new process. Ricardo (aka RJBS) is well known to the Perl community as a former pumpking and he offers some addition background in his bio below.

Ricardo Signes spent four years studying philosophy and religion before learning that jobs in those fields did not abound. He managed to convert his hobby into his profession, convincing his employer that it was a good idea to pay him to create software in Perl. Since then, he has become a prolific CPAN author, part of the "Toolchain Gang" that maintains the PAUSE and CPAN infrastructure, and spent five years as "Pumpking," the Perl 5 project manager. Ricardo is currently CTO at FastMail, where he manages a team writing and maintaining free and proprietary software, much of it written in Perl 5. In his free time, Rik writes code to help making writing code easier.

And his answers to a few questions on joining the TPF board:

  • Why do you want to become a member of the TPF Board?
  • What existing TPF initiative(s) are most important to you and why?

I'd like to help TPF accomplish its mission of supporting the Perl programming languages, and especially to help increase understanding of what TPF does. I think I have a good knowledge of the Perl community, and can help provide guidance on the board, but most especially I want to help make it easy to find out what TPF is doing.

The TPF's most visible work is its grants work and conference support, and those are probably the ones I think are most valuable, too.

  • What goals would you like to see TPF pursue in the future?

Outreach programs are hard and time-consuming, because they require a good combination of project, mentor, and newcomer to succeed, but I'd like to look into backing projects like those, and then share how those efforts succeed or fail.

For the next two weeks, we welcome constructive community discussion and feedback before the board continues with the process. Comic for 2018.03.14

New Cyanide and Happiness Comic

Ideas from CBC Radio (Highlights): Steven Pinker and Ken Dryden: "Where there's a way, there's a will"

When NHL legend Ken Dryden was about to publish his book, "Game Change", he got in touch with Harvard psychologist and linguist, Steven Pinker, who was about to publish "Enlightenment Now". Their common ground: what does it actually take to change someone's mind? The two talk to Paul Kennedy about the relationship of rhetoric and reason.

Perlsphere: The End Point Design Process

Designing for the web means more than just creating beautiful websites — whether it’s a marketing site, an ecommerce platform, or a large-scale web application, thoughtful design means better, more intuitive user experiences. The design process provides a roadmap for developers and a shared set of expectations for the clients of what the final product will be.

If you’ve contracted End Point for design work, or you’re considering it, this post will show you all the steps as we go from an initial concept to a polished design that’s ready for development. You’ll also learn the basic vocabulary of deliverables and some of the tools involved in the process.

Phase I: Discovery

Every new app, website, or product starts with an idea. The initial phase of design work means clarifying that idea — defining its boundaries and goals. Thorough research and investigation are critical for setting the path to success. We interview our clients’ staff, stakeholders, and users to get a comprehensive picture of the current marketplace, discover any pain points in existing workflows, and learn what we can do to make things better. We also take an in-depth look at existing content and, with the client, decide what should stay, what should go, and what needs to be updated or refreshed.

At the end of this process, we provide our clients with a new sitemap, interview transcripts, and a detailed strategy document. Depending on the client’s needs, we may also produce user flow diagrams, user personas, taxonomies, and a content migration plan.

Phase II: Sketching and Wireframing

Once the research materials have been gathered, content has been analyzed, and a design strategy is in place, we make sketches, diagrams, and rough mockups so that everyone involved in the project can start to see the overall form of the final product. At this stage, concerns about font, color, or graphics are mostly off the table — we’re focused on how the parts of the application fit together to create a great user experience.

Wireframing at End Point is generally done using Balsamiq, a dedicated wireframing application, or Sketch, a more powerful design program that allows the wireframes to be developed into fully-realized design comps.

Phase III: Design Comps

Often, the wireframes are all a developer needs to begin building an application. If a project has an existing design vocabulary, there may be no need to go further. But if an all-new application or website is being built, then a designer will articulate all of the elements needed to create a custom look and feel — color, typography, graphics, and more. Interface design isn’t just decorative — clear labels, semantic colors, eye-catching CTAs (calls to action), and a well-considered hierarchy of page elements all serve to guide the user through the system efficiently and effectively.

Design comps are presented as a multi-page PDF that shows the client what primary screens of the application will look like. These are created in Adobe Illustrator or Sketch, which both allow for pixel-perfect designs that correspond exactly to the finished product.

Phase IV: Handoff

Once the client has approved the final designs, they’re ready to move to the next stage of the process, where frontend and backend developers turn the finished designs into fully-functional, working software. As development continues, the designer is on hand to help guide the building of the interface and ensure that the design specifications are maintained.

Looking for help realizing your next project, big or small? Get in touch with us to obtain a copy of our design portfolio, and to find out what End Point can do to turn your next big idea into a reality.

Daniel Lemire's blog: Iterating over hash sets quickly in Java

There are many ways in software to represent a set. The most common approach is to use a hash table. We define a “hash function” that takes as an input our elements and produces as an output an integer that “looks random”. Then your element is stored at the location indicated by the value of the hash function. To check whether the value is in the hash function, you compute the hash function and look at the appropriate location memory. Your elements will thus appear in “random” order.

This means that unless you do extra work, iterating through the elements in your hash set will be done in random order. Let me pull out my Swift console to demonstrate:

$ var x = Set<Int>()
$ x.insert(1)
$ x.insert(2)
$ x.insert(3)
$ for i in x { print(i) }

That is right: you insert the numbers 1, 2, 3 and the numbers 2, 3, 1 come out.

You get the same kind of result in Python:

>>> x = set()
>>> x.add(-1)
>>> x.add(-2)
>>> x.add(-3)
>>> x
set([-2, -1, -3])

That is, the hash set is visited starting with the elements having the smallest hash function value. The hash function is often designed to appear random, so the elements come out randomly.

This randomness can take programmers by surprise, so some programming languages like JavaScript and PHP preserve the “insertion order”. If you pull out your JavaScript console, you get that the set keeps track of the order in which you inserted the element and gives it back to you:

> var x = new Set()
> x.add(-3)
Set { -3 }
> x.add(-2)
Set { -3, -2 }
> x.add(-1)
Set { -3, -2, -1 }
> x.add(3)
Set { -3, -2, -1, 3 }
> x.add(2)
Set { -3, -2, -1, 3, 2 }
> x.add(1)
Set { -3, -2, -1, 3, 2, 1 }

This can be implemented as a linked list working on top of the hash table.

Java supports both approaches through HashSet and LinkedHashSet.

The LinkedHashSet will use more memory, but it gives back the elements in insertion order. The HashSet gives back the element in an order determined in large part by the hash function. The LinkedHashSet may allow you to iterate over the elements faster because you are essentially bypassing the hash table entirely and just following the linked list. Linked lists are not great in the sense that each node being visited can incur a cache miss. However, Java’s HashSet is implemented using a fancy chaining approach, so you will be chasing pointers in memory and possibly also having cache misses.

So it would seem like LinkedHashSet is a good choice in Java if you are not memory bound.

To explore this problem, I took a set made of 1 million integers generated randomly. I insert them into both a HashTable and a LinkedHashTable. Then I sum the values. I run my benchmark on a Skylake processor with Java 8:

class sum values
HashSet 50 ops/s
LinkedHashSet 150 ops/s

My numbers are clear: in my tests, it is three times faster to sum up the values in a LinkedHashSet. You can reproduce my benchmark.

OUR VALUED CUSTOMERS: To his friend...

LLVM Project Blog: DragonFFI: FFI/JIT for the C language using Clang/LLVM


A foreign function interface is "a mechanism by which a program written in one programming language can call routines or make use of services written in another".
In the case of DragonFFI, we expose a library that allows calling C functions and using C structures from any languages. Basically, we want to be able to do this, let's say in Python:
import pydffi
CU = pydffi.FFI().cdef("int puts(const char* s);");
CU.funcs.puts("hello world!")
or, in a more advanced way, for instance to use libarchive directly from Python:
import pydffi
CU = pydffi.FFI().cdef("#include <archive.h>")
a = funcs.archive_read_new()
assert a
This blog post presents related works, their drawbacks, then how Clang/LLVM is used to circumvent these drawbacks, the inner working of DragonFFI and further ideas.
The code of the project is available on GitHub: Python 2/3 wheels are available for Linux/OSX x86/x64. Python 3.6 wheels are available for Windows x64. On all these architectures, just use:
$ pip install pydffi
and play with it :)

See below for more information.

Related work

libffi is the reference library that provides a FFI for the C language. cffi is a Python binding around this library that also uses PyCParserto be able to easily declare interfaces and types. Both these libraries have limitations, among them:
  • libffi does not support the Microsoft x64 ABI under Linux x64. It isn't that trivial to add a new ABI (hand-written ABI, get the ABI right, ...), while a lot of effort have already been put into compilers to get these ABIs right.
  • PyCParser only supports a very limited subset of C (no includes, function attributes, ...).
Moreover, in 2014, Jordan Rose and John McCall from Apple made a talk at the LLVM developer meeting of San José about how Clang can be used for C interoperability. This talk also shows various ABI issues, and has been a source of inspiration for DragonFFI at the beginning.

Somehow related, Sean Callanan, who worked on lldb, gave a talk in 2017 at the LLVM developer meeting of San José on how we could use parts of Clang/LLVM to implement some kind of eval() for C++. What can be learned from this talk is that debuggers like lldb must also be able to call an arbitrary C function, and uses debug information among other things to solve it (what we also do, see below :)).

DragonFFI is based on Clang/LLVM, and thanks to that it is able to get around these issues:
  • it uses Clang to parse header files, allowing direct usage of a C library headers without adaptation;
  • it support as many calling conventions and function attributes as Clang/LLVM do;
  • as a bonus, Clang and LLVM allows on-the-fly compilation of C functions, without relying on the presence of a compiler on the system (you still need the headers of the system's libc thought, or MSVCRT headers under Windows);
  • and this is a good way to have fun with Clang and LLVM! :)
Let's dive in!

Creating an FFI library for C

Supporting C ABIs

A C function is always compiled for a given C ABI. The C ABI isn't defined per the official C standards, and is system/architecture-dependent. Lots of things are defined by these ABIs, and it can be quite error prone to implement.

To see how ABIs can become complex, let's compile this C code:

typedef struct {
short a;
int b;
} A;

void print_A(A s) {
printf("%d %d\n", s.a, s.b);

Compiled for Linux x64, it gives this LLVM IR:

target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-linux-gnu"

@.str = private unnamed_addr constant [7 x i8] c"%d %d\0A\00", align 1

define void @print_A(i64) local_unnamed_addr {
%2 = trunc i64 %0 to i32
%3 = lshr i64 %0, 32
%4 = trunc i64 %3 to i32
%5 = shl i32 %2, 16
%6 = ashr exact i32 %5, 16
%7 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str, i64 0, i64 0), i32 %6, i32 %4)
ret void

What happens here is what is called structure coercion. To optimize some function calls, some ABIs pass structure values through registers. For instance, an llvm::ArrayRef object, which is basically a structure with a pointer and a size (see, is passed through registers (though this optimization isn't guaranteed by any standard).

It is important to understand that ABIs are complex things to implement and we don't want to redo this whole work by ourselves, particularly when LLVM/Clang already know how.

Finding the right type abstraction

We want to list every types that is used in a parsed C file. To achieve that goal, various information are needed, among which:
  • the function types, and their calling convention
  • for structures: field offsets and names
  • for union/enums: field names (and values)
On one hand, we have seen in the previous section that the LLVM IR is too Low Level (as in Low Level Virtual Machine) for this. On the other hand, Clang's AST is too high level. Indeed, let's print the Clang AST of the code above:
|-RecordDecl 0x5561d7f9fc20 <a.c:1:9, line:4:1> line:1:9 struct definition
| |-FieldDecl 0x5561d7ff4750 <line:2:3, col:9> col:9 referenced a 'short'
| `-FieldDecl 0x5561d7ff47b0 <line:3:3, col:7> col:7 referenced b 'int'
We can see that there is no information about the structure layout (padding, ...). There's also no information about the size of standard C types. As all of this depends on the backend used, it is not surprising that these informations are not present in the AST.

The right abstraction appears to be the LLVM metadata produced by Clang to emit DWARF or PDB structures. They provide structure fields offset/name, various basic type descriptions, and function calling conventions. Exactly what we need! For the example above, this gives (at the LLVM IR level, with some inline comments):

target triple = "x86_64-pc-linux-gnu"
%struct.A = type { i16, i32 }
@.str = private unnamed_addr constant [7 x i8] c"%d %d\0A\00", align 1

define void @print_A(i64) local_unnamed_addr !dbg !7 {
%2 = trunc i64 %0 to i32
%3 = lshr i64 %0, 32
%4 = trunc i64 %3 to i32
tail call void @llvm.dbg.value(metadata i32 %4, i64 0, metadata !18, metadata !19), !dbg !20
tail call void @llvm.dbg.declare(metadata %struct.A* undef, metadata !18, metadata !21), !dbg !20
%5 = shl i32 %2, 16, !dbg !22
%6 = ashr exact i32 %5, 16, !dbg !22
%7 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([...] @.str, i64 0, i64 0), i32 %6, i32 %4), !dbg !23
ret void, !dbg !24

; DISubprogram defines (in our case) a C function, with its full type
!7 = distinct !DISubprogram(name: "print_A", scope: !1, file: !1, line: 6, type: !8, [...], variables: !17)
; This defines the type of our subprogram
!8 = !DISubroutineType(types: !9)
; We have the "original" types used for print_A, with the first one being the
; return type (null => void), and the other ones the arguments (in !10)
!9 = !{null, !10}
!10 = !DIDerivedType(tag: DW_TAG_typedef, name: "A", file: !1, line: 4, baseType: !11)
; This defines our structure, with its various fields
!11 = distinct !DICompositeType(tag: DW_TAG_structure_type, file: !1, line: 1, size: 64, elements: !12)
!12 = !{!13, !15}
; We have here the size and name of the member "a". Offset is 0 (default value)
!13 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !11, file: !1, line: 2, baseType: !14, size: 16)
!14 = !DIBasicType(name: "short", size: 16, encoding: DW_ATE_signed)
; We have here the size, offset and name of the member "b"
!15 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !11, file: !1, line: 3, baseType: !16, size: 32, offset: 32)
!16 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)


DragonFFI first parses the debug information included by Clang in the LLVM IR it produces, and creates a custom type system to represent the various function types, structures, enumerations and typedefs of the parsed C file. This custom type system has been created for two reasons:
  • create a type system that gathers only the necessary informations from the metadata tree (we don't need the whole debug informations)
  • make the public headers of the DragonFFI library free from any LLVM headers (so that the whole LLVM headers aren't needed to use the library)
Once we've got this type system, the DragonFFI API for calling C functions is this one:

DFFI FFI([...]);
// This will declare puts as a function that returns int and takes a const
// char* as an argument. We could also create this function type by hand.
CompilationUnit CU = FFI.cdef("int puts(const char* s);", [...]);
NativeFunc F = CU.getFunction("puts");
const char* s = "hello world!";
void* Args[] = {&s};
int Ret;, Args);

So, basically, a pointer to the returned data and an array of void* is given to DragonFFI. Each void* value is a pointer to the data that must be passed to the underlying function. So the last missing piece of the puzzle is the code that takes this array of void* (and pointer to the returned data) and calls puts, so a function like this:

void call_puts(void* Ret, void** Args) {
*((int*)Ret) = puts((const char*) Args[0]);

We call these "function wrappers" (how original! :)). One advantage of this signature is that it is a generic signature, which can be used in the implementation of DragonFFI. Supposing we manage to compile at run-time this function, we can then call it trivially as in the following:

typedef void(*puts_call_ty)(void*, void**);
puts_call_ty Wrapper = /* pointer to the compiled wrapper function */;
Wrapper(Ret, Args);

Generating and compiling a function like this is something Clang/LLVM is able to do. For the record, this is also what libffi mainly does, by generating the necessary assembly by hand. We optimize the number of these wrappers in DragonFFI, by generating them for each different function type. So, the actual wrapper that would be generated for puts is actually this one:

void __dffi_wrapper_0(int32_t( __attribute__((cdecl)) *__FPtr)(char *), int32_t *__Ret, void** __Args) {
*__Ret = (__FPtr)(*((char **)__Args[0]));

For now, all the necessary wrappers are generated when the DFFI::cdef or DFFI::compile APIs are used. The only exception where they are generated on-the-fly (when calling CompilationUnit::getFunction) is for variadic arguments. One possible evolution is to let the user chooses whether he wants this to happen on-the-fly or not for every declared function.

Issues with Clang

There is one major issue with Clang that we need to hack around in order to have the DFFI::cdef functionality: unused declarations aren't emitted by Clang (even when using -g -femit-all-decls).

Here is an example, produced from the following C code:

typedef struct {
short a;
int b;
} A;

void print_A(A s);
$ clang -S -emit-llvm -g -femit-all-decls -o - a.c |grep print_A |wc -l

The produced LLVM IR does not contain a function named print_A! The hack we temporarily use parses the clang AST and generates temporary functions that looks like this:

void __dffi_force_decl_print_A(A s) { }

This forces LLVM to generate an empty function named __dffi_force_decl_print_A with the good arguments (and associated debug informations).

This is why DragonFFI proposes another API, DFFI::compile. This API does not force declared-only functions to be present in the LLVM IR, and will only expose functions that end up naturally in the LLVM IR after optimizations.

If someone has a better idea to handle this, please let us know!

Python bindings

Python bindings were the first ones to have been written, simply because it's the "high level" language I know best.  Python provides its own set of challenges, but we will save that for another blog post.  These Python bindings are built using pybind11, and provides their own set of C types. Lots of example of what can be achieved can be found here and here.

Project status

DragonFFI currently supports Linux, OSX and Windows OSes, running on Intel 32 and 64-bits CPUs. Travis is used for continuous integration, and every changes is validated on all these platforms before being integrated.

The project will go from alpha to beta quality when the 0.3 version will be out (which will bring Travis and Appveyor CI integration and support for variadic functions). The project will be considered stable once these things happen:
  • user and developer documentations exist!
  • another foreign language is supported (JS? Ruby?)
  • the DragonFFI main library API is considered stable
  • a non negligible list of tests have been added
  • all the things in the TODO file have been done :)

Various ideas for the future

Here are various interesting ideas we have for the future. We don't know yet when they will be implemented, but we think some of them could be quite nice to have.

Parse embedded DWARF information

As the entry point of DragonFFI are DWARF informations, we could imagine parsing these debug informations from shared libraries that embed them (or provide them in a separate file). The main advantage is that all the necessary information for doing the FFI right are in one file, the header files are no longer required. The main drawback is that debug informations tend to take a lot of space (for instance, DWARF informations take 1.8Mb for libarchive 3.32 compiled in release mode, for an original binary code size of 735Kb), and this brings us to the next idea.

Lightweight debug info?

The DWARF standard allows to define lots of information, and we don't need all of them in our case. We could imagine embedding only the necessary DWARF objects, that is just the necessary types to call the exported functions of a shared library. One experiment of this is available here: This is an LLVM optimisation pass that is inserted at the end of the optimisation pipeline, and parse metadata to only keep the relevant one for DragonFFI. More precisely, it only keeps the dwarf metadata related to exported and visible functions, with the associated types. It also keeps debug information of global variables, even thought these ones aren't supported yet in DragonFFI. It also does some unconventional things, like replacing every file and directory by "_", to save space. "Fun" fact, to do this, it borrows some code from the LLVM bitcode "obfuscator" included in recent Apple's clang version, that is used to anonymize some information from the LLVM bitcode that is sent with tvOS/iOS applications (see for more information).

Enough talking, let's see some preliminary results (on Linux x64):
  • on libarchive 3.3.2, DWARF goes from 1.8Mb to 536Kb, for an original binary code size of 735Kb
  • on zlib 1.2.11, DWARF goes from 162Kb to 61Kb, for an original binary code size of 99Kb
The instructions to reproduce this are available in the README of the LLVM pass repository.
We can conclude that defining this "light" DWARF format could be a nice idea. One other thing that could be done is defining a new binary format, that would be thus more space-efficient, but there are drawbacks going this way:
  • debug informations are well supported on every platform nowadays: tools exist to parse them, embed/extract them from binary, and so on
  • we already got DWARD and PDB:
Nevertheless, it still could be a nice experiment to try and do this, figuring out the space won and see if this is worth it!

As a final note, these two ideas would also benefit to libffi, as we could process these formats and create libffi types!

JIT code from the final language (like Python) to native function code

One advantage of embedding a full working C compiler is that we could JIT the code from the final language glue to the final C function call, and thus limit the performance impact of this glue code.
Indeed, when a call is issued from Python, the following things happen:
  • arguments are converted from Python to C according to the function type
  • the function pointer and wrapper and gathered from DragonFFI
  • the final call is made
All this process involves basically a loop on the types of the arguments of the called function, which contains a big switch case. This loop generates the array of void* values that represents the C arguments, which is then passed to the wrapper. We could JIT a specialised version of this loop for the function type, inline the already-compiled wrapper and apply classical optimisation on top of the resulting IR, and get a straightforward conversion code specialized for the given function type, directly from Python to C.

One idea we are exploring is combining easy::jit (hello fellow Quarkslab teammates!) with LLPE to achieve this goal.

Reducing DragonFFI library size

The DragonFFI shared library embed statically compiled versions of LLVM and Clang. The size of the final shared library is about 55Mb (stripped, under Linux x64). This is really really huge, compared for instance to the 39Kb of libffi (also stripped, Linux x64)!

Here are some idea to try and reduce this footprint:
  • compile DragonFFI, Clang and LLVM using (Thin) LTO, with visibility hidden for both Clang and LLVM. This could have the effect of removing code from Clang/LLVM that isn't used by DragonFFI.
  • make DragonFFI more modular: - one core module that only have the parts from CodeGen that deals with ABIs. If the types and function prototypes are defined "by hand" (without DFFI::cdef), that's more or less the only part that is needed (with LLVM obviously) - one optional module that includes the full clang compiler (to provide the DFFI::cdef and DFFI::compile APIs)
Even with all of this, it seems to be really hard to match the 39Kb of libffi, even if we remove the cdef/compile API from DragonFFI. As always, pick the right tool for your needs :)


Writing the first working version of DragonFFI has been a fun experiment, that made me discover new parts of Clang/LLVM :) The current goal is to try and achieve a first stable version (see above), and experiment with the various cited ideas.

It's a really long road, so feel free to come on #dragonffi on FreeNode for any questions/suggestions you might have, (inclusive) or if you want to contribute!


Thanks to Serge «sans paille» Guelton for the discussions around the Python bindings, and for helping me finding the name of the project :) (one of the most difficult task). Thanks also to him, Fernand Lone-Sang and Kévin Szkudlapski for their review of this blog post!

OCaml Weekly News: OCaml Weekly News, 13 Mar 2018

  1. Release of Interval 1.4
  2. A proposal for a resource-management model for OCaml
  3. Profiling in OCaml?
  4. Lwt 3.3.0 and Lwt_ppx 1.1.0 released – nice stack traces restored
  5. Tarides is looking for software engineers to work on MirageOS and Irmin
  6. Emile 0.2 - e-mail address decoder
  7. OCaml developer position at Be Sport
  8. RfP #2: Enhance OCaml Interop with Tcl/Tk
  9. Other OCaml News

s mazuk: Photo

Paper Bits: nitramaraho: askinnyblackman: buzzfeed: buzzfeed: crystalites...








get you a man who can do both

one of my patients came in for an emergency visit, because she snapped the wire on her retainer watching the movie when MBJ took his shirt off she clenched her teeth so fucking hard she snapped it. that is the fucking funniest shit ever to me this tiny 17 year old girl thirsting so goddamn hard she busted steel

Y'all, it gets better. She found out.

We interviewed her, obviously.


martin i cannot believe any of this is actually happening

Chris how the hell do you think I feel

This story makes me so happy.

MattCha's Blog: “The Prices Are Rising, The Prices Are Rising”

“The Sky is Falling, The Sky is Falling”

I’m very nervous… actually quite scared.  I try not to think about it (take deep breaths I keep telling myself and this too will pass).

But I just can’t.  How could I? How could you? If you keep getting bombarded with emails over the last few days.  It seems like as soon as it’s out of my head then BOOM I see another email in my inbox!

Oh my God! …. It’s happening again…

The prices are rising! The prices are rising!

Depending which oracle or deity you consult- the end time is nearing.  We have days, just hours, to act! Doom’s Day will be either March 13th or 15thdepending on which way you read your doomsday calendars.  

That’s right… Burger King and White Castle are raising their prices!  My friend Ted (who is actually an opening DJ for Ed Sheeran) told me to keep calm.  He said this happens every year… There are some Nostradamus people out there who will predict the end of days.  He says its best to focus on life 10 years ago, when things were good, cheap, life was more simple.  But I keep asking myself “How am I going to afford my regular fast food fix?”  He reassures me with graphs that the prices are not actually rising… But blog posts and emails from my favorite fast food restaurants tell me differently!  Spin me something relaxing DJ to calm my nerves please.

They say it can be predicted by the currency exchange and the markets, its in there the Chinese Yuan and the USD... its all in the cards man... perfectly explained... are you saying you know something about the markets????

Get this….White Castle is even raising their prices of their small fries and I don’t even like small fries!  But this has me really really concerned because just like the Beastie Boys say “White Castle fries only come in one size!”  Not only that, but their yearly promotion is ending… How will I get my $5.00 All Barbecue Chicken Meal… not until next year or maybe they won’t even be running that promotion next year… who knows how long I have to wait for a deal like that?

Who out there will reassure me?  I’m begging you people.  I can even meet you at Macha Tea Company near by for some tea… its actually not on Norris Court at all but in a new lot by the Freeway and is Open all night long for those who are will to step out of their comfort zone.  I know It’s not the same now that John went away but I’m beginning to like it more…. Nah there’s no time for that…

I was getting real weak so I went to White Castle for the $5.00 meal but they sold out! Ahhhh….

Ok, scrap that idea… run to your closest Burger King or White Castle- drive through is fastest.  Now is your only time to act.  So don’t hesitate and act now... Take out your wallet or puerhse and follow the links. 

Don’t miss out! Don’t miss out! Don’t miss out!


The Shape of Code: Historians of computing

Who are the historians of the computing? The requirement I used for deciding who qualifies (for this post), is that the person has written multiple papers on the subject over a period that is much longer than their PhD thesis (several people have written history of some aspect of computing PhDs and then gone on to research other areas).

Maarten Bullynck. An academic who is a historian of mathematics and has become interested in software; use HAL to find his papers, e.g., What is an Operating System? A historical investigation (1954–1964).

Martin Campbell-Kelly. An academic who has spent his research career investigating computing history, primarily with a software orientation. Has written extensively on a wide variety of software topics. His book “From Airline Reservations to Sonic the Hedgehog: A History of the Software Industry” is still on my pile of books waiting to be read (but other historian cite it extensively). His thesis: “Foundations of computer programming in Britain, 1945-55″, can be freely downloadable from the British Library; registration required.

James W. Cortada. Ex-IBM (1974-2012) and now working at the Charles Babbage Institute. Written extensively on the history of computing. More of a hardware than software orientation. Written lots of detail oriented books and must have pole position for most extensive collection of material to cite (his end notes are very extensive). His “Buy The Digital Flood: The Diffusion of Information Technology Across the U.S., Europe, and Asia” is likely to be the definitive work on the subject for some time to come. For me this book is spoiled by the author towing the company line in his analysis of the IBM antitrust trial; my analysis of the work Cortada cites reaches the opposite conclusion.

Nathan Ensmenger. An academic; more of a people person than hardware/software. His paper Letting the Computer Boys Take Over contains many interesting insights. His book The Computer Boys Take Over Computers, Programmers, and the Politics of Technical Expertise is a combination of topics that have been figured and back with references and topics still being figured out (I wish he would not cite Datamation, a trade mag back in the day, so often).

Kenneth S. Flamm. An academic and has held senior roles in government. Writes from a industry evolution, government interests, economic perspective. The books: “Targeting the Computer: Government Support and International Competition” and “Creating the Computer: Government, Industry and High Technology” are packed with industry related economic data and covers all the major industrial countries.

Michael S. Mahoney. An academic who is sadly no longer with us. A historian of mathematics before becoming involved with primarily software.

Jeffrey R. Yost. An academic. I have only read his book “Making IT Work: A history of the computer services industry”, which was really a collection of vignettes about people, companies and events; needs some analysis. Must try to track down some of his papers (which are not available via his web page :-(.

Who have I missed? This list is derived from papers/books I have encountered while working on a book, not an active search for historians. Suggestions welcome.


Completely forgot Kenneth S. Flamm, despite enjoying both his computer books.

Perlsphere: Try::Tiny::Tiny

Last year I released this new module.

I want to talk about its purpose briefly, because in the time since, people have published benchmarks of how it performs compared to other modules that offer alternatives to eval. The latest example of such a benchmark is part of the Exceptions chapter in Minimum Viable Perl (via), but they go as far back as Diab Jerius’ shootout right after I released the module.

It is, of course, interesting to see the figures to see where Try::Tiny::Tiny falls.

However, simply treating it like another contender in such a contest misunderstands its purpose. Try::Tiny::Tiny is not meant to compete with any of the other modules. It is not meant to be your choice for exception block syntax.

I do not recommend that you use Try::Tiny::Tiny in your own code.

For CPAN modules, I actually recommend that you use raw eval. Nothing else has an even remotely comparable performance or dependency footprint. And whether or not you agree with that, I will say that if you list Try::Tiny::Tiny as a dependency of your CPAN distribution, you have made a mistake.

At the same time, if you are running Perl in production, I do recommend that you use Try::Tiny::Tiny in all cases – regardless of what exception block syntax you chose to use in your own code.

Confused? What exactly is the point of Try::Tiny::Tiny?

It’s this: to be a little bit of a solution for all the CPAN code that is already written using Try::Tiny. If you use such modules in production and don’t want the drawbacks, your options are to either try to submit dozens of patches and convince as many maintainers… or use Try::Tiny::Tiny to clean them up just a little, all of them, in one fell swoop.

Hence my usage guidance as its author: you use Try::Tiny::Tiny to fix-up other people’s code, not as a solution in your own.

And so the kind of benchmark result that I am most interested would be something like “I ran our test suite from my day job with ‘PERL5OPT=-MTry::Tiny::Tiny’ and it saved 3% CPU”. Or, maybe it didn’t. Consider this my official request for such results.

Finally, I want to add an observation regarding Syntax::Keyword::Try, which routinely ends up as the recommendation of such shootouts. Namely, it requires keyword plugin support in Perl, which was added in 5.14. But that happens to be the version of Perl which also fixed some warts in eval as well as the problem that it would sometimes lose exceptions. So if you require Syntax::Keyword::Try, then your code’s requirements indirectly include a version of Perl in which raw eval is safe and simple to use.

Disquiet: What Sound Looks Like

Excavated some cassettes of turntablism music (turntable as instrument) while cleaning out some of my old boxes this past weekend. Back then, around 1996 and 1997, when these were released, turntablism was often documented and circulated on cassette. These days, 20-plus years later, a lot of my listening is manipulation of the cassette tape itself, as well as digital approximations of tape manipulation. Some of the turntablists whose work is shown here have long since left traditional turntable vinyl behind and now use computer software that turns the turntable into a tactile controller for audio files.

An ongoing series cross-posted from

Ideas from CBC Radio (Highlights): Into the Gray Zone with neuroscientist Adrian Owen

We've usually thought that people in comas or 'vegetative' states are completely cut off from the world. But groundbreaking work shows that as much as 20 per cent of patients whose brains were considered non-responsive, turn out to be vibrantly alive, existing in a sort of twilight zone. Neuroscientist Adrian Owen guides Paul Kennedy into that “gray” zone, in conversation and in a public talk.

Trivium: 12mar2018 / 2018-03-20T18:57:11