

Yeah, that’s pretty much the basics of these:
- The code must be attributed to the original author
- The original author is not responsible for what you do with it (no warranty/liability)
Check out my open source game engine! https://strayphotons.net/ https://git.sw0.com/frustra/strayphotons
I have been developing this engine on and off for over 10 years, and still have big plans.


Yeah, that’s pretty much the basics of these:


It’s more that I didn’t really care what happened with the code, because at the time AI training wasn’t a thing, and I like the idea of contributing to the open source community. If my project ended up saving someone time at their job, or inspired other hobby devs to do something, then it was worth publishing.
Now, more than likely my code will just get scraped into an AI dataset without any credit, and no human will ever notice or care about the original.


I used to select MIT primarily to keep my name associated with the code. The idea being if companies picked up my projects and used them in their products, it would be a good thing to have on my resume, and could land me a job.
I’m at a very difficult point in my career now, and the days of this xkcd are probably coming to an end. Nobody wants to use libraries anymore, they just vibe-code their own.
Now I’m reconsidering publishing my personal project source code at all, because I’ve rarely got contributions, and lets be real, a non-commercial license won’t stop the code being stolen anyway.
Ah, that’s why… I didn’t think multiple arguments to operator[] was valid, but my brain is still catching up to C++20 features.
In my configuration I have a server with a public IP that manages incoming connections, and my home network connects to that server via a keepalive connection, so it’s actually operating in the same client-server mode you described going through my NAT. This also solves the dynamic IP issues.
When I’m at home, my phone can route directly over my LAN, and when I leave the house it proxies through my public server back to my house (or out to the web depending on what I’m accessing).


Nobody owns it, virus.porn is currently unregistered. $69 is the actual price on Namecheap.
plnkman.com (what you linked, with an L) is also available to buy
p1nkman.com is an actual page registered through Porkbun.com since 2021. Maybe this is P1nkman@lemmy.world’s domain, idk.
pinkman.com however is owned by someone through DomainsByProxy.com via GoDaddy. It’s been registered since 2004, and is just parked for ad revenue.
This seems like a decent guide on how to set it up:
https://www.cyberciti.biz/faq/how-to-set-up-wireguard-firewall-rules-in-linux/
It’s very similar to the config I’ve got. The nat iptables stuff in step 1 is what enables wireguard to be used as a VPN exit node. (+ net.ipv4.ip_forward=1)
This feels like it has validated my decision to just use plain wireguard and hardcode my client list. It’s really not too hard to set up, barely different that configuring authorized_keys or ssh.


It can be yours for only $69/year!


What confuses me as someone who hasn’t written PHP in ages, is why is it supposedly so easy for a request to hit the memory limit? Does this only work on servers that accept user uploads and other large request payloads? People are saying a static PHP page can be exploited, but I don’t understand how if it’s behind even a basic nginx instance with default request limit of 1MB.
The difference in size between billions and 20 million is actually about the same order of magnitude as the difference between linux and my largest personal project (~100x).
Of course, “only 20 million lines” is a ridiculous statement taken out of context.
I mentioned this last time this was posted, but linux only has around 20 million lines of code. It’s funny how people always seem to overestimate the size.


That happened for me too. The whole page froze every minute or so and I had to refresh. I’m not sure if that was part of the game or not…
The best refactors always remove more lines than they add. This is a horrifying ratio if no new features were included.


Trigonometry functions are still just a hardware lookup table in most scenarios I believe. One example I’ve noticed is that you’ll get slightly different sin/cos results on AMD vs Nvidia GPUs due to either different lookup table values, or different interpolation functions being applied on top (I’m not sure it’s possible to know for sure exactly which without internal knowledge)


If it’s running on the client, just use whatever.
Because who cares if it’s the user that has to buy more RAM or gets terrible battery life, that’s not our problem. /s
This is why we can’t have nice things.
How to remove all entropy from a sentence…


Neat, I might have to set this up for myself. It sounds like it could get around some of the VPN blocking I’ve seen while traveling through airports.

In Ottawa, Canada I’ve noticed a lot of places have taken to labeling the restrooms as just “Urinals & Stalls” and “Stalls”.
I’m a huge fan of this labelling since it makes it clear anyone is allowed to use either room.
You made a good point about integration. There’s a lot of scenarios where a business might use software as-is, meaning there’s nothing to contribute back. Many libraries are flexible enough a user might never encounter a reason to make changes.
ffmpeg for example is the core of the vast majority of video processing applications. I use it all the time, and have even benefitted from being able to read the source code, but I’ve never had a reason to change it.