Proposals

Go to lightning talks | Go to short talks | Accepted talks

Every abstract is visible to everyone, in order to encourage discussion.

Workshops

Make your own video codec

Workshop - Suggested by Gisle Sælensminde, about 1 month ago.

How video compression algorithms like h.264 works is for most
developers looked upon as black magic, something that geniouses provides
to the world so that mere mortals can use them through libraries.

The point of this workshop is to demonstrate that this image is false, and
that video compression is not as hard as you may think. In fact, the core principles
can be explained in not so long time. In this workshop we will do
just that, and to implement a simple video codec based on those principles.

Read more...

Git for the rest of us

Workshop - Suggested by Pål Grønås Drange, about 1 month ago.

Are you embarrassed to say that you don't really know what to do when git screams "CONFLICT"? Or that you don't really know what the different commands do?

Have you never used git, or even other revision control systems?

Typically, a git conflict comes at the worst time possible: you are done with you work, and you just want it to be merged so that you can either go home, or start on something new.  And on top of that, you are afraid of losing your work that you might have spent weeks on.

We never really practice our git workflows, we often just end up slaves to the tool.  I'll be your guide through the git workflow and we will be resolving the conflicts, coming out on the other side as no longer mere mortals, but true gitters.

Target group: people who either haven't used git yet or trembles prior to merging.

It is ambitious, but the goal is to, during these three hours, to get to know these commands:

* init
* log
* status
* diff
* show
* add
* commit
* reset
* clean
* rm
* mv
* restore
* stash
* tag
* blame
* filter-branch
* bisect
* branch
* checkout
* switch(?)
* merge
* rebase
* cherry-pick
* reflog
* clone
* remote
* push
* fetch
* pull

Read more...

Refactor; Computer says no!

Workshop - Suggested by Anna Maria Eilertsen, about 1 month ago.

In this workshop, we will practice using the refactoring menu in our IDE. Sometimes automated refactorings can speed up our manual editing and help us avoid errors; other times, a seemingly erratic IDE refuses to perform even the simplest operations. It is no wonder most developers shy away from any automation more complex than Rename. After this workshop, you will be able to decipher refactoring error messages, tweak your code to make automated refactorings succeed, and interleave automated transformations with manual ones to achieve the code change that you want. 

This workshop is not about improving code quality, per se. Rather, you will learn about IDE magic and curious corner cases in seemingly straightforward refactorings. We will focus on simple but powerful code transformations: Extract, Inline, and Move, and how to make them succeed in increasingly tricky application scenarios. 

We will collectively use IntelliJ Community edition with Java 1.8+, BUT! if you usually work with other frameworks, we strongly encourage you to disregard the provided tasks and instead explore the refactoring menu of your favorite IDE. Our main goal is to provide you with refactoring skills that you can apply in your everyday programming. 

Disclaimer: If you choose to work in another language, codebase or IDE, the organizer may not know the answers to your questions as they arise, but will enthusiastically lend herself to help figure them out. 

Read more...

Hvor mange utviklere må til for å ødelegge et design?

Workshop - Suggested by Sofija Ivanova and unnamed, about 1 month ago.

Har du opplevd at det flotte designet ditt ender opp med å se kjedelig ut etter lansering? Kanskje elementer har blitt endret, detaljer mangler, eller komponenter ser helt feil ut?

Det er lett å bare irritere seg over resultatet for så å gå videre til neste prosjekt uten å ha lært noe, men det trenger ikke å være slik!

I denne workshopen går vi gjennom forskjellige fallgruver i samarbeidet mellom designere og utviklere. Derfra vil vi utforske hvordan vi bør jobbe sammen for å sikre et godt resultat.

På workshopen lærer du:

  • Hvorfor utviklere gjør det de gjør

  • Hvordan være en god designer fra utviklerperspektiv

  • Hvordan oppnå resultater når dere ikke har tid til tett samarbeid

Workshopen er nyttig for deg som:

  • Jobber med design som ender opp på digitale flater

  • Leder prosjekter med designere og/eller utviklere

Read more...

Generative art using functional programming

Workshop - Suggested by Torgeir Thoresen and Kjetil Golid, about 1 month ago.

Creative programming is all about writing code to create an expression rather than developing functionality. It can be used to generate all kinds of art pieces, whether it be still images, animations, music etc. It is also a great framework for learning new programming languages!

We’ll show you how to create art in the browser using functional programming.
Kicking things off with a low-key introduction to Clojurescript, we familiarize ourselves with some lisp syntax and general functional programming concepts before venturing into the realm of generative art created in the web browser.

Read more...

Fruitful Design Patterns in Test Automation

Workshop - Suggested by Varuna Srivastava, about 1 month ago.

Participate in this workshop to learn how to put together the advanced concepts of an API test in a framework that is scalable, robust, easy to read, and eliminates the brittleness in your checks. We will be sharing our real-time experience of how we migrated our testing approach, design and framework when our application was migrating from monolithic to microservices architecture.

You will be given practical hands-on experience on preferred design patterns while designing a framework and on completion of this interactive workshop you will leave with your very own example automation framework that demonstrates design patterns in the test automation design. We would design a framework in Java language.

Outline/structure of the Session:

  1. Basics of rest principle.
  2. Api architecture and types of api testing.
  3. Do’s and Don’t’s of api testing.
  4. Create a framework 
  1. Add e2e functional tests using APIs. 
  2. Introduction to design patterns and error handling.
  3.  Brief on how can a framework be enhanced

Key takeaways:

 

  1. A robust and scalable framework with the advanced principle for api testing.
  2. A selection of design patterns for the designing framework.
  3. A framework which handles backward compatibility of api's.

 

Read more...

Managing Microservices at Scale 🚀

Workshop - Suggested by Hans Kristian Flaatten and unnamed, about 1 month ago.

Microservices describes the promised land where each service can be implemented completely independent of any other service using any programming language and any framework? But is that even possible? How do we ensure that all services are secure and protected? How do we make sure we can know what is going on inside and between the different services? How do we ensure propper handling of errors when communicating across multiple services? How do we trace errors back to the service that caused it?

In a traditional microservices environment these questions must be solved individually by each service or require the use of several libraries and suddenly your "micro"-service wasn't quite as micro and you most certainly can no longer use the programming language or framework you want any more.

What if there was a better way of managing all these microservices and be able to preserve their individuality and without having to bundle all of the complexity into the code?

The workshop will cover the following:

* Setting up the Istio Service Mesh on Kubernetes

* Deploying our all of the individual microservices required for our webshop application

* Routing traffic with the Istio Ingress Controller

* Monitoring performance with Grafana

* Observing traffic flow with Kiali

* Distributed Tracing with OpenTracing and Jaeger

* Request Routing and Canary Deployments

* Fault Injection and Rate Limiting

* Service Isolation Using the Istio Mixer

* Securing all communication with mutial encryption (mTLS)

What you will need to bring to the workshop:

* A laptop

* Enthusiasm 😅

Nice to have

* Basic understanding of how microservices communicate and are deployed

* Basic understanding of containers and Kubernetes 

Read more...

Getting started with The Things Network and crowdsourced LoraWAN

Workshop - Suggested by Ricco Førgaard and Ketil Moland Olsen, about 1 month ago.

Say hello to The Things Network. It's an open, crowdsourced, and encrypted wireless IoT network that aims to solve the wireless hurdles of limited range, excessive power consumption, and high operational cost using game-changing LoraWAN technology.

Twelve months after its launch in Bergen, The Things Network has snowballed. Close to thirty gateways spread throughout the city provide wireless coverage in most of the densely populated areas. Every day, thousands of data packets are transmitted from the hundreds of sensors deployed in the area. Maybe the next one will be yours?

In this workshop, you will learn everything you need to get started with The Things Network, LoraWAN, and crowdsourced  IoT. We will provide you with your very own LoRa-ready microcontroller. If you are lucky, you might get the opportunity to take it home with you, too. 

We will cover:
– What The Things Network is, how it works, and how you can use it for your projects (for fun and profit).
– The Things Network Console: How to register your free account, configure your applications, and set up data forwarding to external endpoints.
– Raw data payload decoding and port routing.
– Fair usage versus duty cycle limitations.
– Spreading factors, data rates and bandwidth.
– Different network activation methods and when to use them: Activation by Personalisation (ABP) versus Over The Air Activation (OTAA).
– "Hello, world!": Your first and simple The Things Network application.
– IoT thermometer: Air temperature readings over the air.
– Bonus: Measuring  The Things Network coverage with TTN Mapper.

You should have:
– Basic to intermediate programming skills
– Fundamental knowledge about Arduino and microcontrollers

What to bring:
– A computer with the Arduino IDE installed and working
– A phone running a recent version of iOS or Android

Read more...

Consider ethics!

Workshop - Suggested by Ingrid Sunde and Hulda Fadnes, about 1 month ago.

What we create has a huge influence on how people behave and live their lives. We are trained to solve problems and make people’s lives better. Rarely do we consider what ‘better’ actually is.
One can argue that ethics are a personal preference. But what happens if we actually get the conversation going and allow for all team members to voice their point of view? In this workshop we will discover how our ethics and beliefs align with projects we work on. We will explore the intended and unintended concequeses of our work on different timescales. This will allow us as teams to map out what “better” actually might look like and which risks to consider moving on - for any given problem.

The key takeaways from this practical and collaborative workshop will be

- how to discuss ethics in a group
- learn how to think about consequences long term
- build understanding around different perspectives when it comes to ethics
- train on how to talk about your own ethics
- create a safe space for sharing.

Read more...

Universell utforming -Hvordan teste med skjermleser?

Workshop - Suggested by Eva Kristine Kirkevik and Eva Kristine Kirkevik, about 1 month ago.

 

Vil du sikre at dine nettsider og apper kan brukes av alle?  Universell utforming er i vinden.

Kom og lær hvordan man tester med skjermleser av en tester som selv er blind og bruker skjermleser til daglig.

 Ta med iPhone eller iPad  og headset og prøv selv.

 

*Hvorfor  er det viktig å teste med skjermleser?

*Grunnleggende innføring i hvordan en skjermleser fungererer 

* Demonstrasjon av nettsider som fungerer godt og ikke fungerer så godt

* Prøv selv med veiledning

 

Read more...

Fun and games with Svelte

Workshop - Suggested by Johannes Moskvil and Eirik Vågeskar, about 1 month ago.

Svelte is a promising, novel approach to Javascript, designed for speed, short source files and tiny bundles. Among its many selling points are ease of learning and quick re-renders without a virtual DOM. Current big-name users include The New York Times and Godaddy.

In this workshop you will learn the basics of Svelte by implementing some simple games. Each game will teach different aspects of Svelte, such as animation, reactivity, data fetching and storage. You will be taught by an enthusiastic frontender who has used Svelte both at work and for hobby projects for the last nine months. The workshop is suitable for both frontenders and designers who can code.

Read more...

Learn Go by building microservices

Workshop - Suggested by Ricco Førgaard and Eirik Årdal, about 1 month ago.

Ten years after Go was officially announced, the language is still gaining traction. Its popularity has increased steadily the past few years after more and more cloud products such as Docker and Kubernetes, and big-scale companies such as Uber, Netflix, Dropbox and Twitter has gone all-in on Go and enjoying the ride.

This workshop will focus on learning the language, its syntax and its weirdness (in a good way), while making a few microservices that communicate with each other over gRPC and HTTP. Learning by doing in other words. We'll move fast and assume you know other programming languages and are able to connect the dots based on your already excellent knowledge and awesome programming skills. Go is a famously easy language to learn due to its extreme pragmatism and we'll put that to the test here.

Things you'll learn:


* How Go differs from other object oriented C-like languages like Java, C#, Python and JavaScript
* Language syntax that are different from other languages
* Communicate between Go applications using HTTP/REST and gRPC
* Running multiple Go applications in Docker and Docker Compose

Things we won't cover:


* What an if-else statement is
* Foo and Bars
* Deploy things to a cloud (AWS, Azure, GCP) - we'll run everything in Docker on your computer
* What the commandline is and how to turn your text green

How to come prepared:


* Install Go (and ensure "go" is on your path). If you already have Go installed, check for updates
* Install Docker (and ensure "docker" and "docker-compose" is on your path). If you already have Docker installed, check for updates
* Bring your laptop
* Bring your laptop charger
* Have a GitHub account (and Git installed on your computer)
* Bring an IDE that understands Go. The best free alternative is Visual Studio Code with a plugin. The best-best alternative is GoLand from JetBrains. IntelliJ also have a Go plugin that gives a GoLand-like experience.
* Double-check that laptop charger

 

Read more...

Facilitating Powerful Retrospectives Workshop

Workshop - Suggested by John Le Drew, about 1 month ago.

Alf, at 6’ 6”, was tall, lanky and in his mid-50s. He was helping me clear up after his first retrospective on this team. “The conversations in these retros,” he said in his broad Essex accent. “They can be pretty raw, almost emotional.” Then he paused, and thought for a moment. “But I guess,” he said eventually, “After you have pretended to be an elephant in front of your peers, anything else goes, right?”

In this session, we'll explore how to bring excitement and fun to your retrospectives, making safe spaces that deepen the learning for your teams.

We will explore a number of concepts including:

- The value of a check-in and why anonymity is less important that we think it is.
- Why getting people to laugh is so important, the serious side of fun.
- How the environment can help a team become more objective, the value of surprise and the unexpected.
- Putting people at “unease”.
- How a retro can help build cohesive teams and why team cohesion is so important.
- Tips learned from the field on how to run effective retros.

This will be a highly interactive session and we will be on our feet exploring a range of activities and facilitation techniques.

Read more...

Getting Started with Jenkins Configuration as Code

Workshop - Suggested by Leonard Lee, about 1 month ago.

Tired of clicking buttons to configure Jenkins? Fred not, Jenkins Configuration as Code project will make our work a bit easier. In this workshop, we will learn how to configure Jenkins by code and improve the maintenance process of Jenkins.

Read more...

Intro to data visualization with D3.js

Workshop - Suggested by Trud Antzée and Elisabeth Irgens, about 1 month ago.

Never coded a graph before? Great! Come join us in getting started with this JavaScript library for visualizing data with HTML, SVG, and CSS. This workshop is for complete beginners by two enthusiasts who were D3.js beginners not that long ago.

Learn the basic of concepts around different types of data sets: when to use line charts, why to avoid pie charts, and perhaps a scatter plot is what will represent your data? We will build a visualization from the beginning. We start with a data set in a spreadsheet, and work on coding your project step by step. By the end, you will have a graph in the browser that you have written with JavaScript.

Read more...

What's this Design Sprint business anyways?

Workshop - Suggested by Kristine Kjellsen, about 1 month ago.

Have you heard the enticing tales of Google Design Sprint? Wondering about what all the buzz and the fuss is about? Or do you have a problem that you would like valuable input on from other smart people in the business?

This workshop combines experience with actual exercises from the Google Design Sprint, solving real problems that participants bring to the table with presentation of the methodology and very real examples of how and when to use it.

Read more...

Master HTTPS in your application

Workshop - Suggested by Johannes Brodwall, about 1 month ago.

HTTPS and especially client certificates holds the promise to zero-trust architectures of the future and gives a good way to harden your internal communication paths.

Have you ever gotten the feared error message "PKIX Path Building Failed" or just the simple and unhelpful "SSL error" in your browser?

You have learned about and thought you understood the theory of public-private key encryption. Even so, setting up a server to demand client certificates, issuing certificates and making sure each part knows to trust each other is tricky business.

In this workshop we will explore the necessary code to create certificates, start an app server with https instead of http, making the client trust a self-signed server certificate and make the server request a certificate from the client.

Read more...

Write your own container, for fun and no profit!

Workshop - Suggested by Gargi Sharma, about 2 months ago.

Docker has really popularized containers in the past few years! How does a docker work? Is it really a light-weight virtual machine? How does one isolate the processes and manage resources in a container? Can one write their own docker?

In this workshop, we get familiar with the basic building blocks of Linux containers namely chroot, namespaces, and cgroups. We discover syscalls that we can use to manipulate namespace, how to apply resource limits and write our own container in Rust!

Read more...

Expand your horizons and learn to make games on a Commodore 64

Workshop - Suggested by Ricki Sickenger and unnamed, about 2 months ago.

A lot of programming nowadays has been reduced to Jira tasks, predictable processes, and high-level languages. Let’s step away from that and have some low-level fun with one of the most iconic computers ever made!

In this workshop we will teach you how to get started with game programming on the Commodore 64. This machine was released in 1982 and was one of the most popular home computers of the 1980's.

But why would you want to do anything on 38-year-old hardware? Because it is easy to get started and is super fun! Plus, you get to reap the rewards of decades of hacking on this machine. Kids from the 80s that are now grown-ups, and also new generations of youngsters have been finding new tricks and cool features since it was introduced. And since the advent of the internet, they have been documenting everything on the internet. The Commodore 64 still has a vibrant developer community to this day, with games still being released!

We won't be programming on an actual C64, but rather on modern hardware, with a modern editor with a cross compiler and an emulator with debugging capabilities. This turns the process into a fun adventure, where we learn what assembly is and how to manipulate the old hardware with it.

The goal of this workshop is to learn how to get started making games on a Commodore 64 in assembly. You will also learn what a cross-compiler does, how the hardware works, and how fun it is to try something completely new(old!) 

 

Ricki Sickenger is a former professional game developer with 10 years experience, now working as an IT consultant and hobby game developer.

John Christian Lønningdal has released several C64 games in recent years, but his day job is working as an IT consultant.

They both love retro games and the Commodore 64!

 

Welcome to the retro programming workshop!

Read more...

a murmuring of mesmerizing starlings

Workshop - Suggested by Jan-Erik Rediger and Daan van Berkel, about 2 months ago.

Seeing a big flock of birds flying as if they are one organism is a mesmerizing experience. One often wonders: "How do these birds ``know'' what to do?".

Although the overall behavior of the flock seems very complex, it is an emergent property of a few simple rules.

In an elegant algorithm Craig Reynolds showed that flocking behavior is possible if birds seek to

1. Avoid collisions by separating from there immediate neighbors.
2. Aligning themselves in the direction the group is moving.
3. Seeking to minimize exposure by trying to move towards the center of the flock.
   
In this workshop you will get to learn about these rules in detail by commanding your own flock of virtual creatures. Your task is to program the brains of your obedient birds and see how from your code flocking emerges. In the virtual world you will encounter other species, both docile and predatory,
that offer new challenges.

You will walk away with a new understanding of the complex interplay of interacting systems, how intricate behavior can emerge from simple rules and a new appriciation of the natural world.

 

Read more...

Better User Stories Through Example Mapping

Workshop - Suggested by Gary Fleming, about 2 months ago.

We often struggle when it comes to figuring out exactly how we should work together, as testers, developers, business analysts, and product owners.

Three Amigos gets thrown around a lot as an idea: one to build, one to enquire, one to specify. But how do we actually run a three amigos session so that everyone gets their ideas across and we gain genuine shared understanding? That's tricky.

During this session, you'll learn to use Example Mapping; a simple, easy, and quick technique to bring everyone together for effective results.

Read more...

Automatic Accessibility Testing for All

Workshop - Suggested by Anne-Cecilie Haugstvedt, about 2 months ago.

Accessibility testing tools are of great help in making an accessible website. Automatic accessibility tests can be of even greater help, freeing up time to focus on the changes that will make your website better for everyone. 

In this workshop you'll learn how to set up and write your own automatic accessibility tests. While doing this we'll also cover some of the most common accessibility errors that can be discovered automatically and learn how to fix them. 

Read more...

型 - kata, and solving the same problem again & again

Workshop - Suggested by Jørgen Kvalsvik, about 2 months ago.

The kata - 型 - is often used to describe practicing and perfecting a choreographed pattern of moves. It turns out that it is quite interesting when applied outside of the dojo too.

 

This workshop is about doing kata by solving one of my favourite problems several times, but with different restrictions, e.g. strictly object oriented (smalltalk style), purely functional, strictly procedural. We will discuss solutions, drawbacks, similarities, and elegance.

 

You can bring any language and environment you would like, as this the workshop is about having fun with problems together. Problem input and reference solutions will be provided by the instructor.

 

The problem itself has a flavour of computer science, but should be quite familiar to all participants.

Read more...

The Guts of Facilitation

Workshop - Suggested by Benjamin Fornarino, about 2 months ago.

While the software industry has long recognised the importance of group work and facilitation, for most of us, our idea and practice of facilitation is limited to task and process.

We're only scratching the surface...

This half day workshop is a triple decker, hands on ride through self and group maintenance and care.

We'll explore the ideas of facilitation microskills, our community of selves, rank and power, group safety and groupness

Through hands-on embodied experience, this workshop will help you to help others work well together.

Your facilitator is Ben Fornarino. He's been helping diverse groups solve problems with software all his working life. Ben is an Associate of Groupwork Centre and holds an Advanced Diploma in Group Facilitation - the only post graduate qualification in facilitation worldwide.

Read more...

Bring Your Own Seat to the Table: Creating a Culture of Experience

Workshop - Suggested by Andy Vitale, 2 months ago.

Description:
More than ever before, the role of the user has changed from isolated to connected, from unaware to informed, from passive to active.
 
Learning how to design with users, instead of for them, can be an entire cultural shift for some organizations—many of which don’t have design embedded in their culture. So design needs to claim their own seat at the decision-making table.
 
Creating a design culture means having leaders in place who understand and appreciate the value design adds, and who have invested financially and philosophically in design. Design must connect with others, many outside of design, to influence them and gain alignment on advancing outcomes that solve meaningful problems.
 
In this session, led by SunTrust Bank’s Head of User Experience Design Andy Vitale, you learn how to get a seat at the table by understanding how design is positioned at your workplace, measuring and articulating the impact of design, and integrating design culture into your organization.
 
Attendees will learn to:
• Identify the level of design maturity and culture within your organization
• Learn what it takes to gain a seat at the table—and more importantly how to keep that seat
• Understand the value of a mature design culture and how to keep building it
• Communicate design results in ways that matter to stakeholders
• Use design tools and principles to align processes and create a measurable strategy that influences and evolves organizational culture
 

Read more...

Taking notes is boring! Sketching them is not!

Workshop - Suggested by Morten Laugerud, 3 months ago.

Sketchnoting is about ideas, not art! So don't even think about thinking "I can't draw"!
With that out of the way...
 
Drawing is fun!
And great for collecting thoughts, takeaways from talks and meetings down on paper, and (my favorite) remembering names of all the exciting and boring people you work with. You will find your own way to incorporate sketchnoting in your workflow.
 
I this workshop we will cover some easy techniques to get started with sketchnoting. You’ll leave with your own litte visual library and a new confidence in you own drawing skills!
 
Still not convinced? Here are other benefits og sketchnoting
  • Brings out your creativity
  • Its relaxing
  • You will remember what you noting even better
  • Easy to scan previous notes to find out "What was that guy talking about, again...?"
  • Easier to convey difficult or complex consepts to someone that does not understand what you are usually talking about
  • Its fun!
You don’t have to bring anything. I’ll hook you up! See ya!
 

Read more...

Add observability and resilience as a service

Workshop - Suggested by Martin Hellspong, about 1 month ago.

What if it was possible to add excellent observability and resilience to your services without making any code changes? This is the alluring promise of the fabled Service Mesh which alledgedly provides "Observability and Resilience as a Service".

Microservices have been hyped for a while, but let's not underestimate the difficulties involved - distributed system development is complicated! You quickly learn the hard way that deploying a handful of related services is only the very first step, and you will inevitably need to troubleshoot and tweak their interactions for issues that only seem to occur at load. You might suffer from cloud-blindness, where your services are running where you cannot easily observe if, or why they are having issues, and you need redeploys to test various different strategies and settings.

Do you feel the need to improve the reliability issues by mixing your business logic with ever more complicated communications observability and resilience code (logging, metrics, tracing, retries, timeouts, fallbacks, circuit breakers etc.) or do you delegate these things to a lib in your chosen language (that now all services needs to use)?

After learning more about Service Meshes, you'll realize that dealing with this on a ad hoc, per-service, per interaction basis is not an effective approach.

Read more...

The world of UX for VR

Workshop - Suggested by Natalia Machuca and Camilla Strandenes, about 1 month ago.

Suggested by Mette Waagsbø, Camilla Strandenes, Keith Melling, and Natalia Machuca

 

VR (Virtual Reality) is considered one of the most powerful mediums as it's able to trick you to brain to think that some VR experiences are real. 

We will go through the steps of planning a VR experience and testing methods to ensure good VR. 

Seeing that VR is a new and fast-growing area, we will be focusing this short workshop on how important it is to set aside time for some good quality assurance, so that the end users can get a good use of this new technology. Yes, you know what we mean, usability testing your VR application! Now that’s hot!

If you have ever wondered on how in the world a VR application can be tested in a professional way, we got you covered!

In this workshop, we will take you on a journey on how to use user ability to test virtual reality technology.

Have you ever wondered if you are developing something that the end user, will actually use?

Or maybe you are just curious on how VR can be used in different areas, projects to help people with different problems?  Since VR is so powerful, a good user experience is needed. A bad UX in VR can cause nausea and confusion. 

This workshop will give you the answers to all those questions!

We believe that when new technology is introduced to the marked, it is important to understand how the user will accept this, and what you as a developers or testers should have in mind when you are creating your application.

This will be a good introduction on this new technology and why it is getting so popular in different areas, we will use our own developed application and let you dig into the UX world for VR.

We will give you some simple examples and tasks, so that you can try out for your own, and experience this new way of developing and testing!

This workshop will not only give you a good insight on VR technology, but you might be inspired to use more usability testing on other developed applications, and software that will hit the end user/customers.

Read more...

Hacking the Juice Shop: Security Testing for Beginners

Workshop - Suggested by Lena Wiberg, about 1 month ago.

Security testing seems to be viewed as an extremely complicated area where only experts can contribute. In this workshop, we’ll demonstrate that in truth, there’s plenty of things you can do being an expert in security testing.

We have worked in a number of teams where security testing was seen as something you buy as a service from an external vendor and then you try to make sense of the report and hopefully you figure out what to change. After reading a number of those reports, we realized that not only did the same issues keep coming back; they were also things we should be able to check for ourselves on a regular basis instead of paying top dollars for someone else to do it once every year. By introducing just a few new checks into the regular testing of most web applications, we can gain confidence in ourselves and the security of our systems. Bringing in a security expert is of course still valuable, but now we can let them focus on the trickier stuff.

The OWASP Juice Shop is an intentionally insecure web application, as an exercise and training environment for quality engineers and developers of all skill levels. In this workshop, we will use it as our lab environment as we go over the current OWASP Top 10 list of web application risks. We’ll guide you through some handy tricks and tools for solving some of the Juice Shop challenges and reflect on how this can be used in your everyday situations. The focus will be on “low-hanging fruit”, i.e. things that can be done quickly and are easily applied regardless of situation. Hopefully this will leave you with a lot of new ideas, a hunger for learning more and an itch to solve all the challenges of the Juice Shop!

The format will be a Capture the flag-event where you will be trying out some of the practices, getting you started on a continuous learning journey that hopefully can keep going for years.

Takeaways

  • Things you can introduce into you regular testing process today
  • Introduction to  security testing for web
  • You don’t have to be an expert to start!
  • Ideas on how to delve deeper once you get comfortable with the basics

Read more...

Managed Serverless Appserver Containers: MicroProfile, Quarkus, and Cloud Run

Workshop - Suggested by Rustam Mehmandarov and Mads Opheim, about 1 month ago.

So, you need to have your Java app deployed and available for your users fast, and you would like to do as little managing, wiring, and infrastructure work as possible. How can you achieve that? Well, you go serverless with your containers. With an app server. A quick app server!

Join us exploring the possibilities with MicroProfile and Quarkus on Google Cloud Run. Bleeding edge Java!

Scared of the bleeding edges, or vendor lock-in? Don’t worry, with MicroProfile, you can switch to another app server with no changes to your code.

In this workshop, you’ll

  • Get to know MicroProfile, Quarkus, and Cloud Run
  • Try a couple of MicroProfile features
  • Deploy a simple application to your favourite app server
  • Switch the app server to Quarkus
  • Deploy the app to Google Cloud Run – a fully managed container service
  • (optional) Combine it with Prometheus and Grafana, and see if it makes sense in a serverless environment
  • (optional) Compare performance with a few other app servers with the same MicroProfile code
  • (optional) Add JWT and security

Oh, and as promised, there will be little wiring and infrastructure. So, you don’t have to know things like Kubernetes or Istio to enjoy this workshop. We’ll let the Cloud handle all of that for us.

Read more...

Why, If, and How to Transform your Organisation

Workshop - Suggested by Richard Cornelius and unnamed, about 1 month ago.

Agile transformations** don’t have to be a based on a traditional framework. In fact every organisation will have a different context based around existing culture and the value proposition, so why should we state that a few frameworks can fit every scenario. Does this mean that these models are all wrong and should be discarded, or as famously stated by George Box “"All models are wrong, but some are useful".

During this workshop we will be using a structured approach to allow attendees to build and describe their own agile structures, asking such questions as “WHY or even IF we should be doing Agile?”; “What purposes do we want to achieve?”; “What are our limitations”; “How do we structure the work?”; “What are the risks and how do we minimise them?”.

As mentioned previously, agility is heavily context driven and so there is no intention of ‘teaching a single way’ rather attendees will be facilitated through their own personalised learning journeys. The outcome is to enable quality conversations and structure outside of the conference and back in the real world of work.

It doesn’t matter if you’re part of product development; delivery; compliance; security or a corporate CEO, everyone has a valid perspective as long as you have a desire to see and implement positive change.

** PS. Personally, I don’t like the word “transformation” as it denotes a fixed & known end scope of work (which also then has the assumption that this is easy, which it isn’t), however I have used it here as it’s currently more commonly understood than words such as “continual learning organisation”.

 

 

Read more...

Boost your insight with beautiful data visualization

Workshop - Suggested by Markus Mortensen and unnamed, about 1 month ago.

Would you like to get to know your data better? In this workshop, you will learn how to create beautiful visualizations using R. We will also discuss best practices and how to create value for your business with the right visualizations. The workshop will cover everything from simple scatter plots to interactive plots and GIFs, and the participants will get the opportunity to learn by doing through a selection of exercises.

Read more...

Learn how to apply circular strategies to design for impact

Workshop - Suggested by Idun Aune, about 1 month ago.

80% of businesses wants to become more sustainable, but no more than 30% actually have done something about it. Business are struggeling to see how to make the changes in direction of circular business models. As designers, we have the tools make complex problems undertandable and we all have a responsbility to use our superpowers to positivly impact society. 

This workshop gives you an introduction to how to perform a high level supply chain assessment, and becoming aware of how you can apply circular strategies to transform you products or services. 

Idun Aune is a Senior Service Designer currently working in Idean, Oslo. Idun has worked with clients like the Norwegian Defence Estate Agency, NAV, Oslo Municipality, Gjensidige Insurance and Directorate of e-health. 

She is passionate about taking responsibility as a designer to building circular futures using Planet Centric Design.

 

Read more...

Introduction to SAFe

Workshop - Suggested by Hussam Ahmad, about 1 month ago.

After many years with agile development we know now that scaling agile development in large organzations is not an easy task. Scaled Agile Framework, SAFe, tries to solve this by providing a knowledge base of proven, integrated principles, practices and competencies for Lean, Agile and DevOps. In this workshop, I will introduce the major aspects of SAFe and how it can help your businesses to transform into productive Lean agile enterprise. 

Read more...

Make Your Own Robot!

Workshop - Suggested by Maria Nordtveit and Cecilie Wian, about 1 month ago.

Make your own robot out of a milk carton and a micro:bit. Coding is a basic skill everyone should master at some level.

The workshop is meant to inspire people to learn coding or teach others to code. The project is a lot of fun, and suitable to teach young or not-so-young people about programming. It is also a low threshold for people on IT teams who do not normally code as a part of their workday.

No matter the motivation, starting small and safe is a great way of learning about coding and trouble shooting. The workshop will provide the parts needed that are not mentioned in the requirements, to complete the workshop.

Target group: Designers, testers or people a part of the team who do not usually program.

Requirements: A laptop (with USB port) for coding. One empty and cleaned milk or juice carton for the robot.

Duration: The workshop is divided into three parts and will take 1,5 hours to complete. 30 people can attend, resulting in 15 groups and 15-30 robots.

  1. Intro to the workshop, and some cues about how to arrange your own workshop.
  1. Prepping the gear, and creating the robot. The team will be provided with all necessary tools, where the first task is to cut out the design of the robot and glue all the part together.
  1. Programming the micro:bit. The coding will be done with the help of the editor https://makecode.microbit.org/#editor. There is an option to choose between Blocks or JavaScript. The instructions are using Blocks which is an easy drag and dropof elements. 
  1. Connect robot and micro:bit. The last step is to connect the wires to the micro:bitand robot and finally make it come to life by moving its mouth. 

 

OPTIONAL 

  1. Further development of the robot. If there is time to spare, there is always the option to code more, change up the robot and explore what else is possible with the help of micro:bits.

 

Happy coding! 

 

Read more...

Make Your Own Robot!

Workshop - Suggested by Thea Øen and Maria Nordtveit, about 1 month ago.

Make your own robot out of a milk carton and a micro:bit. Coding is a basic skill everyone should master at some level.

The workshop is meant to inspire people to learn coding or teach others to code. The project is a lot of fun, and suitable to teach young or not-so-young people about programming. It is also a low threshold for people on IT teams who do not normally code as a part of their workday.

No matter the motivation, starting small and safe is a great way of learning about coding and trouble shooting. The workshop will provide the parts needed that are not mentioned in the requirements, to complete the workshop.

Target group: Designers, testers or people a part of the team who do not usually program.

Requirements: A laptop (with USB port) for coding. One empty and cleaned milk or juice carton for the robot.

Duration: The workshop is divided into three parts and will take 1,5 hours to complete. 30 people can attend, resulting in 15 groups and 15-30 robots.

  1. Intro to the workshop, and some cues about how to arrange your own workshop.
  1. Prepping the gear, and creating the robot. The team will be provided with all necessary tools, where the first task is to cut out the design of the robot and glue all the part together.
  1. Programming the micro:bit. The coding will be done with the help of the editor https://makecode.microbit.org/#editor. There is an option to choose between Blocks or JavaScript. The instructions are using Blocks which is an easy drag and dropof elements. 
  1. Connect robot and micro:bit. The last step is to connect the wires to the micro:bitand robot and finally make it come to life by moving its mouth. 

 

OPTIONAL 

  1. Further development of the robot. If there is time to spare, there is always the option to code more, change up the robot and explore what else is possible with the help of micro:bits.

 

Happy coding! 

 

Read more...

Make Your Own Robot!

Workshop - Suggested by Maria Nordtveit and June Aarem, about 1 month ago.

Make your own robot out of a milk carton and a micro:bit. Coding is a basic skill everyone should master at some level.

The workshop is meant to inspire people to learn coding or teach others to code. The project is a lot of fun, and suitable to teach young or not-so-young people about programming. It is also a low threshold for people on IT teams who do not normally code as a part of their workday.

No matter the motivation, starting small and safe is a great way of learning about coding and trouble shooting. The workshop will provide the parts needed that are not mentioned in the requirements, to complete the workshop.

Target group: Designers, testers or people a part of the team who do not usually program.

Requirements: A laptop (with USB port) for coding. One empty and cleaned milk or juice carton for the robot.

Duration: The workshop is divided into three parts and will take 1,5 hours to complete. 30 people can attend, resulting in 15 groups and 15-30 robots.

  1. Intro to the workshop, and some cues about how to arrange your own workshop.
  1. Prepping the gear, and creating the robot. The team will be provided with all necessary tools, where the first task is to cut out the design of the robot and glue all the part together.
  1. Programming the micro:bit. The coding will be done with the help of the editor https://makecode.microbit.org/#editor. There is an option to choose between Blocks or JavaScript. The instructions are using Blocks which is an easy drag and dropof elements. 
  1. Connect robot and micro:bit. The last step is to connect the wires to the micro:bitand robot and finally make it come to life by moving its mouth. 

 

OPTIONAL 

  1. Further development of the robot. If there is time to spare, there is always the option to code more, change up the robot and explore what else is possible with the help of micro:bits.

 

Happy coding! 

 

Read more...

Make Your Own Robot!

Workshop - Suggested by Martine Oppegaard Jakobsen and Maria Nordtveit, about 1 month ago.

Make your own robot out of a milk carton and a micro:bit. Coding is a basic skill everyone should master at some level.

The workshop is meant to inspire people to learn coding or teach others to code. The project is a lot of fun, and suitable to teach young or not-so-young people about programming. It is also a low threshold for people on IT teams who do not normally code as a part of their workday.

No matter the motivation, starting small and safe is a great way of learning about coding and trouble shooting. The workshop will provide the parts needed that are not mentioned in the requirements, to complete the workshop.

Target group: Designers, testers or people a part of the team who do not usually program.

Requirements: A laptop (with USB port) for coding. One empty and cleaned milk or juice carton for the robot.

Duration: The workshop is divided into three parts and will take 1,5 hours to complete. 30 people can attend, resulting in 15 groups and 15-30 robots.

  1. Intro to the workshop, and some cues about how to arrange your own workshop.
  1. Prepping the gear, and creating the robot. The team will be provided with all necessary tools, where the first task is to cut out the design of the robot and glue all the part together.
  1. Programming the micro:bit. The coding will be done with the help of the editor https://makecode.microbit.org/#editor. There is an option to choose between Blocks or JavaScript. The instructions are using Blocks which is an easy drag and dropof elements. 
  1. Connect robot and micro:bit. The last step is to connect the wires to the micro:bitand robot and finally make it come to life by moving its mouth. 

 

OPTIONAL 

  1. Further development of the robot. If there is time to spare, there is always the option to code more, change up the robot and explore what else is possible with the help of micro:bits.

 

Happy coding! 

 

Read more...

Make Your Own Robot!

Workshop - Suggested by Martine Oppegaard Jakobsen and Maria Nordtveit, about 1 month ago.

Make your own robot out of a milk carton and a micro:bit. Coding is a basic skill everyone should master at some level.

The workshop is meant to inspire people to learn coding or teach others to code. The project is a lot of fun, and suitable to teach young or not-so-young people about programming. It is also a low threshold for people on IT teams who do not normally code as a part of their workday.

No matter the motivation, starting small and safe is a great way of learning about coding and trouble shooting. The workshop will provide the parts needed that are not mentioned in the requirements, to complete the workshop.

Target group: Designers, testers or people a part of the team who do not usually program.

Requirements: A laptop (with USB port) for coding. One empty and cleaned milk or juice carton for the robot.

Duration: The workshop is divided into three parts and will take 1,5 hours to complete. 30 people can attend, resulting in 15 groups and 15-30 robots.

  • Intro to the workshop, and some cues about how to arrange your own workshop.
  • Prepping the gear, and creating the robot. The team will be provided with all necessary tools, where the first task is to cut out the design of the robot and glue all the part together.
  • Programming the micro:bit. The coding will be done with the help of the editor https://makecode.microbit.org/#editor. There is an option to choose between Blocks or JavaScript. The instructions are using Blocks which is an easy drag and dropof elements. 
  • Connect robot and micro:bit. The last step is to connect the wires to the micro:bitand robot and finally make it come to life by moving its mouth. 

 

OPTIONAL 

  • Further development of the robot. If there is time to spare, there is always the option to code more, change up the robot and explore what else is possible with the help of micro:bits.

 

Happy coding! 

Read more...

e-Leadership

Workshop - Suggested by Hussam Ahmad, about 1 month ago.

Our working circumstances and environment are changing constantly. Teams are distributed and facetime is reduces to a minimum while businesses are running at high speed. In this workshop I will provide with real world experience reports on how you too can provide your team with good "e-"leadership while taking care of both distribution, cultural differences, technolgy changes and all other challenges. The workshop will start with an introduction by me and go over into exercises we solve in groups.

Read more...

How to build sustainable salable value based teams

Workshop - Suggested by Hussam Ahmad, about 1 month ago.

While many business cases are usually clear, many companies struggle defining the right teams to tackle the challenges they work with. This leads often to unbalanced team or portfolio structures. The unbalance between supply and demand results into unhappy company and employees and unhealthy working environments. One of the best ways of dealing with this issue is to design teams based on Value streams.

A Value stream describes the flow of a “value” from a requester to a receiver. The value may change form during this transfer. In manufacturing this describes the flow of a product to a customer. Value Stream Mapping visualizes the process, assigns products and then man power to bring the products to the customers. In Lean movement we witness better team constructions, communication and more effective collaboration as results of value based teams.

In this workshop, Hussam Ahmad will guide us through on what is Value based teams, how to map your value streams and how to bridge the value streams to teams.

Keywords in the discussion:
- Operational and development Value Streams
- Leans budget
- Waste Management
- System thinking

Read more...

Håndtere kompleksitet

Workshop - Suggested by Camilla Wadseth, about 1 month ago.

I oppstart kan de fleste prosjekter se ryddige og ordnet ut. Joda, vi vet at dette er vanskelig eller komplisert, men vi vet hva vi skal gjøre. Vår erfaring tilsier at det ofte er faktorer som påvirker prosjektene i så stor grad at de beveger seg over i en mer kompleks verden.

Så hva gjør du når du erkjenner at dette prosjektet ikke var så strømlinjeformet som du først hadde tenkt. Eller enda verre - du innser at det er kun du som ser at dette ikke bare blir et litt vrient prosjekt. Her er det mange ukjente faktorer og mye som kan påvirke fremdrift og resultat. Du vet at det ikke bare er å starte utviklingen, fordi hele løsningen er ikke gitt på forhånd. Vi har utviklet et samtaleverktøy for å belyse og kunne snakke om kompleksitet i prosjekter. I workshopen vil vi jobbe med utgangpunkt i Cynefin som model for å håndtere ulike situasjoner på riktig måte. Du vil i tillegg få med deg et konkret og enkelt verktøy som du kan benytte for å diskutere kompleksitet i ditt prosjekt.

Read more...

CSS-in-JS with Styled-Components

Workshop - Suggested by Robin Sandborg and Marius Hauken, about 1 month ago.

We'll take a deep-dive into CSS-styling. First we'll cover the golden rules of CSS styling – regardless of your chosen implementation. Then we will quickly look at some different solutions to CSS in JS in React. After this, you will be better equipped to make choices on how best to style your react project.
 
For the remainder of the workshop we'll look into Styled Components and how to style a project with it. Well look into:
  • Organizing your styled components
  • Theming
  • Dynamic styling of components
  • Animations
 
After this workshop you'll be better equipped to write CSS in JS. You'll get some experience of different techniques of styling CSS in the React ecosystem with a main focus on Styled Components and how to use that in large and small projects.

Requirements

  • Computer ready for running React
  • Some knowledge of GIT
  • We'll not cover the basics of React, so some prior knowledge is nice, but not required

About the workshop-holders

Marius Hauken and Robin Sandborg both have a Master in Design from Bergen Academy of Arts and Design. After this they've focused on frontend and helped a lot of clients improve their frontend and organize their CSS. They've held multiple workshops on scalable CSS for larger projects. The last few years they've worked at Stacc and delivered frontend and design for the fintech-industry.

Read more...

Building framework for UI and API testing

Workshop - Suggested by Aditi Mulay, about 1 month ago.

When starting to write automation tests from scratch, the most difficult part is to come up with a framework that satisfies your application's testing needs. It is easy to come up with a proof of concept to show that a particular tool can be used for testing but when working on a complete testing solution, it is difficult to decide on and select specific tools that work for you. Testers tend to get lost in the framework design, requirement details and tool choice. 

As part of this workshop, I would like to take automation testers on a journey that covers determining the testing toolset, setting up the environment (IDE) and building of a framework that can manage frontend, API tests and also check accessibility. This will involve determining the test strategy, design and features that the framework could provide. Starting with baby steps, I would like to walk through how the framework can be enhanced for future testing needs and also use coding and automation best practices. 

Read more...

Colossal Voice Adventure

Workshop - Suggested by Sigmund Hansen, about 1 month ago.

Let’s play with Dialogflow and Google Assistant and build a small adventure game reminiscent of 70s and 80s text adventures. We’ll explore how to build intents and context in Dialogflow, and with it a Google Cloud Function in Javascript to handle the game logic. You’ll get a quick introduction to how voice controlled apps work in general, how we can build a Dialogflow app and the data Dialogflow provides in requests to a handler endpoint. And then just by saying: "Ok, Google! Talk to Colossal Voice Adventure," you'll be taken on an adventure of a lifetime. After this workshop, you will be able to build simple voice based apps, that can run on Android devices and Google Homes. With a bit of effort, the Dialogflow APIs can be used in other clients, like native apps on iOS.

Read more...

CSS Grid - Layouts and animations

Workshop - Suggested by My Thao Nguyen and Espen Hellerud, about 1 month ago.

Creating modern web pages is not a simple task. Not only does your layout have to be on point, where all elements must align themselves perfectly to all screen sizes, but you must also support all kinds of devices and browsers. To overcome this challenge you might be familiar with the feeling of drowning in infinite nested flex boxes. What if I told you there is another option?

CSS Grid is a layout system which lets you organise your elements by using a grid - based on rows and columns defined by yourself. The elements can also overlap if you want them to. On top of that, CSS Grid can really shine when it is combined with flexbox or animations, leading to endless possibilities when creating your web page. Web developers tend to avoid CSS Grid because of the lack of support in Internet Explorer, fear not! We have example solutions for how to support IE11 too!

In this workshop, you'll get an introduction to CSS Grid. We will start with the very basics of creating a simple Grid and when we are done you will be able to create responsive web pages for all devices! After mastering clean and usable layouts we will explore how we can spice things up by also including animations.

Read more...

Make native and webapps with oAuth2 secure again

Workshop - Suggested by Kristian Lund, about 1 month ago.

Implicit flow in oAuth2 was for a long time the go to standard for native and webapps,
but it has recently been declared as a should not by IETF.

So how can we be secure?

Come to this workshop and learn how to implement code flow with PKCE

The workshop begins with setting up an authorization server and explains oAuth2 terms like authorization code flow and implicit flow before we dive into PKCE.

Read more...

Animations with React: Introduction to Framer-Motion

Workshop - Suggested by Bendik Bjørndal Iversen and unnamed, about 1 month ago.

Have you got some experience with React, but never been able to make that menu appear in the awesome way you've always wanted? Perhaps you've got lots of experience making things move with CSS animations, but you want to learn how (or if) a modern React animations library would make your life easier? Or perhaps you just want to have fun and learn how easy it is to animate elements in React using a modern animations library?

In this workshop we'll give you an introduction to one of the newest libraries for creating animations with React: Framer-Motion. You'll get hands-on experience by solving tasks we've set up for you: You'll start out with a React app resembling a card game, but where all the elements are static. It will be your job to create those animations to be able to actually play the game!

Read more...

Web Application Performance Tests through the lenses of users

Workshop - Suggested by Kasia Balcerzak and Bart Szulc, about 1 month ago.

We're not going to show you what tools you have in your disposal to perform performance tests of web applications.

There are many of them.

We're not going to show you how to perform tests with those tools. What types of tests there are. How to model traffic.

Most likely you're already doing that.

We're going to tell you why the usual way of performing performance tests is not enough, and what you can do about it.

When a person enters your Web Application to buy something how does a performance of single request that you constantly fire withing your performance test harness translate to that user experienced performance? Hard to say? Definitely. That's why we argue instead of measuring performance of requests measure interactions.

We're going to do a brief introduction into the topic of perceived user performance. How you can build a test harness based on available open source tools in Java, and use it to measure experience closely resembling what your user experiences.

You will learn how to generate test data in runtime that will help you test how your Web Application handles large volumes of data, and how it impact user perceived performance. You will learn how to mimic user actions and capture browser metrics with a help of Wiremock proxy and WebDriver.

Read more...

Injecting and exploring failure into Web Applications with Wiremock.

Workshop - Suggested by Kasia Balcerzak and Bart Szulc, about 1 month ago.

Today Web Applications continuously communicate with external services to provide users with content, react to actions, notify about changes. This communication can be very brittle, as networks can't be seen as reliable. You need to prepare your Web Application to handle anykind of potential communication failures, react to it in proper way. Is your application prepared for situation when in the middle of submitting a form in connection get lost? Will the user be notified when things to wrong and be given chance to react to that, or will you keep the form in sending state until they refresh page? Want to explore it?

I will be presenting how with a help of proxy, Wiremock, you can inject various failures into your Web Application and see how it behaves. How you can recover after failure, and how you can configure proxy to respect only specific types of issues. You will learn how to find issues with frontend architecture and find potential ways to fix them.

We will also cover implementing automated checks for error network conditions with a help of Wiremock and WebDriver so you never regress in your user experience.

Read more...

Building resilient Http Clients with resilience4j and wiremock

Workshop - Suggested by Kasia Balcerzak and Bart Szulc, about 1 month ago.

Nowadays following clean code principles is simple not enough. We leave and develop in world where systems are distributed across multiple nodes and regions. Where monoliths are of the past, and we have products built on top of distributed micro services. While it's fun to develop single purpose service, it might be hell to maintain in on production. Failure is not a fiction, it's reality. You must prepare for it, as a human, and as a software system. 

In this workshop I will discuss why networks aren't reliable and what kind of problems you can run into while depending on another services. I'm going to present several techniques to mitigate problems, such as circuit breaking, rate limiting, and retries. which we will try to implement with help of resilience4j and test with wiremock. You will also learn some practices me and my team developed in building resilient http clients.

This workshop will require knowledge of Java and is full of exercises.

Read more...

Testdriving dapr.io

Workshop - Suggested by Olve Hansen and unnamed, about 1 month ago.

Distributed Application Portable Runtime  - Any language, any framework, anywhere

Dapr: An open source, event-driven and portable runtime for building resilient microservices

Confused about service meshes yet? Dapr from Microsoft aims to solve the challenges of migrating existing code to microservices and  scaling and simplifying event-driven architectures.

Dapr tries to be simpler to understand and easier to use than the competition. In this workshop you will build some experience on the technology and get to know how it stacks up against alternatives.

Sounds complicated? It is not!  

Notable features of Dapr are:

  • virtual actors (single active thread, simple concurrency, portable) 
  • event-driven model (register DBs, webhooks or queues as sources for your events)
  • distributed-tracing out of the box (OpenTelemetry compatible)
  • sidecar-pattern (can be deployed as independent services or as containers to encapsulate and isolate the functionality from the application code)
  • SDKs in many languages, including Go, JavaScript, Java, Python and .NET
  • A lot less yaml-shuffling than other solutions like Istio

Read more...

Making games in Unreal Engine

Workshop - Suggested by Jens Magnus, about 1 month ago.

In this workshop we learn how to make simple games by introducing new gameplay elements to the template games provided by the engine. To do this we will look into:

The Unreal Engine Editor

Programming in Blueprint (Unreal's visual programming language)

Important gameplay classes

The primary focus will, however, be on programming actor behaviours in Blueprint. I hope that after the workshop, you have the tools you need to get creative and make your own small or big games, or maybe even a 3D visualization app.

Unreal Engine 4 is a powerful tool. The engine can be modified, extended and scripted with C++; something we might touch upon if there is time. It supports VR / AR with all mainstream hardware.

Read more...

Bootstrap Your APIs with OpenAPI

Workshop - Suggested by Kent Inge Fagerland Simonsen and Alexander Castillo, about 1 month ago.

Traditional web APIs build bottom-up often deliver too little too late to consuming applications. This, in turn, may result in accidental design and poor communication with API consumers.

By generating APIs based on an OpenAPI specification, the APIs can be well designed and delivered early to consumers, even before each piece of functionalty is ready. This allows discussions about the API with consumers earlier. Furthermore, changes to the API are simplified at all phases of development by separating the API from business logic. In sum, this allows for truely agile API development.

In this workshop you will learn how you can use OpenAPI and Swagger Codegen to define web APIs and generate code implementing them. This will be done in such a way that the resulting code can be used as a starting point for implementing the buisness logic of the application without sacrefizing the felxibilty to easliy change the API as needed.

Read more...

Product Organization and Autonomous Teams - Handling the Complexity at the Heart of Digital Business

Workshop - Suggested by Ellen Daleng, about 1 month ago.

Organizations developing software are increasingly leaving projects behind and opting for product organization and autonomous teams.  This workshop will explore what it takes for this way of organizing work to succeed: how do you slice and dice your business into suitable "products" that can be handled by autonomous teams, what do you do with dependencies between teams, how do you secure alignment across teams and what about management? What kind of environment is necessary to effectively support the work of autonomous teams?  What challenges will you encounter?  We will facilitate activities and discussions that enable insight into important questions and possible ways of solving them, you will get our hands dirty trying to solve a case and we will provide you with exercises that can be brought home and tried in your own organization. 

Read more...

Get Hands On Microservices on Kubernetes and Autonomous Database

Workshop - Suggested by Bjarte Brandt, about 1 month ago.

The topic of containers and microservices is a subject on its own but suffice to say that breaking up large, complex software into more manageable pieces that run isolated from each other has many advantages. Its easier to deploy, diagnose and provides better availability since failure of any microservice limits downtime to a portion of the application.

Its important to have a similar strategy in the backend for the database tier. But the issue is if you run multiple databases for each application then you end up having to maintain a large fleet of databases and the maintenance costs can go through the roof. Add to that having to manage security and availability for all of them.

This lab will walk you through the steps to set up a CI/CD environment for developing Microservices, based on the automation possible in Developer Cloud and deploying all components on Oracle's Managed Container platform and the ATP database.


What else do you need to know?

There is a Pre-Requisite for Attendance: In order to participate in this Lab you must register for the new Oracle Free Tier or already have an active Oracle Cloud account.

Sign up for a cloud account today to receive always-free access to compute virtual machines, object storage, data egress, and other essential building blocks developers need to create applications on top of Oracle Autonomous Database.

Plus get US$300 of free credits for 30 days to use even more services to prototype your own applications, run machine learning models in notebooks, or try software from Oracle Cloud Marketplace.

Read more...

Lean Startup Toolkit for developers

Workshop - Suggested by Øyvind Lillerødvann and Jørund Leknes, about 1 month ago.

When developing IT solutions, what's most complicated is often to understand the users. Humans are complicated organisms, and it is difficult to predict how they will react to software, or if they will adopt or pay for a solution. Therefore, it is important to have mechanisms for testing concepts, ideas and solutions with real users as early as possible. Lean startup is a method for product- and business development that adds value by separating good ideas from the bad ones.

A key element in Lean startup is the build-measure-learn feedback cycle. In order to track results, without spending too much resources on development, we build what is referred to as the Minimum Viable Product (MVP). The MVP is then used as a basis for testing on real users and the feedback is used to learn whether we should pivot, perservere or even kill the project.

Lean Startup could be useful not only for startups, but also for well established corporations. But how can we actually make Lean Startup work, as a team? In this workshop we will take a case based dive into some practicals tools that could be helpful for answering a few of the important questions we have to ask ourselves: How do we define what problems to solve? How do we define meaningful goals? How do we develop our hypothesises and experiments (MVPs) in a way that we can learn and then act on the results?

You will be able to try out a few of these tools, working in groups with other participants.

This workshop is intended for developers with limited knowledge of the Lean Startup principles.

Read more...

Gamifying the diagnosis of your agilie team

Workshop - Suggested by Torstein Skarra, about 1 month ago.

Thew workshop is about learning to play a simple custom made game designed for diagnosing your team state. Also, the playing generates a concensus on the symptoms, which is a good start for mitigating and improving on problems. Participants will be able to facilitate playing the game in their own teams, and use this as a tool for achieving high performing teams.

Team dynamics evolve from one state to another, and perhaps back again. The team dynamic is relevant for efficiency, motivation, quality, learning and so forth. There are many theories on this, like the theory on "formingstormingnormingperforming" etc suitable for describing, understanding and solving issues. Based on various theories, a pinch of personal experience and some workshops at NAV IT, we have developed a simple game suited for quickly establishing the state your team is in, and in the process also identifying the symptoms and even som underlying problems. 

This game uses a set of cards with symptom descriptions to chose from, and based on the cards one ends up with at the end, you can calculate witch of the states your team has a the strongest bias towards one of the following: "Start-up, Learning, High Perforning, Chaos, Lost"

Read more...

Building stable microservices using Consumer Driven Contracts

Workshop - Suggested by Henrik Stene, about 1 month ago.

Consumer Driven Contracts is a testing paradigm that let API-consumers communicate to the API-providers how they are using their services. This workshop discusses software testing, how and when to use Consumer Driven Contract, and how Consumer Driven Contracts can make developers more confident. We will work hands on with coding examples that show how to implement Consumer Driven Contracts using the Pact framework.

To increase the velocity and reduce the cost of microservices development, it is key to be able to build and deploy new versions with confidence that you don't break any dependencies. Microservices are easy to build and run, but they quickly become a tangled web of dependencies that slow down development and result in broken dependencies. Organizations that transition from a traditional monolithic design to a microservice architecture, will soon realize that it is hard to keep track of all dependencies. Consumer Driven Contracts is a testing paradigm that helps developers keep control on all dependencies in a distributed system and in this workshop we will get hands on with the technology and together discover how we can utilize this technology to gain confidence in our code.

We will spend approximately 80 % of the workshop working directly with code examples. 

Read more...

Reinforcement Learning: Pac-Man

Workshop - Suggested by Manu Gopinathan and Malte Loller-Andersen, about 1 month ago.

Over the past few years, reinforcement learning (RL) has achieved promising results and it is currently being explored in a wide range of fields. In areas such as self driving cars, gaming and medicine, RL is the frontier of state-of-the-art results. In this workshop we will explore what the fuss is all about!

This workshop serves as an introduction to reinforcement learning where the participants will implement a Pac-Man agent. The Pac-Man agent will learn how to solve different maps using Q-learning and Deep Q-learning. We start out by exploring Q-learning, a cornerstone in RL. Expanding further, we continue on to deep Q-learning, which utilizes neural networks. The code is executed in the cloud on Jupyter notebooks, and for training the neural networks we use GPUs in the cloud. Everything is written in python.

If reinforcement learning has been a mysterious domain to you, this session will most likely leave you with a greater understanding of the process and aid you in how to set up projects of your own.

Read more...

Drawing for IT Architects

Workshop - Suggested by Filip Van Laenen, about 1 month ago.

Ever seen a drawing trying to explain the architecture or the functionality of an IT system, and you couldn't make any sense of it because it was drawn so badly? Do you feel that your drawings are OK, but could probably be improved substantially with a few tricks, but you don't really know what they would be?

I've made a lot of drawings over the years. I'm pretty sure not all of them were a success in terms of understandability. But at some point in time, I started reflecting on how my drawings look, and since then, I'm getting comments that apparently, my drawings look good.

In this session, I would like to share some of the reflections I make when I see somebody else's drawing, show you some obviously bad drawings and discuss what's wrong with them, and some of the tricks I use to create better drawings. The goal should be that when you leave this session, you've practiced a bit on how you can make your drawing look better, such that the reader or the viewer will understand it better.

Read more...

Poker Hands - Refactoring into Chain of Responsibility

Workshop - Suggested by Wlodek Krakowski, about 1 month ago.

Poker Hands are are put into sequential order and the player who holds the highest one wins. Let’s make fun of it then and perform some refactorings of code that identifies what poker figure given player holds. 

We will transform a set of nested if-else statements into a nice chain of responsibility classes (Straight Flush, Four of a Kind, Full House, ...) . This way the chain of classes put into sequential order will figure out the score given player holds.

All I can promise during this refactoring workshop is definitely no bluffing - just pure focus on code transformations. BTW : Did you know that real poker players are bluffing very rarely…? 

Prerequisite : become acquainted with poker rules if you haven’t played it so far, as business perspective and understanding existing code is the initial step for any refactoring. 

Don’t forget to install IntelliJ IDE - our master refactoring tool! (Community Edition is enough) and install the sources for the workshop before attending it. https://github.com/wlodekkr/chain-of-responsibility

Read more...

Window functions - do more with your SQL

Workshop - Suggested by Frode Borlaug and Bjørn Hamre, about 1 month ago.

Description

SQL is a highly expressive and rich language offering incredible features at a declarative level. One of the coolest features are window functions, whose coolness is in no proportion to their incredibly low popularity. The low popularity can only be due to developers being oblivious of this cool stuff. SQL has changed a lot since SQL-92, which is what we learn in school and tend to use. Window functions was part of the SQL-2003 standard but have seen a slow adoption rate - we want to change this. As big (and small) data become more and more important to all businesses, we believe that window functions and Common Table Expressions (CTEs) are very useful tools for (almost) every developer, not only data scientists and analytics.

Window functions define a frame or window of rows with a given length around the current row, and performs a calculation across the set of data in the window. This makes comparing values or ranking them across rows extremely efficient and easy with no need for post-processing in a reporting tool.

The whole idea behind window functions is to allow you to process several values of the result set at a time: you see through the window some peer rows and are able to compute a single output value from them, much like when using an aggregate function. 

This workshop will have three parts:

Part 1:
Introduction to Common Table Expression (CTE).

WITH … AS … SQL

CTE is useful on its own, but window function queries tend to be easier to write and understand if they are expressed with a CTE.

Introduction to basic Window Functions Syntax.

SELECT … OVER ( [PARTITION BY] ) WHERE

Offset functions

Many reports need to compare some value (revenue, stock price) with an earlier time period, e.g. revenue same month last year. Show how this can be expressed with offset functions like lead and lag. 

Exercises

Walk-through of solution proposals

 

Part 2:
Aggregate functions with order by, partitioning and framing

SELECT … OVER ( … [PARTITION BY] [ORDER BY] [FRAME_CLAUSE] ) WHERE

Aggregate used in window functions will be calculated over the defined window/partition and returned as a column in each row, not reduced to a single row as in “ordinary” SQL.

Use partition by to define the window over which the calculation is done (per customer, per month and so on).

Use order by and framing to create reports with moving or running aggregates.

Exercises

Walk-through of solution proposals

 

Part 3:
Introduction to ranking functions and top-n problems.

Find top n values per partition (top 3 customers by sales, top 3 departments by revenue, and so on). 

Show different ways of ranking the data

Unique rank: 1, 2, 3, 4

Rank with ties and no gaps: 1, 2, 2, 3

Rank with ties and gaps: 1, 2, 2, 4

 

Exercises

Walk-through of solution proposals and wrap-up

 

Part “Bonus”:

Island Problems

Identifying ranges ranges of existing values in a sequence.

Gap Problems

Identifying ranges of missing values in a sequence.

 

Intended audience and requirements

Participants must have a basic knowledge of SQL (SELECT, FROM, WHERE, GROUP BY, ORDER BY, aggregate functions like sum, avg, count, and joins.

Read more...

Test Reporting in an Agile Context

Workshop - Suggested by Elizabeth Zagroba and unnamed, about 1 month ago.

It feels like test reporting is no longer a thing in Agile. As long as your team is delivering quality software at a steady pace, who cares about a big test report document? You’re working closely with your stakeholders as a team. It may seem like people don’t care about testing or quality, but the thing is, they trust you! 

But it doesn’t mean people don’t want to hear about the testing. In fact, you have a lot more opportunities to report about it. You’re telling people about what you did during stand-up. You reject a commit when you find a serious bug. Maybe you mention that the pipeline is red. And hopefully you talk as you’re pairing. With test reporting becoming more diffuse in this way, it may seem less valuable. But it doesn’t have to be. 

In this hands-on workshop, we’ll uncover some of the ways you are delivering information about the quality of your software and about how testing is going. We’ll outline who your stakeholders are, what information they care about, and what’s the best way to deliver this information. In short, we’ll explore the many different forms a test report can take, and how you can make them more effective.

Read more...

DIY - Build your own React

Workshop - Suggested by Svein Petter Gjøby and Eirik Vigeland, about 1 month ago.

Are you using React, but don’t really know how it works? The framework is quite simple and do not require understanding the underlying mechanisms for most day to day tasks. This workshop will take your skills up a level, giving you a thorough understanding of React.

You will create a working version of React. It won’t be as efficient as React is. Nonetheless, you will gain valuable insight into how React work under the hood. We will demystify a lot of the concepts that are taken for granted when using React: representing the DOM-tree, rendering components, setting state and props, and re-rendering. You might even implement hooks yourself.

Read more...

Firestore Hands-on Workshop

Workshop - Suggested by Jan Greger Hemb and Erik Kringstad Olsen, about 1 month ago.

Do you want to create a real-time app that can be updated for all users in a few hundred milliseconds? A website that can simultaneously scale to millions of users without slowing down, while allowing you to upload as much data as you want without compromising performance?

Join this workshop and get the chance to learn how to use the latest Firebase component – Cloud Firestore!

The target audience is developers new to, or completely unfamiliar with Cloud Firestore.

Read more...

Unbreakable test automation without assertions

Workshop - Suggested by Jeremias Rößler, about 1 month ago.

Golden Master based testing enables fast creation of tests, simple update of
the standardized format using tool support, more complete checking
(including detection of unexpected changes) and tests are much less
brittle—because in case of breaking changes, the Golden Master can server
as a reference for comparison.
recheck-web brings that power to Selenium. In this hands-on workshop you
will install all necessary tools, create your first test and run it both locally and
on a CI server (Travis), ignore volatile differences, introduce real-life changes
(including otherwise breaking changes) and maintain the tests using recheck
cli.

Read more...

Effective Serverless and Pipelines - Introduction to Knative and Tekton

Workshop - Suggested by Kamesh Sampath and unnamed, about 1 month ago.

The use of Serverless Architectures has become one of the common approach in organizations that wishes to be more effective in DevOps and optimise their IT resources. This adds further flexibility to the next generation of microservices to be more agile i.e. serve on-demand.  https://cloud.google.com/knative helps in running your microservices serverless workloads on Kubernetes and also makes your IT more agile and effective. https://tekton.dev allows you to pipeline your build and deploy of Cloud Native Applications in Kubernetes native way.  Knative and Tekton forms powerful combination of tools that can make an organizations DevOps journey much effective and organized.

Read more...

Lindenmayer systems; modeling the natural world

Workshop - Suggested by Daan van Berkel, about 1 month ago.

Nature has beautiful forms: from the crescent waves on the ocean to the beautiful wings of certain butterflies; from the stripes and spots of animals to the branching and weaving of plants and trees.

All these patterns seem intricate and complex. Often they can be modeled in a simple and effective way. Sometimes this model lets you learn something about nature.

In this workshop, we will explore Lindenmayer systems, or L-systems. These systems allow you to model various natural forms such as plants, trees and certain algae. Furthermore, it offers a playground for certain type of fractals. You will learn how to model different shapes in an elegant and simple system.

So come and learn how to model your favourite forms of nature.

Read more...

Conducting Humane Code Reviews

Workshop - Suggested by Adrienne Tacke, about 2 months ago.

Code reviews are a must in a proper development workflow, but what happens when performing or receiving one becomes as fun as getting a root canal? Instead of contributing meaningful suggestions, developers often use these reviews as an opportunity to rehash old arguments or show their "superiority".

From personal experience as a software engineer over the past 8 years to the stories my professional network shares, I know that code reviews can be a major pain point for many development teams.

In this workshop, I'll describe the common mistakes we make while performing a code review and how those mistakes can cause unwanted side effects among a team and their codebase. We'll then learn worthwhile solutions to these issues so that they are less likely to occur.

Specifically, we will learn:

- What a Team Working Agreement is and why your team will benefit from one
- How to create your own Team Working Agreement and what belongs in it
- Pragmatic code review goals to strive for
- What to automate in code reviews and what tools to use
- How to distinguish objective vs subjective code review comments
- What to avoid during code reviews
- How to write fair code review comments
 

By the end of this workshop, developers and their colleagues should be able to conduct code reviews fairly, catch substantiated mistakes, make productive suggestions, and still like each other afterward!

Read more...

Up and Running With Azure DevOps

Workshop - Suggested by Adrienne Tacke, about 2 months ago.

Continuous integration, continuous deployment, automated pipelines, oh my! There are so many crucial parts to a solid and scalable software development workflow that it can get overwhelming!

In this talk, I'll work side-by-side with you to create a development workflow that meets modern standards, complete with automated CI/CD pipelines, using Azure DevOps. 

Specifically, we'll learn how to:

- Set up proper source control using Azure repos
- Configure branch policies and explore some best practices for different workflows
- Configure pull request policies and explain how they benefit teams
- Set up a build pipeline using Azure Pipelines
- Set up a release pipeline using Azure Pipelines
- Automate builds and releases based on custom policies
- Add pre- and post-deployment conditions
- Explore multi-stage, blue-green, and canary deployments

Whether you are starting from scratch or want to migrate existing projects to an automated workflow, this talk will leave you and your team equipped with the best practices to create, build, and deploy apps in a reliable, fast, and automated way!

Read more...

3 hours of modern React

Workshop - Suggested by Kristofer Giltedt Selbekk and Bendik Bjørndal Iversen, about 2 months ago.

Have you heard about React, but haven't had the chance to try it yet? Have you done a tutorial or two, but still feel like you want to up your game? Then this workshop is for you!

In this workshop, you'll get an introduction to the basic principles of React and how you can use modern techniques to create very cool web apps. We'll teach you the best ways to solve common challenges, good patterns to follow and how to make your very own Instagram-clone.

Read more...

Agile Games in Action

Workshop - Suggested by Julian Holmes and Andrew Harmel-Law, about 2 months ago.

In our work with clients we facilitate a lot of workshops, seminars and training. We try to make all of these events as interactive as possible to reinforce learning through doing. Our favourite approach is to use Agile games.   

In this workshop we will introduce and play 3 different games that demonstrate a number of Agile principles and practices in action, and that any participant could choose to reuse for themselves. 

Alternatively, just come along, learn, and have some fun! 

Read more...

Rethinking API’s with GraphQL

Workshop - Suggested by Thorstein Thorrud and Simen Støa and Sigurd Falk and Emil Staurset, about 2 months ago.

GraphQL is an open-source data query language for APIs, and a runtime for fulfilling those queries with existing data. It represent a new way to think about APIs compared to traditional methods like REST. This workshop will give you hands-on experience using GraphQL to master common API operations. We will cover basic topics like fetching data from a GraphQL server using queries and mutations, writing schemas to describe what data can be queried and getting to know the schema type system. The exercises will be implemented using NodeJS, with additional bonus tasks in React - for those who also want to make a frontend. At the end of the workshop you will be well equipped to start implement a new, or query an existing GraphQL API

Read more...

AI Assisted Test Generation for DevOps Teams

Workshop - Suggested by Asaf Saar, about 2 months ago.

DevOps teams have been burdened with Test Automation design, implementation, maintained and execution for decades, this in addition to the tedious effort involved in the boring task of Manual Testing.
With recent advances in AI and Deep Learning, we can use techniques pioneered by AI researchers to generate automated test cases intelligently and also use AI surrogate, a TestBot, to address the Continuous Testing pipeline from a new perspective… just like the chatbot is innovating the call center communications.

Use Cases for AI Assisted Test Authoring
- Assist customers in facilitating the creation of test suites
- Executes functional and visual test with high coverage
- Explore the common usage-patterns of the application
- Executes sanity exploratory test on every pull request
- Crawl the application and provide an overview and insights of errors and crashes found

In this workshop we will discuss the challenges of Test Automation and practice, hands-on!, how AI Assisted Test Authoring solutions dramtically assit DevOps team towards success.

Read more...

User story mapping for domain discovery

Workshop - Suggested by Trond Hjorteland , about 2 months ago.

Are you in a company that is customer obsessed, striving to create solutions that focus on the user needs and desires? Maybe you even try to build those solutions together with the customer, involving them in the actual design by building incrementally using mock-ups, pilots, and MVPs? How we build stable and sustainable IT solutions in such an highly agile environment?
 
In this workshop, we will take a close look at a technique that came out of the agile community; user story mapping. The original application was to get control of the product backlog, making it explicitly connected with the user interaction and help discovering delivery slices that are viable for the user. Its applicability can also be extended to include other phases of the product delivery, all the way from the initial ideas and inception, creating coherent customer journeys, to the continuous enrichment and maintenance of the product after the initial deliveries. Story mapping is not only a tool for product discovery, but also domain modelling and product delivery, being a tool to cross the chasm between business and IT, i.e. the problem and solution domain.
 
We will create a map for a concrete product taken from the pay TV domain, trying to follow all the phases of the product discovery and learn the intricacies of the domain along the way. The user need is the main driver here, but will also be constrained by company strategies, IT legacy, organisational structure, and many other factors. We will also see how the map can be used to handle changes in requirements as well as explore how one can incrementally construct the product to shorten the essential feedback-loop.

Read more...

Microsoft Azure API Management 101.

Workshop - Suggested by Sven Malvik, about 2 months ago.

Microsoft Azure API Management (APIM) is used as the front door towards services that can run on Azure Kubernetes Service, Azure Web Services and other places. In this workshop you will get hand-on experience with APIM, and learn how to effectively make changes.

Read more...

Put user journeys to work: build team alignment with Service Blueprints

Workshop - Suggested by Esteban Pérez-Hemminger, about 2 months ago.

User flows or journeys are great tool to visualize the actions of a user as they interact with the products and experiences we build. But often, they leave engineers and product managers wanting more. Where are the technical requirements? How do we identify our back-end dependencies? How does this relate to non-design work? Why should we care? Enter Service Blueprints. This lesser-known artifact in UX—but popular in service design—is a powerful way to bridge user needs, UI interactions and engineering requirements within a single end-to-end flow. It shows how implementation details relate to the user’s need and the improved experience the team intends to deliver. In this hands-on workshop, teams will work together to define Service Blueprint in response to a given problem, and show their artifacts to the rest of the room. Then each team will vote on their favorite. We’re looking at how collaboration manifests on each team and how they can learn to compromise for the benefit of their user.

Read more...

Turn your useless users to enthusiastic evangelists

Workshop - Suggested by Atle Prange, about 2 months ago.

Get popular!

In this workshop we learn to see our work from the user's perspective. We will be better at identifying the different types of consumers who depend on us, and how we can turn them from "useless users" to evangelists for our technical masterpiece. (Hint: we have to turn around;))

We first go through a small intro about what "design" is and uncover the various design disciplines and how they meet us in our work as developers.

Then we will collectively take on a project - preferably one that you are working on - and then with different tools create the best backlog you have ever seen.

This becomes a post-it bonanza completely without a keyboard and screen, and can lead to braincramps.

Read more...

I can kill your browser with a simple regexp

Workshop - Suggested by Maciej Rząsa, about 2 months ago.

Regexps are useful, neat and dangerous (as may have learned by Cloudflare accident). We write them, test if they match and push them to production happy that they solved our problems. And that's where the trouble begins. Uncarefully written regular expression may hang both frontend and backend apps severely harming user experience and causing headaches at debugging stage.

In my talk I'll scare you showing how easy it is to write a dangerous regexp. We'll see why a simple change in a regexp can lead to exponential performance degradation. To do that, I'll describe regexp engines' internals to show how regular expressions are interpreted. Participants will be learning regexp engines performance characteristics by preparing and optimizing patterns that commonly cause performance issues.

After this talk you will know what took down traps to avoid when using regexps in searching and validations. You will also understand how to optimise a regexp. Finally, you will be aware of the limitations of this tool that almost everybody uses.

Read more...

How to achieve business agility with technology?

Workshop - Suggested by Hari Baran, 2 months ago.

Business Agility is the ability to respond to changes in the market or customer behaviour with minimum cost and lead time. The fundamental reason to adopt Agile ways of working is to achieve business agility and creating different for the customers.  Since the early 2010s, Agile methodologies are being adopted more and more by the organisations and working in an Agile fashion is becoming the new norm. Unfortunately, thinking of Agile as a sum of rituals which one can import as a "cargo-cult" is still a widespread misconception.

In this workshop, we will deep dive into how technology can help organisations to achieve business agility by improving the aspects below:

Adaptive Planning
Rapid Adaptation
Economic Efficiency
Time to Value
Decoupling of Processes
Low Latency for Information Flow


During the workshop, there will be hands-on exercises to simulate real-life agility problems and solutions. At the end of the workshop, the participants will have a better understanding of how to apply technology to achieve business agility in their organisation.

Read more...

User story mapping for domain modelling

Workshop - Suggested by Trond Hjorteland , 2 months ago.

Are you in a company that is customer obsessed, striving to create solutions that focus on the user needs and desires? Maybe you even try to build those solutions together with the customer, involving them in the actual design by building incrementally using mock-ups, pilots, and MVPs? Or, maybe you are not there yet, but want to be? Anyhow, you have probably then wondered how on earth you can design and build a viable systems portfolio in such a setting, avoiding the risk of stringing together unfinished components with duct tape, strings and paper clips, or creating overly complex solutions to cater for any future need. There is a lot of talk about evolutionary architecture, but how can we tie that in with the customer needs? In order to build sustainable systems we need to know where the early prototypes are taking us; we need to be able to see further ahead. In short, what can help us do domain modelling in this highly agile world?
 
In this workshop, we will take a close look at a technique that came out of the agile community; user story mapping. The original application was to get control of the product backlog, making it explicitly connected with the user interaction and help discovering delivery slices that are viable for the user. Its applicability can also be extended to include other phases of the product delivery, all the way from the initial ideas and inception, creating coherent customer journeys, to the continuous enrichment and maintenance of the product after the initial deliveries. Story mapping is not only a tool for product discovery, but also domain modelling and product delivery, being a tool to cross the chasm between business and IT, i.e. the problem and solution domain.
 
We will create a map for a concrete product taken from the pay TV domain, trying to follow all the phases of the product discovery and learn the intricacies of the domain along the way. The user need is the main driver here, but will also be constrained by company strategies, IT legacy, organisational structure, and many other factors. We will then try to create a domain model that not only cater for the initial needs, but also what the map is telling us about the future. The goal is the balancing act of supporting the initial version well, not creating an overly-complex model that caters too much for possible future need, but still being adaptive enough to absorb changes that we see coming.

Read more...

Return of Investment (ROI) of design

Workshop - Suggested by Tonje Evanger and Marthe Næss, 2 months ago.

If you are curious or have reflections you would like to share about when to invest in design for your project, what this means and when you will get a return on your investment, you should join our workshop!

This workshop is for all kinds of roles.

Read more...

Clojure, getting your feet wet

Workshop - Suggested by Nicolas Fränkel, 2 months ago.

Coming from a mainstream language programming background (Java), learning a language like Clojure is like hitting your head on the wall... repeatedly. After a time, however, pieces seem to fall into place, and the magic happens: I started to reason in terms of data processing, and not in terms of objects anymore.

If you want to come with me on my journey of learning Clojure as an OOP guy, I'll be happy to show you strange beasts such as Dynamic Dispatch, Threading, Contract-Based Programming, and much much more.

Read more...

Stream Processing Essentials

Workshop - Suggested by Vladimir Schreiner, 2 months ago.

This in person, instructor-led training course is a interactive discussion and hands-on workshop of the fundamentals of Stream Processing.

This workshop is designed for Java Developers who want to take their first steps to understanding and start working with stream processing as well as for those who are already experienced in building the data processing applications and want to learn more about this new streaming technology.

By the end of the course, the attendees will be able to build and run distributed streaming pipelines to process data in near-real time. We will also cover the advantages and disadvantages of the stream processing technologies available when approaching real-world, business-related problems.

Read more...

Program your Mind (to Greatness)

Workshop - Suggested by Joao Ribeiro and Federico Lozano, 2 months ago.

Learn more about the science and practice of mindfulness and how it can help you focus, direct your attention to what really matters, and live a happier life.

During this three-hour, hands-on, and highly experiential workshop, we will practice several different approaches to mindfulness.  More specifically, we will be exposing ourselves to the practice of contemplation during short periods of time, and then discussing the experience interactively in teams.  We will also spend time reflecting on the most recent neuroscience behind meditation, and especially how programmers and other IT professionals can benefit from a short dose of daily meditation.

Fun Facts

  • 22 percent of USA companies including Google, Intel, Cisco, and McKinsey have mindfulness programs
  • Mindfulness increases productivity – get more done and have more wellbeing while doing it
  • Mindfulness is similar to exercising your muscles, but you’re training your brain
  • Mindfulness helps grow self-awareness and compassion. What’s wrong with becoming an improved version of yourself?
  • The facilitators of this workshop have helped several Norwegian companies – Wilhelmsen, BKK, Innovation Norway, Miles – get started with mindfulness

Useful Links

Why mindfulness is a super power:  https://www.youtube.com/watch?v=w6T02g5hnT4

EY article on mindful corporate cultures:  https://asia-pac.ey-vx.com/315/8666/landing-pages/building-a-high-performing-inclusive-culture-through-mindfulness.PDF

 

Read more...

Building applications using Serverless Framework and AWS Lambda

Workshop - Suggested by Fredrik Vraalsen, 2 months ago.

In this workshop, you will become familiar with how to build serverless applications using Serverless Framework (serverless.com). Serverless Framework enables you to quickly define and configure your application as well as the resources it needs, and then deploy it to your cloud platform of choice. In this workshop we will be using AWS Lambda. The application itself can be written using a variety of programming languages, such as JavaScript, Python or Java. We will cover how to create a REST API to call your functions, as well as how to use other triggers such as file uploads to S3, modifications in DynamoDB tables, message queues or Kinesis event streams.

Read more...

React Hooks + Mobx React Lite

Workshop - Suggested by Devlin Duldulao, 2 months ago.

Learn the latest iteration of Mobx while using the newest way of building React components, React Hooks! This course demonstrates Mobx React Lite and React Hooks integration on Reactjs and React Native app.

Read more...

Svelte, cybernetically enhanced web apps

Workshop - Suggested by Devlin Duldulao, 2 months ago.

Learn this new JavaScript "compiler" that has the goodness of both React and Vue.
Svelte is a radical new approach to building user interfaces. Whereas frameworks like React & Vue do the bulk of their work in the browser, Svelte shifts that work into a compile step that happens when you build your app. And rather than applying techniques like virtual DOM diffing, Svelte writes code that surgically updates the DOM when the state of your app changes.

Read more...

Practical Domain Driven Design using Java Frameworks

Workshop - Suggested by Vijay Nair, 2 months ago.

DDD is quickly becoming the defacto approach for building business applications be it Monoliths / Moduliths or Microservices as it offers a solid, systematic and comprehensive approach to  software design and development. However, for folks stepping into the new paradigm the concepts/patterns and principles of DDD seem daunting.

The Practical DDD workshop aims to simplify the various concepts/principles and patterns of DDD in a manner which is easily consumable, relateable and practical within the context of an execution platform like Jakarta EE / Spring Boot / MicroProfile and the Axon Framework.

As a developer/architect or technical leader, using the tools/frameworks that you currently use or are familiar with is the fastest way for adopting a new design paradigm.

This workshop aims to do exactly that by using a reference application (Cargo Tracker).

Part 1 - Domain Modeling

The first part of the workshop concentrates on the Domain Modelling aspect of DDD. The attendendees are taken through a quick introduction to the major DDD concepts such as Domain Models/Domain Rules/Domain Events and Domain Services.

Part 2 - Domain Implementation(s)

The next part of the session focuses on the Domain Implementation aspect of DDD. Attendees are given a walkthrough of 4 detailed DDD implementations of Cargo Trackler utilizng 4 leading Java Frameworks. Each of these implementations map concepts of DDD (e.g. Bounded Contexts/Aggregates) to the corresponding available tools within the specific platform.

- The first implementation will be based on a monolithic architecture using Jakarta EE
- The second implementation will be based on a microservices architecture using Eclipse MicroProfile (Project Helidon)
- The third implementation will be based on a microservices architecture using Spring Boot / Spring Cloud and Spring Cloud Streams
- The final implementation will be the most advanced implementation using a CQRS/ES architecture using the Axon framework

At the end of the session, attendees using any one of these platforms get a relatable pathway to the adoption of DDD for their enterprise applications. Attendees get complete working source code for the 4 implementations and can run it along with the entire workshop

Read more...

Introduction to Machine Learning

Workshop - Suggested by Oliver Zeigermann, 3 months ago.

In this workshop you will get an overview of the main three types of machine learning. Each of them is based on approachable examples and contain a large share of exercises on paper. No prior knowledge of machine learning or any programming skills are necessary.

Exercises will be on paper exclusively, so all you need to bring is an interest for machine learning and a pen.

Read more...

Exploring fishing sustainability with Java and Copernicus satellite data innovative applications

Workshop - Suggested by Isaac Durá, 3 months ago.

It was more than a decade ago that several space agencies like ESA or NASA were proposing the dissemination of satellite data for benefiting society, like for example marine data to help scientists to predicts future fish stocks behavior or generate new commercial solutions. In their mission to inspire, and facilitate the use of space technology, systems and know-how for non-space applications.

HeraSpace locates the most promising and sustainable fishing grounds, optimizing operative budgets while reducing environmental impacts. The system supports healthy food production, income, employment, and sustainable fishing.

 

The combination of Eclipse, Java, Swing, REST, and Python offers an excellent web-based environment to build interfaces and backend services integrating neural networks feeded by space and non-space data. Particularly Spring Boot with REST and Python allows an agile and fluent interaction with near-real time space data giving developers and CTOs a possibility of release solutions which were unbelievable just a few years ago.

Read more...

Neural Networks from Low to High with TensorFlow 2

Workshop - Suggested by Oliver Zeigermann, 3 months ago.

In this workshop you can learn how Neural Networks work from first principles, but still without most of the maths. We will implement linear regression from scratch using the TensorFlow  low level API and then work our way up to the high level Keras API.
 
By looking at regression and classification we will cover the two main types of supervised machine learning. There will be plenty of exercises running on Googles Colab service that only requires a modern browser (Chrome preferred) and a Google account to follow.
 
We will use Python as our programming language, but since this is closer to scripting than actual development you need no knowledge of Python as a prerequisite, but only basic knowledge of any object oriented programming language.

Read more...

Lightning talks

Teaching our colleagues what we actually do

Lightning talk (10 min) - Suggested by David Mellum, about 1 month ago.

Are you able to do your job well if you barely have any domain knowledge? No? Well now you know how my coworkers outside the IT department feel when working with the IT department. I've been teaching Frende's other departments what development is, what IT systems are and how development is done. I'm here to tell you why you need to get good at teaching others what you do in detail, and what gains you and your collegues will receive in return.

Read more...

How to disagree: Creating a safe space for creative tension

Lightning talk (10 min) - Suggested by Nils Norman Haukås, about 1 month ago.

We knowledge workers live by our smarts, which is both a blessing and a curse. If we're not careful we risk creating a workplace where people are too fearful to ask questions or suggest improvements. For each new hire we need to prove ourselves that the workplace is in fact a safe space to ask questions and be vulnerable.

In this talk I'll share some opinionated techniques on how to foster a workplace culture where people feel safe to disagree.

Key points include:

1. How we can use some meeting techniques to avoid group-think and spark productive disagreement.

2. How sharing imperfect and unfinished work is a strength. 

3. How senior colleagues can lead by example.

I'll argue that good creative tension make good ideas great, and makes the workplace a more fulfilling place to be.

Read more...

How can Darwin help?

Lightning talk (10 min) - Suggested by Siv Holen, about 1 month ago.

As a UX-expert with a master of biology a see many similarities between evolution and innovation. In this talk I will explain design thinking principles with examples from biology and evolution theory. Learn how Darwin can help us increase variation and select the right direction for our project.

Read more...

Weird things users do

Lightning talk (10 min) - Suggested by Livar Bergheim, about 1 month ago.

Users do really weird things. They use API features in ways never intended, they use APIs which aren't APIs and they manage to create enormous amounts of unnecessary traffic. We'll show some examples of what our users have done. What should the user have done differently? Or maybe it was us who should have done something different?

Read more...

The rise and fall of the task board

Lightning talk (10 min) - Suggested by Kristian Flikka, about 1 month ago.

I'll summarize the why I promoted the use of task boards some years ago, and how our team manage without one today.

Agile and Lean principles dominate the original why's - and Github dominate the ways we address these today.

Read more...

Edge Cases or Dead Angles?

Lightning talk (10 min) - Suggested by Jorunn Mjøs, about 1 month ago.

What are we basing our decisions on when declaring something an «edge case»?
And how does this fit with our understanding of risk and quality?

Whether we’re scoping an MVP or reimagining user journeys for a legacy system, our work of finding solutions may easily lead to a centering of the product in the stories we tell ourselves about our users. This narrowing of focus can implicitly idealize our view of people’s needs and circumstance, in ways that are not always helpful.

We take pride in relieving pain points - but don’t as easily envision the pain our products might introduce or amplify in people’s lives. There are some edge cases that cannot be ignored, because the consequences are too great. And there are some things that simply aren’t as far to the edge as we’d like to imagine.

We can roll back the code, or iterate the product – but we cannot roll back the consequences we cause in people’s lives along the way. By combining a risk based approach with compassion, we can learn how to make products and experiments that are safe to fail in the environment of real life.

Read more...

10 things I learned from a decade in the software industry.

Lightning talk (10 min) - Suggested by Lubaba Farin Tanisha, about 1 month ago.

Is there one secret key why some companies are expanded, and others aren’t? Could culture gap restrict achieving a goal? How likely is it that things will go wrong? Are you sure that you have already met the most difficult person? During the past 10 years, I worked for companies where things move fast, and where it’s impossible to avoid bureaucracy. I worked for fintech, aviation, robotics, graphics and broadcasting software companies. Dealt with people from east to west. Worked alone and worked with teams. Teams in the same and other geographical location. I saw companies getting sold and expanded. When the recession hit hard, I also saw companies shutting down and found myself fired the next week after my wedding. I recruited people and was sometimes happy and sometimes disappointed. With my positions, I wore multiple hats. Sometimes it was daunting, at times it was rewarding. In this lightning talk, I will dive through this journey and pick 10 things to share with you. Are you ready?

Read more...

Smått og godt

Lightning talk (10 min) - Suggested by Anne Landro, about 1 month ago.

Hva skiller en god løsningsbeskrivelse fra en som er dårlig? Kan måten du skriver dem påvirke hvor lett det er å utvikle de riktige løsningene? Hvordan kan du enklest mulig sikre kvaliteten på det teamet skal lage?

 

I denne lyntalen lærer du hvordan du med små grep kan heve nivået på løsningsbeskrivelsene dine og sikre at hele teamet raskt forstår essensen, og dermed utvikler og tester mer effektivt.

Read more...

Bee oh tee

Lightning talk (10 min) - Suggested by Håkon Nilsen, about 1 month ago.

Beekeeping is a popular hobby for many people, and even a living for some. It's a great way to interact with nature in your own back yard if you want, and an incredibly analogue and manual thing to do. We built a bee hive with all sorts of technology inside to help understand and monitor our bees. This is ten minutes where we will show you what we've made. We call it "bee oh tee". Presented by Håkon Nilsen and Fredrik Lindseth.

Read more...

Skriv bedre for en bedre brukeropplevelse

Lightning talk (10 min) - Suggested by Hans-Jørgen Løken, about 1 month ago.

Microcopy eller mikrotekster på norsk er ord og utrykk brukt i digitale produkter. Disse tekstene er ofte undervurdert og kan ha stor innvirkning på brukervennlighet og opplevelse. På 10 minutter vil jeg gi en rask innføring i mikrotekster samt noen praktiske tips. Målet med lyntalen er å inspirere folk til å lage bedre produkter ved å fokusere på små men betydningsfulle detaljer.

Read more...

Hvorfor vi aldri går tilbake og jobber slik som før

Lightning talk (10 min) - Suggested by Geir Hansen, about 1 month ago.

I ACOS gikk vi fra at sjefene tildelte en og en oppgave til utviklerne, til å bli et selvorganisert team som også brukertester sammen med våre kunder. Vi deler reisen vi er på og erfaringene våre i 10 minutter!

Read more...

Confessions of a reformed pentester

Lightning talk (10 min) - Suggested by Nick Murison, about 1 month ago.

Pwning and breaking systems (with permission) can be a creative thrill, and it feels like you're performing a valuable service to the community. That's how I felt 15 years ago when I started as a security consultant, but strangely many people I met at customers didn't agree. Developers, architects and product owners alike viewed my arrival with disdain. But why? 

In this lightning talk I will share my journey from ethical hacker to agile security fanatic, and why penetration testing should be nowhere near the top of the list of activities you do when building security in.

Read more...

Ikke nok et jævla statusmøte!

Lightning talk (10 min) - Suggested by Marthe Slaatsveen, about 1 month ago.

Vi ville for mye, og fant oss selv i det ene statusmøtet etter det andre. Backloggen økte for hver eneste dag, men målene var like langt unna. Vi måtte endre måten vi jobbet på — og det fort!

Hør om hvordan vi fant inspirasjon i boken "Radical Focus". Ved å innføre monday commitments og friday wins ble OKR'ene en del av hverdagen vår. Vi har nå fokus på de viktige kampene vi skal vinne, samtidig som vi tar vare på kvaliteten, teamet og kunden.

Og når vi lykkes, feirer vi alle seire sammen.

Les hele artikkelen på medium. 

 

 

Read more...

How to React to a good Vue

Lightning talk (10 min) - Suggested by Cecilie C. Grimelund Snyen, about 1 month ago.

You can create rich user interface on the web with Vue.js, but Vue is often overlooked by more well-known web frameworks like React and Angular. However, Vue.js has recently seen a large amount of growth and there are good reasons for that.

In this talk I will go through the main concepts of Vue, and compare how you would work with components in Vue vs. React. I will also tell you why you should choose Vue in your next project. 

Read more...

“Torsdag er den nye lørdagen!” - Hvorfor bruker vi en arbeidsdag i uka på fag?

Lightning talk (10 min) - Suggested by Stian Conradsen, about 1 month ago.

Hvordan sikrer vi kontinuerlig læring i en kunnskapsbedrift? SpareBank 1 har i snart ett år brukt en arbeidsdag i uken på fag. Denne dagen forlater vi det trygge teamet vårt, og samler oss i nye selvorganiserende grupperinger. Vi bruker dagene på kursing, vi koder nye løsninger, vi lager foredrag og vi gjør forbedringer på fellesløsninger.
Jeg vil fortelle om hvordan vi fikk ledelsen med på ideen om en fagdag pr. uke. Jeg vil også fortelle om hvordan vi gjennomfører denne dagen, samt hvilke resultater vi har oppnådd.

Read more...

Hvordan bytte motor i full fart med 3.3 millioner brukere

Lightning talk (10 min) - Suggested by Viggo Navarsete, about 1 month ago.

Få et innblikk i hvordan Vipps erstattet betalingsmotoren bit for bit i fart med 3.3 millioner brukere uten nedetid. Erre mulig spør du? Ja, åff kårse!

Read more...

Software is eating the world and housebuilding and real estate is the next dish on the menu

Lightning talk (10 min) - Suggested by Torbjørn (Toby) Larsen, about 1 month ago.

Real Estate is the worlds largest asset class and represents enormous value in any society around the world. But the way we imagine, develop, deliver and maintain our buildings has not changed much and productivity growth has been horrendous compared to other industries. Construction and operation of buildings is also accountable for approx 40% of worldwide GHG emissions, so a sense of responsibility to innovate and improve should be clear and present. 

In this talk I will give a quick introduction to how Mestergruppen, a leading residential house builder in Norway, believes industrial housebuilding will play out.  Digitalization is not only transforming the way we design, construct and deliver the buildings that we live and work in. It also redefines the very notion of what we consider to be a good «home» and an attractive «workplace».

The presentation will cover how concepts and technologies such as collaborative BIM, parametric design (AI), digital product configurators (AR/VR), modeldriven construction sites (AR/VR), sensor based data capture and monitoring (IOT) and a digital twin architecture will enable and drive transformation of the entire value chain of housebuilding and real estate management.

Read more...

Hvordan ikke slukke branner på små avlukker

Lightning talk (10 min) - Suggested by Geir Gåsodden, about 1 month ago.

Jeg elsker offentlig sektor og den norske velferdsmodellen. Jeg ønsker av hele mitt hjerte at midler fra fellesskapets pengebinge skal anvendes best mulig. Men, virkeligheten er ofte en helt annen. I løpet av denne forestillingen på knappe 10 minutter skal jeg fortelle en historie fra virkeligheten og forhåpentlig komme med noen av svarene vi trenger for å kommer tilbake på rett spor.

Historien egner seg for alle som utvikler, leverer og benytter seg av tjenester fra det offentlige. Det blir action, drama, sorg, fortvilelse og glede.

Read more...

Objects as a means of abstraction

Lightning talk (10 min) - Suggested by Einar Høst, about 2 months ago.

In this talk, scheduled directly before Erik's "Objects as a means of distraction", we'll look at the purpose and benefits of creating abstraction boundaries in software. Abstractions can be a wonderful tool to contain and control complexity. In object-oriented programming languages, objects are the primary means of creating abstractions. Some objects, unfortunately, fail to provide a proper abstraction boundary, acting instead as a rather arbitrary place to put some code and data. Such objects create and compound complexity instead. We'll see if and how we can turn such leaky abstractions into proper abstractions that live up to their promise.

Read more...

Objects as a means of distraction

Lightning talk (10 min) - Suggested by Erik Assum, about 2 months ago.

In this talk, scheduled directly after Einar's "Objects as a means of abstraction", we'll look at how one in functional languages make do without objects and how living without them makes your life simpler

Read more...

How we quality control Android applications at NRK TV

Lightning talk (10 min) - Suggested by Jelena Spocova, about 2 months ago.

Maintaining a high level of quality for an Android application can be quite a challenge given the large array of operating systems, device types and screen sizes available.This is compounded as the application grows in complexity. As with any system, it’s important to maintain good Unit & Integration test coverage - and this is usually not too difficult.

UI and System tests, however, can be non-trivial when taking into consideration the multitudes of available frameworks. In this situation, how much time do we spend evaluating each framework? How much time do we spend developing and integrating them into our CI flow, and how do we make sure we get value from doing so?

In this talk, I will be showing how we have gone through this process for both the Android, and AndroidTV applications for NRKTV. I will mention which frameworks we use and why, where and when we run these tests, and what value this has given us. Hopefully, this can inspire others to invest time and energy to try and achieve a similar level of quality control in their applications.

For a more detailed dive into the frameworks we use and how our tests are written, see my blog post on Instrumentation testing of Android apps.

Read more...

Using Deep Skills in a Small City

Lightning talk (10 min) - Suggested by Becca Kennedy, 2 months ago.

The increasing ease and acceptance of remote work makes it easier for those who work on software to live where we want, including places where we may not otherwise find job prospects for our deep skills. However, with remote work, the output of our skills and effort often still remains in big cities and hubs. What if you live in a small place and want to help those in your backyard? How do we find or create demand to use our skills to help initiatives, nonprofits, and companies outside of big cities? How do we continue to get paid big while living small?

Read more...

Data Exploration in Power BI

Lightning talk (10 min) - Suggested by Endre M. Lidal, about 1 month ago.

Microsoft Power BI has taken the Business Intelligence field by storm. The tool has simplified the process of building data models and present insight from data. The BI learning curve is reduced, and domain experts can work with BI with far less assistance from IT.

Some of the strong points of Power BI are data visualization and data storytelling. However, data exploration, the process of exploring an unknown dataset to search for hidden gems, have not yet been prioritized by Microsoft.  

I will in this lighting talk show how easy it is to extend Power BI with data exploration capabilities by including code from Python and R.

Read more...

Kan vi designe mer bærekraftig?

Lightning talk (10 min) - Suggested by Kaisa Kamilla Soleng, about 1 month ago.

Som designer jobber vi hele tiden med å holde oss oppdatert på trender. Det kan være lett å bli påvirket av flere av dem. Hvordan skal vi velge hvilke trender vi skal følge, for å skape et design som er moderne og skalerbart over tid? Og som samtidig styrker forretningsmålene til organisasjonen.

Read more...

Kan vi designe mer bærekraftig?

Lightning talk (10 min) - Suggested by Kaisa Kamilla Soleng, about 1 month ago.

Som designer jobber vi hele tiden med å holde oss oppdatert på trender. Det kan være lett å bli påvirket av flere av dem. Hvordan skal vi velge hvilke trender vi skal følge, for å skape et design som er moderne og skalerbart over tid? Og som samtidig styrker forretningsmålene til organisasjonen.

Read more...

Business Intelligence, also 4 coders

Lightning talk (10 min) - Suggested by Endre M. Lidal, about 1 month ago.

Business Intelligence (BI) is something that every company in our digital age must do, or so it seems according to all the experts and the commercials. But really, what is BI? Is it just a corporate game for management-wannabees?  Who are those BI-developers anyway, are they just developers that cannot code and loves SQL? And finally, why should I, as a coder, care?

In this lightning talk I will give a no-nonsense introduction to BI. What it is good for and why all should know a little about BI.

Read more...

A true love story

Lightning talk (10 min) - Suggested by Carina Takseth, about 1 month ago.

Service designer search for developers to share worlds. The hypothesis is: If we put our heads together, we will be twice as smart.  

The talk is for you, if you have heard the myths and prejudices between designers and developers, but still think it is possible to bridge the gap between the disciplines. Or you don't. Either way, you will get insights about how we can create the best possible value together. To get shit done.

Worst case: We can fake it until we make it!

Read more...

Passing the blame - error messages in a world of microservices.

Lightning talk (10 min) - Suggested by Øyvind Neuman, about 1 month ago.

We all want our error messages to be understandable, explicit, unambiguous and actionable. But these words mean different things for you, me, developers, ux designers, system administrators, super-users and users.

The job description for the developer is often: "use common sense."

Far too often this means trying to blame someone else. This can be done by just passing along the messages coming from microservices and adding the source. If this fails there is always the time tested "please, try again".

Focusing on actionable and understandable let us look at one approach of finding order in this chaos.

Read more...

Some pros and cons of inhouse development

Lightning talk (10 min) - Suggested by Pål Grønås Drange, about 1 month ago.

If you can afford the long term investment, nothing beats an inhouse development team, but it is of paramount importance to understand both why, and the dangers.

There are many reasons why inhouse development is superior to outsourced and we will look into a few of these.  But perhaps more importantly is the potential pitfalls, and how to deal with them.

We will see the two sides of adopting a foreign company culture, guidelines that weren't primarily made for software developers, and the problem of project leaders that can't.

Read more...

What is it like to be a frequent speaker? 🙃

Lightning talk (10 min) - Suggested by Rustam Mehmandarov, about 1 month ago.

So you think being a conference speaker is fun all the time? We’ve been doing quite some public speaking and discovered that there are some things you’ll need to handle.

These ten minutes will be all about the flip side of being a public speaker.

Read more...

High-quality software fast – it is all in the culture!

Lightning talk (10 min) - Suggested by Tannaz Roshandel, about 1 month ago.

In a rapidly changing society, nothing is going to stay the same. Constant evolution impacts technology significantly in many ways. It requires us to continuously improve and adjust our skills and give a rapid response to changes. It demands a process of continuous learning and experimentation. 

In this talk, I will share my personal experience and give a historical view on how we, as individuals, and as a whole in a tech organization, can go from traditional to more proactive models such as Agile and DevOps, and why this matters.

Read more...

Tests design in agile projects

Lightning talk (10 min) - Suggested by Andrea Brambilla, about 1 month ago.

Designing a test suite for a project carried out using agile methodologies is a challenging task. There is no exhaustive list of requirements, and both high-level features and technical implementations change often. As the codebase grows, the amount of test code grows as well, but the execution times should stay low in order to provide fast feedback.

We faced these challenges when developing a tool for well planning optimization, which relies on numerical libraries, reservoir simulators, databases and user interface. I will introduce the "test quadrants" concept and discuss the guidelines that we adopted in order to design our test suite.  

Read more...

Grasping the Craftmanship

Lightning talk (10 min) - Suggested by Lars Petter Hauge, about 1 month ago.

This talk is a subjective presentation of how it has been coming from a different educational background and now working in Software Innovation in Equinor.

I have a background in Petroleum Technology, and I spent a fair amount of hours writing small scripts in Python, Visual Basics and a range of minor IPL's. I really enjoyed the time working with that part of my project, so when there was an opening in Software Innovation in Equinor, I applied.

Software Craftmanship is highly valued within the Software Innovation department, demonstrated by how we work and how we deliver. Here I will take you through some of the experiences I've gained the last two years.

I also hope this talk will provide some understanding of how it is to change field of experience, and possibly give some suggestions for a smoother transition towards a developer profession.

Read more...

Building and deploying a machine learning model for a FinTech-product.

Lightning talk (10 min) - Suggested by Markus Mortensen, about 1 month ago.

Buffer is a FinTech-product that give companies loan in seconds. It connects to cloud-based accounting system,

analyzes invoices and give a suitable credit that changes with the activity of the company.

 

The decision engine has been developed in R, a language which historically was not suited for production, but the rise of container technology has changed this. We will also talk about how a close collaboration between e.g. developers, data scientists and UX-designers has made the development process lean. 

 

In this talk we will take a peek under the hood, and look at the models that is behind the product. We have developed

a state-of-the-art machine learning model that predicts the probability of an invoice being paid, using the popular XGBoost-algorithm. We will cover how it was developed, what challenges we met and what pitfalls that should be avoided during model development.

Read more...

Building and deploying a machine learning model for a FinTech-product.

Lightning talk (10 min) - Suggested by Markus Mortensen, about 1 month ago.

Buffer is a FinTech-product that give companies loan in seconds. It connects to cloud-based accounting system,

analyzes invoices and give a suitable credit that changes with the activity of the company.

 

The decision engine has been developed in R, a language which historically was not suited for production, but the rise of container technology has changed this. We will also talk about how a close collaboration between e.g. developers, data scientists and UX-designers has made the development process lean. 

 

In this talk we will take a peek under the hood, and look at the models that is behind the product. We have developed

a state-of-the-art machine learning model that predicts the probability of an invoice being paid, using the popular XGBoost-algorithm. We will cover how it was developed, what challenges we met and what pitfalls that should be avoided during model development.

Read more...

Hooked on hooks

Lightning talk (10 min) - Suggested by Torgeir Skjøtskift, about 1 month ago.

A shallow dive into the React hooks API. We’ll discover how useState and useEffect effectively reduces lines of code in React components and how to create custom hooks to simplify state management.

Read more...

In(Sanity)

Lightning talk (10 min) - Suggested by Espen Sæverud, about 1 month ago.

In this ligthning talk, Espen Sæverud will quickly show how to set up an backend on Sanity - the fastest, most flexible platform for delivering content to digital devices and products. He’ll also document how you can fetch content from external APIs to prepopulate the documents.

Read more...

Messaging with Azure Service Bus

Lightning talk (10 min) - Suggested by Bjørn Erik Thuen, about 1 month ago.

Businesses often consist of many different computer systems that contribute to the total toolbox within an organization. These systems often overlap and require data from each other. Microsoft Azure Service Bus is one tool that an organization can use to help systems retrieve data that have been made available and is relevant for them.

In this lightning talk, using pictures and animations I will explain the message flow used in the Azure Service Bus and draw us a picture on how this technology can contribute to a better dataflow between systems.

You will get a deeper understanding on the difference between queue based and topics/subscription-based messaging, and how these can make sure data is always available to the system that needs it.

Read more...

Blameless postmortem

Lightning talk (10 min) - Suggested by Sondre Sortland, about 1 month ago.

Despite best efforts of catching bugs with comprehensive testing and code reviews, developing complex software system will eventually result in things breaking. How do we ensure that we are able to learn from these critical incidents, in order to prevent them from reoccurring in the future?
 
Presented in the light of a recent incident in my team, this talk will cover the essentials of having a blameless
postmortem culture, as well as more practical sides such as when and how to write a postmortem report.

Read more...

Should we be concerned about the security of our smart home?

Lightning talk (10 min) - Suggested by Rabbi Alam, about 1 month ago.

Internet of Things (IoT) is crafting yesterday’s sci-fi today’s reality for us. Today’s world IoT devices are making our lives more efficient, energy saving, comfortable, and less costly. However, same technology is making us vulnerable towards malicious actors to target us while we are within the comfortable confines of our homes.

The reality of IoT security is pretty bleak. Many manufacturers of smart home appliances don’t know how to secure IoT devices against cyber threats; many don’t care and are focused on functionality; and yet a huge number of IoT devices don’t even have the supporting infrastructure to run security solutions. Moreover, some of them don’t even have updating mechanisms. Last but not least our negligence as a consumer.

The fact that IoT is making the Internet ingrained in some of the more critical aspects of our lives such as health and city infrastructures makes the situation worse. However, this doesn’t mean that IoT is a failed initiative rather we must take IoT security seriously.

In this talk I will tell you where some of the most serious threats are being discovered and how AI and machine learning can rescue us.

Read more...

Automating design handover with the Figma API

Lightning talk (10 min) - Suggested by Victor Nystad, about 1 month ago.

Figma represents the next evolution in UX design software, where the tool you use to design for the web is actually built using web technology – and where client feedback mechanisms and team collaboration features are built in from the start instead of relying on cumbersome workflows and third party services. 

Figma bridges the gap between designers and developers by allowing us to hook into the API and automate the design handover with the help of design tokens – so that updates in the design can ripple through the implementations in code without requiring manual work from a developer.

This talk is about how we’ve used this approach to build the Equinor Design System, and the caveats you need to be aware of to make this work successfully.

Read more...

When the One is hit by the bus

Lightning talk (10 min) - Suggested by Markus Dregi, about 1 month ago.

In this talk I will share some experiences from when our one true expert left the development team. How we dealt with this, the challenges and positive consequences and how to mitigate the bus factor in the feature. I'll also reflect upon the severe consequences, both for the product and the developer, when they both become the limiting factor of the other.

Read more...

A test driven process beyond testing

Lightning talk (10 min) - Suggested by Markus Dregi, about 1 month ago.

We have all heard the preach of Test Driven Development, yet we rarely see it applied to its fullest. In this talk I'll reflect upon why, when I think a Test Driven Process is providing value and how you can let tests drive your process beyond the coding. I'll touch upon why I personally find the existing literature on Test Driven Reviews fundamentally flawed and why it displays that a Test Driven Process can be used to detect smells in your development process.

Read more...

Go passwordless

Lightning talk (10 min) - Suggested by Sondre Naustdal, about 1 month ago.

We write to many passwords. This is how we  lescan themwrite sless of them.

 

Read more...

After seven years I ask myself, Am I really a Developer?

Lightning talk (10 min) - Suggested by Monika Mangal, about 1 month ago.

Time goes by quickly when you enjoy your work. I love coding and thats why a developer, I am sure same stands for a lot of developers. But does our work really gives us the opportunity to grow as a developer. We work, we work alot, but is it really adding to our knowledge, is it really developing us as a developer? What extra do we need to do to be updated in the market, to keep that interest going and to use less of google to do our work? 

Read more...

I begynnelsen var informasjonsmodellen ...

Lightning talk (10 min) - Suggested by Asgeir Nilsen, about 1 month ago.

Kan man lage en "perfekt" informasjonsmodell, og så sette den ut i livet?

FINT utvikler den ultimate informasjonsmodellen for fylkeskommunenes interne systemer.  Deretter genererer vi API i både REST (med JSON skjema) og GraphQL, samt hele kjøremiljøet automatisk.

Modelldrevet utvikling?

Read more...

Ti triks for en effektiv mikrotjeneste med Spring Boot

Lightning talk (10 min) - Suggested by Asgeir Nilsen, about 1 month ago.

Spring Boot er kjekt.  Mikrotjenester likeså.  Og alt skal være "cloud native", selvsagt.

Dette er en samling med små tips og triks som gjør utvikling og drifting av en sånn bittelitt mer effektivt, så du kan fokusere på å få den til å gjøre det du vil.

Read more...

Hva skjer når leverandør og kunde flytter inn i samme prosjekthus?

Lightning talk (10 min) - Suggested by Gerd Wiggen, about 1 month ago.

Har du vært involvert i et prosjekt hvor tilliten mellom kunde og leverandør er litt frynsete? Et prosjekt hvor leverandør og kunde ikke spiller på samme lag, og hvor leverandør må forsvare seg  til stadighet?
Jeg var i et slikt prosjekt på leverandørsiden, og fikk oppleve svekket tillit fra kunden, på kroppen. Etter å ha forsøkt flere tiltak, klarte vi tilslutt å vinne tilbake tilliten og snu situasjonen til noe positivt. Det var ikke så mye som skulle til.

Read more...

Slipp dine ansatte fri!!

Lightning talk (10 min) - Suggested by Geir Magne Kvalsøren, about 1 month ago.

I dag er kampen om hodene i IT-bransjen tøffere enn noen gang tidligere. Hvordan skal du bygge/endre ditt firma til å bli det mest attraktive for de beste hodene? I hvilken grad må jeg ha kontroll? Hva søker dine potensielle ansatte på en ny arbeidsplass? Hvor viktige er faglige utfordringer? Hvordan bygger vi gode miljøer?
Jeg går gjennom konkrete eksempler på hvorfor du må slippe dine ansatte fri, både av økonomiske og attraktivitestsmessige grunner. 

Read more...

The process on how we made a new statistics website for Oslo Municipality, Bydelsfakta!

Lightning talk (10 min) - Suggested by Aulon Mujaj, about 1 month ago.

Let me tell you the story and process on how we managed to give the City of Oslo's statistics page about the districts and sub-districts a makeover from old and boring PDFs to beautiful and easy-to-read statistics using the graph library D3js and the JS-framwork VueJS! No more tens of hours working to manually create graphs in excel, when d3 and VueJS can do this automatically for you. 

This talk will go through the design process from the start of an idea, through the whole iterative process with user tests and interviews, and then show how we changed a long and winded work to a breeze.

 

Read more...

Time wasted on conflicting "truths"

Lightning talk (10 min) - Suggested by Bjørn Hamre, about 1 month ago.

In today’s applications we tend to use a lot of libraries and frameworks in our code. When two or more of these “meet" in the same part of our code we have to be cautious. Often they have different ways of expressing the same constraint or feature. When developers are not thorough enough or code changes over time, it's easy to end up with conflicting expressions. A lot of time is then spent trying to remember, find requirements or hunting down someone who can remember what the “truth” is.

 

In this humorous lightning talk I will show examples from actual code that demonstrates this. I hope the audience will react with smiles and/or head shaking. My goal with this talk is not to show how stupid some developers are, but have the audience focus on these examples and thereby maybe not do the same mistakes themselves or being able to spot the same mistakes in their own code. After all, we all want to reduce the number of bugs in or code and reduce the time spent being a detective and hunting down which library that gets it right.

An example is :

Jackson’s @JsonProperty, which has required=false by default, used together with Kotlin’s data types that cannot be null. 

@JsonProperty name: String

 

Read more...

How YAML is becoming my primary programing language

Lightning talk (10 min) - Suggested by Kent Inge Fagerland Simonsen, about 1 month ago.

YAML is becoming a popular choice for writing structured documents. It is often used to define infrastructure though tools such as Kubernets. In this talk we will explore how YAML cab be used to also define program behaviour by defining a DSL and then generating code for that DSL that can be uploaded to an run on AWS Lambda.

Read more...

Everyday Creative

Lightning talk (10 min) - Suggested by Harald Hovdevik, about 1 month ago.

TV2s newsdesigners create graphics for our live news every hour every day.

We will present how we think and work to create live news graphics. How do we work with rigid deadlines and changing story and sometimes very short timeline.

Read more...

Way of Software Samurai

Lightning talk (10 min) - Suggested by Dmitry Lebedev, about 1 month ago.

Imagine if the great thinkers of past (and present) would be doing software development, what kind of advice they could give us? What can we learn from Art of War or Hagakure in order to make a better software? Join me at this lightning talk and learn what some great strategists has to offer you!

Read more...

FDDDFF#

Lightning talk (10 min) - Suggested by Rune Reisegg Jacobsen, about 1 month ago.

Inspiret av boka Domain Modeling Made Functional har me prøvd ut funksjonelt domenedrevet design i Frende i F# (FDDDFF#).

Korleis gjekk det?

Read more...

Docker swarm - a developer friendly alternative to Kubernetes

Lightning talk (10 min) - Suggested by Arne Størksen, about 1 month ago.

If you want to run containers on a set of servers in house, and your it-department is looking at you funny when you ask for a Kubernetes cluster, you should consider docker swarm. Once a contender to the scheduling throne, swarm is now considered to be the losing technology. But it may still provide all the features you need in a small environment, at a fraction of the complexity. 

Read more...

Uthenting av kartdata med OverpassAPI

Lightning talk (10 min) - Suggested by Fredrik Lindseth, about 1 month ago.

OpenStreetMap er en geodatabase med mye nyttig data som er lett tilgjengelig og enkel å hente ut og bruke via Overpass-Turbo. Her skal jeg gi en demonstrajon av noe bruksområder og demonstasjon av hvordan man går fra kartdata i en database til kart i nettleseren

Read more...

Hendelsedrevet læring i SpareBank 1 - Erfaringer fra tre år med post mortem

Lightning talk (10 min) - Suggested by Kristoffer Berg, about 1 month ago.

I SpareBank 1 ønsket vi å dra mer nytte av potensialet knyttet til læring ved feil i produksjon. Spesielt nysgjerrige var vi på hvordan organisasjonen bedre kunne legge til rette for læring i etterkant av hendelser, på en trygg og positiv måte for alle involverte. Etter gode resultater fra en testperiode, standardiserte vi i 2017 på bruk av post mortem for alle våre utviklingsteam. I denne lyntalen deles erfaringer fra tre år med post mortem. Hva er det viktig å tenke på, og hvordan fungerte det egentlig for oss?

Read more...

HÆ?! Har du ikke prøvd mobbprogrammering enda?

Lightning talk (10 min) - Suggested by Martin Valen, about 1 month ago.

Syns du teamet ditt burde kommunisere bedre, men standups er bortkasta tid? Sliter dere med å onboarde nye teammedlemmer? Har dere en nøkkelressurs som aldri kan forlate teamet, fordi det er bare hun som kan en viss del av løsningen? Mobbprogrammering, det at tre eller flere utviklere sitter sammen på én skjerm og ett tastatur, skal visstnok løse alt dette!

Men gjør det det? Og hvordan kan jeg i så fall komme i gang selv? Vi har gått opp stien for deg, og i denne talken skal vi fortelle deg om hva som gikk galt og alt som gikk bra. Etter talken skal du kunne transformere ditt eget team, uten å snuble i de samme røttene som oss.

Read more...

Fra drømmeprosjekt til kriseprosjekt

Lightning talk (10 min) - Suggested by Maja Megård, about 1 month ago.

Hvordan kan et prosjekt, som ved første øyekast ser ut til å ha alle elementer på plass for å lykkes, ende opp som et utmattende prosjekt med høyt konflikt nivå. Jeg vil fortelle om hvilke erfaringer og tanker vi har gjort oss for å lære av det vi opplevde. Temaene jeg vil berøre er følgende:

  • Vi må ikke late som om prosjekter er kompliserte, for sannsynligvis er de komplekse (Cynefin) og vår tilnærming må reflektere dette på alle nivåer. 
  • Røde flagg - hvordan legge merke til de og hvordan håndtere de.
  • Hvis du ikke er redd er det ikke noen sak å være modig (Mummin)

Read more...

Fra drømmeprosjekt til kriseprosjekt

Lightning talk (10 min) - Suggested by Maja Megård, about 1 month ago.

Alt lå til rette for at prosjektet skulle gå bra,

men det endte opp med å bli det tyngste prosjektet jeg noensinne har jobbet i.

Hva skjedde? Hvordan havnet vi der?

Read more...

Fra prosjektleder til team coach over natten

Lightning talk (10 min) - Suggested by Linda Falk, about 1 month ago.

Over natten så gikk jeg fra å være prosjektleder for et stort team til å jobbe som team coach for to mindre team. Vi gikk fra å være et tradisjonelt prosjekt, til å skulle jobbe agilt.

Hva skjedde da? Med meg? Med teamet? Med oss alle sammen? Mister man noe på veien? Hva vinner, og finner, man på veien?

Read more...

A swift look on SwiftUI

Lightning talk (10 min) - Suggested by Johannes Harestad, about 1 month ago.

Writing native user interfaces for Apple platforms has never been easier than with the new SwiftUI. Say goodbye to the old mix of XML-based storyboards and object-oriented UI. Using a declarative syntax, you can now write a reactive UI that can easily be previewed with Xcode's design tools while you code. With SwiftUI, you can write less code with automatic support for accessibility, localization, dark mode and much more.

Read more...

A swift look on SwiftUI

Lightning talk (10 min) - Suggested by Johannes Harestad, about 1 month ago.

Writing native user interfaces for Apple platforms has never been easier than with the new SwiftUI. Say goodbye to the old mix of XML-based storyboards and object-oriented UI. Using a declarative syntax, you can now write a reactive UI that can easily be previewed with Xcode's design tools while you code. With SwiftUI, you can write less code with automatic support for accessibility, localization, dark mode and much more.

Read more...

Har ideen din livets rett?

Lightning talk (10 min) - Suggested by Benedicte Selmer, about 1 month ago.

På jakt etter en rask og effektiv måte å finne ut om en ide er verdt å sette ut i livet? På 10 minutter gir jeg deg oppskriften på en erfaringsbasert analysemetode som ved hjelp av fire trinn vil gi deg og (prosjekt)organisasjonen din nok informasjon til å kunne beslutte om ideen har livets rett, eller om den bør parkeres før den har blitt til et prosjekt.

Read more...

GIT sitt indre urverk

Lightning talk (10 min) - Suggested by Bjørnar Torvik, about 1 month ago.

GIT er blant de mest populære systemene for versjonshåndtering. Den distribuerte arkitekturen til GIT gjør at all logikk blir utført lokalt på hver klient. Å forstå hvordan GIT internt holder orden på versjoner av filer og filkataloger er ikke nødvendig for å bruke GIT, men det er absolutt en fordel dersom du ønsker å bli helt trygg.

GIT sin virkemåte er egentlig fasinerende enkel, så enkel at det faktisk er mulig å forklare på 10 minutter.

Read more...

Homekit-hacking

Lightning talk (10 min) - Suggested by Olve Hansen, about 1 month ago.

In this lightning talk you will learn about the Apple Homekit Resource Model. And how to bundle many Accessories together in one "installation" in HomeKit using https://github.com/brutella/hc which is lightweight framework to develop HomeKit accessories in Go.

I will show these features in the context of my hobby project creating a bridge for integrating Disruptive Technologies sensors into HomeKit.



Read more...

Monorepo - en silver bullet för samhandling i stora utvecklingsorganisationer?

Lightning talk (10 min) - Suggested by Jonas Nordstrand, about 1 month ago.

I större utvecklingsorganisationer versionskontrollerar man i regel källkoden i ett stort antal olika repositories. Att versionkontrollera hela organisationens kodbas i ett repo, ett så kallat monorepo, ger många førdelar men bjuder samtidigt på vanskliga skaleringsutfodringar som fram tills nyligen bara kunnat tacklas av drakarna i FAANG-sfären.

I SpareBank 1 har vi nu gott över ett års praktiskt erfarenhet av monorepo i en, før norska förhållanden, stor utvecklingsmiljö. Jag kommer dela erfarenheter kring för- och nackdelar, skaleringsproblematik och vad ett monorepo egenligen gör med samhandlingen och själva kulturen i utvecklingsorganisation.

Read more...

Creating APIs beyond REST

Lightning talk (10 min) - Suggested by Henrik Stene, about 1 month ago.

APIs are traditionally associated with REST, or as they were with SOAP in previous generations, but APIs can be so much more than just that. In this talk I will describe how we built an API consisting of an asynchronous API using Kafka in combination with a traditional synchronous REST API, and why combining a REST and Asynchronous technologies is perfect to provide the best user experience possible.

Creating API solely using synchronous calls does not necessarily provide the best user experience. By in addition allowing your users to utilize the power and flexibility of asynchronous APIs, you will create a much better experience for everyone. In this talk I will explain in detail how we built our APIs, why we chose the technologies that we did, and talk about the mistakes that we made on our way and how we fixed them. You will learn how to provide a fully complemented API to let your customers experience the full potential of a mature API.

Read more...

AI as a service, no machine learning experience required

Lightning talk (10 min) - Suggested by Tore Nedretvedt, about 1 month ago.

All of today’s leading cloud providers offer high-level AI services and APIs that don’t require any machine learning experience. We will take a quick look into what Amazon Web Services has to offer in this area, and see how you can leverage these services to start adding AI into your own applications. Topics covered includes text to/from speech, translation, image recognition, extract meaning from text, and more. You should find similar offerings from the other major cloud providers, and the goal is to raise awareness of some of the possibilities that is provided to developers, without having to know anything about machine learning.

Read more...

Cypress.io: The serene solution to UI testing

Lightning talk (10 min) - Suggested by Øystein Aadland, about 1 month ago.

In this lightning talk I will show why Cypress.io is a solution that should be on top of your list when choosing a framework for UI testing.

Cypress.io is an open source Javascript based framework for setting up and running UI testing. It is hard to make UI tests that are repeatable and stable. Especially with todays UI solutions that rely on a lot of asynchronous calls. Even though it is hard it is even more important today to automate this testing since there is an ever-growing complexity of frontend web applications. Automation of testing is the only real solution to high quality software, because there is never enough time to do it manually.

Cypress.io makes UI testing more enjoyable when developing tests, and that is one of the most important features when getting your/you/us developers on board.

Øystein Aadland has been a developer for over 20 years. He works as solution architect, developer, tester and project lead. He is enthusiastic about software quality, beautiful code and automation.

Read more...

Secure your application in less than 10 minutes with OWASP dependency checker

Lightning talk (10 min) - Suggested by Bjørn Hamre, about 1 month ago.

In 2017 several Fortune 100 companies received unwanted media attention when a vulnerability in the Struts framework caused their system to be practically wide open (https://www.zdnet.com/article/critical-security-bug-threatens-fortune-100-companies/). The best-known victim Equifax may have leaked personal information for as many as 100.000 Canadian customers (https://globalnews.ca/news/3755234/equifax-breach-canada/).

 

The security vulnerability in Struts was quickly fixed, but millions of applications using older versions of Struts were still live. Fixing this requires building, testing, release and deploy, all of which takes time. Assuming you even KNOW your dependencies are vulnerable. Time matters. Each hour your application is running in production with a known vulnerability increases the risk of exploitation. So what can you as a developer do to prevent your company from becoming the next Equifax?

 

In this lightning talk I demonstrate how to use OWASP's little known plugins for Maven and SBT to check your third party libraries for known vulnerabilities. By comparing the version of your dependencies against a public database, it will generate a nice report with some explanations and links to the full vulnerability disclosures.

 

This is an important tool for you when deciding whether to upgrade dependencies in your project or not, and is probably the single most cost-effective way for developers to make their applications more secure.

Read more...

Sterke fagmiljø i en smidig organisering

Lightning talk (10 min) - Suggested by Jostein Emmerhoff, about 1 month ago.

SpareBank 1 Utvikling har hatt mange oppturer, ett knippe nedturer og fått ekstermt mye læring i vår reise mot en mer smidig organisasjon. Vi ønsker i denne lyntalen å fortelle litt om hva vi har lært når det gjelder å balansere en endringsdyktig og effektiv tverrfaglig teamstruktur og samtidig ha sterke fagmiljøer. Her har vi gjort oss læring på den harde måten..

Read more...

Why you should consider Web Assembly in your next frontend project

Lightning talk (10 min) - Suggested by Håkan Silfvernagel, about 1 month ago.

During the last decades more functionality has been pushed into the client by using the latest JavaScript framework. But what if we could be using native code in the browser in order to run computations faster and reuse backend code in the frontend? Web Assembly can help you achieving this.

Read more...

Machine learning in the browser with TensorFlow.js

Lightning talk (10 min) - Suggested by Håkan Silfvernagel, about 1 month ago.

In order to start out with machine learning you typically would need to learn Python, Tensorflow, Jupyter Notebook etc. But what if you could run our machine learning straight in the browser. This can be done through Tensorflow.js. In this session you will get an introduction so that you can use it in your own projects.

Read more...

Lærdom fra (mislykket) gaming

Lightning talk (10 min) - Suggested by Christian Sloper, about 1 month ago.

Kan man ta med seg noe fra å spille spill til arbeidslivet?   Foredragsholderen har spilt spill i over 35 år, og har etterhvert innsett at han ikke blir en pro-gamer.  Likevel tror han at noe av det han har lært av spillene igjennom årene kan gjenbrukes i arbeidslivet som utvikler.

Read more...

How To Write Code Worth Reading

Lightning talk (10 min) - Suggested by Sten Christoffer Eliesen, about 2 months ago.

Regardless of skill level, some programmers write code that is performant, bug free and works great, but is very difficult to read and understand, and thus difficult to maintain. It has become popular to champion for code that is self documenting. That’s great, but unfortunately this can lead to a hostility towards good comments. In this talk I hope to convince you why you should write comments. With examples I demonstrate how it can make your code enjoyable to read and not just to write.

Read more...

Mind the gap

Lightning talk (10 min) - Suggested by Frøydis Hamre, about 2 months ago.

Outsourcing has been a trend in the IT industry for more than 20 years. Although the trends are changing as to what is outsourced and how, it is still on the rise. In addition, many companies are spread across multiple locations, both nationally and internationally. Modern communication tools like Teams, Skype, Slack and various video conferencing tools make it easier than ever before to work from wherever, whenever.

But a close collaborative team spirit might get lost along the way, and planning a sprint, discussing a tricky bug or getting tips figuring out how to make the design work is not as easy when you are in two different countries as when you are sitting right next to eachother. Different time zones add to the challenge. I want to share how we work in itslearning to stay efficient and reduce the risk of conflicts, and how I think we could get even better...

Read more...

Performance is everything

Lightning talk (10 min) - Suggested by Jan Greger Hemb, about 2 months ago.

The mobile web is dying. The vast majority of time spent on mobile is spent in dedicated apps instead of on the web, in the browser. There are several key reasons, but the most critical is performance. Browsers are getting ever better features, but more and more users are coming online on underpowered phones unable to keep up with progress. It about time we had a talk on performance, and why it has become the single most important aspect of your website.

Read more...

So good they can't ignore you! 😎

Lightning talk (10 min) - Suggested by Gargi Sharma, about 2 months ago.

Alternatively titled, "How to get your work noticed!".  

You are good at your job, are polite, deadline oriented! Your long-term professional goals are well-defined, and you work toward them consistently.

But working hard is sometimes not enough. People around you need to see and value your work. This talk will cover hard-work, visibility, the myth of meritocracy, and what we owe one another once we are “successful”.

Read more...

So good they can't ignore you! 😎

Lightning talk (10 min) - Suggested by Gargi Sharma, about 2 months ago.

Alternatively titled, "How to get your work noticed!".  

You are good at your job, are polite, deadline oriented! Your long-term professional goals are well-defined, and you work toward them consistently.

But working hard is sometimes not enough. People around you need to see and value your work. This talk will cover hard-work, visibility, the myth of meritocracy, and what we owe one another once we are “successful”.

Read more...

Hva gjør egentlig en agil coach?

Lightning talk (10 min) - Suggested by Marit Andreassen, about 2 months ago.

Jeg jobber som agil coach i Vipps. Stillingsbeskrivelsen var "fikse litt prosess og sånt..", men hva gjør jeg egentlig i hverdagen? Vipps er en pioner og skal forenkle alt som har betaling og ID å gjøre. Vipps startet som et prosjekt i DnB, men ble et eget selskap. Så ble vi fusjonert med 2 andre selskaper og har på 2 år har vi vokst fra 50 til 350 personer. Vi har litt voksesmerter (!) , så det er viktig å forenkle litt internt også. Jeg vil fortelle hva jeg gjør og hva jeg ikke gjør som agil coach. Helt konkret. 

Read more...

Leveraging Rust to build cross-platform mobile libraries

Lightning talk (10 min) - Suggested by Jan-Erik Rediger, about 2 months ago.

At Mozilla, Rust is used more and more to build and modernize Firefox, a browser that's more than 15 years old.
But we also have other products, some of which are smartphone applications, and it's not just web browsers!
These applications are build on top of a multitude of libraries, which are reused across platforms if possible.

In the past year I worked on one of these libraries, which is now shipping across Android and iOS and will soon be back on Desktop platforms as well.
This talk will showcase how we manage to build cross-platform libraries with small teams and ship them to a bunch of platforms all at once.

Read more...

Hvordan hjelpe organisasjoner til mer smidighet? – Noen praktiske tips basert på Kanban, fra et coaching perspektiv.

Lightning talk (10 min) - Suggested by Andrea Altier, about 2 months ago.

I denne lyntalen får du noen praktiske tips du kan ta for å hjelpe organisasjonen du jobber i til mer smidighet (Business Agility). Vi ser på typiske fallgruver, tiltak og hvordan du kan sikre læring og gjennomføring. Tipsene er basert på Kanban og fortelles fra et coaching perspektiv.

Read more...

Får du ikke gjennomslag for ideene dine? Grunnen kan være en annen enn du tror

Lightning talk (10 min) - Suggested by Christina Kjær Seime, about 2 months ago.

Noen gang kommet med en sykt god ide? Rett og slett en no brainer! Men ikke alle ser det geniale i ditt forslag og du blir møtt med skepsis og spørsmål. Denne lyntalen går gjennom noen grunner til at nye ideer ikke alltid blir mottatt med trampeklapp og stormende jubel. Når vi vet litt mer om hvorfor du blir møtt med skepsis, ser vi på hva du kan gjøre for å snu denne skepsisen til smil. Lyst til å få gjennomslag for din neste ide? Da bør du komme på denne lyntalen.

Read more...

How Vipps uses Azure to transform their business to a micro-service driven architecture.

Lightning talk (10 min) - Suggested by Sven Malvik, about 2 months ago.

Vipps released their payment app on May 30th, 2015. Five months later, they had exceeded a million active users. How in the world did they handle this explosive growth? Join Vipps as they do a technical breakdown on the journey from zero users to millions, and how Vipps used API Management, Azure DevOps, and Azure Kubernetes Service to transform their business from an on-premise monolith, to a micro-service driven architecture, as seamlessly as possible. Discover what to do and what not to do when scaling your services, and how to use API Management and Azure Kubernetes Service together to create a highly scalable system that provides frictionless experiences for your customers.

Read more...

Blindspots uncovered - do you dare to know?

Lightning talk (10 min) - Suggested by Merete Lange, about 2 months ago.

90% of our time is spend with people who look like us... is that a concious choice? I'll use my 10 minutes to give some food for thoughts and uncover some of the most common concious and unconcious bias. You might be surprised and you might have a renewed self-awareness of your own unconscious bias after this lightning speech.

 

Read more...

Real hybrid cloud deployments with Azure Stack and Kubernetes

Lightning talk (10 min) - Suggested by Bastiaan Wassenaar, 2 months ago.

Nowadays we develop and deploy our software in the public cloud. But what if the public cloud isn’t available or what if your application is restricted by regulation and needs to be in your datacenter?

In this talk I will present you a possible solution to deploy your cloud native application on-premises. How you can still use the magic of CI/CD pipelines, Infrastructure as Code and containers with an on-premises solution called Azure Stack. And while we’re at it… Lets put some Azure Kubernetes Service (AKS) in the mix as well.

Read more...

Performance Driven Development

Lightning talk (10 min) - Suggested by Andrei Gaspar, 2 months ago.

Are you developing a solution where scale is an important factor?

Are you developing a solution on top of a legacy system, which is uncertain how it scales?

 

The answer to the first question is tricky, because most people tend to overemphasize the importance of scale in their application. However, if you are working on a social application, or you have an unconventional scaling problem to solve like the one we're solving at boardme.app - this talk might help steer you in the right direction.

If the answer to the second question is yes, performance driven development is a crucial component of your development process. In the B2B world it is quite frequent that you'll be facing the problem of scaling on top of legacy systems. The rewards are high, but the risks are astronomical, and can cost millions to investors.

 

In this short talk you will learn a modern, DevOps oriented approach to Performance Driven Developent.

You'll be presented with the problems that you are likely to encounter while integrating PDD in your development workflow, as well as solutions to those problems.

Read more...

How our minds always over-generalize

Lightning talk (10 min) - Suggested by Oliver Zeigermann, 2 months ago.

We systematically overestimate the quality of our insights and overfit on very small sample sizes. How many boyfriends do people need until they find out that men are all the same? Two? Maybe three?
 
While this might have been a good strategy when dealing with sable tooth tigers, cave bears, and mammoths where you rarely got a second chance when you were wrong, this rarely is useful in the modern world.
 
We will look at examples from the Premier League, Machine Learning, and people in general to investigate when this approach might be really bad and when it does not matter too much.

Finally, we can talk about strategies how to avoid theses kinds of issues.

Read more...

No API? Build it yourself!

Lightning talk (10 min) - Suggested by Mads Opheim, 2 months ago.

What do you do when the web site you want data from suddenly shuts down their APIs? You create your own, of course.

I’ll go through how I did it, using cloud and scraping, and show you both code, config and a running application. Combining scraping tools in Python with serverless and suitable tools from Google Cloud Platform, we can bypass the lack of existing APIs.

We’ll spend quite some time on the tricky details and strange errors that took quite some time to master, as the devil’s in the details.

Eventually, we’ll have our own REST API, powered by GCP, providing us the data we want - the way we want them.

We’ll scrape a list of events, and show how visualizing the data can reveal some interesting twists in the data. We’ll see that visualizing the data is a powerful debugging and testing technique.

This talk is about the totally overengineered developer version of what happens when someone says “you can’t do that”. Yes we can.

Read more...

10 things flutter does better than android

Lightning talk (10 min) - Suggested by Trym Nilsen, 2 months ago.

Flutter is the new kid on the block in mobile app development, but should you bother looking into it? In this lightning talk I will show how flutter makes app development easier and show specific examples of what you and android should learn from this framework.

Read more...

Analogisering nå!

Lightning talk (10 min) - Suggested by Anders Norås, 2 months ago.

Alt skal visst digitaliseres, men vi lever i en analog verden. Heldigvis finnes det analoge alternativer til det digitale som lever i beste velgående. Dette er en lyntale om disse, men aller mest er det en lyntale om Taylor Swift.

Read more...

4.294.967.295 - A number, Three Accidents and a Looming Catastrophe

Lightning talk (10 min) - Suggested by Anders Norås, 2 months ago.

At first glance, 4,294,967,295 seems like a pretty large, yet innocent number. Easy mistake to make. Anders talks about the trouble this number has caused, and why it will be the end of the world in 2038.

Read more...

Kom i gang med Monorepo

Lightning talk (10 min) - Suggested by Eivind Wikheim, 3 months ago.

Alle prater om monorepo. Det er det de store gutta bruker, sier de... Google, Facebook og Microsoft. Men hva er det egentlig? Hvilke problemer kan vi løse med det? Og ikke minst, hvordan kommer man i gang med å bruke det? 

Alt du trenger å vite får du her!

Read more...

Great feature, but is it useful?

Lightning talk (10 min) - Suggested by Oliver Zeigermann, 3 months ago.

How do we know if the feature we just implemented brings any benefit for the people who use the software it is part of. First of all, in the spirit of impact mapping, you will need an hypothesis on how this feature shall result in a measurable change. Then you measure and evaluate.


In this short session you will learn what a p-value is and how this score from the scientific world can be applied to our challenge of evaluating how successful a feature was. For this I will guide you through a complete example.

Read more...

Short talks

An incremental language for programming education

Short talk (30 mins) - Suggested by Felienne Hermans, about 1 month ago.

Learning to program is hard! There are so many things to think of: syntax, datastructures, problem solving. What if we could make a programming language that grows with you, and becomes stricter over time? In this talk Felienne outlines her incremental language for programming education called Hedy, the reasons why it could work and the first experience reports of kids using it.

Read more...

From fear to fun: Exploring design concepts in VR

Short talk (30 mins) - Suggested by Henriette Stokholm, about 1 month ago.

For the past months, I have dived deep into the underground of Haukeland Sykehus in Bergen, where a new light rail stop will appear in 2022. Unfortunately, underground stops seem to scare the life out of people: Some people feel trapped, others are afraid of assault, and some are simply afraid of the dark.

So how can we make people feel safe in underground stations? And is it possible to test out different concepts in order to see the effect, before construction has even begun?

Through a number of workshops, I have been challenging the concept of underground stations, and I am now about to carry out user tests in VR in order to collect user feedback. Soon, I expect to get answers to numerous questions, among these:    

* What are you actually testing, when doing user tests in VR?

* Does a VR experience have to be truly immersive in order to comprehend a concept?

* And does it really make sense to prototype a building?

If you are as curious as me, when it comes to interaction design, user research, exploring more or less far out design concepts, and user testing in VR, then come to my talk!

Read more...

Kubernetes - a necessary evil

Short talk (30 mins) - Suggested by Jon Arild Tørresdal, about 1 month ago.

This is the story from Sparebanken Vest were we started Serverless, but ended up with Kubernetes. Kubernetes became the necessary evil. We used complexity as our currency for necessary flexibility.

We dive into the problems we faced, the assessments we did, and why we made the choices we did. Would we make the same choices today?

We look into the crystal ball and make some qualified guesses about the future, specifically about Kubernetes as a future container platform and which essential requirements are typically missing from today's serverless cloud offerings.

Key takeaways from this talk should be well founded reflections on why Kubernetes might not always be the answer you're looking for, and why you might end up using it anyway. 

Read more...

How I built a website and made it completely inaccessible

Short talk (30 mins) - Suggested by Vegard Haugstvedt, about 1 month ago.

During the fall of 2019, I worked on a really unique project. I was to build a website (a webshop, actually), that was to be fully accessible, and then add as many accessibility bugs as possible. Sound weird? It was! It was also really fun, and I learned a lot. And all of it was implemented in just over a month!

The inspiration for the project was W3C's "Before and After Demonstration" ( https://www.w3.org/WAI/demos/bad/ ), where you can switch between accessible and inaccessible versions of five types of webpages. But the design of these are old fashioned, the functionality limited and in general the website was not very relatable as the calendar approached 2020.

So we set out to build a more modern version, with the lofty goal of being "the new gold standard for accessibility", a site where users could test complete scenarios and one that could be used both in education and for verifying how many issues automated accessibility testing tools can find.

In this talk, I will share our journey with you, exploring different accessibility issues, user testing, changing requirements and other topics we encountered.

Read more...

Collaborating on Open Source Software

Short talk (30 mins) - Suggested by Marit van Dijk, about 2 months ago.

Collaborating on Open Source Software;
How I Started contributing to Open Source and Why You Should Too

There are several reasons you might want to contribute to open source software. For me, it was that I wanted to learn in a more useful way than doing programming challenges. So I looked into how I could contribute to open source projects that I use myself.
After contributing for almost two years, I notice that I have learned a lot from my contributions (which has been useful at work), as well as have made friends and have become part of a community.

In this talk I will share my experience with contributing to Cucumber, including an early mistake (merging something that wasn’t ready yet) and fixing it with the support of core maintainers, and still feeling welcome!
You’ll learn how how to find your project and contributions to start with, how to connect with the community to make sure your contributions are useful and the many different types of contributions you can make.

Contributing to open source is a way of giving back to the community. In addition, it is a way for you to learn, collaborate and become part of a community. Getting (constructive) feedback on a pull request and collaborating to make things even better is a great feeling!

Read more...

Gordo, how Equinor (attempts to) build thousands of machine learning models

Short talk (30 mins) - Suggested by Erik Parmann, about 2 months ago.

Equinor has many machines--many, many machines. And we would like to know if they are going to fail before they fail; otherwise, we lose a lot of money. Since we happen to have so many machines, we can not apply traditional data-science, which is focused on making an awesome model for a single problem. We need to build and deploy thousands of adequate models automatically. In order to do this we have created the open-source project Gordo with the goal of building and serving thousands of machine learning models. Nobody else uses it, but if you happen to have thousands of machines, millions of time-series, a big kubernetes budget, and the need for anomaly detection or predictions, maybe you should start using it?

Read more...

How to design for special needs, like Parkinsons?

Short talk (30 mins) - Suggested by Mileha Soneji, 3 months ago.

My TED talk on this topic now has more than 1 million views (and counting). My story is a heartfelt one that gives a strong message on how we can make a difference in this world in the simplest manner and showing empathy.

My talk is about how simplicity and human-centered design can change this world. In my daily work as a Strategic Product Designer I apply these principles and practice them to come up with impactful and simple designs.

My presentation is about simple solutions I designed for Parkinsons’s patients and how they describe the principles of Human Centered Design. It is about how even by targeting the right user insight and designing for it, testing the concepts and improving them can we have a big impact on this world.

Read more...

Making Sense of Chaos - The missing link in todays innovation processes

Short talk (30 mins) - Suggested by Lars Petter Aase, about 1 month ago.

The process of abductive sensemaking explains the creative prosess, leaps of faith and groundbreaking new ideas.

Designers, developers and business people are raving about insights and solutions. No one talks about the essential step between these stages; abduction & sensemaking. There are often data points and citations from stakeholders, but how this information is synthesised determines the outcome of the solution. Not the data points themselves.

There is little awareness of how qualitative insights are processed into ingenious and disruptive solutions. The danger of unconscious approach to abduction & sensemaking is rarely discussed. The result is mediocre and obvious products and services.

Learn the abductive sensemaking process of manipulating, organizing, pruning, and filtering data in the context of a design problem, in an effort to produce information and knowledge.

Read more...

Making Sense of Chaos - The missing link in todays innovation processes

Short talk (30 mins) - Suggested by Lars Petter Aase, about 1 month ago.

The process of abductive sensemaking explains the creative prosess, leaps of faith and groundbreaking new ideas.

Designers, developers and business people are raving about insights and solutions. No one talks about the essential step between these stages; abduction & sensemaking. There are often data points and citations from stakeholders, but how this information is synthesized determines the outcome of the solution. Not the data points themselves.

There is little awareness of how qualitative insights are processed into ingenious and disruptive solutions. The danger of unconscious approach to abduction & sensmaking is rearly discussed. The result is mediocre and obvious products and services.

Learn the abductive sensemaking process of manipulating, organizing, pruning, and filtering data in the context of a design problem, in an effort to produce information and knowledge.

Read more...

Improve your Android architecture by using coroutines

Short talk (30 mins) - Suggested by Andreas Færøvig Olsen, about 1 month ago.

Kotlin is considered a simple language to learn for Java developers. However, the first time you look at coroutine code, you might get a puzzled look on your face and wonder what this is all about.

Coroutines enable you to write sequential code instead of callbacks for async tasks. In this talk we will explore the possibilities of coroutines and how we can use them together with Android Architecture Components and the MVVM pattern. Introducing coroutines can be done gradually and bring value to an existing app in a short amount of time.

Some knowledge of Android development is recommended.

Read more...

Untangling frontend spaghetti

Short talk (30 mins) - Suggested by Patrick Monslaup, about 1 month ago.

Complexity in frontend has steadily increased and with it components and views have become large and ugly beasts who I know have kept a lot of us up at night.

In this presentation we will go through design patterns and ways we can structure code to make the monsters a little less scary. Examples are based on app-development with a team of 10 for Storebrand Helse and will be shown in React Native, but the principles are universally applicable regardless of framework.

Read more...

Continuous Product Development

Short talk (30 mins) - Suggested by Hussam Ahmad, about 1 month ago.

A lot of processes and Frameworks focus on project based development. Some of these have tried to change the focus to become more product oriented with varying success. In this talk I will summarize my 25 years experience from many big and small companies I have been working for and sketch up how I think healthy Continuous Product Development at scale should be done in a lean agile environment. 

Read more...

Produkteam utvikler ikke produkter

Short talk (30 mins) - Suggested by Sigurd Falk, about 1 month ago.

Produkteam utvikler ikke produkter.
Produktteam skaper lønnsomhet.

De skal definere hva produktet skal være, finne ut hva som gir business impact, og hva kundene trenger. Men for å kunne ta det ansvaret, må produktteamet skape tillitt i hele organsisjonen.

Hvordan gjør man det? Man må begynne med grunnmuren, nemlig teamet, og deretter se det større bildet:
    • Skape psykologisk trygghet i produktteamet
    • Benytte digitale verktøy for å oppnå rett-i-prod mindset i og rundt teamet
    • Skape enn felles forståelse på tvers av organisasjonen
    • Bryte ned siloer ved  å ta ansvar på organisasjonsnivå

Vi er to UXere og en teknolog, og vi forteller dette basert på våre erfaringer med å jobbe hos et stort norsk konsern.

Read more...

Produkteam utvikler ikke produkter

Short talk (30 mins) - Suggested by Sigurd Falk, about 1 month ago.

Produkteam utvikler ikke produkter.
Produktteam skaper lønnsomhet.

De skal definere hva produktet skal være, finne ut hva som gir business impact, og hva kundene trenger. Men for å kunne ta det ansvaret, må produktteamet skape tillitt i hele organsisjonen.

Hvordan gjør man det? Man må begynne med grunnmuren, nemlig teamet, og deretter se det større bildet:
    • Skape psykologisk trygghet i produktteamet
    • Benytte digitale verktøy for å oppnå rett-i-prod mindset i og rundt teamet
    • Skape enn felles forståelse på tvers av organisasjonen
    • Bryte ned siloer ved  å ta ansvar på organisasjonsnivå

Vi er to UXere og en teknolog, og vi forteller dette basert på våre erfaringer med å jobbe hos et stort norsk konsern.

Read more...

PEPPOL & EHF: A Bird's-Eye View on the Transport Infrastructure

Short talk (30 mins) - Suggested by Johannes Molland, about 1 month ago.

Does the name PEPPOL ring a bell? Ever been required to send an invoice in EHF format? Perhaps you already exchange electronic invoices and other e-procurement documents with business partners, and want to know how the transfer actually works? 

In this talk you'll get an overview of how the open PEPPOL network securely transfers standards-based e-procurement documents between businesses, with message formats and addressing taken care of by the PEPPOL infrastructure. Background, current state and future prospects are also covered.

Read more...

Mixing it up with Testing

Short talk (30 mins) - Suggested by Aditi Mulay, about 1 month ago.

We always think of tests across different layers in the application as separate entities. Our testing strategy is defined as one type of test for each layer in the testing pyramid: UI tests for front end layer, API/webservice and database tests for the business and backend layer. But wouldn’t it be wonderful if we could pick a tool out of our automation bag and use it as the test requires? Having the ability to mix UI tests with APIs and use them across these self imposed boundaries would be beneficial in terms of execution time saved, more stability and make an impact. 

 As part of this talk, Aditi will demonstrate how to write test cases that step through the UI and also leverage  API/webservice calls. She will go over how to implement framework that will support testing different layers.

Read more...

Progress Towards Progressive - Taking a Web App Offline

Short talk (30 mins) - Suggested by Sigmund Hansen, about 1 month ago.

Progressive Web Apps, or PWAs, are alle the rage. We wanted to know if we could save money using service workers and related PWA technologies to avoid building native mobile apps. So this fall I got to spend time taking the web socket based application Dyrehelseportalen, or the Animal Health Portal, offline. The application is steadily growing, and one stakeholder required the ability to register farm visits without a steady internet connection. Now I want to tell you about the good, the bad and the ugly that I faced on my journey through the lands of service workers and caches.

Read more...

Close the gap between business and tech with Cross Functional Design

Short talk (30 mins) - Suggested by Rickard Nilsson, about 1 month ago.

more information comming soon

Read more...

Failure is good for business

Short talk (30 mins) - Suggested by Jenna Pederson, about 1 month ago.

I'm a failure. And though the word 'failure' has never really been a part of my vocabulary, I've been successful at it my whole life. From many failed businesses to taking down an entire data center with a single SQL statement, I'll lay it all out there. I'll share my failures, how I've turned them into successes, the lessons I've learned, how to have fun doing it, and how failure is good for business.

Read more...

Shiny Objects Are Cool, But So Is Building Products People Use

Short talk (30 mins) - Suggested by Jenna Pederson, about 1 month ago.

Technology is changing constantly, keeping us on our toes with new frameworks, features, tools, and hardware being released and improved. It gives us new choices and decisions to make that affect our product portfolio, our company’s success, our colleagues, our customers, and our bottom line. But what happens when we give in to all this change and start chasing after all these shiny objects without any sort of strategy or direction? We’ll take a look at the impacts of shiny object syndrome alongside real-world examples pulled from my experiences in large companies and startups. You’ll leave with a better understanding of how your decisions impact your tech, your company, and your customers and a set of questions to ask as you make these decisions.

Read more...

Ubeskyttet UX

Short talk (30 mins) - Suggested by Aleksander Schipper, about 1 month ago.

Vi har alle funnet oss selv i den kleine situasjonen. Er det meg det er noe galt med? Er det deg det er noe galt med? Begge parter vet ikke helt hva som skjer, men noe er feil - og det er flaut for alle. Du prøver å få gjennom noe, men får det ikke til. Jeg er ganske sikker på at jeg ikke har med meg noe ræl fra siste side jeg var på - tenker du. Og det er nok sant. Det er ikke deg, men det er den du interagerer med, dessverre. Du er ikke den første, og er hvert fall ikke den siste. Man snakker ofte om helsesjekk i forskjellige systemer, men det er spesielt en form for sykdom det ikke snakkes mye om i dag. Den er veldig utbredt, men lite kjent hos folk flest. Det er et felles ansvar å løfte sykdommen ut fra skyggene. Jeg snakker selvfølgelig om ubeskyttet UX

Designere fra flere forskjellige disipliner jobber gjerne med UX, og du har kanskje hørt titler som; interaksjonsdesigner, tjenestedesigner, informasjonsarkitekt, grafisk designer, visuell designer, UI designer, Adferds-designer, Idé-astronaut, Designpsykolog osv... Noe som gjør det ekstra fancy er om det står -lead bak. Da har man liksom svart belte, og er helt rå i faget. Men noe jeg føler vi ofte glemmer er at UX er noe som treffer alle i teamet. Om du er en helt sinnsyk fullstack utvikler, eller om du har en mastergrad i forretning fra en fancy skole i utlandet - inngår UX deg også. 

Jeg gjerne dele noen erfaringer om ubeskyttet UX jeg har opplevd:

Produkteier vet visst ALT som er verdt å vite om brukerne av systemet. Man blir møtt med motstand dersom man nevner ting som: Intervjuer, brukertester, medlytt på saksbehandlere... Kreative workshops oppleves som bortkastet tid. Fasiten sitter i samme rom som deg. Produkteier kan alt om brukerens problemer og behov.

Teamet måles på hvor mye de lager, hvor mange JIRA tasker de fullfører og hvor fort dette går ut i produksjon. Det er jo kjekt å kunne gjøre raske endringer dersom noe er feil, men hvis suksessfaktoren i teamet er hvor mye de får ut - så er det noe som skurrer. Bare fordi man kan bygge noe, bør man egentlig bygge det? 

Når det først gjennomføres en brukertest, så er det liten interesse hos utviklere og forretning. Alle bør bidra! Backend, Frontend, fullstack, forretning, design - alle bør være med! Alle observerer forskjellige ting som har med systemet å gjøre. Alle bør bry seg mye om dette, og hvis alle bryr seg, får alle mer eierskap. Ikke bare det, men man avdekker enda flere muligheter for forbedring. 

Designere får høre at de er her for å få alt til å se pent ut. Ikke noe mindre, ikke noe mer. 

Hva mitt foredrag kommer til å dreie seg om

Jeg kommer til å dra opp konkrete eksempler på ubeskyttet UX i Backend, Frontend og hvordan ubeskyttet UX foregår i tverrfaglige teams. Disse eksemplene trekker jeg fra prosjekter jeg selv har vært med på, og hva jeg har sett i andre løsninger. De siste 2 årene har jeg jobbet som UX designer i Sparebank1, og før det har jeg vært borte i andre prosjekter hvor det har skjedd endel ubeskyttet UX. Spesielt i Sparebank1, så har jeg vært med på å modne teamet for å jobbe mer hypotesedrevet uten fokus på å levere mest mulig. Presentasjonen drar seerne med på en ekte fortelling med gode metaforer og spenstige punchlines. Foredraget ender med hvordan et team sammen kan praktisere sikker UX (teste seg selv ofte), og hvordan hver enkelt kan bli en god UX ambassadør - uavhengig av hvilket fagfelt man kommer fra. Ikke minst hva slags verdi det vil gi for brukeren. 

Read more...

How does your favorite TV show end up on your screen?

Short talk (30 mins) - Suggested by Arne Størksen, about 1 month ago.

Over the last 4 years, TV 2 has worked on replacing a lot of old systems with new systems and a new arcitechtural philosophy. Going from an architecture based around moving files around, a team of developers has created an integration platform that handles all integrations through APIs and events.

In this talk I will describe the different systems, services and technologies involved in getting a TV show playing both on the regular linear channels and on Sumo, the streaming service. 

Key technologies: Java/Kotlin, Spring Boot, Eventsourcing, Docker

 

Read more...

Beyond unit testing: Writing automated tests for every layer of your application

Short talk (30 mins) - Suggested by Anders Rabo Thorbeck, about 1 month ago.

Unit testing is a well known and widely followed practice these days. But how do you go about testing the functionality that spans the borders of your application? How do you test your database constraints, your database access code, your API endpoints, and the interoperability between your different independently deployed services?

This talk presents a compilation of different methods you can use to write tests for every aspect of your application:
* dependencies to your application,
* all the layers within your application, and
* your application's dependencies to other services (with a special focus on databases).
It will be structured somewhat like a cookbook, with concrete examples provided.

This talk will be useful to anyone who would like to learn more about the non-trivial parts of writing automated tests for backend services. It represents half a decade's worth of hard-earned knowledge from real test use cases. The talk may be particularly enlightening to junior developers, but more experienced developers will likely also stand to learn a thing or two. The examples will be in Java, but the approaches should be applicable in other backend languages as well. 

Read more...

How to trust software again

Short talk (30 mins) - Suggested by Ju Liu, about 1 month ago.

As technology workers we deal every day with abstractions and complexity, but how much do we actually trust software? For example, do we trust electronic voting to be safe? How do we know that the applications that we build don't have an off-by-one error that could have catastrophic consequences? Where is the engineering in software engineering?

In this talk we will explain how we can rebuild trust in the software that we write, using techniques lifted from the functional programming world and smarter compilers that will double check every line of code that we write. We will go through the case study of an application written in Elm with over 700'000 lines of code that serves millions of users every day, and does that with (almost) no runtime exceptions.

By the end of the talk, you will be convinced that you don't need a PhD in computer science to write functional code and what sort of benefits it can bring to your team.

Read more...

How to design APIs worth using

Short talk (30 mins) - Suggested by Anders Rønning Dahlen, about 1 month ago.

You have all seen them. API's with a wonderfull... documentation. You have begged, cursed and cried, but that API won't give away it's secrets and inner workings. "How can you create something this shitty?" you asked rethorically. And then you went and created API documentation with the same quality.  

Here you will learn how to start not being that person. How to create something worth using. What tools you can use to create an API documentation you can both understand and work with next year. 

Key learning points:

- How to do API first development through live coding using OpenAPI

- Proper use of Rest

- Proper URI design

Read more...

Agile Architecture - What is it, and what you need to get right

Short talk (30 mins) - Suggested by Thomas Malt, about 1 month ago.

How do you scale a technology engineering organisation with high cohesion and alignment, while following agile principles and striving for autonomous teams? At Entur we try to achieve this with 14 parallell development teams, transforming the Norwegian Public Transport Sector.

The talk will draw on the presenters experience as a developer, manager, architect and agile coach from the last 20 years to show examples what we try to do at Entur, why we chose that approach, and what we achieve today, and what we hope to achieve moving forward.

The talk will focus on the approach that effective agile architecture need to take into account how you organise your teams, as well as designing and building the best possible solution, service platform, and technology stack.

 

Read more...

“No, I want to work with people”

Short talk (30 mins) - Suggested by Vetle Leinonen-Roeim, about 1 month ago.

Back when I was a teenager, I asked a friend if he wanted to study computer science, and his answer was no, because he wanted to work with people. A few decades later, this statement seems absurd, because sometimes it feels as if working with people is all we do.

In this presentation we discuss how we’re working with people not only when we attend meetings, but even when we’re neck deep in code, and how we can do small things to improve (or worsen) how we work together - from how we communicate in pull-requests to how we organize our code, from how we talk in standup meetings, to how we sit in the dreadful meetings we love to hate.

Read more...

Software is eating the world, but remember to brush its teeth

Short talk (30 mins) - Suggested by Vetle Leinonen-Roeim, about 1 month ago.

If software is eating the world, as Marc Andreesen wrote in 2011, then security vulnerabilities are its toothaches and cavities. As time goes on, as software continues eating and consuming every industry in its path, it only gets worse.

Security vulnerabilities can come all angles, and all layers of your software system can be potential minefields riddled with undisclosed vulnerabilities - from your frontend library, to your CPU.

This talk takes you on a tour of the terrible state that is IT security, how everything is broken and we're building layers upon layers on top of insecure software and infrastructure, and will leave you wondering how we get anything done at all.

Read more...

Customizing your Windows 10 Sandbox

Short talk (30 mins) - Suggested by Olav Tvedt, about 1 month ago.

One of my favorite new features is Windows Sandbox. A pre-created VM that are safe to test out stuff, both apps, and web-related stuff out of the box. But what if the default setup is not enough? I want to be able to test out different web browsers, and maybe I often use a setup with different applications? This session shows how you can create customized configuration files and scripts that can make install applications and customize windows settings to your needs. Attendees will get access to all scripts and config files.

Read more...

recheck and the Sorcerer's Stone: Turning Selenium into Adamantium

Short talk (30 mins) - Suggested by Jeremias Rößler, about 1 month ago.

Ever had that: after a simple change, suddenly 50+ tests are failing! Brittle tests that hinge on GUI specifics and result in the dreaded NoSuchElementException are a main headache when testing with Selenium.

 

The open source project recheck offers a simple and elegant solution. Not only is a virtual identifier unaffected by UI changes, you can define it for otherwise hard to specify elements, i.e. that would require complex xpath or CSS selector expressions. And on top of that, tests are easier to create and maintain and yet much more complete in what they check. This talk gives a practical introduction to the underlying approach and the tool, complete with a life coding session.

Read more...

Sidecars and Serivcemesh

Short talk (30 mins) - Suggested by Kamesh Sampath, about 1 month ago.

The first generation of microservices was primarily shaped by Netflix OSS and leveraged by numerous Spring Cloud annotations all throughout your business logic. The next generation of microservices will leverage _sidecars and a service mesh_. In this session, we will give you a taste of Envoy and Istio, two open source projects that will change the way you write _Cloud Native, Java Applications on Kubernetes_.

Service Mesh alleviates most of the common distributed computing pain points like smart routing, traffic splitting, canaries etc., In this session, we will explore on how to download, setup Istio on your local laptop, deploy few Java Microservices as part of the Istio Service Mesh with Istio sidecar proxy.

Istio Proxy sidecars will spice up the Cloud Native Applications with the ability in splitting traffic between various version of services, smart routing using request headers, doing chaos engineering and much more but ALL WITHOUT CODE REDEPLOYS.

Read more...

On-Demand Serverless Integration with Apache Camel and Knative

Short talk (30 mins) - Suggested by Kamesh Sampath, about 1 month ago.

Staring 2019 we started to see "serverless" taking centre stage in all application architectures and enterprise integration is no exception. In enterprise integration world Apache Camel(https://camel.apache.org) has been the de-facto platform for doing application and service integrations. In this session we will see how to apply common Enterprise Integration Patterns(EIP) with Apache Camel and Kubernetes.  

In this session we will see the new framework Camel-K (https://github.com/apache/camel-k);  how it helps in deploying Camel DSL code as "integrations" in Kubernetes and going one more level up by making them serverless and "on-demand" using Knative."

Read more...

How To Write Code Worth Reading

Short talk (30 mins) - Suggested by Sten Christoffer Eliesen, about 2 months ago.

Regardless of skill level, some programmers write code that is performant, bug free and works great, but is very difficult to read and understand, and thus difficult to maintain. It has become popular to champion for code that is self documenting. That’s great, but unfortunately this can lead to a hostility towards good comments. In this talk I hope to convince you why you should write comments. With examples I demonstrate how it can make your code enjoyable to read and not just to write.

Read more...

A telemetry library for mobile applications: Glean

Short talk (30 mins) - Suggested by Jan-Erik Rediger, about 2 months ago.

When a new version of the Firefox browser for Android shipped in June 2019, it was also the official launch of Glean, a new mobile product analytics & telemetry solution true to Mozilla's values. 
Since that first application, we shipped it in a couple more Android applications, made it cross-platform to also ship on iOS and are now working on bringing it back to desktop plaforms.

But what even is a "product analytics & telemetry solution"?
What data do we collect and what questions do we answer with it?
And why was a new library needed?

This talk lays out the design principles of Glean, how we managed to build it for multiple platforms at once,
and how our lean data practices helped us shape a solution that might even work for you.

And as a sidenote: Rust plays a big role for the cross-platform approach.

Read more...

Mind the Dogma! - Helping others “be Agile"

Short talk (30 mins) - Suggested by Julian Holmes, about 2 months ago.

Too often both individuals and organisations learn about Agile and decide to enact change, only to get caught up in trying to "do Agile” as opposed to “be Agile”. The difference, whilst subtle, can be hugely significant in the success of any delivery transformation exercise, and the mistakes that are made when people are asked to “do Agile” can be extremely damaging, often resulting in a delivery failure.

In this presentation, Julian will share his experiences of dealing with many an organisation who took the wrong approach, with a number of anecdotes highlighting the “bad smells” he uncovered, and what was required to address the mistakes.

Read more...

The unstoppable secret superpower of WebRTC

Short talk (30 mins) - Suggested by Jan Greger Hemb, about 2 months ago.

You might know that WebRTC allows you to have plugin free video conversations with other people. However, you might not know its secret superpower. An unstoppable feature that allows you to easily transfer files, create secure E2E chats, create p2p games, share your screen, share your redux state, and even create a front-end content delivery network. And all of this without even asking for permission. It’s time you heard about the data channel and how it can transform your websites forever.

Read more...

The unstoppable secret superpower of WebRTC

Short talk (30 mins) - Suggested by Jan Greger Hemb, about 2 months ago.

You might know that WebRTC allows you to have plugin free video conversations with other people. However, you might not know its secret superpower. An unstoppable feature that allows you to easily transfer files, create secure E2E chats, create p2p games, share your screen, share your redux state, and even create a front-end content delivery network. And all of this without even asking for permission. It’s time you heard about the data channel and how it can transform your websites forever.

Read more...

Brain hacks for software developers

Short talk (30 mins) - Suggested by Roger C S Wernersson, about 2 months ago.

I've been reading a lot on psychology and team dynamics. Over the years I have used that knowledge to experiment on myself and my surroundings to find better ways of developing software. I will share knowledge of the workings of brains which I have accumulated, and which has an impact on your performance as a Software Developer, all based on peer reviewed science. You will change how you spend your time to better utilize the best tool you will ever own.

Read more...

Technical interviews: the other side of the table

Short talk (30 mins) - Suggested by Andrea Brambilla, about 2 months ago.

Technical interviews are a key step in the process of hiring software developers. And you, as an experienced software developer, are typically asked to conduct the interview. You are handed the candidate's CV, maybe you manage to skim through the job announcement, then you are shoved into a room with a complete stranger and you are expected to come back with a comprehensive report of the candidate's technical prowess.

If this makes you uncomfortable and it feels a bit intimidating, you are not alone. A simple online search can reveal that assessing someone's abilities is a much debated problem even among professional recruiters. We are faced with a difficult task, clearly outside of our comfort zone, and we hardly had any formal training on the subject.

This talk aims at providing some basic principles and guidelines that developers can refer to when running a technical interview. We will touch on how to prepare for the interview, how to select and prioritize the desired technical skills, and possible ways to harvest relevant information from the candidate. Programming tests, in different flavors, are often used before or during interviews. We will discuss some considerations on preparing programming tests, evaluating them, their pros and their cons. Finally, a fundamental requirement for hiring good software developers is having good applicants. The talk will conclude with suggestions on what we, as software developers, can do in order to improve the company's image and reach the candidates we are looking for.

Read more...

Innovation does not need to rely on luck

Short talk (30 mins) - Suggested by Magnus Tovsen Solheim, about 2 months ago.

9 out of 10 startups fail. The reason is that people still look at innovation as something that inherently needs to include luck. But it does not. Harvard Business School professor, Clayton Christensen, the man who coined the term «disruptive innovation», has spent the last 20 years of his life trying to understand what makes people buy products. He has come to the realization that "people don’t just buy products or services. They "hire" them to do «jobs» that arise in their lives.». And when you know the job, you can actually identify the metrics that the customer uses to evaluate whether the product is successful or not, which means you no longer need to rely on luck when creating new products.

Despite its game changing potential, I have discovered that surprisingly few people know what «jobs to be done» really is about. So, i want to give an introduction on it as well as share how it has changed how I develop new digital products at TV 2. So far I have held the presentation three times at TV 2, and got comments like: «this has totally changed the way I go about my work» «best thing I’ve heard in years». Hopefully, you’ll have the same experience!

Read more...

3.5 techniques for safer message handling

Short talk (30 mins) - Suggested by Nils Larsgård, 2 months ago.

A lot can go wrong in a distributed event-based system. Underlying services are failing and becomes unresponsive. Your kafka-cluster goes down from time to time because of upgrades, full disks or just plain old crashes. Unexpected rebalancing of topics creates trouble for your kafka-consuming applications. Your micorservice is maybe healthy, but how do you handle that the rest of the world is falling apart?

In this talk I will talk about how you can process your kafka-messages in a safer way. I have destilled some practices from working with architectures at Finn.no and Reuters to 3.5 techniques that can become handy in any event-based system, not just limited to kafka. 

Read more...

3 easy performance improvements in your microservices architecture

Short talk (30 mins) - Suggested by Nicolas Fränkel, 2 months ago.

While a microservices architecture is more scalable than a monolith, it has a direct hit on performance.

To cope with that, one performance improvement is to set up a cache. It can be configured for database access, for REST calls or just to store session state across a cluster of server nodes. In this demo-based talk, I’ll show how Hazelcast In-Memory Data Grid can help you in each one of those areas and how to configure it. Hint: it’s much easier than one would expect.

Read more...

There is NO Developer Uniform!

Short talk (30 mins) - Suggested by Adrienne Tacke, 2 months ago.

"No devs wear that!" "She's probably just looking for Facebook" "You're too pretty to be a dev" "Only real devs use Macs"

When we wonder why there is no diversity in tech, these stereotypes and gatekeeping philosophies are largely to blame. Having heard them over and over in my own career, I've learned to resist the negativity that ensues from these thoughts. Instead, I used them as fuel for my success.

In this talk, I want to share my journey on how I became a software developer and the obstacles I (and many other women) faced (and still are!). At the end of my story, I hope to be a driving force in dismantling the stereotypes and gatekeeping philosophies and inspire everyone to truly believe that there is no developer uniform.

Read more...

The final safety net

Short talk (30 mins) - Suggested by Andreas Cederström, 2 months ago.

End-2-end tests and UI test is a bad idea, right? Wrong!
I will show you how to test drive your application development (TDD) from the user perspective and build a stable suite of end-2-end tests. These automated tests will take the same path as your users would; via the graphical user interface.
This provides confidence that your business critical features work and enable you to go fast!
It will lead to better design, less code and help enforce common language throughout the code base.
I will show you how to test drive your next feature from the outside, focusing on what users want it in order to meet their needs. I will demonstrate this with Cypress.
I have tried this approach during the last year and it has dramatically improved my confidence during large refactoring but also provided me with the final safety net when building new functionality.

Read more...

How big is a service?

Short talk (30 mins) - Suggested by Anders Jändel, 2 months ago.

Whether you're an architect or someone who listens to architects, you have probably heard about micro service architectures by now, and all the goodness they bring. Whether your business is just getting started with, or was one of the pioneers of such architectures, chances are you will be designing new services in the future.

This talk discusses both technical and organizational design considerations of software services, sprinkled with personal experience and rounded off with four practical lessons learned. Topics range from the trade-off between the potential of freedom of choice vs the efficiency of conformity between services, to how continuous delivery applies to time to market.

Read more...

Building a voice bank

Short talk (30 mins) - Suggested by Øyvind Randa, 2 months ago.

Voice assistants is growing in use and opens exciting new ways of building services for customers.
How can we use voice technology to offer great services in a more natural and personal way?
We build a voice bank on the Google Assistant platform with the aim of helping people with disabilities to have a better banking experience.
 
We will talk about best practices for making a voice application and how we implemented that. At the end we will give a short demo of the voice bank experience.  

Read more...

Big changes and no tests

Short talk (30 mins) - Suggested by Dominik Kapusta, 2 months ago.

Ever feared, that your tiny change to a giant legacy codebase might make it fall apart like a house of cards? What did you do? Reviewed the code 10 times, covered with tests, prepared tons of test data, load-tested, checked production logs every minute? But could you sleep well at night, even after all these precautions?

We’ve been there and we know the pain. Developing one of the largest Atlassian’s cloud products required us to find ways to alleviate the risk of incidents and performance regressions. While refactoring the existing code we simply couldn’t rely solely on our tests. I’d like to share our ideas with you and give some guidelines on incorporating them.

In the solution that I’m going to present the only thing required from a developer is to wrap his code change with a special service. The “code change” could be for example a replacement of old method with its new, refactored version. The service would then ensure smooth rollout of the change by:

  • Alerting if the new method is slower or throws exceptions
  • Enabling a fallback to the old method in case of any problems
  • Ensuring both methods return the same data
  • Providing faster feedback loop.

Read more...

Skills I use in testing that I learned from playing Dungeons and Dragons

Short talk (30 mins) - Suggested by Magnus Pettersson, 2 months ago.

Can we learn vital testing skills from a collective daydream? I say yes, and I’ll tell you how it worked for me. Roleplaying has elements that answers to the description above, and teaches skills that can be put to good use in testing. My own journey as a roleplayer started when I was 8 years old. Now, about 30 years on, I can thank my hobby for many of the skills I use in my testing career. I ended up in testing by coincidence like so many others and had to use whatever skills I already knew to come in control of my new job. Fortunately, the skills I’d learned through all these years of roleplaying proved useful, and through the years, I’ve had many opportunities to find uses for them. The curiosity and ability to learn things fast, that sort of comes natural with roleplaying helped me alot during an internship where I had to learn the quite complicated software fast to become productive in the test team. Reading the thick books and tables that makes out the rules and worlds of some of my favourite roleplaying systems, proved very useful when sifting through data, for example when I had to follow reports for several busses in the region of skåne, to see if they sent the data they were supposed to. Writing scenarios for a hobby was no different than writing a scenario test which was well suited to combine with another common roleplaying feature, the drawing of maps and floor plans. As an example: I was testing alarm controls on a new platform a couple of years ago. To make my scenarios more clear, and have a comprehensive way of describing quite complicated alarm systems I made a simple floor plan for my scenarios. Thanks to this, the scenarios managed to live as long as needed, and could be pulled out months after creation without raising any questions on what was the thoughts behind any of the tests. To this day, 8 years of testing and 30 years of roleplaying later, I still try out new ways of using skills I learned from playing Dungeons and Dragons, in testing.

Read more...

o11y - på tide å dumpe loggen?

Short talk (30 mins) - Suggested by Fredrik Vraalsen, 2 months ago.

Hva gjør du når systemet ditt er nede?
Hvordan finner du ut *at* det er nede?
Og for hvem, om det ikke gjelder alle brukere?
Hvordan går du frem for å identifisere hva som er problemet?

Logger og metrikker hjelper oss i utgangspunktet bare med å finne "known unknowns", altså de problemene man kjenner til og derfor har lagt til logging eller målinger for. Det hjelper oss lite med å identifisere "unknown unknowns", de problemene man ikke har vært borti før, som blir mer vanlig i de mer og mer distribuerte og dynamiske systemene vi bygger. Vi har begynt å jobbe med Observability (o11y). Hva betyr dette egentlig for et system, og hvordan kan vi oppnå det? Jeg tenkte å dele litt av det vi har funnet og erfart så langt.

Read more...

Highscores - A Brief History of Computer Music

Short talk (30 mins) - Suggested by Anders Norås, 2 months ago.

Computer programmed music has come a long way since the CSIR Mark 1 played a scratchy Colonel Bogie back in the early 1950s. In this talk we'll go on a journey through the history of music made with code. We'll meet the pioneers who invented computer music, visit classic video game soundtracks, learn how computer musicians made big sounds with tiny tech, how algorithms create never-ending soundtracks and the huge impact computer music has had on popular culture. Expect lots of nostalgia, vintage code on vintage computers and a musical experience of epic proportions.

Read more...

How to Start Contributing to Open Source

Short talk (30 mins) - Suggested by Piotr Gaczkowski, 3 months ago.

Getting started in Open Source can be intimidating. How do you find your first project? What does a valuable contribution look like? How do you collaborate and stay positive in an online environment? Can you earn money via Open Source projects?

I will share my experiences and lessons learned over 12 years and many OS contributions. No matter your level of technical experience, you can expand your opportunities and learn everything you need to get started.

Read more...

Ego-less Programming: the philosophy of better code

Short talk (30 mins) - Suggested by Piotr Gaczkowski, 3 months ago.

Throughout my career in software development, I've observed many teams struggle with development even though they had top-notch talent on board. Even worse, sometimes the most talented teams had the greatest struggle.

Then one day, I found wisdom in a place I had not thought to look: a philosophy book. After some research and consideration, I learned that many root causes fall into the same category: ego issues.

In this talk, I will share what philosophers can teach programmers about setting aside the ego. I'll cover:

  • How ego can lead to unusable APIs.
  • Who owns the code and who should be considered its author.
  • What philosophy teaches about ego.
  • Whether formal processes help or hinder our efforts.
  • How DevOps makes it easier to drop the ego.
  • What tools can we use to facilitate better teamwork and write better code.

Read more...

Contract testing in microservices environment with Judge-d

Short talk (30 mins) - Suggested by Filip Łazarski, 3 months ago.

Typical microservices environment consists of many services. In order to provide business value, they need to cooperate. Therefore, it is crucial to ensure that the services are always able to communicate with each other. What if by accident a developer introduces a change to one service, which will make inter-service communication impossible? It is necessary to prevent such situations from happening. Therefore, HL Tech developed an open source project called Judge-d. Judge-d verifies if a change introduced to a service would pose a threat to communication within any environment.

 

In my presentation I briefly discuss threats to communication in microservices environment, contract testing as a typical solution and how Judge-d realizes contract testing. I describe how REST and JMS contracts are represented in Judge-d. I will present possible alternatives and their disadvantages as well.

Read more...

Write Better Software with ACRUMEN!

Short talk (30 mins) - Suggested by Dave Aronson, 3 months ago.

Do you write high quality software?  How do you know?  Can you define software quality?  To get us all onto the same page and give us something to aim at, I've invented a new and simple definition, called ACRUMEN.

ACRUMEN is based on six one-word aspects.  (Yes, six, even though ACRUMEN has seven letters.  Come to the talk to see what the other one stands for!)  I will explain the overall concept, why we should care, how we can use this, each aspect, and useful tips on how to achieve them.  You will become better equipped to critique software, give feedback on its shortcomings, and improve the quality of your own.

The aspects and tips are timeless and technology-agnostic, useful with languages from the dinosaur days to tomorrow and beyond, and by developers from fresh-faced novices to grizzled graybeards.

(Slides from an old version of the talk are at https://www.slideshare.net/slideshow/embed_code/key/mZEA5sSg5DGMEd.  This presentation may use different slides, but frankly the content of most of the slides aren't the important part.)

Read more...

Kill All Mutants! (Intro to Mutation Testing)

Short talk (30 mins) - Suggested by Dave Aronson, 3 months ago.

How good are your tests?  Would they still pass if the tested code was changed?  If so, there may be problems with your code, your tests, or both!

Mutation Testing helps reveal these cases.  It makes lots of slightly altered versions, called "mutants", of each of your functions or methods, and runs each method/function's unit tests, using each of its mutants instead.  If a mutant makes any test fail, that mutant "dies".  If there are any "survivors", that implies that there are flaws in your code, your tests, or both!  Your code might not be meaningful enough that a slight mutation would change the behavior, your tests might not be strict enough to catch the difference that the mutation made, or both!

This talk will tell you how to use mutation testing, its benefits, drawbacks, and pitfalls, and how it works under the hood.  There will be several examples (in clear pseudocode), and a list of tools for popular languages (including Python, Ruby, Javascript, Java, C++, C#, *anything* that compiles via LLVM, and more).

You will come away equipped with a powerful new technique for making sure your tests are strict and your code is meaningful.

(Slides from an old version of the talk are at https://www.slideshare.net/slideshow/embed_code/key/MaVR6H4eMQWkbl.  This version may use different slides, but frankly the content of most of the slides aren't the important part.)

Read more...