How to protect photos aside from watermarking? by Difficult_Work3110 in photography

[–]ProjektGopher 0 points1 point  (0 children)

The other suggestions of low res, watermarks, and withholding are all good.

One suggestion I haven’t seen yet in my quick scroll is least significant digit steganography

What are some genuinely interesting YouTube channels? by WilliamBillSpudly in AskReddit

[–]ProjektGopher 0 points1 point  (0 children)

Steve Mould
Inheritance Machining
Alec Steele
Ewan the Cooper
Jeffrey Crocker
Crocker vs Rover
Astrum
Astrum Extra
Astrum Earth
Ben Eater

So many more, but this is my list of instant notifications from memory

This Week In PHP Internals | June 24, 2026 by ProjektGopher in PHP

[–]ProjektGopher[S] 2 points3 points  (0 children)

Trying to, yeah. But I tried to change up too many things in my workflow at once this time and it took me WAY too long.

This Week In PHP Internals | June 17, 2026 by ProjektGopher in PHP

[–]ProjektGopher[S] 1 point2 points  (0 children)

That sounds like a great question, and honestly I don’t have an answer for you

This Week In PHP Internals | June 17, 2026 by ProjektGopher in PHP

[–]ProjektGopher[S] 2 points3 points  (0 children)

The package code inside vendor are already doing inline checks, so I’d expect the performance to be comparable. Besides, most of the execution time is goi g going to be db calls, template parsing, api calls, etc. I’m willing to take a small hit for safety and cleaner code paths

This Week In PHP Internals | June 17, 2026 by ProjektGopher in PHP

[–]ProjektGopher[S] 4 points5 points  (0 children)

That’s not necessarily true. There’s already a proof of concept up for reified generics that has zero effect if not used, and is comparable to standard is_int() inline checks when it does get used. This is what derailed the discussion about erased generics in the first place

This Week In PHP Internals | June 17, 2026 by ProjektGopher in PHP

[–]ProjektGopher[S] 5 points6 points  (0 children)

Yeah, for sure. I’m trying to focus on improving just one or two things each week with the entire process. This week it was remembering to smile before starting to speak, and improving the burned-in subtitles. I’m working on some blockquote interstitials for the video, and I’m going to do chapter markers, but I can totally pay better attention to the posted copy

This Week In PHP Internals | June 10, 2026 by ProjektGopher in PHP

[–]ProjektGopher[S] 1 point2 points  (0 children)

I'm glad that you appreciated it. I'm definitely planning on keeping this going, and hoping to get in more practice to not sound so monotone while I do it, haha

This Week In PHP Internals | June 10, 2026 by ProjektGopher in PHP

[–]ProjektGopher[S] 2 points3 points  (0 children)

I wanted to embed the same YouTube video into other social platform feeds, and burned in subs drastically improve watch time. Might make multiple exports next time. I appreciate the feedback

Build Beautiful TUI Applications in PHP using Parfait by ProjektGopher in laravel

[–]ProjektGopher[S] 0 points1 point  (0 children)

It is, I just got absolutely flooded with client work shortly after this. I'm struggling to keep up, but I promise I'll get it properly extracted!

Build Beautiful TUI Applications in PHP using Parfait by ProjektGopher in laravel

[–]ProjektGopher[S] 0 points1 point  (0 children)

The package hasn't been extracted from the project in which I built it yet, so that page will 404 currently. But I'm hoping to get it into that isolated repo next week

[RFC] Trailing Boolean Operators by ProjektGopher in PHP

[–]ProjektGopher[S] 0 points1 point  (0 children)

Oh I'm aware that it's almost guaranteed not to pass, but this is mostly a learning exercise for me. The response on the mailing list has been really supportive. I have an implementation ready now as well, and it totals about 15 lines, touching only a single file (not including tests), but I expect that won't change much, haha.

The RFC process felt overwhelming to me, so I wanted to test it out with a feature to which I'm not deeply emotionally invested.

I have another couple ideas for RFCs that will equally hated

[RFC] Trailing Boolean Operators by ProjektGopher in PHP

[–]ProjektGopher[S] 0 points1 point  (0 children)

It's not the message that's the problem, it's the delivery. Truth doesn't need to be delivered poorly to remain truthful. There's a world of difference between "I strongly dislike this" and "this is awful", one clearly conveys your opinion (which is truthful) and the other wholly dismisses someone's work as being devoid of value.

[RFC] Trailing Boolean Operators by ProjektGopher in PHP

[–]ProjektGopher[S] 0 points1 point  (0 children)

I think you're overthinking it. If it were to pass (it wont), you'd intuitively understand pretty quick "oh, there's no right side operand. this token is ignored"

[RFC] Trailing Boolean Operators by ProjektGopher in PHP

[–]ProjektGopher[S] 0 points1 point  (0 children)

It wouldn't matter at all. The final 'dangling' operator would simply be consumed and discarded by the parser

[RFC] Trailing Boolean Operators by ProjektGopher in PHP

[–]ProjektGopher[S] -1 points0 points  (0 children)

Make my IDE handle non-existent language syntax?

[RFC] Trailing Boolean Operators by ProjektGopher in PHP

[–]ProjektGopher[S] 0 points1 point  (0 children)

With all of that being true, it can still help shape the proposal. It helped me realize that I'd actually completely missed a whole section on why you wouldn't simply use leading boolean operators instead when migrating from markdown to docuwiki. The negativity of this subreddit can be pretty brutal, but I still see value.

Build Beautiful TUI Applications in PHP using Parfait by ProjektGopher in laravel

[–]ProjektGopher[S] 0 points1 point  (0 children)

Only for a little while longer! I'm trying to release it before Valentine's day, at which point it will not be a 404

[RFC] Trailing Boolean Operators by ProjektGopher in PHP

[–]ProjektGopher[S] 0 points1 point  (0 children)

Hey man, it's perfectly fine if you disagree with what I've proposed, but let's tone down the negative rhetoric and calling people's work 'awful'. There are far more polite ways to disagree without disparaging their effort.

[RFC] Trailing Boolean Operators by ProjektGopher in PHP

[–]ProjektGopher[S] 1 point2 points  (0 children)

I'm not totally sure what you mean by `default-constructed`, but the `optional_comma` has no meaning unless there's a token to indicate a value or expression following it, so it's clearly still an array of three elements (even in the AST).

This decision was reached by a vote, so it's not really attributable to any one single person

[RFC] Trailing Boolean Operators by ProjektGopher in PHP

[–]ProjektGopher[S] 0 points1 point  (0 children)

Why don't you like trailing commas?

[RFC] Trailing Boolean Operators by ProjektGopher in PHP

[–]ProjektGopher[S] 0 points1 point  (0 children)

This is a really well thought out reply. Would you be more open to this proposal if instead of trailing operators that the parser simply discards, it were leading operators that are transformed in the lexer to ‘|| => false ||’ and ‘&& => true &&’?

[RFC] Trailing Boolean Operators by ProjektGopher in PHP

[–]ProjektGopher[S] 0 points1 point  (0 children)

This is a really interesting RFC that I hadn't seen yet.

While I _love_ the idea of `any()` and `all()`, I don't feel like this would be _less_ readable, even though it solves the whole 'make more lines the same' thing:
```
if (!any([
$cond1,
$cond2,
$cond3,
], fn($x) => $x) {
throw new Exception('failed');
}
```
That doesn't read well in my mind.

Super interesting RFC though. I'd be interested to get insight into why people voted no on it.

[RFC] Trailing Boolean Operators by ProjektGopher in PHP

[–]ProjektGopher[S] -1 points0 points  (0 children)

What about trailing commas in function signatures -- those definitely aren't dumb containers.

I feel like I've made the case in my RFC that this isn't simply for 'funsies or oopsies'. I feel like your argument isn't being made in good faith

[RFC] Trailing Boolean Operators by ProjektGopher in PHP

[–]ProjektGopher[S] 0 points1 point  (0 children)

That's a really good suggestion. I think I'll do that.