Speakers

The CUSEC 2010 speaker list is still being finalized. If you have any suggestions, get in touch with Phill Mendonça-Vieira

Keynotes

Reginald Braithwaite

Reg is a software developer and development manager with more than twenty years of professional experience. He maintains an un-blog for programmers, and has spoken at conferences like RubyFringe, MeshU and StackOverflow's DevDays. Read the announcement. Website: http://reginald.braythwayt.com/

Douglas Crockford

Douglas Crockford is a Senior JavaScript Architect at Yahoo!, well known for introducing and maintaining the JSON (JavaScript Object Notation) format. He's a regular speaker at conferences on advanced JavaScript topics, and serves on the ECMAScript committee. Software, on the web or elsewhere, is the most complicated stuff that humans make. In this presentation Douglas Crockford discusses the 40-year-old Software Crisis and the grand subject of "Quality" - the processes by which we engineer quality into our software and, of course, the processes by which we often fail to do so. Read the announcement. Website: http://www.crockford.com/

Jacqui Maher

Jacqui Maher has worked with and visited Baobab Health in Lilongwe, Malawi. Baobab is a dedicated group of programmers, clinicians and administrators developing public health and patient data administration systems. They use a variety of hardware and software technologies, but their main applications are written in Ruby on Rails. This talk will discuss:
  • OpenMRS, a framework for open medical record management, currently undergoing international standardization
  • Using Ruby in the third world: why it makes sense to start with the new
  • Building an infrastructure and software from the ground up
  • Collaboration with a global network of developers using GitHub: the positives and negatives
  • Development and deployment challenges in the third world
  • How technology can create a common ground between disparate cultures and groups
  • The importance of pinpointing a leader to guide the team in achieving measured goals and mapping out a strategy for incorporating external changes
  • Website: http://brighter.net

    Matthew Knox

    Matt is currently a professional Ruby developer and instructor. He has deployed more Scheme runtime than anyone else on the planet. Read the announcement. Website: http://mattknox.com/

    Thomas Ptacek

    Thomas has over ten years of experience in product development and security research. He is a co-founder of Matasano Security, an independent security research and development firm. Read the announcement.

    Greg Wilson

    Greg Wilson is an Assistant-Professor at UofT’s Department of Computer Science. In between lectures, Greg co-edited Beautiful Code, leads a Canada-wide open source project for students, and maintains a blog about software. Greg spoke at CUSEC 2005 as an academic speaker. Generally, we try not to repeat speakers but because 1) very few of you attended CUSEC 2005 2) his message is so important, we decided to invite him back for CUSEC 2010.

    Bits of Evidence: What We Actually Know About Software Development, and Why We Believe It's True

    By the time the Seven Years War ended in 1763, Britain had lost 1512 sailors in action, but almost 100,000 to scurvy, despite the fact that the Scottish surgeon James Lind had shown twenty years earlier that a little lemon juice every day was enough to prevent or cure the dreaded ailment. It was more than a century before medical practitioners began paying attention to controlled trials of this kind: as recently as the 1950s, many doctors rejected statistical results linking smoking to cancer, saying that what happened "on average" was of no help when they were faced with a specific patient. Today, though, most practitioners accepted that decisions about the care of individual patients should be based on conscientious, explicit, and judicious use of current best evidence. The idea that claims about software development practices should be based on evidence is still foreign to software developers, who often talk as if a beer and an anecdote constituted proof. This is finally starting to change: any academic who claims that a particular tool or practice makes software development faster, cheaper, or more reliable is now expected to back up that claim with some sort of empirical study. Such studies are difficult to do well, but hundreds have now been published covering almost every aspect of software development. This talk will look at some of the best of those studies, which are as elegant as classic experiments in physics, psychology, and other scientific disciplines.
    Read the announcement. Website: http://pyre.third-bit.com/

    Corporate Speakers

    Pete Forde (Unspace)

    Unhindered by the constraints of any recognized education whatsoever, Pete has variously been a zine publisher, a tunnel explorer, an anarchist, a touring rock drummer, and a narcoleptic insomniac. He was a founding partner of Unspace, a successful team of Ruby hackers in Toronto. After 25 years of programming, Pete turned 31 and realized it was time for Act 2.

    NSFW

    On my birthday in 1999, I got fired from my only real job (ever) after only six months for having a 'bad attitude'. In hindsight, my attitude was fucking awesome but the path I took rendered me unemployable in any traditional workplace. In this talk, I'll tell you what I've learned in the decade since I fell asleep under my desk during a client demo and how it led to the creation of Unspace.

    Vince Silvestri (Evertz)

    Vince Silvestri is currently the Director of Advanced Software Design at Evertz Microsystems -- an international engineering firm that designs and manufactures equipment for television broadcast and film production. Vince is is a 2002 graduate of the Computer Science Program at McMaster University. Starting as an intern, Vince has maintained nine years of progressive employment with Evertz in an engineering capacity and has contributed to many projects as a software developer, architect and team lead. The projects have ranged in scope from embedded systems, computer graphics, signal analysis, control systems, web and other user interface applications including the ground breaking MVP video processing and analysis system.

    Rob Tyrie (NEXJ)

    Rob Tyrie is a serial entrepreneur. NexJ is the seventh software start-up that he is helping grow. His speciality is in building and leading Professional Service Practices in enterprise software companies. He has worked in large and small companies, including Janna Systems which was purchased for $1.4 Billion in 2000. By training he is a computer scientist, and thankfully, he leaves the heavy lifting to his team.

    Larry Gadea (Twitter)

    Larry is an Infrastructure Engineer at Twitter Inc working to build distributed systems to help the service scale during its current record growth. Previous to Twitter, he was involved in an ongoing Internship at Google working on such projects as Google Desktop, Lively and Android. Larry is also a class of 2009 Software Engineering graduate from Carleton University. Follow him on Twitter at http://twitter.com/lg!

    David Turek (IBM)

    Dave is currently the Vice President of Deep Computing at IBM with responsibility for IBM's overall high performance computing strategy. In previous executive positions Dave helped launch IBM's Grid Computing business, and started and ran IBM's Linux Cluster business. As a development executive he had responsibility for IBM's SP supercomputer program as well as the mainframe version of AIX and other Unix software. In that capacity he orchestrated the initial IBM development effort in support of the US Accelerated Strategic Computing Initiative at Lawrence Livermore National Laboratory. He has been recognized for his contributions to the Roadrunner program at Los Alamos National Laboratory in the Congressional Record and sits on the Advisory Committee to the National Simulation Center at the University of Tennessee at Chattanooga. Dave has degrees in Philosophy and Mathematics from the University of Rochester, a Masters Degree from Trinity College, and advanced study at the University of Pennsylvania in Operations Research.

    Sergei Savchenko (EA)

    Sergei Savchenko is a Studio CTO for Electronic Arts Montreal. A graduate of Montreal's McGill University with B.Sc. and M.Sc. in Computer Science he started coding shareware PC and NeXT games in the early 90s. He worked at The 3DO Company on Army Men and Might and Magic franchises and was later a founder of Skwork Studio that went on to release several mobile and PDA games. At EA Montreal, he worked on Medal Of Honor, SSX, NHL, Army of Two, Boogie, Spore, Skate and Need for Speed franchises. He is also the author of "3D Graphics Programming: Games and Beyond" as well as multiple articles on rendering and AI.

    Tutorial Speakers

    Dominic Duval

    Dominic works for Red Hat as a consultant and specializes in kernel development. He started working with Linux in 1995 and co-founded the Sherbrooke University Linux User Group (GULUS) while studying software engineering. He applied his Linux knowledge to embedded systems and started teaching at Linuxcare, IBM, 8D Technologies, and Novell in various parts of the world. He joined Red Hat in 2004 becoming the first employee based in Montreal. He now spends most of his time in New York and focuses on Linux in the financial industry.

    Marc-André Cournoyer

    Marc-André Cournoyer is a father, snowboarder & coder from Montréal, QC. He's currently bootstraping his own startup, Talker, a revolutionary group chat app. He coded tinyrb, Thin, RefactorMyCode.com & other stuff, mostly in Ruby. You can find him online, blogging or tweeting and offline snowboarding and massacring songs on the guitar.

    Leigh Honeywell

    Leigh Honeywell is a jane of many trades. By day she works at a major security vendor while finishing up a degree at the University of Toronto. By night (and sometimes over lunch) she is a co-founder and director of HackLab.TO, Toronto's hacker space. She also serves on the board of advisors of the SecTor security conference, is a Google Summer of Code mentor, as well as an avid cyclist, book nerd, and traveller.

    Mark Pavlidis

    Mark Pavlidis is a mobile and emerging technology consultant based in Toronto. He spent the past year creating the Kobo (née Shortcovers) iPhone eBook reader and bookstore, and is currently tackling the social networking signal-to-noise ratio problem. Mark holds a B.Eng&Mgt. and M.A.Sc in Software Engineering from McMaster University, where he teaches a course in Internet Applications.

    Academic Speakers

    Dan Berry (University of Waterloo)

    Daniel M. Berry got his B.S. in Mathematics from Rensselaer Polytechnic Institute, Troy, New York, USA in 1969 and his Ph.D. in Computer Science from Brown University, Providence, Rhode Island, USA in 1974. He was on the faculty of the Computer Science Department at the University of California, Los Angeles, California, USA from 1972 until 1987. He was in the Computer Science Faculty at the Technion, Haifa, Israel from 1987 until 1999. From 1990 until 1994, he worked for half of each year at the Software Engineering Institute at Carnegie Mellon University, Pittsburgh, Pennsylvania, USA, where he was part of a group that built CMU's Master of Software Engineering program. During the 1998-1999 academic year, he visited the Computer Systems Group at the University of Waterloo in Waterloo, Ontario, Canada. In 1999, Berry moved to the the Cheriton School of Computer Science at the University of Waterloo. Prof. Berry's current research interests are software engineering in general, and requirements engineering and electronic publishing in the specific.

    Ambiguity in Natural Language Requirements Documents

    When requirements are written, as they usually are, in natural language, ambiguity is a major cause of their not specifying what they should and implementers implementing the wrong system. Simple misuse of the language in which the document is written is one source of these ambiguities. This talk argues that even when formal methods are used, natural language is key in requirements engineering. The talk describes the ambiguity phenomenon from several points of view, including linguistics and software engineering. Several strategies for avoiding and detecting ambiguities are presented. Strong emphasis is given on the problems arising from the use of heavily used and seemingly unambiguous words, phrases, and constructs such as "all", "each", "every", and plural in defining or referencing sets; the positioning of "only" and "also"; and referents of pronouns. Many examples from requirements documents are examined.

    Constantinos Constantinides (Concordia University)

    Constantinos Constantinides is an Associate Professor at Concordia University. Prior to joining the faculty at Concordia he worked at Birkbeck, University of London (UK), Loyola University Chicago, Roosevelt University, and Illinois Institute of Technology. He is a licensed professional engineer with Professional Engineers Ontario. He holds a Certificate in Teaching and Learning in Higher Education from Institute of Education, University of London (UK), a Ph.D. degree in Computer Science from Illinois Institute of Technology, an M.S. degree in Computer Science from New York Institute of Technology, a Graduate Certificate in Engineering from City University (UK) and a B.Sc. degree in Electronics from Keele University (UK).

    Program comprehension in AspectJ

    AspectJ is a general-purpose aspect-oriented extension to the Java language. It is today perhaps the most notable AOP technology. Its design has influenced the design of several (if not most) other aspect-oriented languages and its constructs provide a de facto standard vocabulary to discuss the underlying paradigm. In this talk I will discuss certain maintenance problems the AspectJ language has introduced, associated with program comprehension, change impact analysis and change implementation. Comprehension in particular has shown to be very costly during maintenance. To this end, automation and tool support is vital. The Eclipse AspectJ Development Tools (AJDT) provides some level of visualization but not enough to support complex queries. I will then discuss our ongoing research to perform static program analysis through declarative reasoning.

    Doug Down (McMaster University)

    Douglas Down is an Associate Professor in the Department of Computing and Software at McMaster University.  He did his undergraduate and Masters work at the University of Toronto, then moved to the University of Illinois at Urbana-Champaign for his doctoral studies.  Before coming to McMaster, he did postdoctoral work in The Netherlands, Finland and France and was a faculty member at Georgia Tech.  His research interests mainly lie in performance evaluation and resource allocation for distributed systems.

    Cloud Computing - Some Issues from an Academic Perspective

    The cloud computing paradigm has gained momentum over the last couple of years, providing a means to perform "pay-as-you-go" computing through a service provider.  In this talk, I will give a brief overview of the evolution of cloud computing, then discuss several research problems that we are considering at McMaster that involve issues in when and how it would be effective for an organization to employ cloud computing as part of their information technology strategy.

    Mohamad Eid and Nizar Sakir (University of Ottawa, DISCOVER Lab)

    Mohamad Eid joined the School of Information Technology and Engineering (SITE) at University of Ottawa, where he is currently a Ph. D. candidate. The study is supported by a full admission scholarship from the University of Ottawa. His research interests include haptic technologies and applications, haptic rendering and modeling algorithms, collision detection and response algorithms, and adaptive haptic framework. He is currently working on the design and development of an Ambient Intelligence framework for collaborative haptic environments. Nizar Sakr received the B.A.Sc. in Computer Engineering (Summa cum laude) and the M.A.Sc. in Electrical Engineering from the University of Ottawa, Ottawa, ON, Canada in 2004 and 2006, respectively. He is currently pursuing the Ph.D. degree in Electrical and Computer Engineering at the School of Information Technology and Engineering at the University of Ottawa. His current research interests include haptics, image processing, computational intelligence: theory and applications, machine learning and biometrics. He is a student member of IEEE. He is also the Chair of the IEEE Computational Intelligence Society - Ottawa Chapter.

    Bring the Touch: Haptic Technologies and Applications

    Haptics, a term that was derived from the Greek verb "haptesthai" meaning "to touch", refers to the science of sensing and manipulation through touch.  The science of haptics has received significant attention in the last decade in the context of 3D virtual environments and game development.  This talk traces the evolution of haptics technology from the preliminary experimental studies up to the most recent research status, including human haptics, machine haptics, and computer haptics.  Furthermore, the talk reviews state-of-the-art applications such as gaming and entertainment, learning tools, medical training and rehabilitation, and biometrics.  The route involves introductory concepts, basic haptic system architectures, haptics technologies, and haptics applications.