Profile avatar
p-y.wtf
https://p-y.wtf | Android Eng @Square | hashnode.com/@py | instagram.com/py.ricau | LeakCanary, Radiography, square/logcat, square/PAPA. He/Him
556 posts 1,526 followers 386 following
Regular Contributor
Active Commenter
comment in response to post
Isn't it the other way round I think, upload being that way was around before and iOS just decided to use that for Share, no? Maybe because the distinction between upload & share was deemed to complex, links are hard just pretend it's all sending stuff?
comment in response to post
👍 same as how using `inline` in a library is creates problems with version conflicts, just got bit by that.
comment in response to post
The discourse on how Bluesky is great because you can customize the algorithm is BS if normal users don't have a good way to understand why they're seeing specific content.
comment in response to post
Well, that depends.
comment in response to post
This makes sense in many apps, but not all. The utility of the "session" concept shrinks as sessions lengthen. Sessions are a rough proxy for "task" or "jtbd" in quick use apps. Longer sessions: you have to build & track that task / jtbd concept instead.
comment in response to post
Ooooh thanks! The truth is I actually wanted to pre record but procrastinated too hard... I also think giving the audience a heads up that I might need their help might have made folks engage more.
comment in response to post
I've always done either pre recording or even just showing screenshots of code (& videos of results) which helps with removing noise / focus on what's important. Then last year I live coded a heap graph traversal.. and I really enjoyed myself! www.droidcon.com/2024/10/17/r...
comment in response to post
At the end of the day you're presenting for the audience, not for yourself. It's less about looking like a ninja live coding rock star (although entertainment does help with learning) and more about what helps you convey your ideas best.
comment in response to post
Our brains just aren't great at presenting + coding ➡️ - 2 ppl on stage, one talking while the other code - pre-record yourself livecoding, then live talk over it. Or use shortcuts etc, or practice 10x. - if you must live code, then ask the audience to be the brain and help you
comment in response to post
Or.. use Moshi! github.com/square/moshi
comment in response to post
Allergies!
comment in response to post
Although that's kind of a bad idea because video recording does impact the runtime.
comment in response to post
What I really really really want: A way to associate frames in video to frames in Perfetto
comment in response to post
Isn't that good old thermal mitigation, same as for CPUs?
comment in response to post
It's so nice, honestly the biggest issue is.. everyone else. Cars cutting because they know Waymo will stop. Folks that are a little out there and just dance in the middle of the street. They're not great at inserting back into traffic from a stop.
comment in response to post
Aaand it's back. 100% uptime my ass
comment in response to post
What does that look like for you 😉?
comment in response to post
Yep I only meant to say that how it's done on backend doesn't work on Mobile. And that part of the how has to do with associating user activity signals and timelines to hardware state and success rates.
comment in response to post
And then what? I'm not sure what "it's not about metrics & dashboards" unlocks here. There isn't a single simple state, we've got a chaotic system.
comment in response to post
Ok this is a math thing en.m.wikipedia.org/wiki/Observa... So this is simply saying "we're an observer outside the system by definition we can't know its state but we can reconstruct that state from observed data"
comment in response to post
I think I haven't fully absorbed what that concretely means. Outputs as opposed to what, internal state? inputs? Those logged outputs are often snapshots of internal state. And inputs do matter in understanding a system behavior.
comment in response to post
Yes! That's definitely where my mind is at.
comment in response to post
Maybe we need to use a different word, but my general point is that backend observability concepts don't translate well to mobile. At the end of the day we want to know how well things are working, where / why / why not etc.
comment in response to post
We have it widely in use at Square / Block. When I set up meetings in gcal I often have it generate a Tuple link instead of a Google Meet link, if we're going to pair or mob.
comment in response to post
On mobile each device is going through a series of very different workloads, highly correlated with what users do & see. That's what backend style observability metrics make no sense for mobile. The correlation is the heart of the observed data
comment in response to post
Finally, I actually think the divide between "what users do & see" "what's going on with the device" makes no sense whatsoever. Backend machines get a bajillion identical requests from different users that at scale have side effects. O11y looks at resource usage, errors rates, etc.
comment in response to post
"Real User" in RUM only makes sense if you've already got monitoring with fake users. On mobile a user is a user, it's odd to add "oh yeah REAL user" like what, we monitor mobile with fake users.
comment in response to post
Ok I'll play! "Synthetic monitoring" is monitoring of the real production website, with fake users (scripts. It helps monitoring whether your site is up or down, etc. Macrobenchmarks have nothing to do with that.
comment in response to post
Is this a ... Web Engineer?