For years I've been told that I can shove 16 bits of data into a 64-bit pointer. Today I tried it out, just to realize that both macOS and Android use those bits for safety cookies 🫥
Posts by Andrei Shikov
reminds me of the time i accidentally broke everything by including a russian с in the name of the file (it looks the same)
github is such a joke, apparently if PR hits a certain file limit, it just pretends the files are not there
Full Video:
www.youtube.com/watch?v=KKbg...
i dreamt about a realistic mafia game where i am awake at night to witness everything but wake up too late to influence any decisions
This is excellent, one of my favorite long-form pieces on agentic engineering - includes several non-obvious ways in which leaning on coding agents can catch you out
my favourite part about LLM adoption is that everyone is finally documenting their workflows
No coffee breaks while Gradle is syncing :(
Blog post at some point, yeah, we are not done there yet.
TLDR; is in the issue above, R8 started transforming `AtomicReferenceFieldUpdater` to only do the actually necessary work whenever it can
consult the graphs
androidx2-perf.skia.org/m?begin=1774...
linegoestothebottomright.jpg
at this point there's 0 reason not to use r8, just enabling it made our Compose benchmarks 20% faster (before this update dropped)
you can even apply it to coroutines and androidx code only without affecting anything in your app: developer.android.com/topic/perfor...
no, seriously, try r8 that comes with agp 9.2.0-alpha05+
it addresses github.com/Kotlin/kotli..., and turns out if you make atomic operations 2x faster, it makes the whole thing 2x faster when the library performs atomic operations almost exclusively under the hood
In the next version of AGP
- R8 makes coroutines 2x faster
wait, fuck, this is gorillaz
same same
pretty much relies on my trust in the person who produced it to review it which is exactly zero for anyone I don't know personally
duolingo has chess now?
just --dangerously-skip-permissions
Btw you should also look into CompositionObserver interface, it offers a better way to figure out which state invalidated which scope. It might be a bit more finicky to setup though, as it requires you to get access to composition.
I am not sure performance can be attributed only to recomposition counts. Regressions can be caused by the code that simply does more, e.g. by changing what is invalidated.
I didn't read the whole article (not a subscriber, sorry), but one thing to note is that LazyColumn is not a good example here. It is a SubcomposeLayout and those are optimized for this kind of thing already. This change is going to improve the regular Column case though.
my favourite part of the exploratory projects is when I come up with an idea within minutes and then go on a multi-day bender to try everything else just to return to the original idea which was actually perfect the whole time
also ASCII is so 1963
they look fancier ok
yes macOS notes app, I definitely wanted you to replace my ASCII single quotes with your fancy unicode that looks exactly fucking same
so they say css... is not... a programming... language? 🤔
I just have to share the og objc website that spawned that one: fuckingblocksyntax.com
it is way more cursed
oh yeah, I don't have a dlc yet
smh I can stop myself, but playing together is way more fun
you should try it out sometime