Husband, dad, cyclist, software engineer, drummer, student of YouTube, watcher of documentaries, intender of puns.

Joined February 2009
Relativity (M. C. Escher) [2026 colourised version] #LaVuelta26🇪🇸
11
95
9
1,173
58,067
Aaron Hardy retweeted
OMG TIL: When you use new Promise(resolve => ...), after you call resolve(foo), as you know, resolve is a no-op. Further calls do nothing. You'd think, therefore, also, that holding a reference to resolve long-term doesn't really hold onto anything, because it's a no-op function, why would it be holding onto anything? Well it turns out, in fact, it holds a reference to the `Promise`, which in turn holds the resolved value, `foo`. So the value `foo` leaks if you never discard `resolve`. This could obviously be fixed by having resolve null itself out after the first call. But the spec is extremely prescriptive of the exact algorithm here, and it doesn't explicitly say to null out the resolver after it is used, so none of the implementations do it. And so, if you hold onto a resolve function after calling it, you are leaking memory. Fun additional fact: Say you do `Promise.race([foo, bar])`. Say that you do this many times, with many different promises for `foo` that resolve promptly, but `bar` never resolves. Maybe `bar` is some sort of global shutdown signal. Well, in this case, every single resolution of the `foo` promise gets attached to the persistent `bar` promise. They all leak, until `bar` finally resolves. WTF!?!
18
13
4
354
34,733
What it's like to watch AI fix a bug
423
2,465
407
20,426
943,161
Announcing React Aria Components v1.0.0! 🥳 Over 40 components with built-in behavior, adaptive interactions, top-tier accessibility, and internationalization out of the box, ready for your styles. react-spectrum.adobe.com/rea…
71
405
64
2,778
542,632
Ethereum is about to experience a once-in-a-lifetime phenomena called the "Triple Halvening" after the upcoming Merge. What this is, and how this will drastically affect every ETH holder 👇
286
2,008
356
7,126
I've taken some time to do my first start-to-finish implementation of Adobe Analytics with the new AEP Web SDK (aka Alloy). While the experience is a bit rough, it is an amazing piece of technology that really works today. Read about it in this new post! fullstackanalyst.io/blog/ado…
5
5
3
20
Aaron Hardy retweeted
How it started How it’s going
10
265
44
1,160
Lots of questions about the new Adobe Web SDK (alloy.js) bouncing around. I’ll try to answer a few.
2
11
5
23
Woah - seeing some metrics of e-commerce in a post-COVID world. #AdobeSummit
the scariest thing about COVID-19 is that it looks like a JIRA ticket
338
9,523
1,421
28,389
We have the agenda! 🤩 We have just updated our website and released the speakers that are going to join us during the Pick JS Conference 2020! Visit pickjs.com and let us know what you think of the agenda
1
3
Aaron Hardy retweeted
somebody on twitter today: trump's weird hand-scrawled denial today sounds like a ramones song. me:
1,443
20,696
5,156
65,168
Did you know you can deploy and configure @GoogleAnalytics with #AdobeLaunch? Find out how and why in the post below! #googleanalytics #webanalytics #adobeanalytics #adobelaunch bounteous.com/insights/2019/…
1
1
3
Aaron Hardy retweeted
Fascinating: Moore’s Law predictions vs actual growth in transistor count. by @datagrapha reddit.com/r/dataisbeautiful…
53
2,617
321
4,744
Make Equifax pay: Claim your settlement amount ($125+ minimum if affected) eligibility.equifaxbreachset… Breach was announced Sep 7th 2017. You probably spent a lot of time remediating your credit that month, right? Get paid for that time.
39
166
18
409
Aaron Hardy retweeted
What people die from, What they Google, What the media covers.....
186
11,274
901
21,371
Now that's what we call competitive cycling 💪💪
96
948
327
3,241
Have you ever wonder how to create an Adobe Launch extension ? Lucky for you, just created a COMPLETE guideline on this on my blog 😉 Here is the start page bit.ly/2Ln8x0Z #Launch #Adobe #TagManagement #measure
3
8