Elektrine
EN
Log in Register
Paige Chat Timeline Communities Gallery Videos Email DNS VPN Uptime Kairo
Back to Timeline
Remote

Tom Lokhorst

@tomlokhorst@mastodon.social
mastodon 4.7.0-beta.1
  • Open on mastodon.social

Indie developer.
Currently working on iPhone mirroring app https://getbezel.app and Vision Pro app https://splitscreen.vision
Fan of both space and time.

0 Followers
0 Following
15 Posts
Joined October 28, 2022
Work:
https://nonstrict.eu
Personal:
https://tom.lokhorst.eu
Location:
The Netherlands
WWDC Index:
https://wwdcindex.com

Posts

Open post
tomlokhorst
Tom Lokhorst @tomlokhorst@mastodon.social · Apr 26, 2026
Tom Lokhorst
@tomlokhorst@mastodon.social

Indie developer. Currently working on iPhone mirroring app https://getbezel.app and Vision Pro app https://splitscreen.vision Fan of both space and time.

mastodon.social

Transcript of Meet with Apple Q&A on Swift concurrency. https://nonstrict.eu/wwdcindex/meet-with-apple/276/

4
0
1
0
Open post
tomlokhorst
Tom Lokhorst @tomlokhorst@mastodon.social · Apr 15, 2026
Tom Lokhorst
@tomlokhorst@mastodon.social

Indie developer. Currently working on iPhone mirroring app https://getbezel.app and Vision Pro app https://splitscreen.vision Fan of both space and time.

mastodon.social

@siracusa@mastodon.social Re: ATP Dev. I recently wrote a blog post how we make Swift Errors for our Mac app. Focussing on both the end user and the developer experience. https://nonstrict.eu/blog/2026/the-four-audiences-of-swift-errors/

mastodon.social

John Siracusa (@siracusa@mastodon.social) - Mastodon

18
1
5
0
Open post
tomlokhorst
Tom Lokhorst @tomlokhorst@mastodon.social · Apr 09, 2026
Tom Lokhorst
@tomlokhorst@mastodon.social

Indie developer. Currently working on iPhone mirroring app https://getbezel.app and Vision Pro app https://splitscreen.vision Fan of both space and time.

mastodon.social
Replying to @mattiem@mastodon.social
@mattiem Now it’s public. I think serial queue has same issue. The concurrent queue was just there because that was in my original code.
1
0
0
0
Open post
tomlokhorst
Tom Lokhorst @tomlokhorst@mastodon.social · Apr 09, 2026
Tom Lokhorst
@tomlokhorst@mastodon.social

Indie developer. Currently working on iPhone mirroring app https://getbezel.app and Vision Pro app https://splitscreen.vision Fan of both space and time.

mastodon.social
Replying to @mattiem@mastodon.social
@mattiem Not fully. The mutating func is modifying the buffer var in the class simultaneously. But I don't know why this triggers this particular crash, at this location. It also depends on the OS version, on macOS 26 it's the new xzone malloc, but on macOS 15 it sometimes fails with "Fatal error: UnsafeMutablePointer.initialize overlapping range". https://github.com/nonstrict-hq/StructQueueCrash
2
2
0
0
Open post
tomlokhorst
Tom Lokhorst @tomlokhorst@mastodon.social · Apr 09, 2026
Tom Lokhorst
@tomlokhorst@mastodon.social

Indie developer. Currently working on iPhone mirroring app https://getbezel.app and Vision Pro app https://splitscreen.vision Fan of both space and time.

mastodon.social

Weird crash in Swift "Object of class _ContiguousArrayStorage deallocated with non-zero retain count 2."
I had some old code which tries to protect its internal state using a DispatchQueue. But it's a struct.
When I access it from multiple threads at the same time via a class, it crashes. In my old Swift 5 code I didn't have the "unchecked Sendable", and I assumed it was correct because of the DispatchQueue.
My actual fix is changing the struct to a final class.

2
4
0
0
Open post
tomlokhorst
Tom Lokhorst @tomlokhorst@mastodon.social · Apr 07, 2026
Tom Lokhorst
@tomlokhorst@mastodon.social

Indie developer. Currently working on iPhone mirroring app https://getbezel.app and Vision Pro app https://splitscreen.vision Fan of both space and time.

mastodon.social
Replying to @sjoerd_visscher@types.pl
@sjoerd_visscher I was thinking about that. If crappy microphones can pick it up, that would be a good improvement.
0
0
0
0
Open post
tomlokhorst
Tom Lokhorst @tomlokhorst@mastodon.social · Apr 07, 2026
Tom Lokhorst
@tomlokhorst@mastodon.social

Indie developer. Currently working on iPhone mirroring app https://getbezel.app and Vision Pro app https://splitscreen.vision Fan of both space and time.

mastodon.social
Replying to @tomlokhorst@mastodon.social
Upgraded my audio/video sync timing testing setup. Now it can run autonomously. Although the beeps are getting annoying.
1
2
1
0
Open post
tomlokhorst
Tom Lokhorst @tomlokhorst@mastodon.social · Apr 03, 2026
Tom Lokhorst
@tomlokhorst@mastodon.social

Indie developer. Currently working on iPhone mirroring app https://getbezel.app and Vision Pro app https://splitscreen.vision Fan of both space and time.

mastodon.social
Replying to @tomlokhorst@mastodon.social
Got some new hardware to test audio/video sync timing.
3
3
0
0
Open post
tomlokhorst
Tom Lokhorst @tomlokhorst@mastodon.social · Mar 28, 2026
Tom Lokhorst
@tomlokhorst@mastodon.social

Indie developer. Currently working on iPhone mirroring app https://getbezel.app and Vision Pro app https://splitscreen.vision Fan of both space and time.

mastodon.social

It is that time of year again where I point a camera at a wall clock for a long duration recording. To check if the video drift is a bug in the camera driver or my software.

2
4
0
0
Open post
tomlokhorst
Tom Lokhorst @tomlokhorst@mastodon.social · Mar 18, 2026
Tom Lokhorst
@tomlokhorst@mastodon.social

Indie developer. Currently working on iPhone mirroring app https://getbezel.app and Vision Pro app https://splitscreen.vision Fan of both space and time.

mastodon.social

Great talk by @dgregor79@sfba.social on Progressive Disclosure in Swift. https://www.youtube.com/watch?v=opqKGgJavkw
I liked the reworking of non-throwing functions to be syntactic sugar for `throws(Never)`

2
0
0
0
Open post
tomlokhorst
Tom Lokhorst @tomlokhorst@mastodon.social · Mar 13, 2026
Tom Lokhorst
@tomlokhorst@mastodon.social

Indie developer. Currently working on iPhone mirroring app https://getbezel.app and Vision Pro app https://splitscreen.vision Fan of both space and time.

mastodon.social
Replying to @axel@hsnl.social
@axel Thank you!
0
0
0
0
Open post
tomlokhorst
Tom Lokhorst @tomlokhorst@mastodon.social · Mar 13, 2026
Tom Lokhorst
@tomlokhorst@mastodon.social

Indie developer. Currently working on iPhone mirroring app https://getbezel.app and Vision Pro app https://splitscreen.vision Fan of both space and time.

mastodon.social

I’m at @appdevcon@mastodon.social to give a talk about Swift Concurrency and actors. Excited!

3
3
0
0
Open post
tomlokhorst
Tom Lokhorst @tomlokhorst@mastodon.social · Mar 10, 2026
Tom Lokhorst
@tomlokhorst@mastodon.social

Indie developer. Currently working on iPhone mirroring app https://getbezel.app and Vision Pro app https://splitscreen.vision Fan of both space and time.

mastodon.social
Replying to @hannorein@mastodon.social
@hannorein My Mac has a nice extra place to rest finger when opening lid 🙂
1
0
0
0
Open post
tomlokhorst
Tom Lokhorst @tomlokhorst@mastodon.social · Mar 10, 2026
Tom Lokhorst
@tomlokhorst@mastodon.social

Indie developer. Currently working on iPhone mirroring app https://getbezel.app and Vision Pro app https://splitscreen.vision Fan of both space and time.

mastodon.social

People complain about the corner radius of windows on macOS Tahoe. But @bezelapp@mastodon.social shows iPhone hardware as windows, it has always had giant corners.
Now experimenting with the cursor following the curvature of the window exactly.

Your browser does not support the video tag.
5
3
0
0
Open post
tomlokhorst
Tom Lokhorst @tomlokhorst@mastodon.social · Jan 28, 2026
Tom Lokhorst
@tomlokhorst@mastodon.social

Indie developer. Currently working on iPhone mirroring app https://getbezel.app and Vision Pro app https://splitscreen.vision Fan of both space and time.

mastodon.social
I wrote a blogpost about how we create Error types in Swift for @bezelapp@mastodon.social. We support fully localized error messages and also want to be able to easily debug and log errors. https://nonstrict.eu/blog/2026/the-four-audiences-of-swift-errors/
7
1
2
0

Remote instance

mastodon.social
Open on original server

Media

313k7r1n3
Elektrine

Tor hidden service

elekhj7afj4qnrr4yd3bkzslsyo5jgfxw3orgjkhlcxifueodybyiiad.onion

Platform

  • Email
  • Chat
  • Timeline
  • Communities
  • VPN
  • DNS

Company

  • About
  • Contact
  • FAQ

Legal

  • Terms of Service
  • Privacy Policy
  • Warrant Canary
  • Lite (no JS)
  • VPN Policy
  • Source code

Support

  • support@elektrine.com
  • Report Security Issue
Mail client setup IMAP mail.elektrine.com:993 POP3 mail.elektrine.com:995 SMTP mail.elektrine.com:465
© 2026 Elektrine. All rights reserved. Server: 06:34:48 UTC