Beau Simensen – phpc.social

Technology Strategy Consultant

:laravel: :symfony: :phpfig: :typescript: :apple_inc: :phpstorm: :vim:

Elsewhere:

bsky.app/profile/beausimensen.

#EventSourcing #EventStorming #DomainDrivenDesign #ProductManagement #TechnicalProductManagement #DevLife #ddd #php #fedi22

Beau Simensen – phpc.socialbeausimensen@phpc.social
2025-06-30

@ramsey The Netherlands, perhaps?

Beau Simensen – phpc.socialbeausimensen@phpc.social
2025-05-19

I'm playing with Mecure.rocks and not sure what the best practices are for cases where you might be discovering new topics dynamically. All the examples I've seen show creating one eventSource by adding additional topic query parameters. Is it safe for me to just create a brand new EventSource when a new topic is discovered? If not, is there a way to augment an existing EventSource instance with additional query parameters? #symfony #mercure #mercureRocks

Beau Simensen – phpc.socialbeausimensen@phpc.social
2025-04-07

@jay @phpstan I was hoping to have some way to pass in the type (shape, etc.) via a parameter in the same way you can pass a class name. I'd like to have the type inferred by input so I don't have to use a doc block.

Updated example: phpstan.org/r/b1afce7a-50b3-45

Lines 258 and 272: Show my desired method to get a Collection of UserShape or int.

Beau Simensen – phpc.socialbeausimensen@phpc.social
2025-04-07

@jay @phpstan My bad, I think I still managed to make it confusing. Those bottom examples work to varying degrees, but they are not ideal in all cases.

Line 192: Given ->toShape returns a type-hinted shape using a "non-empty-string" for username, the inferred type is still just “string".

Lines 210 and 228: I have to explicitly set the type with a doc block.

Beau Simensen – phpc.socialbeausimensen@phpc.social
2025-04-06

@jay @phpstan Is that something you are doing in your examples somewhere? I wasn't sure that was what you were doing in there somewhere.

Beau Simensen – phpc.socialbeausimensen@phpc.social
2025-04-06

@jay @phpstan You can create static named constructor methods that accept an object or a class string to define T for the object's template type.

The bottom three examples show attempts at defining T as an array shape. It seems the only option is to manually override the type and not specify it as an argument.

I was hoping for something like `type-string<T>` that would let me specify *any* type (class-string *or* an array shape) via a parameter.

phpstan.org/r/a88a874a-212c-42

Beau Simensen – phpc.socialbeausimensen@phpc.social
2025-04-06

@jay @phpstan Wow! Love those examples. I'm going to have to dig into them more. Thanks for sharing them. :)

Beau Simensen – phpc.socialbeausimensen@phpc.social
2025-04-04

Can you pass a non-class type to a method/class in some way that @phpstan and the likes will be able to do the right thing? For example, if I wanted to pass an array shape as a type to a function, is that possible?

Beau Simensen – phpc.socialbeausimensen@phpc.social
2025-03-20

@deadsuperhero @index Starter, creator, or something else? Curious how limiting the lower end feels.

Beau Simensen – phpc.socialbeausimensen@phpc.social
2025-03-19

@deadsuperhero @index Self hosting?

Beau Simensen – phpc.social boosted:
Ryan Boswell 🏳️‍🌈ryanboswell@sfba.social
2025-03-15

Was explaining the whole self-hosted/small web movement to someone at work today, and they replied “Oh, so you’re like one of those preppers with a bunker, but digital.”

And I will not be taking any further questions at this time.

Beau Simensen – phpc.socialbeausimensen@phpc.social
2025-03-08

@saramg Followed you there legit not because female on internet or whatever.

Beau Simensen – phpc.socialbeausimensen@phpc.social
2025-03-08

@Crell @kboyd @lornajane @saramg You can and it's not terribly difficult assuming you get it right the first time.

Beau Simensen – phpc.socialbeausimensen@phpc.social
2025-03-07

@hightechredneck @awoodsnet Curious about the functionality you DO know about and which pieces are 2x quicker in Wordpress vs Laravel.

I imagine anything with a lot of client-editable content would be easier with Wordpress.

Is that the case here? My Wordpress experience is so dated I'm not even sure if that is accurate these days.

Beau Simensen – phpc.socialbeausimensen@phpc.social
2025-03-07

@awoodsnet @omerida I've get geeking out in plantuml recently and thought I'd send this style diagram and turns out yup! :) plantuml.com/ebnf

Beau Simensen – phpc.socialbeausimensen@phpc.social
2025-03-07

@ghostwriter Thanks, I'll take a look!

Beau Simensen – phpc.social boosted:
Kefimochi :verified:kefimochi@hachyderm.io
2025-03-04

✨ HIRE ME ✨

I'm a Full Stack software engineer with 5+ years of experience, looking for my next opportunity. My personal values include psychological safety, D&I, and direct communication.

Please share for reach <3

docs.google.com/document/d/11R
#FediHire #remotework

Beau Simensen – phpc.socialbeausimensen@phpc.social
2025-03-01

@ghostwriter Is your source for this anywhere? I'm intrigued. :)

Beau Simensen – phpc.social boosted:
SaraMG 🏳️‍🌈 :bisexual_flag:saramg@fosstodon.org
2025-02-27

@ramsey @preinheimer Hackers (1999) "RISC is good"

Beau Simensen – phpc.social boosted:
SaraMG 🏳️‍🌈 :bisexual_flag:saramg@fosstodon.org
2025-02-27

Project meeting talking about specifically running our CI on a "slow" machine to catch errors that are hidden by fast hardware.

<Me> So we just need to deploy a 386 to AWS
<Zoomer> What's a 386?
<Millennial> I think you just killed Sara.

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst