

Bigger question is do you eat the seeds?


Bigger question is do you eat the seeds?
Black one for sure. You could get away with some amazing heists/pranks/achievements.


Yeah, I am one of those open source devs who doesn’t get paid for it. But I can’t really say it’s the fault of normal users. They’re just people trying to get by. The fault really lies in corporations using open source without supporting it. Some corporations do give back and support communities, but a lot just take and don’t give anything back.
Personally, most of what I write for my company, SciActive, is open source. The only thing I don’t release is my actual product (Port87), but everything I’ve built in order to build it (the ORM, Nymph.js, the UI library, Svelte Material UI, the WebDAV server, Nephele) are all open source.
I do get users shitting on these projects sometimes, but the majority of communications I get are respectful and gracious. It does sour the experience when someone acts rudely, but I try to not let them get under my skin. Some devs have trouble not being bothered by it, and for them, the rude users and lack of compensation are so much worse.
What keeps me writing open source though is that I just genuinely have a passion for writing code. I recently built a full text search engine into Nymph, and the whole process was so much fun. I think that’s what powers open source, genuine passion for what we build.
(There’s one project that gets shit on a lot more than my others, QuickDAV, which I’ve never really understood. A lot of people say they’d rather use SyncThing, which is fine, but they have different use cases, so it just baffles me. It’s like someone looking at Inkscape and saying they’d rather use GIMP.)


Thank you for being understanding. I shouldn’t have stated it as bluntly as I did either, so I think you were justified in taking it as condescending, and I’m glad we’re seeing each other’s view more clearly now. I think it’s awesome you’re getting into Linux, and even if you don’t ultimately do it, even considering self hosting is awesome. Getting Proxmox and your own NAS up and running is awesome too, btw. Something you should be proud of. I do want Linux and self hosting to be a welcoming space, so I’m going to try in the future to be more welcoming.
When you’re ready, you can email me at hperrin-friends@port87.com about my offer. The offer stands any time you feel ready to dive in. :)


Again, you just sound like you’re not interested in self hosting. I wasn’t even that condescending to you, but you took it that way. You said you don’t want to learn how to self host in a community about self hosting. Like, imagine if someone went into a community about bicycling and was like, “Well, I don’t want to ride bikes, but I like motorcycles because I don’t have to pedal.” You should expect a certain level of disregard in a community if you’re going into that community saying you’re unwilling to learn the basics of what that community is about.
If you’re not interested in self hosting, I’m not saying you’re not welcome here, because a. you are and b. I don’t moderate this community anyway, but I genuinely wonder why you’re here. You did say you might be interested in the future, so…
This is a genuine offer: if you want to learn how to self host, I will get on a video call with you and teach you how to set up some services on your home network and open them up in a secure way. I write and run my own servers, and have for well over a decade, so I am qualified to teach you what you need to know, if you want to learn.


Yes. You could learn everything you need to know by watching a 20 minute YouTube video, but you’d rather use a paid product instead. That’s, like, the definition of a skill issue. The issue isn’t that the software is hard to use, it’s that you refuse to learn how to use it.
And that’s not the fault of Jellyfin, because the “ease of use” of Plex is because it’s a paid product. They can afford to run servers to make everything work for you without having to put in any effort to learn. You’re using their servers to make it easy for you, and you’re paying to do it.
It’s fine if you don’t want to learn to set up a service, but it does make me wonder why you’re commenting on a self hosting community. It seems to me like you’re not interested in self hosting. (Not trying to assume, but what you said is not what I would associate with someone who likes to self host.)


Sounds like a skill issue.


Plex is not free. Plex is paid software, just like Google Photos or iCloud. The only free software is open source. Open source everything. Doesn’t matter if the client is open source. If the server isn’t, it’s not open source. (I’M LOOKING AT YOU, SNAP!)
Then don’t use Ubuntu yourself. You can’t control what your friend does.
Most you can do is tell them why you don’t use it if they’re willing to listen, but if they don’t mind the reasons you give, let them be.


It is resource hungry. I’ll give you that. But it’s neither slow nor messy to look at. Have you ever used NetBeans or Eclipse?


I’m sorry I didn’t think it was [1,2].


Here’s my thought process: plus is for numbers and strings, so it’s gonna convert the arrays to either numbers or strings. If it converts them to 0, the answer is 0, if it converts them to 1, the answer is 2, if it converts them to strings, the answer is “12”.
You know what I didn’t say? [1,2]. Because plus is not for array concatenation. The question is meant to make you think you’ll get [1,2], because why else would you use plus on arrays?
In a language that uses plus for concatenation, you’ll see that kind of code all over, and know what you’ll get. But you never see that in JavaScript, because that’s not how we concatenate arrays.


Ok, except I did predict it. It turns them both into strings and gives you “12”. I checked it. But I didn’t mean predictable as in, you inherently know what it’s going to do, I meant predictable as in, it will follow the same basic rules in each circumstance.
So, should web pages be prone to crashing if everything isn’t perfect? I don’t know if you remember XHTML, but that was basically what happened with that. You have a “div” within a “p”? Page crashed. You have an unclosed “span”? Page crashed. XHTML was abandoned because is constantly broke the web.
Web technologies are supposed to be resilient, so throwing TypeError is the last resort for something that absolutely cannot work, like trying to add to a Symbol. Since nothing from the user is ever a Symbol (there’s no input that can give it, and it can’t be stored in JSON), it’s acceptable to throw a TypeError there.
JavaScript is meant to be fast and resilient. Its type conversions make sense when you consider those goals.


I mean how can you define a sensible way to subtract Infinity from an array, or add an object to a string? The way JavaScript defines it is predictable, easy to compute, and handles bad code gracefully, which is a good tradeoff between doing something like matrix arithmetic on a CPU and just straight up crashing. If you’re doing silly things like that, you should know how JavaScript coerces types, but I don’t do silly things like that, so I don’t really care how JavaScript would handle it. Every language will do silly things if you force it to. That doesn’t make it a bad language.
Do you feel the same about C because C lets you take pointers of pointers of pointers until you’re addressing random memory in an unpredictable way? No, because it’s silly to do that.


Yes, if you do silly things with JS, you generally get silly results instead of TypeErrors. I wouldn’t say that makes the language bad. It makes the language resilient to bad programming, which you’d generally want in the case of web pages.


No.
By that same logic, memory safety issues in C/C++ don’t make them bad programming languages.
If you’re worried about it, like you’re accepting input from the user, sanitize it.
if (typeof userProvidedData !== "string") {
throw new Error("Only works on strings.");
}
Better yet, put that in a function called assertString.


Your VSCodium reserves ~8 GB of ram? You might want to check the extensions you’re using. I’ve got mine running with tons of open files and it’s using ~2 GB.

Also, you should definitely give Immich a try. It’s an awesome piece of software.


JS has been made less shitty. I’ll give you that old JS was pretty shitty. Like v5 and lower were a huge pain. But a lot of that was because of the lack of modern language features that other languages had at the time. ES6 introduces some huge improvements that made JavaScript much less frustrating. Personally, at this point, I have very few pain points with the language.
I don’t think being included in browsers is the only reason JS became so popular, but it’s definitely the biggest reason. That doesn’t make it a bad language.
Backwards incompatible changes have been introduced in JS a number of times. They are opt in at the script level and enforced in newer language contexts.


I would assume [1] + [2] would give you either 0 or 2, but maybe "12". But why you ever write that? I’ve never bothered to memorize what happens there because I would never write that. The plus operator is not for arrays. It’s for numbers and strings. If you’re trying to concatenate arrays, there’s a function for that. Would you do that in Java or C? People trying to make JavaScript do silly things just because it refuses to crash when you do then calling the language bad for it is just silly to me.
Day 500! Awesome! Thank you for posting all of these. I rarely comment, but I do love seeing them. :)