HN user

valzevul

1,053 karma

I build small but opinionated apps, and occasionally help others do the same.

https://drobinin.com/

Posts40
Comments48
View on HN
underreacted.leaflet.pub 1mo ago

Japanese verb conjugation the simple hard way

valzevul
160pts268
drobinin.com 1mo ago

I analysed 20 years of my chats

valzevul
255pts156
www.david-smith.org 2mo ago

Six years perfecting maps on watchOS

valzevul
457pts120
drobinin.com 3mo ago

My phone replaced a brass plug

valzevul
185pts57
thehistoryoftheweb.com 3mo ago

How We Got the Favicon

valzevul
6pts1
drobinin.com 4mo ago

Show HN: I built a release tracker for my indie apps

valzevul
3pts0
en.wikipedia.org 4mo ago

Cab-Rank Rule

valzevul
2pts0
pubmed.ncbi.nlm.nih.gov 4mo ago

Artichoke induces sweet taste (PubMed)

valzevul
4pts1
orindevon.blogspot.com 4mo ago

Traffic Light Louvres

valzevul
3pts0
www.bbc.com 4mo ago

Tonka beans are illegal in the US

valzevul
7pts0
drobinin.com 7mo ago

The Whole App is a Blob

valzevul
164pts96
en.wikipedia.org 7mo ago

British Rail Sandwich (Wikipedia)

valzevul
4pts0
drobinin.com 8mo ago

Apple's Problem with Bodies

valzevul
67pts74
en.wikipedia.org 8mo ago

The Bilbao Effect

valzevul
2pts0
www.thelancet.com 8mo ago

Earl Grey Tea Intoxication

valzevul
2pts1
drobinin.com 8mo ago

You can't cURL a Border

valzevul
471pts278
www.worlddata.info 8mo ago

Morocco shortens the day during Ramadan

valzevul
2pts1
blog.mycology.cornell.edu 8mo ago

I ate the Destroying Angel and survived (2006)

valzevul
4pts1
drobinin.com 9mo ago

Designing software for things that rot

valzevul
177pts44
sourdoughlibrary.puratos.com 9mo ago

The Puratos Sourdough Library

valzevul
3pts1
en.wikipedia.org 9mo ago

Volvelle, an early example of a paper analog computer

valzevul
2pts0
drobinin.com 11mo ago

I accidentally became PureGym’s unofficial Apple Wallet developer

valzevul
649pts176
apps.apple.com 11mo ago

Show HN: I built a Tamagotchi that teaches French numbers

valzevul
5pts0
drobinin.com 2y ago

Things I Learnt in 2023

valzevul
71pts42
abingdonmuseumblog.wordpress.com 2y ago

On the Throwing of Buns

valzevul
1pts0
amosdudley.com 2y ago

Orthoprint, or How I Open-Sourced My Face (2016)

valzevul
1pts0
hackaday.com 3y ago

Luxury Train Cars Used to Ride on Paper Wheels

valzevul
3pts0
www.ft.com 3y ago

Is eating out a luxury again?

valzevul
6pts1
tuesdaytriage.com 3y ago

Show HN: Tuesday Triage, weekly crème de la crème of the Internet

valzevul
4pts3
www.atlasobscura.com 3y ago

The Return of Swiss Cheese Baths

valzevul
1pts0
  Location: Vancouver, Canada
  Remote: Yes (worldwide)
  Willing to relocate: Yes
  Technologies: iOS, Swift, SwiftUI, UIKit, Swift Concurrency, TCA, Core ML/Vision, HealthKit, watchOS, BLE/NFC, Push Notifications, App Store Review, OWASP MASVS, visionOS
  Email: hn@drobinin.com
Résumé: https://drobinin.com/consulting

Senior iOS engineer / Apple-platform consultant with 12+ years of experience.

I build and fix iOS and Vision Pro apps from medical devices and high-traffic consumer apps to vibecoded startups. I also help teams get difficult apps approved: App Store rejection triage, reviewer-note/metadata fixes, and fractional senior iOS support for startups.

There are lots of people in the comments somehow offended by the author's genuine excitement over the method that worked well enough for them that they wanted to share it.

As someone who's never tried learning Japanese, I thoroughly enjoyed reading the deep dive and am now less afraid to check out some more serious tutorials (though I wish everyone put as much effort into explaining the system behind something so often dismissed as "just memorise it").

  Location: Vancouver, Canada
  Remote: Yes (worldwide)
  Willing to relocate: Yes
  Technologies: iOS, Swift, SwiftUI, UIKit, Swift Concurrency, TCA, Core ML/Vision, HealthKit, watchOS, BLE/NFC, Push Notifications, App Store Review, OWASP MASVS, visionOS
  Email: hn@drobinin.com
Résumé: https://drobinin.com/consulting

Senior iOS engineer / Apple-platform consultant with 12+ years of experience.

I build and fix iOS and Vision Pro apps from medical devices and high-traffic consumer apps to vibecoded startups. I also help teams get difficult apps approved: App Store rejection triage, reviewer-note/metadata fixes, and fractional senior iOS support for startups.

Hi, OP here. No idea how I did it ten years ago, but looking at the Dunbar layer contraction, my active network (e.g acquaintances) peaks at 275 in 2016 and gradually declines to about 60 by 2026, and the close friends layer drops from 9 in 2016 to 5 in 2026.

Hi, OP here!

TF-IDF was the first thing I tried - it works great for stopwords but it doesn't handle cross-language bleed of filler words well, and the short life-event messages ("he died", etc) use common words and get aggressively down-weighted.

I had some asymmetry analysis when looking at directional sentiment and per-person question rates - that's fun indeed!

I also went with the Jaccard convergence and the endearment categories instead of wordclouds, so that I could see how word choices are changing across time.

In the same app, if you go down Settings -> Advanced -> scroll to the bottom -> Export Telegram data, there is an option to export all chats at once, including some very handy controls like getting only your own messages for large group chats.

Generally it means that yes, the price will stay as-is. When the developer increases the price (versus introducing a different payment tier), they have two options: either keep all existing subscribers at the current price, or offer them to agree with the price bump (users can decline though). Reducing the price affects all existing users automatically.

Location: Vancouver, Canada Remote: Yes (worldwide) Willing to relocate: Yes (within Canada) Technologies: iOS, Swift, SwiftUI, UIKit, Swift Concurrency, TCA, Core ML/Vision, Metal, OWASP MASVS, watchOS, iPadOS

CV: https://drobinin.com/consulting

Senior iOS engineer / consultant (12+ years). I build and fix iOS and Vision Pro apps from medical devices and high-traffic consumer apps to vibecoded startups struggling to pass App Store reviews.

It's not about submillimetre precision (OP here), it's about knowing if you can shoot well. The most common deer stalking certification in the UK (DSC1) involves three shooting tests from 20, 70, and 100m - if I don't care about 8/10 vs 9/10 shots from 25 yards, there is no way I am putting a shot within a 4" circle from 100 metres.

every minute spent perfecting this automation was not spent improving shooting skills by, you know, shooting

I mention in the post that I had access to the range only 1-2 evenings a week, so there was no way I could improve my skills outside of these few hours.

No, that's fair (OP here) - I went to the range to learn how to hold the rifle in the first place, but indoor shooting with .22 from 25 yards in a stiff shooting jacket is as far from shooting a deer with .243 as it gets, so I stayed for the fun of it and the community around it.

I would definitely get to the point of stalking deer faster if I were to book a few 1-1 sessions at an outdoor range instead, but "faster" was never the point.

Aye, I think most people use something like .243 for stalking, but the closest range was indoors, so I didn’t have much choice.

My goal was to get a deer stalking certificate (e.g DSC1), which includes a shooting test: 2 chest shots at 100m from prone, 2 chest shots at 70m from standing/kneeling/sitting, and 2 head shots from 10-20m standing (they use cardboard deer targets, so not far from training at a range).

I think it depends on the discipline, NSRA .22 in the post uses the outermost edge, but ISSF (Olympic rifle/pistol, for example) uses the innermost edge.

Counting rings is easy indeed, but scoring borderline shots without a scoring gauge is not, because the visible bullet hole is often smaller than the bullet itself.

On that note, the easiest way to get your hands on some protease is to buy digestive enzymes sold as food supplements (most often they're made out of dried pork pancreas).

You also don't need much equipment: scales and an immersion circulator should do the trick.

Location: Vancouver, Canada Remote: Yes (worldwide) Willing to relocate: Yes (within Canada) Technologies: iOS, Swift, SwiftUI, UIKit, Swift Concurrency, TCA, Core ML/Vision, Metal, OWASP MASVS, watchOS, iPadOS

CV: https://drobinin.com/consulting

Email: hn@drobinin.com

Senior iOS engineer / consultant (12+ years). I build and fix iOS and Vision Pro apps from medical devices and high-traffic consumer apps to vibecoded startups struggling to pass App Store reviews.

Location: Montreal, Canada Remote: Yes (worldwide) Willing to relocate: Yes (within Canada) Technologies: iOS, Swift, SwiftUI, UIKit, Swift Concurrency, TCA, Core ML/Vision, Metal, OWASP MASVS, watchOS, iPadOS

Résumé/CV: https://drobinin.com/consulting Email: hn@drobinin.com

Senior iOS engineer / consultant (12+ years). I build and rescue iOS and Vision Pro apps that have to work: medical devices, high-traffic consumer apps, and anything where your previous freelancer said “not possible”.

I am usually brought in for the awkward parts: background reliability, performance/crash triage, architecture refactors, and migrations (SwiftUI, TCA, Swift Concurrency).

Available for MVP builds, agency oversight, joining your team for a sprint or three, and due diligence (I read the codebase and tell you what’s solid, what’s duct tape, and what it’ll take to fix).

That’s fair feedback, thank you. The point I was trying to make wasn’t "my app deserves a lower rating", it was "I built something for adults and realised there isn’t actually a correct category for it at all."

Once I noticed that gap, I went digging into the history to understand why the App Store age ratings and categories are the way they are, hence this archeological detour of a post.

Hey! I don’t disagree that people of any age should think twice before putting personal data (intimate or not) into any platform.

My point wasn’t about lowering the age rating. The issue is that Apple doesn’t have a real category for this kind of wellbeing at all. The age gate itself is sensible, but what’s funny is why it exists. It’s not "because we carefully considered how to protect teens’ data", it’s "because in 2009 the Store was drowning in farting apps, and we’ve been patching around that ever since."

Hi, OP here. Not sure what else to add beyond the first paragraph of the article:

The rating itself is fine: the target audience is well past that age anyway. What baffles me is the logic.

I don't mind the 18+ label, even though it's up to the users what they use the app for, whether it's tracking sex, a partner's health, or personal wellbeing.

But I do find the history of age ratings and categories in the App Store and the limits they have to be quite hilarious, and figured I might as well write them down.

Depends on juniper; I use Juniperus communis as a spice by drying it first, then adding it to sauerkraut, pickled mushrooms, and spirit infusions.

That being said, it’s toxic in larger amounts [1], so I wouldn’t use it raw; for spirits, I’d infuse and then distill.

There is also Juniperus sabina, which is very common as well (at least in the UK) and smells great, but it's outright poisonous [2].

--- [1]: https://www.webmd.com/vitamins/ai/ingredientmono-724/juniper [2]: https://en.wikipedia.org/wiki/Juniperus_sabina#cite_ref-pfaf...

Root cellars are far more stable than a ground-floor garage in my case: steady temperature throughout the year, low airflow. Some wooden cabinets are also superior to modern chambers, i.e cedar acts like a humidity buffer, which is why miso makers still swear by cedar koji boxes.

Good luck with the jowls!

OP here. Yeah, "copyright law" was a lazy shorthand, but it reads better than "tortious interference."

PureGym's T&Cs [1] have a ridiculously long "PIN abuse policy" (probably meant to stop people sharing with mates). They can cancel memberships or even retroactively charge for gym use if you "knowingly provided your PIN to another individual."

I'm not a lawyer and don't fancy being the test case for whether entering your PIN on a third-party website/app counts as "knowingly providing" it. Given how their app works, I suspect they might just ban a bunch of accounts instead.

Though now that I think about it, the squat racks are always packed, so maybe I should just distribute the app to people who go at the same time as me.

[1] https://www.puregym.com/membership-terms-conditions/

Yeah, screenshot on Monday, messed with the app that evening, tried using it Tuesday morning -- dead.

I've seen people on PureGym's Twitter successfully refreshing screenshots weekly though, and the API response suggests the same.

That being said, I couldn't find a validation endpoint to check if mine got invalidated by something specific (maybe signing out?) or if there's some other magic happening.