@ctietze@mastodon.social
@ctietze@mastodon.social avatar

ctietze

@ctietze@mastodon.social

Developer of indie macOS apps. The Archive, WordCounter, TableFlip, Move!

Using #Xcode to write #Swift and sometimes #SwiftUI apps for #iOS and #Mac.

OG #Zettelkasten zealot.
Local #urbansketchers group founder.

#Bielefeld (Germany)

─────────────
#fedi22

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

ctietze, to random
@ctietze@mastodon.social avatar

Bullet dodged: I can't do taxes now because I need to download the 500MB app update with a very slow connection first.

ctietze, to random
@ctietze@mastodon.social avatar

I'm downloading a Wikipedia HTML dump, it's 190GB. This takes forever.

drdrang, to random
@drdrang@fosstodon.org avatar
ctietze,
@ctietze@mastodon.social avatar

@drdrang I've never heard anyone complain that they 'superheated' their water. You must have the cleverest of followers :)

nicklockwood, to random
@nicklockwood@mastodon.social avatar

In a fit of madness I've agreed to give an internal talk about advanced Swift at my company. Has anybody got any favorite Swift tricks they'd like to share?

ctietze, (edited )
@ctietze@mastodon.social avatar

@nicklockwood where do you draw the line?

Knowing that for element in array works, but not for let element in array, but of course for var element in array does, is that advanced? :D

ctietze, to random
@ctietze@mastodon.social avatar

@daniel FYI the macOS numbers promised in the tagline are missing here: https://telemetrydeck.com/blog/ios-market-share-04-24/

javier_salcedo, to rust
@javier_salcedo@mastodon.gamedev.place avatar

I’ve been using new shiny languages for a while now. , and in particular.
I love Rust’s tooling, Swift’s syntax, and Zig’s philosophy, but I feel like good old is still the goat.

Yeah, the syntax can get out of hand really quickly.
Yeah, the STL is bloated.
Yeah, the tooling ecosystem is a mess.

But at the end of the day, with a good style guide and some discipline, it can check most of my boxes.

But learning new languages is always fun so I’m still doing it 😬

ctietze,
@ctietze@mastodon.social avatar

@javier_salcedo I mean it's hard to beat the language that all others are written in!

ctietze,
@ctietze@mastodon.social avatar

@matze @javier_salcedo Didn't mean to be literal, since compilers are bootstrapped eventually (like rustc is). But since you're chiming in, rustc emits LLVM-IR and LLVM is written in C++ so that still counts!!! ;)

I'm aware that the Rust community is trying to replace as many non-Rust components as humanly possible, though. LLVM's linker lld is a somewhat recent work in progress I believe

mattiem, to random
@mattiem@mastodon.social avatar

Judging by the “share-socials” channel @DeepDishSwift, mastodon is easily the dominant platform for Apple developers. I was not expecting this!

ctietze,
@ctietze@mastodon.social avatar

@cdf1982 @mattiem I didn't know -- that explains why I find interacting with folks on Mastodon so pleasurable: many are already here! :)

davidbures, to SwiftUI
@davidbures@mstdn.social avatar

I need some design help, I’m not good at iOS development 😅

I have this screen. Originally, it was called “Dictionary”. This is where you look up words.

Then, due to SwiftUI being annoying, I had to add another title to that bottom sheet. Because that technically is also a part of the dictionary, I also gave it the title “Dictionary”. See pic no2 for what inside that bottom sheet.

But now I have the same title on the same screen twice, which is bad.

How would you solve it?

ctietze,
@ctietze@mastodon.social avatar

@davidbures why is there a sheet and will the non-sheet background ever fill?

ctietze,
@ctietze@mastodon.social avatar

@jonduenas @davidbures Ah, yes, Maps! That's what this reminded me of. Now I have PTSD because the Maps UX is a bit weird at times.

Apart from flexing SwiftUI skills:

Why not put the search bar at the top? Then when the user taps the search bar, show the history there in an overlay (over the main content, but below/around the search)

"Word of the Day" might just as well be one default result, no?

ctietze,
@ctietze@mastodon.social avatar

@davidbures Oh, and: I don't want to ruin or replace your whole approach there.

But similar to naming things in code, having a hard time naming things in the UI may be an indicator of a confusing combination of things.

So if you look for a title, "Search" is good enough IMO, like @jonduenas suggested! Provides context to the text field.

To polish an app, I'd rather reach for different, less clever layouts

ctietze,
@ctietze@mastodon.social avatar

@davidbures ah yes, modern iPhone users :x

ctietze, to random
@ctietze@mastodon.social avatar
ctietze, to random
@ctietze@mastodon.social avatar

Hey TextKit aficionados @mattiem @krzyzanowskim :)

I'm at a point where I want to make writing structural transformations to Markdown documents easier.

I believe I can get the API of this screenshot to compile and then execute the steps on NSTextStorage, replacing a hideous procedural approach I wrote earlier this week.

Would an API like this be useful for your text editors?

Would an API similar to this with some changes be?

Not sure if open sourcing is worth it.

ctietze,
@ctietze@mastodon.social avatar

@mattiem @krzyzanowskim Ah right, multiple cursors 🤔 That would suck.

At the moment, SelectLineRange with the token list as parameters would boil down to get the NSRange for all tokens in the list, then use NSString.lineRange to make sure I'm only operating on whole lines.

Deletions are applied from back to front and shrink the selection by the deleted character delta.

Insertion likewise increases the affectedLineRange.

Finally, the Select call places the cursor in 1 location.

ctietze,
@ctietze@mastodon.social avatar

@mattiem @krzyzanowskim I mean I would like to support multiple cursors eventually. But in the meantime, typing text that's worth keeping at all is a hard enough task :)

Also, Emacs didn't need multiple cursors thanks to Macros for decades, so maybe I can get by with macros instead :p

jamesrandall, to swift
@jamesrandall@mastodon.social avatar

Voxel editor coming along nicely now. Video is taken on the Mac but it also works on the iPad.

I've spent surprisingly little time on this. 20 hours total tops. Its amazing what you can get done with good quality tools, consistency (I normally do an hour pre and post dog walk), and a good set of fundamentals (its really making use of things I've learned in the last year or so).

https://youtu.be/R6htZe4Lmjc

ctietze,
@ctietze@mastodon.social avatar

@jamesrandall Oh yes please, a "Mac-assed" Voxel editor sounds great. Video demo looks buttery smooth already :)

I don't know how people adapt to the MagicaVoxel shortcuts and UX

simonbs, to random
@simonbs@mastodon.social avatar

The new iPad Pro is both thinner and lighter than the new iPad Air.

ctietze,
@ctietze@mastodon.social avatar

@simonbs in what world does that make sense :D

ctietze, to random
@ctietze@mastodon.social avatar

The Moment That Ruins Our Focus https://zenhabits.net/moment-to-focus/

I feel like I need to practice this to stay on top of emails and taxes and other paperwork:

Endure the moment and urge to leave a bit longer and longer.

There's always a more low hanging fuit. Not even distractions like video bingeing, but just any easier (or more pleasurable) task.

bzf, to SwiftUI
@bzf@stormlight.space avatar

Does anyone know how to make a separate sign in window in like how @Sketch presents a separate window until you sign in? Do you conditionally render WindowGroups, or do you render them all and prevent the user from opening them somehow? 🤔

ctietze,
@ctietze@mastodon.social avatar

@bzf yeah, showing different 'scenes' in the main window works with a shoebox-style app, too, of course :)

fd9a, to emacs
@fd9a@fosstodon.org avatar

You can now submit tickets to SourceHut using emacs and transient.

https://git.sr.ht/~akagi/srht.el/tree/pre-0.5/lisp/srht-todo.el

ctietze,
@ctietze@mastodon.social avatar

@fd9a I didn't know the ticket system shipped, thanks! That's cool.

KrauseFx, to random
@KrauseFx@mastodon.social avatar

And just like that, ContextSDK went from being just me, to a team of 5 full-time, multiple part-time, and as of last week: our very own office with a full stash of Club Mate.

Big product announcements in the making, can’t wait to share more soon 🚀

ctietze,
@ctietze@mastodon.social avatar

@KrauseFx Congrats! The website's explanation video didn't age well -- 500mio signals :)

ctietze, to php
@ctietze@mastodon.social avatar

A question for more experienced #PHP developers than me:

We have this setup where all requests go through a PHP script for authorization (think: cookie) checking before serving files.

That's fine with HTML, but less ideal for 5MB PDFs.

I'm trying to search for ways to use PHP to allow/deny access, but otherwise let the web server (Apache) do its job.

Is there such a facility to rewrite requests for auth, but then go on serve the static files?

ctietze,
@ctietze@mastodon.social avatar

@joby @deanatoire @Crell That's super reassuring!

I guess you lose the ability to pause and resume the download maybe for huge files? (Haven't investigated yet.)

KrauseFx, to random
@KrauseFx@mastodon.social avatar

📤 Just open sourced a solution to automatically send notes written on the Light Phone to my email inbox, and store a copy locally as a backup https://github.com/KrauseFx/light-phone-note-to-self

ctietze, (edited )
@ctietze@mastodon.social avatar

@KrauseFx what's a "Light Phone" in this context? It looks intriguing -- is it this eink thingie?

https://www.thelightphone.com/

ctietze,
@ctietze@mastodon.social avatar

@KrauseFx @0x52 Do you have it already? Is the sound any good?

Early eink era phones sounded crappy, but the idea was really cool

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