RSSAmplifier

Blog

Darío Kondratiuk

Dev notes from the maintainer of Puppeteer-Sharp

hardkoded.comRSS feed ↗20 posts

Latest posts

The state of unit testing in the AI era

The title of this post looks like deep research of unit testing and AI, but it’s more a set of random thoughts. Unit testing used to be an important part of our code review. That was the first thing I would look at on a PR. Tests were supposed to...

New .NET Library in Town. Let's Welcome ReactiveExtensions-Sharp

Puppeteer-Sharp has one simple goal: to be a port of Puppeteer, as close as possible. Close in the API. Close in the .NET flavor, because a C# developer should feel at home. But also, and this is the part nobody sees, close in the internals. When the internals match, porting...

Claude Helped Me Be Lazy, Again

I found out that my GitHub profile was quite old. And broken. Some links didn’t work anymore, and some things were just there because I put them there years ago and then forgot about them. So I did what we do now: I asked Claude to update it. It found...

Getting Out of Worktree Hell

Git worktrees aren’t new. They shipped in Git 2.5, back in July 2015. And for years, almost nobody used them. Checking out a second branch into a second folder was a nice trick for the rare case, not something you reached for every day. Then AI coding agents showed up,...

Meet pr-memory, a Way to Put a Claude Code Session on Hold

If you work on more than one thing at a time with Claude Code, you know the problem. You’ve got a worktree for one feature, a terminal for a bug fix, another tab for a PR that’s waiting on review. Each session has built up real context — what was...

Meet Cronito, a Friendlier Cron for Claude Code

Everybody is talking about loops these days. Loop this, loop that, wrap your agent in a while and let it check on things every few minutes. And sure, that works — until you close the laptop, or the session times out, or you just forget the terminal tab was even...

Back to Sharing in a Post-Blog Era

The last time I shared something on this blog was in 2023. Almost three years!! No, I didn’t retire (yet). I was just working. A lot. Let’s be honest: blogs are dead. I don’t read blogs anymore either. All the good content today lives in X posts, LinkedIn articles, and,...

Puppeteer-Sharp 2023 Recap

It has been a while since I wrote those Puppeteer-Sharp blog posts (maybe it’s time to do it again?). However, I thought it would be nice to recap all the progress made in 2023. It can be quite challenging to keep Puppeteer-Sharp up-to-date. On one side I was implementing great...

What's new in Puppeteer-Sharp - April 2022

I know, I know, I should be writing these posts more frequently, but I’m having so much fun at my new gig, and it’s not easy to keep up the pace. It’s hard to believe it’s been a year! since my last blog post, but here we are in Puppeteer-Sharp...

Puppeteer-Sharp 3 is here!

I’m so excited to announce that, after eight months, Puppeteer-Sharp 3 is here! Getting Puppeteer-Sharp 3 out was quite a challenge. The lack of sponsors on Puppeteer-Sharp and the strong support of Microsoft on Playwright-Sharp made me put all my efforts on Playwright-Sharp in the past few months. But while...

UI testing with Puppeteer book officially released!

I’m so thrilled to announce that my book UI testing with Puppeteer has been published! You can find it on Amazon.com and PacktPub.com. You will find all the details on the book website. Special Thanks to Facundo Giuliani for helping me set up a Jamstack website in a few hours....

Playwright Sharp Monthly Report - December 2020

Wait, What happened with the November report? Well, well, November was a fun month. But here we are in the December report. Let’s get started! Important Notice. As you might know, Playwright sharp is now part of the Microsoft family. So you should read these reports as unofficial reports. I...

Playwright Sharp Monthly Report - October 2020

We accomplish two big milestones in September. Microsoft adopted Playwright Sharp and now is part of the Playwright family. We shipped v0.142.0, which is the first version having full feature match with Playwright! No v1 yet? We decided to leave PlaywrightSharp in v0, so we can give you the chance...

Playwright Sharp joins the Microsoft family

It is my pleasure to announce that today Microsoft forked Playwright Sharp! Wait, did you give the project away? No, I didn’t. Because it was never mine. It’s our project Playwright Sharp uses the MIT License. That means that Playwright Sharp is mine, and it’s also yours, and it’s also...

My programming language is the best!

I’ve been porting Puppeteer code (to puppeteer-sharp) from javascript to C# since late 2017 and Playwright code (to playwright-sharp) since early 2020. One of the things I learned is that programming languages are not about computer instructions, but human interaction. Migrating code from Javascript/Typescript to C# is not about translating...

Playwright Sharp Monthly Report - September 2020

Two months passed since our last monthly report back in July. I’m so sorry about that. But, in the past two months, we were able to merge 161 pull requests! Those 161 PRs took Playwright-Sharp to v0.111.2! You can download this version from Nugget. A massive change under the hood...

Playwright Sharp Monthly Report - July 2020

As promised last month, We shipped PlaywrightSharp.Firefox v0.10! You can read more about this version on my previous post. Playwright-Sharp as a Playwright client? We are working with the Playwright team on a Playwright RPC Server. This Playwright server would package a (Node.JS) playwright instance, exposing its functionality through pipes....

PlaywrightSharp v0.10 for Firefox is here!

Firefox joined to the PlaywrightSharp family! What can I do with PlaywrightSharp.Firefox? You can do lots of things. Seriously! You should be able to do almost everything you would do with his older brother PuppeteerSharp or his younger brother PlaywrightSharp.Chromium. This is how you can take a screenshot in PlaywrightSharp...

Implementing interprocess communications between .NET and Node.JS

Introduction If you want to implement interprocess communication, you will end up reading about pipes and file descriptors. The problem I found is that .NET does a great job hiding all these concepts from us. I don’t know about you, but I didn’t even know much about these concepts until...

Playwright Sharp Monthly Report - June 2020 - PlaywrightSharp v0.10 is here!

As promised last month, We have PlaywrightSharp.Chromium v0.10!!! It’s PlaywrightSharp.Chromium 0.10.3 to be accurate. Following the style of many .NET libraries, PlaywrightSharp will deliver four NuGet packages: PlaywrightSharp.Abstractions: You will need this package if you want to make a browser-agnostic library. In other words, Playwright-Sharp extensions. We shipped v0.10.3 of...