Mongo(DB) only pawn... in game of life
Ah NoSQL, the modern web's panacea for all database ills...
Service Oriented Architecture vs Monolithasaurus
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.
You will learn the pros (and cons) of this approach, and how you can apply it to your own projects.
Using common idioms like REST, HTTP and message queues, complex applications can appear simple again. Simplicity leads to better design, increased agility and developer happiness.
Have you ever written some code using a clever pattern that you thought was awesome, only to find some 'expert' on the 'internet' actually criticising the pattern and calling it rude names. Well, I am not that expert. However in this session I plan to look at the reasons why perfectly reasonable looking patterns of software development are considered poor form. We'll look at what approaches might be more beneficial to your application code, and explore some common misconceptions about software design. Primarily I'll be covering object orientated patterns (Singletons, base beans, God objects, anaemic domains) but there will be some procedural CFML classics in there too. Come along, feel free to bring your own opinions and pet peeves too!
Caching for Performance and Scalability
If you’re at all concerned about application performance and scalability (and who isn’t?), caching should be an integral part your ColdFusion application architecture. Luckily, ColdFusion 10 comes bundled with powerful caching capabilities that leverage Ehcache, allowing you to boost the performance and scale of your applications with ease. This session covers everything you need to know about caching with ColdFusion 10 and Ehcache in order to immediately start taking advantage of the concepts and techniques in your applications.
BDD with JS: Architecture, Tools & Patterns
JS is a natural fit for BDD. Since "end to end tests" drive the UI of our apps, why not use JS to do it? After all, nowadays most of the UIs have tons of HMTL, CSS and JS inside. It seems natural to use the same language that implements you UI to drive it, even if the server side is written in another language. But writing test code is not enough, so you should use some architecture and some good practices to keep your tests maintainable. In this talk I will introduce you different testing architectures and what tools do you have available in JS to implement them (nodejs, mocha, zombiejs, phantomjs...). I will compare them and try to give some hints about when to use what. Finally I will talk about some design patterns that have helped me to keep my test code base maintainable. Draft Agenda (the exact contents may change depending of how long the talk must be): * Short intro to BDD and end to end testing * Lifecycle * The cost of BDD * Different architectures and tools for different goals. * Patterns for your test code base.
Frakking effective planning: not just for Cylons
Effective planning and requirements gathering is key to providing effective solutions. In this session we'll discuss a solid approach for planning the technical strategy for web and mobile projects, including some of the primary areas you should consider when tackling a new project, and how to respond to client demands. We'll also cover the impact your choices may have on the delivery method or selection of tools and technology.
Brackets: An Open Source Code Editor For The Web
Cloudy with a Chance of Tests
The advantages of unit testing and continuous integration (CI) are numerous but who has the time to writing tests on your legacy code while still being productive for your boss. This session will explain the advantages, show how to setup Jenkins and run the most basic unit test ever -- does your ColdFusion code compile. After this session, you should have the knowledge to setup Jenkins and run simple inspections against your code base. After that you can impress your boss and slowly add tests while becoming a testing rockstar.
I'm pretty sure that HTML6 is going under the codename Angular JS
AngularJS is what HTML would have been, had it been designed for building web-apps. This presentation is an introduction to using AngularJS to build data driven websites in the browser. The web is moving towards a data driven architecture, where browsers are responsible for dynamic rending and two way data binding. By the end of the session, you'll understand what AngularJS is and how it can become part of your web applications. John Whish is author of the ColdFusion ORM book and has spoken at cf.Objective() and the Scotch on the Rocks conference on several occasions.
Ready? Bootstrap! Go!
Bootstrap (www.getbootstrap.com) is a sleek, intuitive, and powerful open source front-end framework for faster and easier web development. After it's initial release in August 2011, it quick gained popularity in the web development community and currently it's the most popular project on GitHub. Numerous projects, components and tools are build around it and both small and big companies are using it. Get introduced to Bootstrap and the ecosystem around it. Your front-end development will never be the same again!
Mobile Frameworks Shootout!
The number one ingredient behind (technical) success: Team
Languages, frameworks, testing, toolkits, and methods. These are the things we spend our time learning, discussing and debating. We spend very little time (if any) discussing the most important factor in how we work and how we succeed: our team and our teamwork. In my talk I'll discuss what makes a great team and why you need to be on one. I'll draw from 10 years of experience running multiple startups in multiple countries, from small 2 man teams to managing an organisation of over 100 technical professionals. Technology and tools are easy. Humans and human relationships are hard.
Using personas in service design - continuously
Personas are widely used to describe important end users. Usually designers are working close with client to give the end user a human factor. Personas evolve during end user interviews, workshops and so on. Using personas is chic. Let's make it a chic tool to use! So... how to make sure the end user is in our focus during the whole web development? From the very first sketch to the 1st and 10th release? How to make personas work with the whole project team and how to update and evolve the personas continuously? To be honest... this is the problem I have been working with for a while. Found some right answers and still looking for the best practices: 1. Keep it simple and easy to approach 2. Use the data available - update! 3. Make layers: "Don´t really care if she is 40 something and urban! Just show me the important facts!"
The mindful developer: How doing 'nothing' can turbo-charge your productivity
Mindfulness meditation is becoming increasingly popular as a secular tool for improving focus, reducing stress, boosting productivity and developing creativity. Used by many major companies for staff development, including Google, where a course is hugely popular, mindfulness is particularly relevant for developers, who spend a great deal of time working alone and on complex projects, requiring enormous concentration and awareness. In this session, CAB member and experienced CF developer Andy Bellenie reveals his secret alter-ego as a mindfulness coach in order to demonstrate how doing taking time out to do 'nothing' can transform your day at work and beyond.
Just Mock It: Discovering Mocks & Stubs!
Come and discover the importance of mock and stub objects for your ColdFusion testing, development and continuous integration. As our applications become focus on object orientation techniques, our testing will also get more complicated and sometimes impossible to test. Mocking and stubbing are core techniques for testing ColdFusion object oriented applications. This session will focus not only in the theory and necessary concepts of mocking, but also on what to test, test isolation and techniques. Take your testing to a new but necessary level. Students will learn: What is mocking? What are mock objects? What are stub objects? Testing tools What to mock when building OO applications Applying mocking techniques and debugging
HTML5 Mobile App Development with PhoneGap
How to be a good open source citizen
Today more and more projects are being released to open source or developed as open source projects. You might think that there isn’t much to being a good user of open source. Install the project, use as needed, and move on. That is just fine, but what if you want to be more than just a silent user, what if you want to help. Learn how you can be a good citizen in the growing community of open source projects available to you as a developer. Learn what open source is and how it is more than just “free” software, how to get started on open source projects and how to move from a consumer to a contributor. Take practical steps towards releasing your own software open source, and learn that it doesn’t have to be “perfect” to do so. What is open source? – Defining what open source is and that it is more than just “free” software Being a Good Citizen - How can I help in a positive way Getting Started – What are the barriers of entry to open source projects and how to overcome them Contributing – Moving from a consumer to a contributor Releasing – How, When, and Why to release your own open source projects Licensing – GPL, LGPL, MIT, Apache, etc – brief (I mean brief) look into each and their advantages/disadvantages
Don't become Agile, strive for agility
Have you ever tried and failed to make your organisation Agile? Or, have been part of an Agile change that didn't meet the high expectations it set? Maybe you have met with too much resistance to even get off the ground. Have you ever wondered why? What if, instead of looking to make one large revolutionary change and become Agile, you looked to build a culture of continuous improvement and, while drawing from the Agile toolkit, you evolved towards the agility and predictability your business requires? In this talk I'll give an introduction to the Kanban method. I'll show how it is designed to help in the evolutionary change of your software development system and how it encourages a culture of continuous improvement.
An introduction to Sinatra and Ruby - swing when you're winning.
In this session we will explore how to build a RESTful-based application using the Sinatra framework, built on top of the Ruby programming language. We will explore installing Ruby, creating our first Sinatra application, the use of route definitions to handle multiple METHOD request types, including GET and POST requests, data persistence in a SQLite database, and how to return data in multiple formats including JSON and HTML. The RESTful approach and ease of use offered by Sinatra make it a great choice for underlying API requests which you can implement and call from any programming language of your choice.
Mikado Method - Making Code Changes Less of an Impact
The Mikado Method is a simple straight forward methodology for large scale refactoring. We’ve all been there; tasked with a change, which as optimistic developers we say won’t take us long, weeks later we’re still fighting the system. Enter the Mikado Method, a way to peel the layers of complexity away from any system. Systematically attack refactoring, in the knowledge that every change you make will be for the better of the system, rather than hoping it will be. When it comes to refactoring legacy systems, sometimes it faster just to get in there and naively attempt to make the change required rather than speed weeks analysing the affects. Naively making the change will always have knock on affects to other parts of the system. It is these knock on affects that cause what we believe to be quick changes to become large, long drawn out changes. With the Mikado Method, your system will always be runnable while you refactor, say goodbye to the feature branches of refactoring, and hello to a runnable testable system all the time. Fix one issue at a time, and keep your system deliverable at all times. The method also works when it comes to implementing new features or fixing bugs in a system, there are always side effects when we need to change code. The Mikado Method will help in all these situations. In a nut shell, it's Red, Green, Refactor on a large scale. A way to safely start paying back your technical debt.
Cultured Localisation, or 'How not to offend one billion people'
This talk isn’t really about localisation or internationalisation (add a ‘z’ if you prefer!) – it’s about culture and understanding. It’s about how we should all be approaching localisation challenges as people problems and to give good examples of how to get it right and where you can go so very wrong. Your framework and tool of choice is the easy part – understanding the people you’re wanting to each out to is oh-so-very hard and too often seen as only just a translation problem – a simple matter of swapping one string for another. I’ll talk about how people communicate across cultures, even when they are so different. Drawing on my experience as a teacher of english as a foreign language and my own travels and struggles to absorb another people’s language and culture, I hope I’ll change how you think about solving these problems in future. Hell, I’ll even make you laugh. I hope. The most important thing though, I’ll provoke a discussion; it could be a very good one.
Quit your boring 9-5er
As web professionals, we have highly sought-after skills and expertise. Many of us sit in a chair from 9am until 5pm applying these skills to projects that make other people a lot of money, and dreaming of our next tropical holiday. Regardless of whether we enjoy what we do or not, perhaps it's time to break the shackles of conventional thinking, start using what we know about building the web for our own benefit, and live the tropical holiday instead of dreaming about it. I will present some strategies for using the skills you already have to enable you to quit your boring 9-5er and start actually living before it's too late to enjoy it.
How To Destroy The Web
The future of the Web is a dangerous Babylon: people talking to each other to do business, organise revolutions, express their feelings, meet their friends, transcend their disabilities and economically empower themselves. Obviously, this must be stopped. Bruce will show you his top tips and tricks that you can use to destroy the web.
IndexedDB - It's not just for breakfast anymore!
"It doesn't work" doesn't work - how to help others help you.
All developers have times when they need to ask their peers for help, but this can be a daunting task - sometimes knowing what and how to ask is as difficult as the problem itself - and it doesn't help when you're stressed out and get slapped down (or ignored) for not knowing how to present your question. Fortunately, there are some simple steps you can check against, to help you frame your question more appropriately (and maybe even solve your problem before you've even asked). Whether you're asking on mailing lists, forums, or the [infamous] Stack Overflow, this talk will help you discover the key to asking smart questions that others will *want* to help with.
Speak a new language, speak Selenese!
Wolof, Soninke, Serer,Fula, Maninka and Diola are all recognised regional languages of the nation of Senegal and have nothing whatsoever to do with Selenese ! Selenium is a portable software testing framework for web applications. Selenese is a test domain-specific language for writing these tests. This presentation will give an introduction to software testing and the Selenium tool, an introduction to ColdFusion client library for Selenium-RC, CFSelenium. The main focus will be on speaking Selenese (Actions, Accessors, Element Locators, Variables).
Mura 6 For Developers
Since Mura CMS was launched as an open source product at cf.Objective() 2008, Mura CMS has seen huge improvements and tremendous growth. In this session, we'll provide an overview of the latest (and greatest!) version of Mura CMS, and show you how Mura CMS can make life easier for both end-users and developers alike.
- Learn how Mura CMS uses Bootstrap on the front and back-end and what this means for developers:
- Learn about new editing and publishing features
- Learn how the Admin UI has been streamlined and simplified
- Learn how to further simplify the UI for non-technical end-users and create custom content types
- And more!
Railo's Top 10 Developer Features! (and sneak peeks!)
In this session, Mark Drew will guide you through his top 10 Railo Developer features, both old and new. Awesome features like the CLI, new cfscript functionality as well as a sneak peek of the Morpheus project that Railo will be releasing in conjunction with Prisma IT. This is a session not to be missed! We really hope it will be invaluable for every developer out there. And we will be demoing features that haven't been shown anywhere else.
Websockets made easy with ColdFusion 10
Websocket protocol is a new HTML5 technology allowing real time data communication between servers and clients for the first time. ColdFusion 10 has made the implementation of websockets very easy and straightforward, saving time and increasing productivity for developers. In this session we'll discuss the websocket feature in ColdFusion 10 and how fast you can implement this technology in your web applications. You'll learn the basics of websockets, support concerns, and more intermediate topics around building a websocket solution in your applications.