Presentations

Have a look

Ted's a world-renowned conference speaker and keynoter, with more than three hundred (as of 2013) conferences, hundreds of training classes, under his belt. With each presentation, he brings equal amounts of education and entertainment, because not only do you need to teach the crowd, but you need to keep them awake. Below is a list of topics, across close to a dozen categories) he can speak on, but if there's nothing in this list that appeals, contact him.

Parsing the Catalog

Ted organizes his presentations into a couple of categories, usually reflected in the title:

Additionally, all of the talks are tagged; hit the tags page and if a tag matches your interest, look for the "talk" links for that particular tag.

Note: Individual talk pages will have links to HTML or PPTX versions of the slides; as of this writing (2 Mar 2022), some of those links may not work as the mechanism to CI/CD the presentations is still under construction. (It's exposing a lot of places where talks are out-of-date and/or need "modernization" to the new scheme.) If you want to see them and the link is broken, [contact Ted](/contact.html). (Having the links there, broken or not, acts as a forcing function and a reminder to get them sorted.)

Customizing the Tale

Oh, and if you're looking for something a little bit longer than an hours'-plus presentation, check out his list of workshops.


Keynotes

"Iconoclasm"

History is littered with the stories of iconoclasts--people who truly stood out as pioneers, lateral thinkers, and in some cases, outright heroes--and their successes and failures. From the baseball management vision of Branch Rickey to the glassblowing vision of Dale Chihuly to the engineering design vision of Steve Jobs, iconoclasts ...

"Managers are from Mars, Developers are from Venus"

You're a manager. You've been hired to run a small (or large) development team, and for the life of you, you can't understand these people. Every time you try to motivate them, they balk and resist. You try to hire them, you can't figure out what they want and they walk away. Then, without any sort of action on your part, suddenly they ...

"Modern Architecture"

Software architecture is a soft term, apparently able to mean whatever the speaker intends it to mean at will, with little to no argument from the audience, industry, or other architects. One would think that by this time in our industry's lifecycle, we'd have nailed some of this down by now, so let's do that--let's nail down what ...

"Platform-Oriented Architecture (POA)"

As the mid-decade mark passed in the 2010s, the software development industry felt itself cross a threshold, but wasn't quite sure what that threshold was. It was clear that traditional Web applications--server-side generated HTML sent back to a browser running on some kind of device--wasn't really "cutting it", not with all ...

"Polytechnical Careering"

Starting with the ‘domain-specific language’ movement, and bolstered by the Pragmatic Programmers’ suggestion that programmers should learn a new language every year, the notion of ‘polyglot programming’ became something of a critics’ darling when talking about career paths. But somewhere along the way, it feels like the original ...

"Pragmatic Architecture"

Ever wondered what a software architect is? Or what a software architecture is? Ever wondered what a software architect does? Even if you are one? In this session, we'll explore what software architecture is, what a software architect does, and why it seems nobody seems to "get" what software is like.

"PsyPhilProg"

Philosophy: ancient Greek for "love of wisdom", philosophy is the study of the general and fundamental nature of reality, existence, knowledge, values, reason, mind and language.
Psychology: the science of the brain, emotions, and behavior.
Programming: ancient Latin for "please God let it compile this ...

"PsyPhilProg: Eudaimonia"

The ancient Greeks had a term, "eudaimonia", which, translated loosely, means "the good life". It is this concept of which Socrates spoke when he said that "the unexamined life was not worth living"; it is this same concept of which the Stoics spoke when the Roman Emperor Marcus Aurelius wrote his ...

"PsyPhilProg: Understanding Knowledge"

Philosophy: ancient Greek for "love of wisdom", philosophy is the study of the general and fundamental nature of reality, existence, knowledge, values, reason, mind and language.
Psychology: the science of the brain, emotions, and behavior.
Programming: ancient Latin for "please God let it compile this ...

"Quick & Dirty (&Right)"

For so many years, developers have been taught by the "craftsmen" of the world that quick-and-dirty is a sin, an evil that must be rooted out and destroyed wherever it is found. What if I told you that not only is quick-and-dirty not the outright abomination that "thought leaders" make it out to be, but a necessary ...

"Remembering History"

What do Imperial Germany, Napoleonic France, Czarist Russia, Web Services, OSF RPC and CORBA have in common? A lot more than you might think. History is filled with "learning opportunities" for those who are aware of it, and the history of distributed systems is no different. In this keynote, we'll examine the lessons of ...

"Rethinking "Enterprise""

The era of the big, heavy, transactionally-oriented relational-backed client/server topology, as best described by the J2EE Specification and Blueprints document, seems to be over. The era of the lightweight, transactionally-oriented relational-backed client/server topology seems to be at its zenith. Is this really where we want to be ...

"The Role of an Architect"

What is the role of an architect in a software project? This question has plagued many a software organization (and even those who do the job), and provided loads of entertainment. In this presentation, we aim to explore the intersection of software architect with the worlds of architecture, psychology, business, and even music. By the ...

"What International Relations Can Teach You About Development"

In 1995, I graduated from the University of California at Davis (Go Aggies!) with a Bachelor of Arts in International Relations (IR). I then proceeded, despite that "handicap", to go out and forge a career as a developer, architect, and (now) manager/CTO. During that time, I spent a lot of time in interviews and casual ...

"Why Functional Programming Matters"

In the latter half of the 2000s, a new kind of programming language seemed poised to take the steam out of the dominancen of object-oriented programming languages and their hold over "mainstream" development. But these new languages, collectively referred to as "functional" languages, were nothing new. In fact, ...

"Why the Next Five Years Will Be About Languages"

Thanks to the plateau of per-chip performance increases and the resulting need to work better with multi-core CPUs, the relative difficulty of mapping user requirements to general-purpose programming languages, the emergence of language-agnostic "virtual machines" that abstract away the machine, the relative ceiling of ...

Busy Manager's Guide

"Busy Developer's Guide to Management"

Ah, managers. Team leads, if you prefer. People who have the hiring (and firing) authority over others within the company, and are ostensibly tasked with.... Wait, what do managers do again? Is it something you were thinking about doing? Is it something any right-minded developer would want to do? Or is it the logical next step in a ...

"Busy Developer's Guide to Mentoring"

Statistically speaking, developers--particularly those with a few years under their belt--find the idea of "giving back" to be not just appealing, but a necessity. Sadly, desptte the genuine good intentions, most developers have no idea how to mentor a younger developer, and often flounder and stumble and make a mess of ...

"Busy Manager's Guide to Being a New Manager"

"Busy Manager's Guide to Building Coaching Trees"

"Busy Manager's Guide to Decisions"

Ever had to make a decision? Ever wondered how we actually decide things? Ever agonized over the process of making the decision and wondered if there is "a better way" to come to one?

Hire or don't hire, fire or don't fire, pursue or abandon, praise or criticize, meet or email, the manager's life is filled with ...

"Busy Manager's Guide to Interviewing"

For most developers and their managers, interviewing candidates to join the team is a process frought with uncertainty, deep feelings of imposter syndrome, outright feelings of competition, not to mention all those HR regulations. Coupled with the constant reminders about the costs of a "bad hire", interviewing becomes one of ...

"Busy Manager's Guide to Meetings"

Meetings! Clearly, if there is one topic that everyone inside of a technology organization loves to hold up as the single most responsible thing for why nothing gets done, it's the loathesome meeting. Too many long meetings, too many people in meetings, too many boring meetings, too many... meetings.

And yet? They're a necessary ...

"Busy Manager's Guide to Performance Management"

It is said that the performance of a manager (team lead, tech lead, leader, etc) is the same as the performance of their team. If that's the case, and you lead a team of developers, then suddenly your bonus--and promotions--are in the hands of a group of people whose actions you don't directly control. Is it any wonder why ...

"Busy Manager's Guide to Risk"

"Busy Manager's Guide to Strategy"

"Busy Manager's Guide to Teams"

"Managers are from Mars, Developers are from Venus"

You're a manager. You've been hired to run a small (or large) development team, and for the life of you, you can't understand these people. Every time you try to motivate them, they balk and resist. You try to hire them, you can't figure out what they want and they walk away. Then, without any sort of action on your part, suddenly they ...

"Quick & Dirty (&Right)"

For so many years, developers have been taught by the "craftsmen" of the world that quick-and-dirty is a sin, an evil that must be rooted out and destroyed wherever it is found. What if I told you that not only is quick-and-dirty not the outright abomination that "thought leaders" make it out to be, but a necessary ...

"What International Relations Can Teach You About Development"

In 1995, I graduated from the University of California at Davis (Go Aggies!) with a Bachelor of Arts in International Relations (IR). I then proceeded, despite that "handicap", to go out and forge a career as a developer, architect, and (now) manager/CTO. During that time, I spent a lot of time in interviews and casual ...

Busy Technologist's Guide

"Busy Technologist's Guide to Proposing, Preparing and Delivering|a Technical Talk"

The fear of public speaking actually exceeds the fear of death. (And the dentist.) But speaking to a group of technical peers can also be one of the most rewarding and career-enhancing things you can do. Whether it's a "brown bag" at your company, a local Meetup user group talk, or a conference presentation, there's a core ...

Busy Architect's Guide

"Busy Architect's Case Study: Dragonflight.org (2014)"

This presentation is a case study, describing a project's goals, implementation, successes and failures. In this case, around a web-based project for the Dragonflight Convention held every year in the Pacific Northwest.

"Busy Architect's Guide to Architecting for the Cloud"

With the dawn of the new decade, "cloud" swept into developers' (and their managers'!) mindsets with a vengeance. Suddenly, everything was "in the cloud", development was racing "to the cloud", and if you weren't "cloud-friendly", you were facing an uphill battle. And yet, with all this ...

"Busy Architect's Guide to CQRS"

The Comand/Query Responsibility Separation (CQRS) architectural style has emerged once again into the hallowed halls of software architecture, and it brings with it an entirely different approach to building/architecting software systems. Some of it makes sense; some of it baffles the newcomer. In this presentation, we'll talk about ...

"Busy Architect's Guide to DevOps"

"Developer Operations", or its more commonly-known nickname, DevOps, has taken the industry by storm. Everywhere you turn, everybody wants to be doing DevOps. It's the new black, the new normal, the thing that everybody clearly represents the next pinnacle in software development.... Except not everybody agrees on what it is, ...

"Busy Architect's Guide to Distributed Systems"

Service-oriented, Representational State Transfer, Remote Procedure Calls, oh my!

If it's one thing the Computer Science industry has given us, it's a thousand different ways to communicate from one process to another. But all these options don't always come with a good user manual of which to choose at which times, or why one ...

"Busy Architect's Guide to Effective Enterprise Architecture"

In 2005, I published a book on how to go about building applications in the enterprise Java world more effectively, entitled "Effective Enterprise Java". Although the technology has changed some, the basic principles underlying the 75 items in the book have most certainly not. In this presentation (designed as an overview to ...

"Busy Architect's Guide to Java/.NET Interoperability"

Java and .NET represent the lion's share of enterprise development. In this talk, learn how the two environments can interoperate with one another, not only over web services, but also via in-process channels and other methods. Along the way, we'll talk about how to leverage the strengths of each, such as using Microsoft Office to act ...

"Busy Architect's Guide to Platform-Oriented Architecture"

In the 90's, developers sought to build web pages. In the 2000's, it was all about web applications. But clearly the needle is still moving, and the technology keeps evolving. "Platform-Oriented Architecture" (or POA) is, very simply, what the next wave of software development is moving towards. In this workshop, we'll go ...

"Busy Architect's Guide to REST"

The Representational State Transfer (REST) architectural style has taken the software development world by storm, profoundly influencing a number of different ideas and technologies, and its author, Roy Fielding, has laid down a fairly strict description of whata REST architecture looks like. Is REST really the
wave of the ...

"Busy Architect's Guide to Rules Engines"

If you've been keeping your ear to the ground, you may have heard some talk recently about "rules", "business rules" and "rules engines", but not necessarily any clear discussion on what they are, how to use or design them, or why they might be useful or important.

This presentation puts some ...

"Busy Architect's Guide to Scripting Engines"

Ever wished you could just put parts of your program in end-users' hands and let them build the infinite little changes they want? Ever thought about how you might make your application more robust by writing less code, not more? Embed a scripting engine into your application--complete with the safeguards necessary to ensure that users ...

"Busy Architect's Guide to the Cloud Offerings"

When "the cloud" became a development watchword, several players immediately moved in to occupy the space. And then a few more, and then a few more, and then.... Well, pardon the pun, but the clouds burst open, and everybody suddenly seems to have a cloud offering these days. Going by various different names (like ...

"Busy Architect's Guide to the Fallacies of Distributed Systems"

Every software developer, at some point in their career, has fallen into the trap of 10 devilishly subtle distributed system assumptions. Come hear what they are, why they all lead to big trouble and painful learning experiences in the long run, and how to avoid them using the tools and technologies of your favorite platform.

"Busy Architect's Guide to the Fallacies of Enterprise Systems"

Every enterprise developer, at some point in their career, has fallen into the trap of 10 devilishly subtle enterprise software development assumptions. Come hear what they are, why they all lead to big trouble and painful learning experiences in the long run, and how to avoid them using the tools and technologies of your favorite ...

"Busy Architect's Guide to the Open Web Application Security Project (OWASP)"

Application security, like all things computer-security-related, can be an overwhelming topic. In an attempt to help bring some of the infinite myriad security concerns under control, a group calling itself the "Open Web Application Security Project", also known as OWASP, has been managing and curating a series of talking ...

"Busy Architects's Guide to Pragmatic Messaging"

Over the last decade, focus in inter-process communication has centered on Remote Procedure Calls (RPC) and its object-oriented equivalents. In this talk, we'll discuss the benefits of using another communication approach, messaging, to gain flexibility, scalability, extensibility, and other integration benefits that traditional RPC ...

"Busy Architects Guide to Modern Web Architecture"

In 2000, Roy Fielding (he of REST dissertation fame. published a paper entitled 'Principled Design of Modern Web Architecture', in which he and his co-author described REST, how it achieved the goals of the Web, and cited examples. In this session, we're going to do something of the same: talk not just about REST, but about the path ...

"Busy Developer's Intro to Architecture"

Ever wanted to step into the role of a software architect, but had no idea how to get started, or even what an architect really does? In this presentation, we'll talk about what software architecture is, what software architects do, and how to make the transition from developing to architecting--and why developing is a skil crucial for ...

"Busy Developer's Intro to Creative Data Strategies"

For most software projects, that classic 3-layered/n-tiered "box-arrow-box-arrow-cylinder" architecture suffices to provide all the flexibility the application needs. Unfortunately, that strategy, though elegant in its simplicity, doesn't work everywhere and all the time--various factors require data to be scattered, ...

"Modern Architecture"

Software architecture is a soft term, apparently able to mean whatever the speaker intends it to mean at will, with little to no argument from the audience, industry, or other architects. One would think that by this time in our industry's lifecycle, we'd have nailed some of this down by now, so let's do that--let's nail down what ...

"Platform-Oriented Architecture (POA)"

As the mid-decade mark passed in the 2010s, the software development industry felt itself cross a threshold, but wasn't quite sure what that threshold was. It was clear that traditional Web applications--server-side generated HTML sent back to a browser running on some kind of device--wasn't really "cutting it", not with all ...

"Pragmatic Architecture"

Ever wondered what a software architect is? Or what a software architecture is? Ever wondered what a software architect does? Even if you are one? In this session, we'll explore what software architecture is, what a software architect does, and why it seems nobody seems to "get" what software is like.

"The Role of an Architect"

What is the role of an architect in a software project? This question has plagued many a software organization (and even those who do the job), and provided loads of entertainment. In this presentation, we aim to explore the intersection of software architect with the worlds of architecture, psychology, business, and even music. By the ...

Busy Developer's Guide

"Busy Developer's Guide to AspectJ"

AspectJ is the first (and, arguably, the gold standard) of "aspect-oriented" programming languages. Developed to run on the Java Virtual Machine and be entirely compatible with other Java products and libraries, AspectJ brought an entirely new way of thinking about how to partition closely-related code across an inheritance ...

"Busy Developer's Guide to Assembly Language"

"Saaaaaaaay whaaaaat? Assembly language? Seriously?" A developer should always know one level below the level at which he/she works, and for many developers, assembly is that level. Come on out and learn a little about how assembly language works, not so that you can write anything major in it, but so that you can read ...

"Busy Developer's Guide to Auth-n-Auth"

The Internet was born believing that everybody that would use it would do so in good faith and without malicious intent. That assumption has long been proven false, and so as a result, we build systems that require authentication (the ability for a user to prove who they are) and authorization (the ability to know what actions a user ...

"Busy Developer's Guide to Ballerina"

Despite the frivolity implied by its name, Ballerina, like the dancers who bear the same name, is a graceful language with surprising elegance and strength inside a slender frame. Ballerina is a language designed from the ground up for the world of Web 2.0, with built-in support for HTTP endpoints, JSON data types, and an input ...

"Busy Developer's Guide to Building A Bytecode Virtual Machine"

Virtual machines rule the world of programming right now: the Java Virtual Machine (JVM) and the .NET Common Language Runtime (CLR) are perhaps the two best-known, but Python, Ruby, and Chrome's V8 engine (powering Chrome and NodeJS) are all also virtual machines, and between those five, we have most of the world covered. But how do ...

"Busy Developer's Guide to Building A Programming Language"

Ever wanted to truly explore what it would be like to be a James Gosling, or a Bjarne Stroustrup, or Anders Hejlsberg? Want to see what it's really like, building a language from soup to nuts? This presentation will take you through that process exactly, from deciding whether your language will be compiled or interpreted, or static- or ...

"Busy Developer's Guide to Cassandra"

Cassandra is one of the "NoSQLs" that reached out and rocked the industry to its core with the idea that not all data has to live in tables and rows. Built to run naturally in a ring configuration, Cassandra offers an entirely new look at how to store, access, and manage data in large-scale, as well as a data model that is ...

"Busy Developer's Guide to Chrome Development"

When Google introduced Chrome, the world pretty much took it on faith that it would look to adhere to the Web standards: HTML, JavaScript, CSS, and others. And when Google sought to give developers opportunities to extend the browser using browser-specific extension points, it was nothing more subversive than what Microsoft, Firefox, ...

"Busy Developer's Guide to Clojure"

"Clojure is a Lisp." That's the first answer one usually gets when asking what, exactly, Clojure is. But in a lot of ways, that's an overly simplified answer, and it doesn't really doesn't really do the language justice. In this talk, we'll talk about Clojure for the non-Java developer, why it would be interesting even to ...

"Busy Developer's Guide to CoffeeScript"

JavaScript frequently confuses developers, with its odd language rules and inconsistent approach to various aspects of the language. CoffeeScript is an attempt to clean up the language, simplifying it and creating a syntax easier to understand and use, but that compiles down to native JavaScript for widespread use in the browser (and ...

"Busy Developer's Guide to CouchDB"

With the rise of the NoSQL movement, a whole new crop of different ways to store data suddenly became available to the Java developer. Unfortunately, what didn't come with them was an owner's manual. CouchDB, for example, was the first of the NoSQL databases to be named as such, and offers features not found in the traditional RDBMS: a ...

"Busy Developer's Guide to Crystal"

Crystal, a Ruby-like programming language that utilizes static typing and compiles to native code, represents a new entrant in the field of programming languages. Come see what a language looks like when it blends the best of the flexible Ruby syntax and semantics with the raw speed and power of native execution.

"Busy Developer's Guide to Dart"

Dart is a multi-platform language that deliberately seeks to "scale up" to building large applications for the Web, as well as mobile and IoT machines. It relies on a traditional C-family-language base syntax, provides some type checking, but retains much of the flexibility of a dynamically- or untyped language, and keeps ...

"Busy Developer's Guide to Developing Electron Desktop Apps"

What used to be known as the "Atom" text editor, built entirely in HTML/CSS/JavaScript, is now a desktop application development platform designed specifically for Web-tool-based development, but with all the bells and whistles that users have come to expect from desktop applications today: self-modifying updates, a sleek ...

"Busy Developer's Guide to ECMA(Java)Script 2015/2016"

ECMAScript, better known by its original name, Javascript, has been characterized as the "assembly language of the Web", owing to its widespread dispersal through the innumerable Web browsers installed on end-users/consumers machines (and mobile devices) over the years. In fits and starts, various organizations, corporations ...

"Busy Developer's Guide to Elixir"

Ruby: a terrific language for expressing concepts directly, but for years has suffered from a reputation of having a "can't handle loads" underlying platform and virtual machine.
Erlang: a pure-functional language that sometimes even a mother doesn't love, but running on top of an actor-based messaging platform that ...

"Busy Developer's Guide to Elm"

Before there was React, there was Elm: A client-side web development framework that brought the concepts of Functional Reactive Programming (FRP) to the mainstream. In this presentation, we'll look at Elm, it's syntax and its semantics, and see how it brings functional principles to the world of the DOM and the mouse.

"Busy Developer's Guide to Erlang"

Erlang is one of those languages that is more attractive because of its underlying platform principles, rather than the beauty of its programming language (though undoubtedly it has its share of adoring fans). In this presentation, we'll go over just enough Erlang to get started and understand why it's been the critics' darling for ...

"Busy Developer's Guide to Expert Systems"

If you've been keeping your ear to the ground, you may have heard some talk recently about "rules", "business rules" and "rules engines", but not necessarily any clear discussion on what they are, how to use or design them, or why they might be useful or important.

This presentation puts some ...

"Busy Developer's Guide to F#"

F# is a new programming language incorporating the most important concepts of object-oriented and functional languages and running on top of the CLR as standard assemblies. Sporting the usual object-oriented concepts as classes and inheritance, F# also offers a number of powerful functional features, such as algebraic data types, ...

"Busy Developer's Guide to Fantom"

Fantom is a powerful object-oriented language that executes on either the JVM, the CLR or the browser (by compiling into JavaScript), utilizing a mix of features drawn from a variety of different programming styles, including dynamic and functional languages. It's a fascinating look at languages that straddle the line not only across ...

"Busy Developer's Guide to Firebase"

Firebase is a document-oriented database (owned by Google) that offers up some impressive data-sync capabilities that make it a natural fit for mobile applications, as well as apps that need to have some near-real-time data exchange. Plus, it's not nearly as hard to learn as that description may imply. In this session, we'll go over ...

"Busy Developer's Guide to Flutter"

Flutter is Google's entry into the world of cross-platform mobile tools, for building applications that stretch across Android and iOS from a single codebase. Built using the Dart programming language, Flutter offers a new way into the mobile world that requires no knowledge of ViewControllers, MVC, or Activities. But while Flutter ...

"Busy Developer's Guide to Frege"

As the world moves to more and more functional concepts and style, perhaps it's time to consider using a purely-functional language on your next project. But the cost of switching away from your current platform is so painful and unacceptable....
Relax! As numerous languages have already demonstrated, it's possible to have your ...

"Busy Developer's Guide to Functional Languages"

Developers have been hearing a lot lately about "functional programming languages" (langauges like ML, Lisp and Haskell) that have influenced both design thoughts and more recently-developed languages (like F#, Scala, and Clojure, to name a few). What's so interesting about these languages? Why does anybody care? And how hard ...

"Busy Developer's Guide to Garbage Collection"

Garbage collection, or "automatic memory management" as it's more formally (and correctly) known, is a subject often spoken of in hushed whispers among those who do not have Masters' degrees in Computer Science. It is the stuff of legends, a part of the arcane "black arts" that only those who work on the virtual ...

"Busy Developer's Guide to Inform7"

Ever wondered if there was a way to build a tool such that normal people--everyday users that had little-to-no background in programming or technology--could customize or control how the computer behaves? It's the "holy grail" of the DSL community, and we may have accidentally developed the closest thing to it, but ignored it ...

"Busy Developer's Guide to Julia"

Historically, scientific and analytical programming has favored the use of dynamic languages like Python or R, which can often bring performance issues along with them. This is an unfortunate tradeoff, since these sorts of applications often have performance goals of the highest caliber. Julia, a relative newcomer to the programming ...

"Busy Developer's Guide to Kotlin"

With the release of Kotlin, JetBrains makes its first serious dive into the programming language space, and by all accounts, it's quite a graceful dive. Kotlin integrates much of the object-oriented thinking over the last thirty years together with several new ideas from the world of functional programming to create a language that is ...

"Busy Developer's Guide to Languages You Should Know (But Don't)"

The programming industry is approaching the end of its first century of existence, and along the way numerous languages (even platforms) have been invented, popular, and then put aside as newer and shinier languages emerged. Some of these languages, though, still send ripples through the industry today, and knowing them means you ...

"Busy Developer's Guide to Lua"

Ever wanted to tinker with a language that was designed to be embedded into larger systems to drive faster, more productive development without having to worry about so many physical details? Game developers did, and they created Lua, a scripting language used in a surprisingly wide variety of situations, as a result. Let's take a look ...

"Busy Developer's Guide to Management"

Ah, managers. Team leads, if you prefer. People who have the hiring (and firing) authority over others within the company, and are ostensibly tasked with.... Wait, what do managers do again? Is it something you were thinking about doing? Is it something any right-minded developer would want to do? Or is it the logical next step in a ...

"Busy Developer's Guide to Mentoring"

Statistically speaking, developers--particularly those with a few years under their belt--find the idea of "giving back" to be not just appealing, but a necessity. Sadly, desptte the genuine good intentions, most developers have no idea how to mentor a younger developer, and often flounder and stumble and make a mess of ...

"Busy Developer's Guide to Mint"

Building Web applications has always been a strange affair--HTML, JavaScript, CSS, all mixed together, and often "supporting" languages (like XML) thrown in to somehow make the whole thing "easier". Back in the GUI development days, we used one, maybe two languages tops (your favorite O-O language of choice, and ...

"Busy Developer's Guide to Next-Generation Languages"

Remember when TypeScript, or C#, or even C++ was new, and you wished you'd known they were going to "be big" so you could be the person ahead of the curve instead of struggling to catch up to where everybody else seemed to be already? The world-famous hockey player Wayne Gretzky, when asked what made him different than all ...

"Busy Developer's Guide to Nim"

Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula, and supports a large number of interesting features that put it on par with C++ or Rust as a systems-level programming language. In this presentation, we'll be taking a look at how to get ...

"Busy Developer's Guide to Pony"

Pony is a programming language from Microsoft Research that compiles to native code, but more importantly, doubles down on the safety--not only is it type-safe, it is memory safe, exception safe, data-race free, and deadlock-free. In this presentation, we'll take a loko at how to get started and what interesting features are in this ...

"Busy Developer's Guide to Prolog"

In the grand scheme of things, Prolog may seem like an odd language; it's never made the mainstream, it doesn't seem to address some of the more recent fad approaches, and it doesn't seem to promise some of the things (concurrency! scalability! actors!) that "modern" languages are pushing. But Prolog has some deeply powerful ...

"Busy Developer's Guide to Python"

Python is a general-purpose dynamically-typed programming language and platform that provides a rich ecosystem of powerful features and libraries. Making use of "significant whitespace" to denote scope blocks (instead of lexical markers), Python is relatively easy for the developer to pick up, and Python's success in the ...

"Busy Developer's Guide to Ruby"

As a dynamically-typed object-oriented language with some flexible syntactic constructs and a deep ecosystem of powerful libraries and tools, Ruby is a good tool to know, regardless of your preferred platform. In this presentation, we'll go over some core Ruby syntax, how to get started with Ruby, and how Ruby can fit in to an existing ...

"Busy Developer's Guide to Swift"

Apple shocked everybody a few years back when they introduced, without any warning or hint whatsoever, a brand-new programming language, called "Swift", that looks more and more like it is Apple's replacement offering over Objective-C. In this presentation, we will take a long and hard look at Swift, starting from scratch and ...

"Busy Developer's Guide to the Clouds"

Microsoft has one, Amazon has one, but it turns out that there's a lot of different developer-focused cloud environments out there, and sometimes it's exactly what you need to get your project going quickly--assuming you know it exists. In this session, we're going to take a survey of a variety of different cloud providers, many with ...

"Busy Developer's Guide to the ML programming language"

Machine Learning? Heavens, no! ML (the predecessor to OCaml, which in turn gave us F#, among other things) is, in many ways, the world's original functional language. As a pure functional language, learning ML can help understand functional languages more clearly and distinctly, without any attempt to try to bind to objects or use ...

"Busy Developer's Guide to TypeScript"

JavaScript frequently confuses developers, with its odd language rules and inconsistent approach to various aspects of the language. TypeScript is an attempt to clean up the language, simplifying it and creating a syntax easier to understand and use, but that compiles down to native JavaScript for widespread use in the browser (and ...

"Busy Developer's Guide to WebAssembly"

WebAssembly is a new cross-browser emerging standard providing a "target bytecode" for languages that want to compile into something that can be run natively inside the browser; in many ways, it's the culmination of the effort to provide developers with an ability to do "browser plug-ins" without having to be ...

"Busy Developer's Intro to Architecture"

Ever wanted to step into the role of a software architect, but had no idea how to get started, or even what an architect really does? In this presentation, we'll talk about what software architecture is, what software architects do, and how to make the transition from developing to architecting--and why developing is a skil crucial for ...

Busy Java Developer's Guide

"Busy Architect's Guide to Java/.NET Interoperability"

Java and .NET represent the lion's share of enterprise development. In this talk, learn how the two environments can interoperate with one another, not only over web services, but also via in-process channels and other methods. Along the way, we'll talk about how to leverage the strengths of each, such as using Microsoft Office to act ...

"Busy Developer's Guide to AspectJ"

AspectJ is the first (and, arguably, the gold standard) of "aspect-oriented" programming languages. Developed to run on the Java Virtual Machine and be entirely compatible with other Java products and libraries, AspectJ brought an entirely new way of thinking about how to partition closely-related code across an inheritance ...

"Busy Developer's Guide to Ballerina"

Despite the frivolity implied by its name, Ballerina, like the dancers who bear the same name, is a graceful language with surprising elegance and strength inside a slender frame. Ballerina is a language designed from the ground up for the world of Web 2.0, with built-in support for HTTP endpoints, JSON data types, and an input ...

"Busy Developer's Guide to Clojure"

"Clojure is a Lisp." That's the first answer one usually gets when asking what, exactly, Clojure is. But in a lot of ways, that's an overly simplified answer, and it doesn't really doesn't really do the language justice. In this talk, we'll talk about Clojure for the non-Java developer, why it would be interesting even to ...

"Busy Developer's Guide to Expert Systems"

If you've been keeping your ear to the ground, you may have heard some talk recently about "rules", "business rules" and "rules engines", but not necessarily any clear discussion on what they are, how to use or design them, or why they might be useful or important.

This presentation puts some ...

"Busy Developer's Guide to Functional Languages"

Developers have been hearing a lot lately about "functional programming languages" (langauges like ML, Lisp and Haskell) that have influenced both design thoughts and more recently-developed languages (like F#, Scala, and Clojure, to name a few). What's so interesting about these languages? Why does anybody care? And how hard ...

"Busy Developer's Guide to Garbage Collection"

Garbage collection, or "automatic memory management" as it's more formally (and correctly) known, is a subject often spoken of in hushed whispers among those who do not have Masters' degrees in Computer Science. It is the stuff of legends, a part of the arcane "black arts" that only those who work on the virtual ...

"Busy Developer's Guide to Groovy"

"Busy Developer's Guide to Kotlin"

With the release of Kotlin, JetBrains makes its first serious dive into the programming language space, and by all accounts, it's quite a graceful dive. Kotlin integrates much of the object-oriented thinking over the last thirty years together with several new ideas from the world of functional programming to create a language that is ...

"Busy Developer's Guide to Platform Security"

Permissions, policy, SecurityExceptions, oh my! The Java platform is a rich and powerful platform, complete with a rich and powerful security mechanism, but sometimes understanding it and how it works can be daunting and intimidating, and leave developers with the basic impression that it's mysterious and dark and incomprehensible. ...

"Busy Developer's Guide to Python"

Python is a general-purpose dynamically-typed programming language and platform that provides a rich ecosystem of powerful features and libraries. Making use of "significant whitespace" to denote scope blocks (instead of lexical markers), Python is relatively easy for the developer to pick up, and Python's success in the ...

"Busy Developer's Guide to Ruby"

As a dynamically-typed object-oriented language with some flexible syntactic constructs and a deep ecosystem of powerful libraries and tools, Ruby is a good tool to know, regardless of your preferred platform. In this presentation, we'll go over some core Ruby syntax, how to get started with Ruby, and how Ruby can fit in to an existing ...

"Busy Developer's Guide to Yeti"

In 1993, when object-oriented programming was new, initiates to the idea were told to "go learn Smalltalk if you really want to 'get' objects", on the grounds that abandoning traditional procedural ideas found in C and Pascal were really the best ways to grok object-oriented. Heard all about this functional programming thing? ...

"Busy Java Developer's Guide to Being a JVM Polyglot"

In recent years, the term 'polyglot'--meaning 'many languages', or 'being fluent in many languages'--has come to the world of programming. Neal Ford first coined the term 'polyglot programming' as one who uses multiple languages collectively as a way to build systems. And the JVM is a perfect platform on which to do this: not only do ...

"Busy Java Developer's Guide to ClassLoaders"

If you've ever gotten a ClassCastException and just knew the runtime was wrong about it, or found yourself copying .jar files all over your production server just to get your code to run, then you probably find the Java ClassLoader mechanism to be deep, dark, mysterious, and incomprehensible. Take a deep breath, and relax--ClassLoaders ...

"Busy Java Developer's Guide to Collections"

For so many Java developers, the java.util.* package consists of List, ArrayList, and maybe Map and HashMap. But the Collections classes are so much more powerful than many of us are led to believe, and all it requires is a small amount of digging and some simple exploration to begin to "get" the real power of the Collection ...

"Busy Java Developer's Guide to Debugging"

Bugs? We all know your code has no bugs, but someday, you're going to find yourself tracking down a bug in somebody else's code, and that's when it's going to be helpful to make use of the wealth of tools that the Java Standard Platform makes available to you--tools that your IDE may not know exist, tools that you can make use of even ...

"Busy Java Developer's Guide to Guava"

The Google Guava project contains a host of new features/classes for use by the Java programmer. Intended as a drop-in supplement for the standard JDK APIs, Guava provides features like immutable and forwarding collections, some concurrency utilities, more support for primitives, and so on.
In this session, we'll go over the ...

"Busy Java Developer's Guide to Hacking in Java"

Ever since its 1.1 release, the Java Virtual Machine steadily becomes a more and more "hackable" (configurable, pluggable, customizable, choose your own adjective here) platform for Java developers, yet few, if any, Java developers take advantage of it. Time to take the kid gloves off, crack open the platform, and see what's ...

"Busy Java Developer's Guide to Hacking the OpenJDK"

With the release of the OpenJDK source code, Java developers have been given a unique opportunity to peer inside the hood of the JVM, see what's there, and how Java code actually executes. In this presentation, we'll talk about how to get the OpenJDK codebase, how to compile it (for both Windows and Linux systems), and point out some ...

"Busy Java Developer's Guide to JDBC"

For close to two decades, the Java Virtual Machine has had a deep and meaningful relationship with the relational database systems of the world through the JDBC interface. It may not always be the prettiest, or the easiest, but it's the foundation for every relational database data access API on the JVM today. In this session, we'll ...

"Busy Java Developer's Guide to JMS"

The Java Message Service API provides a unified programming interface to a variety of different messaging systems, and provides a necessary and important supplement to distributed communications. In this presentation, we'll go over the basics of messaging systems, the core JMS APIs, some configuration tips for popular JMS ...

"Busy Java Developer's Guide to JVM Bytecode"

Java bytecode is the code set used by the Java runtime (the JVM) that is JIT-compiled into native code at runtime. Find out how to read (and write) JVM bytecode directly, so as to better understand how the runtime works, and be able to disassemble key libraries that you depend on. This will also let you understand more about tools and ...

"Busy Java Developer's Guide to Multiparadigmatic Design in Java"

"Busy Java Developer's Guide to Native Code"

As much as the Java Virtual Machine and libraries provide a comfortable womb in which to write code, moments appear in every Java developer's life when they just have to call down to code that exists at the native, C-executable, level. Java provides a standard API for doing this--Java Native Interface, or JNI--but its use is at once ...

"Busy Java Developer's Guide to Object Serialization"

As simplicity-gets-you-power goes, ObjectInputStream and ObjectOutputStream stand as two of the greatest wonders of the Java world. Feed any arbitrary Java object graph to ObjectOutputStream to transform the graph into a stream of bytes, then feed the stream of bytes into ObjectInputStream to transform back into objects again, all ...

"Busy Java Developer's Guide to Reflection"

If you've never used Reflection (java.lang.reflect), you don't know what you're missing. In this presentation, we'll take a code-first, soup-to-nuts look at the Java Reflection APIs, from how to examine the class metadata that Reflection provides, to using annotations to enhance that metadata with your own information, even through the ...

"Busy Java Developer's Guide to Remote Method Invocation (RMI)"

Remote Method Invocation, or RMI, is at the heart of just about every distributed Java technology, from EJB to Spring to Jini. Learn the "how-to" of RMI, from the basics of "Hello, world" via RMI to the details of exported stubs and how clients can obtain those stubs through more than just the traditional ...

"Busy Java Developer's Guide to REST Frameworks"

With the growth of the Web, and a heightening awareness that we want to build more than just "Web pages" (namely, we want to build "platforms"), Java developers are becoming more and more often asked to build "platform APIs" using the HTTP protocol as the connector of choice. Because these APIs (sometimes ...

"Busy Java Developer's Guide to Scripting"

Ever wished you could just put parts of your program in end-users' hands and let them build the infinite little changes they want? Ever thought about how you might make your application more robust by writing less code, not more? Embed a scripting engine into your application--complete with the safeguards necessary to ensure that users ...

"Busy Java Developer's Guide to Yeti"

In 1993, when object-oriented programming was new, initiates to the idea were told to "go learn Smalltalk if you really want to 'get' objects", on the grounds that abandoning traditional procedural ideas found in C and Pascal were really the best ways to grok object-oriented. Heard all about this functional programming thing? ...

Busy .NET Developer's Guide

"Busy .NET Developer's Guide to CIL Bytecode"

CIL (Common Intermediate Language) is the execution code set used by the .NET runtime (the Common Language Infrastructure, or CLI) that is JIT-compiled into native opcodes at runtime. Find out how to read (and write) IL code directly, so as to better understand how the runtime works, learn what new type features were introduced in the ...

"Busy .NET Developer's Guide to Hosting and DI"

With the rise of ASP.NET Core and other refactored systems, Microsoft has begun to unify the idea of "hosting" and dependency injection into a single set of libraries and idioms. In this presentation, we'll explore this space, including the Inversion-of-Control (IoC) ideas that underlie it, and demystify what--precisely--is ...

"Busy .NET Developer's Guide to Memory Management"

Garbage collection, or "automatic memory management" as it's more formally (and correctly) known, is a subject often spoken of in hushed whispers among those who do not have Masters' degrees in Computer Science. It is the stuff of legends, a part of the arcane "black arts" that only those who work on the virtual ...

"Busy .NET Developer's Guide to Multiparadigmatic Design in C#"

C++ was widely denigrated as a "hopelessly complex" language with "way too many moving parts", and in truth, it was a language made up of three dominant paradigms: procedural, object-oriented, and meta-programmatic. C#, by contrast, has five dominant paradigms: procedural, object-oriented, meta-programmatic, ...

"Busy .NET Developer's Guide to Object Serialization"

As simplicity-gets-you-power goes, .NET object serialization stands as one of the greatest wonders of the .NET world. Feed any arbitrary object graph to it to transform the graph into a stream of bytes, then deserialize back into objects again, all without any sort of interference or work on the part of the developer. But what if we ...

"Busy .NET Developer's Guide to Orleans"

Within the distributed systems community, much has been made about the "actors model" and its implications for building large-scale, fault-tolerant, highly resilient code bases. The Orleans project, from Microsoft, is the latest entry in the genre, and in this presentation, we'll go over what "virtual actors" are, ...

"Busy .NET Developer's Guide to Reflection"

If you've never used Reflection (the System.Reflection namespace) before, you don't know what you're missing. In this presentation, we'll take a code-first, soup-to-nuts look at the .NET Reflection APIs, from how to examine the type metadata baked within every .NET assembly, to using custom attributes to enhance that metadata with your ...

"Busy .NET Developer's Guide to Scripting"

Ever wished you could just put parts of your program in end-users' hands and let them build the infinite little changes they want? Ever thought about how you might make your application more robust by writing less code, not more? Embed a scripting engine into your application--complete with the safeguards necessary to ensure that users ...

"Busy Architect's Guide to Java/.NET Interoperability"

Java and .NET represent the lion's share of enterprise development. In this talk, learn how the two environments can interoperate with one another, not only over web services, but also via in-process channels and other methods. Along the way, we'll talk about how to leverage the strengths of each, such as using Microsoft Office to act ...

"Busy Developer's Guide to Expert Systems"

If you've been keeping your ear to the ground, you may have heard some talk recently about "rules", "business rules" and "rules engines", but not necessarily any clear discussion on what they are, how to use or design them, or why they might be useful or important.

This presentation puts some ...

"Busy Developer's Guide to F#"

F# is a new programming language incorporating the most important concepts of object-oriented and functional languages and running on top of the CLR as standard assemblies. Sporting the usual object-oriented concepts as classes and inheritance, F# also offers a number of powerful functional features, such as algebraic data types, ...

"Busy Developer's Guide to Functional Languages"

Developers have been hearing a lot lately about "functional programming languages" (langauges like ML, Lisp and Haskell) that have influenced both design thoughts and more recently-developed languages (like F#, Scala, and Clojure, to name a few). What's so interesting about these languages? Why does anybody care? And how hard ...

"Busy Developer's Guide to Garbage Collection"

Garbage collection, or "automatic memory management" as it's more formally (and correctly) known, is a subject often spoken of in hushed whispers among those who do not have Masters' degrees in Computer Science. It is the stuff of legends, a part of the arcane "black arts" that only those who work on the virtual ...

"Busy Developer's Guide to Python"

Python is a general-purpose dynamically-typed programming language and platform that provides a rich ecosystem of powerful features and libraries. Making use of "significant whitespace" to denote scope blocks (instead of lexical markers), Python is relatively easy for the developer to pick up, and Python's success in the ...

"Busy Developer's Guide to Ruby"

As a dynamically-typed object-oriented language with some flexible syntactic constructs and a deep ecosystem of powerful libraries and tools, Ruby is a good tool to know, regardless of your preferred platform. In this presentation, we'll go over some core Ruby syntax, how to get started with Ruby, and how Ruby can fit in to an existing ...

Busy Javascript Developer's Guide

"Busy Developer's Guide to Chrome Development"

When Google introduced Chrome, the world pretty much took it on faith that it would look to adhere to the Web standards: HTML, JavaScript, CSS, and others. And when Google sought to give developers opportunities to extend the browser using browser-specific extension points, it was nothing more subversive than what Microsoft, Firefox, ...

"Busy Developer's Guide to CoffeeScript"

JavaScript frequently confuses developers, with its odd language rules and inconsistent approach to various aspects of the language. CoffeeScript is an attempt to clean up the language, simplifying it and creating a syntax easier to understand and use, but that compiles down to native JavaScript for widespread use in the browser (and ...

"Busy Developer's Guide to Dart"

Dart is a multi-platform language that deliberately seeks to "scale up" to building large applications for the Web, as well as mobile and IoT machines. It relies on a traditional C-family-language base syntax, provides some type checking, but retains much of the flexibility of a dynamically- or untyped language, and keeps ...

"Busy Developer's Guide to Developing Electron Desktop Apps"

What used to be known as the "Atom" text editor, built entirely in HTML/CSS/JavaScript, is now a desktop application development platform designed specifically for Web-tool-based development, but with all the bells and whistles that users have come to expect from desktop applications today: self-modifying updates, a sleek ...

"Busy Developer's Guide to ECMA(Java)Script 2015/2016"

ECMAScript, better known by its original name, Javascript, has been characterized as the "assembly language of the Web", owing to its widespread dispersal through the innumerable Web browsers installed on end-users/consumers machines (and mobile devices) over the years. In fits and starts, various organizations, corporations ...

"Busy Developer's Guide to ECMAScript Patterns"

ECMAScript, better known by its original name, Javascript, remains one of the most popular--and misunderstood--programming languages in use today. While most developers see Javascript as a crippled form of its namesake (Java), it turns out that ECMAScript represents a powerful dynamically-typed language, easily equal to the other ...

"Busy Developer's Guide to Fantom"

Fantom is a powerful object-oriented language that executes on either the JVM, the CLR or the browser (by compiling into JavaScript), utilizing a mix of features drawn from a variety of different programming styles, including dynamic and functional languages. It's a fascinating look at languages that straddle the line not only across ...

"Busy Developer's Guide to TypeScript"

JavaScript frequently confuses developers, with its odd language rules and inconsistent approach to various aspects of the language. TypeScript is an attempt to clean up the language, simplifying it and creating a syntax easier to understand and use, but that compiles down to native JavaScript for widespread use in the browser (and ...

"Busy Developer's Guide to WebAssembly"

WebAssembly is a new cross-browser emerging standard providing a "target bytecode" for languages that want to compile into something that can be run natively inside the browser; in many ways, it's the culmination of the effort to provide developers with an ability to do "browser plug-ins" without having to be ...

"Busy Java Developer's Guide to GraalVM"

GraalVM, an Oracle Labs production, describes itself as "a high-performance JDK distribution designed to accelerate the execution of applications written in Java and other JVM languages along with support for JavaScript, Ruby, Python, and a number of other popular languages." What that single sentence describes is a veritable ...

"Busy Javascript Developer's Guide to "JavaScript, All The Way Down""

With the rise of interest in JavaScript as more than just a hack to get the browser to do something more interesting than just plain HTML, a number of libraries have emerged to make it easier for developers to write code, whether intended for the server (Node.js) or the browser (jQuery). In fact, we're starting to see JavaScript show ...

"Busy Javascript Developer's Guide to Angular"

Angular has taken the Web world by storm, as an "opinionated" Javascript single-page application web framework specifically for building "CRUD business" applications. In this presentation, we're going to take a pass at Angular, examining its syntax, organization, approach, and features, with an eye towards how one ...

"Busy Javascript Developer's Guide to Apache Cordova"

Apache Cordova was the first (of several) programming platforms that offered up a tempting concept: Build mobile applications using only the tools that any Web developer would know--HTML, CSS, and JavaScript. Not surprisingly, it became quite popular, and we found it useful in places, less so in others.

In this talk, we'll go ...

"Busy Javascript Developer's Guide to Express.js"

With the rise of interest in JavaScript as more than just a hack to get the browser to do something more interesting than just plain HTML, a number of libraries have emerged to make it easier for developers to write code, whether intended for the server (Node.js) or the browser (jQuery). One of these libraries, ExpressJS, is a package ...

"Busy JavaScript Developer's Guide to Functional Programming"

With the rise of interest in JavaScript as more than just a hack to get the browser to do something more interesting than just plain HTML, and the parallel rise of interest in functional programming tactics and techniques, a strong desire to know how to program functionally in JavaScript has emerged, greeted by a chorus of "Why ...

"Busy Javascript Developer's Guide to LoopbackJS"

The Loopback stack is a Javascript/NodeJS-based stack for building server-side API endpoints and middleware for building beautiful, simple, consistent API endpoints. A formal part of the NodeJS foundation, Loopback enjoys large corporate backing (IBM in this case), open-source cred (some of its original committers were key players in ...

"Busy Javascript Developer's Guide to MeteorJS"

Ever wished you could just focus on one language, and use that one language across all the various tiers and layers of your application? If you're willing to let that "one language" be Javascript, there might be an option for you to do just that.
MeteorJS (http://www.meteor.com) is a ...

"Busy Javascript Developer's Guide to ReactNative"

Looking to build a native mobile application, but want to either leverage your skills as a Web developer (particularly if you're familiar with React), or the code you've already built for your React-based Website? Relax! Facebook has released unto us the ReactNative toolchain, for using the same principles as are used in React, to ...

"Busy Javascript Developer's Guide to SailsJS"

"Busy JavaScript Developer's Guide to SweetJS"

With the rise of interest in JavaScript as more than just a hack to get the browser to do something more interesting than just plain HTML, a number of libraries have emerged to make it easier for developers to write code, whether intended for the server (Node.js) or the browser (jQuery). One of these libraries, SweetJS, provides a set ...

"Busy Javascript Developer's Guide to TypeScript"

JavaScript: a dynamically-typed (or, as some consider it, entirely untyped) language and platform. TypeScript: a strongly-typed language designed to cross-compile/transpile to the JavaScript platform. Two things that couldn't be more dissimilar, intended to work together. In this session, we'll go over the syntax, semantics and ...

"Busy Javascript Developer's Guide to V8 Bytecode"

If you're a NodeJS developer, you use the V8 engine every day--it's the Javascript engine
that powers the NodeJS platform. But if you're like most NodeJS developers, you have no idea
what your code looks like once the V8 engine picks up the source files and starts parsing
them--it's just magic. In this presentation, ...

"Busy TypeScript Developer's Guide to Advanced TypeScript"

TypeScript is mostly known for being a strongly-typed JavaScript. While this is certainly a viable view of the language, it ignores the view that TypeScript has a unique place among languages, that of being strongly-typed on top of a weakly/untyped platform. This enables TypeScript to do some language syntax and implementation that ...

"Busy TypeScript Developer's Guide to Patterns in TypeScript"

The Gang-of-Four collection of patterns has long served as a fundamental basis for object-oriented developers. TypeScript being an O-O language, it makes a certain amount of sense to see how we might apply the language to some of the traditional GOF patterns--and a few others besides. In this session, we'll explore how TS can simplify ...