<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: mjgoeke</title><link>https://news.ycombinator.com/user?id=mjgoeke</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 09 Apr 2026 09:17:26 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=mjgoeke" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by mjgoeke in "Daft Punk Easter Egg in the BPM Tempo of Harder, Better, Faster, Stronger?"]]></title><description><![CDATA[
<p>With all the talk about "does the software support fractional bpm" wouldn't you just create it at say 124bpm and then scale down to 123.45 (or whatever) by taking the total length and scaling it by that percentage (e.g. 0.99561926612903225806451612903226). You don't even need to scale it trying to keep the pitch correct. You just speed it up < half a percent, the pitch rises slightly, and you have your perfect bpm.</p>
]]></description><pubDate>Sat, 03 Jan 2026 19:24:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=46480487</link><dc:creator>mjgoeke</dc:creator><comments>https://news.ycombinator.com/item?id=46480487</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46480487</guid></item><item><title><![CDATA[New comment by mjgoeke in "Don't watermark your legal PDFs with purple dragons in suits"]]></title><description><![CDATA[
<p>That's not a "watermark", keep it to 5% opacity. This is around 13% and very distracting.</p>
]]></description><pubDate>Fri, 02 May 2025 17:12:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=43872434</link><dc:creator>mjgoeke</dc:creator><comments>https://news.ycombinator.com/item?id=43872434</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43872434</guid></item><item><title><![CDATA[New comment by mjgoeke in "Images trapped in a feedback loop and analog fractals create each other"]]></title><description><![CDATA[
<p>I remember seeing a simple setup very similar to this, but the operator adjusted the camera (and a single screen was used for feedback) but the effect felt like a zoom-in / flyover of terrain.  I can't find that video any more, could someone point me to it?<p>edit: here's something from, wow, 15 years ago. It was like this but more landscape-like in the flyover.
<a href="https://www.youtube.com/watch?v=eD9rr0gTLSU" rel="nofollow">https://www.youtube.com/watch?v=eD9rr0gTLSU</a></p>
]]></description><pubDate>Sun, 06 Apr 2025 05:17:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=43599116</link><dc:creator>mjgoeke</dc:creator><comments>https://news.ycombinator.com/item?id=43599116</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43599116</guid></item><item><title><![CDATA[New comment by mjgoeke in "Bare: Run JavaScript Everywhere"]]></title><description><![CDATA[
<p>Mobile? afaik node.js doesn't run on mobile. If that's the case the 'copy' doesn't do a good job of highlighting the big value prop.</p>
]]></description><pubDate>Wed, 02 Apr 2025 17:08:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=43558884</link><dc:creator>mjgoeke</dc:creator><comments>https://news.ycombinator.com/item?id=43558884</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43558884</guid></item><item><title><![CDATA[Show HN: Playwright page object model aware record and repl]]></title><description><![CDATA[
<p>I've recently made some huge improvements on this library.  
Playwright is an automated testing library. This plugin is made to work with it when writing tests using Typescript.<p>It provides a page object model aware overlay on screen, and allows you to build your testing code base while the test is running and append to the test execution context while it's running.  
It's made to allow extremely rapid iteration on automated tests.<p>Watch the video for a demonstration of its usage.  
If you're familiar with Playwright or automated testing, please pull it down and try it out yourself.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42809143">https://news.ycombinator.com/item?id=42809143</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 23 Jan 2025 23:31:18 +0000</pubDate><link>https://github.com/dnv-opensource/playwright-live-recorder</link><dc:creator>mjgoeke</dc:creator><comments>https://news.ycombinator.com/item?id=42809143</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42809143</guid></item><item><title><![CDATA[New comment by mjgoeke in "Show HN: Simulating 20M Particles in JavaScript"]]></title><description><![CDATA[
<p>You might check if chrome://tracing helps give more insights:
I came across it here<p><a href="https://youtu.be/easvMCCBFkQ?t=114" rel="nofollow">https://youtu.be/easvMCCBFkQ?t=114</a></p>
]]></description><pubDate>Mon, 08 Jul 2024 16:17:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=40906694</link><dc:creator>mjgoeke</dc:creator><comments>https://news.ycombinator.com/item?id=40906694</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40906694</guid></item><item><title><![CDATA[New comment by mjgoeke in "Show HN: Running TempleOS in user space without virtualization"]]></title><description><![CDATA[
<p>I'm guessing something along the lines of 1 Samuel 13:13 ;-)<p><a href="https://www.bible.com/bible/114/1SA.13.13" rel="nofollow">https://www.bible.com/bible/114/1SA.13.13</a></p>
]]></description><pubDate>Fri, 12 Apr 2024 16:53:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=40015032</link><dc:creator>mjgoeke</dc:creator><comments>https://news.ycombinator.com/item?id=40015032</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40015032</guid></item><item><title><![CDATA[New comment by mjgoeke in "AI-generated sad girl with piano performs the text of the MIT License"]]></title><description><![CDATA[
<p>We're already there!
Impose some structure in the textual representation of the song and it'll respect the structure musically:<p>example - "I only ate 3 cheeseburgers"<p><a href="https://suno.com/song/c15f0251-fbac-4a30-a3e1-002dbc78cb79/" rel="nofollow">https://suno.com/song/c15f0251-fbac-4a30-a3e1-002dbc78cb79/</a><p>edit: yes, I agree this example amusingly reinforces the rest of what parent is saying</p>
]]></description><pubDate>Thu, 11 Apr 2024 15:42:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=40003426</link><dc:creator>mjgoeke</dc:creator><comments>https://news.ycombinator.com/item?id=40003426</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40003426</guid></item><item><title><![CDATA[New comment by mjgoeke in "Ask HN: Who wants to be hired? (April 2024)"]]></title><description><![CDATA[
<p>Location: Oregon<p>Remote: yes<p>Willing to relocate: no<p>Technologies:<p>Typescript/Javascript, C#, HTML/CSS, Vue, SQL, noSQL, Bootstrap, Azure Devops/Github Actions, Kubernetes, Docker, Node.js, functional programming, CQRS, unit and automated testing<p>Résumé/CV: upon request via email<p>Email: michael[dot]goeke[plus]yc[at]gmail[dot]com<p>Laser focused Principal Software Engineer adept at delivering best in class solutions on time, on budget, while building a kick ass team in stride. Fearless and empathetic communication - break down walls, find and create alignment, empower those around me. Technical genius. Polymath and autodidact. Clear and concise communicator.</p>
]]></description><pubDate>Tue, 02 Apr 2024 00:33:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=39901086</link><dc:creator>mjgoeke</dc:creator><comments>https://news.ycombinator.com/item?id=39901086</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39901086</guid></item><item><title><![CDATA[New comment by mjgoeke in "Hell Yeah or No (2020)"]]></title><description><![CDATA[
<p>I've appreciated a lot of parts of this book and was wondering if I could share it with others in some way.<p>I like to see the actual content of a book before I buy it to know if it resonates with me.<p>I found the book's table of content with links to the content is available, so I linked that here. Hopefully you get something out of it, and buy either the digital or paper copy if it speaks to you.</p>
]]></description><pubDate>Mon, 31 Jul 2023 19:53:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=36947887</link><dc:creator>mjgoeke</dc:creator><comments>https://news.ycombinator.com/item?id=36947887</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36947887</guid></item><item><title><![CDATA[Hell Yeah or No (2020)]]></title><description><![CDATA[
<p>Article URL: <a href="https://sive.rs/n#toc">https://sive.rs/n#toc</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=36947868">https://news.ycombinator.com/item?id=36947868</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Mon, 31 Jul 2023 19:52:36 +0000</pubDate><link>https://sive.rs/n#toc</link><dc:creator>mjgoeke</dc:creator><comments>https://news.ycombinator.com/item?id=36947868</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36947868</guid></item><item><title><![CDATA[New comment by mjgoeke in "Half of vinyl buyers in the U.S. don’t have a record player: study"]]></title><description><![CDATA[
<p>My first thought is, are they differentiating between people who buy vinyls for themselves vs someone who has a record player?<p>Seems like they may be jumping to conclusions here.</p>
]]></description><pubDate>Mon, 01 May 2023 18:58:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=35777459</link><dc:creator>mjgoeke</dc:creator><comments>https://news.ycombinator.com/item?id=35777459</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35777459</guid></item><item><title><![CDATA[New comment by mjgoeke in "Help I have a JavaScript Lib that blows away competition but nobody knows of it"]]></title><description><![CDATA[
<p>I have a very different set of problems/concerns in my current project and when I walk through the website most of it isn't mapping into my current problem+solution space.<p>The problem this is solving may be obvious from your perspective, but it isn't from mine, and maybe others.<p>I don't know I need your solution unless I see I have a problem.<p>Perhaps there are a few simple, general problem cases this solves.
If so you could characterize those in context+problem+solution brief narratives.
That could help others get on the same page as your solution.</p>
]]></description><pubDate>Fri, 14 Apr 2023 21:54:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=35575299</link><dc:creator>mjgoeke</dc:creator><comments>https://news.ycombinator.com/item?id=35575299</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35575299</guid></item><item><title><![CDATA[New comment by mjgoeke in "Tell HN: I'm nervous and don't know where else to go"]]></title><description><![CDATA[
<p>This.<p>And this is true for reasons I didn't understand when I was soley technical and younger.<p>At the end of the day people -  _teams_ - want people they can trust in.  That doesn't mean you handle things flawlessly, or that your boss can necessarily "set it and forget it" with you.
Being trustworthy and responsible means acting out of good intent. Take a breath, keep your head on straight, look at the slightly bigger picture, and make reasonable choices. Communicate.
Act as if the world isn't on your shoulders - because it isn't.<p>Take a step back, realize that we're all people, trying to make good decisions, and we're responsible to work with the outcomes and address problems as they arise.<p>I've found I grow by leaps and bounds when I embrace this.</p>
]]></description><pubDate>Fri, 14 Oct 2022 17:26:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=33206445</link><dc:creator>mjgoeke</dc:creator><comments>https://news.ycombinator.com/item?id=33206445</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33206445</guid></item><item><title><![CDATA[New comment by mjgoeke in "Show HN: I Made a Playwright Recorder"]]></title><description><![CDATA[
<p>I'm actively developing this, here's my list of next things:<p><pre><code>  * make the tool author new page-object-model files
  * workflow to append to page-object-model files
  * support nested page-object-models better (scope selector)
  * make playwright selectors work both ways (only work one-way right now, generating, not executing)
  * page-object-model patterns flexibility - embellish recorder rules with method parameters
  * add an animated gif to the top of the readme showing usage
  * clean up ui
    * margins/alignment
    * add toggle to show/hide</code></pre></p>
]]></description><pubDate>Thu, 22 Sep 2022 15:35:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=32940392</link><dc:creator>mjgoeke</dc:creator><comments>https://news.ycombinator.com/item?id=32940392</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32940392</guid></item><item><title><![CDATA[Show HN: I Made a Playwright Recorder]]></title><description><![CDATA[
<p>Playwright comes with a recorder, however I had a few killer features I wanted/needed:<p><pre><code>  1. I need a repl to execute the "next lines of code" live, either in vscode or the browser.
  Without this I have to restart the entire test to get to the end and try the next line.

  2. I need to be able to configure the selector to match application or lib specific UI pieces
  One-size-fits-all selectors isn't working well for my company's SPA

  3. I need this to generate test code as good as I would write
  This means awareness of the page-object-model, and not just emitting raw selectors into my test
</code></pre>
As far as I'm aware these 3 killer features aren't out there in the web automated test world. I tried to find them. When I couldn't I began writing my own. I got the go-ahead from my workplace to continue implementing it, dogfood it, and even have it open sourced and published on npm.<p>@dnvgl/playwright-live-recorder<p>feedback appreciated!</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=32940296">https://news.ycombinator.com/item?id=32940296</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Thu, 22 Sep 2022 15:30:12 +0000</pubDate><link>https://github.com/dnv-opensource/playwright-live-recorder</link><dc:creator>mjgoeke</dc:creator><comments>https://news.ycombinator.com/item?id=32940296</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32940296</guid></item><item><title><![CDATA[New comment by mjgoeke in "Live Coding in Playwright"]]></title><description><![CDATA[
<p>Yes exactly!
Our behemoth of a web app was taking 25s initial load time (much faster when cached so it just wasn’t a priority to fix performance). Average test run time for a workflow test is 2 minutes.
That means when authoring them and I’m trying to get selectors and crap right it takes me 5 tries for the next line of the test, waiting for 60-90s between each try.
The result is it takes 3-4 hours to author a single medium complexity test. And my brain is mush for the rest of the day.
I hated that and would subconsciously avoid writing tests.<p>What I’ve developed allows me immediate feedback every step of the way. It makes it _fun_ again so I can keep my head in the game and finish a test in 15-20 minutes and feel accomplished instead of burnt out.
I’ve also taken an approach where the tooling (especially the recorder, and soon the page object model support) brings you 80-90% off the way there, but _always_ plays well with user created code - it has some loose basic expectations of the interface, but it doesn’t need to own the generated code - that’s just a starting point for you to improve it.<p>Super excited. My company already has a precedent for open sourcing projects so I’m hoping this won’t take more than a week or two to get it there.
I’m on vacation for a week but plan to finish the page object model story when I get back.</p>
]]></description><pubDate>Fri, 26 Aug 2022 13:55:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=32607561</link><dc:creator>mjgoeke</dc:creator><comments>https://news.ycombinator.com/item?id=32607561</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32607561</guid></item><item><title><![CDATA[New comment by mjgoeke in "Live Coding in Playwright"]]></title><description><![CDATA[
<p>Hi!<p>I created a library at work that I'm pushing to get open sourced now.
It provides live coding functionality for Playwright tests.<p>It also has an extremely powerful user configurable recorder.<p>I'm looking to add support to make it page-object-model aware next.<p>It took 2 weeks to make so far, is < 100 lines code in playwright test side and < 100 lines code in the browser side to do the entire thing.<p>Everything kept folding down smoothly and (almost) perfectly.<p>I'm very proud of it :-)</p>
]]></description><pubDate>Thu, 25 Aug 2022 22:47:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=32600966</link><dc:creator>mjgoeke</dc:creator><comments>https://news.ycombinator.com/item?id=32600966</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32600966</guid></item><item><title><![CDATA[Live Coding in Playwright]]></title><description><![CDATA[
<p>Article URL: <a href="https://twitter.com/michaeljgoeke/status/1562930082288906240">https://twitter.com/michaeljgoeke/status/1562930082288906240</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=32600965">https://news.ycombinator.com/item?id=32600965</a></p>
<p>Points: 1</p>
<p># Comments: 3</p>
]]></description><pubDate>Thu, 25 Aug 2022 22:47:59 +0000</pubDate><link>https://twitter.com/michaeljgoeke/status/1562930082288906240</link><dc:creator>mjgoeke</dc:creator><comments>https://news.ycombinator.com/item?id=32600965</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32600965</guid></item><item><title><![CDATA[New comment by mjgoeke in "Ask HN: I'm So Lonely"]]></title><description><![CDATA[
<p>I have wrestled with my own demons, some similar to yours.
What I found was I was missing authentic friendship and connection with people.
This was a long process, but the first step was to find safe trustworthy and interested people.<p>For you, some actionable steps:
Finding a good counselor is an excellent step. I won’t try to advise how to go about that, others have done a much better job than I could. One key would be to take action (and keep taking action). Also don’t just settle with the first counselor you find. Try several and choose which one helps you move in the right direction most.<p>Secondly I have personally found Headspace’s mediations on Loneliness and on Anxiety very helpful on a physiological level.<p>Everything else I have is less actionable.<p>Our hearts and emotions matter. Compassion matters. People being compassionate toward you, and you toward yourself. Being seen for who you are matters.<p>Your history indicates deep wounds. When our wounding comes within the context of relationships, healing also ends up needing to come from relationships. This will take time. You will have to find people you can trust.<p>Life is more than getting by. Find yourself, and find people who love you and respect you, as different as you may be.
This is a wake up call, who you are is signaling that you need more.</p>
]]></description><pubDate>Mon, 14 Mar 2022 05:07:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=30668706</link><dc:creator>mjgoeke</dc:creator><comments>https://news.ycombinator.com/item?id=30668706</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30668706</guid></item></channel></rss>