Brian Sletten

Forward Leaning Software Engineer

Brian Sletten is a liberal arts-educated software engineer with a focus on forward-leaning technologies. His experience has spanned many industries including retail, banking, online games, defense, finance, hospitality and health care. He has a B.S. in Computer Science from the College of William and Mary and lives in Auburn, CA. He focuses on web architecture, resource-oriented computing, social networking, the Semantic Web, data science, 3D graphics, visualization, scalable systems, security consulting and other technologies of the late 20th and early 21st Centuries. He is also a rabid reader, devoted foodie and has excellent taste in music. If pressed, he might tell you about his International Pop Recording career.



Video

Brian Sletten Über Conf 2010 Interview
Brian Sletten Über Conf 2010 Interview
Tuesday - September 21, 2010

Brian Sletten on Information Integration
Brian Sletten on Information Integration
Tuesday - January 8, 2008

All Things REST
All Things REST
Sunday - May 6, 2007


Presentations

Advanced NetKernel : Software for the 21st Century

If you have come to the NetKernel overview talk and came away compelled but unsure how to proceed, this talk will jump right in to building real resource-oriented systems with NetKernel. We will move away from the theoretical mind-melting right into the applied mind-melting. It is difficult to make the shift away from an object-oriented model, but this talk will demonstrate several examples of how and why you may want to. It will also include a preview of what is coming in NetKernel 4. This is kind of a REST + Polyglot Programming + SOA + Architecture talk all rolled up into one.

This talk will build out:

  • Wrappers around a relational database that can act as RESTful interfaces through HTTP or service higher layers
  • Transformational layers that convert the data into different forms
  • Orchestration across a variety of data sources
  • Integration with a variety of web tier technologies

All along the way, we will make appropriate language choices to solve our problems. One size does not fit all and an environment that embraces this is incredibly important.

WebGL

HTML 5 has introduced us to the Canvas API, 2D graphics and the pleasures of plugin-free video and audio playback. One of the next hurdles we will face is native support for 3D graphics for simulations, visualizations and games.

WebGL is an early look at supporting OpenGL ES 2.0 in the canvas in most modern browsers through JavaScript APIs.

This will be an example-driven workshop that will cover the basics of 3D graphics, OpenGL and where it is going on the Web.

Semantic Web Workshop

The Web is changing faster than you can imagine and it is going to continue to do so. Webs of Documents are giving way to machine-processable Webs of Information. We no longer care about data containers, we only care about data and how it connects to what we already know.

Perhaps the concepts of the Semantic Web initiative are new to you. Or perhaps you have been hearing for years how great technologies like RDF, SPARQL, SKOS and OWL are and have yet to see anything real come out of it.

Whether you are jazzed or jaded, this workshop will provide you with the understanding of a technological tidal wave that is heading in your direction.

In this workshop, we will:

Explain the Web and Web architecture at a deeper level Apply Web and Semantic Web technologies in the Enterprise and make them work together Integrate structured and unstructured information Create good, long-lived logical names (URIs) for information and services Use the Resource Description Framework (RDF) to integrate documents, services and databases Use popular RDF vocabularies such as Dublin Core, FOAF, DOAP Query RDF and non-RDF datastores with the SPARQL query language Model and Do Inference with the Web Ontology Language (OWL)

Bring your laptops. This is a hands-on workshop.

REST Workshop : I

Many people are drawn to the ideas of REST but aren't sure how to take the next steps. This workshop will help get you to a comfortable place by introducing the concepts and walking through a series of exercises designing REST APIs from a variety of domains.

This workshop will span two session periods but is one effort. Please plan on coming to both.

We will break up into teams and tackle the various aspects of a solid, stable, evolvable REST API design. This will not be a tutorial in particular REST implementations (Jersey, Restlet, etc.). The ideas will transcend specific technologies although we will talk about some particular choices.

REST Workshop : II

Many people are drawn to the ideas of REST but aren't sure how to take the next steps. This workshop will help get you to a comfortable place by walking through a series of exercises. Bring your computers and bring your brains we will be designing, building and testing REST APIs from a variety of domains.

This workshop will span two session periods but is one effort. Please plan on coming to both. Please bring a computer with a late model Java VM on it and a text editor. curl will also be useful. I will provide the remaining bits.

We will break up into teams and tackle the various aspects of a solid, stable, evolvable REST API design. This will not be a tutorial in particular REST implementations (Jersey, Restlet, etc.) but if you have one you are familiar with, you are free to use that for the code portion of the solutions. I will provide a NetKernel-based framework as it is a self-contained, REST-savvy environment that is easy to get going with. The ideas will largely transcend specific implementations though.

Information

In our industry, we have a problem. It's called the Software Problem. It is an embarrassing indictment of our capacity to deliver quality software on time and under budget. Beyond that, when we do deliver running code, it is often fragile and hard to extend. There are many reasons for this and many solutions. But one that does not get enough attention is how we approach information.

This is a theoretical discussion. You may not learn something you can use right away, but you may learn new ways of thinking about designing and building systems with an information-centric focus. We will discuss the roles of databases, services, software models, REST, the Web and the roles they all play together.

Modeling Resources: REST and Hypermedia

This is the first in a new series on resource-oriented systems. The goal of the series is to provide practical guidance on the design and implementation of next generation systems that are flexible, extensible, high-performance and future-friendly. The talks are designed to work as arc, building upon each other, but they should also stand alone. The first topic is a guided walk through of building quality REST APIs.

We will focus on the architecture of the Web and how it can help us model and manipulate our important business concepts. We will discuss the role of stable identifiers, intentional representation design, hypermedia affordances and architectural consistency. The goal is not to be "RESTful", the goal is to build systems that display the properties we require.

This talk will be accessible for people new to REST, but also different enough that those who have attended previous REST talks will learn new things.

Describing and Linking Resources: RDF and SPARQL

This is the second in a new series on resource-oriented systems. The goal of the series is to provide practical guidance on the design and implementation of next generation systems that are flexible, extensible, high-performance and future-friendly. The talks are designed to work as arc, building upon each other, but they should also stand alone. This second talk is an introduction to the use of Semantic Web technologies to enable collaboration without coordination.

REST is a means to an end, but it is not a satisfactory end state. It usually pushes complexity to the client in ways that make data integration difficult across multiple sources. The W3C Semantic Web initiative introduces us to new technologies for linking resources and querying across them in powerful new ways. We will learn about the RDF model, what it brings to the table and how we can use it connect information regardless of where and how it is stored. We will use the SPARQL protocol and query language to ask powerful questions of arbitrary resources. We will also see how we can create new information just by asking for it.

Data-Bearing Document Resources: RDFa

This is the third in a new series on resource-oriented systems. The goal of the series is to provide practical guidance on the design and implementation of next generation systems that are flexible, extensible, high-performance and future-friendly. The talks are designed to work as arc, building upon each other, but they should also stand alone. This third talk will introduce you to RDFa, one of the most exciting technologies estimated to be used on at least 25% of the indexed Web.

We understand that documents contain information, but it is usually only accessible to humans if they know where and how to find them. What if we could automatically extract arbitrary information about arbitrary domains and connect it to information held elsewhere? What if we could use the information in a document to help us organize our content better? What if this embedded information could help external search engines index the public Web better and improve your rankings?

This talk will show you how to weave and extract information in HTML, XHTML and arbitrary XML using standard tools such as RDFa. In the process, you will learn how to free the information so that it may be reused in powerful and unanticipated ways.

Protecting Resources: Security on the Web

This is the fourth in a new series on resource-oriented systems. The goal of the series is to provide practical guidance on the design and implementation of next generation systems that are flexible, extensible, high-performance and future-friendly. The talks are designed to work as arc, building upon each other, but they should also stand alone. This fourth talk will give you an overview of Web security technologies and specific guidance on how to share resources in a protected way.

Publishing information as webs of data does not require us to just give it away. We have a series of tools and techniques for managing identity, authentication, authorization and encryption so we only share content with those we trust. This talk will be a modern and comprehensive walkthrough of Web security and how it can be applied in depth.

Visualizing Resources: Conveying Information and Ideas

This is the fifth in a new series on resource-oriented systems. The goal of the series is to provide practical guidance on the design and implementation of next generation systems that are flexible, extensible, high-performance and future-friendly. The talks are designed to work as arc, building upon each other, but they should also stand alone. This fifth talk will introduce you to the idea of leveraging popular open source visualization libraries (such as D3.js) to highlight features of integrated resources.

A picture is said to be worth more than a few words. Visualization is a strategy for conveying complex relationships, concepts and unexpected situations. It is an exciting time in the data visualization space because of all the new libraries, but the combination of rich data and rich visualization tools is even more compelling. Once our information is available in resource-oriented systems, we can visualize not only individual sources, but merged content as well.

Reasoning Over Resources: Working with What is Unsaid

This is the sixth in a new series on resource-oriented systems. The goal of the series is to provide practical guidance on the design and implementation of next generation systems that are flexible, extensible, high-performance and future-friendly. The talks are designed to work as arc, building upon each other, but they should also stand alone. This sixth talk will introduce you the kinds of automated reasoning that are accessible to us using the W3C Semantic Web technology stack.

If everything is explicitly described in uniform, robust and comprehensive data models, it is easy to imagine how to ask questions of the data. The social, technical and financial costs of getting the information into that state, however, will keep that from ever being a reality. So, how can we integrate and reason over choppy and sloppy data from multiple sources in a variety of formats? We will see how the RDFS and Web Ontology Language (OWL) W3C standards help us connect and reason over content that leaves things unsaid without writing a bunch of custom code.

This is not artificial intelligence, but it is influenced by work done in that field.

R : Workshop I

At the intersection of Big Data, Data Science and Data Visualization lives a programming language that ranks higher on the TIOBE index than Scheme, Fortran, Scala, Prolog, Erlang, Haskell, Lisp and Clojure. The R language and environment is an open source platform that has quickly become THE language for analyzing data and visualizing the results. This workshop will introduce you to the language, the environment and how it is being used with Big Data and Linked Data.

In the first part of the workshop, we will learn:

  • History of R
  • Language basics, data types and main structures
  • Some statistics fundamentals

R : Workshop II

At the intersection of Big Data, Data Science and Data Visualization lives a programming language that ranks higher on the TIOBE index than Scheme, Fortran, Scala, Prolog, Erlang, Haskell, Lisp and Clojure. The R language and environment is an open source platform that has quickly become THE language for analyzing data and visualizing the results. This workshop will introduce you to the language, the environment and how it is being used with Big Data and Linked Data.

In the second part of the workshop, we will learn about:

  • R Graphics
  • R and Big Data
  • R and Linked Data

Resource-Oriented Architecture Patterns for Webs of Data

The surge of interest in the REpresentational State Transfer (REST) architectural style, the Semantic Web, and Linked Data has resulted in the development of innovative, flexible, and powerful systems that embrace one or more of these compatible technologies. However, most developers, architects, Information Technology managers, and platform owners have only been exposed to the basics of resource-oriented architectures.

This talk, based upon Brian Sletten's book of the same name, is an attempt to catalog and elucidate several reusable solutions that have been seen in the wild in the now increasingly familiar "patterns" style. These are not turn key implementations, but rather, useful strategies for solving certain problems in the development of modern, resource-oriented systems, both on the public Web and within an organization's firewalls.


Brian's NFJS Schedule

Madison, WI
Mar 1 - 2, 2013

Minneapolis, MN
Mar 8 - 10, 2013

Boston, MA
Mar 15 - 17, 2013

New York, NY
Apr 5 - 6, 2013

St. Louis, MO
Apr 12 - 13, 2013

Reston, VA
Apr 19 - 21, 2013

Columbus, OH
Jun 7 - 9, 2013

Santa Clara, CA
Jun 13 - 14, 2013

Salt Lake City, UT
Jun 21 - 22, 2013

Austin, TX
Jun 28 - 30, 2013

Denver, CO
Jul 16 - 19, 2013

Columbia, MD
Jul 26 - 27, 2013

Des Moines, IA
Aug 2 - 4, 2013