24.3.13

 

Leveson and Blogs: Act now!


Anyone living in the UK will be aware of the active debate over Leveson and freedom of the press, but few will be aware of the alarming way in which this applies to blogs and web publishing.  The Open Rights Group is on the case:
Lord Leveson’s regulations are being applied to UK websites – in ways that could catch more or less anyone who publishes a blog. Ordinary bloggers could be threatened with exemplary damages and costs. If this happens, small website publishers will face terrible risks, or burdensome regulation – and many may simply stop publishing.
We have until Monday to stop this happening.Lord Leveson said he wanted to regulate print media. He proposed that judges  be allowed to award exemplary damages and full costs against unregulated publishers. These are stringent and controversial measures, but he only envisaged them applying to large and powerful publishers. Not websites, unless they belonged to print publishers.
Last weekend, the proposals were agreed in a rush, without public consultation, and with no attention to the detail.
Outrageously, they have given the Lords until Monday to fix their mistakes.The result is that they apply to any size of web publisher – if there’s more than one author, the content is edited and there’s a business involved, then you must join a self regulator.
Most blogs like this aren’t powerful publishing houses. Even ORGZine would need to be regulated, or face punitive measures if it ended up in court.
The threat of websites being regulated like this was never the purpose of Lord Leveson’s recommendations. Websites weren’t involved in phone hacking. There is no evidence that they need to be forced into self-regulation like this.
We need you to email Nick Clegg, Harriet Harman, and David Cameron to ask them to back off and leave the Internet out of Leveson.
Open Rights Group has a web page that will let you express your opinion to the relevant parties in less than a minute it.  Do it now!

Labels: ,


14.3.13

 

The Antikythera Mechanism in Lego


Lego can simulate the past and predict the future. The video is superbly presented, as much of an achievement as the recreation itself.

Labels: ,


 

Boxer

At Lambda the Ultimate, Sean McDirmid points to the intriguing paper Twenty Reasons You Should User Boxer (Instead of Logo), by Andrea di Sessa (co-author of Turtle Geometry).   What happened to Boxer? Is it available to try out? The Boxer website appears inactive, and only lists a Macintosh version. How hard is it to simulate a Mac on current hardware?


Labels:


 

Ineffective Sorts

From XKCD.  Reminds me too much of some of my students.

Labels:


13.3.13

 

Organising Everyday Disarray


Arthur responded to a previous comment by pointing me to an article on the remarkable work of Ursus Wehrli.

Labels:


 

Ellsberg salutes Manning

Daniel Ellsberg argues that Bradley Manning is a classic whistleblower, and deserves not life in prison but the Nobel Peace Prize.

Labels:


 

Things Organised Neatly

A tumblr, curated by Austin Radcliffe, spotted via Boing Boing.  Does what it says on the tin.  Bound to come in as useful to supply an illustration for a talk, someday.


Labels:


12.3.13

 

Informatics 1: Functional Programming

Videos of my 2009 lectures on functional programming in Haskell are available online from the University of Edinburgh.  There seems to be a cottage industry in videos explaining monads, see Lectures 18 and 19 (and 16 and 17) for my version, or see How to Declare an Imperative and Monads for Functional Programming if you prefer text to video.

Labels: ,


9.3.13

 

Newtown vs. Drones


George Monbiot compares sympathy for the victims of Newtown to indifference for civilian victims of drone strikes in Pakistan.  He draws on a detailed report from Stanford and NYU.
From June 2004 through mid-September 2012, available data indicate that drone strikes killed 2,562–3,325 people in Pakistan, of whom 474–881 were civilians, including 176 children. — The Bureau of Investigative Journalism

Labels:


 

Mustard Watches

Another paper by J.-Y. Girard that I will recommend to my students. Reveals deep insight into the techniques used by theoreticians—the payoff is in the final line.  Via Franck FS and Conor McBride.

Labels: ,


8.3.13

 

Siteswap

Siteswap is a notation for describing juggling patterns.  This video from the BBC features Colin Wright, Siteswap's inventor, explaining how between the patterns 4,4,0 and 4,4,2 they spotted the pattern 4,4,1, and thus notation enabled them to discover a way to juggle that no one had seen before. What better story to illustrate the power of programming languages?

Labels:


 

Planet Haskell

Planet Haskell republishes the RSS feed of my blog. As some readers have noted, not all my posts relate to Haskell.  Planet Haskell approached me to ask if they could republish my blog. If you feel my ratio of interesting entries is inadequate, request the Planet Haskell administrators to remove me from syndication. I'm happy with whatever readers of Planet Haskell prefer.

4.3.13

 

Pillar of Cloud three months on - The Infographic



From Al Jazeera.


Three months after the last major Israeli incursion into the Gaza Strip, the "period of calm" is only "calm" for Israel.

2.3.13

 

The IP of PI

Reminds me of the Library of Babel more than Life of Pi.  From The Math Kid, spotted via Into The Continuum.

 

Into the Continuum



A tumblr of amazing images, all created via Mathematica.

Mathematica code:
Rot80 = 
 Table[
  Table[
   RotationTransform[a, {1, 1, 0}, {0, 0, 0}][Tuples[{-1, 1}, 3][[v]]],
  {v, 1, 8, 1}],
{a, 0, 2 Pi,  Pi/80}]

Edge := {1, 2, 4, 3, 7, 8, 6, 5, 1, 3, 4, 8, 7, 5, 6, 2}

CubeTrail[h_, op_, N_, s_, r_, z_, t_, PR_, IS_, C_] :=
 Graphics[
  Table[
   Scale[
    Translate[
     {AbsoluteThickness[h], Opacity[op], 
      If[C == 1, Black, White],
      Line[
       Table[
        {Rot80[[1 + Mod[t, 80]]][[Edge[[e]]]][[1]],
         Rot80[[1 + Mod[t, 80]]][[Edge[[e]]]][[2]]},
        {e, 1, 16, 1}]]},
     r{Cos[2 Pi*(n*t/80 + k)/N], Sin[2 Pi*(n*t/80 + k)/N]}],
    z^n, r{Cos[2 Pi*(n*t/80 + k)/N], Sin[2 Pi*(n*t/80 + k)/N]}],
   {k, 1, N, 1},
   {n, 1, s, 1}],
  PlotRange -> PR, ImageSize -> 500, 
  Background -> If[C == 0, Black, White]]

Manipulate[P = {h, op, N, s, r, z, t, PR, IS, C};
 CubeTrail[h, op, N, s, r, z, t, PR, 500, 0],
{{h, 1}, 0, 20}, {op, 1, 0}, 
{{N, 4}, 1, 16, 1}, {s, 1, 100, 1}, 
{{r, 3.5}, 0, 10}, {z, 1, 0},
{{PR, 5}, 1, 5}, {C, 0, 1, 1},
{t, 0, 100, 1}]

P ={1.5, 1, 4, 8, 3.8, 0.75, 0, 5, 500, 0}

Manipulate[
CubeTrail[P[[1]],P[[2]],P[[3]],P[[4]],P[[5]],P[[6]],t,P[[8]],500,0],
{t, 1, 80, 1}]

This page is powered by Blogger. Isn't yours?