Saturday and Sunday, October 9th and 10th, 2010
   Forgot Password?






Sessions
Sort by:                                 
A well-typed program never goes wrong
Wiki Here
Speaker: Julien Wetterwald   
Level: Intermediate   |   Room: Unknown   |   Agenda Not Made Yet
We will spend this session talking about type safety. After defining this desirable property, we will look at various examples where broken but well-typed programs are converted to ill-typed programs. In other words, we will learn to leverage the type system in order to detect issues as early as possible. All examples presented in this session are coming straight out of kaChing's code base. Previous exposure to Java and Scala is recommended.
Applying Compiler Techniques to Iterate At Blazing Speed
Wiki Here
Level: Advanced   |   Room: Unknown   |   Agenda Not Made Yet

In this session, we will present real life applications of compiler techniques helping kaChing achieve ultra confidence and power its incredible 5 minutes commit-to-production cycle [1]. We'll talk about idempotency analysis [2], dependency detection, on the fly optimisations, automatic memoization [3], type unification [4] and more! This talk is not suitable for the faint-hearted... If you want to dive deep, learn about advanced JVM topics, devoure bytecode and see first hand applications of theoretical computer science, join us.

[1] http://eng.kaching.com/2010/05/deployment-infrastructure-for.html

[2] http://en.wikipedia.org/wiki/Idempotence

[3] http://en.wikipedia.org/wiki/Memoization

[4] http://eng.kaching.com/2009/10/unifying-type-parameters-in-java.html

Extreme Testing at kaChing: From Commit to Production in 5 Minutes
Wiki Here
Speaker: Pascal-Louis Perez   
Level: Intermediate   |   Room: Unknown   |   Agenda Not Made Yet

At kaChing (www.kaching.com), we are on a 5-minute commit-to-production cycle. We have adopted continuous deployment as a way of life and as the natural next step to continuous integration.

In this talk, I will present how we achieved the core of our extreme iteration cycles: test-driven development or how to automate quality assurance. We will start at a very high level and look at the two fundamental aspects of software: transformations, which are stateless data operations, and interactions, which deal with state (such as a database, or an e-mail server). With this background we will delve into practical matters and survey kaChing's testing infrastructure by motivating each category of tests with different kind of problems often encountered. Finally, we will look at software patterns that lend themselves to testing and achieving separation of concerns allowing unparalleled software composability.

This talk will focus on Java and the JVM even though the discussion will be largely applicable.

Check out http://eng.kaching.com/search/label/tests for the latest from our company's blog.

For Those About to Mock
Wiki Here
Speaker: Mathias Brandewinder   
Level: Advanced   |   Room: Unknown   |   Agenda Not Made Yet
If you want to prove that a complex system works, a good place to start is to check that each piece is working right. Unit testing intends to do just that: take a unit of your code, and verify that it behaves properly. Unfortunately, in “real” software, dependencies between classes make testing in isolation difficult. Mocking is a technique designed to overcome that issue, and replace dependencies by Mocks, lightweight versions of the “real thing”, allowing you to validate the interactions of a class with its “collaborators”. I will discuss reasons you should care about mocks, illustrate how you would go about addressing them by rolling your own mocks & stubs, and demonstrate two free, open-source frameworks, Rhino.Mocks and Moq, which will greatly simplify your job. Mocks and Stubs can sound intimidating – the goal of this presentation is to demystify the topic and give you a clear understanding of what they are, where they can help you, and to give you a good quick-start so that you can productively use them in your own code.
intro to Test Driven Development for C# developers
Wiki Here
Speaker: Mathias Brandewinder   
Level: Beginner   |   Room: Unknown   |   Agenda Not Made Yet
If you want to write “clean code that works – now”, you should look into test-driven development. In a nutshell, the idea of TDD is to first write automated tests, and only then the code that should pass the test. It is a simple and methodical way to write good code, fully tested from the get-go; beyond that, it also promotes better design, and helps keep your sanity during projects. My goal in this session is to get you started with TDD, so that you are ready to use it the moment you leave the room. I will demonstrate how TDD works on a small example, using open-source tools like NUnit. This session is aimed for beginners.
ReEngineering to inject Quality into Legacy Applications
Wiki Here
Speaker: brad irby   
Level: Advanced   |   Room: Unknown   |   Agenda Not Made Yet
Learn how to take a Legacy application and reengineer it to inject current quality standards and architectures, all without taking the application offline or even stopping feature development. This session will take a look at the theory and practice of reengineering, with a lot of code from a real-life large .NET project (over 150 projects in the solution). If you're working with an old .NET project and want to convert it to using Dependency Injection, unit testing, messaging, etc., then this is the session for you.
Rich GUI Testing Made Easy
Wiki Here
Speaker: Alex Ruiz   
Level: Intermediate   |   Room: Unknown   |   Agenda Not Made Yet

Testing GUIs is essential to making applications safer and more robust. Even the simplest GUI can enclose some complexity. Any complexity needs to be tested: code without tests is a potential source of bugs. A well-tested application has a greater chance of success. GUI development has been slow to include automated testing as a core practice, because writing tests for GUIs is hard. In this session, we'll explore several practices that can simplify testing of Swing and JavaFX GUIs.

Topics that will be covered include:

  • What robust GUI tests means
  • Creating testable GUIs
  • Troubleshooting failing tests
  • Finding and fixing threading issues
  • Applying test-driven development (TDD) to GUIs
  • Available open source tools for GUI testing

Teaching Kids Programming
Wiki Here
Speaker: Kenny Spade   
Level: Beginner   |   Room: Unknown   |   Agenda Not Made Yet
In this session, I'll walk you through some recipes we have been using to teach programming to kids. The session will be run with Microsoft Small Basic, but the principles have been proven to be applicable to languages such as Java as well. At the end of the session, I'll go over some best practices from events I've run in the past, and will take any questions about planning and executing events like this.

75 min sessions
Handouts with lots of Q&A time
Hands-on demos or exercises
Chalk talks or full-on slides
Experts sharing their insights
Share with others, etc.

...and free coffee and food!
Copyright © 2009 SV-Code Camp   Site Built with ASP.NET 4.0 by Peter Kellner     Blog Posts on Building Site Here     Rev:2010-09-10T16:43:31.009914Z 587 (RSS Feed)    RSS