Sessions (78)
Children categories
Intranets are a necessity in today's corporate world to enable quick and easy collaborations amongst a dispersed workforce. However, they are often difficult to develop and maintain and are often less use-friendly than common internet services like Facebook and Twitter.
In this session, Josh Asbury will demonstration how to create an intranet based portal using Liferay. Starting from scratch, Josh will create roles, sites, pages, a document management system, basic workflow functions and collaboration features such as blogs, wikis and message boards all within the 45 min session. If time permits, Josh will also show how to mount an external document management system such as Alfresco or Sharepoint into the Liferay Document Management system.
The goal of this session is to show how easy it is to create a very functional and scalable environment using Liferay as your platform with minimal to no coding required. Both business and technical leaders will find this session useful.
The success of mobile applications and the mobile marketplace is fundamentally changing the experience users expect from computing devices. The need for applications to possess a rich and pleasing user experience that delivers access to the right information, when users want it, how they want it and how they expect it, is critical to an application’s success. Users are no longer willing to sit for a week of training or read a technical manual and will quickly discard applications that do not enhance their productivity immediately. Furthermore, users are willing to sacrifice functionality of an application for ease of use. What many organizations fail to realize is that user experiences extend well beyond hiring an external firm to deliver pretty graphics and branded layouts. The core of the user experience resides within the running code and is the key factor in determining the overall experience of the application. My goal for this session is that everyone will have a better understanding of user experience, expectations and what you need to ensure your applications are successful for your customers.
Why would you be forced to buy a Mac and learn yet another language to write mobile games? The truth is you can reuse your finely honed .NET and C# skills to write games that will run on Windows, Xbox 360 and the coolest kid on the block: Windows Phone. Enter XNA Game Studio 4.0. Join ActiveNick in this session as your fast track to the world of mobile game development where we jump right away into the fun stuff. We’ll go through a quick recap of XNA Game Studio and dive right in. No, we won’t be building no Atari 2600-style 2D games, let’s mess around with the cool 3D stuff. We’ll cover designing games for mobile phones, adapting desktop & console XNA code for Windows Phone, tapping into the phone hardware, handling gestures, discuss media assets and the Content Processing Pipeline and basically cover as much demo code as the session schedule will allow. Forget SharePoint and Entity Framework, this is the kind of coding you signed up for when you decided to go pro as a coding geek.
There’s lots of buzz around Windows Azure these days! Somehow Windows Azure has this reputation of being a .NET platform. Not true! In this session, we’ll dispel this myth quickly. We’ll fire up Eclipse and create a Java app. We’ll launch a MongoDB replicaset. We’ll take a peek into what’s really running out there “in the cloud.” And… We’ll endure the presenter’s unending creation of puns.
So, Windows Sdk for Kinect is out and it comes with a commercial license! Ever wondered what skeletal tracking is all about. Come see what you can do with the Kinect sensor whether you are building games or a commercial application. We will also look at how we can use Windows Phone and Kinect together to active some pretty amazing level of interaction.
Come Kinect!
Get the latest on Windows Phone and everything you need to know to develop, publish and make money with your application at this Windows Phone Boot Camp. We will feature inside advice from Windows Phone experts, with technical sessions on Windows Phone app development. Throughout the Boot Camp, you’ll roll up your sleeves and code with access to hands-on labs and instructor-led training.
It's time to put your creativity and knowledge to work and build the app you've been dreaming about. Whether you're a student just starting out or a seasoned developer for Windows Phone, Android, Symbian, Web OS or iOS, we'll be sharing tips and tricks and valuable app development know-how throughout the session.
Bring a personal Dev machine with the developer tools and training kit pre-installed.
You’re smart. You’ve got great skills – could put on every single one of these sessions this week.
Or maybe you’re like me, not too smart and with some pretty gaping holes in your abilities.
Doesn’t matter – you’re tired of the desk job, or just want to strike out on your own and rule the world.
And not just in the sense of setting up your own shop, doing your consulting or projects or the like.
But how do you take that great code, that great design, that great product or even that great idea and put together a company around it – and how do you take that company to a successful exit, with a solid return, ideally having fun, working on cool stuff and doing some good along the way?
Oh yeah, you want to do this in Louisville… or someplace like it… outside the traditional hubs for “ahn-trah-prah-noors”? How’s that going to work?
Examples will lean to the data side, but apply to consumer -facing things as well. We’ll have an eye towards the Louisville experience and illustrate from the health care space – a tech heavy, complex market, loaded with perverse incentives, and general perversity.
With the increasing variety of web enabled devices entering the market, the next generation of the web will need to be more flexible than ever before. In this session we will explore how Responsive Design can help build "A Foundation for the Web" and ensure maximum compatibly on any device now or in the future. We'll also take a glimpse at how using solutions like Zurb's Foundation and ASP.Net MVC can jump start development, and produce effective results fast.
The functional programming language Erlang is battle-tested, opensource and cross-platform. It simplifies writing reliable concurrent, distributed systems. A team of C# and Erlang developers is a force to be reckoned with because Erlang and .NET are complements--each is lousy at what the other is exceptional at. Realizing this can save you and your company a lot of time, money and headaches. Many C# developers write both JavaScript and SQL scripts; adding Erlang to the mix should be just as natural.
CoffeeScript—that "little language" that compiles to JavaScript—has become something of a big deal in recent months. Is it all just hype, or does CoffeeScript really deliver on its promise to give us JavaScript without the bad parts? In this session, and with the aid of several Hollywood and pop-culture clichés, Brandon will provide a zero to working overview of CoffeeScript: how to get it, how to learn it and how to start using it in your projects.
Did you ever get mad when you were asked to enter your email address and password to a third party service? Even worse when we build systems which collect people's credentials. It's the password anti-pattern.
Privacy and security are important, but when it comes to real running apps, it works wins over it's secure.
Testing code in isolation and high test coverage are foundational tasks in insuring code quality. Microsoft Research has developed two extremely valuable tools, Pex and Moles, that enable you easily isolate code and quickly generate high test coverage. This session will demonstrate those tools and how they can help you test previously untestable code.
Engineers assemble known parts into predictable shapes. In some cases, the tools they use have been around for centuries. In software, we create products with unknown possibilities from tools often only months old. The software world is not simple - it's not complicated, complex, or even chaotic - it's all those things at once. As developers, we are simultaneously called upon to be logical, creative, visual, verbal, innovative, and predictable. In this keynote, Jim Benson will dispel the notion that software is "engineered." He will discuss how software is better created collaboratively, with teams that actually know what is going on. Drawing from tools and disciplines as varied as agile, kanban, cognitive psychology, and social economics, he will provide insights into why software development has been frustrating in the past and should be much less so in the future. Jim has patience for almost all things on this earth - except PowerPoint. Therefore, and as always, he promises a 100% PowerPoint-free discussion.
In 1983, IBM ruled the industry, from mainframes to PCs. COBOL was by far the dominant language for business applications. Ten years later, IBM was almost irrelevant and a few years after that, comics were making fun of COBOL programmers, calling them dinosaurs. Today, .NET is the largest business application platform, but just as PCs and networking turned the industry upside down in the 1980s, tablets, touch, and cloud are turning the industry upside down today. Will today’s .NET developers be dinosaurs in a few years? What can the farsighted developer do to avoid such a fate? Billy Hollis will give you his take on the shifting value in different aspects of development, and lay out a strategy that some of you might want to use to future-proof your career.
Did you know that the number of Windows users is greater than the number of iPhone and Android users together? Take advantage of this opportunity to sell your applications to this enormous install base in the Windows Store. In this session, we will show the many different ways to monetize your application, including subscriptions, trial apps, advertisement, and in-app purchases. We will cover the end-to-end lifecycle of an application, from developer registration and application submission to analytics and feedback. You will walk away with the fundamentals of how to make crazy money in the Windows Store.
Continuous integration is an excellent tool to ensure the integrity of our build and the sanity of our tests (and developers!). CI provides a central place to run different metrics like code coverage, styling, comments, similarities, etc. But, how long does it take to install a CI server? How hard it is to configure it? What about the test results? I'm going to show how to address all those concerns using TeamCity, setting up the builds, creating schedules and dependencies.
Every software project considers one of his main goals to provide early and continuous delivery of valuable software to the customer. In order to do so is important to accept three principles:
1. It is impossible to gather all the requirements at the beginning of a project.
2. Whatever requirements you do gather are guaranteed to change.
3. There will always be more to do than time and money will allow.
You are probably thinking: "That's easy to say, but how can I apply those rules in a fixed budget contract?" I'll answer this and much more. Join me in this session to introduce agile planning, the tools and methodology and discuss how to implement it when the project "has to be done".
"You got your agile processes in my engineering practices!” “Well, you got your engineering practices in my agile processes!” All too often teams working towards agility stand divided between the processes (such as Scrum and Kanban) and the engineering practices (such as Extreme Programming). To be truly effective, you need both! Just as two dueling pianists work together to make great music, we will show you the way to be truly agile is to blend both concepts together into a single great harmony.
Behavior Driven Design or BDD focuses on obtaining a clear understanding of desired software behaviour through discussion with stakeholders. It extends Test Driven Development or TDD by writing executable requirements in a natural language that non-programmers can read. This session looks at the options currently available, such as SpecFlow, for writing executable requirements for your .Net projects.
In this practical workshop, we teach you how to apply scenario based testing skills to slice Scrum Product Backlog Items into appropriately sized items ready for the Sprint Planning Meeting. Product owners often define stories that are too big to develop or test within a sprint. A team member with scenario based testing skills can help the product owner slice features into small sprint-sized items that can easily be developed and tested within a sprint. This is a crucial skill that many Scrum teams lack. In this workshop, we will demonstrate the technique, then have the workshop participants apply the technique on their own producing appropriately sliced and sized items along with a set off acceptance criteria that will be needed to determine when the team is done with the item.
Silverlight is a Microsoft technology that has gotten a lot of love and a lot of hate. So what's all the Buzz about? Is it legitimate? Is Silverlight dead, and better yet, while it's still alive, how do we build a Silverlight app? We'll briefly discuss the history and future of Silverlight before delving head first into creating a simple app from scratch.
In this presentation Aaron will cover how to collect data from multiple SQL Servers using SQL Server 2008 Integration Services (SSIS). Then he will use SQL Server Reporting Services (SSRS) to report detail on that data. After that he will use SQL Server Analysis Services (SSAS) to create a KPI. Finally he’ll present that KPI on a dashboard via a web page. The goal of this presentation is to show how seamless the Microsoft Business Intelligence products are. If you’ve only used a few of these products, you’ll appreciate seeing them together all at once. Code will be provided.
Is it better to virtualize with horizontal host appliances or build vertical full stacks? Answer: It depends on the application, the service, and the user community. This presentation will cover the differences between these two, horizontal and vertical, as well as discussing elastic principles. This session uses real world examples, where they both worked in theory and implementation.
Last year, I introduced HTML5, and what it means to developers. Then I went through and showed a use case of creating an in-browser database to store disconnected data using only javascript and the browser-supplied storage. This year I kick it up a notch and go through five kick ass techniques that will woe your neighbors and tickle your developer fancy. As always, there are no powerpoint slides in this session. What you will see is a session full of kick ass HTML5. So grab some mountain dew and join me in another deep-dive into HTML5.
What is HTML5? What is a polyfill? How do I use a canvas? In this session we'll take an in-depth look at what HTML5 is, and where it's going. You should leave this session with concrete techniques and concepts that you can use immediately to jumpstart or accelerate your HTML5 development. Whether you are just starting out, or are a seasoned JavaScript ninja, you will find this in-depth look at HTML5 workshop will teach you new tricks. Bring your laptop and be prepared to sling HTML5 in an all-day hands on environment.
Ruby is an effective general-purpose language that's been gaining widespread popularity with web developers for its expressiveness and clarity. But while Ruby and web development are a comparatively recent phenomenon, the Ruby language is a rich, mature distillation of many of the best features of programming languages created over the last thirty years.
In this talk, we'll take a look at some of those features, and understand how Ruby puts them together to provide powerful tools for modern software development. We'll also do some live demos, where we'll exploit Ruby's metaprogramming capabilities to provide interesting results. Often these results aren't possible or as easy to accomplish in other mainstream languages, and we'll show you some cool tricks that you can do with them.
To get the most of out of this talk, you should be proficient with at least two or three programming languages, including at least one strongly-typed language like Python or C#.
This session lays out the fundamentals of working with automated functional testing. We’ll start with discussing how important clear acceptance criteria are, then do practical implementations of functional tests dealing with common situations such as input validation, AJAX delays, and yes, downloading Zip files.
This session focuses primarily on automating web tests, but we’ll also cover common issues with WPF automation too. Demos and labs will be in C# using Selenium, but we’ll also discuss Watir, MS Web Test, and Telerik’s Test Studio. We'll briefly cover acceptance tools like Fitness and Cucumber, and how they can bring great value to your process, too.
You’ll leave this session having learned how to deal with functional testing from A to Z. You’ll also learn critical factors for success in keeping your tests running quickly, and avoiding brittle tests that break frequently.
Unit testing can save you time, money, and frustration by helping you create a safety net around your software to guarantee its stability and quality. This introductory session sets aside any testing methodologies such as Test or Behavioral Driven Development and instead focuses on the fundamentals of what unit tests are, how to write them, and some differences between the most popular unit test frameworks. You’ll also learn about organizing tests, creating test hierarchies, and heading off painful or brittle tests. We’ll also show you how to isolate dependencies using stubs, fakes, and mocks. You’ll leave this session with an understanding of how to get started writing unit tests.
Few enterprises and entrepreneur have the money or desire to build native applications for the two most popular mobile platforms, iOS and Android, let alone all the other mobile platforms. This presentation provides a comparison and contract of some the leading mobile cross platform solutions such as Titanium, PhoneGap, Flash, Mobile Web and likely others that popup between now and codepaLOUsa. Hopefully after this presentation you will be able to make better informed decisions which solution best meets your mobile business stategy and needs.
During this half day Android hands-on tutorial, you will receive a crash course in developing Android applications. We will start with how to use Eclipse, Android Developer Tools (ADT) and Android SDK. We will wrap up with what you need to know to bundle and deploy your application to the Android Market Place. The head start and motivation you gain from this tutorial will start you down the path to fame and fortune.
During this half day iOS hands-on tutorial, you will receive a crash course in developing iOS applications. We will start with how to use XCode to build universal applications targeting iPhone and iPad. We will wrap up with what you need to know to bundle and deploy your application to the App Store. The head start and motivation you gain from this tutorial will start you down the path to fame and fortune.
It is important for your sanity and your team’s morale to stay organized during a software development project. This is important so that communication does not break down and the customer receives the software they paid for. In this presentation, we will see what techniques and tools we can use to make this happen throughout all stages of a software project.
Building an application in a new language can be a daunting task but it is the best way to learn a new language. This session is a review of what tools, libraries, and methods that were used to build Morale, a software as a service application developed in Ruby on Rails. We will learn about why these tools were chosen and what alternatives exist. We will review what was used for the development, the testing, and the deployment of a production application with a web component, an api component, and a commerce component. This will serve as a shortcut to anyone looking to build their first Ruby on Rails application.
Most Javascript is written to glue code and UI together without any thought to design patterns. Over time this leads to piles of Javascript that look nothing like code you’d be proud of writing. In this talk we’ll look at the rise of software libraries (like Knockout) that can help add structure to your JS. We’ll talk about when they help your project, and when they get in the way. We’ll also look into how you can easily use the Mediator pattern in JavaScript to really clean up your code with or without other libraries.
Many folks think they know JavaScript. They know the syntax and can manipulate the DOM. Maybe they have even used jQuery. But do they really know it? I thought I did until I started digging and discovered that JavaScript is more than just a toy language for web pages. It's a full-fledged functional programming language chock full of richness. In this session, targeted at false beginners, you will be introduced to some of this richness in an exciting game show format -- complete with prizes. You will learn about functions, objects, closures, and revealing modules. And you'll leave a more informed JavaScript programmer (unless, of course, you already knew JavaScript in which case you'll just leave with a prize).
In this session, we will look at the new Pub / Sub capabilities of the Azure Service Bus and how it can be used to extend your legacy applications into a disconnected hybrid application. Along the way, we will discuss what Topics and Queues are, what you can do with them and how you can auto scale out. We will also discuss a simplified approach that I have taken to allow your application to auto subscribe to a message without knowing anything about Service Bus subscriptions.
Are you tired of TDD workshops that make you do boring things like calculate bowling scores and prime factors or demonstrate how to win at the game of life? If so, this is the session for you! In this TDD workshop we will be building the domain model for EverCraft -- a new MMORPG from Blizzards of the Coast. We have lots of story cards prepared covering features from combat to magic, classes to spells, and races to items. Plus, we'll be defining some of these cards during the session in case you want that +9 knife of ogre slaying or enjoy casting magic missile at the darkness. This workshop is language agnostic and for all levels of developers. The focus is on TDD and emergent design but pair programming will be covered as well. The only requirement is that you bring a laptop and that you be able to test-drive you code with your language of choice. When you are done you will emerge a better programmer for the experience but there is small chance you will have a craving for Cheetos and Mountain Dew.
Software development is more than just writing application code. Working with a database is also an important part of most projects. It’s all about assimilating Data Experts into the Development Team and Process using the DB Pro Team Edition. The sweet spot for these tools is managing the changes to the database schema is a different way, in an off-line mode, and control changes in a very organized fashion. Visual Studio database schema management tools are excellent tools for the users to build SQL databases in a managed project environment with support for versioning, deployment, unit testing, refactoring, and off-line SQL development. These tools are designed to manage database change, improve software quality through database testing and bring the benefits of Visual Studio and application life cycle development to the database professional.
Forget about calling Terminix or Orkin; NIST estimates software bugs cost the U.S. economy approximately $2.2B per year and that problem could cost you serious time, money, and very importantly credibility with your internal and external customers. What can a QA/Test/Project Manager professional do to battle a problem that is as old as software itself? Join Randy Pagels (a.k.a. Major Kilgore) and Tim Adams (a.k.a. Captain Obvious) as they discuss combat strategies and tactics in getting these nasty suckers where they eat (production), live (testing and staging), and breed (development). See how we can defeat the dreaded No RePro bug which over the years has ravaged countless dollars, vast hours, and broken the spirit of many software soldiers. Witness the safeguards they deploy to prevent eradicated bugs from returning from grave to feed upon your resources again and again. Watch how we mobilize all the branches of the armed services (analysts, developers, testers, users, and project managers) to defeat this enemy and victoriously fly your banner with pride.
In an agile development life cycle, Visual Studio 2010 has built in tools to address a number of less frequently used tasks. Design and architecture diagrams recovered or generated directly from the code enables the developer to review and correct implementations. Also, it supports test planning, whether or not the software engineer has embarked on a design for testability philosophy. At software release it is necessary to have consonance of the design diagrams with the code, much like a mechanical or civil engineer matches their products with the design blueprint.
This introductory talk will address determination of code complexity and other code analytics, together with the tools to generate UML-type design diagrams from the implemented code, from within Visual Studio 2010. Code complexity analysis supports software test planning for different use cases.
Whether you work in a cube or the comfort of your home office, there are many challenges facing the lone developer. Everything, from estimation to project management to coding, changes when you are a single developer instead of a team. What are some things you can do to make life easier as a lone(ly) developer? In this session, I will discuss many of the lessons learned and practices I've developed working almost exclusively as a single developer for the past ten years.
You're a web developer with years of experience creating amazing web applications, but you've just been assigned to a *gasp* WPF or Silverlight project! Because you're an expert developer, you're expected to love this new technology and be productive from day 1. You click File | New | WPF (or Silverlight) project and feel completely lost as you open the XAML files. Not only that, but you have to contend with new patterns like MVVM! Trust me, it's not as bad as it appears and XAML is NOT as hard as you think. This session will cover the things you need to know to be successful on your first XAML-based project.
Android has made mobile development easy and accessible to thousands of developers, but what makes the best Android developers stand out? This discussion covers the tips and tricks that professional Android developers use to make featured apps.
Writing secure code is not difficult but it does require that you have a good understanding of what is insecure. In this session we will cover some of the top threats out there that can be used to break your applications. We will also cover techniques to improve the design of your application to minimize the vulnerabilities and mitigate those you cannot remove.
How many lines of code in your methods actually contribute to what that method is supposed to do? The clutter of logging, security checks, exception handling, implementing INotifyPropertyChanged and much more can be purged from your methods with Aspect Oriented Programming (AOP) techniques. In this session we will clean up an application to make it more readable, better organized and easier to maintain by using AOP tools to organize the common functionality. What are you waiting for? Come to this session and get that cruft out of your codebase.
The session will be about so called microcontrollers, Wireless Sensor Networks (WSN), and the architecture to support them. A microcontroller is a small computer on a single integrated circuit containing a process core, memory, and programmable input/output peripherals. A WSN is a distributed system consisting of small sensors that allow you to track different things in your household like whether the oven is turned off (power), the temperature, when a window opens (mechanical), is Grandma still move-in (PIR), or if there is an alarming rise of nuclear radiation in your home.
We will start with the microcontroller and end with a WSN connected to the Cloud.
One of the best choices for microcontrollers is the Arduino. Are you a .Net developer? Try the Netduino running Microsoft’s .Net Micro Framework.
One of the best choices to transmit data wirelessly is Bluetooth. Many devices support this standard. We will explore the pros/cons of this technology.
Another choice is the so called ZigBee standards. It’s a standard that is used in the industry a lot. Also it does two things very well:
- It’s robust. If a few nodes get damaged or lose power, they won’t bring the network down.
- Its energy efficient: The electromagnetic force has one inherent trouble: its field intensity deteriorates by the square of the distance. ZigBee simply makes every node in the network a repeater of data that comes from other nodes.
Here a fun project will evolve to log sensor data directly to the cloud using a local network without any middle tier. That is, your data goes right from the microcontroller and then out to the cloud to be logged as a data point. The architecture to support cloud based microcontrollers will be evaluated and explored as we build our device, web services, and sites.
Windows Azure & Windows Phone are two rather happening platforms out of Redmond. In this talk, we take a look at how Azure & Windows Phones could play together; and in general, why cloud support is needed for most well-designed mobile solutions. We take a deep-dive into some demos/code on how to get Push Notifications working from Azure, what is OData and why is it important with SQL Azure & cross-platform mobile applications, and end with the Azure Toolkits for WP7/iOS including how to set up Forms Auth in Azure tables or use ACS. Attendees should be able to walk away with a solid understanding on how to leverage cloud resources in mobile solutions, specially Windows Phone.
Metro is a design language and it is starting to be very important for Microsoft in terms of product differentiation. Starting 2012, your Windows Phone, Windows 8 PC & Xbox all start looking very similar .. how? The power of Metro! You can always read up on Metro – fast & fluid, chromeless & content-first. But ever wonder what’s the magic behind the words? What makes Metro so simple, but easy to get wrong? Come join us in this talk and we shall take a deep-dive into the crux of Metro. Where is the origin, what is the meaning & the science behind the simplicity. Why is it important for Windows Phone/Windows 8 developers to understand design & the core building blocks of Metro? How can we know we are doing it right? All these questions answered, along with other discussions & resources to get Metro right for developers. Attendees should walk away with a solid understanding of Metro and how to apply it in their next App.
Redis is an exciting NoSQL offering. It allows you to decide if you want the blazingly fast response times of a pure in-memory caching solution or if you want to go slightly slower and have the assurance of the cache being persisted in case of failure. It offers a wide array of storage and retrieval options in addition to the key/value method standard to many NoSQL products. In this session we’ll look into the depths of Redis. We’ll go through its binary access methods, different serialization options it allows, and a large proportion of its commands. Finally we’ll wrap up with some benchmarking exercises and use case discussions. If you’ve wondered what Redis can do, this is the talk for you.
Microsoft Expression Blend is the premier GUI editor for WPF and Silverlight applications. In this presentation you will receive an introduction to the Blend UI and how to use it to quickly and easily build an application interface. Topics will include Configuration, Layout Controls, how to leverage Blend with Visual Studio, and more.
De-mystifying the design process for developers by clarifying design misconceptions and providing usable design principles and tools for making better applications.
Designers are designers and developers are developers and never the twain shall meet, right? Except – not really. There are some imaginary lines drawn around the two disciplines of design and development, but the truth is they are closely intertwined, and it can be very useful for a developer to have design knowledge and skills in his or her toolbox. This presentation will correct some commonly-held misconceptions about design, cover the basics of design from a developer’s perspective and explore how a developer can employ these principles to build clearer, cleaner and more usable applications.
Creating your own software company seems easier than ever, but it takes a lot more than a good idea to make a business. Find out real world lessons about what it takes to create and market a software product as an Independent Software Vendor (ISV) including:
- Picking the right product to build around
- Marketing in the Internet Age
- What it looks like when you’re successful
Presented by one of the founders of Gibraltar Software, we break down some of the commonly held myths around software products so you can learn from our mistakes and get a look into the reality behind the dream.
The use of non-relational databases is a growing movement, and can be a great solution in some scenarios. RavenDB is the foremost document database for .NET, and offers support for JSON, LINQ, a REST-ful API, automatic indexing, transactions, horizontal scalability, and many more features. In this talk we'll discuss the pros and cons of non-relational databases, explore features of RavenDB, and walk through some examples of putting RavenDB to work.
When it comes down to actually understanding REST, it can be tough. There are quite a few versions of what REST "is" out there; some confusing, some contradictory, some helpful.
This talk sets out to explain the ideas behind Fielding's Representational State Transfer (REST) model; it's benefits and challenges. The presentation shows no code, no web pages, no HTTP headers or URIs. Instead, the primary motiviations of defining network architectures like REST are explored as well as the details of the REST style in particular. What are the unique architectural challenges of the Web? What key properties and features of a "purpose-designed" network model can overcome these challenges? How does one identify, implement, and verify these key properties? How does Fielding's REST address these questions? How can one use the same approach to create new networking models that go beyond Fielding's REST?
Using references to visual art, product design, and physical architecture, this talk is ideal as a high-level introduction to REST and distributed network programming in general, accessible to all levels of developer, architect, and web programmer, etc.
Windows 8 offers a solid foundation for building your next spatial application. The WinRT sensor API permits easy access to location and device orientation data. The WinJS projection of WinRT allows you to use existing JavaScript libraries. HTML5 provides a Canvas element for custom rendering. And HTTP can be used to connect to your web services for data access. This session will demonstrate how all of these pieces come together to provide a rich user experience for surfacing your spatial data.
Windows 8 is Windows re-imagined! Join this session to learn about the new platform for building Metro style applications. Get an understanding of the platform design tenets, the programming language choices, and the integration points with the operating system and across Metro style apps. We will dive into code, showing the new features that you will need to learn, like snapping, contracts and charms, appbars, and tiles. You will walk away with the fundamentals for building a Windows 8 application.
During this session we discuss the importance of following a specific process throughout the life cycle of an agile project. There will be an interactive session where we focus on leadership techniques that promote self-organizing teams and we discuss the rhythm necessary to lead an agile project to success. We close the session by reviewing how the importance of a self-organized rhythmic team saves time, money and improves project and product quality.
Monads, also known as Kleisli triples in Category Theory, are an (endo-)functor together with two natural transformations, which are surprisingly useful in pure languages like Haskell, but this talk will NOT reference monads. Ever.
Instead what I intend to impress upon an audience of newcomers to Haskell is the wide array of freely available libraries most of which is liberally licensed open source software, intuitive package management, practical build tools, reasonable documentation (when you know how to read it and where to find it), interactive shell (or REPL), mature compiler, stable runtime, testing tools that will blow your mind away, and a small but collaborative and knowledgeable community of developers. Oh, and some special features of Haskell - the language - too!
Everyone seems to begin programming by writing "Hello World!" to the screen. This seems rather mundane in the world of touch screens and awesome graphical user interfaces at your fingertips! Attend this workshop and you'll be writing quality, connected software for Windows 8 in no time. Then attend sessions the following days to prepare yourself for a bright future in software development!
Design and Implementation patterns have changed in object-oriented languages such as C# with the introduction of new language features, advances in object-oriented design, and the inclusion of functional language aspects. This session will explore the impact this has on design and implementation patterns and how they can be leveraged to build more elegant systems.
It's said that without evil there can be no good and that without darkness, there can be no light. Is the same true of ugly and beautiful code? Maybe... but that's certainly not a question I'll be answering in this talk.
Instead, we'll talk about ugly code, where it comes from, how to avoid it, and how to rid your codebase of it. And of course, I'll share some of my favorite anti-examples from The Daily WTF.
Improved Quality. Better Design. SOLID Code. These are all benefits of driving your design with tests. But where Test Driven Development falls short is in retaining the User's Voice. User Stories are a great tool, but not always a natural way of speaking for non-geeks. I will show you the power of writing Context Specifications in the User's voice, and then use Machine.Specifications (MSpec) to turn those specs into test driven code that all parties can understand! I assume the attendees have a solid foundation in Test Driven Development.
Team Foundation Server and SharePoint Technologies have proven to provide excellent support to each other. SharePoint has been used as a repository for the documentation supporting projects and solutions in TFS. This session’s focus is on making SharePoint more than a repository and more of a Requirements Management Engine that feeds from the Work Item information in TFS. The goal is identify the purpose of a project or solution, translate it to requirements, let the requirements provide a foundation for quality control and release management.
Branching code in your version control system is easy. Merging is a bear. Perhaps the solution is to not branch. In fact, in Continuous Integration, branching is an anti-pattern. In this session, we'll discuss different version control systems, when branching is ok, and techniques to avoid branching, which means avoiding merges.
Going beyond the simple WCF Data Service is key to building and producing valuable OData feeds that give users rich experiences as well as their developers the security and performance they demand. This track will give deep knowledge into the configuration and extensibility of the WCF Data Service/OData feed. It will also teach developers to secure their feeds through multiple user authentications such as OAuth, Windows and Forms Authentication.
Mobility and Mobile application is not just buzz words anymore. More and more consumers are moving to using mobile applications and websites as their primary ways to interact with the world. Making sure the data from your application and/or web site is validated is more important than ever. Using the Open Data Protocol (OData) is a great way to handle the data interaction for your mobile applications but the skill of knowing how to perform client and server side data validation is as important as understanding how the data gets pushed and pulled to mobile devices. In this talk Chris Woodruff gives some strategies for developers of mobile applications (both native and web) to have beautiful data to make your users happy.
The Open Data Protocol (OData) is an open protocol for sharing data. It provides a way to break down data silos and increase the shared value of data by creating an ecosystem in which data consumers can inter-operate with data producers in a way that is far more powerful than currently possible, enabling more applications to make sense of a broader set of data. Every producer and consumer of data that participates in this ecosystem increases its overall value.
OData is consistent with the way the Web works – it makes a deep commitment to URIs for resource identification and commits to an HTTP-based, uniform interface for interacting with those resources (just like the Web). This commitment to core Web principles allows OData to enable a new level of data integration and interoperability across a broad range of clients, servers, services, and tools.
Open Specification Promise to allow anyone to freely interoperate with OData implementations.
In this talk Chris will provide an in depth knowledge to this protocol, how to consume a OData service and finally how to implement an OData service on Windows using the WCF Data Services product.
Unit Testing has settled into the mainstream. As developers, we write code that checks code, ensuring that the outcome matches some expected result. But, are we really? As end-users (which includes each one of us from time to time), when we ask a question, we don't just expect our answer to be right, we expect it to be right now. So as developers, why are we only validating for accuracy? Why aren't we going for speed? During this session we'll discuss meeting the performance needs of an application, including developing a performance specification, measuring application performance from stand-alone testing through unit testing, using tools ranging from Team Foundation Server to the command line, and asserting on these measurements to ensure that all expectations are met. Your application does "right." Let's focus on "right now."
You will undoubtedly have to give a presentation in your career. If it hasn't happened yet, it will. Maybe the Sales Department needs a technical resource to give a demo for that new software. Maybe you are doing the selling as you try to convince your boss to approve that awesome development productivity tool. Maybe you want to get into speaking, presenting the latest technology trends to your peers. Yet, everybody has been there: a presentation where you spend so much time reading the content from a slide that you ignore the content from the speaker. Perhaps it was a presentation where the deck was full of animated transitions right out of a 1970's made-for-TV movie. Maybe it was the slideshow that was there simply because the presenter felt obligated to have one. The quality of a slide deck can have as much impact on a presentation as the quality of the speaker. It can destroy. It can invigorate. It can shape the mood of your audience and bend it at will. Harness that power; use it to your advantage to tell your story and leave your audience inspired.
The recent announcement of Windows 8 and the Metro interface has caused a lot of excitement. It has also raised a lot of questions for .NET developers. What’s WinRT? Does this mean that .NET or Silverlight or WPF are going away? Will my existing .NET skills transfer over to this new paradigm? What happens to desktop applications? How do I write Metro style applications?
This presentation will answer all these questions and give developers a better idea of where Windows is heading in the future. You will see how to develop Metro style applications using both HTML 5/JavaScript stack as well as with C# with XAML. You’ll see how Metro style applications are fundamentally different from traditional desktop applications and discuss the attributes of a quality Metro style application.
Users of web applications are demanding more. More interaction, more usability and a better overall user experience. A great way to do that is with AJAX and REST services. These technologies allow developers to create interactions in web applications that rival desktop applications. But many developers don’t have all the pieces of the puzzle, or don’t understand how to put them together.
This session will introduce you to REST based services and demonstrate how to create these services in .NET with either WCF or ASP.NET MVC. You’ll learn how POX and JSON are different than SOAP, and which to use when. Finally, you’ll see how to tie this altogether in your web application using the JQuery JavaScript libraries and letting it do the heavy lifting for you.
You will learn:
- How to build enhanced interactivity into their ASP.NET web applications
- How services play a crucial role in delivering this enhanced user experience
- To create REST based services on two different platforms (WCF and ASP.NET MVC)
- The JQuery library and how it can jump start their client side ASP.NET development
We’ll discuss the planning and development process of Cashbox, a completely managed document store written for .NET that sits within a single process. From the first steps of understanding the problem and discovering how to address it to finally writing a custom storage engine to replace the stop-gap storage solutions used at first. This will discuss most things at a high level, using code merely as a way to point out ways to address problems and discuss approaches used.
While many DBAs and developers are familiar with SQL Server Profiler, they are not familiar with SQL Trace. Very briefly, SQL Trace allows you to capture Profiler traces using system stored procedures, without the extra overhead of using the Profiler GUI, helping to minimize the amount of resources used for capturing traces. SQL Trace can be especially helpful to developers who want to see what their code is sending to SQL Server, helping when troubleshooting code or performance problems.
In this session you will learn: What is SQL Trace; The Pros and Cons of Using SQL Trace; How SQL Trace Works; What are the SQL Trace System Stored Procedures; How to Create Your Own SQL Trace Script; How to Query Trace Data Directly From a Trace File; and How to use the SQL Server Profiler GUI to Automatically Write SQL Trace Scripts.
This session is filled with demonstrations, and assumes attendees have a basic understanding of how to use Profiler. After attending the session, attendees will be able to return to work and immediately put what they have learned into practice.
While many of us dream of jobs in game development, XNA Game Studio and Microsoft's AppHub give you the tools necessary to make and publish your own games for the Xbox Live Indie Games Marketplace. Attendees will given a brief overview of using XNA Game Studio to create software for the Xbox 360.
CoffeeScript has quickly become one of the most watched projects on GitHub. In this session we will talk about what CoffeeScript is, why it's important, and how it can help you develop better web apps in less time. This little language has taken the web development world by storm and it is gaining converts daily. You'll see how CoffeeScript makes code more readable, how it removes many of the "Bad Parts" of JavaScript, and how it allows you to express yourself more clearly without having to throw out all of the JavaScript skills that you have spent years perfecting. If you develop web applications, you owe it to yourself to learn about CoffeeScript and see if it is right for you.
You suck at PowerShell. You really do. That's ok, you're a developer, and it's not a tool for developers anyway, right?
Wrong. PowerShell can be saving you time, energy, and more importantly aggravation. Regardless of your development domain - web, the enterprise, devices - PowerShell is there to help you get your work done.
Come spend an hour experiencing practical, time-saving PowerShell hacks you can start using today. The tricks range from the mundane to the brain-exploding, including:
- Integrating Mercurial or GIT with PowerShell;
- Using .NET libraries interactively from the console to process an image;
- Running unit tests on a remote computer as part of the local build;
- Automating change to source code, then scaling it to affect a massive code base;
Automate the stupid parts of your development, one-liner at a time...
This session will focus on methods for effective teamwork, utilizing cross-project/cross-functional communication (speaking the same language as the business stakeholders). We will examine solutions-oriented behaviors and proactive questioning techniques geared toward achieving successful project outcomes.
In our world great frameworks and tools abound that help us be productive and build awesome applications that make our customers happy. But often times we are called to solve more complex problems and we have to design and implement solutions that solve those problems accurately. Now the "right tool for the right job" is our brain and how we use that tool will decide if our application be useful to our clients and scale appropriately to their audience.
We'll look at a few problems and compare potential algorithms and try to determine how to evaluate each.
(Demonstrations are in .NET C# and Ruby but will be comparing algorithms not, technologies)