by acls us

CUSEC 2012 9-21 January 2012. Montreal, Canada

 CUSEC 2012

CUSEC 2012 19-21 January 2012. Montreal, Canada

This was my third year attending CUSEC. I was so impressed with the content and quality of the presentations over the last two years, that I decided to attend yet again.

Full details are available at


November 2012 note - Oh my, I just found that I hadn't written these notes up since January! So I'm just going to try to make them readable. I promise to do a better job for 2013.

Thursday, Jan 19, 2012

Just a general note to start. While I was queueing for Registration, the queue passed the Microsoft stand, one of the Microsoft guys looked at the queue and said "anybody like Microsoft?". Once again, the world moved away from them. Then when I got to registration desk, organisers recognised me! I think I may haver become a fixture.

#cusec #cusec2012


Jeremy Askenas - Creator of Coffeescript; Interactive News team, The New York Times.

What makes code strange

Still new

Ruby proves "language over structure"

Extreme range of sizes - bits to massive cloud

It's new because nothing else in engineering is so hierarchical

Knuths definition

Code is many levels away from the physical circuitry

Code as law (for the machine)

Code as art

Code has a dual audience - machine and programmer

Structured vs literate programming

Code is (still) writing why don't we design code by visual means?


Atefeh Farzindar - (NLP Technologies Inc, Founder; Université de Montréal, Adjunct Professor)

natual language processing

Mostly about text analysis of text feeds, rss, web etc

Mostly for legal work


Manveer Heir - (Bioware, Senior Designer)

Games - big money > $60B

(Maybe too many video clips in this presentation)

Some background, games from the age of 4 to help motor skills

Moved up thru a couple of games companies

15 years hard work, 1 game shipped, 5 more yrs to ideal job

The game is broken nearly all the way through the development cycle

Someone has to make the Barbie Horse Adventures

Words of advice, could apply to any company, buts a little worse in video games


Key Note - Andrew Rothbart - (Facebook, Software Engineer) 

Facebook web scale

Facebook URL crawler 'like' button external (uses AJAX)

Gathers data from the liked URL

Sites can use FB specific tags for FB to get context from

Cache the result of the URL parse using the sites TTL

But cache becomes stale, new crawl in background

Problems - php script timeout, race condition, wasted time waiting

After Ajax like send tcp MSG to cluster serialise requests (stride) generate hash and hand out to other servers, multicurl requests.

Need to handle http redirect chains, perm/temp cross domain redirects

(hphp !!!!)


Demo camp

(Only allowed 10 mins to demo and no PowerPoint or keynote)

Sharplinker - create a profile with different social sites, generate qrcode, link to sites

Campus social - event management and advertising

Shoplocket - create a product page with text a graphics, select style, generates Iframe code

NetSqlAzMan - .net 4 sql with manager, moving to other data sources

Some game thing? (mindcraft) - I think jet lag kicked in here


Friday, Jan 20, 2012


Brian Candwell Smith - (Dean of the Faculty of Information Studies at University of Toronto)

Reference and Identify on the Net

Replace links - URL Dns ip etc etc

Similar stuff in published word, loads in ancient docs

Identity - revisions, files

sync issues when files contain a ref to another file

The ref should be to "the file I'm working on"

Identity of documents complex, versions, translation, analysis off

Files "related" to documents



Dont try to identify all types gets pedantic

Object identity depends on perspective

Fan calculus

(3 Lisp?)


Gayle Laakmann McDowell - (Founder and CEO of

Cracking the interview

Stuff about how to get thru the interview

Different techniques depending on size and style of company

This must all be ******, coaching people to pass interviews? can't the interviewer tell?

Annoying voice (sorry Gayle)


Susan Ibach - (Microsoft, Developer Evangelist)

Not a big turn out!

Windows phone development

Basic stuff in tools, testing and market

App hub - vsexpress and sp1 and sdk

Demo of creating an app and using the emulator

Need Zoon to test, also need to register phone with ms - costs

Then some reasons for developing apps

The imagine cup


Bret Victor - (UI Designer)

Inverting on Principle

Principle for building a career and life

Immediate connection between code and output needed

Screen like a book with output on left code on right, slider to alter values, can effect immediately

Also mapping between output and code, select code or output and see what affects what

Other effects that allow time line mods

Example of binary search - need to mentally visualise the array

Examle of electronic oscillator with LEDs that light up and voltage levels

Animation created very interactively

From his pov these were violations of his principle, had to fix

Other examples of technology that grew out of principle


Saturday, Jan 21, 2012


Rian Hunter - (Dropbox, Engineer)

Dropbox osx finder integration

Inject their own code into finder

They want to become the file system for the Internet


Greg Kroah-Hartman - (Linux Kernel Developer)

Linux Kernel Development

36.5k files 15m lines of code

2823 devs in 379 companies

86% America power

Euro airspace, stock exchanges 100%

Release every 2.75 months, rc every 2 weeks

Stable release forked from base and chucked as next tree release

700 maintainers that marshal mods/fixes

Based audited code in the world, all changes logged and checked by two people

Then passed up to subsystem maintainer 150 of them

Daily build

Enterprise and embedded work on a 2yr basis and do big test

There is no road map, mostly reaction

3rd top (by quantity) developer works for MS !!

Top company contribs red hat intel Novell IBM

The very top is amateurs 16%

Linux kernel in a nut shell - download


Alex Daskalov - (Develops Educational Software)

Concurrency - because single CPU speed limit

Locking can slow us down bad lead to deadlocks

Software transactional memory STM

Make change then check after if something else did it and redo

Or don't share memory pass messages




Functional languages vs imperative


Alexis Ohanian - (Co-founder, Reddit; Founder, Breadpig, Das Kapital Capital)

It's the world's Internet !


(links with presentation by Bret)

I didn't make notes because it was too interesting!