Talks I Want See at SD

The call for papers for Software Development 2008 West is now live. What follows are abstracts for some talks that I am not giving, but that I very much hope someone else will present. If anyone feels like submitting one of these under their own name, I’ll champion it when the advisory board goes over the submissions.

Intro to Ruby

Ruby is the fastest growing programming language of the new millennium. Through interactive exercises, this full day, hands on tutorial will bring programmers from zero to sixty with the language including:

  • Control structures
  • Strings and Regular Expressions
  • Formatted Output
  • Arrays and Hashes
  • Math
  • Objects and classes
  • Closures
  • Files
  • Network Programming


Prerequisites: None. Attendees must bring a laptop, and should ideally have Ruby 1.8.5 preinstalled. Linux or Mac OS X is recommended, but Windows is welcome. Mac users may wish to install TextMate as well.

Rails full-day hands-on tutorial

The Ruby on Rails web development framework has swept the world. In this full day hands on tutorial, attendees will build a complete database backed web site from scratch using Rails and MySQL. Topics covered include:

  • Controllers and URLs
  • Routing and Actions
  • Basic SQL and the MySQL shell
  • MySQL Conventions
  • Templates
  • HTTP
  • REST
  • Test driven development
  • Connecting to Legacy Databases
  • Publishing HTML, XHTML, and XML
  • Serving Static Files
  • Apache integration

Prerequisites: Ruby, or the one-day Intro to Ruby class. Some experience with SQL in general and MySQL in particular would be extremely helpful, but is not absolutely required. Attendees must bring a laptop with a wireless card. Linux or Mac OS X is recommended, but Windows is welcome. Mac users may wish to install TextMate as well.

Groovy half-day hands-on tutorial

Groovy a fast growing, object-oriented scripting language designed for the Java virtual machine. It offers full access to the powerful Java class library in a modern language that supports closures and dynamic typing. Through interactive exercises, this full day, hands on tutorial will bring programmers from zero to sixty with Groovy including:

  • Interactive development
  • Control structures and arithmetic
  • Strings and Regular Expressions
  • Lists and Maps
  • Objects and classes
  • The Java class library
  • Closures
  • XML and HTML processing

Prerequisites: None. Attendees must bring a laptop, and should ideally have Groovy preinstalled.

Grails half-day hands-on tutorial

The Grails web development framework applies the lessons of the Ruby on Rails framework to the Java-based Groovy environment that offers full access to the extensive Java class library. In this half day hands on tutorial, attendees will build a complete database backed web site from scratch using Grails and MySQL. Topics covered include:

  • Scaffolding for CRUD
  • Views
  • Mixins
  • Basic SQL and the MySQL shell
  • MySQL Conventions
  • GORM (Grails Object Relational Mapping)
  • HTTP
  • REST
  • Tag libraries
  • Connecting to Legacy Databases
  • Publishing HTML, XHTML, and XML
  • Serving Static Files
  • AJAX

Prerequisites: Groovy, or the one-day Intro to Groovy class. Some experience with SQL in general and MySQL in particular would be extremely helpful, but is not absolutely required. Attendees must bring a laptop with a wireless card.

Scala

Scala is a clean, modern programming language hosted on the Java virtual machine that supports both object oriented and functional programming styles. Scala combines the practicality of scripting languages like Ruby and Python, the raw performance of the Java virtual machine, and the theoretical purity of academic favorites like Eiffel and Haskell. This seminar will introduce attendees to what may well be the most significant language of the 21st century. Topics covered include:

  • The type system
  • Control structures and arithmetic
  • Functional Programming
  • Higher order functions and currying
  • Objects and classes
  • Strings and Regular Expressions
  • Generics
  • Closures
  • Unit Testing
  • The Java class library

Prerequisites: None.

Profiling web sites

What do you do when a web site is slow? Where do you look to fix it? Will a faster CPU help? More network bandwidth? A different Apache configuration? Maybe it’s the database that’s thrashing? How do you know and how do you find out?

This session will discuss available tools and techniques for profiling and monitoring web site performance to identify the real bottlenecks. Several case studies will be discussed.

Intro to Hibernate

Hibernate is the de facto standard object-relational mapping layer for Java. Hibernate supports data retrieval and update, transaction management, and database connection pooling. Hibernate is configured with simple XML files which classes map to which tables and which database fields map to which object properties. This talk introduces this powerful library and shows how to configure it for a variety of scenarios.

Hibernate for Brownfield Applications

Defining an object relational mapping is easy when you get to build the database and the Java app at the same time. Object relational mapping is much trickier when the database already exists with hundreds of legacy tables and thousands of legacy fields, only some of which are actually relevant to your particular application. This talk will explain how to write Java programs that use Hibernate to talk to legacy databases whose schemas cannot be changed.

iBatis

The Apache Project’s iBatis is an up-and-coming open source data mapper framework for Java and .NET. Instead of mapping directly to database tables like Hibernate, iBatis maps to arbitrary SQL queries. This makes it much easier to support existing legacy classes and databases. No longer do you need a strict 1-1 relation between classes and tables. iBatis is configured with a combination of XML and SQL. This talk introduces this powerful library and shows how to configure it for a variety of scenarios.

Agile Database Development

The database community has been slow to adopt agile techniques and still preaches big, upfront design. This talk endeavors to prove that it doesn’t have to be that way. Just in time database development with extensive unit testing and refactoring makes it possible for DBAs to become a critical part of agile teams. This talk explores how databases cab be developed incrementally in sync with the rest of the code so they don’t become a bottleneck in the application development process.

Hadoop

The Apache Hadoop distributed file system aims to bring the power of Google’s map-reduce to the masses. Hadoop enables distributed applications to run reliably on large clusters of unreliabe commodity PCs. Hadoop is already being used in numerous applications from South Korea to Mountain View. This talk introduces the Hadoop systems and APIs. Attendees will learn how to deploy and program for a Hadoop system using map-reduce.

Horizontal Scaling

Fast servers with ultrareliable disks are so 1999. Today’s applications like eBay, Amazon, and Google are built on top of large clusters of unreliable, interchangeable, commodity PCs. Scaling workloads is done by adding more PCs rather than by speeding up one mega-server. This talk discusses the architectural challenges of building applications that scale horizontally by splitting data and/or functionality across many different physical servers. We’ll discuss algorithms such as map-reduce and tools like column-centric databases. We’ll explore when to split applications vertically and when to split them horizontally. We’ll also discuss how to build a reliable system on top of individual unreliable component PCs.

When Relational Databases Fail

As powerful and useful as relational databases are, there are more data storage problems they can’t solve than that they can. Roughly 80% of the world’s information is not in databases. It’s in semi-structured and unstructured content such as HTML, Word, Powerpoint, and paper books. The inability of relational databases to handle this important content is not an accident. It is a direct result of the relational model. Not all data can be normalized. Not all data fits into tables. This talk will explore the hard use cases that SQL databases just can’t manage, and then explore some alternatives that can including native XML databases, object databases, and index engines. No, you’re not going to throw out your relational database anytime soon. There are many problems that SQL databases solve very well, but there are other problems they don’t solve, and these problems need database management systems too.

Any Takers?

Usually if I want to learn a subject, I sign a contract to teach it or write about it. There’s no more effective way to learn a subject than by teaching it. Unfortunately this year I don’t have time to do that, so I’m going to have to rely on others. So who wants to teach these? You can submit these (or other) abstracts at https://www.cmpevents.com/SDw8/a.asp?Option=N. The deadline for submissions is August 31. If anyone does teach them, you may see me in the audience. Hope to see you at SD.

5 Responses to “Talks I Want See at SD”

  1. Paul King Says:

    I might put my hand up for the Groovy tutorial. I am giving such a tutorial on Friday at Agile 2007. I’ll have to check out cheap flights from Australia. Otherwise, I can coordinate with someone closer if they need to get the material together.

  2. Petar Tahchiev Says:

    Me myself I am willing to talk about the “Intro to Hibernate”. I have been using this technology for more than two years already.

  3. John Mitchell Says:

    Good ideas! I’ve submitted proposals for both the Hadoop and (Horizontal) Scaling Performance items.

  4. They were awful Says:

    I submitted a proposal and now I’m on their notification list. Can I get off the list that I never wanted to be on in the first place? No because the unsubscribe link goes to a ridiculous web application that won’t let me actually unsubscribe. I know we’re supposed to be super tolerant of this kind of treatment because it’s improving our resume. But what about the folks like me that don’t actually want to be whores and would rather be artists?

  5. Vcds.pl Says:

    Can I simply say what a aid to seek out somebody who actually is aware of what theyre speaking about on the internet. You undoubtedly know tips on how to bring a problem to light and make it important. More individuals must learn this and perceive this aspect of the story. I cant believe youre no more standard because you positively have the gift.