ACCU 2004 Sessions

Wednesday, 14 April

09:00

World Domination: The First Five Years

  • Track: Open Source
  • Presenter(s): Eric Raymond
  • Description:

    The keynote talk will cover the history and trend curves of the open-source movement up to this point, comment on current developments, and suggest how they might project into the future. Themes will include open source considered as a disruptive technology and how it has interacted with the commoditization of hardware and the rise of the Internet.

10:30

Design Experiences in C++

  • Track: C/C++/C#
  • Presenter(s): Mark Radford
  • Description:

    The making of design decisions is a fundamental part of the software design process but is a far from simple task - the available options must be weighed up in order to figure out which one offers the best set of tradeoffs to suit the circumstances. While working in C++ over the last few years, I have come across many examples of designs that stand out in my memory as being particularly instructive. In this talk I will revisit some of them, review the tradeoffs offered by the alternative approaches, and re-evaluate the design decisions made at the time.

The Design & Evolution of C#

  • Track: C/C++/C#
  • Presenter(s): Jon Jagger
  • Description:

    In this talk I will present an overview of the design and evolution of various aspects of the C# programming language. I will describe the design goals inherent in C#: component orientation, a unified and extensible type system, robustness and durability. I will then compare various C# language features with their predecessors from C, C++ and Java: program structure, packaging, value types vs reference types, parameter arrays, events, interfaces, attributes, versioning, statements and expressions, unsafe code. I will present some thoughts on the trends I perceive inside the C,C++,Java,C# time line. Finally I will briefly preview some of the features C# is about to evolve into.

Platform Independent C++

  • Track: C/C++/C#
  • Presenter(s): Paul Johnson
  • Description:

    With C++ being such a versatile language and the number of high quality platform independant libraries available (such as Qt and wxWindows), the scope for a piece of software only being available on a single platform is becoming shorter and shorter. With the growing use of these libraries, the reach of the vendor has grown with an application suddenly becoming available for not just one platform/architecture, but any platform/architecture with access to a library. The talk will focus on the benefits and pitfalls of a platform independant system and why it should be encouraged.

Code Craft

  • Track: Process
  • Presenter(s): Pete Goodliffe
  • Description:

    Would you believe it? There's more to programming than writing code. (That's surely heresy at a programming conference!) In this talk we'll investigate what it takes to write the best, most effective software possible. You'll leave with practical techniques to improve your programming skills.

The State of Open Source in the UK

  • Track: Open Source
  • Presenter(s): David Ascher, Antony Curtis, Paul Everitt, Alan Lenton, Malcolm Yates, SuSE
  • Description:

    This session will provide a high-level summary accessible to all covering the key Open Source technologies and their current penetration in UK and Europe. The session includes mini-talks from leading and relevant organisations such as IBM, SuSE/Novell, MySQL, Active State and Zope Europe Association, and a chance to question them all on achievements and trends.

12:30

Blue Fountain presentation

  • Track: Open Source
  • Presenter(s): Aidan McGuire, Blue Fountain
  • Description:

    Blue Fountain Systems is a specialist open source development and support company which was formed in 1996. The company has development skills in Zope, Plone and Python. Clients include Toyota, NHS and NATO and the company has offices in Liverpool, London and Brussels. The use of Zope in various parts of the Toyota Supply Chain throughout Europe illustrates how by using a service model both the client and the developer can build a successful long term partnership.

14:00

Beyond the Gang of Four

  • Track: Process
  • Presenter(s): Kevlin Henney
  • Description:

    When software developers mention design patterns, the chances are that they are talking about Design Patterns, the classic book by the Gang of Four, rather than design patterns in general. Even when they are talking about the pattern concept, as opposed to specific patterns, they often think in terms of the form and idea presented in GoF, and rarely beyond.

    Since the publication of the seminal work by the GoF in 1994, however, a great deal of research and practice in patterns has led to a better understanding of both the pattern concept and the strengths and weaknesses of the GoF patterns themselves.

    This tutorial revisits the GoF patterns, reflects on them, deconstructs them and re-evaluates them from the practitioner's perspective: why patterns such as Abstract Factory, Builder, Flyweight, Command and others are missing vital ingredients to be proper parts of an architectural vocabulary; why Singleton decreases a system's flexibility and testability; why Iterator is not always the best solution for traversing aggregates; why State is not the only state pattern; why some patterns, such as Bridge, are more than one pattern; and what you can do about it.

A Consistent Coding Style For Learning C++

  • Track: C/C++/C#
  • Presenter(s): Francis Glassborow
  • Description:

    This talk is aimed at newcomers to C++ and those who sometimes provide support for such people. I will describe a set of guidelines for coding that result in a consistent and generally safe coding style suitable for novices. The underlying principle being that it is better to have a single way of doing things initially so that the mental effort goes into the process of programming rather than being frittered away trying to decide when to use one (often syntactic) form over another. During the talk I will extend the concept of magic numbers to embrace magic expressions and magic types.

Correcting STL Problems

  • Track: C/C++/C#
  • Presenter(s): Dietmar Kühl
  • Description:

    STL has some real usage problems: the lack of separation between position and property, how functors are provided, and missing support for algorithm chaining. Solving these problems can lead to a more powerful and easier to use algorithms library. The respective solutions are property maps, a lambda mechanism like Boost's lambda library or a language extension, and a modified approach to algorithms interfaces. This talk will provide an introduction to these and show how using them could look like.

The Economics of the Design Process

  • Track: Process
  • Presenter(s): Hubert Matthews
  • Description:

    What are the forces that drive the design of a system and the process of design? This talk examines how constraints in the market, in the technology and in development companies themselves shape product architecture over time. It also examines the role that variation - in many different forms - has on designs and processes. In attempting to answer questions such as when is modularity not acceptable, why do we use threads, and when is automation appropriate, it draws on a wide range of fields from cybernetics to evolution, from disruption to lean thinking, and from queuing theory to the theory of constraints.

Open Source Business Models that Work

  • Track: Open Source
  • Presenter(s): David Ascher, Simon Clark, Fidelity Ventures, Antony Curtis, Paul Everitt, Aidan McGuire, Blue Fountain, John Merrells, Andy Robinson, Roger Whittaker
  • Description:

    In the late 1990s Open Source was all the rage, with venture capitalists rushing into startups, companies such as Red Hat and VA Linux achieving stratospheric valuations, and commentators predicting the imminent implosion of Microsoft. Five years on, we will take a cold, hard look at the business models that have really succeeded and enabled the companies adopting them to survive and grow, as well as a few which have done less well. Listen to key executives, developers and entrepreneurs from firms and communities such as Zope , ActiveState, MySQL, Sleepycat and more presenting how and why their businesses work and how Open Source is affecting the software industry landscape.

    This session will be structured as a panel, with mini-talks from companies with OS business models, economists, venture capitalists and commentators, and plenty of scope for questions.

16:00

Beyond the Gang of Four (cont)

Functional Programming In C++: Why And How

  • Track: C/C++/C#
  • Presenter(s): Frank Antonsen
  • Description:

    C++ is a multiparadigm language. With the introduction of the STL, a number of features found in one of the other main paradigms - Functional Programming (FP) - was added to the language. FP can be a useful alternative or complement to Object Oriented Programming. The talk will cover: (a) basic FP and how it is implemented in the STL (b) application: functional style parsing using parse streams -- the shortest path between a BNF grammar and its implementation. (c) application: lazy evaluation and memoization -- how to avoid doing more work than you have to. If time permits, I might also discuss FP as an alternative to design patterns, by showing how FP idioms can sometimes replace patterns.

Beyond Methodology

  • Track: Process
  • Presenter(s): Allan Kelly
  • Description:

    A presentation describing how the methodolgy view fails software development, why an amethodological view is better, and how concentrating on people provides a richer view.

Open Source in eGovernment

  • Track: Open Source
  • Presenter(s): David Chan, Bob Griffith, SOCITM, Aljoša Pašic, Atos Origin, Seb Potter, GetFrank Ltd.
  • Description:

    Open Source has gained particularly strong ground in the public sector. This session will convey the current state of affairs in the UK and European Union, outline best practice guidelines for managing Open Source implementations in the public sector, and will present a number of case studies of significant projects.

Sauce!

  • Track: Java
  • Presenter(s): Jon Jagger
  • Description:

    Sauce is a Java framework plus application that helps you quickly and easily write Java programs that review Java source code! The core of Sauce is an object-oriented recursive descent parser framework. In this talk I describe the motivation, design, and implementation of the framework. I describe how I used the framework to automatically generate object representations of the Java grammar from BNF-like descriptions and how I then built grammar trees of Java source using an observable grammar. Finally I describe a versatile callback design allowing programmers to quickly and easily implement Java source reviews. The talk also describes the patterns I used, the tests I wrote, the component architecture I grew, and will includes live demonstrations.

18:00

The IT View

  • Presenter(s): Nico Josuttis
  • Description:

    The Ultimate IT Chat - A reflection of one year of our business.

    Nicolai Josuttis talks with five extraordinary representatives of our IT business about the most important, thought-provoking, and funniest headlines and tendencies of the past year.

    Lean back and enjoy being a fly on the wall when the following participants chat in a pub-like atmosphere:

    • Herb Sutter
    • Kevlin Henney
    • Jutta Eckstein
    • Eric S. Raymond
    • Allan Kelly

19:00

Birds of a feather meetings

  • Presenter(s):
  • Description:

    to be allocated on site as needed





Your Privacy

By clicking "Accept Non-Essential Cookies" you agree ACCU can store non-essential cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

Current Setting: Non-Essential Cookies REJECTED


By clicking "Include Third Party Content" you agree ACCU can forward your IP address to third-party sites (such as YouTube) to enhance the information presented on this site, and that third-party sites may store cookies on your device.

Current Setting: Third Party Content EXCLUDED



Settings can be changed at any time from the Cookie Policy page.