<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/feed.rss.xml" type="text/xsl" media="screen"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Lars Gyrup Brink Nielsen</title>
    <description>Co-Founder of This is Learning, Tech Writer, Tech Speaker, Open-Source Maintainer, Open Learning Contributor, Microsoft MVP, GitHub Star, Nx Champion, Angular Hero of Education.</description>
    <link>https://speakerdeck.com/layzee</link>
    <atom:link rel="self" type="application/rss+xml" href="https://speakerdeck.com/layzee.rss"/>
    <lastBuildDate>2019-04-22 18:19:46 -0400</lastBuildDate>
    <item>
      <title>Introduction to Open GSD Core and Pi</title>
      <description>Long agent sessions rot. The model contradicts itself, drops constraints you stated clearly, and drifts away from the conventions you set at the start. It degrades quietly — the answers keep arriving confidently while getting worse, and nothing raises an error. A 1M-token window moves that line. It doesn't remove it.

Open GSD is a context engineering discipline with two toolchains behind it. Core drives the coding agent you already run — Claude Code, Codex, Cursor, Copilot and others — through a five-step loop per phase: discuss, plan, execute, verify, ship. Each step catches a failure the one before it cannot. Plans are grouped into dependency waves, every executor starts on a fresh context window reading only its own plan, and everything shared lives in .planning/ as plain markdown on disk. Pi is its own agent runtime, built to run unattended: slices instead of phases, Git worktree isolation so your checkout stays reviewable, SQLite for runtime state with markdown projected out for review, and a flat rate on the Claude plan you already pay for rather than a per-token bill.

The talk covers what each toolchain is for and how to pick between them, how greenfield and brownfield repos enter, what autonomous mode does well and where it should hand control back (the auto trap quadrant), how each feeds learnings back into future work, and why I review from outside Open GSD before shipping a milestone.

For this room specifically: Pi's polyrepo setup needs the repos nested under one parent workspace, which is a different shape from what Nx Polygraph does — Pi coordinates repos you already assembled, Polygraph discovers and relates them for you. And the curated skill catalog has no Nx pack yet. That one is open if anyone wants it.

Slides 1–19 are the talk. Slide 20 onward is an appendix meant for reading rather than presenting: vertical slicing and TDD mode, the code review fixer loop, what Pi commits versus what stays on one machine, the Windows arm64 install failure and the fork that works around it, a Core-to-Pi command reference, polyrepo layout, and the full skill catalog.

No demo. Both installers are one command, and everything else is plain text you can read.

Core: npx @opengsd/gsd-core@latest
Pi: npx @opengsd/gsd-pi@latest — this adds the `gsd` command to your shell

https://docs.opengsd.net · https://github.com/open-gsd · MIT licensed.

Git. Ship. Done.

Presented at the Nx Champions meeting in September 2026.</description>
      <media:content url="https://files.speakerdeck.com/presentations/3605c7db942b4436abdb587111c24d35/preview_slide_0.jpg?40569468" type="image/jpeg" medium="image"/>
      <content:encoded>Long agent sessions rot. The model contradicts itself, drops constraints you stated clearly, and drifts away from the conventions you set at the start. It degrades quietly — the answers keep arriving confidently while getting worse, and nothing raises an error. A 1M-token window moves that line. It doesn't remove it.

Open GSD is a context engineering discipline with two toolchains behind it. Core drives the coding agent you already run — Claude Code, Codex, Cursor, Copilot and others — through a five-step loop per phase: discuss, plan, execute, verify, ship. Each step catches a failure the one before it cannot. Plans are grouped into dependency waves, every executor starts on a fresh context window reading only its own plan, and everything shared lives in .planning/ as plain markdown on disk. Pi is its own agent runtime, built to run unattended: slices instead of phases, Git worktree isolation so your checkout stays reviewable, SQLite for runtime state with markdown projected out for review, and a flat rate on the Claude plan you already pay for rather than a per-token bill.

The talk covers what each toolchain is for and how to pick between them, how greenfield and brownfield repos enter, what autonomous mode does well and where it should hand control back (the auto trap quadrant), how each feeds learnings back into future work, and why I review from outside Open GSD before shipping a milestone.

For this room specifically: Pi's polyrepo setup needs the repos nested under one parent workspace, which is a different shape from what Nx Polygraph does — Pi coordinates repos you already assembled, Polygraph discovers and relates them for you. And the curated skill catalog has no Nx pack yet. That one is open if anyone wants it.

Slides 1–19 are the talk. Slide 20 onward is an appendix meant for reading rather than presenting: vertical slicing and TDD mode, the code review fixer loop, what Pi commits versus what stays on one machine, the Windows arm64 install failure and the fork that works around it, a Core-to-Pi command reference, polyrepo layout, and the full skill catalog.

No demo. Both installers are one command, and everything else is plain text you can read.

Core: npx @opengsd/gsd-core@latest
Pi: npx @opengsd/gsd-pi@latest — this adds the `gsd` command to your shell

https://docs.opengsd.net · https://github.com/open-gsd · MIT licensed.

Git. Ship. Done.

Presented at the Nx Champions meeting in September 2026.</content:encoded>
      <pubDate>Tue, 15 Sep 2026 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/layzee/introduction-to-open-gsd-core-and-pi</link>
      <guid>https://speakerdeck.com/layzee/introduction-to-open-gsd-core-and-pi</guid>
    </item>
    <item>
      <title>Microfrontends Together, But Separately™ at AarhusJS by Niclas Skødt Gleesborg, Bankdata</title>
      <description>"Microfrontends Together, But Separately™" presented at AarhusJS in December, 2025 by Niclas Skødt Gleesborg from Bankdata.

"Bankdata’s frontend landscape is made up of many independent apps— yet to our customers, it all feels like one experience. This talk explores how we make that possible through collaboration, shared components, and common data. It’s a story about scaling teamwork as much as technology — and how microfrontends become more powerful when they connect."

https://www.meetup.com/aarhusjs-meetup/events/311884214/</description>
      <media:content url="https://files.speakerdeck.com/presentations/17a2cb9a73084d778e5c9930054904d7/preview_slide_0.jpg?37605008" type="image/jpeg" medium="image"/>
      <content:encoded>"Microfrontends Together, But Separately™" presented at AarhusJS in December, 2025 by Niclas Skødt Gleesborg from Bankdata.

"Bankdata’s frontend landscape is made up of many independent apps— yet to our customers, it all feels like one experience. This talk explores how we make that possible through collaboration, shared components, and common data. It’s a story about scaling teamwork as much as technology — and how microfrontends become more powerful when they connect."

https://www.meetup.com/aarhusjs-meetup/events/311884214/</content:encoded>
      <pubDate>Wed, 03 Dec 2025 00:00:00 -0500</pubDate>
      <link>https://speakerdeck.com/layzee/microfrontends-together-but-separately-at-aarhusjs-by-niclas-skodt-gleesborg-bankdata</link>
      <guid>https://speakerdeck.com/layzee/microfrontends-together-but-separately-at-aarhusjs-by-niclas-skodt-gleesborg-bankdata</guid>
    </item>
    <item>
      <title>Introduction to Angular - TimePlan Software</title>
      <description>A workshop for Angular beginners.

Presented at TimePlan Software, December 2024.

Sample application Git repo at https://github.com/LayZeeDK/introduction-to-angular</description>
      <media:content url="https://files.speakerdeck.com/presentations/bdfdfa8b85354e8e9295acc0b38fd665/preview_slide_0.jpg?32997203" type="image/jpeg" medium="image"/>
      <content:encoded>A workshop for Angular beginners.

Presented at TimePlan Software, December 2024.

Sample application Git repo at https://github.com/LayZeeDK/introduction-to-angular</content:encoded>
      <pubDate>Tue, 10 Dec 2024 00:00:00 -0500</pubDate>
      <link>https://speakerdeck.com/layzee/introduction-to-angular-timeplan-software</link>
      <guid>https://speakerdeck.com/layzee/introduction-to-angular-timeplan-software</guid>
    </item>
    <item>
      <title>Growing an Open Culture in Open Source</title>
      <description>Openness, transparency, and inclusivity organically build trust, drive collaboration, and increase the quality of our open-source products. Growing an open culture supports these principles of successful open-source products. In this talk, we highlight the characteristics of an open culture and the roles involved in key areas of open-source software. Whether you are a seasoned open-source developer, your role is in open-source leadership, or you are part of an open-source foundation, you will receive new insights into growing a more open culture in your open-source community.

Presented at:
- GitHub Stars Nova 2022
- AarhusJS, December 2022 https://youtu.be/_GwbAP91anA?si=9CzKxER2F-JnjFOp
- This is Meetup, September 2024 https://youtu.be/CD_L70FR8Sg?si=KgfWify6h6P0ZQPp

Resources:
- Seven Stages of Open Software by Matt Rocklin https://www.coiled.io/blog/stages-of-openness
- Determining the True Openness of Open Source Projects by Ibrahim Haddad, Ph.D. and the Linux Foundation https://www.linuxfoundation.jp/publications/2019/06/determining-true-openness-of-os-projects/</description>
      <media:content url="https://files.speakerdeck.com/presentations/d6c7729e74374ff3a9b0e59fa042f645/preview_slide_0.jpg?31940366" type="image/jpeg" medium="image"/>
      <content:encoded>Openness, transparency, and inclusivity organically build trust, drive collaboration, and increase the quality of our open-source products. Growing an open culture supports these principles of successful open-source products. In this talk, we highlight the characteristics of an open culture and the roles involved in key areas of open-source software. Whether you are a seasoned open-source developer, your role is in open-source leadership, or you are part of an open-source foundation, you will receive new insights into growing a more open culture in your open-source community.

Presented at:
- GitHub Stars Nova 2022
- AarhusJS, December 2022 https://youtu.be/_GwbAP91anA?si=9CzKxER2F-JnjFOp
- This is Meetup, September 2024 https://youtu.be/CD_L70FR8Sg?si=KgfWify6h6P0ZQPp

Resources:
- Seven Stages of Open Software by Matt Rocklin https://www.coiled.io/blog/stages-of-openness
- Determining the True Openness of Open Source Projects by Ibrahim Haddad, Ph.D. and the Linux Foundation https://www.linuxfoundation.jp/publications/2019/06/determining-true-openness-of-os-projects/</content:encoded>
      <pubDate>Mon, 30 Sep 2024 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/layzee/growing-an-open-culture-in-open-source</link>
      <guid>https://speakerdeck.com/layzee/growing-an-open-culture-in-open-source</guid>
    </item>
    <item>
      <title>Increased productivity and fewer bugs with Wallaby.js</title>
      <description>Wallaby.js is an invaluable development tool that gives you testing superpowers by shortening the feedback loop and augmenting your IDE for tests.

Presented at AarhusJS, November 2023</description>
      <media:content url="https://files.speakerdeck.com/presentations/3ba9b052ba0340b78c6f9b27d0c0cb83/preview_slide_0.jpg?31939695" type="image/jpeg" medium="image"/>
      <content:encoded>Wallaby.js is an invaluable development tool that gives you testing superpowers by shortening the feedback loop and augmenting your IDE for tests.

Presented at AarhusJS, November 2023</content:encoded>
      <pubDate>Sun, 29 Sep 2024 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/layzee/increased-productivity-and-fewer-bugs-with-wallaby-dot-js</link>
      <guid>https://speakerdeck.com/layzee/increased-productivity-and-fewer-bugs-with-wallaby-dot-js</guid>
    </item>
    <item>
      <title>Boost your organization's Angular developer experience with custom Nx generators</title>
      <description>Nx Champion Lars Gyrup Brink Nielsen demonstrates how to implement custom Nx generators that comply with workspace-wide architectural decisions and naming conventions in your Angular repo.

Presented at Angular Tiny Conf Shemu 2024
Recording: https://www.youtube.com/live/nVcerb1tOUA?si=dyxAjnmWUdnlafBr
Sample repo: https://github.com/LayZeeDK/nx-angular-library-generator</description>
      <media:content url="https://files.speakerdeck.com/presentations/67600c0252e94ac3819f6c03a57164cb/preview_slide_0.jpg?30797284" type="image/jpeg" medium="image"/>
      <content:encoded>Nx Champion Lars Gyrup Brink Nielsen demonstrates how to implement custom Nx generators that comply with workspace-wide architectural decisions and naming conventions in your Angular repo.

Presented at Angular Tiny Conf Shemu 2024
Recording: https://www.youtube.com/live/nVcerb1tOUA?si=dyxAjnmWUdnlafBr
Sample repo: https://github.com/LayZeeDK/nx-angular-library-generator</content:encoded>
      <pubDate>Fri, 28 Jun 2024 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/layzee/boost-your-organizations-angular-developer-experience-with-custom-nx-generators</link>
      <guid>https://speakerdeck.com/layzee/boost-your-organizations-angular-developer-experience-with-custom-nx-generators</guid>
    </item>
    <item>
      <title>Spectacular Angular feature tests</title>
      <description>Spectacular is the first Angular testing library to enable integration tests across an entire Angular feature. Feature test suites support refactoring your codebase as they don’t rely on implementation details. Combine Spectacular and Angular Testing Library to test as a user across an entire routed Angular feature. Verify complete user flows in a fraction of the time that it would take using an end-to-end testing framework.

Presented at:
- NG Poland, January 2022 https://youtu.be/KwdzKEd9ilw?si=R-lkJi-IOMEiUDmG
- Angular Vienna, July 2022
- Angular Tiny Conf: Peretor, December 2022  https://www.youtube.com/watch?v=M65J8pSqU14&amp;t=9265s</description>
      <media:content url="https://files.speakerdeck.com/presentations/5f559e33311d47098a9419cc9a0d7f79/preview_slide_0.jpg?23655464" type="image/jpeg" medium="image"/>
      <content:encoded>Spectacular is the first Angular testing library to enable integration tests across an entire Angular feature. Feature test suites support refactoring your codebase as they don’t rely on implementation details. Combine Spectacular and Angular Testing Library to test as a user across an entire routed Angular feature. Verify complete user flows in a fraction of the time that it would take using an end-to-end testing framework.

Presented at:
- NG Poland, January 2022 https://youtu.be/KwdzKEd9ilw?si=R-lkJi-IOMEiUDmG
- Angular Vienna, July 2022
- Angular Tiny Conf: Peretor, December 2022  https://www.youtube.com/watch?v=M65J8pSqU14&amp;t=9265s</content:encoded>
      <pubDate>Tue, 25 Jan 2022 00:00:00 -0500</pubDate>
      <link>https://speakerdeck.com/layzee/spectacular-angular-feature-tests</link>
      <guid>https://speakerdeck.com/layzee/spectacular-angular-feature-tests</guid>
    </item>
    <item>
      <title>Github Actions and workflows</title>
      <description>Lars introduces GitHub Actions and GitHub action workflows and answers the following questions. What can GitHub workflows automate? What can trigger GitHub action workflows? Which types of GitHub Actions can we pick from when implementing our own that are either project-specific or published on GitHub Marketplace? Finally, a CI workflow for an Angular project is demonstrated.

Demo repository:
https://github.com/LayZeeDK/github-actions-angular

Prestented at:
- Systemate All-Stars 2021
- Angular Virtual Conference 2021 by C# Corner, May 2021
- AarhusJS, November 2021
- Angular Community Meetup, March 2022

Recording:
https://youtu.be/0srT34NiiO8</description>
      <media:content url="https://files.speakerdeck.com/presentations/b9dfe04f1db3483593ee5a6e385ee95f/preview_slide_0.jpg?20782228" type="image/jpeg" medium="image"/>
      <content:encoded>Lars introduces GitHub Actions and GitHub action workflows and answers the following questions. What can GitHub workflows automate? What can trigger GitHub action workflows? Which types of GitHub Actions can we pick from when implementing our own that are either project-specific or published on GitHub Marketplace? Finally, a CI workflow for an Angular project is demonstrated.

Demo repository:
https://github.com/LayZeeDK/github-actions-angular

Prestented at:
- Systemate All-Stars 2021
- Angular Virtual Conference 2021 by C# Corner, May 2021
- AarhusJS, November 2021
- Angular Community Meetup, March 2022

Recording:
https://youtu.be/0srT34NiiO8</content:encoded>
      <pubDate>Tue, 09 Nov 2021 00:00:00 -0500</pubDate>
      <link>https://speakerdeck.com/layzee/github-actions-and-workflows</link>
      <guid>https://speakerdeck.com/layzee/github-actions-and-workflows</guid>
    </item>
    <item>
      <title>Blazor - The new WebAssembly framework</title>
      <description>Brief introduction to Blazor discussing:
- Razor components
- The 2 Blazor hosting models:
  - Blazor WebAssembly
  - Blazor Server
  - Their trade-offs
- The trade-offs of Blazor vs. JavaScript frameworks

Presented at:
- Orbis Connects Code &amp; Create, August 2021 https://www.crowdcast.io/e/code-and-create-blazor

Friday the 13th demo Blazor app:
https://github.com/LayZeeDK/blazor-friday-the-13th</description>
      <media:content url="https://files.speakerdeck.com/presentations/c63bb5f505f742fdbfbd665f698c149a/preview_slide_0.jpg?18778707" type="image/jpeg" medium="image"/>
      <content:encoded>Brief introduction to Blazor discussing:
- Razor components
- The 2 Blazor hosting models:
  - Blazor WebAssembly
  - Blazor Server
  - Their trade-offs
- The trade-offs of Blazor vs. JavaScript frameworks

Presented at:
- Orbis Connects Code &amp; Create, August 2021 https://www.crowdcast.io/e/code-and-create-blazor

Friday the 13th demo Blazor app:
https://github.com/LayZeeDK/blazor-friday-the-13th</content:encoded>
      <pubDate>Fri, 13 Aug 2021 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/layzee/blazor-the-new-webassembly-framework</link>
      <guid>https://speakerdeck.com/layzee/blazor-the-new-webassembly-framework</guid>
    </item>
    <item>
      <title>Confidence in templates and styles with Angular Ivy</title>
      <description>We learn how to reason about style binding evaluation through style binding precedence rules with simple examples sprinkled with a few style binding caveats. We end this topic by reviewing a demo application to visualize Angular Ivy's style evaluation.

After that, we learn how to enable and configure strict template type checking. We see examples of all violations and how they appear inline in our code editor as well as during compilation. Finally, we learn how to use strict template type checks with the AsyncPipe.

Presented at:
- NG Meetup Yerevan, June 2021 https://youtu.be/XAEGU18i0oI?t=3463
- Angular Community Meetup, September 2021
- ATP (private event), October 2021
- Angular Warsaw Online #34, October 2021 https://youtu.be/5pJd0apGHTk?t=2118

Style binding evaluation demo: https://stackblitz.com/edit/angular-ivy-style-binding-precedence
Strict template type checking experiments: https://github.com/LayZeeDK/ngx-template-type-checking
Angular documentation: https://angular.io/guide/style-precedence

Accelerating Angular Development with Ivy
Book listing: https://www.packtpub.com/product/accelerating-angular-development-with-ivy/9781800205215
Companion GitHub repository: https://github.com/PacktPublishing/Accelerating-Angular-Development-with-Ivy</description>
      <media:content url="https://files.speakerdeck.com/presentations/068713fd7e194c36b47222995ce88948/preview_slide_0.jpg?19344923" type="image/jpeg" medium="image"/>
      <content:encoded>We learn how to reason about style binding evaluation through style binding precedence rules with simple examples sprinkled with a few style binding caveats. We end this topic by reviewing a demo application to visualize Angular Ivy's style evaluation.

After that, we learn how to enable and configure strict template type checking. We see examples of all violations and how they appear inline in our code editor as well as during compilation. Finally, we learn how to use strict template type checks with the AsyncPipe.

Presented at:
- NG Meetup Yerevan, June 2021 https://youtu.be/XAEGU18i0oI?t=3463
- Angular Community Meetup, September 2021
- ATP (private event), October 2021
- Angular Warsaw Online #34, October 2021 https://youtu.be/5pJd0apGHTk?t=2118

Style binding evaluation demo: https://stackblitz.com/edit/angular-ivy-style-binding-precedence
Strict template type checking experiments: https://github.com/LayZeeDK/ngx-template-type-checking
Angular documentation: https://angular.io/guide/style-precedence

Accelerating Angular Development with Ivy
Book listing: https://www.packtpub.com/product/accelerating-angular-development-with-ivy/9781800205215
Companion GitHub repository: https://github.com/PacktPublishing/Accelerating-Angular-Development-with-Ivy</content:encoded>
      <pubDate>Thu, 01 Jul 2021 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/layzee/confidence-in-templates-and-styles-with-angular-ivy</link>
      <guid>https://speakerdeck.com/layzee/confidence-in-templates-and-styles-with-angular-ivy</guid>
    </item>
    <item>
      <title>The world's most elaborate CI workflow for an Angular library</title>
      <description>Using a GitHub Actions workflow running 50 jobs per workflow run, Node.js, and SonarCloud, Lumberjack maintains end-to-end compatibility across several versions of Angular and TypeScript in a single codebase.

Presented at:
- GitHub Satellite India 2021 https://youtu.be/2KySyHU3fKo</description>
      <media:content url="https://files.speakerdeck.com/presentations/e8daff0f50c34af4b3a9ee5fe8f8ff7b/preview_slide_0.jpg?17659495" type="image/jpeg" medium="image"/>
      <content:encoded>Using a GitHub Actions workflow running 50 jobs per workflow run, Node.js, and SonarCloud, Lumberjack maintains end-to-end compatibility across several versions of Angular and TypeScript in a single codebase.

Presented at:
- GitHub Satellite India 2021 https://youtu.be/2KySyHU3fKo</content:encoded>
      <pubDate>Sun, 21 Mar 2021 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/layzee/the-worlds-most-elaborate-ci-workflow-for-an-angular-library</link>
      <guid>https://speakerdeck.com/layzee/the-worlds-most-elaborate-ci-workflow-for-an-angular-library</guid>
    </item>
    <item>
      <title>Angular's battle formations - Battle of the Frameworks 2021</title>
      <description>Abstract:
In this lightning talk, we'll discuss what sets Angular apart by looking at its strong points and how it differs from other frontend frameworks.

Event description:
We're getting together with experts from the industry to discuss the pros and cons of the top 3 most popular frameworks - React.js , Angular and Vue.js - Which one is the best?

You’ll see a representative of each framework fight their corner through lightning talks, followed by a very unique Q&amp;A debate.

Which is better for your next app or project? Which offers the best performance? Which is the most reliable? Which one is suitable for small or large size applications?

It’s the ultimate showdown. We're going to battle it out, and you can get involved.

Whether you are at the start of your career wondering which framework to learn, or you're already established - this event will give you the chance to get an insight of the 3 frameworks and potentially inspire you beyond your existing knowledge and preferences.

Recording: https://www.crowdcast.io/e/botf2021</description>
      <media:content url="https://files.speakerdeck.com/presentations/b06020e5f7c8409d9a3f396fd36fd25f/preview_slide_0.jpg?17557590" type="image/jpeg" medium="image"/>
      <content:encoded>Abstract:
In this lightning talk, we'll discuss what sets Angular apart by looking at its strong points and how it differs from other frontend frameworks.

Event description:
We're getting together with experts from the industry to discuss the pros and cons of the top 3 most popular frameworks - React.js , Angular and Vue.js - Which one is the best?

You’ll see a representative of each framework fight their corner through lightning talks, followed by a very unique Q&amp;A debate.

Which is better for your next app or project? Which offers the best performance? Which is the most reliable? Which one is suitable for small or large size applications?

It’s the ultimate showdown. We're going to battle it out, and you can get involved.

Whether you are at the start of your career wondering which framework to learn, or you're already established - this event will give you the chance to get an insight of the 3 frameworks and potentially inspire you beyond your existing knowledge and preferences.

Recording: https://www.crowdcast.io/e/botf2021</content:encoded>
      <pubDate>Wed, 10 Mar 2021 00:00:00 -0500</pubDate>
      <link>https://speakerdeck.com/layzee/angulars-battle-formations-battle-of-the-frameworks-2021</link>
      <guid>https://speakerdeck.com/layzee/angulars-battle-formations-battle-of-the-frameworks-2021</guid>
    </item>
    <item>
      <title>Lumberjack's extensible architecture and cross-version Angular compatibility</title>
      <description>Lumberjack is a versatile and extensible logging library for Angular.

Its plugin-based architecture and cross-version compatibility with Angular and TypeScript enables features to be released across many versions of Angular and many log driver plugins from a single codebase.

We use the builder pattern to compose log objects and provide low level building blocks as well as conventional APIs for structuring Angular application logs.

Presented at:
- Angular Vienna #2, February 2021
- BeJS #11, February 2021 https://youtu.be/lcUTCTPMhEs</description>
      <media:content url="https://files.speakerdeck.com/presentations/2d2c4a88214b48de848ae7ee02f1ec87/preview_slide_0.jpg?17449536" type="image/jpeg" medium="image"/>
      <content:encoded>Lumberjack is a versatile and extensible logging library for Angular.

Its plugin-based architecture and cross-version compatibility with Angular and TypeScript enables features to be released across many versions of Angular and many log driver plugins from a single codebase.

We use the builder pattern to compose log objects and provide low level building blocks as well as conventional APIs for structuring Angular application logs.

Presented at:
- Angular Vienna #2, February 2021
- BeJS #11, February 2021 https://youtu.be/lcUTCTPMhEs</content:encoded>
      <pubDate>Tue, 23 Feb 2021 00:00:00 -0500</pubDate>
      <link>https://speakerdeck.com/layzee/lumberjacks-extensible-architecture-and-cross-version-angular-compatibility</link>
      <guid>https://speakerdeck.com/layzee/lumberjacks-extensible-architecture-and-cross-version-angular-compatibility</guid>
    </item>
    <item>
      <title>Tech Talks with Santosh: Angular testing</title>
      <description>Santosh Yadav hosted an episode of his talk show, Tech Talks with Santosh, where we discussed Angular testing for 2½ hours.

In this presentation, we discuss testing fundamentals, testing frameworks, unit tests, integration tests, end-to-end tests, Angular testing, testing strategies, testing techniques, component testing, presentational component testing, Storybook, visual regression testing, snapshot testing, and how to test an extensible base class.

We walk through real world testing examples and explore Angular's testing APIs, TestBed and RouterTestingModule.

We mention various testing libraries for Angular and present Spectacular, an integration testing library for Angular.

Finally, we discuss Test-Driven Development, adding test coverage to an existing codebase and how we can convince ourselves and stakeholders of the value of unit testing.

Recording:
https://youtu.be/VUIV4u9VSXU</description>
      <media:content url="https://files.speakerdeck.com/presentations/4caf37249abf4e849dc2e50ec1f58c8b/preview_slide_0.jpg?17417270" type="image/jpeg" medium="image"/>
      <content:encoded>Santosh Yadav hosted an episode of his talk show, Tech Talks with Santosh, where we discussed Angular testing for 2½ hours.

In this presentation, we discuss testing fundamentals, testing frameworks, unit tests, integration tests, end-to-end tests, Angular testing, testing strategies, testing techniques, component testing, presentational component testing, Storybook, visual regression testing, snapshot testing, and how to test an extensible base class.

We walk through real world testing examples and explore Angular's testing APIs, TestBed and RouterTestingModule.

We mention various testing libraries for Angular and present Spectacular, an integration testing library for Angular.

Finally, we discuss Test-Driven Development, adding test coverage to an existing codebase and how we can convince ourselves and stakeholders of the value of unit testing.

Recording:
https://youtu.be/VUIV4u9VSXU</content:encoded>
      <pubDate>Fri, 19 Feb 2021 00:00:00 -0500</pubDate>
      <link>https://speakerdeck.com/layzee/tech-talks-with-santosh-angular-testing</link>
      <guid>https://speakerdeck.com/layzee/tech-talks-with-santosh-angular-testing</guid>
    </item>
    <item>
      <title>My 10 steps to tech community contributions</title>
      <description>Over a period of 2 years, Lars went from internal knowledge sharing to managing tech publications, being an open source software maintainer and becoming a Microsoft MVP. Get inspired by his journey and get his best tips.

Presented at:
- GDG Minsk Web, January 2021: https://youtu.be/B1iP-2_KkC4
- Systemate InspiredBy CodeTalk (private), November 2021</description>
      <media:content url="https://files.speakerdeck.com/presentations/f9759047387a41b68a563cffdc09fa51/preview_slide_0.jpg?17363122" type="image/jpeg" medium="image"/>
      <content:encoded>Over a period of 2 years, Lars went from internal knowledge sharing to managing tech publications, being an open source software maintainer and becoming a Microsoft MVP. Get inspired by his journey and get his best tips.

Presented at:
- GDG Minsk Web, January 2021: https://youtu.be/B1iP-2_KkC4
- Systemate InspiredBy CodeTalk (private), November 2021</content:encoded>
      <pubDate>Thu, 21 Jan 2021 00:00:00 -0500</pubDate>
      <link>https://speakerdeck.com/layzee/my-10-steps-to-tech-community-contributions</link>
      <guid>https://speakerdeck.com/layzee/my-10-steps-to-tech-community-contributions</guid>
    </item>
    <item>
      <title>Ivy's hidden features / Ivy's best kept secret</title>
      <description>Component and directive features will enable new architectural patterns for Angular applications. The features option gives us reusable logic without inheritance or classes so that we can mix multiple traits into our components and directives.

Presented at:
- NG Poland conference, November 2019 https://youtu.be/3jgTgdZMpZE
- Angular Warsaw's Angular Online Event #3, May 2020 https://youtu.be/8NQCgmAQEdE?t=5649

Companion GitHub repository:
https://github.com/LayZeeDK/ngx-ivy-features

Article:
https://indepth.dev/component-features-with-angular-ivy/</description>
      <media:content url="https://files.speakerdeck.com/presentations/df71b9cf287d4faea1efdb1389507cf9/preview_slide_0.jpg?15417652" type="image/jpeg" medium="image"/>
      <content:encoded>Component and directive features will enable new architectural patterns for Angular applications. The features option gives us reusable logic without inheritance or classes so that we can mix multiple traits into our components and directives.

Presented at:
- NG Poland conference, November 2019 https://youtu.be/3jgTgdZMpZE
- Angular Warsaw's Angular Online Event #3, May 2020 https://youtu.be/8NQCgmAQEdE?t=5649

Companion GitHub repository:
https://github.com/LayZeeDK/ngx-ivy-features

Article:
https://indepth.dev/component-features-with-angular-ivy/</content:encoded>
      <pubDate>Thu, 21 Nov 2019 00:00:00 -0500</pubDate>
      <link>https://speakerdeck.com/layzee/ivys-best-kept-secret</link>
      <guid>https://speakerdeck.com/layzee/ivys-best-kept-secret</guid>
    </item>
    <item>
      <title>Angular Revisited: Tree-shakable Components and Optional NgModules</title>
      <description>NgModule is arguably one of the most confusing Angular concepts. Using tree-shakable components and dependencies, we will need Angular modules less often or not at all. Tree-shakable components are not available yet, but we can use Single Component Angular Modules to ease the migration path.

Presented at:
- ngVikings conference, May 2019
- Angular In Depth conference, June 2019

Recording of talk from the ngVikings 2019 conference:
https://youtu.be/DA3efofhpq4

Article:
https://dev.to/this-is-angular/angular-revisited-tree-shakable-components-and-optional-ngmodules-36d2</description>
      <media:content url="https://files.speakerdeck.com/presentations/a37afcc56cc1462793fdc4ae7038bb34/preview_slide_0.jpg?12667751" type="image/jpeg" medium="image"/>
      <content:encoded>NgModule is arguably one of the most confusing Angular concepts. Using tree-shakable components and dependencies, we will need Angular modules less often or not at all. Tree-shakable components are not available yet, but we can use Single Component Angular Modules to ease the migration path.

Presented at:
- ngVikings conference, May 2019
- Angular In Depth conference, June 2019

Recording of talk from the ngVikings 2019 conference:
https://youtu.be/DA3efofhpq4

Article:
https://dev.to/this-is-angular/angular-revisited-tree-shakable-components-and-optional-ngmodules-36d2</content:encoded>
      <pubDate>Tue, 28 May 2019 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/layzee/angular-revisited-tree-shakable-components-and-optional-ngmodules</link>
      <guid>https://speakerdeck.com/layzee/angular-revisited-tree-shakable-components-and-optional-ngmodules</guid>
    </item>
    <item>
      <title>It works on my Docker machine</title>
      <description>Introduction to Docker for front-end developers demonstrating a multi-stage build for Angular testing, development server, production build and deployment with Nginx static file web server.

Presented at:
- AarhusJS Meetup, April 2019

Recording of the talk at AarhusJS April Meetup 2019:
https://youtu.be/-cO6zphDsWU

Git repository:
https://github.com/LayZeeDK/docker-angular</description>
      <media:content url="https://files.speakerdeck.com/presentations/d892edd3fb804b7195ce6683643176c9/preview_slide_0.jpg?12448643" type="image/jpeg" medium="image"/>
      <content:encoded>Introduction to Docker for front-end developers demonstrating a multi-stage build for Angular testing, development server, production build and deployment with Nginx static file web server.

Presented at:
- AarhusJS Meetup, April 2019

Recording of the talk at AarhusJS April Meetup 2019:
https://youtu.be/-cO6zphDsWU

Git repository:
https://github.com/LayZeeDK/docker-angular</content:encoded>
      <pubDate>Tue, 23 Apr 2019 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/layzee/it-works-on-my-docker-machine</link>
      <guid>https://speakerdeck.com/layzee/it-works-on-my-docker-machine</guid>
    </item>
  </channel>
</rss>
