|
Sessions
|
0 to 60 with Regular Expressions in 75 minutes
|
Wiki Here
|
|
Level:
Beginner |
Room: Unknown |
Agenda Not Made Yet
|
|
Regular expressions are a formal language used for manipulating and analyzing text. They are a standard features in a wide range of languages and popular tools, including Perl, Python, Ruby, Java, JavaScript, the .NET framework, PHP, and MySQL. Web servers such as Apache and IIS7 use them for URL rewriting. You can find them in tools and technologies as diverse as grep and egrep to Visual Studio. This talk will get you up and running with regular expressions. We will be discussing Regular Expressions as a language and cover the syntax with extensive demos. We will also cover the practical use of regular expressions by demonstrating best practices for writing, testing, performance optimization, readability, compilation, and design guidelines. We will use the .NET framework's flavor of regular expressions in the demos. However sinc .NET regular expressions like most regular expression libraries are Perl compatible, the syntax presented will generally work with a wide range of regular expression packages. The speaker will attempt to point out language variations for the major implementations.
|
|
|
|
|
Level:
Intermediate |
Room: Unknown |
Agenda Not Made Yet
|
|
This presentation is a hands-on introduction to JavaFX given by JavaFX author Stephen Chin and core JavaFX team member Stuart Marks. It will focus primarily on using the JavaFX Script language to drive interactive graphics using the JavaFX scene graph. We'll start with a "Hello, world" program and build it up piece by piece until we have a complete application. At each step of the way, we'll see the code in NetBeans and run it so you can see the results immediately. We'll be covering the following features of the JavaFX platform: language and scene graph basics, sequences, functions, layout, UI controls, classes, calling Java, bind, animation, and effects.
Part A of this talk will include an introduction to JavaFX and the first half of the lab. If you bring a laptop (optional), we will have the exercise available for you to walk through together with the presenters lab-style.
Note to schedulers: Please schedule sessions A and B back-to-back in the same room if possible.
|
|
|
|
|
Level:
Intermediate |
Room: Unknown |
Agenda Not Made Yet
|
|
This presentation is a hands-on introduction to JavaFX given by JavaFX author Stephen Chin and core JavaFX team member Stuart Marks. It will focus primarily on using the JavaFX Script language to drive interactive graphics using the JavaFX scene graph. We'll start with a "Hello, world" program and build it up piece by piece until we have a complete application. At each step of the way, we'll see the code in NetBeans and run it so you can see the results immediately. We'll be covering the following features of the JavaFX platform: language and scene graph basics, sequences, functions, layout, UI controls, classes, calling Java, bind, animation, and effects.
Part B of this talk will continue the interactive lab. If you bring a laptop (optional), we will have the exercise available for you to walk through together with the presenters lab-style.
Note to schedulers: Please schedule sessions A and B back-to-back in the same room if possible.
|
|
|
|
|
Absorbing Scala into Java Ecosystem
|
Wiki Here
|
|
Level:
Beginner |
Room: Unknown |
Agenda Not Made Yet
|
|
Scala runs on the JVM, can use and be used by Java code almost transparently. Scala's speed and focus on concurrency well position it for demanding server side applications.
This session is for those who consider using Scala in their existing Java projects. We’ll discuss how to smoothly integrate Scala into an existing Java build, testing, development and runtime systems.
In this session we will talk about how to deal with the learning curve, IDE integrations and the peopleware aspects of introducing Scala to your organization.
The session will include examples and anecdotes from the kaChing and LinkedIn teams who use Scala in production.
http://eng.kaching.com/search/label/scala
|
|
|
|
|
Appcelerator's Titanium Platform: Build Native Mobile Apps Using Your Web Skills !
|
Wiki Here
|
|
Level:
Intermediate |
Room: Unknown |
Agenda Not Made Yet
|
|
Open source application development platforms have changed the development game. By utilizing web technologies like Javascript, HTML, and CSS, you can build applications for iPhone, Android and Blackberry all from a single code base. And best of all – you can utilize the native capabilities of the phone, so you don’t sacrifice anything in the user experience.
• Creating Your First Application
• Development Tools, Tips, and Tricks
• Packaging Your App For Testing and Distribution
• Develop for iPhone, Android, and Android suing a single code base
Appcelerator’s Titanium platform translates developers’ hard won web skills into native mobile applications that perform and look just like they were written in Objective-C [iPhone] or Java [Android] … but using JavaScript, HTML, and CSS skills. With over 300 APIs, a thriving developer community, and the support you need, developers can build native mobile applications that are more social, local, media rich, interactive, and extensible.
Download Titanium for free at www.appcelerator.com and join the 50,000+ developers worldwide who are developing mobile apps using Titnaium.
|
|
|
|
|
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
|
|
|
|
|
BirdShow: A Scala/Lift App for Showing Flickr Photos
|
Wiki Here
|
|
Level:
Intermediate |
Room: Unknown |
Agenda Not Made Yet
|
|
This demonstration and code walkthrough of a simple Scala/Lift Web application aims to educate about Scala and the Lift Web application framework by example.
This will be an expansion of the shorter talk shown here: http://www.slideshare.net/dcbriccetti/birdshow-a-lift-app-for-showing-flickr-photos-2720594
Some experience with Scala and Java would be helpful, but is not required.
|
|
|
|
|
Brief Introduction to Natural Language Processing
|
Wiki Here
|
|
Level:
Intermediate |
Room: Unknown |
Agenda Not Made Yet
|
|
The majority of interesting information on the web is in the form of unstructured natural language data, written by humans for consumption by other humans. Natural language processing tools allow us to take data such as new articles, blog posts, tweets, and reviews and then extract meaningful structured information. For example, using named-entity recognition and sentiment analysis, your code can look at a document and identify what people, organizations, products, and places are mentioned within it and whether or not they're described in a positive or negative light. Using natural language parsers, it's possible to take a sentence and recover who's doing what to whom. Other tools can automatically construct tag sets or identify interesting characteristic phrases.
In this session, I will provide a brief introduction to natural language processing, and an overview of what tool sets, APIs and libraries are available. Code samples will be presented in Python and Java. However, the talk should be of general interest to anyone working with language data.
Topics that will be covered include:
* Sentiment analysis
* Identification of named entities (e.g., people, locations, and places)
* Natural language parsing
* Document classification and automatic extraction of tag sets.
* Summarization of documents
Toolkits that will be covered include Python's Natural Language Toolkit (NLTK) and Stanford's JavaNLP. APIs discussed will be OpenCalais and AlchemyAPI.
|
|
|
|
|
Extreme Testing at kaChing: From Commit to Production in 5 Minutes
|
Wiki Here
|
|
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.
|
|
|
|
|
Fluent Interfaces: Domain-Specific Languages in Plain-Old Java
|
Wiki Here
|
|
Level:
Intermediate |
Room: Unknown |
Agenda Not Made Yet
|
|
A domain-specific language (DSL) is commonly described as a computer language targeted at a particular kind of problem and it is not planned to solve problems outside of its domain. DSLs have been formally studied for many years. Until recently, however, internal DSLs have been written into programs only as a happy accident by programmers simply trying to solve their problems in the most readable and concise way possible. Lately, with the advent of Ruby and other dynamic languages, there has been a growing interest in DSLs amongst programmers. These loosely structured languages offer an approach to DSLs which allow a minimum of grammar and therefore the most direct representation of a particular language. However, discarding the compiler and the ability to use the most powerful modern IDEs such as Eclipse is a definite disadvantage with this approach.
The speakers have successfully compromised between the two approaches, and will argue that is quite possible and helpful to approach API design from the DSL orientation in a structured language such as Java. This session describes how it is possible to write domain-specific languages using the Java language and suggests some patterns for constructing them.
|
|
|
|
|
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.
|
|
|
|
|
Level:
Beginner |
Room: Unknown |
Agenda Not Made Yet
|
|
This talk will provide a high-level overview of some of the core principles that shape a good user interface and thus, user experience. Regardless of platform, technology, or device, these principles share a basic premise of providing elegance, structure, beauty, and a holistic unity to any digital interface.
We will begin with defining the rhetorical aspects of interface and interaction, based upon Wayne Booth's "rhetorical stance".
Then we will dive into concrete issues of typography, grids, color/image, layout, hierarchy, reducing noise/clutter, and simplifying behaviors, all with clear examples of both poor and good interfaces.
Finally we will conclude with thoughts on how to standardize and institutionalize such practices into a team situation.
This session is meant to be interactive, lively, and hopefully good fun! Questions, debates, discussions encouraged!
|
|
|
|
|
Level:
Beginner |
Room: Unknown |
Agenda Not Made Yet
|
|
Learn how to setup, configure, and manage IIS 7 and IIS 7.5.
Microsoft made significant changes in IIS 7. Everything from architectural changes, setup process, plug-in architecture, security configuration, IIS manager, and much much more. We will cover the basics of IIS 7.5; New Features, Site Creation and Configuration (like what is a host header?), how SSL certificates work, and how to package and deploy your website.
Developers rely on IIS to run their applications so come learn all that you need to know about IIS 7.5 and how it can make your life easier.
|
|
|
|
|
jQuery Makes Writing JavaScript Fun Again
|
Wiki Here
|
|
Level:
Intermediate |
Room: Unknown |
Agenda Not Made Yet
|
|
Get frustrated by cross-browser incompatibility? Hate to develop application using JavaScript? jQuery is a powerful JavaScript library that can enhance your websites regardless of your background. jQuery is fast, lean, simple and hugely expandable, enabling you to build compelling web applications quickly and easily. In this session, we will start with a quick introduction of jQuery, illustrate what’s so good about jQuery, and demonstrate step by step how to develop jQuery Ajax application efficiently with database, web services, OData, NetFlix and ASP.NET MVC. Microsoft is now shipping, supporting, and contributing to jQuery, with ASP.NET and Visual Studio. New features which will be available in the next release of jQuery such as globalization, templating and data-linking will be introduced in the session as well.
|
|
|
|
|
membase.org: The Simple, Fast, Elastic NoSQL Database Powering FarmVille is now an Open Source Project
|
Wiki Here
|
|
Level:
Advanced |
Room: Unknown |
Agenda Not Made Yet
|
|
Here in the second decade of the 21st century, the kinds of apps we build have evolved. Techniques for storing and getting that data are starting to evolve too. The category even has a name: NoSQL. Which one should you choose though?
Your site really runs on memcached, occasionally accessing a SQL database. You need SQL for some types of data access, or you fear the effort involved in breaking free from some of that legacy mapping code.
Other types of data access could be serviced by something like memcached, but you would need the same speed, it would need to be compatible with current production applications and your application data has to survive the seemingly hostile environment from your cloud computing provider. You want to know that it will never make your application wait for data; you need to know that it’s been deployed for something other than batch-based workloads.
Membase is a simple, fast, elastic key-value database. Building upon the memcached engine interface, it is memcapable, meaning it is completely compatible with existing memcached clients and applications. The new engine plugin and associated tools allow for persistence, replication of data, lots of statistics on data use and even streaming data for iterating over every item in the store.
The founding sponsors of membase, NorthScale, Zynga and NHN recently launched a new project at membase.org under an Apache 2.0 license. Learn how to get it, about the deployments behind some of the largest sites and how you can get involved in the project.
|
|
|
|
|
Servlet 3.0 extensible, asynchronous and easy to use
|
Wiki Here
|
|
Level:
Advanced |
Room: Unknown |
Agenda Not Made Yet
|
|
Servlet 3.0, introduced in the Java EE 6 platform, is the foundation for next generation web applications with the extensibility, asynchronous features, ease of development features and more. In addition to web 2.0 applications, it is also the foundation for extensibility in the Java EE 6 platform.
Servlet 3.0 introduced a number of new features, from async to use of annotations and also making the platform extensible via modular web.xml, APIs for dynamic registration of servlets, filters and listeners and container provided features for scanning applications of a particular type to allow frameworks introspect the type of application it is and configure themselves. In addition to these features, servlet 3.0 also introduced security features for programmatic authentication, login and logout and declarative http constraints via annotations. This session will cover the new features in the just released Servlet 3.0 specification.
|
|
|
|
|
Should Your Application Run in the Cloud?
|
Wiki Here
|
|
Level:
Beginner |
Room: Unknown |
Agenda Not Made Yet
|
|
There is a lot of confusion on where to deploy your application. Physical Server? Virtual Server? Cloud?
Cloud computing is hot, but different apps have different requirements, and different environments offer different benefits.
We will discuss the pros and cons of all solutions available to developers today. Uptime, costs, regulatory issues, security . . . no topic is off topic. We’ll discuss Amazon EC2, Azure, Google App Engine, VMware, Hyper-V, Physical Servers and anything else that comes up.
|
|
|
|
|
Spring Roo: Productive Enterprise Application Development
|
Wiki Here
|
|
Level:
Intermediate |
Room: Unknown |
Agenda Not Made Yet
|
|
Spring Roo combines the power of the Spring framework, magic of annotations, and awesomeness of AspectJ to provide unimaginable productivity for building enterprise applications. This open source project provides Java programmers a real choice in creating applications quickly without compromising on performance, while enjoying goodies that come with statically typed languages--code completion, immediate feedback on errors, and robust refactoring. Spring Roo does all this without the locking-in that you would typically expect from such a productive solution.
In this presentation, we will create an application from scratch. We will pick a domain suggested by attendees and develop JSP- and GWT-based front end, JPA-based persistence, security, automated tests, and so on. We will do all this and still have time left to show how it all works. Come to this presentation as a skeptic and leave as a believer!
|
|
|
|
|
Level:
Beginner |
Room: Unknown |
Agenda Not Made Yet
|
|
Google App Engine is a unique hosting platform that lets you build applications and run them in Google's data centers using the massive global infrastructure built to run the Internet's most powerful company. App Engine offers a development environment that uses familiar technologies (Java and Python) and provides a powerful and robust set of APIs to users while maintaining security and independence from other apps running in the cloud. It is always free to get started so you can try it out with no risk, and if you need additional computing resources, you can purchase additional computing resources beyond the free quota limits. (If you enable billing and trust us with your credit card, we will extend your free quotas even further; you won't get charged until you exceed those *extended* quotas.) Scale your application to millions of users and pay only for what you use at more competitive market pricing.
In this informative session, we review cloud computing as an industry and where Google App Engine fits into the picture. Specifically, we discuss App Engine as a PaaS solution because of the inherent challenges of building web and other applications. We'll outline the architecture of App Engine, what it's major components are, introduce its features and APIs, discuss the service and how it works (including information on the free quotas), and finally present some information about current users and usage, including integration with Google Apps and your private corporate data.
|
|
|
|
|
Level:
Beginner |
Room: Unknown |
Agenda Not Made Yet
|
|
Python is an agile object-oriented programming language that continues to build momentum. It can do everything Java, C/C++/C#, Ruby, PHP, and Perl can do, but it's also fun and intuitive! Enjoy coding as fast as you think with a simple yet robust syntax that encourages group collaboration. It is known for several popular web frameworks, including Django (Python's equivalent to Ruby on Rails), Google App Engine, TurboGears, Pylons, and web2py. Users supporting Zope, Plone, Trac, and Mailman will also benefit from knowing some Python. Python can do XML/ReST/XSLT, multithreading, SQL/databases, GUIs, hardcore math/science, Internet client/server systems and networking (heard of Twisted?), GIS/ESRI, QA/test, automation frameworks, plus system administration tasks too!
On the education front, it's a great tool to teach programming with (especially those who have done Scratch or Alice already) as well as a solid (first) language to learn for non-programmers and other technical staff. Finally, if Python doesn't do what you want, you can extend it in C/C++, Java, or C# (and even VB.NET)! Have you noticed the huge growth in the number of jobs on Monster and Dice that list Python as a desired skill? Come find out why Google, Yahoo!, Disney, Cisco, YouTube, BitTorrent, LucasFilm/ILM, Pixar, NASA, Ubuntu, and Red Hat all use Python!
|
|
|
|
|
Will Work For Equity - the World Startups
|
Wiki Here
|
|
Level:
Advanced |
Room: Unknown |
Agenda Not Made Yet
|
|
Are you considering joining a startup? Sean Murphy, CEO at SKMurphy (www.skmurphy.com) will host a panel outlining important tips and things to consider if you are investing your time in a startup.
This session will explore: difference between employees, contractors, alliances, partners and co-owners; defining the key roles in a startup; what partners need from you; how to pitch to a co-founder; joining a global team.
A panel of three startup CEO's will offer their perspectives on the issues and answer questions from the audience.
- Peter Hoffman CEO of Interactive Mobile Solutions. IMS helps event planners enhance their attendees' conference experience through an innovative, mobile technology solution called ConferenceConnect. Peter has over 25 years of creating and directing conferences and leadership symposiums in education, non-profit and corporate environments. Most recently he was Senior Manager for Apple Higher Education Advocacy and Leadership. Peter has also held positions as Vice President of Events and Marketing for the Community College Foundation and Executive Director for the Ohlone College Foundation.
- Merc Martinelli CEO of Verdafero. Verdafero Inc. has developed a SaaS platform that can be used for sustainability planning, energy efficiency and carbon management services for small and medium enterprise businesses. Merc is an experienced tech executive who previously worked at Cisco Systems where he led the new product introduction department within the multi-billion dollar Enterprise Line of Business. Earlier in his career he held leadership positions at KLA Instruments and was a pilot in the USAF.
- Matt Cameron CEO of Corporate Catapult. Matt is a native of New Zealand (they even have colour TV there now) currently residing in San Francisco. He started his first business at 25 (a food delivery service) and is now on his fourth start-up: Corporate Catapult Inc, a career acceleration tool that is presently in private alpha. On occasion he will admit to having also worked for Hewlett-Packard, Wang, IBM and EDS in sales roles. Most recently, Matt was employee #6 for Salesforce.com Asia as Regional Sales Director.
|
|
|
|
|
WinPhone 7 and OData, building the Code Camp Viewer
|
Wiki Here
|
|
Level:
Intermediate |
Room: Unknown |
Agenda Not Made Yet
|
|
In this 101 session I will demonstrate how to build a simple Silverlight list application on the Windows Phone 7, which will download sessions and bookmark favorites from the OData feed of the Code Camp site.
The application will manage its state using IsolatedStorage, and I will also demonstrate some best practices, like the use of MVVM, and some tips on XML parsing.
You will also be able to download and run the code yourself. This application will be available on the iPhone too at the conference to help you manage your attendance.
|
|
|
|
|
Level:
Beginner |
Room: Unknown |
Agenda Not Made Yet
|
|
This talk is less about "good design", but more about the practical issues of collaborating with a UI designer: How to hire one, how to engage with a designer, what kinds of deliverables to expect, how to review/give feedback, the value of a designer across the development phases (concept, code, test, ship, post-ship, etc.), and shaping a UI design strategy and team overall. Insights all based upon my 10 yrs working in Silicon Valley as a designer for companies like Oracle, Adobe, Cisco, and Citrix. Lots of lessons learned and fun anecdotes to share!
|
|
|
|
|
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!
Attendance is FREE, but space is limited so you need to Register.
|