Using HTML5 to Build Desktop Software
Using HTML5 to Build Desktop SoftwareKevin Boyle
HTML5 is already the clearest choice when it comes to doing front-end development on the web, and is fast becoming a great option for building certain kinds of mobile app, but what about those of us that still need to write desktop software?
This talk will explore how you can ditch WPF, Windows Forms and all the rest of the substandard frameworks that we have been forced to use when building desktop software. It will show you a bright new path that allows you to follow the likes of DropBox, Adobe and Spotify in building your software using modern web technologies.
TDD, where did it all go wrong
TDD, where did it all go wrongIan Cooper
Since Kent Beck wrote the book on TDD in 2002 a lot of words have been dedicated to the subject. But many of them propagated misunderstandings of Kent's original rules so that TDD practice bears little resemblance to Kent's original ideas. Key misunderstandings around what do I test, what is a unit test, and what is the 'public interface' have led to test suites that are brittle, hard to read, and do not support easy refactoring. In this talk we re-discover Kent's original proposition, discover where key misunderstandings occurred and look at a better approach to TDD that supports software development instead of impeding it. Be prepared from some sacred cows to be slaughtered and fewer but better tests to be written.
The Art of Listening: Effective User Feedback
The Art of Listening: Effective User FeedbackKendall Miller
We want users to be engaged and give us "good" feedback: that hidden gem of a feature, the next big idea, or the unexpected bug that they're encountering. There are a multitude of ways we can create communication channels between us and our users, but how do we pick through the options and cultivate the right ones?
In this talk we'll cover how to:
We'll talk about real world experience that's worked well for us, and the times it all came apart.
- Help users feel great with giving you feedback, even when you don’t take it
- Manage and prioritize feedback to balance user-driven refinements with your overarching software goals
- Encourage thoughtful feedback and discourage whining and other behavior that's destructive to the community
Build for Both: Patterns and Strategies for maximising code sharing when targeting Windows 8.x and Windows Phone 8
Build for Both: Patterns and Strategies for maximising code sharing when targeting Windows 8.x and Windows Phone 8Andy Wigley
When you build cross-device applications you want to build it
once, have it work across all devices and deliver the best user experience.
With Windows 8 and Windows Phone 8, the developer APIs are close, but not
identical, and the optimal UX differs between phone and slate, so it is
important to adopt appropriate software patterns such as Model-View-ViewModel
and Commanding in order to organise your code to embrace the differences and
also maximise opportunities for sharing code. We will give you best
practices for sharing code for networking, data persistence and data
presentation, using technologies such as portable class
libraries. We’ll show you how to architect your app to most appropriately
target your app for the best user experience on each platform while
leveraging that shared code.
RavenDB: an introduction to document databases
RavenDB: an introduction to document databasesMauro Servienti
RavenDB rapidly moved from being one of the emerging kids to a stable and mature platform to built scalable and reliable applications.
In this talk we'll start introducing document databases concepts, such as schema-less and eventual consinstency, and then we'll see how to create aapplications using RavenDB as the storage backend.
Peaks and Pitfalls in Creating Commercial Software
Peaks and Pitfalls in Creating Commercial SoftwareKendall Miller
Lets pulls back the curtain and go behind the scenes at Gibraltar Software to talk about the challenges and difficult decisions that come along with creating a business around commercial software.
- Creating Product Strategy – One of these three doors is the path to greatness, the other two go nowhere. Guess which.
- Connecting with Customers – Trying to not be the best product no one ever heard of.
- Finding the Right Talent – Collecting the team to knock it out of the park
We’ll go through real examples from the history of our software products – things that have worked out and things that have gone awry. Sometimes comical, sometimes tragic – it’s never boring when you’re building your reputation and your company.
Testing crap in web applications like ASP.NET MVC
Testing crap in web applications like ASP.NET MVCRob Ashton
Unit testing is one technique we have at our disposal when writing any sort of application, but often we end up writing far too many pointless unit tests for tiny pieces of logic that don't really matter and miss out on the bigger picture.
It doesn't have to be this way, using the modern headless browsers available to us and by utilising standalone web servers and treating the database as an implementation detail, we can iterate quickly on new features without sacrificing coverage and have a test suite that runs everywhere without having to set up expensive selenium installations.
In this talk, we will look at my preferred toolset for doing this and demonstrate some techniques for designing our test suite and our overall architecture to keep testing both end-to-end and at a fine-grained unit testing level cheap and easy. You will come away wishing you had done this years ago!
Beginners Guide to the Kinect API
Beginners Guide to the Kinect APIPhil Collins
With the Xbox One and Kinect v2 on the way it's probably a good idea to dip our toes into what makes the current Kinect API tick.
We'll look at image capture from the cameras on the Kinect, add in a splash on motion detection, we'll dive into the shallow end of audio capture and voice recognition, and maybe even fool around in the water with some skeleton structure mapping. We'll code some examples using the Kinect in the session and take a browse through the code on some of the more complicated example applications.
There might even be some audience participation. Hurrah! :)
Kickstart Windows 8 and Windows Phone development
Kickstart Windows 8 and Windows Phone developmentHermit Dave
For the last year and half lot of noise has been made about HTML 5 and WinJS. Sure they are both fantastic but where does that leave .NET developers ? With WinRT being a common API, should .NET developers abandon ship and start coding C++ / DX or HTML / JS ?
Do they have any other choice ? Can they still use their .NET knowledge ? How difficult is XAML for Winforms and Webforms developers ? And what the heck is this MVVM all these developers keep talking about. What about code sharing ? Can I create common code for both ?
I have gone through all these over the last 2.5 years and let me show you the way
It's up to us!
It's up to us!Amy Lynch
The IT industry faces significant challenges – skills shortages in certain areas, the lack of women working in tech, a growing focus on making money as opposed to doing something for the greater good.
As people working in the industry, we have an opportunity to transform the future of IT by giving something back, providing opportunities for others and inspiring the next generation. This session explores ideas and initiatives that will help us to drive positive change, growing a more inclusive and highly skilled tech community for the future.
Dev Games:The Balloon Factory
Dev Games:The Balloon FactoryJohnno Nolan
In this session the participants will form teams take part a session making a ballon based product for the customer. We will taking our heads away from the tools we use everyday to focus on some of the concepts that will make us a better developer. Expect to come out of this session with a free balloon. No programming experience required.
Vacuum cleaner will be needed though.
Workshop: Building the Beer game
Workshop: Building the Beer gameJohnno Nolan
You've read uncle bob but you code is still dirty? You've bought Fowler's Refactoring but all it's only used as a coaster? Books/Blogs are so whatever nowadays? What you need is to actually BE the code.
In this session I'll brief you about the rules of Beer Game and we will split into teams and design the code by actually being them. We'll pick up OO techniques, talk about SOLID and a load of other stuff.
Audience participation essential.
The Windows Phone 8 Networking Survival Kit
The Windows Phone 8 Networking Survival KitAndy Wigley
Take a lightning tour of the many Windows Phone 8 connectivity options for developers. There are more than ever before: HTTP networking APIs, NFC and Bluetooth including ‘tap to connect’ with Windows 8 slates, WCF and OData services, are just the tip of the iceberg. Store data in Sky Drive. Share state between Windows Phone 8 app and the Windows 8 version of your app. See some real practical demos, such as how to connect the Windows Phone 8 emulator to services running on your development PC, how to implement compression with HTTP networking and how you can 'tap to connect' with NFC to setup a peer to peer networking connection for data transfer or games.
This talk was the #1 rated breakout session at TechEd Europe 2013.
So Just What is Spatial SQL?
So Just What is Spatial SQL?Peter Shaw
Maps and Geo-location are everywhere these days, but just how many of you still take that Latitude & Longitude you get from your mobile app and put the values into normal decimal columns in your database?
With Geo-Spatial SQL and a correctly configured spatial aware database you can take control of this data and do some very clever stuff with it.
Want to know how many of your customers live within a 10 mile radius of your office?
What about which is the nearest fast food restaurant to the person currently looking at your Facebook app?
or maybe you want to track where your delivery drivers are?
Spatial SQL can provide the answers to this and many other location and distribution based questions, and can produce some very interesting statistics for graphing & charting and market analysis.
In this session I'll introduce you to the concept of spatial SQL using Open Geo-consortium standards, most of which can be used with slight modification in the current versions of MS-SQL 2008 and up.
I'll give a high level overview to what is available, why you might want to use it and the type of operations that can be performed directly in your database along with some of the tools you can use to provide rich mapping and statistical visualisation in your .NET applications.
Getting Started with Postgres
Getting Started with PostgresPeter Shaw
You've heard hushed whispers about a database that's truly "Object Orientated", you've maybe even seen shadowy figures talking strange dialects of SQL in dark corners.
What you've likely witnessed is:
Postgres : The Object Relational Database
Many people don't realise the power that postgres holds, and what it can do to help you in your day to day projects.
It has some very interesting features that make it unique among other databases in the same class, and you might just be very surprised at what lies under it's humble open source hood.
Join me as I show you some of the clever tricks it can do and take you through the basics of installing it on a windows system, and if we have time I'll even show you how to make EF5 talk to it using code first.
Practical use of SQL Server events
Practical use of SQL Server eventsJimmy Skowronski
Databases, old good databases, we all love them when they work as we want. When they don’t… well, it’s totally different story. Most of us were in sticky situation when our queries didn’t perform quite the way we expected. Sometimes we are lucky and we can isolate the troublesome query and analyse. In some cases however our troublemaker is part of the complex system and then things tend to go nasty.
There are many ways you can try to find your way. This session will show you one of them that uses SQL Server events to capture some useful information about your query such as wait stats or execution plan. This is going to be very practical session demonstrating application of a specific technique to solve the specific problem. There will be no new frameworks or methodologies, just old good problem solving.
Whats new in Windows 8.1
Whats new in Windows 8.1Hermit Dave
Last year Windows 8 was released to public. This was the first release of a touch first interface from Microsoft. It was a significant departure from previous versions and there were occasional gaps that left users confused. For developers, Windows 8 exposed Windows Runtime - first non .NET API. The maturity of Windows 8 itself in terms of developer readiness was questionable - seemed like Silverlight 1.0
If you were waiting for it to mature - wait no more. Windows 8.1 heralds update to Windows Runtime. There are hundreds of changes in the runtime. There are tons of changes to improve XAML performance.
Let me give you a quick overview of what has changed with Windows 8.1 and what it means for you the developers.
F# eye for the C# guy
F# eye for the C# guyPhillip Trelford
This talk is for C# programmers who are curious about F#, a mature multi-paradigm programming language available in Visual Studio and Xamarin Studio.
In: unit testing, functions and classes
Out: maths, monads and moth-eaten jumpers
Expect live code samples, including interop between C# and F#.
You got your compiler in my service!
You got your compiler in my service!Matthew Steeples
Announced in 2008, Microsoft's "Roslyn" project promises to bring the power of the C# and VB.NET compilers to the developer. It opens the door for all kinds of code analysis, meta programming and scripting functionality.
From code to syntax trees to IL, learn how to make the compiler work for you, including how to change the behaviour of running programs!
Dev Games: The Beer Game
Dev Games: The Beer GameJohnno Nolan
Think you can organise a p*ss up in a brewery? Are you sure? Well prove it then by voting and attending this workshop. In this session we will be modelling a beer distribution supply chain and teams will form to compete against each other in order to see who can keep the costs down and the beer flowing!
This session will be exploring the softer-side of software development where attendees will learn from each other about how they deal with the pressures of delivery.
Getting the most out of MongoDb
Getting the most out of MongoDbIan Russell
MongoDb is the Swiss Army Knife of NoSql databases. It can store huMONGOus volumes of data, easily scale out across multiple servers, is very easy to program against and supports ad hoc queries only usually offered by relational databases. In this session, I will show you how you can get the most out of this powerful, flexible and scalable NoSql database.
CQRS from the trenches
CQRS from the trenchesMauro Servienti
CQRS is a powerful archtectural pattern that can dramatically simplify the way we approach application design, but things can get complitated when it comes down to scale horizontally since we introduce new problems, such as eventual consistency, and we loose the support of transactions.
In this talk we'll introduce CQRS concepts starting with a really simple example using an ORM and a relational database and then we move to a much more complex scenario and see how we can leverage the power of CQRS to scale horizzontally our application using a document database as storage and an ESB that connects the various parts of the system.
Headless browsers - tools for generating documents in ASP.NET MVC Application
Headless browsers - tools for generating documents in ASP.NET MVC ApplicationPavol Rovensky
We have all witnessed it ourselves - Web application is completed, however once users get introduced to the application they start to miss printed outputs...
In this session we will introduce how headless browser can serve as a 'print engine' for generating PDF-s and graphical formats in ASP.NET MVC application.
We will introduce headless Webkit browser PhantomJs and its navigation (and testing) utility CasperJs. We will show how to integrate these technologies into ASP.NET MVC application and describe few tricks we have learned doing so in a real world application.
We will explain why we have taken this approach in comparison to existing packages such as Rotativa and how ASP.NET MVC engine can be used to write navigation script for CasperJs.
Glimpse: Open Source on steroids - writing plugins for your framework, and for your app
Glimpse: Open Source on steroids - writing plugins for your framework, and for your appSimon Elliston Ball
Glimpse is firebug for your server; it’s a great diagnostics tool for ASP.NET MVC with deep framework integration. It is also a platform for all your diagnostics, and a framework in its own right for writing powerful data-gathering plugins, which the open source community has already started creating. This talk will show you how easy it is to replace tricksy adhoc diagnostics and logging in your application with a rich and robust glimpse plugin tuned to provide all the deep data you need.
If you want to get deep insight into application problems, and keep your code clean, your concerns separated and your eye on performance, then this is the talk for you.
Windows Store Apps with XAML, C# and Prism
Windows Store Apps with XAML, C# and PrismKris Athi
This session will show how you can use the recently released Prism For Windows Runtime framework to create your Windows Store App with Xaml and C#.
Will keep this one light on the slides and heavy on the code J
TFS Lab Management War Stories
TFS Lab Management War StoriesRik Hepworth
On the face of it, Lab Manager seems like a cool and useful part of Visual Studio Team Foundation Server. Allow developers to create, deploy and manage environments comprised of many virtual machines; deploy your latest build automatically and run automated testing; leverage the power of Hyper-V and System Center without the pain...
Back in the real world, we've learned a lot about how to get Lab Manager in TFS 2012 working with SCVMM 2012 from the workout we give it at Black Marble. In this session, Richard and I will share nuggets of knowledge to help your lab environment work smoothly and effectively and support your development and testing process.
Co-presenting with Richard Fennell
Self Service BI in Excel 2013
Self Service BI in Excel 2013Gary Short
In this session we'll take a tour of the self service BI goodness in Excel 2013 including PowerPivot, PowerView, GeoFlow and Data Viewer (or whatever they'll be called in Office 365)
There'll be plenty of demo's to make you go "ooo" and "ahhh" as well as some cool stats to make you go "mmm", what more could you possibly need? :-)
Automated build is not the end of the story
Automated build is not the end of the storyRichard Fennell
So you have got the hang of automated continuous integration build, you can make sure your application builds and unit tests get run as part of your check-in process. But why stop there?
In this session I will discuss the techniques and tools that can extend your build process to make your first steps into the realm of continuous deployment (or shall we call it automated deployment if the term ‘continuous’ is too scary for your stake holders).
The session will focus on the tools used with the TFS build process, but there be bits applicable to other ALM solutions.
Using SQLite in Windows 8.x and Windows Phone 8 Apps
Using SQLite in Windows 8.x and Windows Phone 8 AppsAndy Wigley
Most mobile apps require the ability to store data locally on a device to deal with the realities of a disconnected world where a ubiquitous wireless data network is non-existent. While many consumer apps can save light amounts of data as small files, the data requirements of more complex apps such as mobile line of business apps is much greater. With Windows Phone 8 and Windows 8 Store Apps, Microsoft includes support for the embedded database, SQLite. In this talk, we walk you through creating local databases and tables and show you how to work with offline data.
Cross-platform Mobile Development in Visual Studio
Cross-platform Mobile Development in Visual StudioBart Read
Want to build a mobile app with your existing web site, but not sure how to get started? This session will give you a comparison of cross-platform mobile approaches (Xamarin vs PhoneGap vs native). Taking the PhoneGap (Cordova) approach, Bart will show the easiest approach for a developer used to VisualStudio: building, deploying and debugging a simple app for iOS and Android. Once we have the simple case under our belts, we'll get down to the nitty gritty, discussing strategies - and gotchas - for making mobile apps using code from your web sites.
Performance Boost For Your Agile Team
Performance Boost For Your Agile TeamNick McKenna
Until a year or two ago, most people were asking me how they could adopt Agile practices. Now, a lot of teams have been Agile for a while now, and a lot are starting to ask questions about how they can maximise their performance. This session will present my experiences of giving a performance boost to Agile teams. I will share some of the tweaks, strategies and tactics that I have employed over the years to get teams to realise their potential to its fullest!
Working for free and what it taught me
Working for free and what it taught meRob Ashton
All the way back in November I got fed up with the enterprise consulting lark and because of that enterprise consulting lark I realised I had enough money to get by for a year without working quite easily.
So quit I did, and offer my services to the world for free I also did. I travelled around with nothing but a suitcase and my laptop working for a variety of people doing a lot of software in alien technologies and locations.
It taught me a lot about what I wanted from life, and what is wrong with how the world wants us to work. I want to share this with everybody alongside pictures of awesome things and amusing anecdotes about what happens when all of this goes wrong.
This is a soft talk, although everything will be at the very least tangentially related to software development.
EventStore - an introduction to a DSD for event sourcing and notifications
EventStore - an introduction to a DSD for event sourcing and notificationsLiam Westley
Ever thought about using event sourcing to enable CQRS (Command Query Responsibility Segregation), or did you just want an easy manner of creating an audit trail or a notification system?
EventStore (http://geteventstore.com/) is an open source DSD (Domain Specific Database) engine designed just for that, driven forward by Greg Young (https://twitter.com/gregyoung and http://codebetter.com/gregyoung/).
In this session you'll find out what exactly is EventStore, how you compile and install it, how you write and read from it and why it's a fantastic solution if you have the right sort of problem.
Tips to make you a better software geek
Tips to make you a better software geekAshic Mahtab
There's so many "ideas" out there, and principles to follow, products to use, hair to pull out, midnight oil to burn. Not all things have the same value proposition, and not all value propositions result in actual value. It's so easy to follow some processes to tick some check boxes. But we're not after check boxes - we're after delivering solutions that age gracefully. And if we can avoid headaches and hassle - all the better.
This session will bring forth some of the core practices and ideas I've learned over the last eleven years. Some relate to day to day practices, some to things that affect scalability and maintainability, and some will be simply about programming. As with most ideas, some of these will be opinionated, and there's only so much you can fit into the fifty or so minutes. However, I believe you won't be (much!) worse off if you keep these in mind.
UI for developers (AKA Getting started with Twitter Bootstrap in .NET)
UI for developers (AKA Getting started with Twitter Bootstrap in .NET)Peter Shaw
If your anything like me (by that I mean a typical developer), then your (cough) not particularly good at user interface design.
Unfortunately, your boss and/or clients seem to think that
developer = designer = "UI and Pretty things god"
and.... no matter how much you protest, or how much you try to tell them your not, it falls on deaf ears.
So... what happens. You spend all your time trying to please the visually driven crowd with what are often only prototype interfaces, and not enough time on developing the actual software.
You need : TWITTER BOOTSTRAP!
Bootstrap won't make you a UI god overnight, but it will allow you to layout those prototype interfaces quickly, easily and with enough visual appeal to keep all but the most visually focused people happy.
Leaving you enough space to get on with what you do best... writing kick ass software.
Cross platform mobile development in c#
Cross platform mobile development in c#Ross Dargan
In this session I will cover how to write a cross platform mobile application using c#.
I will demonstrate how easily you can target iOS, Android and Windows phone 8 using tools you will already be familiar with as a c# developer. I will explain how to use good coding techniques to ensure a high amount of code reuse for both the back end core logic, and the front end user interface.
The ECMAScript Internationalization API
The ECMAScript Internationalization APIGuy Smith-Ferrier
Tyrannosaurus Rx: slaying the event-driven sauropod with Reactive Extensions for .NET
Tyrannosaurus Rx: slaying the event-driven sauropod with Reactive Extensions for .NETJohn Stovin
Complex event-driven coding in C# can be hard to write and hard to read. Microsoft's Reactive Extensions for .NET (Rx) ease the development of event-driven and asynchronous code, but many .NET developers are unfamiliar with this versatile library. This talk will explain the motivations behind Rx and provide practical examples of using Rx in common scenarios.
You've learnt the basics of F#: What's next?
You've learnt the basics of F#: What's next?Ian Russell
F# has some of the coolest real-world features available in any programming language. In this session, I’m going to introduce you to two of them; Type Providers and the MailboxProcessor. Type Providers make handling data from many disparate sources a breeze and the MailboxProcessor will allow you to easily create highly scalable concurrent applications. Come along to this session to see some of the reasons why F# is rapidly gaining traction within the .Net community.
Debugging NodeJS with Visual Studio and flying robots
Debugging NodeJS with Visual Studio and flying robotsSimon Elliston Ball
Also featuring flying robots.
An Introduction to Single Page Applications
An Introduction to Single Page ApplicationsIan Cooper
SPA applications have become the next big thing, with MS even introducing template support for building them in Visual Studio. But for many people a SPA application still remains a mystery. In this tutorial we hope to help you understand what a SPA app is, what components you need and demonstrate a simple end-to-end application and delve into some of the choices you have in implementing one. We will use OpenRasta, JQuery, KnockoutJS and SammyJS for the demo app and tutorial but discuss alternatives.
What's New in Visual Studio 2013 and Blend for XAML Developers
What's New in Visual Studio 2013 and Blend for XAML DevelopersAndy Wigley
If you are a XAML developer, Visual Studio 2013 has a ton of amazing features that you will fall in love with! From the enhancements we are making in Visual Studio that help you be more productive in the XAML editor, all the way to the new design tools in Blend that allow you to create pixel-perfect user experiences, come to this demo-rich session that walks over all the new features for authoring great Windows 8.1 XAML apps.
Making 3D games with Monogame
Making 3D games with MonogameRichard Garside
Learn how to create a 3D game that works on Windows 8, Windows Phone, iPhone, Mac and probably a few others. Monogame is an Open Source implementation of XNA that uses Mono so you can use your C# skills on a wide range of platforms.
CQRS from the trenches
CQRS from the trenchesAshic Mahtab
There's so much mis-information regarding CQRS (and DDD, and Event Sourcing) going around these days - "CQRS is an architectural pattern", "You must embrace eventual consistency", "You'll require Enterprise Messaging product X", "It'll give you scalability", "It's NoSQL", and best of all "Re-write your apps, revolutionise your company".
Due to whatever reason, there's a lot of confusion surrounding the concepts, and they seem more daunting than they are. So much so that many simply avoid the whole idea. It is quite unfortunate.
In this session, we'll peel back the veil, and get to the core ideas and principles. Along the way, we'll discuss potential benefits, drawbacks, and of course, implementation concerns. We'll even look at some real world examples from my previous projects. The session will be highly technical focusing on implementation approaches, how the concepts relate to various levels of architecture, and how you can start benefiting from them right away - without starting from scratch.
An Introduction to Octopus Deployment
An Introduction to Octopus DeploymentJoel Hammond-Turner
In an enterprise environment, publishing to live from the desktop really doesn't cut it - testing, customer approval and change tracking all require more checks, steps and environments than the usual Visual Studio or Azure tools provide.
Octopus Deploy is a NuGet-based system that allows great flexibility in managing deployments to numerous environments across multiple releases.
This session will give an introduction to Octopus Deploy, showing how it can be used to deploy a web site to an on-site "test" server, off-premise servers and on to Azure web role instances.
We'll also see how it can be easily integrated with a CI build system to control releases, with "tales from the trenches".
The Joy of Wires: an introduction to Netduino, .NET Micro Framework and the Internet of Things
The Joy of Wires: an introduction to Netduino, .NET Micro Framework and the Internet of ThingsIain Angus
Somewhere around 2008 a milestone was reached that went largely unobserved. For the first time there were more “things” - smartphones, industrial sensors, “smart” electric meters, and so on - connected by the Internet than there were people using it. Netduino is a great, low cost way to reuse your .NET skills and get started with embedded development. This session aims to get you up and running beyond the blinking LED.
Single Page Applications with AngularJS
Single Page Applications with AngularJSMauro Servienti
We'll start introducing AngularJS concepts and core components and then we'll start building our sample application using ASP.Net WebAPI as the backend technology.
Scaling Systems: Architectures that Grow
Scaling Systems: Architectures that GrowKendall Miller
It's harder than ever to predict the load your application will need to handle in advance, so how do you design your architecture so you can afford to implement as you go and be ready for whatever comes your way?
It's easy to focus on optimizing each part of your application but your application architecture determines the options you have to make big leaps in scalability.
In this talk we'll cover practical patterns you can build today to meet the needs of rapid development while still creating systems that can scale up and out. Specific code examples will focus on .NET but the principles apply across many technologies. Real world systems will be discussed based on our experience helping customers around the world optimize their enterprise applications.
WTF#?! Functional Programming in F#, and why you should care with examples in F#
WTF#?! Functional Programming in F#, and why you should care with examples in F#Grant Crofton
So you spend 10 years perfecting the art of OO, the One True Paradigm, and just about have it mastered - and now everyone's doing Functional Programming!
In this session, I - myself a relative FP newbie - explain the basic elements of Functional Programming using F#, and show you why this is one bandwagon you should be jumping on.
You don't need any previous knowledge of F#, but if you go to Phil Trelford's F# Eye For the C# Guy session beforehand you'll be way ahead of the game!
Building Single Sign On websites
Building Single Sign On websitesJimmy Skowronski
Meet Dave. Dave is like you and he has a problem. He found that great website but he needs to register on to use it. That means he needs to create yet another user name and password. And he has to remember it or write on that big post-it on his monitor - booo! So Dave decided he will not register and he will look for another website he can use without creating yet another password.
There are plenty of people like Dave. He may be your user or you may be like him. But we need users and passwords and permissions and all that stuff on our websites.
Here is an idea. What if you could delegate all that somewhere and let someone else to worry about passwords, security and all that boring stuff – yayyy!
This session will show you how to delegate your authentication somewhere else. You will learn basic theory behind Single Sign On and delegated authentication concepts.
PreCrime - Fact or Fiction
PreCrime - Fact or FictionGary Short
In Minority Report the PreCrime Unit were informed of impending crime by three people who could see into the future. How much of that was fiction? Okay, so we can't use psychics to look into the future, but we can do the next best thing.
Using predictive analytics, in this session, I'll show you how we can predict crime patterns, spot drug networks and predict the spread of new legal highs through a city.
So come along, sit back, relax and discover if we are already living in the world of Minority Report.
Gadgeteer, Signal R, WebAPI & Windows Azure - Challenges of the .Net Micro Framework
Gadgeteer, Signal R, WebAPI & Windows Azure - Challenges of the .Net Micro FrameworkSteve Spencer
This session introduces Gadgeteer, Web Api and Signal-R and discusses the issues around implementing both Signal-R and Web api on Gadgeteer.
Cross-Platform Continuous Delivery: Web, Mobile and Desktop – A Grand Unified Theory
Cross-Platform Continuous Delivery: Web, Mobile and Desktop – A Grand Unified TheoryJustin Caldicott
It’s remarkably easy to share code between a web service, web site, iOS app and desktop app, using .NET and Xamarin. Continuous delivery across multiple platforms *should* be easy too – the tools are all there, and the benefits for testing and productivity are huge, so let’s look at what it takes to get it working.
This session will look at how to set up a multi-platform continuous delivery process, show you where the gotchas and pitfalls are, and explain how it’s going to make it easier to develop future software. It’s for anyone interested in smoothly delivering software to any platform, and anyone who wants to see what’s possible when someone else has done all the trial and error!
Database Security for Developers
Database Security for DevelopersColin Mackay
I've been talking about SQL Injection Attacks since 2005, but this is a completely revised and updated talk. Yes, I'll still be discussing SQL Injection Attacks (its been the OWASP #1 security vulnerability for years, so you'd have thought we'd have learned by now), but I'll also be taking a wider look at database security for developers.
Typical application security is like Shrek, that is to say it is like an onion, which is to say it stinks... Sorry, I meant it is supposed to be layered. It isn't enough just to parameterise your queries or use a trusted ORM that builds the queries for you. There are many other aspects to database security that developers need to think about and in this talk I'll discuss.
Although the underlying principles are wide, this talk will focus on the Microsoft stack of technologies. .NET, C#, ASP.NET MVC, and, of course, SQL Server.
Globalization: Know Your Enemy
Globalization: Know Your EnemyGuy Smith-Ferrier
Metaphorically speaking, the world is shrinking every day. Ironically this means that it is getting less acceptable to brush aside cultural differences and pretend that all cultures are essentially English but with different words. Appreciating globalization is about achieving humility, understanding that the world is a lot bigger than most developers give it credit for. Most developers understand that different cultures use different date formats, number formats and currencies. However, how many developers do not know that postal code formats, phone number formats, address formats and person name formats also differ. Not to mention the issues of localizing for gender-based languages or languages with less simplistic plural forms. What about ordinal subscripts, ordinal words, alphabet character sets ? The intention of this session is to open eyes, provide globalization enlightenment and with luck it will scare the living bejeezus out of you enough to make you question every line of code you write.
Panic-Driven Development: Creating a DDD web site from scratch, just in the nick of time
Panic-Driven Development: Creating a DDD web site from scratch, just in the nick of timeAlastair Smith
Co-presented by Adrian Banks.
The story starts back in the mists of time of DDD South West 4, when a certain Guy Smith-Ferrier worked a Jedi mind trick on three unsuspecting geeks and convinced them to run a new DDD event in the East. DDD East Anglia was born.
Of course, being software developers, one of the things we wanted to do was to create our own website for the conference using the latest cool tech. How hard could it be? There's session submission and voting and registration and accommodation details and venue details and directions and sponsors and speakers and an agenda, and user experience and responsive design and caching and load monitoring and site administration and vote tracking. Late-night coding sessions and frantic email conversations and sleepless nights aside, how hard could it be, right?
In this talk, we will cover the process we went through from initial planning to having an auto-deployed site hosted on Windows Azure. We will show our workflow of working as a remote team with Trello, git and GitHub, building and testing using TeamCity, setting up Azure, handling registration with EventBrite, and direct auto-deployment to production from a simple code commit. There will also be several examples of things not to do (which of course we did!).
MongoDB for the C# developer
MongoDB for the C# developerSimon Elliston Ball
Don't miss the NoSQL revolution!
A practical introduction to MongoDB, what it’s all about, why you should consider using it, and how to use it with your C# applications. MongoDB is the most widely used NoSQL document database, and supports a wide range of use cases and features.
This talk will be full of real examples, key gotchas you might face with real world Mongo development, and a good look at a powerful, fast new document database option from a .NET perspective.
NCLDR: 300+ New Cultures for Windows and more Globalization solutions than you can shake a locale at
NCLDR: 300+ New Cultures for Windows and more Globalization solutions than you can shake a locale atGuy Smith-Ferrier
CLDR is the Common Locale Data Repository. It is a repository of globalization data exposed as a library called ICU (International Components for Unicode) to Java and C++ developers. The .NET Framework has had similar functionality since .NET 1.0 in the form of the System.Globalization namespace (pre-dating CLDR) and consequently CLDR has not entered the .NET developer’s sphere of interest. However, CLDR and System.Globalization represent a classic Venn diagram where they only partially overlap. As such CLDR has solutions to globalization problems that the .NET Framework does not. And as .NET internationalization developers we covet these solutions. NCLDR is an open source library that exists to expose CLDR to .NET developers. This session describes NCLDR, how it works on different levels, how to add 300+ new cultures to Windows and the .NET Framework and what new globalization problems it solves beyond the System.Globalization namespace.
How To Achieve World(-Ready) Domination In ASP.NET MVC
How To Achieve World(-Ready) Domination In ASP.NET MVCGuy Smith-Ferrier
Hadoop KickstarterGary Short
Hadoop is the de facto standard environment for large scale data science work. It can seem pretty intimidating at first, but in this session I'll walk you through the core components of the environment and give you lots of examples of the kinds of things that can be achieved with this free, open source, toolset.</p>
Service Oriented Architecture Vs Monolithasaurus
Service Oriented Architecture Vs MonolithasaurusJoe Roberts
SOA is an approach to application design that allows us to build robust, scalable software. This is not about scary enterprise systems, this is about building applications with interoperable, lean services that can provide incredible flexibility and freedom.
With an eye on software craftsmanship, agility and developer happiness; you will come away with a clear idea of what SOA is, how you might apply it, and why it might help your real world projects.
Warning: contains monsters.