@mattiem@mastodon.social
@mattiem@mastodon.social avatar

mattiem

@mattiem@mastodon.social

macOS/iOS ⌨️, outdoors 🏔, justice ⚖️, games 👾

Pretty into open source. Previously: Crashlytics, Apple

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

mattiem, to random
@mattiem@mastodon.social avatar

Here’s an open source phenomenon I cannot stand.

You propose a change, and maintainers agree it makes sense. But! This now makes them realize some other, related-but-independent stuff also could be better. So now they want you to expand the PR to fix that other stuff too before they accept.

PR author gives up. Everyone loses.

Migueldeicaza, to random
@Migueldeicaza@mastodon.social avatar

In Part 8 of my ongoing blog post series on bringing Godot to the iPad, I discuss the code editing and debugging experience:

https://blog.la-terminal.net/xogot-code-editing/

mattiem,
@mattiem@mastodon.social avatar

@Migueldeicaza Wow you are making progress! I saw that completion view too 👀

ctietze, to random
@ctietze@mastodon.social avatar

Oof.

I never saw an EXC_BREAKPOINT before.

With Zombies turned on in my scheme, I get an EXC_BAD_ACCESS on a suspiciously high memory address, 0x7e9838841fa0, and the last entry in the call stack is [_NSUndoStack popAndInvoke].

Yikes.

mattiem,
@mattiem@mastodon.social avatar

@ctietze I’m glad you figured it out, but just so you know EXC_BREAKPOINT is just one way of the process saying to the kernel “I have detected an invalid condition and cannot continue” it isn’t uncommon.

developerjustin, to random
@developerjustin@mastodon.social avatar
mattiem,
@mattiem@mastodon.social avatar

@developerjustin I just recently gave it a real try. I was unable to figure out how to use it. Like, I just don’t understand how to get it to download episodes and add them to a queue.

mattiem,
@mattiem@mastodon.social avatar

@developerjustin Huh!

Thankfully Castro is alive again, so I eventually gave up and went back to it.

mattiem, to random
@mattiem@mastodon.social avatar

The tree-sitter project is finally standardizing bindings 🤩
They have included SPM support 🎉
The generated packages depend on SwiftTreeSitter 🤔

I am the author of SwiftTreeSitter. It's not a problem for me, personally. But it makes absolutely no sense. And it has already started spreading in the wild. So now I have to fix the binding generator and get parser maintainers to fix their stuff.

Tree-sitter's parser architecture... leaves something to be desired.

mattiem,
@mattiem@mastodon.social avatar

@icanzilb I’m afraid I don’t completely understand

mattiem,
@mattiem@mastodon.social avatar

@ctietze Well thank you, I do appreciate it.

It’s definitely been an uphill battle. But I still dream of the day when all this stuff isn’t such a total pain.

I have actually put real work into a tree-sitter alternative. Maybe one day!

mattiem,
@mattiem@mastodon.social avatar

@ctietze @icanzilb Oh of course!

Actually no. In this case it’s almost the opposite. This would be better if it was not using my thing.

mattiem,
@mattiem@mastodon.social avatar

@ctietze It is the first tool that can reasonably do “the thing”. It has many weaknesses, some of which are getting addressed with time, and some that I don’t think ever will. It’s ok. But there could be something much better.

mattiem, to random
@mattiem@mastodon.social avatar

TIL: you can use the tabs cli tool to configure the width of tab characters for your terminal session!

Really great for controlling the formatting of compiler error output.

mattiem, to random
@mattiem@mastodon.social avatar

A Swift concurrency pattern I’m seeing more and more is the “stateless actor”. This is fascinating, because it seems so counterintuitive. But I think people are reaching for this to get convenient access to background processing.

I don’t think this is “wrong”. But I think it is probably building bad habits. Local, private nonisolated methods are usually simpler and better long-term.

mattiem,
@mattiem@mastodon.social avatar

@dimsumthinking Nothing at all! And I think selectively removing isolation is, in general, way better than selectively adding it.

mattiem,
@mattiem@mastodon.social avatar

@krzyzanowskim @dgregor79 @dimsumthinking actually no! The compiler will still stop you from touching state that is protected with another actor. It's kind of like a safer version of the familiar global-queue-then-main-queue pattern.

mattiem,
@mattiem@mastodon.social avatar

@krzyzanowskim @dgregor79 @dimsumthinking yeah this is tricky, and hard to get used to. It turns off any isolation that the enclosing type might apply.

Does this help at all?

mattiem,
@mattiem@mastodon.social avatar

@cocoaphony huh. I'm glad you let me know this. But, I'm not super-surprised, as moving stuff from sync->async can be a non-starter even if it's better conceptually.

mattiem,
@mattiem@mastodon.social avatar

@cocoaphony I like to say "your isolation is dictated by your synchronous accesses". In this case, you are saying "my views background color lives on an actor" and Swift concurrency is telling you "no it doesn't". So I'd push you to really justify why that value is in an actor, because like you say, it had profound implications for your UI.

ctietze, to random
@ctietze@mastodon.social avatar

I don't want to start a political discussion.

I wonder, "philosophically" more or less, though, what kind of incentives are missing for so many people.

Context: There are very loud (maybe majority, maybe minority) voices that want to ban a party that is considered "right wing" in the traditional sense.

Problem: If you ban the existence of a group that many people associate with, what outlet will they look for, next?

Is there an attractive alternative so they can participate somewhere else?

mattiem,
@mattiem@mastodon.social avatar

@ctietze I do not know the context so I’m just talking in the abstract.

Should a democracy ban a party whose platform is (for example) dictatorship? I think the answer fundamentally has to be yes. The legal framework in place that keeps a democracy has to be strong enough to prevent its own destruction. But I think one-off bans of a party will never succeed and it should be more structural.

mattiem,
@mattiem@mastodon.social avatar

@ctietze If you really do have a free system where laws and ideas can change and evolve over time (minus the ability to remove that free system), I think the 10% should be free to attempt to convience others via expression ("speech"). And if they fail to do so, it is entirely possible their ideas just aren't suitable for the society.

davidbures, to swift
@davidbures@mstdn.social avatar

Update on Cork Shortcuts support:

I have added a shortcut for refreshing packages. Next step, I'll see if I can add a separate button to Cork itself for only refreshing packages without updating them!

(also, does anyone know why Shortcuts is showing the key for each LocalizedStringResource instead of the actual string? 🤔 see pic #2 for code)

#swift #swiftUI #macOS #opensource #buildinpublic #macdev #homebrew #CorkApp

Image of code

mattiem,
@mattiem@mastodon.social avatar

@davidbures I’ve been playing around with AppIntents too!

I’m not super familiar with how LocalizedStringResource works but i don't think is AppIntents specific…

mattiem,
@mattiem@mastodon.social avatar

@davidbures Actually yes! I did have really bad problems with this. You’re going to hate this, but try rebooting…

mattiem,
@mattiem@mastodon.social avatar

@davidbures Have you implemented this in an extension?

mattiem,
@mattiem@mastodon.social avatar

@davidbures Shoot I 0/2 so far. Are you certain those string literals are used to look up localized values?

mattiem,
@mattiem@mastodon.social avatar

@davidbures I’d try it outside of the AppIntent context to try to eliminate some variables. I’ve never used that type anywhere else.

aleck, to random
@aleck@mastodon.social avatar

After a day with 13in MacBook Air M2, I’m really amazed just how light and silent this thing is. Last MacBook I had was 2016 MBP that feels way more heavy than it really is.
This will be really nice travel companion for next decade.

image/jpeg

mattiem,
@mattiem@mastodon.social avatar

@aleck Air is such a fantastic computer!

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