DEV Community

loading...
Lars Gyrup Brink Nielsen profile picture

Lars Gyrup Brink Nielsen

Tech Writer, Tech Speaker, FOSS Maintainer, Microsoft MVP.

Education

B.Sc. in Computer Science, Aalborg University

Work

Frontend Architect at Systemate A/S

All 222 comments

Incremental stylesheet linting with Stylelint and the Nx toolchain

Thanks for your feedback and for the caching tip

Building JavaScript Frameworks to Conquer eCommerce

A few interesting projects: Wasmer for Function-as-a-Servic...

Building JavaScript Frameworks to Conquer eCommerce

It's been an ongoing effort for a few years. I would love to ...

Angular: Pros and Cons

Not in the most recent one.

Building JavaScript Frameworks to Conquer eCommerce

Are you aware of WASI? Interesting potential future for serve...

Tree-shakable dependencies in Angular projects

Thanks for your question, Chan. Angular is built around depe...

Tiny Angular application projects in Nx workspaces

Thank you, Santosh!

A first look at Qwik - the HTML first framework

Would you please explain why markDirty is needed? TSX with si...

A first look at Qwik - the HTML first framework

Hello, Angular Photon

A Guide to Custom Scully Plugins

I'm really curious about the testing story for Scully plugins...

Expert level Angular Interview Questions Part 1

What is canResolve route guard? Trick question?

Emulating tree-shakable components using single component Angular modules

Usually using tree-shakable providers. Or just importing them...

Setting up an Angular 12 workspace with Nx and GitHub Actions

In a GitHub workflow? Please share a repo.

Setting up an Angular 12 workspace with Nx and GitHub Actions

I've tried it in 3 different repos. It doesn't work :-/

Setting up an Angular 12 workspace with Nx and GitHub Actions

Are you using Nx 12.3.5, Node.js 14.17.0, Cypress 7.4.0, and ...

Setting up an Angular 12 workspace with Nx and GitHub Actions

Run pnpm install Lockfile is up-to-date, resolution step is ...

Setting up an Angular 12 workspace with Nx and GitHub Actions

Thanks, I've been trying to solve it lately and figured out t...

Lean Angular components

I'm glad you like it, thank you very much for your feedback!

Lean Angular components

Thanks, Andrew

How to set up a dynamic CI/CD pipeline with Github Actions

I think it mostly depends on the number of tests and the size...

How to set up a dynamic CI/CD pipeline with Github Actions

Hey @timdeschryver , Awesome article! How come you're not sp...

Two Years of Writing about Designing JavaScript Frameworks (2018-2020)

Thank you for learning in public, @ryansolid 🙇‍♂️

The 7 Most Popular DEV Posts from the Past Week

Also congratulations to @ryansolid 🙂

Emulating tree-shakable components using single component Angular modules

I would say it scales very well. We are able to refactor our ...

7 Deadly Sins of Angular

Interesting, I rarely find the need to use inheritance. I fav...

7 Deadly Sins of Angular

In an application, I would insist on group by feature: src...

7 Deadly Sins of Angular

It's the deadliest sin of them all if you ask me 😃

Model-View-Presenter with Angular

Thank you, Azizi

How to set up an Nx-style monorepo workspace with the Angular CLI: Part 5

Thanks for the offer but I founded this publication, so I'm f...

7 Deadly Sins of Angular

The ultimate migration guide to angular-eslint, ESLint and Nx 11

The @nrwl/angular:convert-tslint-to-eslint generator was rele...

The Simpsons in CSS

Well done! 👏

The ultimate migration guide to angular-eslint, ESLint and Nx 11

Happy to let you all know that Nx 11.6 comes with an official...

7 Deadly Sins of Angular

I'm sure someone has written up a good article on the danger...

7 Deadly Sins of Angular

Thank you for your feedback, Giovanni 🙇‍♂️ Personally, I thi...

Angular Reactive Forms is basically jQuery

Please DM me on Twitter: twitter.com/LayZeeDK

Angular Reactive Forms is basically jQuery

Let me know if you'd like to publish this on This is Angular.

Angular Reactive Forms is basically jQuery

Very good. Thank you for that 👍

7 Deadly Sins of Angular

Thanks, Mike. I just read your article dev.to/mfp22/isn-t-an...

Angular Reactive Forms is basically jQuery

Nice article. It would be interesting to see examples of thes...

7 Deadly Sins of Angular

Your solution comes with a footgun. If the takeUntil operatio...

7 Deadly Sins of Angular

Thank you, Oscar 🙂

7 Deadly Sins of Angular

Hi Ray, Thank you for your feedback. Personally, I use conta...

How the Web Audio API is used for browser fingerprinting

Thanks for your explanation, Savannah.

7 Deadly Sins of Angular

10 component refactors, -1s critical load time, restructure y...

How the Web Audio API is used for browser fingerprinting

Darn, this is scary! As Pankaj Patel said, please explain wha...

Incremental stylesheet linting with Stylelint and the Nx toolchain

Very nice, Phillip! 👏

Incremental stylesheet linting with Stylelint and the Nx toolchain

Thanks for letting me know, Frederik. You're very welcome to ...

Nevertheless, Ayu Coded in 2021 And No Longer Alone!

Welcome to the community, Ayu ☺️ Nice to meet you!

Understanding Angular Ivy Library Compilation

Thanks, that's great to know 👍

Understanding Angular Ivy Library Compilation

Nice article! It's currently necessary to set the angularLink...

The ultimate migration guide to angular-eslint, ESLint and Nx 11

Hi, which version of eslint-config-prettier gets installed wi...

The ultimate migration guide to angular-eslint, ESLint and Nx 11

It could have to do with operating system. Which operating sy...

Incremental stylesheet linting with Stylelint and the Nx toolchain

Thanks, CJ 👍

Why Tailwind Isn't for Me

Thanks for sharing. This looks cleaner, but I'm still wonderi...

Is Angular Dead?

Angular has largely in practice moved into maintenance mode. ...

Why Tailwind Isn't for Me

Thanks for your reply. What would that look like?

Why Tailwind Isn't for Me

You had me at <button class="hover:bg-light-blue-200 ho...

The ultimate migration guide to angular-eslint, ESLint and Nx 11

Hi, I'm using json version 10.0. It complains sometimes. I h...

ES2021 Features with simple examples

Nice writeup, Carlos. Could you provide a realistic example f...

The ultimate migration guide to angular-eslint, ESLint and Nx 11

Hi, this is already covered in this guide. Look for migrating...

The ultimate migration guide to angular-eslint, ESLint and Nx 11

I don't currently have access to a large real world repo, but...

The ultimate migration guide to angular-eslint, ESLint and Nx 11

Which command do you usually use for linting? Did you try so...

The ultimate migration guide to angular-eslint, ESLint and Nx 11

Not right now, but that's a great idea 👍 Here's a more reali...

An Annotated Guide to React Server Components

How are we going to communicate up the component tree between...

An Annotated Guide to React Server Components

What do you think about Server Container Component wrapping C...

Micro frontends: my lessons learned

I strongly agree. If you're going to use the same framework, ...

Setup Google Maps with AGM in Angular App

How does AGM compare to the offical @angular/google-maps libr...

The ultimate migration guide to angular-eslint, ESLint and Nx 11

There's currently an issue with some @nrwl/* packages being r...

The ultimate migration guide to angular-eslint, ESLint and Nx 11

That's great 😊 I just realized that we might need to treat no...

The ultimate migration guide to angular-eslint, ESLint and Nx 11

Thanks for this nice suggestion. For some reason, installing ...

The new Angular YouTube Player component!

Pass { controls: YT.Controls.Hide } to the playerVars input p...

Things to watch out for when using HMR with Angular

That's good advice. Just don't try to use ngOnInit. It doesn'...

Angular Revisited: Tree-shakable components and optional NgModules

Thanks for your comment, Thorsten Indeed, I remember startin...

Model-View-Presenter with Angular

You're welcome, John! 😃 There's plenty of more articles in t...

Angular Revisited: Tree-shakable components and optional NgModules

It's currently in the Angular roadmap under the title "Simpli...

How you can help Angular in 2020

Thanks for discussing, everyone. Just wanted to make you all ...

How to Speed Up Angular Tests

I'm not sure. You're welcome to file an issue to Spectator.

Happy Ada Lovelace Day! Tell us about the women who have inspired your coding journey ❤️

Sandi Metz has informed my understanding of Object-Oriented P...

Appreciate the journey

From Quotefancy

Angular struggles in 2020

The end-to-end test suite generated when creating an Angular ...

Angular struggles in 2020

Svelte's compiler is a lot more advanced in this area.

Angular struggles in 2020

We also had Require.js and CommonJS back in the Angular.js da...

Angular struggles in 2020

This certainly depends on the region of the world you're look...

Unit Testing in Angular - To TestBed or NOT to TestBed

That's sad. Angular 7 has been end of life for a while. Even ...

Where to initialize components selectors in Angular?

Nice tip. Did you consider initializing selectors in the prop...

Unit Testing in Angular - To TestBed or NOT to TestBed

Which version of Angular are you using in the system you saw ...

Why Choose NgRx?

Read these Webpack docs: webpack.js.org/guides/tree-shaking...

Angular struggles in 2020

I use Angular every day. I contribute code, reviews and docs,...

No, I don't want to become an Angular GDE

Olivier's story seems like anything but a success. From the w...

Angular struggles in 2020

React Native for Windows + macOS by Microsoft The React Nati...

Azure and Angular Deployment in 10 minutes

Hi John, ng serve uses the Webpack development server. It's n...

No, I don't want to become an Angular GDE

I would prefer it for himself to express his opinion to me an...

No, I don't want to become an Angular GDE

I can understand your skepticism. While I appreciate the off...

No, I don't want to become an Angular GDE

all of them are free to express themselves on the Angular Sl...

No, I don't want to become an Angular GDE

I think these programs are a bit useless, because I've never...

No, I don't want to become an Angular GDE

Is that any different from the Microsoft MVP program? A Mi...

No, I don't want to become an Angular GDE

I don't care for your pseudo analysis. You're avoiding the di...

No, I don't want to become an Angular GDE

Luckily, we're not all affected by every single organization ...

No, I don't want to become an Angular GDE

Thank you for your feedback, Alain. When you and other Angul...

Angular struggles in 2020

As long as Blazor requires shipping a several MB client-side ...

Angular struggles in 2020

Thank you, those are great suggestions. I don't have an answe...

Angular struggles in 2020

It's mentioned in the Readme. Work is in the @angular/materia...

An Angular Testing Cheatsheet

I recommend the book Testing Angular Applications by Jesse Pa...

An Angular Testing Cheatsheet

I would offer you a listing of my articles on testing Angular...

What does it mean to YOU to "make an impact"?

Being part of an amazing project directly or indirectly impac...

Looping in JavaScript

Good reference! Consider including the do...while loop.

My endeavor for Ultimate Code Sharing in NativeScript+Angular.

Interesting to focus on template sharing on the molecule and ...

Why writing integration tests on a C# API is a productivity booster

Very similar to what we're doing. I recently wrote integrati...

DEV is now Web Monetized

Translation: You will maybe get micropayments from people usi...

Why writing integration tests on a C# API is a productivity booster

Now for the million dollar question: What do you use to imple...

TDD in Angular - Dependency Injection and Mocking

@stealthmusic When I tried that, I really didn't know how ...

TDD in Angular - Dependency Injection and Mocking

The first call to ComponentFixture#detectChanges runs ngOnCha...

Comparing React/Vue/Angular "Getting started" experience - Website and documentation

Interesting approach! Thanks for doing this 🙂

“Test Focus Highlighter” VS Code extension

Nice, Dzhavat! 👏 Does it support test.only and describe.only ...

Reactive Angular with ngrx/component

To be clear, Zone.js does support async-await when downtran...

GraalVM - Polyglot Virtual Machine

I still cross my fingers for GraalVM's success. Have you no...

An introduction to Angular 9 Ivy Compiler

Hi Eugenio, Thank you for another article that dives into ...

How to create enjoyable conferences for both organizers and speakers

You are missing one point: "Speaker slot is too short". We ...

What is your opinion on Elixir language, why don't more developers use it?

It's one of the most interesting programming languages. The B...

This is why you should go Angular 9 today

I've seen quite a few errors when upgrading. Like you menti...

Initial Null Problem of AsyncPipe and async data-binding

Come to our Slack workspace, and Max will set you up on the...

Initial Null Problem of AsyncPipe and async data-binding

Great explanation, Suguru! Would you like to publish it on ...

The quantum duck debugging theory

Thanks Sergiu. I spent quite some time learning about quant...

Angular 9: Lazy Loading Components

Did you consider letting them pass in templates and renderi...

Angular 9: Lazy Loading Components

Take a look at NGX Dynamic. It could probably be combined w...

Angular 9: Lazy Loading Components

Here's an alternative take. Lazy-loaded routed components w...

Angular 9: Lazy Loading Components

This ASP.NET-style school of thought was part of the original...

Angular 9: Lazy Loading Components

Another way to switch from an imperative approach to a declar...

Angular 9: Lazy Loading Components

John, we can use feature render modules to use child componen...

Reusable HTML in Angular using NgTemplateOutlet

Good introduction! Thanks for writing it, Frederik.

The quantum duck debugging theory

You fully understand every part of physics at the quantum l...

Videolitic - First Open source Project!

Can we talk about how it's race and age predictions are so ...

Angular Dependency Injection Infographic

I have an example of what to use a module scope for in my ...

Angular Dependency Injection Infographic

Thank you for creating this 👏 A few comments: We can als...

Coding music?

Piano music, classical music, ambient nature sounds, Hans Z...

How to Speed Up Angular Tests

Not with shallow components tests using NO_ERRORS_SCHEMA.

How to Speed Up Angular Tests

"Next-level testing in Angular Ivy version 9" by yours trul...

Why Choose NgRx?

I didn't mean to turn this into a state management framewor...

Why Choose NgRx?

Non-Angular decorators are function wrappers, yes. But the ...

Angular Ivy: a detailed introduction

Oh dear, I just discovered that this export was called ɵNG_...

Angular v9 & Universal: SSR and prerendering out of the box!

Great article! Thanks for including the dynamic routes scri...

Why Choose NgRx?

There's a big difference. Angular's decorators are compiler...

In Defense of the Separation of Concerns

Meanwhile the boundaries between websites and web apps is g...

Why Choose NgRx?

All the frameworks you mention have their own type of ceremon...

Why Choose NgRx?

Systemate A/S. We suggested NgRx Store and Effects for a cu...

I don't remember birthdays (for a reason)

You must be single 😄

Angular Ivy: a detailed introduction

New finding: The ngComponentDef/ɵcmp key can be determined ...

Is TypeScript worth it?

Asserts gets us some of the way for runtime type checking.

Difference between stopPropagation and preventDefault?

Awesome explanation 👍 You're a pro!

The dangers of async/await

I mean it's something to be aware of and it's often overloo...

The dangers of async/await

The most overlooked caveat of async-await is that we have t...

What is Big-O Notation? Understand Time and Space Complexity in JavaScript.

It's a joke 😄 I was referring to space-time.

What is Big-O Notation? Understand Time and Space Complexity in JavaScript.

We will never be able to express the complexity of space-time...

Difference between Unit Testing and Integration Testing?

It would be useful if you walked us through simple examples...

Presentation Tips for Technical Talks

Very valuable lessons!

Learn RxJS with this free book that I've written

I would love to be able to download it as EPUB (or PDF). Y...

How To Stop Writing Messy & Unscalable CSS

I absolutely love them when combined with React.

Baking Configuration into your Angular App Pie

Good overview of options 👍

How to Speed Up Angular Tests

Details on how Ivy will improve the performance issues disc...

How to Speed Up Angular Tests

More on this topic: medium.com/angular-in-depth/angula...

How to Speed Up Angular Tests

Details on what takes up the most time in Angular tests: gi...

How to Speed Up Angular Tests

Thanks. Of course, there's also the option to use shallow c...

How To Stop Writing Messy & Unscalable CSS

I only tried CSS Modules based on this small React sample: ...

How to Speed Up Angular Tests

Oh, you mean having to setup all the needed Angular module ...

How to Speed Up Angular Tests

Both of them wrap TestBed so they will have exactly the sam...

How to Speed Up Angular Tests

The worst low performance issue occurs when components have e...

Angular 8 Bootstrap in deep

Bonus: You have reference material when teaching and when y...

Angular 8 Bootstrap in deep

You covered a lot 😅

How To Stop Writing Messy & Unscalable CSS

What do you think about CSS Modules and shadow styles for w...

Angular Ivy: a detailed introduction

RC6 now. (Will Ivy be a 2019 release?)

Writing fully testable React components using the 'Helper Pattern'

Oh good, you're finally catching up on the 70s 😂 Another wa...

Writing fully testable React components using the 'Helper Pattern'

Did you just re-invent controllers? 🤔

Angular Ivy: a detailed introduction

Yeah, I will also be keeping an eye out. I'm thinking of cr...

Angular Ivy: a detailed introduction

This was presented 3 months ago. I first noticed it in RC0,...

Angular Ivy: a detailed introduction

ngComponentDef was in Angular version 8 with Ivy enabled.

Angular Ivy: a detailed introduction

Terser is listed as a dependency in Angular CLI's package.j...

Angular Ivy: a detailed introduction

8.2.14, not 8.2.9 🙂

Angular Ivy: a detailed introduction

The Angular CLI uses Terser for minification, not Uglify.

Angular Ivy: a detailed introduction

I've noticed that in Angular 9 with Ivy enabled, the compon...

Angular Ivy: a detailed introduction

Added note on the latest stable version of Angular. I think...

Angular Ivy: a detailed introduction

Angular 9 is currently in RC5* Angular stable is version 8....

Sorry C# and Java developers, this is not how TypeScript works

Using async-await is largely a preference. If we us it, we ...

Sorry C# and Java developers, this is not how TypeScript works

Client-side application frameworks usually have an initiali...

Can you please refresh (Or how we version our Single-Page Application)

I see. What about this issue, how are you going to handle t...

Can you please refresh (Or how we version our Single-Page Application)

I liked your considerations and approach. But isn't this is...

Sorry C# and Java developers, this is not how TypeScript works

I agree. I would prefer to not create model classes that ha...

Sorry C# and Java developers, this is not how TypeScript works

Thanks for your comments and suggestions, everyone 😊 I'm a ...

Microsoft's new FREE font

I'm with you, bro ✊

Ask DEV: What are your favorite Developer Blogs?

My favorite blog is Angular INDEPTH which I'm also writing ...

Composing Angular Components with Typescript Mixins

Awesome article, Giancarlo. Amazing! One thing I've notice...

Portal with detailed architectural solutions recipes?

AJonP is the closest to anything like that ajonp.com/

Elixium: A Decentralized App Network Built for Developers

Keep an eye on it 😃 Even your WASM VM for Elixir is a OSS ...

Elixium: A Decentralized App Network Built for Developers

This is unreal! Are you looking to support WASI as well?

I'm concerned with the move that FreeCodeCamp just pulled by leaving Medium

I have unsuccessfully been trying to get in touch with you ...

If you could rename JavaScript to be more self descriptive...

Paradigm-agnostic application language Developer-forgiving...

Easier Angular Unit Testing

Awesome article! It's difficult to combine all these tools....

Does dev.to has smt like medium.com publications to submit articles to?

Sorry, I have no idea ☹

Does dev.to has smt like medium.com publications to submit articles to?

It seems like it. Example: Microsoft Azure.

Why Angular inDepth is one-of-a-kind and how I joined the cause

Thank you for your kind words, Andrei. Angular just got a ...

Generating Angular Container Components, the Fast and Easy Way

I only now discovered your article, Stephen. Thanks for men...

An Angular Testing Cheatsheet

Thanks, Esteban! Too few resources on Angular testing even t...

How would you define high quality code?

Sure, but the quality pretty quickly suffers in that you ha...

How would you define high quality code?

Low overall cyclomatic complexity Modular with clearly def...

Choosing Front End Framework for Large Scale Application(Angular/React/Vue)

Angular is a fully featured, platform agnostic application ...

I am a JavaScript's biggest fan, Ask Me Anything!

For now we rely on JavaScript-based companion libraries to ...

I am a JavaScript's biggest fan, Ask Me Anything!

I think that - for now - the main use case of WebAssembly i...

I am a JavaScript's biggest fan, Ask Me Anything!

How will WebAssembly affect the future of JavaScript?

Keeping Your Code Simple

If you turn that into a reusable function, you will be muta...

What state management you use?

I am currently going through the book Mastering Reactive Ja...

What state management you use?

RxJS, but it takes a lot of effort to learn it.

What little things make you happy while coding?

1) Automated testing and linting in a neat DevOps pipeline ...

Learning Algorithms with JS, Python and Java 5: FizzBuzz

Check out my RxJS FizzBuzz implementation on StackBlitz: s...

Help designing web application UI

You are right. The wish to put everything in data tables, o...

Do you schedule time and tasks for refactors?

If the project had been kept clean and refactored up until ...

Why Tech Projects Fail: Management, Planning, Process

You truly feel my pain. Thank you for making me aware that ...

Explain Angular 5 like I'm five

Similar concepts: Props -> @Input and @Output properties...

Github Stars !== Usage: React is still blowing Vue and Angular Away

What if Angular is by a greater degree used for large proje...

Tutorial: Developing an angular app driven by tests

We would import our shared MaterialModule in a TestBed with...

Test strategies when developing redux stores in angular apps driven by tests (reworked and extended)

I would love some example code to concretise the strategies...

loading...