π Just dropped: Litestream VFS. Query SQLite databases directly from S3 with zero download penalty. It uses HTTP range headers for lazy fetching and LTX for compaction, enabling instant startup even for large databases.
π β‘οΈ fly.io/blog/litestr...
12.12.2025 03:39
π 9
π 1
π¬ 0
π 2
iOS and iPad used to have a limited variety of screen sizes. It was a developer- and designer-friendly advantage over Android. Is that not as true anymore?
10.06.2025 14:59
π 1
π 0
π¬ 0
π 0
I'm curious about the min window size allowed in iPadOS 26's multi-window system. Some of my apps are responsive and look good at 100x100, but likely overflow at 50x50.
10.06.2025 14:48
π 0
π 0
π¬ 1
π 0
My point is, I'd rather see stable versions released less frequently than the current rush to release unstable versions to meet events or quarterly cycles.
22.05.2025 08:33
π 1
π 0
π¬ 0
π 0
Finally solved the Go dependency issue I'd been battling in IntelliJ IDEA for months. It turns out a permission error related to the env file in GOROOT β which should have been a file β had somehow been replaced with a directory of the same name. So bizarre!
22.05.2025 07:54
π 0
π 0
π¬ 0
π 0
Sadly, just introducing a HoverGestureRecognizer wouldn't make it easier. TextSpan already has onEnter/onExit, with which changing a colour on hover is still hard. Hope it will become as easy as it is with CSS, someday without a third-party package. (I think so as an author of a related package.)
11.04.2025 16:43
π 0
π 0
π¬ 0
π 0
Link(
uri: uri,
target: LinkTarget.blank,
builder: (context, followLink) => MouseRegion(
cursor: SystemMouseCursors.click,
child: GestureDetector(
onTap: followLink,
child: Text(
'$uri',
style: TextStyle(
color: Theme.of(context).colorScheme.primary,
decoration: TextDecoration.underline,
decorationColor: Theme.of(context).colorScheme.primary,
),
overflow: overflow,
maxLines: maxLines,
),
),
),
)
An even better/easier way is to use GestureDetector instead of TextSpan + TapGestureRecognizer when there is no specific reason to use TextSpan. This way, you can avoid thinking about how you dispose the recognizer.
11.04.2025 15:30
π 0
π 0
π¬ 0
π 0
Link class - link library - Dart API
API docs for the Link class from the link library, for the Dart programming language.
Just FYI, the Link widget is usually better on the web.
> A widget that renders a real link on the web
pub.dev/documentatio...
10.04.2025 09:53
π 1
π 0
π¬ 0
π 0
03.04.2025 14:45
π 3
π 0
π¬ 0
π 0
I struggled a bit to find out how to scroll to an element smoothly with scrollIntoView() in a website made with Jaspr. Its argument needs to be JSAny, but js_interop doesn't (apparently) have a method to convert a Dart Map to JSObject. Evetually turned out jsify() was the one.
21.03.2025 03:03
π 1
π 0
π¬ 0
π 0
Turso Cloud Debuts the New Developer Plan
A new developer plan that offers more generous allowances and a lower price than the Hobby plan.
Considered Turso and skipped it recently, but wanna think about using it in the future. I guess it is now one of the most affordable cloud relational database services. Only $4.99 (or 5.99) /month for 1,000 databases and 2.5 billion monthly rows read.
turso.tech/blog/turso-c...
20.03.2025 02:21
π 0
π 0
π¬ 0
π 0
Scrolling obviously stutters in my app. Seems the cost of creating widgets is higher than the benefit of lazy creation in SliverList. Using Column makes it smoother, but the initial build is probably more costly. I wonder whether to fix the cause now. It isn't that noticeable in profile mode.
14.03.2025 11:56
π 0
π 0
π¬ 0
π 0
Many Small Queries Are Efficient In SQLite
I had been a little skeptical that running a lot of queries consecutively wouldn't be a problem in SQLite (and actually haven't measured the performance), but found the document had a dedicated page about it. It says even N+1 Queries are fine.
www.sqlite.org/np1queryprob...
12.03.2025 05:41
π 0
π 0
π¬ 0
π 0
Asked an AI about things to be cautious about when using the WAL mode in SQLite on a mobile app. I didn't know WAL might not work on an SD card. I'm lucky I'm using Drift for DB operations but also using sqflite's getDatabasesPath() together to get `data/data/xxxx/databases/`, which isn't in SD.
10.02.2025 16:23
π 0
π 0
π¬ 0
π 0
Upcoming changes to the Turso Platform and Roadmap
With a renewed focused on the rewrite of SQLite, we will make some changes to our offering
So Turso will allow us to create up to 500 databases with 1-day PITR and no cold starts for free, or with 10-day PITR, 3-day audit logs and no archiving for only $4.99 (down from $9). Sounds very affordable and nice!
turso.tech/blog/upcomin...
22.01.2025 05:12
π 0
π 0
π¬ 0
π 0
I saw this post just the right time when I was struggling to access βwindow.navigator.languageβ using package:web on a static site created with Jaspr, only to get an incompatibily error. The universal_web package (used together with kIsWeb) solved the issue.
13.01.2025 08:17
π 2
π 0
π¬ 0
π 0
Yeah it would be better to stick to the web tech you're already use to. For me, who is not a web person, Jaspr feels straightforward as it is really similar to Flutter, and I don't find it really verbose. Notations used instead of HTML are more concise than they used to be.
11.01.2025 15:19
π 0
π 0
π¬ 0
π 0
Started to migrate my developer website from Svelte to Jaspr. The experience is much better than when I created part of my blog site with it 2.5 years ago. It's impressive that even styling is possible via Dart, which was not possible before IIRC.
11.01.2025 14:16
π 4
π 1
π¬ 1
π 0
Do you mean the usage? It's as easy as adding `use-named-parameters: true` to l10n.yaml.
28.12.2024 15:12
π 2
π 0
π¬ 0
π 0
Didn't know I can use the the use-named-parameters flag in l10n.yaml. According to the change log, it's been available since Flutter 3.19.
28.12.2024 14:59
π 1
π 0
π¬ 1
π 0
The UI is so unfriendly. The list shows the customer with the "promo" status, but the next page doesn't show promo entitlements. It is also a weird flow that I need to enter the sandbox page and then uncheck the sandbox checkbox.
27.12.2024 11:05
π 0
π 0
π¬ 0
π 0
I was looking for a long time for a way to remove granted entitlements on RevenueCat dashboard, and I realised just yesterday that I had to uncheck the "Sandbox data".
1. Customers > Sandbox
2. Choose a customer from the list
3. Uncheck the checkbox at the top right
27.12.2024 11:05
π 0
π 0
π¬ 1
π 0
Merry Christmas
25.12.2024 10:17
π 0
π 0
π¬ 0
π 0
Some pitfalls:
a
- The converter is not used for placeholder variables
- Not warned about a wrong type there
b
- DateTime string contains microseconds. Comparing a value in a column with a millisec timestamp can lead to a bug
- QueryRow has DateTimes in UTC, while DataClass has them in local time
24.12.2024 11:56
π 0
π 0
π¬ 0
π 0
Drift stores a date and time as an epoch time in seconds by default. To change the precision to milliseconds, it is necessary to either (a) use IntColumn + a converter instead of DateTimeColumn, or (b) configure to store DateTime as a string. Both have pitfalls. Wish it was easier.
24.12.2024 11:56
π 0
π 0
π¬ 1
π 0
Logging in is not required in my app, but it is necessary if a user has purchased a subscription at the Play Store and wanna enable it on iOS without re-purchasing at the App Store. Will the app be rejected if I describe the flow for users and Apple notices it?
23.12.2024 06:13
π 0
π 0
π¬ 0
π 0
Yeah, Google and the likes often show better results, and so I usually do the same as you. But I guess most people probably go to pub.dev first. I hope its search engine will be improved.
20.12.2024 09:37
π 1
π 0
π¬ 0
π 0
But it doesn't appear early in the results with slighly different keywords like "richtext", "links" and "linkify".
20.12.2024 05:48
π 1
π 0
π¬ 1
π 0