Posts tagged as:

Damian Conway

Notes from Damian Conway’s Presentation

by Joey deVilla on July 26, 2008

Damian Conway - July 16, 2008

Here are my notes on Damian Conway’s presentation, Temporally Quaquaversal Virtual Nanomachine Programming in Multiple Topologically Connected Quantum-Relativistic Parallel Timespaces…Made Easy, which he gave on Wednesday, July 16th at the University of Toronto’s Bahen Centre. This presentation was a dry run for the presentation he made on Tuesday at the O’Reilly Open Source Conference (OSCON) 2008. The talk ran for about two hours, and the time allotted for it at OSCON 2008 was one hour. He incorporated parts of earlier talks into this one, so I suspect that he condensed those parts.

Damian was in fine form and it was good to catch another one of his funny, off-the-wall presentations; it was a good warm-up for RubyFringe.

- I'd just celebrated my 42nd birthday was doing some reflection
- I thought maybe now it was time to get serious [yeah, right]

- The original title for this presentation was going to be something
  like "The lies we tell ourselves"
- Consider the myths that we in the F/OSS world tell ourselves:
    - Consider ESR's line, "Given enought eyeballs, all bugs are shallow"
    - Speaking from experience, that's not true.
      What *is* true is: "Given eniugh eyeballs, all *bug reports*
      are shallow"
    - Then there's the line "Fast, cheap, good: pick any two."
    - What closer to reality? "Fast, cheap, good: pick at most one."
    - The biggest lie is probably "Information wants to be free"
    - You might as well be saying
        - "Beer wants to be drunk"
        - "Virginity wants to be lost"
        - or...

Slide from Damian Conway\'s presentation: \"An iPhone data plan wants to be vastly more expensive in Canada\"

        - An iPhone data plan wants to be vastly more expensive
          in Canada

- The bad angel on my shoulder has been telling me lies: "Damian, you're not
  just an amazing hacker, you're a deep thinker as well!"
- The truth is that I'm not good at analyzing reality -- I'm good at
  *manipulating reality via language*

- That's a popular lie we tell ourselves: that "Smart is distributive"
- In other words, we think that if we do well in one area, perhaps we
  can do well in others
- Genius is a *vector*, not a *field*
- Convincing ourselves that genius is distributive is a sign of aging

[ Damian launches into funny photo essay showing his hair greying
  after joining the world of Perl programming. He then shows Larry
  Wall over the same time period, noting that he looks pretty much
  the same. He hypothesizes that Larry doesn't age, and as proof,
  shows an amusing series of Photoshopped photos of Larry through
  the ages, ending with ancient Egypt. ]
- You can derive two bits of knowledge from all this:
    - Perl 5 isn't line noise, it's *hieroglyphics*!
    - As for when Perl 6 is coming out, keep in mind that
      Larry has all the time in  the world

\"Larry Wall does not age\" slide from Damian Conway\'s presentation

- Back in 2000, I decided to introduce superpositions (the ones from
  quantum physics) into Perl.
- There's the "any" function, which is not so rigid, which is why
  I call it the "Canadian superposition"
- There's the "all" function, which is quite rigid, which is why
  I call it the "American superposition" (which will come to liberate
  you with its troops!)
- Superposition functions are constant-time operations
- You can ue them now with "use Quantum::Superpositions"
- They're part of Perl 6
- Other junction functions:
    - none
    - one

[ He goes into a discussion about relativity, light cones, quantum
  physics and the whole "Brief History of Time" ball of wax,
  a condensed version of his "Time::Space::Continuum talk.
  I now look at gravitational lensing in a different way! ]

- I'm always chasing after new mental models of programming
- While doing that, I keep this motto in mind: Progressio defectum postulat
  ("Progress requires failure")

- There's something I call Rod Logic: that's computation via levers,
  gears and cams
- Doesn't "Rod Logic" sound like a 1950's science fiction hero
  written for boys?

\"Rod Logic book covers\" slide from Damian Conway\'s presentation

- Think of Babbage's engines
- Eric Drexler has shrunk rod logic: using carbon nanotubes as
  nano-sized levers, he's made mechanical logic gates
- Can't I use rod logic for Perl?
- I created a straight line language that could charitably be described
  as "Readability suboptimal"

[ He demonstrates a language that's made of nothing but straight-line
  characters -- _, -, [, ], <, >, \, |, /. It makes Perl look like
  a storybook for first grade readers in comparison. ]

[ Discussion of positrons -- electrons with positive charge -- and
  Feynman diagrams. One of the consequences of drawing the release
  of a positron on a Feynman diagram is that they are travelling
  leftwards on the "time" axis. They are going backwards in time!

  He then showed an application that takes the idea of particles
  travelling backwards in time and applied them to variables.
  The end result? Positronic variables! ]

- use Positronic::Variables
- They come into existence at end of block, and travel backwards
  in runtime
- With a positronic variable, you can declare a variable that
  holds values you'll need later, and they'll travel back in time
  where your program "catches up" with them later
- Makes the square root finding algorithm so much easier!
- The trick is that positronic variable programs get run through
  a preprocessor that repeatedly runs through the app
- This will works only on programs with convergent algorithms
- "I will eventually develop a positronic debugger,
  and I have been using it."

- And finally, if you look at everything I talked about this evening,
  you have the title of this talk explained: "Temporally Quaquaversal
  Virtual Nanomachine Programming in Multiple Topologically Connected
  Quantum-Relativistic Parallel Timespaces…Made Easy.

===

Q & A

- Earlier at lunch with Richard Dice, I told him: "There's no crowd like
  a Toronto crowd." You're wonderful, thank you!

- What's up with Perl 6?
    - For the past few years, there have been on average hundreds
      of doc changes committed
    - This year, there are fewer than 100
    - What does it mean? That we got it right
    - And yes, Larry's implementing
    - Which means that we are in a new phase in the development
      of Perl 6: the end phase"
    - This is going to be an awesome language
    - I've been working with early releases of Perl 6, and I've noticed
      how irritating it is to go back to Perl 5

- Now let me talk about Perl 5.10
    - There are many improvements that are largely about making life easier
      and programming less annoying.
    - Consider the say function -- simple, but not having to add a newline
        and the end of print strings makes a lot of difference
    - That's the whole point -- they looked at the really basic stuff
      that we do all the time and made it simpler
    - Another example, the "//" operator, called "defined or". It
      returns the left argument if it's defined, otherwise
      it returns the returns the right argument
    - At long last, Perl has a switch statement!

- Does any of this stuff lend itself to multicore?
    - Junctions and superpositions are a natural fit for multiprocessors
    - With languages that have junctions, it should at least be possible
      to automatically farm junction operations to parallel processors

- How hard was it to write your modules based on quantum physics?
    - Easier than you think
    - What helped what that I had the quantum physics metaphor to guide me
    - The trick is to understand the metaphor,
      and implement it consistently
    - Remember: quantum mechanics is one of the most rigorously
      tested systems we've ever conceived

- Are positronic variables another way of implementing
  constraint-based programming?
    - YES!
    - In fact, this is a good time to explain why I do all this
      odd stuff, taking concepts from quantum physics and then applying
      them to Perl
    - I use odd metaphors to think up new programming paradigms

{ 0 comments }

Damian Conway Tonight!

by Joey deVilla on July 16, 2008

Damian Conway - July 16, 2008

Damian Conway, Perl expert extraordinaire, Open Source luminary and long-time friend of the Toronto Perl Mongers, will deliver — free and to the public — one of his signature tour-de-force completely insane talks that is…

  • 1/3 high-end IT,
  • 1/3 showmanship,
  • and 1/3 peyote-fuelled hallucination.

Tonight will be the world premiere of a new talk, which goes under the title of Temporally Quaquaversal Virtual Nanomachine Programming in Multiple Topologically Connected Quantum-Relativistic Parallel Timespaces…Made Easy.

As with the fanciful titles of his other talks, it’s hard to tell what it’ll actually be about, but having seen a couple of his presentations, I can guarantee that it will be a slightly-askew look at technology done in an engaging and hilarious fashion. Better still, you’ll be the first to see this presentation, which is a dress rehearsal for the O’Reilly Open Source Conference taking place later this month in Portland, Oregon.

Best of all, unlike the people at the Open Source Conference who’ll have to shell out something in the neighbourhood of $2000, admission to this event is absolutely free. (They will be taking up a collection for Damian in order to provide him some sort of honorarium for his doing the presentation, and some of the DemoCamp money is also going to Damian).

If you’d like to catch this event (I’ll be there), it’s tonight at the Bahen Centre for Information Technology, which is on 40 St. George Street (just north of College), right in the middle of the University of Toronto campus.

As I like to say for this sort of event: be there and be square!

{ 0 comments }

This Week in Toronto Tech

by Joey deVilla on July 14, 2008

Toronto Tech People
Just a small sample of the people that make Toronto’s tech community great.

This week is going to be a week unlike any other in the Toronto technology scene: a week of events created not by municipal groups, large techno-conglomerates or industry think tanks, but by small groups of passionate individuals who enjoys working with both people and technology.

These events don’t have the benefit of major sponsorship or media coverage, nor will they be lining their organizers’ wallets. They’re events put together by amateurs in the original sense of the word: people who do it not for profit, but for their love of their craft, in the hope that both the attendees and even the field itself will be advanced from insights, understanding and knowledge gained by gathering together and exchanging ideas.

It’ll be a busy week for me. I’ll not only be attending these events, but I’ll also be MCing two of them as well. I’ll be posting reports from these gatherings here — keep watching this blog!

DemoCamp 18: Tuesday July 15th, 5:30 p.m. - 9:30 p.m. at Supermarket

DemoCamp Toronto 18: Tuesday, July 15th @ Supermarket

DemoCamp 18 is the eighteenth gathering of the bright lights in Toronto’s software development community where we show each other our projects in action. DemoCamp has grown from a gathering of a couple dozen in late 2005 to a meetup of hundreds at locations like the MaRS Centre and the Toronto Board of Trade and was voted “Toronto’s Best Unconference” earlier this year by BlogTO. It’s given many local software people the chance to showcase their work, meet other people in their field, make connections, get jobs and even get venture capitalist funding (that’s what happened to b5media, for whom I work).

I’m one of DemoCamp’s stewards and will be co-MCing DemoCamp.

You can see the schedule of events for DemoCamp 18 at the DemoCamp.info site. This event’s tickets — a good number of which were free, the remainder going for five or ten dollars — got snapped up within hours of becoming available.

Damian Conway: Wednesday, July 16th, 6:30 p.m. - 9:30 p.m. at the Bahen Centre, U of T

Damian Conway - July 16, 2008

The Perl programming language has been given the nickname “the duct tape of the internet” because of its importance in the development of the early web. Damian Conway is its most eloquent spokesperson and a speaker who can turn the dryest of academic lectures into a brain-tickling comic monologue that delivers both laughs and technical insight.

On Wednesday, Toronto will play host to the world premiere of his new talk, titled Temporally Quaquaversal Virtual Nanomachine Programming in Multiple Topologically Connected Quantum-Relativistic Parallel Timespaces… Made Easy. The event will be held at the Bahen Centre at the University of Toronto and it will be free of charge. For more details, see its Upcoming page.

FAILCamp: Friday July 18th, 4:00 p.m. - 7:00 p.m. at The Rhino

FAILCamp

I’ll let the FAILCamp creators, Amy Hoy and Thomas Fuchs do the talking:

“My reputation grows with every failure,” wrote George Bernard Shaw in a letter to fellow author Frank Harris. A healthy attitude towards the natural state of humanity, if you ask us.

We all know failure: public, private, large, small, free or costly, embarrassing or funny or poignant (or all of the above). We have all experienced what our friend Patrick has called “the beautiful rainbow of Fail.” And we tend to stuff it in the closet, keep it under wraps, don’t-ask-don’t-tell or any other number of hidey clichés that poor, beautiful rainbows should not be subject to. We believe that it’s time to give our personal fail some tough love and talk it out over beer!

Join us for a brief, rousing introduction followed by comraderie, beer, and Show and Tell. We’ll present a little about failure through the ages, mining your personal suck, maybe some science, pithy quotes from people you may or may not respect, and share some failure stories of our own.

Then it’ll be your turn. If all goes to plan, you may even win in our friendly “race to the bottom” for the most public, most expensive, or most ridiculous Story of Fail.

Also, did we mention beer?

For more details, see FAILCamp’s event page on Facebook.

RubyFringe: Friday July 18th - Sunday July 20th at the Metropolitan Toronto Hotel

RubyFringe

Finally, the upcoming weekend belongs to RubyFringe, the “deep nerd tech with punk rock spirit conference”.

“RubyFringe,” says its site, “RubyFringe is an avant-garde conference for developers that are excited about emerging Ruby projects and technologies. We’re mounting a unique and eccentric gathering of the people and projects that are driving things forward in our community.”

I’ll be MCing the opening night’s events at the Amsterdam Brewery. Alas, tickets are sold out!

{ 3 comments }