1,839 karma · joined April 26, 2022
How do these two things correlate? I thought the benefit of E2E encryption is the fact that no one can decrypt your messages except for the participants in the conversation. There’s no keys anywhere on a server that an admin could use to decrypt the conversation. How would being behind a VPN negate that? The VPN still has to go through Discord servers where a key is presumably stored if the information is encrypted at all.
I also learn concepts bottom up, but thank God everyone isn’t like me. I’m just glad prebuilt tools like the game engines we have today exist so we can have artists creating awesome games.
Heck, even half life likely wouldn’t exist if Carmack hadn’t written the Quake engine and shared it with the Valve developers![0] Think of all the amazing games that have since been released by Valve that might never have been unless they had the kickstart that they got.
[0]: https://en.m.wikipedia.org/wiki/GoldSrc#:~:text=GoldSrc%20(p....
I know plenty of people that still study the letters that were used to communicate while founding the United States. It seems to me that the last 20 years has led to a massive decrease in the effectiveness of written communication because people don’t have to be clear or concise anymore.
As one of “these people”, I enjoy my job, but I can recognize the fact that it’s just a job. I’m amazed that you would classify people that don’t center their whole life around their job as people that would be just as happy without a job.
I have a lot of other hobbies. I definitely would not be happier if you just took one of them away and gave me money instead.
This one quote on page 2 from the developers really hammers home this point:
> Those limitations aside, working in Stencyl has been fantastic. Ideas come together really easily and the tools are all intuitive. We definitely couldn't have come so far in such a short amount of time without it.
I’ve _also_ used Godot, Unity and Unreal. There’s a tremendous difference. I just started learning Godot a week ago and I already have the core game loop practically done in a new RPG. Sure I could’ve done the same thing using C++ and OpenGL (or Raylib or something), but I would be missing out on a lot of useful things that _just work_. Godot’s BBCode text labels are amazing and give my dialogue boxes a whole bunch of character out of the box. The tilemap editor allows me to just build my levels without having to build an editor first. The lighting system can add a ton of visual polish with very little effort on my part.
I’ve also dabbled in VR games with Unreal. And I’ve tried making some simple 3D games in Unity. Is this all possible without those engines? Yea. Would I have been able to experiment with the kinds of tech I got to play with if I made it all myself from scratch? I doubt it (not because I couldn’t do it, I just don’t have the time).
Another thing to consider is porting your game to different platforms! There’s a whole lot of variability in what kind of support you’ll get for that with something you made yourself or a framework like Raylib.
Anyways, from someone who has experienced both sides of the coin, you’ll end up fighting with the engine either way ;) There’s nothing wrong with using a general purpose engine.
He is a great author. I originally read The Wheel of Time, and the last few books in that series were cowritten by Sanderson. They were so great that I ended up buying the first book of the Stormlight series. Now I’m eagerly waiting for the next book to come out in December, but I’m enjoying Mistborn in the meantime.
Your whole comment reads as some sort of weird gate-keeping where people without the “proper” education could never fully understand a “true” paper. We can, and we do. There’s a reason we learn from truly great computer scientists like I listed above in college, and not the people posting unreproducible work.
Music has a lot of the same steps and it just takes time to get to the different stages of comprehension. At the stage I’m at now, it’s fairly easy to look at sheet music and determine if it’s ragtime or swing or jazz. I’m sure I’ll be able to pick up more nuance as time goes on too.
But, I think it’s cool that you’re exploring different approaches! I don’t want to take away from that, I just wanted to put out a challenge to the presumptions your making that classic notation is insufficient in some of these areas :)
Can you expand on this? I’m a hobbyist that’s learned how to sight read, and one of the coolest things was when I stopped seeing individual notes and began to see structure, as in chords and progressions. I’m not sure how sheet music would obscure the structure because that’s all I see in it now.
> “For months, high-ranking Government officials placed unrelenting pressure on Facebook to suppress Americans’ free speech," Alito wrote. "Because the Court unjustifiably refuses to address this serious threat to the First Amendment, I respectfully dissent."
It seems like the court had agreement that government coercion did happen. They threw the case out because they couldn’t draw a direct correlation to harm to the specific people that brought the allegations up.
You’re doing yourself an extreme disservice if this is all you perceive TypeScript as. It’s brought some semblance of order out of the Wild West that is JavaScript, which, like it or not, powers the vast majority of the modern web. Not only that, it’s also introduced a whole bunch of developers to different ideas about what a type system is capable of.
If all you’re doing is characterizing it as a 3D engine, you’re missing pretty much everything about the platform that makes it work. Nobody looks at VsCode and asks why it’s hard to program that, or Facebook, or Unity, or MMOs, or Stripe. This platform is all those things in one. And I may be wrong on some of the details, but the stuff those devs get to work on is undoubtedly more difficult than the React apps 90% of developers do in their day job that they also had to grind leet code for.
I agree with everything you’ve said up until this point. The add function should be locked down, whether or not it’s internal code. I’ve written some physics libraries for games I’ve coded in the past, and you can bet that I wanted to lock in the functionality of that complex physics code by working some examples by hand and then codifying them into unit tests!
I think you’re right at the end, everything is nuanced. Using the right tool for the right job is easier said then done :)
I don’t typically write tests, but they do make sense for a few cases (specifically end to end tests that look for well defined outputs from well defined inputs). I was inspired by Andreas Kling’s method of testing Ladybird, where he would find visual bugs, recreate the bug in a minimum reproducible example, fix the bug, then codify the example into a test and make sure the regression was captured in his test suite[0]. This led to a seemingly large suite of tests that enabled him to continue modifying the browser without fear of regressing somewhere.
I used this method of testing while I was writing a code highlighter that used TextMate grammars. Since TextMate grammars have a well defined output for some input of code + grammar, I was able to mimic that output in my own code highlighter and then compare it to TextMate’s output for testing purposes. I wrote a bunch of general purpose tests, then ran into a bunch of bugs where I would have mismatched output. As I fixed those bugs, I would add the examples to my test suite.
Anyways, my code highlighter was slow, and I wanted to re-architect it to speed it up. I was able to completely change the way it worked with complete confidence. I had broken tests for a while in the middle of the refactor, but eventually I finished the refactor. As I started to fix the broken tests, there was a domino effect. I only had to fix a few tests and that ended up automatically correcting the rest. Now, I have a fast code highlighter and confidence that it’s at least bug for bug parity with the slow version :)
I hate when I get comments on a PR talking about some subjective piece of code suggesting an alternative that they think is “cleaner”. How clean a piece of code is shouldn’t be a part of consideration while reviewing any code. Instead, like I said before, the only thing that really matters is if it works and if it’s readable. I wonder how many junior engineers have been bogged down with pointless PR comments over the years because of this idea that code can somehow be “neat” or “clean”.
As far as this being the reason most C code doesn’t handle UTF-8 though, I’m still skeptical.
Can you expand on this? Why does it matter to keep code points and grapheme clusters together in the case of truncation? If you’re already truncating the string, then you can just copy as many bytes as possible. Then, later when you interpret that string, you’ll hit a malformed codepoint and ignore it. I guess what you might be getting at is that if you have a codepoint sequence, then you shouldn’t copy the bytes if they can’t all fit in the truncated string?
I feel like this is an edge case and not “the reason almost all C software has problems with non-English strings”. 99% of the time, copying up until the null byte is fine, whether or not the string is UTF-8 or ASCII. The reason most C software doesn’t work with non-English strings is because the developer never added support. The bytes are still there, they just need to be interpreted correctly in the UI portions of the code.