terhechte

@terhechte@mastodon.social

Swift & Rust. Formerly XING, now doing all kinds of things.

I have more side projects than are good for me. There's the markdown presentation app Hyperdeck (https://hyperdeck.io), there's the Mastodon Client Ebou (https://terhech.de/ebou/), there's an app to Group your email inbox (https://github.com/terhechte/postsack), and more on my Github Profile...

This profile is from a federated server and may be incomplete. Browse more on the original instance.

janl, to random
@janl@narrativ.es avatar

@terhechte heya, I would love to give Ebou a spin, but the TestFlight is full. Absolutely no worries if you have enough folks on there, but is there a place to sign up to be notified for the tnex round?

terhechte,

@janl Hey! I haven't actively worked on Ebou in the past year. However it is open source and the last released build should work fine:

https://github.com/terhechte/Ebou/releases

Give it a try!

Wraithe, (edited ) to mastodon
@Wraithe@mastodon.social avatar

So, for a cool client, written by @terhechte
What’s neat about it?
Instead of showing a chronological POST timeline, it shows you a chronological POSTERS timeline.
So it’s like SMS/iMessage - you see it sorted by people, which can be nice if you’re wondering if you’re missing posts by folks in the flow of messges.
It’s open source and semi-cross platform (binaries on MacOS only).
Check it out!
https://github.com/terhechte/Ebou?tab=readme-ov-file

terhechte,

@Wraithe Yeah, I'm currently not working on it. I think the ideas are sound but the tech stack I chose was a 0.4 version that has seen lots of breaking changes since. So resurrecting Ebou is hard. I think its easier to rebuild the idea on a different tech stack.

terhechte, to random

Fascinating, keeping the iPad a Baby Computer is so important to Apple that they even carved out a special rule such that the EU DMA doesn't apply to the iPad and none of the potential (few as there will probably be) "unfiltered" software will be available for it. Because, someone might actually write a full iPad desktop environment app that allows multi window and doesn't suck.

https://9to5mac.com/2024/01/26/ios-17-app-stores-and-more-ipad-changes/

phranck, to swift
@phranck@chaos.social avatar

Simple (dumb?) but very important question to all , , developers using :

How do you secure your API keys?
It's clear that they don't belong hardcoded in the app. But how do you secure your keys?

Whether hardcoded or via Config.plist with a hex editor, they can be extracted from a binary. So what is the "right" way?

Please boost, thank you. 🙏🏼
:BoostOK:

terhechte,

@phranck My go-to way has been to write convoluted C that recreates the API key from a bunch of math at runtime and never store it in memory but instead always call the function that generates it. Not perfect, but at least you can't find it just by calling strings.

terhechte, to random

Halp!
I've been working on a side project and I'm looking for beta testers! It's no app, it's in the podcast space but it it's no podcast.

If that sounds interesting, respond to this post and I will share details. If you like it, I'd love to have you as a beta-tester.

terhechte, to random

Yearly reminder that MUSCLEBELLS by DJ MuscleBoy is the best Christmas track ever and you should share it with your friends and family.

https://www.youtube.com/watch?v=saos3KpQz8s

terhechte, to macos

🚀 Exciting news! I just launched Subtitlo for : a game-changer for presentations. 🎤✨ This app overlays live subtitles on /, ensuring everyone in your audience catches every word. Perfect for inclusive, accessible presentations!

https://subtitlo.com

It also comes with a lot of themes to adapt to your CI, including nostalgic Mac OS 9, Terminal or Windows 95 themes.

All transcription happens on device, no servers involved. Also Subtitlo is free with In-App purchases.

A brief overview of how Subtitlo works. You can se how subtitles are overlayed over Keynote and PowerPoint

terhechte,

@schwa Thanks :)

terhechte,

@icanzilb Thanks! Do you live in Germany now or in Barcelona btw?

icanzilb, to random
@icanzilb@mastodon.social avatar

Since I lost so much weight, hurrying to make a couple of photos in sport outfits. You know, as a little self-esteem boost 😊

terhechte,

@giladronat @icanzilb Indeed I am! If you're up for a coffee in the timeframe until Wednesday afternoon, ping me!

terhechte, to random

@dehesa what was the name of that thing on your laptop? 🤓

terhechte, to rust

If you speak German, I was on the working draft podcast to talk about using for cross platform development. https://workingdraft.de/583/

terhechte, to random

What would be the best way to watch the Tuesday Apple Event in Barcelona? We’re a group of friends with a crappy Hotel so probably no or bad room TVs. Do Apple Stores stream the event? Is there a meet up? Help appreciated ☺️

below, to random
@below@mastodon.social avatar

The UserDefaults API now wants a privacy declaration, and I still don’t understand why. Aren’t UserDefaults sandboxed as they are? And does a Watch App count as the same app, or is it a different one? #iosdev #macdev

terhechte,

@below you can access some global user defaults keys and hence fingerprint the user this way

terhechte, to random

I'm making slow progress on porting my Mastodon client Ebou to iPadOS. It's working a bit in the Simulator now 😃

With that I have one codebase that targets macOS, iPadOS, Linux, Windows and (theoretically) Web.

Almost all code Rust which leads to very native speed.

Ebou running on iPad showing a selected profile.

terhechte,

@mattiem just like on macOS / Windows, WkWebView / native WebKit. The performance is astounding, but then again modern iPads are just as fast as macbooks. Also no JS really helps performance

terhechte,

@krzyzanowskim @mattiem no, it’s native rust. It sends messages to the web view to tell it what to do, encoded dom update patches. (https://github.com/DioxusLabs/dioxus/blob/master/packages/interpreter/README.md)

The rust is compiled into a native xcframework that is called from objc

terhechte,

@krzyzanowskim @mattiem so the webview is just a renderer. And, a highly optimized one I’d say. Scrolling feels much smoother than SwiftUI lol

terhechte, to rust

I've decided to open source Ebou, the cross platform Mastodon Desktop Client.

You can find the repository here:

https://github.com/terhechte/Ebou

It also supports Windows, although this is beta and Windows binaries are not included yet (you'll have to compile it yourself). Attached is a Windows screenshot. Linux should be easy to support, too.

I'm open sourcing it because I think there's great value in a high quality cross platform Mastodon desktop client and I can't pull this off alone.

terhechte,

If you like Rust and would like to help out, check out the repository. I haven't had time to list issues yet, but it is easy to try out the app and see which things don't work yet 😀

terhechte,

@n3wjack Probably that there's the option to see your feed chat app style, see here for the original proof of concept video:

https://mastodon.social/@terhechte/109762188190735435

terhechte,

@Jgmeadows Oh yes, absolutely. In the end I just wanted to release it so I didn't document it much. That's something to add to the long todo list :)

terhechte,

@erlend Up until 2 months ago, Ebou had wasm32 support and I used it to quickly debug / test the app without having to rebuild / restart it.
I've removed it because the lack of a proper abstraction for the megalodon entities made it a bit of a pain to work with.

It wouldn't be too much work though to add wasm support back in as it did mostly work until recently. The main work would be finding a solution for megalodon / the mastodon API layer as that uses tokio which doesn't work well with wasm

terhechte, to random

After a long hiatus (real life, day job, vacation, procrastrination, huge refactor) there’s a new Ebou version🎉 . It brings profile support with toots, follow and follower lists.

It also allows diving into deeply nested profile stacks.

Furthermore, it’s super close to supporting Windows. More on that very soon.

If you’re still using ebou, I’d love to hear from you ☺️

Link to the TestFlight

https://testflight.apple.com/join/7CpOOK4w

Follower List Screenshot

terhechte, to random

The Ebou macOS is here! It explores a different kind of Mastodon experience.I'm eager to learn whether it works for you.

Many features are missing as I wanted to focus on a core experience. The website has more info: https://terhech.de/ebou.

These core ideas are

  1. Timeline grouped by contact much like a messenger (Telegram, iMessage)
  2. Show conversations as a "comment tree" to see the context and related interesting toots

Feel free to DM me for feedback

https://testflight.apple.com/join/7CpOOK4w

Ebou for macOS. Demo Video

terhechte,

@shoq Hey! Indeed, I'm just paging ~3-4 timeline requests and then grouping it locally. This kinda works but has the obvious downside of taxing the server and slowing down the initial load. I'm sure a server-side implementation could offer a much better experience but I'd guess that's a lot of work (without knowing too much about the architecture tbh.).

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • mdbf
  • ngwrru68w68
  • InstantRegret
  • magazineikmin
  • thenastyranch
  • rosin
  • khanakhh
  • tacticalgear
  • Youngstown
  • slotface
  • Durango
  • kavyap
  • DreamBathrooms
  • provamag3
  • ethstaker
  • GTA5RPClips
  • modclub
  • tester
  • Leos
  • osvaldo12
  • cisconetworking
  • everett
  • cubers
  • normalnudes
  • anitta
  • megavids
  • lostlight
  • All magazines