Descriptions and links to various presentations from Kevin Hakanson.
Cedar policy language in action
Cedar is a language for defining permissions as policies that describe who should have access to what. Amazon Verified Permissions and AWS Verified Access use Cedar to define fine-grained permissions for applications and end users. In this builders’ session, first learn how to write Cedar policies. Then, take on a challenge problem building the set of policies representing a full application. This session uses open source Cedar and the free online playground, so there is no need to install anything or have an AWS account. You must bring your laptop to participate.
- AWS re:Inforce 2023 (13 June 2023 - 14 June 2023) ( workshop, code )
- AWS re:Invent 2023 (27 November 2023 - 1 December 2023)
Build On AWS weekly - Go Apps on AWS - CDK 💜 Go
This episode reviewed different options for deploying Go based services on AWS, starting with a code-based service using AWS App Runner, then container-based using CDK (also written in Go) to deploy to both Amazon Elastic Container Service (Amazon ECS) and Amazon Elastic Kubernetes Service (Amazon EKS).
- AWS Twitch Channel (23 March 2023) ( video )
Resilience on AWS
Resilience refers to the ability for workloads to respond and quickly recover from failures. Workloads deployed to the AWS cloud follow the Shared Responsibility Model separating resilience “of” the cloud from workloads running “in” the cloud. Part of a workload’s responsibility is to think about resilience threat modeling, the scenarios where things could go wrong, and the cost, business, or mission impact. This session will review strategies and design considerations around resilience, and reference how some AWS Public Sector customers are building resilience into their mission-focused workloads.
- Code Freeze 2023 (12 January 2023)
Build On AWS weekly - Code me some diagrams
This episode reviewed diagram types, when teams should create architecture diagrams, when to choose diagrams-as-code instead of presentation software or drawing tools, and sprinkled in a bit of fun.
- AWS Twitch Channel (15 December 2022) ( video )
Run your Go applications on the cloud (BOA104)
Start building deployment pipelines for your Go applications on the cloud. You’ve been running Go applications on your machine, but how do you run these in the cloud? In this chalk talk, discuss an easy-to-deploy pipeline for the development, testing, building, and deployment of applications written in Go. Although this example is tailored to Go, it can be easily modified to deploy applications written in other languages too. Join this chalk talk to learn how to deploy your application as containers from GitHub to the cloud with AWS CodePipeline, AWS CodeBuild, AWS CDK, and AWS CodeDeploy.
Sharpen your “Architecture Documentation” Saw: Architectural Decision Records (ADR) and Diagrams-as-Code
All solutions implicitly have an architecture, ideally one which is both intentional and documented. The Architectural Decision Records (ADR) process distributes architectural decision-making across team members. Accelerate the time consuming process of hand drawing diagrams by rendering from a text-based source. Communicate effectively by committing both your markdown-based ADRs and text-based diagrams into your source code repository. This talk will review these techniques, provide actionable steps to adoption, and even live-code some examples.
- AWS WWPS SLG/EDU xTech Solutions Architect offsite (23-24 August 2022)
- Open Source North (24 May 2023) ( presentation)
- Minnesota Developers Conference 2023 (3 October 2023) ( presentation, code )
Building SaaS on AWS - Multi-Tenant Data on S3
In this episode we chat about best practices and patterns to adopt when dealing with Partitioning and Isolating Multi-Tenant SaaS Data with Amazon S3
- AWS Twitch Channel (3 August 2022) ( video )
Accelerate building your demo web app with an AWS UI template
Customer-facing builders (including AWS Solutions Architects like myself) want to create great looking demo web apps and AWS Samples. Would you like to avoid front-end fatigue and have a working web application in moments? Scaffolding your project using a pre-built template can be a “polyfill” for your web development skills.
This session will review the choices made for a circa 2022 template, which also works for external customers. It starts with the open source variant of the AWS Design System (AWS UI), React, and TypeScript. Vite is used for a lightning fast dev server and Amplify Hosting support is pre-configured. Routing, state management, testing, code quality, and more are included. Come learn if a template like this can accelerate your next project.
- Amazon WebDevCon Seattle 2022 (27-29 April 2022)
Who’s in your Cloud? Cloud State Monitoring
When it comes to cloud operations, monitoring security and visibility are critical. Integration by other systems via Cloud APIs is one of the most powerful value drivers of the hyperscale cloud providers.
In this session, we will describe Cloud State Monitoring, including why it is important and who needs awareness in your organization. An explanation of the categories of Cloud APIs (including the management plane, control plane, and data plane) will give us background. Specific use cases across AWS, Azure, and GCP will dive deep into various changes you might not have considered monitoring.
Adopting Multi-Cloud Services with Confidence
In transitioning to multi-cloud, IT organizations have the same responsibility to provide quality service and operational security, yet have a much greater need to understand how to efficiently govern and manage these disparate cloud services.
In this session, we will examine some key patterns and models taken from a Cloud Adoption Framework through a multi-cloud lens. The presentation will include a mixture of high-level guidance, examples where vocabulary and terminology differ, and opinions on when to utilize cloud-agnostic vs cloud-native technologies for strategic decisions. Attendees will leave with a better understanding of how to implement a Cloud Adoption Framework across multiple clouds and a higher level of confidence in their multi-cloud adoption plans.
Aumentum Cloud Strategy: Public Cloud vs. Government Cloud
As Aumentum transitions to a cloud hosted SaaS product, the conversation about “public cloud” vs. “government cloud” is of interest to customers. This session will review some cloud computing definitions, discuss what is commonly referred to as “government cloud,” and provide a preview of the Aumentum cloud strategy.
- Thomson Reuters Synergy 2019 (23-26 September 2019) ( presentation )
Introduction to Speech Interfaces for Web Applications
Speaking with your computing device is becoming commonplace. Most of us have used Apple’s Siri, Google Now, Microsoft’s Cortana, or Amazon’s Alexa - but how can you speak with your web application? The Web Speech API can enable a voice interface by adding both Speech Synthesis (Text to Speech) and Speech Recognition (Speech to Text) functionality.
- Twin Cities Code Camp 20 (16 April 2016)
- MinneBar 11 (23 April 2016)
- Midwest JS (10-12 August 2016) ( presentation )
- Thomson Reuters Beyond the Edge - Ann Arbor (12 September 2016)
Learning to Mod Minecraft: A Father/Daughter Retrospective
This session will be the retrospective of an enthusiastic father teaching his hesitant daughter (who loves Minecraft) about programming. We started with Hour of Code and pair-programmed through LearnToMod’s video lessons. What did we create? How did we like it? What would we recommend to others? Come learn about our experience and ask questions.
ng-owasp: OWASP Top 10 for AngularJS Applications
The OWASP Top 10 provides a list of the 10 most critical web application security risks. How do these relate to AngularJS applications? What security vulnerabilities should developers be aware of beyond XSS and CSRF?
- Thomson Reuters Beyond the Edge - Ann Arbor (17 September 2014)
- AngularMN Monthly Meetup (4 March 2015) ( presentation, video )
- Twin Cities Code Camp 18 (25 April 2015)
- NDC Oslo (17-19 June 2015) ( presentation, video )
- That Conference (10-12 August 2015) ( presentation )
- DevFestMN 2016 (6 February 2016)
Securing TodoMVC Using the Web Cryptography API
Instead of storing the Todo list as plaintext in localStorage, this “secure” TodoMVC implementation encrypts Todos using a password derived key. The PBKDF2 algorithm is used for the deriveBits operation, with getRandomValues generating a cryptographically random salt. The importKey method sets up usage of AES-CBC for both encrypt and decrypt operations. The final solution helps address item “A6-Sensitive Data Exposure” from the OWASP Top 10.
- Thomson Reuters Eagan Technology Unconference (5 September 2014)
- jQuery Conference (12-13 September 2014) ( presentation, code, demo, video )
- Twin Cities Code Camp 17 (4 October 2014)
Want to leverage your creativity, love of board games, and web platform experience to do something different? Turn your imagination into a Print & Play card game using only a modern web browser, color printer and text editor.
Scaling Agility from the Trenches
Let’s start a conference with a conversation. Instead of an opening talk, Twin Cities agile practitioners will share a fishbowl with coaches in a free-for-all discussion around the good the bad and the ugly of scaling agility instead of simply adding more process. Stop back for more details or stop in and enjoy the (fishbowl) madness.
- Agile Day Twin Cities 2013 (15 November 2013) ( panel participant; facilitated by David Hussman )
- Thomson Reuters Eagan Technology Unconference (6 September 2013) ( short presentation )
- Twin Cities Code Camp 15 (19 October 2013) ( presentation )
- Iowa Code Camp 12 (2 November 2013) ( presentation, video )
- Google DevFest Twin Cities (8 February 2014) ( presentation, demo )
- That Conference (11-13 August 2014) ( presentation, code, demo )
A Humorous Comparison of Software Development with Star Wars: The Clone Wars
Lightning talk style presentation describing software development using references from Star Wars: The Clone Wars. ( screencast )
- Thomson Reuters Eagan Technology Unconference (6 September 2013)
- Iowa Code Camp 12 (2 November 2013)
- Twin Cities Code Camp 14 (27 April 2013) ( presentation, video, demo )
- Iowa Code Camp 11 (8 June 2013) ( presentation )
- Thomson Reuters Legal Market Dev Tech Forum Series (11 July 2013)
- Minnesota Developers Conference 2013 (26 September 2013) ( presentation )
- cf.Objective() 2014 (13-16 May 2014) ( presentation )
- Twin Cities Code Camp 12 (14-15 April 2012) ( presentation )
BP101 Adding Lotus Sametime to Your Collaborative Commerce Web site
There are many statistics on the number of shopping carts being abandoned. This session will show how to use Lotus Sametime to add real-time, online customer service to your Collaborative Commerce Web site. A real-time intervention by a company representative can happen as a reaction to a customer request or a proactive response to a potential need. These and other situations will be demonstrated.
- Lotusphere 2001 (14-18 January 2001)
BST108 eCommerce with Domino
In this session, you will learn the ins-and-outs of building an eCommerce site with Domino, and how you can build a site faster and easier with Domino than with other technologies. We will explain how to set up customer registration, build a product catalog, and manage the shopping cart. Tips on how to implement effective application security and get the best site performance will also be included. Finally, this session will describe the different ways to integrate you eCommerce applications with existing ERP applications.
- Lotus Developers’ Conference 1999 (20-23 June 1999)