Image 1 — Why is Chiang Mai not by the sea, yet there are many places with seashells hanging there?
Image 2 — Why is Chiang Mai not by the sea, yet there are many places with seashells hanging there?

Why is Chiang Mai not by the sea, yet there are many places with seashells hanging there?

just a little curious, before usually seeing people doing this in coastal cities, but Chiang Mai isn't a sea city, right?

u/rurinsky — 1 day ago

Anyone interested in Chinese-English language exchange?

I attended a meetup today, and it was fine when there were only a few people, but I completely lost myself once dozens of people showed up. So I was thinking, if anyone wants to learn Chinese, we could go out for a meal or hang out together. I'll probably be staying in Chiang Mai for a few more months.

reddit.com
u/rurinsky — 13 days ago
▲ 14 r/chrome

Chrome's vertical tabs look so clean after being minimized!

I've been using it this week after updating Chrome, it looks clean and minimal, and you can use cmd+shift+a to bring up the list and search, so I'm not sure I care about the issue of the small icons being hard to see.

u/rurinsky — 14 days ago
▲ 3 r/browserextensions+1 crossposts

Got tired of juggling four store consoles for my extensions, so I built my own publishing tool

I've been making browser extensions for years — 40-something published, a dozen with Safari versions, about ten paid, roughly $9.6k in lifetime sales. Not huge numbers, but enough that the overhead around the extensions became the actual work: four store consoles and four review pipelines, Safari being an Xcode project plus code signing instead of a console, Paddle plus a hand-rolled activation server to sell licenses, and usage stats spread across four dashboards that don't even define "weekly users" the same way.

Eventually I stopped patching around it and built one tool for the whole thing, then moved the ~20 extensions I still maintain onto it.

Publishing: a version bump in CI pushes to all four stores. Zips are validated against the target store at push time, so a Chrome-only zip headed to AMO (no gecko.id) fails right away with the reason, not days later in review.

Licensing: lifetime licenses sold through your own Stripe Payment Link. It emails the activation code on purchase and handles online verification with cached local state. Your Stripe account, your money. All my paid products run on it now (finished moving off Paddle recently).

Analytics: one anonymous ping per install per day, rolled up into weekly actives across all four stores in one chart. This part shipped a week ago, which is why the curve in the screenshot is short. The 14k weekly actives are real.

If you ship Safari from CI, two things that cost me real time:

  1. An ephemeral GitHub runner starts with an empty keychain, so Apple's cloud signing mints a new certificate every run, and the private key dies with the runner. Every run permanently burns one cert until the account hits Apple's cap and builds fail with "maximum number of certificates". Create one cert yourself, export the .p12, keep it in repo secrets.
  2. The App Store Connect API key used for cloud signing needs the Admin role specifically. Developer/App Manager keys authenticate fine, then fail halfway through signing with a vague "Cloud signing permission error".

The tool is called extport (extport.dev, docs at docs.extport.dev). Free during the beta, and the free tier (3 extensions, analytics included) stays free after it. Source: https://github.com/rxliuli/extport (ELv2; the SDK/CLI/WXT module are MIT), self-hostable.

Happy to answer questions.

u/rurinsky — 12 days ago

I spotted a cute mural in a small alley

Just curious about what's in the basket that girl is carrying on her back.

u/rurinsky — 17 days ago
▲ 131 r/chiangmai

Arrived near Chiang Mai University

Came here for a sunset walk meetup, but couldn't find anyone at all. The scenery here is beautiful though, so it was worth the trip even coming alone.

u/rurinsky — 20 days ago

Found a spot along the moat where the water was no longer murky yellow

Yesterday I posted a Reddit thread saying the moat water had become dirty. Someone told me the water near Tha Phae Gate had never been like that, so out of curiosity, I walked eastward from Chang Phueak Gate clockwise along the moat, and after passing Si Phum Corner, the water became less yellow. Continuing north along the moat, the first crossing was the turning point where the water was noticeably much cleaner.

https://preview.redd.it/k9t4nng7eigh1.png?width=960&format=png&auto=webp&s=97c684c7ad661f14ece6b9f5dae894554fd7feba

https://preview.redd.it/0k21a3v9eigh1.png?width=960&format=png&auto=webp&s=8dfdc0f36d7aa7f609ef6324da8915fd38474e6e

https://preview.redd.it/srnu8xk6figh1.png?width=960&format=png&auto=webp&s=3ad2abc0add2c597b8732229bef80fc844a3c085

https://preview.redd.it/51pwffideigh1.png?width=960&format=png&auto=webp&s=49effb71a36f0ad1e36986a63ef2a2870041b369

https://preview.redd.it/vm2bx2kofigh1.png?width=934&format=png&auto=webp&s=b9e48257bb69f728d203a0a99c6bd9e48564e998

reddit.com
u/rurinsky — 20 days ago

Ways to crash Chrome browser within 10 seconds

I'm testing an extension. If I opened the service worker and then clicked reload extension, the Chrome browser crashed automatically. I'm not sure what happened, but it's an interesting phenomenon.

u/rurinsky — 20 days ago

Firefox's rate limiting really tends to block easily when migrating extensions in bulk

I'm in the middle of migrating my many browser extensions, and I've run straight into Firefox AMO's rate limiting wall — pushed 8 extensions simultaneously, and Firefox was the only one that hit a rate limit. Not sure if Chrome/Edge have similar mechanisms — just didn't run into it this time.

https://preview.redd.it/8y5ovcarsagh1.png?width=1610&format=png&auto=webp&s=58864f09aa09a2991b8f44714d8e2b63bcae2d98

https://preview.redd.it/21wcs7cahbgh1.png?width=1808&format=png&auto=webp&s=0d9eb41ffd227ca18ae0ef9528a5aeb99522b529

reddit.com
u/rurinsky — 21 days ago

The frequent rain has made the entire area along the moat very dirty

reddit.com
u/rurinsky — 22 days ago

Took a few night scene photos

Climbed up to the rooftop and took a few shots. The city at night wasn't as dazzling as I had imagined.

u/rurinsky — 22 days ago

Can often see little squirrels here

In the northeast corner of the old town, where The City Pillar Shrine of Si Thammarat is located, there are two huge trees, and it seems that for some reason people place food here for little squirrels to eat.

u/rurinsky — 24 days ago

What is that?

Is this the second time I've encountered this since coming to Chiang Mai? Do they do this every week?

u/rurinsky — 28 days ago