Quadratic runtime complexity (nested loops) is really nasty since it's fast over small datasets/test cases but under real-world usage it breaks. In this case, the Alpine.js Devtools data panel would freeze.
Quadratic runtime complexity (nested loops) is really nasty since it's fast over small datasets/test cases but under real-world usage it breaks. In this case, the Alpine.js Devtools data panel would freeze.
This fix for an O(n^2) -> O(n) is just moving a reduce() out of a map(), but it took years to diagnose (thanks to showsubmit.com for being the reproduction case).
I would be interested
The super annoying thing here is that in my case it didn't manifest as a CSP failure but as a crash from the _website's_ code
Chrome is the opposite, adding inline scripts breaks stuff but its permissive about loading JS resources from Chrome extension URLs
Yeah I didn't manage to figure it out completely, based on the fix, it must be that when Firefox when it encounters a CSP with script-src, it wont allow loading from moz-extension://<extension-UUID>
Weirdly enough it doesnt mind you injecting an inline script (and fetch-ing the resource is allowed)
Replied on GH but that looks suspiciously similar to an issue I fixed on Alpine Devtools to do with how Firefox CSPs deal with extension resource URLs
As far as they're concerned, the website is only there to deflected from call center/other manned support channels
The only time reliability will come up & handling "edge cases" will be important is if there's some company wide initiative to reduce call center contact
I noticed this in an older version of date-fns (v1 or v2), 90% of the function I was reading was validating inputs, latest uses TS and doesnt validate as much
Before TypeScript and IDEs that understand TypeScript (even in JS), that was kind of the JS way of doing types... runtime validation
One of those productivity/flow tips is to leave something half done so you can get going the next time
LLMs/agents give you that in the cases where they don't one-shot your request.
Even just firing up the dev server and testing the output still gets you closer to flow even in the one shot case.
Arguing with an LLM about whether I want to call Alpine.js devtools seamless or effortless
... in the gnarliest file of the project
1 line fix, but you had go know where to jam it
Decent
Fed a repro into a coding agent (Jules) and it actually fixed the underlying bug
Can we make a plan to solve it but in a way that i can take over from Jules if you cant solve it? (So probably include a reproduction, make sure it fails eg. automation tests, submit that code, then try to fix it)
Jira and Confluence are enterprise kitchen sinks
As others mention, whatever you wanna build with them, you can.
Where smaller/earlier stages players are more focused/have less flexibility so enforce a simpler process.
The AWS News Feed is currently without funding 😢 Meanwhile development of new features continues, the site's numbers are consistently growing, and with the pre:Invent season about to fire up we expect only more visitors and subscribers in the coming months! Will you become a sponsor? Send me a DM!
Meanwhile Chrome rolled out Manifest v3 and started uninstalling non v3 extensions earlier this year...
👍 my pleasure
Started using jules.google.com
Async development agent, you grant it access to GitHub repositories, it clones them in a VM and runs tasks (including scripts etc).
Not bad for small tasks, stubbing/poc attempts or while on the go (slow to type code on mobile).
Also pre-TypeScript libraries that do a bunch of runtime parameter validation
I'm reviving my newsletter, have ~2 months of content scheduled.
Subscribe if you think this content might interest you.
buttondown.com/hugo/
Big news! I'm available for hire! If you have JavaScript/TypeScript you want written, and you have budget for an ambitious and highly skilled practitioner with over 20 years of experience doing that, including leading teams, communities, and execs, hit me up.
izs.me
(RT please)
If you prefer it to your email inbox, I'll be sending them out
Subscribe at buttondown.com/hugo#subscri...
I've aggregated some more advanced/non-obvioud TypeScript patterns in this new posts
codewithhugo.com/typescript-t...
Also found supademo.com/tools/screen...
To add annotations in the padding space to make the images pop a bit more
Was struggling to find a free product screenshot generator for Alpine Devtools Chrome extension
For the Chrome Webstore you need to capture 1280x800 and I'm just not that accurate with drag and drop
screenshot.rocks seems to do the basics of what I need (browser frame config, padding/background)
Aaaand just noticed it's not responsive
I've got a plan to move alpine.codewithhugo.com over (which is 11ty) so will likely redo at that point
Interesting concept of a minimalist blog
ostwilkens.se/blog/setting...
To be honest for alpinedevtools.com/updates
I went even further: use .md files and generate the HTML using the VSCode Markdown All In One plugin.
Funny story
I keep hitting this "I want to select elements where attr starts with *prefix*"
Eg. Detect HTMX I need hx-* or data-hx-*
GitHub diff adding Tailwind dark: classes to support dark mode
I'm not one to admit when I'm being stubborn
But working on the Alpine Devtools in the evenings means I finally felt the "why no dark mode" pain
This vindicates the time I spent wiring Tailwind (v4) properly the other day (devtools v1 is on Tailwind 1)
What's next?
- time travel debugging (store data updates and re-apply them)
- improvements to component/data edit UX
Let me know your workflow/features you need: alpinedevtools.com/survey