@simonbs@mastodon.social
@simonbs@mastodon.social avatar

simonbs

@simonbs@mastodon.social

Developer and speaker with a passion for #iOS and building developer tools.

Building https://runestone.app, https://scriptable.app, https://retoot.app, https://jayson.app, and https://datajar.app.

Working on a big update to Runestone in order to bring it to macOS.

Aspiring home brewer, brewing beers and espresso.

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

simonbs, to random
@simonbs@mastodon.social avatar

@jpsim Would it be feasible to add a SwiftLint rule that ensures classes that aren't subclasses are marked as final?

It seems trivial to check that a class is final but ensuring that it isn't subclassed seems out of scope for SwiftLint and I guess it would likely be an expensive operation on large codebases.

simonbs, to random
@simonbs@mastodon.social avatar

For the longest time I have disliked those pesky header comments in the top of Swift files. Only now (and thanks to @jpsim!) did I realize that SwiftLint has a rule that can be used to throw a warning when file headers are present.

Screenshot showing a Swift file with a file header and SwiftLint throwing a warning saying that the file header should be consistent with the project pattern.

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

@leopic I think you did. I'm 100% certain that I have not had it for a few weeks and I'm 99% sure I did not have it yesterday.

jpsim, to random
@jpsim@hachyderm.io avatar

New video: How to set up custom SwiftLint rules in your own projects

https://vimeo.com/820572803

Example code: https://github.com/jpsim/swiftlint-bazel-example

simonbs,
@simonbs@mastodon.social avatar

@jpsim Yay! Looking forward to watch this. For the longest time I’ve been meaning to add a rule that shows a warning if a file has a header comment.

simonbs,
@simonbs@mastodon.social avatar

@jpsim I have failed to get this working using the file_header rule a couple of times. On one hand I would have expected required_pattern: ^$ to work but on the other hand, it also feels a bit weird.

simonbs,
@simonbs@mastodon.social avatar

@jpsim It just occurred to me that I should use forbidden_pattern over required_pattern. This seems to work. Can't believe I haven't thought of this before.

monv, to random

@simonbs thanks, I was worried you've forgotten us

simonbs,
@simonbs@mastodon.social avatar

@monv You'll be surprised to learn that all the efforts I'm putting into Runestone these days are to benefit Scriptable in the long run 😊

simonbs,
@simonbs@mastodon.social avatar

@monv I'm not maintaining the Mac version right now. It's a beta that got halted because I don't think it's worth iterating on it. I want to deliver an exceptional experience on the Mac and I don't think I can do that in it's current form. That's planned for a major update though.

simonbs, to random
@simonbs@mastodon.social avatar

Teddy Bear and Psyduck will have to listen to me practice my talk for @DeepDishSwift intensively over the next couple of days. I hope my audience at the conference will be a bit more… Alive 😄

simonbs,
@simonbs@mastodon.social avatar

@agiletortoise Sure, yeah, of course there is.

Rewrites entire talk 😥

simonbs,
@simonbs@mastodon.social avatar

@maxxfrazer This is more of a “getting started with DocC" talk so you may be well ahead. There are a few things people who have been playing with DocC might take away though 😊

simonbs,
@simonbs@mastodon.social avatar

@agiletortoise I've added a couple of slides specifically for you. Hope you'll notice 😄👀

simonbs, to random
@simonbs@mastodon.social avatar

New post on the blog! 📝👀

In early 2022 I started introducing the Composition Root pattern in my Swift codebases and I have found it to be very useful. In this post I explore why I started using the pattern and how 😃 https://simonbs.dev/posts/introducing-the-composition-root-pattern-in-a-swift-codebase/

simonbs,
@simonbs@mastodon.social avatar

I'm hoping to one day give a (lightning?) talk on this topic and have submitted it as a proposal to a few conferences in the autumn but if you're a conference organizer and think this sounds interesting, you know where to find me 😃

simonbs,
@simonbs@mastodon.social avatar

@BrendanThompson Thanks! I'm happy to hear that you found it interesting 🙏

simonbs,
@simonbs@mastodon.social avatar

@matadan Thanks! I'm happy to hear you liked it! 🙏 The posts I link to describe some concepts way better than I can do, fortunately, because then I can focus on writing about my love for the Composition Root 😄

simonbs,
@simonbs@mastodon.social avatar

@vincefried Thanks for the kind words! 🙏 I would love to see how your approach differs 👀

simonbs, (edited ) to random
@simonbs@mastodon.social avatar

The Bluesky app’s way of aggregating notifications and making them expandable is clever. It’s similar to what the Twitter app did but as far as I remember, it did not support the expand/collapse interaction.

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

@andyn I did not know this! Thanks!

simonbs, (edited ) to random
@simonbs@mastodon.social avatar

Give me a holla (and a follow) if you're on Bluesky 👋

I'm not sure what I'll use Bluesky for and if I'll use it at all but it had me curious 🤷‍♂️

https://bsky.app/profile/simonbs.dev

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

@atomicpoet Doesn’t help me when I use Ivory.

simonbs,
@simonbs@mastodon.social avatar

@atomicpoet Yeah, I get that. Sorry for my snarky reply.

simonbs, to random
@simonbs@mastodon.social avatar

The aesthetics of Teeneage Engineerings’s products is unlike anything else 😍

For a long time I have wanted to play around with one of their music devices but I have been hesitant to get one because I know nothing about making music. This year my girlfriend got me the PO-32 Tonic for my birthday and I immediately fell in love with it.

The back of the Pocket Operator showing simple instructions on how to use it and two batteries exposed.

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