Looks like the Mastodon web UI could do better, too. Especially when URLs are wrapped in angle brackets there's no reason to end them early.

Show thread

Detecting URLs in text is great fun.

When should characters that are allowed in URLs not be considered part of it? Cases I've dealt with today: dot/period, question mark, closing parenthesis. Examples…

Irregular reminder that "@"@domain.example is a syntactically valid email address. Don't use split("@") to get the local part and/or domain.

cketti boosted

I've been thinking about doing a recurring livestream of me working through some of backlock of F-Droid app inclusions.

Would anyone be interested in watching this?

This isn't the first time. And I'm sure the app will be available again soon.
Still, it's very annoying. You'd think a track record of 10+ years of non-malicious behavior would buy you at least another set of eyes before the app is removed.

Show thread

Google removed @k9mail from the Play Store without prior notice because they objected to the following text in the app description (that has been the same for more than a year):

(People sometimes call K-9: K9, K9 Mail, K-9 Email, K9 Email, K9 E-Mail, k9mail or k9email.)

I am happy to report that my changes to the IDEA plugin have been merged. In the future the parameter info popup will be much more useful when using named arguments 🥳

I wrote a short blog post that explains why you might want to avoid the common 'Intent.resolveActivity() then startActivity()' pattern when targeting Android 11.

cketti.de/2020/09/03/avoid-int

Yesterday I read through 161 comments on a feature request of another project to find out what design considerations went into their implementation. Took me almost an hour. About a third of the comments didn't add any value and could have been skipped 😞

Show thread

I wrote a short blog post on why as an open source maintainer I sometimes hide GitHub issue comments.

cketti.de/2020/07/07/why-i-hid

"A Warm Welcome to ASN.1 and DER" is a really nice introduction to the topic. It also gives a good idea of why writing a DER parser is so error-prone.

letsencrypt.org/docs/a-warm-we

I just published an update to my library SafeContentResolver. After 4 years of nobody complaining about the API I went from version 0.9.0 to 1.0.0 🐌

github.com/cketti/SafeContentR

I wrote a blog post about bugs in an Android class that you probably don't know and probably don't need to know: android.net.MailTo.

cketti.de/2020/06/22/android-n

cketti boosted

We've been asked if we could quickly implement new features in #Liberapay so that it could replace #Bountysource, which has been doing shady things. We can't and we don't want to. Encouraging people to pay for a specific issue to be solved is problematic, it creates bad incentives instead of providing stable funding for the proper maintenance and development of a project. If you still think bounties are a good idea, then you can try to revive freedomsponsors.org/

Show more

cketti's choices:

Fosstodon

Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.