Wadler's Blog

17.3.18

One simple step to increase diversity is to ask. From now on, I plan to send all relevant job announcements to Lambda Ladies, specifically by email to the moderators. Above is the Lambda Ladies party at Strange Loop, September 2014. Thank you for existing, ladies!

9.3.18

IOHK is hiring six PLT engineers

IOHK is hiring six Programming Language Theory engineers, to design and implement the smart contract language Plutus and related domain specific languages. Designing scripting languages for smart contracts is a challenging topic, as it is crucial to avoid the sort of exploits that regularly drain Ethereum of tens of millions of dollars worth of cryptocurrency. I am one of the lead designers; two others are Duncan Coutts and Manuel Chakravarty, who are well known to many in this community.

IOHK is one of the leading cryptocurrency firms. Much of its software is implemented in Haskell. All work is open source and publication is encouraged. Indeed, IOHK is unique in that it is committed to basing its development on peer-reviewed research, in cryptography and security as well as in programming languages and formal methods. As Charles Hoskinson, IOHK's CEO, points out, if IOHK succeeds it may impact how software is developed, encouraging others to more seriously consider functional programming, formal methods, and peer-review. IOHK is a distributed company: I am in Edinburgh and Rio de Janeiro; Duncan is in London; Manuel is in Sydney; you may work from wherever you like.

8.12.17

Simplicity

Only once in my life have I encountered a programming language that
was too simple to use. That was Lispkit Lisp, developed by
Peter Henderson, Geraint Jones, and Simon Jones, which I saw while
serving as a postdoc at Oxford, 1983–87, and which despite its
simplicity was used to implement an entire operating system. It is an
indightment of the field of programming languages that I have not
since encountered another system that I consider too simple.
Until today. I can now add a second system to the list of those that
are too simple, the appropriately-titled Simplicity,
developed by Russell O'Connor of Blockstream.
It is described by a paper
here
and a website
here.
The core of Simplicity consists of just nine combinators: three for
products (pair, take, and drop),
three for sums (injl, injr, and case),
one for unit (unit), and two for plumbing
(iden and comp). It is throughly grounded
in ideas from the functional programming, programming language, and
formal methods communities.
When I call Simplicity too simple it is intended as a
compliment. It is delightful to see full adders and cryptographic
hash functions cobbled together using just products, sums, and units.
It is eye-opening to see how far one can get without recursion or
iteration, and how this enables simple analyses of the time and space
required to execute a program. It is a confirmation to see a system
with foundations in category theory and sequent calculus. Now I know
what to say when developers respond to my talk "Categories for the
Working Hacker" by asking "But how can we use this in practice?"
The system is accompanied by a proof of its correctness in Coq, which
sets a high bar for competing systems. O'Connor even claims to have a
proof in Coq that the Simplicity implementation of SHA-256 matches the
reference specification provided by Andrew Appel's Verified Software
Toolchain project (VST), which VST proved corresponds to the OpenSSL
implementation of SHA-256 in C.
At IOHK, I have been involved in the design of Plutus Core, our
own smart contract scripting language, working with Darryl McAdams,
Duncan Coutts, Simon Thompson, Pablo Lamela Seijas, and
Grigore Rosu and his semantics team. We have a formal specification
which we are preparing for release. O'Connor's work on Simplicity
has caused us to rethink our own work: what can we do to make it
simpler? Thank you, Russell!
That said, Simplicity is still too simple, and despite
its emphasis on rigour there are some gaps in its description.

Jets

A 256-bit full adder is expressed with 27,348 combinators,
meaning addition in Simplicity requires several orders of
magnitude more work than the four 64-bit addition instructions one
would normally use. Simplicity proposes a solution: any
commonly used sequence of instructions may be abbreviated as a "jet",
and implemented in any equivalent matter. Hence, the 27,348 combinators
for the 256-bit full adder can be ignored, and replaced by the equivalent
four 64-bit additions.
All well and good, but this is where it gets too simple. No
one can afford to be inefficient by several orders of magnitude. Hence,
any programmer will need to know what jets exist and to exploit them
whenever possible. In this sense, Simplicity is misleadingly simple.
It would be clearer and cleaner to define each jet as an opcode. Each
opcode could still be specified by its equivalent in the other
combinators of Simplicity, but programs would be more compact, faster
to execute, and—most important—easier to read, understand,
and analyse accurately. If one ignores jets, the analyses of time and
space required to execute a program, given toward the end of the
paper, will be useless—off by orders of magnitude.
The list of defined jets is given nowhere in the paper. Nor could I
spot additional information on Simplicity linked to from its web page
or findable by a web search. More needs to be done before Simplicity
can be used in practice.

Gaps

It's not just the definition of jets which is absent from the paper,
and cannot be found elsewhere on the web. Lots more remains to be supplied.

Sections 2.4, 2.5, 3.2 claim proofs in Coq, but apart from defining
the semantics of the nine combinators in Appendix A, no Coq code
is available for scrutiny.

Section 2.5 claims a representation of Simplicity terms as a dag,
but it is not specified. Lacking this, there is no standard way to
exchange code written in Simplicity.

Section 4.4 defines an extended semantics for Simplicity
that can read the signature of the current transaction, support
Merklised abstract syntax trees, and fail when a transaction does not
validate. It also lifts meanings of core (unextended) Simplicity
programs to the extended semantics. However, it says nothing about how
the seven combinators that combine smaller Simplicity programs into
bigger ones act in the extended semantics! It's not hard to guess
the intended definitions, but worrying that they were omitted from a
paper that aims for rigour.

Section 3 provides a Bit Machine to model the space and time required
to execute Simplicity. The model is of limited use, since it ignores
the several orders of magnitude improvement offered by jets.
Further, the Bit Machine has ten instructions,
enumerated on pages 10–12, but the list omits the vital
"case" instruction which appears in Figure 2. Again, it's
not hard to guess, but worrying it was omitted.

Michelson

A second language for scripting blockchains is Michelson.
It is described by a paper
here
and a website
here.
(Oddly, the website fails to link to the paper.)
I will offer just one word on Michelson. The word is: "Why?"
Michelson takes many ideas from the
functional programming community, including higher-order
functions, data structures such as lists and maps,
and static type safety.
Currently, it is also much more
thoroughly described and documented than Simplicity.
All of this is to be commended.
But Michelson is an inexplicably low-level language,
requiring the programmer to explicitly manipulate a stack.
Perhaps this was done so that there is an obvious
machine model, but Simplicity offers a far superior solution:
a high-level model for programming, which compiles to a low-level
model (the Bit Machine) to explicate time and space costs.
Or perhaps Michelson is low-level to improve efficiency. Most of the cost of
evaluating a smart contract is in cryptographic primitives. The rest
is cheap, whether compiled or interpreted. Saving a few pennies of
electricity by adopting an error prone language—where there is a
risk of losing millions of dollars in an exploit—is a false
economy indeed. Premature optimisation is the root of all evil.
The language looks a bit like all the bad parts of Forth and Lisp,
without the unity that makes each of those languages a classic.
Lisp idioms such as CAAR and CDADAR are retained,
with new ones like DUUP, DIIIIP, and
PAAIAIAAIR thrown in.
There is a fair set of built-in datatypes, including strings,
signed and unsigned integers, unit, product, sum, options,
lists, sets, maps, and higher-order functions.
But there is no way for users to define their own data types.
There is no way to name a variable or a routine; everything
must be accessed by navigating a data structure on the stack.
Some operations are specified formally, but others are left informal.
For lists, we are given formal rewriting rules for the first three
operators (CONS, NIL, IF_CONS) but not the last two (MAP, REDUCE).
Type rules are given in detail, but the process of type inference
is not described, leaving me with some questions about which programs
are well typed and which are not. It reminds me of a standard problem
one sees in early work by students—the easy parts are thoroughly
described, but the hard parts are glossed over.
If I have understood correctly, the inference rules assign types that
are monomorphic, meaning each term has exactly one type. This omits
one of the most successful ideas in functional programming,
polymorphic routines that act on many types. It means back to the bad
old days of Pascal, where one has to write one routine to sort a list
of integers and a different routine to sort a list of strings.
Several of these shortcomings are also shared by Simplicity. But whereas
Simplicity is intended as a compilation target, not to be read by humans,
the Michelson documentation includes a large collection of examples
suggesting it is intended for humans to write and read.
Here is one of the simpler examples from the paper.

The comment # T is inserted as a reminder
that CDAAR extracts variable T, and
similarly for the other variables N, B,
and A. This isn't the 1950s. Why don't we
write T when we mean T, instead
of CDAAR? WHY ARE WE WRITING IN ALL CAPS?
In short, Michelson is a bizarre mix of some of the best and worst of
computing.

Conclusion

It is exciting to see ideas from the functional programming,
programming languages, and formal methods communities gaining traction
among cryptocurrencies and blockchains. While there are shortcomings,
it is fantastic to see an appreciation of how these techniques can be
applied to increase reliability—something which the
multi-million dollar exploits against Ethereum show is badly needed.
I look forward to participating in the conversations that ensue!

Postscript

The conversation has begun! Tezos
have put up a page to explain
Why Michelson.
I've also learned there is a higher-level language
intended to compile into Michelson, called
Liquidity.

21.11.17

Humble Book Bundle is selling off a passle of Java books, including Java Generics and Collection by Naftalin and Wadler, on a pay-what-you-want basis (USD $1 minimum), DRM-free. You choose what proportion of the profits go to Humble and what goes to the charity Code for America. A great deal!

12.7.17

Net Neutrality is under severe attack by the FCC and the Trump Administration. Only sustained action will save it. And if it falls in the US, will it be long before the rest of the world follows?

Net Neutrality is already being eroded. Virgin proudly tells me that I'm not charged mobile bandwidth when I use Twitter; other providers offer similar services for Facebook or Netflix. Seemingly a bonus, these offers are really a minus: they lock in the present winners, and make it difficult for the next generation of innovations to emerge.

Unless we act now, people will look back on our days as 'The Golden Age of the Internet'.

25.6.17

Proceedings of the ACM on Programming Languages (PACMPL) is a new, open-access journal that will archive the results of major programming language conferences sponsored by SIGPLAN and ACM. So far, ICFP, OOPSLA, and POPL have signed on. There is, to my surprise, a raging debate as to whether PLDI should do so. The issues are blogged here, and there is a survey here.

As Editor-in-Chief of PACMPL, I may be prejudiced, but it seems to me the case for PLDI to join is a no-brainer. Programming languages are unusual in a heavy reliance on conferences over journals. In many universities and to many national funding bodies, journal publications are the only ones that count. Other fields within computing are sorting this out by moving to journals; we should too. Journals cover a wide range of different publications, and our better conferences sit toward the high-quality end of this range. ICFP, OOPSLA, and POPL were all enthusiastic to join; is PLDI that different?

Becoming a journal requires a slight change to procedure: an extra round for referees to ensure necessary changes have been made. The extra round increases reliability of our archival publication—good, as we don't want to build our field on sand!—and may permit the PC to be more adventurous in accepting borderline papers.

Most importantly, all papers in PACMPL will be open access, thanks to generous underwriting by SIGPLAN. The price ACM is charging is too high, and we will continue to press them to reduce it. But it is only by going to open access that SIGPLAN can survive—the alternative is that our conferences, including PLDI, will wither, to be replaced by others that are open access.

I urge you to fill out the survey, as it is your opinion that could tilt the balance. Though the survey is non-binding, it will powerfully influence the PLDI Steering Committee when they vote on the issue next month. It just takes a minute, do it now!

DSLDI is a single-day workshop and will consist of an invited speaker followed by moderated audience discussions structured around a series of short talks. The role of the talks is to facilitate interesting and substantive discussion. Therefore, we welcome and encourage talks that express strong opinions, describe open problems, propose new research directions, and report on early research in progress.Proposed talks should be on topics within DSLDI’s area of interest, which include but are not limited to:

22.6.17

As you know, submissions to RADICAL could be, for instance:- reports of an ongoing work and/or preliminary results;- summaries of an already published paper (even at CONCUR'17 - see below);- overviews of (recent) PhD theses;- descriptions of research projects and consortia;- manifestos, calls to action, personal views on current and future challenges;- overviews of interesting yet underrepresented problems....Many thanks for your cooperation!Julian and Jorge

6.6.17

Leave it to George Monbiot to make the most effective case for Labour.

On policy after policy, the Labour manifestoaccords with what people say they want. It offers a strong and stable National Health Service, in which privatisation is reversed, clinical budgets rise and staff are properly paid. It promises more investment in schools, smaller class sizes, and an end to the stifling micromanagement driving teachers out of the profession. It will restore free education at universities. It will ensure that railways, water, energy and the postal service are owned for the benefit of everyone, rather than only the bosses and shareholders. It will smoke out tax avoidance, and bring the banks under control.While Theresa Maywill use Brexit as a wrecking ballto be swung at workers’ rights, environmental laws and other regulations the Conservative party has long wanted to destroy, Labour has promised to enhance these public protections. It will ban zero-hours contracts, prevent companies from forcing their staff into bogus self-employment, and give all workers – whether temporary or permanent – equal rights. The unemployed will be treated with respect. Both carers and people with disabilities will be properly supported. Those who need homes will find them, and tenants will be protected from thenew generation of rack-renting slumlords. Who, apart from the richest beneficiaries of the current regime, would not wish to live in such a nation? ...

[May] won’t stand up to anyone who wields power. She will say nothing against Donald Trump, even when he peddles blatant falsehoods in the aftermath of terrorist attacks in this nation, exploiting our grief to support his disgusting prejudices; even when he pulls out of the global agreement on climate change.She is even more sycophantic towards this revolting man than Tony Blair was to George W Bush. She won’t confront Saudi Arabia over terrorism or Yemen or anything else. ...She won’t stand up to the polluters lavishly funding the Conservative party, whose role explains both her weakness on climate change and her miserable failure to address our air pollution crisis. She won’t stand up to the fanatics in her party who call for the hardest of possible Brexits. She won’t stand up on television to debate these policies because she knows that the more we see, the less we like. The party machine’s attempt to build a personality cult around her fell at an obvious hurdle: first, you need a personality. ...

The election now hangs on whether the young people who claim they will vote Labourare prepared to act on this intention. We know that older Conservative voters will make good their promise: they always do. Will the young electors, who will lose most from another five years of unresponsive government, walk a couple of hundred metres to their polling stations? Or will they let this unprecedented chance to change the nation slip through their fingers? The world belongs to those who turn up.

I slipped a couple of years ago on the tram tracks, a hundred meters from where this accident happened. I broke my little finger, Zhi Min Soh lost her life. Please consider attending tomorrow morning's event in her memory.

The death on Wednesday (31st May) of a young woman in Edinburgh on Wednesday has hit a nerve with cyclists across Scotland. She appears to have been killed after her bike slipped on the tram tracks on Princes Street.Edinburgh’s tram tracks have been described as an accident waiting to happen from the moment they were unveiled. [H]undreds of cyclists have been injured from falls on the tracks, and thousands more have had close shaves. This Wednesday (7th June), at 8:30 am, cyclists in Edinburgh will be marking Zhi Min Soh’s death. There will be a short, respectful protest at the junction where she died, reflecting the emotion that has bubbled up in the days since this senseless death. Although we are not organising it, we fully support this action and ask anyone who can to come and join them, on bike or on foot, and whether you cycle or not.If you can attend, please make your way directly to Shandwick Place for 8:30 a.m. If you can, bring a sign or a placard letting people know what it is about. People will gather at the junction for a minute’s silence, and a lament from a piper to remember this death, and to ask for the City of Edinburgh to take action to ensure that it will be the last.

2.6.17

Haskell Team Up

1.6.17

I was delighted and gobsmacked to hear from Moises Vazquez, a university teacher from Mexico who has a penchant for dressing up as Spider-Man. Reuters reports:

"I do the same job as anyone else, I don't think it's the best class in the world just because I put on a suit. But I assure you I want to be the most honest and dedicated there is, I just want to make the classroom a better place," he said.

I am blown away by his costume, with amazing detail such as Barendregt's lambda cube on the back and categorical arrows for webbing. Time for a superhero team-up?

We have seen narratives that create an ‘us’ and ‘them’ – pitting
‘motorists’ against ‘cyclists’ against ‘pedestrians’. With such
projects, it is hugely disheartening to see what should have been a
force for positive change become a focus for anger. It is equally
disheartening to see strong evidence and the policies of the Scottish
Government which support a more active, greener Scotland being
undermined by such opposition.

In darker moments, I have been tempted to draw parallels to the post-fact world that we seem to inhabit at present.

10.12.16

Do you have Q?

A study conducted at Northeastern analyses the factors that contribute to success in science. Age is not one of them.

The research team began by focusing on career physicists. It ransacked the literature going back to 1893, identifying 2,856 physicists with careers of 20 years or more who published at least one paper every five years — widely cited findings rated as “impact” papers — and the team analyzed when in a career those emerged. ...
[K]eeping productivity equal, the scientists were as likely to score a hit at age 50 as at age 25. The distribution was random; choosing the right project to pursue at the right time was a matter of luck.
Yet turning that fortuitous choice into an influential, widely recognized contribution depended on another element, one the researchers called Q.
Q could be translated loosely as “skill,” and most likely includes a broad variety of factors, such as I.Q., drive, motivation, openness to new ideas and an ability to work well with others. Or, simply, an ability to make the most of the work at hand: to find some relevance in a humdrum experiment, and to make an elegant idea glow.
“This Q factor is so interesting because it potentially includes abilities people have but may not recognize as central,” said Zach Hambrick, a professor of psychology at Michigan State University. “Clear writing, for instance. Take the field of mathematical psychology. You may publish an interesting finding, but if the paper is unreadable, as so many are, you can’t have wide impact because no one understands what you’re talking about.”

7.11.16

Accusations of anti-semitism in the Labour party have gone virtually unchallenged, which is unconscionable because almost all of what is referred to as 'anti-semitism' is simply legitimate protest against Israel's oppression of Palestinians. David Plank at Jews Sans Frontiers has just published a thorough debunking.

I've been lucky to rarely face anti-semitism in my personal life. So its salutary to be reminded the extent to which it actually exists in the world. If nothing else, this is something that Donald Trump does well.

The issues at stake have been eloquently stated, more forthrightly than in most media, by Adam Gopnik in A Point of View. I expect most folk reading this will not be supporters of Trump, but, if you are, please listen to it before you vote.

18.10.16

I will reprise my June presentation to Papers We Love London at Papers We Love Remote Meetup 2, today at 7pm UK time, with the subject John Reynolds, Definitional Interpreters for Higher-Order Languages. Learn the origins of denotational semantics and continuations. Additional citations here. See you there!

12.10.16

You have just three more days to order your own Lambdaman or Lambdawoman t-shirt, as featured in the video of Propositions as Types. Now available in unisex, children's, and women's shirts. Profits go to Bootstrap, an organisation run by Shriram Krishnamurthi, Matthias Felleisen, and the PLT group that teaches functional programming to middle and high school students. Order will be printed on October 15.

22.9.16

After watching talks or videos of Propositions as Types, folk ask me how they can get their own Lambdaman t-shirt. In the past, I tried to make it available through various services, but they always rejected the design as a copyright violation. (It's not, it's fair use.) Thanks to a little help from my friends, CustomInk has agreed to print the design as a Booster. Sign up now, order will be printed on October 15. Any profits (there will be more if there is a bigger order) go to Bootstrap, an organisation run by Shriram Krishnamurthi, Matthias Felleisen, and the PLT group that teaches functional programming to middle and high school students. Order has already surpassed our goal of fifty shirts!

11.9.16

I've been putting off posting about the final outcome of the West-East Cycle Route confrontation at Edinburgh City Council's Transport and Environment committee, in part because there was no final outcome.

I sat through four hours of Edinburgh Council's Transport and Environment Committee. The end result was a fudge. The Council heard adamant depositions from both sides, and decided not to decide. They will form a stakeholder group, with representatives from all involved, and attempt to come to a compromise that satisfies all sides. But it's hard to see how that can happen: if we don't get a straight route it will be a disaster, but if we do folk in Roseburn will fear an impact on their businesses (studies show cycle routes don't harm business, but they seem to be taking the Gove line: they are tired of hearing from experts).

Though perhaps we were lucky to get a fudge. Had it gone to a straight vote, following the whip Greens and Labour would have voted for Option A (7 votes) while the SDP, Conservatives, and Liberal Democrats would have voted for Option B (8 votes). As it was, the Greens gave a rousing defense of Option A, with fantastic speeches from Nigel Bagshaw and Chas Booth. Everyone else supported the 'compromise', and took the opportunity to excoriate the Greens for taking a principled stand. Even those who would have voted for Option B expressed support for cycling, and perhaps that is something we can build on.

Dave duFeu of Spokes posted an excellent summary, including links to the webcast of the meeting and a list of the steps you can take to support the West-East Cycle Route.

A correspondent on Quora explains the insider's view to an outsider. Some selections:

You can answer many seemingly difficult questions quickly. But you are not very impressed by what can look like magic, because you know the trick. The trick is that your brain can quickly decide if a question is answerable by one of a few powerful general purpose "machines" (e.g., continuity arguments, the correspondences between geometric and algebraic objects, linear algebra, ways to reduce the infinite to the finite through various forms of compactness) combined with specific facts you have learned about your area. The number of fundamental ideas and techniques that people use to solve problems is, perhaps surprisingly, pretty small -- seehttp://www.tricki.org/tricki/map for a partial list, maintained by Timothy Gowers.

You go up in abstraction, "higher and higher". The main object of study yesterday becomes just an example or a tiny part of what you are considering today. For example, in calculus classes you think about functions or curves. In functional analysis or algebraic geometry, you think of spaces whose pointsare functions or curves -- that is, you "zoom out" so that every function is just a point in a space, surrounded by many other "nearby" functions. Using this kind of zooming out technique, you can say very complex things in short sentences -- things that, if unpacked and said at the zoomed-in level, would take up pages. Abstracting and compressing in this way makes it possible to consider extremely complicated issues with one's limited memory and processing power.

You are easily annoyed by imprecision in talking about the quantitative or logical. This is mostly because you are trained to quickly think about counterexamples that make an imprecise claim seem obviously false.

I've long known that ISDS (Investor-State Dispute Settlement) is one of the worst aspects of TTIP, TTP, and CETA. But I've thought the main problem with ISDS was first, that it enabled businessmen to sue governments over laws enacted to save their citizenry (as in the cartoon below), and, second, its secrecy. What I did not understand was how it enables corruption. Kudos to Buzzfeed for their detailed investigation.

Say a nation tries to prosecute a corrupt CEO or ban dangerous pollution. Imagine that a company could turn to this super court and sue the whole country for daring to interfere with its profits, demanding hundreds of millions or even billions of dollars as retribution.

Imagine that this court is so powerful that nations often must heed its rulings as if they came from their own supreme courts, with no meaningful way to appeal. That it operates unconstrained by precedent or any significant public oversight, often keeping its proceedings and sometimes even its decisions secret. That the people who decide its cases are largely elite Western corporate attorneys who have a vested interest in expanding the court’s authority because they profit from it directly, arguing cases one day and then sitting in judgment another. That some of them half-jokingly refer to themselves as “The Club” or “The Mafia.”

And imagine that the penalties this court has imposed have been so crushing — and its decisions so unpredictable — that some nations dare not risk a trial, responding to the mere threat of a lawsuit by offering vast concessions, such as rolling back their own laws or even wiping away the punishments of convicted criminals.This system is already in place, operating behind closed doors in office buildings and conference rooms in cities around the world. Known as investor-state dispute settlement, or ISDS, it is written into a vast network of treaties that govern international trade and investment, including NAFTA and the Trans-Pacific Partnership, which Congress must soon decide whether to ratify.

These trade pacts have become a flashpoint in the US presidential campaign. But an 18-month BuzzFeed News investigation, spanning three continents and involving more than 200 interviews and tens of thousands of documents, many of them previously confidential, has exposed an obscure but immensely consequential feature of these trade treaties, the secret operations of these tribunals, and the ways that business has co-opted them to bring sovereign nations to heel.

The series starts today with perhaps the least known and most jarring revelation: Companies and executives accused or even convicted of crimes have escaped punishment by turning to this special forum. Based on exclusive reporting from the Middle East, Central America, and Asia, BuzzFeed News has found the following:

A Dubai real estate mogul and former business partner of Donald Trump was sentenced to prison for collaborating on a deal that would swindle the Egyptian people out of millions of dollars — but then he turned to ISDS and got his prison sentence wiped away.

In El Salvador, a court found that a factory had poisoned a village — including dozens of children — with lead, failing for years to take government-ordered steps to prevent the toxic metal from seeping out. But the factory owners’ lawyers used ISDS to help the company dodge a criminal conviction and the responsibility for cleaning up the area and providing needed medical care.

Two financiers convicted of embezzling more than $300 million from an Indonesian bank used an ISDS finding to fend off Interpol, shield their assets, and effectively nullify their punishment.

29.8.16

Fellow tweeter @DarlingSteveEDI captured my image (above) as we gathered for Ride the Route this morning, in support of Option A for the Edinburgh's proposed West-East Cycle Route (the route formerly known as Roseburn to Leith Walk). My own snap of the gathering is below.

Fellow blogger Eilidh Troup considers another aspect of the route, safety for schoolchildren. Option A is far safer than Option B for young children cycling to school: the only road crossing in Option A is guarded by a lollipop lady,
while children taking Option B must cross *three* busy intersections
unaided.

It's down to the wire: members of the Transport and Environment Committee vote tomorrow. The final decision may be closely balanced, so even sending your councillor (and councillors on the committee) a line or two can have a huge impact. If you haven't written, write now, right now!

28.8.16

I've written before about the Edinburgh West-East Cycle Route (previously called Roseburn to Leith Walk), and the importance of choosing Option A over Option B.

It's fantastic that Edinburgh has decided to invest 10% of its transport budget into active travel. If we invest regularly and wisely in cycling infrastructure, within twenty years Edinburgh could be a much more pleasant place to live and work, on a par with Copenhagen or Rotterdam. But that requires investing the effectively. The choice of Option A vs B is a crucial step along the way. Option B offers a far less direct route and will do far less to attract new people to cycling, undermining the investment and making it harder to attract additional funding from Sustrans. Unless we start well, it will be harder to continue well.

SNP Councillors are putting it about that since Sustrans awarded its competition to Glasgow rather than Edinburgh that the route cannot be funded. But that is nonsense. Edinburgh can build the route on its own, it would just take longer. And in any event, year on year funding from Sustrans is still available. But funding is only likely to be awarded for an ambitious project that will attract more folk to cycling, and that means Option A.

(Imagine if auto routes were awarded by competition. You can have the M80 to Glasgow or the M90 to Edinburgh, but not both ... Sort of like the idea of holding a bake sale to fund a war ...)

Supporters have organised a Ride the Route event 8am Monday 29 August, leaving from Charlotte Square, which will take councillors and press along the route to promote Option A. (And here's a second announcement from Pedal on Parliament.) I hope to see you there!

19.8.16

At the referendum, still an MP, I gave independence very serious
thought right up to the close of the vote. I finally came down on the
side of No because I thought big EU states with a potential secession
issue, like Spain and France, would prevent an independent Scotland
joining the EU. This is obviously no longer the case. And I was, like
the great majority of the economists and other experts whose opinion I
valued, convinced that being outside the EU would be bonkers – it would
badly harm our economy and hurt Scots in all sorts of unforeseen ways
too.
The Brexit vote reversed that overnight: all of the arguments we in
the unionist camp had used were made invalid at worst, questionable at
best. This doesn’t mean they were necessarily all wrong. But it does
mean that open-minded, rational No voters should at the very least
seriously re-consider things in the light of the staggering new context.
They should have an open ear to the experts saying that with
independence, jobs in Scotland’s financial and legal service sectors
will expand as English and international firms look to keep a foothold
in the EU. And to the reasonable prospect of an eventual £50+ oil price
might realistically open the way to a final, generational, upswing in
employment, and to security for Scotland’s extractive industries and
their supply chain. And to the idea that preserving Scotland’s social
democracy in the face of the Little Englander mentality of right-wing
English Tories might be worth the fight.

17.8.16

On 2 August, I attended a meeting in Roseburn organised by those opposed to the new cycleway planned by the city. Local shopkeepers fear they will see a reduction in business, unaware this is a common cycling fallacy: study after study has shown that adding cycleways increases business, not the reverse, because pedestrians and cyclists find the area more attractive.

Feelings in Roseburn run strong. The locals don't trust the council: who can blame them after the fiasco over trams? But the leaders of the campaign are adept at cherry picking statistics, and, sadly, neither side was listening to the other.

On 30 August, the Edinburgh Council Transport and Environment Committee will decide between two options for the cycle route, A and B. Route A is direct. Route B goes round the houses, adding substantial time and rendering the whole route less attractive. If B is built, the opportunity to shift the area away from cars, to make it a more pleasant place to be and draw more business from those travelling by foot, bus, and cycle, goes out the window.

Locals like neither A nor B, but in a spirit of compromise the Transport and Environment Committee may opt for B. This will be a disaster, as route B will be far less likely to draw people out of their cars and onto their cycles, undermining Edinburgh's ambitious programme to attract more people to cycling before it even gets off the ground.

Investing in cycling infrastructure can make an enormous difference. Scotland suffers 2000 deaths per year due to pollution, and 2500 deaths per year due to inactivity. The original proposal for the cycleway estimates benefits of £14.5M over ten years (largely from improved health of those attracted to cycling) vs a cost of £5.7M, a staggering 3.3x return on investment. Katie Cycles to School is a brilliant video from Pedal on Parliament that drives home how investment in cycling will improve lives for cyclists and non-cyclists alike.

The Transport Committee will need determination to carry the plan through to a successful conclusion. This is make or break: will Edinburgh be a city for cars or a city for people? Please write to your councillors and the transport and environment committee to let them know your views.

15.8.16

Many programming languages, especially domain-specific ones, are designed by amateurs. How do we prevent obvious irregularities and disasters in languages before they become widespread (aspects of Javascript and R come to mind).

Folk in the human-computer interaction community have a notion of 'expert evaluation'. I wonder if we could develop something similar for programming languages?

2.8.16

In the Huffington Post, Michael Moore give the most incisive (and hilarious) analysis I've seen. We have to understand why this is happening if we are to have a hope of preventing it.

1. Midwest Math, or Welcome to Our Rust Belt Brexit.
I believe Trump is going to focus much of his attention on the four
blue states in the rustbelt of the upper Great Lakes - Michigan, Ohio,
Pennsylvania and Wisconsin. Four traditionally Democratic states - but
each of them have elected a Republican governor since
2010 (only Pennsylvania has now finally elected a Democrat). In the
Michigan primary in March, more Michiganders came out to vote for the
Republicans (1.32 million) that the Democrats (1.19 million). Trump is
ahead of Hillary in the latest polls in Pennsylvania and tied with her
in Ohio. Tied? How can the race be this close after everything Trump has
said and done? Well maybe it’s because he’s said (correctly) that the
Clintons’ support of NAFTA helped to destroy the industrial states of
the Upper Midwest. ...

And this is
where the math comes in. In 2012, Mitt Romney lost by 64 electoral
votes. Add up the electoral votes cast by Michigan, Ohio, Pennsylvania
and Wisconsin. It’s 64. All Trump needs to do to win is to carry, as
he’s expected to do, the swath of traditional red states from Idaho to
Georgia (states that’ll never vote for Hillary
Clinton), and then he just needs these four rust belt states. He doesn’t
need Florida. He doesn’t need Colorado or Virginia. Just Michigan,
Ohio, Pennsylvania and Wisconsin. And that will put him over the top.
This is how it will happen in November.

4. The Depressed Sanders Vote. Stop fretting about
Bernie’s supporters not voting for Clinton - we’re voting for Clinton!
The polls already show that more Sanders voters will vote for Hillary
this year than the number of Hillary primary voters in ‘08 who then
voted for Obama. This is not the problem. The fire alarm that should be
going off is that while the average Bernie backer will drag him/herself
to the polls that day to somewhat reluctantly vote for Hillary, it will
be what’s called a “depressed vote” - meaning the voter doesn’t bring
five people to vote with her. He doesn’t volunteer 10 hours in the month
leading up to the election. She never talks in an excited voice when
asked why she’s voting for Hillary. A depressed voter. Because, when
you’re young, you have zero tolerance for phonies and BS. Returning to
the Clinton/Bush era for them is like suddenly having to pay for music,
or using MySpace or carrying around one of those big-ass portable
phones. They’re not going to vote for Trump; some will vote third party,
but many will just stay home. Hillary Clinton is going to have to do
something to give them a reason to support her — and picking a
moderate, bland-o, middle of the road old white guy as her running mate
is not the kind of edgy move that tells millenials that their vote is
important to Hillary. Having two women on the ticket - that was an
exciting idea. But then Hillary got scared and has decided to play it
safe. This is just one example of how she is killing the youth vote.

5.7.16

There is a new website in support of the Roseburn to Leith Walk Cycleway. I especially like their promise to be evidence-based and to cover both sides, something increasingly rare in political discourse.

We are an informal association of local residents working to get the best for our community from the Proposed Cycle Route. We've spent hundreds of hours gathering the facts.

Our promise

Our site is evidence-based, including the disadvantages. We are ready to engage in discussion with anyone. Tell us about errors or omissions and we'll fix them as soon as we can.

Our goals

Get the best for all residents. This is not a website advocating cycling. It's true that many of the founders do cycle, and many of us also drive.

Make decisions based on the facts. We are concerned how many
people are voicing fears and criticisms yet don't seem to know about
some of the most important data and studies.

Listen to all views, and bring people together for discussion. We
don't accept the whole notion of classifying people as 'cyclists' and
'drivers'. We are all ordinary people who use a variety of means of
travel appropriate to different situations.