Ted Neward will be in town on January 12th 2009 to present to our group. I have selected seven from his lengthy list of presentations (http://www.tedneward.com/speaking.aspx
). Which of these would you like to hear?
Or if you want to hear something else let me know
The Busy Developer's Guide to the New Economy, Free Agency, and (More Than Just) Survival
In 2008, the US economy took the sharpest nose-dive in living memory since the Great Depression. What started out as a localized rainstorm has quickly come to resemble a Category Five hurricane, a figurative "finger of God" storm of destruction that has swept through all industries, markets, and international economies with impunity, imprecision and impartiality. Developers face uncertainty, volatility and insecurity like never before. So why is this presenter smiling? And why does he think you should be, too? (For any audience, recommended as a keynote presentation.)
Why the Next Five Years Will Be About Languages
Thanks to the plateau of per-chip performance increases and the resulting need to work better with multi-core CPUs, the relative difficulty of mapping user requirements to general-purpose programming languages, the emergence of language-agnostic "virtual machines" that abstract away the machine, the relative ceiling of functionality we're finding on the current crop of object-oriented languages, and the promise and power of productivity of dynamically-typed or more loosely-typed languages, we're about to experience a renaissance of innovation in programming languages. Come hear why this is, and what practicing programmers need to do in order to ride the forefront--instead of the trailing edge--of this new wave in computer science. (For any audience, recommended as a keynote presentation.)
The era of the big, heavy, transactionally-oriented client/server topology, as best described by the J2EE Specification and Blueprints document, seems to be over. The era of the lightweight, transactionally-oriented client/server topology seems to be at its zenith. Is this really where we want to be when building enterprise systems? And how did we end up here, anyway? What's the new "enterprise" developer supposed to do? (For any audience, recommended as a keynote presentation.)
Building an application is not the straightforward exercise it used to be. Decisions regarding which programming languages to use (Java, .NET, even FoxPro), which architectural approaches to take (n-tier, client/server), which user interface approaches to take (Smart/rich client, thin client, Ajax), even how to communicate between processes (Web services, distributed objects, REST)... it's enough to drive the most dedicated designer nuts. This talk discusses the goals of an application architecture and why developers should concern themselves with architecture in the first place. Then, it dives into the meat of the various architectural considerations available; the pros and cons of JavaWebStart, ClickOnce, Windows Presentation Foundation, SWT, Swing, WinForms, Struts, WebForms, Ajax, RMI, .NET Remoting, JAX-WS, ASMX, Windows Communication Foundation, Windows Workflow Foundation, JMS, MSMQ, transactional processing, and more. After that, the basic architectural discussion from the first part is, with the aid of the audience in a more interactive workshop style, applied to a real-world problem, discussing the performance and scalability ramifications of the various communication options, user interface options, and more. (For any intermediate audience, recommended as a keynote or a half-day or full-day tutorial.)
The Busy .NET Developer's Guide to Functional Programming
Functional programming--as implemented by languages like Erlang, Haskell or ML--saw a huge uptick in interest in the latter half of 2007 that has continued to this day. But even if you're not interested in learning a new programming language, we can still derive some powerful new techniques for writing code from functional ideas that will make your C# code that much better. In this presentation, we'll go over some of the basic concepts of functional programming--what it is, why it's different from O-O/imperative programming, and how it changes the programming experience--and see how to use various features of the C# language to make your apps more functional.
The Busy .NET Developer's Guide to DSLs in Oslo
Microsoft Oslo is a new system for managing data at all levels of the data lifecycle, from parsing to data storage and manipulation. As a result, Oslo makes for a powerful system for building tools to create parsers for domain-specific languages (DSLs), to transform ordinary text into a graph of objects suitable (in this case) for interpretation or use as an abstract syntax tree (AST) for a code-generative language. In this presentation, we’ll explore the basics of MGrammar, the parser-generator language for Oslo, and how to create a simple DSL parser in less than two hours. (For any .NET audience, as a 90-minute presentation.)
The Busy .NET Developer's Guide to Extending .NET Apps with Scripting
Ever wished you could just put parts of your program in end-users' hands and let them build the infinite little changes they want? Ever thought about how you might make your application more robust by writing less code, not more? Embed a scripting engine into your application--complete with the safeguards necessary to ensure that users can't do anything they shouldn't be able to--and release yourself from the Principle of Perpetual Enslavement. This presentation will describe how to embed a scripting engine, discuss the pros and cons of the various ones available, and how to put enough safeguards around the scripts to make sure that your application can't be hijacked by bad users' scripts. (For any intermediate .NET audience, as a 90-minute presentation. Ask about the possibility of delivering it as a half-day or full-day tutorial.)