Majid Jabrayilov
@mecid.bsky.social
1.6K followers 590 following 400 posts
Swift Developer: iOS, watchOS, visionOS, tvOS, macOS. https://swiftwithmajid.com
Posts Media Videos Starter Packs
Pinned
mecid.bsky.social
Hi, I'm Majid. I’m an indie developer building apps for iOS, watchOS, visionOS, and all other Apple platforms.

I mostly build health-related apps like CardioBot, allowing you to understand and improve heart metrics.

I try to share my experiences by writing blog posts.

swiftwithmajid.com
Home
Majid’s blog about Swift development
swiftwithmajid.com
mecid.bsky.social
To be honest nothing special here. Why someone may need to use jj and git simultaneously on the local machine? Just keep in mind that jj works in detached head.
Reposted by Majid Jabrayilov
aaronc.cc
Having a play with Jujutsu VCS: jj-vcs.github.io/jj/latest/

You can move back to a previous commit and edit it, and all the later commits rebase automatically… coming from Git, that feels MAGIC
mecid.bsky.social
What do you mean by "it might work"? I use jj daily with a git repo and don't have any problems yet.
mecid.bsky.social
Streaming transforms how we interact with Foundation Models, shifting from static responses to dynamic, real-time experiences. By leveraging the streamResponse API, we can progressively display model output as it’s generated.
swiftwithmajid.com/2025/10/08/b...
mecid.bsky.social
The Observations type conforms to the AsyncSequence protocol, allowing us to use instances inside asynchronous for-loops. The closure that initializes the Observations instance implicitly observes all touched properties of observable instances.
swiftwithmajid.com/2025/07/30/s...
mecid.bsky.social
Almost every feature I’m working on has a feature flag for enabling it in debug and TestFlight builds. Since I merge branches even when the feature isn’t fully implemented, I use feature flags to temporarily disable them.
swiftwithmajid.com/2025/09/16/f...
mecid.bsky.social
The bottom sheet API in SwiftUI is simple. Attach the presentationDetents view modifier to the sheet’s content. You pass an array of available sizes, allowing users to resize the sheet by dragging.
swiftwithmajid.com/2022/07/19/b...
mecid.bsky.social
Assume you have a throwing function that might throw an error in a specific case and want to test that behavior. The expect macro allows you to verify the function’s throwing behavior and inspect the error to confirm it’s the desired error case.
swiftwithmajid.com/2024/10/22/i...
mecid.bsky.social
There is a special NavigationStack initializer accepting a binding to a mutable collection. SwiftUI maps values of the mutable collection into a view hierarchy and allows us to push and pop views into the NavigationStack programmatically.
swiftwithmajid.com/2022/06/21/m...
mecid.bsky.social
SwiftUI introduced APIs, allowing us to recompose complex view hierarchies, including sections. Similarly to the subviews parameter, SwiftUI defines another overload on the ForEach type, allowing us to enumerate sections.
swiftwithmajid.com/2024/10/01/m...
mecid.bsky.social
You can always check whenever the platform you are running supports multiple window environments using the supportsMultipleWindows environment value.
swiftwithmajid.com/2022/11/02/w...
mecid.bsky.social
SwiftUI introduced the ScrollGeometry type with the onScrollGeometryChange view modifier to accurately read content offset. It provides properties like content offset, bounds, container size, visible rectangle, content insets, and content size.
swiftwithmajid.com/2024/06/25/m...
mecid.bsky.social
The searchFocused view modifier binds the focus of a search field created with the searchable view modifier. It functions like the focused view modifier, but only affects the text field in the current view hierarchy’s search bar.
swiftwithmajid.com/2021/08/24/m...
mecid.bsky.social
My favorite thing about Jujutsu VCS is the absorb command. It move changes from a source revision into its mutable ancestors: splits by file paths & last edits. It uses blame to find suitable changes.
jj-vcs.github.io/jj/latest/cl...
CLI reference - Jujutsu docs
Warning
jj-vcs.github.io
mecid.bsky.social
Swift Charts framework allows us to select a single value and a range of values. We can use chartXSelection and chartYSelection with the binding of ClosedRange type to allow range selection.
swiftwithmajid.com/2023/07/18/m...
Reposted by Majid Jabrayilov
vhyrro.bsky.social
I'll never stop yapping out the jujutsu VCS. It's such a good tool and has entirely replaced Git for me, tbh. Even for the most simple of operations I find jj to be much more ergonomic. You also get the op log for free! :D
mecid.bsky.social
It is definitely adds to mental complexity, but I’m not sure if there is an easier way of handling this case.