@ramsey@phpc.social
@ramsey@phpc.social avatar

ramsey

@ramsey@phpc.social

Coder, author, & speaker. PHP 8.1 & 8.2 release manager. ramsey/uuid maintainer. Open source developer. Senior Staff Engineer. Pronouns: he/him/his

“This guy seems to fundamentally misunderstand open source” — some rando on Hacker News

“Who is this guy?” — another rando on Hacker News

Co-admin of the https://phpc.social Mastodon server.

All original content in public posts © me & licensed CC BY-SA 4.0, unless otherwise specified. :cc: :ccby: :ccsa:

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

ramsey, to Matrix
@ramsey@phpc.social avatar

A single-user server should not require so many resources to run. 1 vCPU and 1 GB of RAM should be plenty.

ramsey,
@ramsey@phpc.social avatar

@sean I’m trying to run it on a Digital Ocean droplet, and the best I can manage is their basic tier with 2 vCPUs and 4 GB of RAM, but that’s more than I want to spend on something I barely use. I tried dropping to 1 vCPU and 1 GB of RAM, but then the droplet becomes unresponsive because it needs more memory.

I stopped self-hosting Element because that requires even more resources.

Docker is likely the problem. I’m running Caddy, Synapse, and Postgres as three separate containers.

ramsey, to random
@ramsey@phpc.social avatar

docker-compose on macOS vs. docker compose on Linux always throws me off for about 5 or 10 minutes.

ramsey,
@ramsey@phpc.social avatar

@heiglandreas Huh. That works for me, too. I wonder when I started doing docker-compose. Maybe that’s an old version of the command that’s stuck around on macOS?

ramsey,
@ramsey@phpc.social avatar

@namelessotter For some reason, when I install Docker on Ubuntu, using their official installation instructions, it doesn’t include the docker-compose command.

nunomaduro, to random
@nunomaduro@mastodon.social avatar

just a quick reminder that you can run php code in the terminal using the -r option; not sure how obvious this tip is, but sharing it anyway

ramsey,
@ramsey@phpc.social avatar

@uberbrady @nunomaduro php -a gives you a decent built-in REPL, though PsySH is easier to use and has more features (and is what Laravel Tinker uses under the hood).

ramsey,
@ramsey@phpc.social avatar

@tress777 @uberbrady @nunomaduro It’s this: https://psysh.org

I have a Composer plugin for it, too, so you can just run composer repl from within your project. You can install it with composer require --dev ramsey/composer-repl

Or, install it globally (i.e., composer g require ramsey/composer-repl, and you can then access it from anywhere with composer g repl.

😁

ramsey, to random
@ramsey@phpc.social avatar

Who in the Libertarian party thought it would be a good idea to even entertain the thought putting Trump on their stage? And who in the Trump campaign also thought it was a good idea?

ramsey, to random
@ramsey@phpc.social avatar

Thanks to kochen and jankal on GitHub (don’t think either are here in the Fediverse), there’s a new version of ramsey/uuid-doctrine (v2.1.0), with support for doctrine/dbal v4 and binary types in PostgreSQL. 🎉🎊🥳

#PHP #UUID #Doctrine

https://github.com/ramsey/uuid-doctrine

ramsey, to Kubernetes
@ramsey@phpc.social avatar

I’m interested in running (i.e., ) as the app server for a website. The website has multiple domains pointing to it, and I plan to run this in a cluster. Can someone point to any docs or blog posts that show how others have set up similar configurations with Caddy or FrankenPHP, especially with regard to how Caddy magically configures HTTPS for the domains in this kind of setup?

ramsey,
@ramsey@phpc.social avatar

@pieceofthepie Thanks! I was looking at those same docs and can’t figure out from them how to do multiple domains or how do handle multiple instances of Caddy running behind a load balancer (as you might encounter within a Kubernetes cluster).

ramsey,
@ramsey@phpc.social avatar

@ollieread Haha! I’m experiencing it because I’m experimenting with it, so it’s my own fault on my own time. 😂

ramsey,
@ramsey@phpc.social avatar

@ollieread I went through a bunch of Kubernetes training recently, and I want to put it into practice on a small scale to get more experience with it.

darnell, to random
@darnell@one.darnell.one avatar

Perhaps it’s just me, but it seems as if I am reading about more tornados 🌪️ in the 🇺🇸 than usual. Also hail as well (which use to be a rare weather event when I was kid).

👉🏾 At least 8 people are dead after tornado-spawning storms strike the Central US Memorial Day weekend https://www.cnn.com/2024/05/26/weather/memorial-day-weekend-forecast-sunday/index.html

ramsey,
@ramsey@phpc.social avatar

@darnell Yep. We’re currently under a tornado watch right now. It’s all to the north of us, though.

However, seeing an increase in them might be a frequency illusion.

https://abcnews.go.com/US/us-experiencing-tornado-outbreaks-despite-fewer-tornado-days/story?id=110110803

ramsey,
@ramsey@phpc.social avatar

@darnell Although, according to that article, what we’re seeing is a decline in the number of days per year that tornados are reported but an increase in the number of tornados reported on days when there’s an outbreak, so the patterns are definitely shifting.

Growing up in an area commonly referred to as “tornado alley,” it hasn’t struck me as particularly different from usual, but I guess we’re now having dozens per storm system instead of a few.

bootblacksubwoofer, to random
@bootblacksubwoofer@woof.group avatar

You're walking in the desert. There's no one around and your shield is dead
Out of the corner of your eye you spot him: Shai-Hulud

He's following you, about 30 miles back. He crests over a dune and breaks into a sprint
He's gaining on you: Shai-Hulud

You’re looking for your camp but you're all turned around. He's almost upon you now
and you can see there's teeth in his face. My God, there's teeth everywhere!

ramsey,
@ramsey@phpc.social avatar

@bootblacksubwoofer @uberbrady I’m reading Children of Dune (for the 2nd time), and I just got to the point where Leto II pops up from the sand dunes, wearing his sand trout skin, and shouts, “Surprise, motherfuckers! I’m Shai-Hulud!”

atomicpoet, to random
@atomicpoet@atomicpoet.org avatar

Just introduced my kid to Elvis Presley.

Previously, the only Elvis she knew was Elvis Costello.

ramsey,
@ramsey@phpc.social avatar

@justafrog @atomicpoet When the last elves sailed West, Círdan the Shipwright proclaimed, “Elvish has left the building.”

ramsey, to random
@ramsey@phpc.social avatar
ramsey,
@ramsey@phpc.social avatar

@Crell The linked article says a female orca started the salmon hat trend.

ollieread, to php
@ollieread@phpc.social avatar

So, I’m building a dependency-injection package, and it’s a lot of fun. I’ve gone a route that I don’t really see many, if any, following. I suspect it may be that a lot of the solutions out there are old, and while they have been updated, they’re still going to inherit certain approaches.

ramsey,
@ramsey@phpc.social avatar

@ollieread Cool. Check out what PHP-DI is doing. I like how they use attributes. https://php-di.org/doc/attributes.html

html5test, to random
@html5test@mastodon.social avatar

I just ran into an UUIDv4 collision. Two identical UUIDs generated, just two days apart. Lucky me.

ramsey,
@ramsey@phpc.social avatar

@html5test @jimw This can happen if the underlying random number generator forks and reuses the same process state. This happened with OpenSSL years back, and became a big issue for a #UUID library I maintain in #PHP.

Here's a link to a summary of the problem: https://github.com/ramsey/uuid/issues/80#issuecomment-188286637

ramsey,
@ramsey@phpc.social avatar

@html5test You’re welcome! I’m glad you’ve found it useful. 😁

GossiTheDog, to random
@GossiTheDog@cyberplace.social avatar

For those who aren’t aware, Microsoft have decided to bake essentially an infostealer into base Windows OS and enable by default.

From the Microsoft FAQ: “Note that Recall does not perform content moderation. It will not hide information such as passwords or financial account numbers."

Info is stored locally - but rather than something like Redline stealing your local browser password vault, now they can just steal the last 3 months of everything you’ve typed and viewed in one database.

video/mp4

ramsey,
@ramsey@phpc.social avatar

@GossiTheDog @jalcine What’s more damning is that many engineers are dues-paying members of the ACM or IEEE, which do have codes of ethics they encourage computing professionals to follow (even if not members).

ACM Code of Ethics, 4.2: “Each ACM member should encourage and support adherence by all computing professionals regardless of ACM membership.“

We should hold our profession accountable to these codes.

https://www.acm.org/code-of-ethics

https://www.computer.org/education/code-of-ethics

ramsey, to random
@ramsey@phpc.social avatar

This is part of the reason I couldn’t get to a good place (mentally) in order to do a real “Saving Open Source” talk at #PHPTek:

From @geerlingguy: “2024 is the year corporate open source died”

https://www.jeffgeerling.com/blog/2024/corporate-open-source-dead

ramsey,
@ramsey@phpc.social avatar

@lewiscowles1986 @isaacs This is my first time seeing this, but it feels similar to some of the proprietary licenses that have expiration dates on them, after which they convert to an open source license. I think I’d prefer those styles of licenses over FUTO, which is ambiguous, at best; there’s no guarantee if or when it will ever convert to open source or what its open source terms will be, when it does.

ramsey,
@ramsey@phpc.social avatar

@isaacs @lewiscowles1986 “a fallback that if a license is not available for purchase”

When would this trigger?

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