CUSEC 2012 9-21 January 2012. Montreal, Canada
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 http://2012.cusec.net/
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 CUSEC.sharplinker.com
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 campsoc.com
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
Solution?
Zeugmatic
Dont try to identify all types gets pedantic
Object identity depends on perspective
Fan calculus
(3 Lisp?)
Gayle Laakmann McDowell - (Founder and CEO of CareerCup.com)
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
Erlang
Scheme
Scala
Functional languages vs imperative
Alexis Ohanian - (Co-founder, Reddit; Founder, Breadpig, Das Kapital Capital)
It's the world's Internet !
SOPA
(links with presentation by Bret)
I didn't make notes because it was too interesting!