Futurice Tech Weeklies
Parse, don’t validate - In Java

Parse, don’t validate - In Java

May 13, 2021

"Parse, don't validate" is an approach to modeling data such that it is impossible to construct without verifying the integrity of the data first. Thus when using such data, one can be sure that it is already in the correct shape and no further validation is necessary.

In short, this approach makes it explicit where your data gets refined. This blog by Alexis King uses examples in Haskell, mostly because the language has a short and concise syntax. To show that such an approach works in any other language too (albeit with a bit more boilerplate approach), Jan will also demonstrate it in Java.

 
Presenter: Jan van Brügge
 

Parse, don’t validate - In Java (Audio Only)

Parse, don’t validate - In Java (Audio Only)

May 13, 2021

"Parse, don't validate" is an approach to modeling data such that it is impossible to construct without verifying the integrity of the data first. Thus when using such data, one can be sure that it is already in the correct shape and no further validation is necessary.

In short, this approach makes it explicit where your data gets refined. This blog by Alexis King uses examples in Haskell, mostly because the language has a short and concise syntax. To show that such an approach works in any other language too (albeit with a bit more boilerplate approach), Jan will also demonstrate it in Java.

 
Presenter: Jan van Brügge
 
Learn from your mistakes

Learn from your mistakes

May 6, 2021
In this edition of Tech Weeklies, Olavi shares his learnings from creating and maintaining a Sailfish OS app for tracking working hours, called Working Hours Tracker. It was a project he started in 2014 and has been developing and maintaining it ever since. The most recent version of the app was released in February 2021.
At the time of starting this project, Olavi had been studying for a few years, and had little real world experience in software projects. As we all know, most of the learning happens at work or when doing some side projects. His limited experience and knowledge led to some of the interesting mistakes made during the project. This talk covers some of those mistakes and the lessons he learned from them.
 
Presenter: Olavi Haapala
 

Learn from your mistakes (Audio Only)

Learn from your mistakes (Audio Only)

May 6, 2021
In this edition of Tech Weeklies, Olavi shares his learnings from creating and maintaining a Sailfish OS app for tracking working hours, called Working Hours Tracker. It was a project he started in 2014 and has been developing and maintaining it ever since. The most recent version of the app was released in February 2021.
At the time of starting this project, Olavi had been studying for a few years, and had little real world experience in software projects. As we all know, most of the learning happens at work or when doing some side projects. His limited experience and knowledge led to some of the interesting mistakes made during the project. This talk covers some of those mistakes and the lessons he learned from them.
 
Presenter: Olavi Haapala
 
Have you tried Deno yet?

Have you tried Deno yet?

April 29, 2021
The creator of Node.js, Ryan Dahl, released a new shiny runtime for Javascript and TypeScript in 2018 called Deno. Release 1.0 finally came out in 2020, and eager developers flocked to use Deno in production. Or did they?
In this TechWeeklies talk, Minna briefly introduces the features and design aims of Deno. Then she addresses the obligatory question "how does it compare to Node?". The talk also includes a live coding demo to showcase how easy it is to use Deno for your daily ad-hoc scripting needs.
 
Presenter: Minna Niemi
 

Have you tried Deno yet? (Audio Only)

Have you tried Deno yet? (Audio Only)

April 29, 2021
The creator of Node.js, Ryan Dahl, released a new shiny runtime for Javascript and TypeScript in 2018 called Deno. Release 1.0 finally came out in 2020, and eager developers flocked to use Deno in production. Or did they?
In this TechWeeklies talk, Minna briefly introduces the features and design aims of Deno. Then she addresses the obligatory question "how does it compare to Node?". The talk also includes a live coding demo to showcase how easy it is to use Deno for your daily ad-hoc scripting needs.
 
Presenter: Minna Niemi
 
A brief tour of next-gen JavaScript build tools

A brief tour of next-gen JavaScript build tools

April 22, 2021
Getting a modern JS project from git to running in a terminal takes ages. There is the installation of dependencies, running the server, running the bundler, maybe a type-checker, the CSS pipeline. There are watchers watching watchers, and the whole thing makes both my head and your computer's fans spin. The setup is yet more complex once you start adding multiple projects in one codebase, when you think of Server-Side Rendering and so on.
 
This delay has a real impact on people being able to contribute to the codebase, especially when it comes to iterative UI work. Trying to make things faster in the current (by some definition) model hits diminishing returns, and takes active time and budget to do right. For example, over three years Fotis has reworked his current project's pipeline four times, and while it was faster each time, it still can be a challenge!
 
In this talk, Fotis tries a different approach. He will give you a brief tour of modern tools that rethink how dependencies are bundled in development, and the very real gains that they offer.
 
Presenter: Fotis Papadogeorgopoulos
 

A brief tour of next-gen JavaScript build tools (Audio Only)

A brief tour of next-gen JavaScript build tools (Audio Only)

April 22, 2021
Getting a modern JS project from git to running in a terminal takes ages. There is the installation of dependencies, running the server, running the bundler, maybe a type-checker, the CSS pipeline. There are watchers watching watchers, and the whole thing makes both my head and your computer's fans spin. The setup is yet more complex once you start adding multiple projects in one codebase, when you think of Server-Side Rendering and so on.
 
This delay has a real impact on people being able to contribute to the codebase, especially when it comes to iterative UI work. Trying to make things faster in the current (by some definition) model hits diminishing returns, and takes active time and budget to do right. For example, over three years Fotis has reworked his current project's pipeline four times, and while it was faster each time, it still can be a challenge!
 
In this talk, Fotis tries a different approach. He will give you a brief tour of modern tools that rethink how dependencies are bundled in development, and the very real gains that they offer.
 
Presenter: Fotis Papadogeorgopoulos
 
You Make My Head Spin: Reducing Motion on the Web

You Make My Head Spin: Reducing Motion on the Web

April 16, 2021
Some people suffer physically when they encounter something like parallax scrolling or horizontally scrolling text. It can cause them nausea, dizziness, or other symptoms that can last for hours. These people can turn the "reduce motion" settings ON from the system level. As a developer, you have tools to respect that setting.

In this talk, Eevis discusses why motion can trigger the symptoms mentioned above and what kind of animations can be problematic (this can be surprising for some!). She also shows you how to respect the user’s settings with the prefers-reduced-motion media feature.
 
Presenter: Eeva-Jonna Panula
 

You Make My Head Spin: Reducing Motion on the Web (Audio Only)

You Make My Head Spin: Reducing Motion on the Web (Audio Only)

April 16, 2021
Some people suffer physically when they encounter something like parallax scrolling or horizontally scrolling text. It can cause them nausea, dizziness, or other symptoms that can last for hours. These people can turn the "reduce motion" settings ON from the system level. As a developer, you have tools to respect that setting.

In this talk, Eevis discusses why motion can trigger the symptoms mentioned above and what kind of animations can be problematic (this can be surprising for some!). She also shows you how to respect the user’s settings with the prefers-reduced-motion media feature.
 
Presenter: Eeva-Jonna Panula
 
 
React Error Boundary ft. TDD with Testing Library

React Error Boundary ft. TDD with Testing Library

April 9, 2021

Error Boundary is a React component that catches JavaScript errors anywhere in their child component tree, which enables graceful handling of runtime errors and offers a way to recover from them. The way it is used makes it important to have it well-tested.

In this talk, Layla talks about what error boundaries are and why they are a valuable tool in your React toolbox. She also builds you an example of how to test those error boundaries with React Testing Library using Test-Driven Development.

 

Presenter: Layla Ouyang

 

React Error Boundary ft. TDD with Testing Library (Audio Only)

React Error Boundary ft. TDD with Testing Library (Audio Only)

April 9, 2021

Error Boundary is a React component that catches JavaScript errors anywhere in their child component tree, which enables graceful handling of runtime errors and offers a way to recover from them. The way it is used makes it important to have it well-tested.

In this talk, Layla talks about what error boundaries are and why they are a valuable tool in your React toolbox. She also builds you an example of how to test those error boundaries with React Testing Library using Test-Driven Development.

 

Presenter: Layla Ouyang

 
Adversarial Stylesheets: User-styles for better Accessibility

Adversarial Stylesheets: User-styles for better Accessibility

April 1, 2021

User-defined stylesheets allow users to make customizations to websites with CSS to better accommodate their needs and preferences. For example, users can add back removed focus styles or redefine how sticky elements behave on different zoom levels to help make sites more accessible, when they are otherwise less so.

In this talk, Fotis walks you through how to create and use user-styles and showcases an example of his own user-styles written for Duolingo's website.

Presenter: Fotis Papadogeorgopoulos

 


Adversarial Stylesheets: User-styles for better Accessibility (Audio Only)

Adversarial Stylesheets: User-styles for better Accessibility (Audio Only)

April 1, 2021

User-defined stylesheets allow users to make customizations to websites with CSS to better accommodate their needs and preferences. For example, users can add back removed focus styles or redefine how sticky elements behave on different zoom levels to help make sites more accessible, when they are otherwise less so.

In this talk, Fotis walks you through how to create and use user-styles and showcases an example of his own user-styles written for Duolingo's website.

Presenter: Fotis Papadogeorgopoulos

 

Observable Notebooks - Rapid Development and Dissemination

Observable Notebooks - Rapid Development and Dissemination

March 26, 2021
Observablehq.com is where you can create, collaborate, and learn with data — all in the browser. Observable increases data exploration and visualization by opening up the toolset, the skills, and the access to empower a diverse user community.
Tom is an Observable Ambassador and will give a whirlwind tour of the platform, including what features are useful for non-dataviz applications. Observablehq is built from the ground up around reactivity and thus offers the tightest development loop in the business. Furthermore, it pushes literate programming to the next level with the addition of interactivity. All-in-all, it's a new development paradigm with potential for significant productivity boosts.
 
Presenter: Tom Larkworthy
 

Observable Notebooks - Rapid Development and Dissemination (Audio Only)

Observable Notebooks - Rapid Development and Dissemination (Audio Only)

March 26, 2021
Observablehq.com is where you can create, collaborate, and learn with data — all in the browser. Observable increases data exploration and visualization by opening up the toolset, the skills, and the access to empower a diverse user community.
Tom is an Observable Ambassador and will give a whirlwind tour of the platform, including what features are useful for non-dataviz applications. Observablehq is built from the ground up around reactivity and thus offers the tightest development loop in the business. Furthermore, it pushes literate programming to the next level with the addition of interactivity. All-in-all, it's a new development paradigm with potential for significant productivity boosts.
 
Presenter: Tom Larkworthy
 
A foray into the world of Progressive Web Apps

A foray into the world of Progressive Web Apps

March 19, 2021
Progressive Web Apps or PWAs are web applications that offer native-like functionality for mobile devices. Coined in 2015, PWAs share a few traits with modern web development like responsiveness, linkable and safe but add their own unique aspects with connectivity independence and re-engageability.
 
In this talk, Graham walks you through what PWAs are and how they are made. He also talks about the pros and cons you can weigh when you're making a decision between a native app and a PWA.
 
Presenter: Graham Daw
 

A foray into the world of Progressive Web Apps (Audio Only)

A foray into the world of Progressive Web Apps (Audio Only)

March 19, 2021
Progressive Web Apps or PWAs are web applications that offer native-like functionality for mobile devices. Coined in 2015, PWAs share a few traits with modern web development like responsiveness, linkable and safe but add their own unique aspects with connectivity independence and re-engageability.
 
In this talk, Graham walks you through what PWAs are and how they are made. He also talks about the pros and cons you can weigh when you're making a decision between a native app and a PWA.
 
Presenter: Graham Daw
 
Learning in public

Learning in public

February 19, 2021
When Juhis started blogging in 2013, he used to look up to other bloggers as authorities and definite experts on their fields. This led to a lot of "I don't know enough to write about this", "Someone has written this better already" and "I don't have anything to say" thoughts that self-censored a lot of his potential blog posts.
 
More recently, he's taken a different approach with blogs and talks: learning in public. By documenting his own learning journey and experimentations and sharing what he has learned about software development, he has ended up in a lot of great discussions with fellow developers. These discussions have further helped him become better at writing software.
 
In this talk, Juhis highlights how he approaches learning in public, shares inspirational moments of improvement with community and hopes to inspire you to start learning in public.
 
Presenter: Juha-Matti Santala (Juhis)
 

Learning in public (Audio Only)

Learning in public (Audio Only)

February 19, 2021
When Juhis started blogging in 2013, he used to look up to other bloggers as authorities and definite experts on their fields. This led to a lot of "I don't know enough to write about this", "Someone has written this better already" and "I don't have anything to say" thoughts that self-censored a lot of his potential blog posts.
 
More recently, he's taken a different approach with blogs and talks: learning in public. By documenting his own learning journey and experimentations and sharing what he has learned about software development, he has ended up in a lot of great discussions with fellow developers. These discussions have further helped him become better at writing software.
 
In this talk, Juhis highlights how he approaches learning in public, shares inspirational moments of improvement with community and hopes to inspire you to start learning in public.
 
Presenter: Juha-Matti Santala (Juhis)
 
Podbean App

Play this podcast on Podbean App