1. Tom Dale, Peter Cooper and Rob Conery; Cage Match - EmberJS vs. Angular

    01:00:16

    from NDC Conferences / Added

    20.9K Plays / / 19 Comments

    This is a battle between EmberJS and Angular. Tom Dale (project lead for EmberJS) vs Rob Conery (angular). The fight is hosted by Peter Cooper. You don't want to miss this!

    + More details
    • Ian Cooper: TDD, where did it all go wrong

      01:00:37

      from NDC Conferences / Added

      22.5K Plays / / 14 Comments

      Since Kent Beck wrote the book on TDD in 2002 a lot of words have been dedicated to the subject. But many of them propogated 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 occured and look at a better approach to TDD that supports sofware development instead of impeding it. Be prepared from some sacred cows to be slaughtered and fewer but better tests to be written,

      + More details
      • Miguel Castro: Understanding Dependency Injection and Those Pesky Containers

        01:00:33

        from NDC Conferences / Added

        3,639 Plays / / 4 Comments

        Dependency Injection is one of those terms that advanced programmers throw out with an expectation and assumption of full understanding on the part of the receiver. However, I constantly get asked by attendees, students, and clients to please recommend a good DI product and show them how to use it; and when I proceed to start talking about the subject, it becomes immediately apparent that many don't even know what they're asking about. It's easy to get infatuated by a cool buzz phrase, specially when you hear so many others using it. But to truly understand something you need to start by understanding the problem spaces that it is trying to solve. So let's bring you totally up to speed then. In this session, I'll explain dependency injection from concept to implementation, and use raw code samples to show you how it works and what problems it solves. Then I'll get into what a DI container is and some of the characteristics of the ones that are out there, including MEF. I'll end by showing you implementation examples in three different platforms.

        + More details
        • Anders Knatten - So you think you can int? (C++)"

          50:45

          from NDC Conferences / Added

          1,062 Plays / / 3 Comments

          There's an old saying; "When in doubt, do as the ints do.". But what do they do, exactly? What does an int actually look like? What happens if it's not initialized? What happens when it overflows? Why on earth does 1["ABC"] even compile? In this talk, you will learn why you need to know operating system security, activation records and standardese to understand a simple int in C++.

          + More details
          • Opening and Keynote - Joel Spolsky: The Science of Communities Behind Software

            44:45

            from NDC Conferences / Added

            1,639 Plays / / 2 Comments

            Joel Spolsky is an expert on software development, co–founder of Fog Creek Software, and the co–creator of stackoverflow.com. His website Joel on Software is popular with software developers around the world and has been translated into over thirty languages. He has written four books about software development, including Smart and Gets Things Done: Joel Spolsky's Concise Guide to Finding the Best Technical Talent (Apress 2007). Joel has worked at Microsoft, where he designed VBA as a member of the Excel team, and at Juno Online Services, developing an Internet client used by millions.

            + More details
            • Venkat Subramaniam: Asynchronous Programming on the .NET Platform

              56:29

              from NDC Conferences / Added

              488 Plays / / 2 Comments

              With multicore processors, the demand to create highly responsive applications has increased. Programming with threads can be an arduous task, but .NET API has quite a few interesting capabilities to ease that pain. In this presentation we will learn how to create multithreaded applications and make use of the .NET asynchronous API.

              + More details
              • Scott Meyers: Better Software — No Matter What

                57:53

                from NDC Conferences / Added

                3,863 Plays / / 2 Comments

                Some development practices improve software quality, regardless of the domain of the application, the language in which it's written, the platform on which it runs, or the users it is intended to serve. This seminar explores fundamental principles, practices, and standards that improve software quality, no matter what the software does, how it does it, or whom it does it for. Unlike most treatments of software quality, this seminar focuses on the critical role that programmers play, and it discusses specific strategies applicable to their activities. Course Highlights Participants will gain: An understanding of why programmer discretion plays a key role in determining software quality. Knowledge of specific practices that help improve the quality of any software effort. Insights into the quality-related interactions of specifications, programming, and testing. Who Should Attend The primary audience for this seminar is the people responsible for the code: programmers, team leads, and development managers. The information is also well-suited for professionals who work with such people (e.g., QA personnel) or who are interested in improving their organization's software development process. Format Lecture and question/answer. There are no hands-on exercises. Length One full day (six to seven lecture hours). Detailed Topic Outline The crucial role of programmers in software quality. How quality improvement practices reduce development costs. Requiring and enforcing useful specifications: What is a useful specification? Design by contract Assertions Designing Interfaces that are easy to use correctly, hard to use incorrectly: Applies to both APIs and UIs The principle of least astonishment Choosing good names Designing "nice" classes The importance of consistency Employing progressive disclosure Preventing resource leaks Documenting interfaces before implementing them Introducing new types Constraining available values Embracing static analysis: Compiler warnings Lint and similar utilities Custom parsers and analyses Code reviews and inspections The keyhole problem: What it is, how it manifests itself Why it matters How it can be avoided Minimizing duplication: Why duplication is bad Source code duplication vs. object code duplication Preventing source code duplication Preventing object code duplication Beyond code duplication Embracing Automated Unit Testing: Unit tests What to test Encapsulation issues Concurrency issues Automation Test-Driven Development: What it is How to do it Why it's useful How it relates to conventional post-development testing Retrospectives: What they are Their beneifts, both technical and social When to hold them; who should participate The importance of safety Phases: Preparation Meeting Follow-Through Kick-off retrospectives Why the material in this seminar applies to you, no matter how special your circumstances. Sources for Additional Information

                + More details
                • Laurent Bugnion: Sharing code with MVVM Light in Windows 8 and Windows Phone

                  58:23

                  from NDC Conferences / Added

                  631 Plays / / 2 Comments

                  In a perfect world, we would write code once and run it everywhere. Well this is not a perfect world, but we are getting closer. Windows 8 and Windows Phone 8 both run on XAML and C#, and allow reusing tools, skills and a fair percentage of code. In this session, Laurent Bugnion, the creator of the MVVM Light Toolkit and an expert in XAML development, will present ways to share code (such as using the Portable Class Libraries) and how to structure your applications to minimize the amount of non-reusable code. We will also leverage modern development tools (Visual Studio, unit testing, Expression Blend) to see how we can adapt our skills and build apps for multiple platforms.

                  + More details
                  • Rob Sullivan: SQL Server's Last Breath

                    39:33

                    from NDC Conferences / Added

                    699 Plays / / 2 Comments

                    It's come to this: tonight's the night. All the waiting, the deadlocks, cruel licensing and abuse to innocent SQL Statements… tonight's the night I let my Dark Passenger roam free and solve… finally solve this problem that plagues developers everywhere: SQL Server. There it sits, pretending… just like me. Pretending to love my data and be an upstanding citizen of our development group. All the while… in the dark, fetid reaches of it's kernel it's silently plotting. Soaking up RAM and carefully laying licensing traps that will suck the blood from our company… But not this time.This time I won't let it - and I have a plan. I won't do it alone - I'll bring in my trusty friend Postgres to confront SQL Server and force it to see the evil thing it's become for developers. And when the time is right, and SQL Server is strapped to the table begging to be set free, I'll pull out my favorite weapon of choice… shiny, simple, sharp and brilliant: Redis. And I'll send it straight into SQL Server's heart once and for all.

                    + More details
                    • Venkat Subramaniam: Developing Offline Applications with HTML 5

                      55:33

                      from NDC Conferences / Added

                      361 Plays / / 2 Comments

                      Mobile devices are gaining popularity but the diversity of these devices poses a challenge for development. HTML 5 promises to bring a consistent API to program the client side for both desktop and diverse mobile devices. One additional challenge with mobile devices is network connectivity, or the lack of it. Mobile devices are often taken into remote areas with low or no connectivity. While a native app can run on the device anytime, a web based application by default depends on having connectivity, unless of course we use the offline capabilities of HTML 5. Come to this presentation to learn how to create applications that can switch seamlessly between connected and offline mode. Learn about offline options, configurations, local storage and how to program all of that, in this highly interactive, live coding session.

                      + More details

                      What are Tags?

                      Tags

                      Tags are keywords that describe videos. For example, a video of your Hawaiian vacation might be tagged with "Hawaii," "beach," "surfing," and "sunburn."