1. 1

    You can also follow this blog series for creating the game BYTEPATH in LOVE2D: https://github.com/adnzzzzZ/blog/issues/30

    1. 2

      my goal is to teach some kids at my school how to code a real game (we did CS First but that was Scratch and Scratch isn’t real coding :P)

      1. 2

        By “kids” are you referring to elementary, middle, or high schoolers? Depending on what they are willing to take on, I have a few other guides that may be fun:

        • tinyraycaster - 4 part guide to making an old-school, Wolfenstein 3D-esque game in C++
        • TheCherno - Game Programming - A YouTube series for making an RPG-esque game from scratch in Java
        • TheCherno - Game Engine - Also by TheCherno, but goes over how to make a game engine in C++ (this series is ongoing, new episodes weekly on Sunday)
        • Roguelike Tutorial Revised - A Python3 + libtcod guide to making a Roguelike
        • Tetris - HTML5 Game Programming - Part 1 of 4 for making Tetris using JavaScript in the web browser
        • Coding Math - This is less of a “make a game” series and more of a “understand how to use math to make games” series (e.g. how to use vectors to detect if your character is behind and facing another character to know if you can back-stab them)

        There’s a little bit there for everyone. If they just want to make games and skip a lot of the cruft, they can always just download Unity and Blender and get right to it (and pick up C# along the way).

        1. 2

          …I just want to teach some middle/high schoolers how to make a game. I chose Lua because it’s easy to pick up. 1-indexing sounds terrible to actual programmers, but these are just kids. I just want to give them ANYTHING better than Scratch.

          1. 1

            Well, once they know how to make one game they may want to make more. Now you have a bunch of potential options for game #2 they can pursue, should they feel so inclined.

            1. 2

              Maybe I’ll include that at the end of the workshop, as a sort of “congrats, you’ve finished a game project! you can make more professional games using these”.

              However, for the purposes of the workshop, Lua is easiest. It’s logically sound to non-programmers (to a non-programmer, it’s hard to explain why the first item is 0 and not 1).

              1. 1

                I always just tend to go with “You know how computers speak binary, which is just a bunch of ones and zeros? Well, they are also weird and start counting at 0 instead of 1. This will make more sense later on once we actually start programming things.”

                But I also get your point of wanting to start simple with Lua, but making games like BYTEPATH is about as far as you can go with it until you start getting limited by how slow Lua is (hence why over half of those links use C++ or Java).

                1. 2

                  The question is, how do you actually explain zeroindexing to the kids?

                  1. 1

                    the index isn’t an ordinal number. it’s the offset from the beginning. the first elements is 0 distance from the beginning.

                    1. 1

                      “Alright kid, count off to 5”

                      “1. 2. 3. 4. 5.”

                      “I see you started with 1, computers start with 0 so let’s count off to 5 again but starting at 0”

                      “0. 1. 2. 3. 4. 5.”

                      “If you write down each of those numbers and count how many you have, you will notice you now have 6 numbers. So let’s do this one more time, but this time stop when you get to 4.”

                      “0. 1. 2. 3. 4.”

                      “Great, we are now starting at 0 and ended up with 5 numbers. This is how computers count to 5. An easy way to remember this is to compare this result, 0 1 2 3 4, with our first result, 1 2 3 4 5, which is just the same number subtracted by 1:” 1 - 1 = 0 2 - 1 = 1 3 - 1 = 2 4 - 1 = 3 5 - 1 = 4

                      “And voila! You can can now count like a computer, which is formally referred to as ‘zero-indexing’.”

                    2. 1

                      Slow? Perdon? Have you seen pygame’s performance? Absolute TRASH. love2d is fast enough to make a playable platformer that is enjoyable to play.

                      1. 1

                        I do not believe any of my examples used pygame. There is Python’s libtcod library for the Roguelike tutorial, but it is also a text-based game so does not have the usual performance hit that comes from making games in Python.

                        1. 1

                          I was referring to the fact that you called LOVE slow when Python is the real slow one. LOVE2D uses LuaJIT (citation needed) so it runs fast enough to make a good program.

                          1. 1

                            I was referring to LOVE2D being slow compared to using Java or C++, but I’d still standby the libtcod library for Python to easily be performant enough for any Rogeulike game you have in mind (again, it is only rendering ASCII and maybe some bitmaps).

        1. 4

          It looks like this might be an ad for Blue Oak, rather than reporting on MIT and BSD being deprecated. See also.

          1. 2

            Yeah, it is. He’s their Executive Director, which he mentions this at the end of his article advertisement.

          1. 3

            No way. It’s almost like having micro-OSs which are black boxes is bad for security or something…

            1. 3

              Especially when it takes only one line to import someone else’s micro-OS as a base without needing to know anything about it or what is on it.

              1. 3

                What could possibly go wrong?

            1. 1

              This was also mentioned in one of the latest Python Bytes podcast episode if anyone is interested in that: https://pythonbytes.fm/episodes/show/117/is-this-the-end-of-python-virtual-environments

              1. 1

                The issue with this is that Rust isn’t that much more conducive than C. If I wasn’t going to write a C extension to Python (and I wasn’t about to) then what makes me want to make one in Rust?

                1. 1

                  Honestly, this is more of a gateway to trying out Rust with my existing Python code base without needing to commit to fully rewriting a project in Rust or find a project appropriate for Rust to try it out.

                  I’m not suggesting this should be the way to use Rust or if this should ever actually be used in production. Just as a way to get a feel for it an try it out (which is where I am at right now with Rust).

                1. 1

                  This is really important stuff. Even my tools which do respect proper config directories are doing it lazily, looking in ~/.config and such instead of checking the XDG environment variables first. I’ll have to pull this through.

                  1. 1

                    Yeah, after reading this article I decided to make an effort to always utilize the XDG environment variables for anything software I write needing to store data for a user. Would definitely make for a better experience using Linux as a platform.

                    1. 1

                      This is what I have been using for awhile.

                    1. 5

                      We happen to be using a fork of it here on the tildeverse: https://ttm.sh

                      1. 2

                        Oh! Didn’t know that, even though I could have sworn that I read the list of services on tildeverse.org numerous times. My bad. Thanks for pointing this out.

                        1. 1

                          I was just about to comment that

                        1. 3

                          heh i’m seeing this posted everywhere!

                          even the work chat!

                          1. 2

                            You mean to tell me you don’t feel nostalgia over this and don’t want to share it everyone?

                            1. 2

                              heh that’s not quite what I said, but fair point!

                          1. 1

                            The tilde.json example for protocol.club leads to a 404, classy!

                            1. 1

                              too real… but try explaining that to the marketing departments…

                              1. 2

                                “what do you mean we can’t track our customers’ every move?”

                                1. 2

                                  While I’m not a fan of tracking, the bloated bit of pages was that it loads megabytes of transpiled javascript. Trackers / ads can be done in less code and asynchronously to make for a less bloated web experience where we all “win”.

                                  1. 1

                                    heh i wouldn’t call that a “win” but yes there are many better ways to do it.

                                    1. 1

                                      I’d call a less bloated Internet a win. Did we win everything? Certainly not, but I don’t believe any of us believe there will ever be a singular motion to absolve all of our qualms with the Internet in one fell swoop.

                                      1. 1

                                        A less bloated spying apparatus is still a spying apparatus. Just one that hides itself better.

                                        That’s not a win in any fashion.

                                        1. 1

                                          Unless if I’m mistaken, the article we’re replying to is against a bloated Internet in favor of a more slimmed down version where we aren’t downloading megabytes of data to read a blog.

                                          Now with that in mind, this thread was about how we cannot attain this from the perspective of running ads / tracking software. So my proposal is that megabytes of JavaScript is not needed to serve ads / track users, which brings us closer to the win of “a less bloated Internet” where a pivot to handle the finances of websites through ads / user data is not needed.

                                          I’m not advocating here that ads or tracking is good, but rather it’s something many sites are using and the current state of the web makes those sites bloated, which this article is wanting to encourage the reduction of. So if we could have those companies provide less bloated scripts, this would be a win for “a less bloated Internet” (and not “a no tracking / ads Internet” that it appears you and ben are considering to be the only way to win here).

                                          1. 1

                                            Better, and more efficient spying on people isn’t a “win” in any way, shape, or form.

                                            1. 1

                                              The current state of the Internet is you either lose money hosting a site, you have some paywall / sell content on the site, or you run ads on it to fund the site. So if you want to not charge your users but still find a way to keep the website online, you’re probably using ads (e.g. most of the Internet). What I’m saying is that the path of least resistance to making the Internet faster is to remove the bloat from ads, not to tell everyone to just bleed cash for their sites on principle by removing ads from their sites.

                                              If your opinion is that a faster Internet is not a win in any way, shape, or form; I think we’re at an impasse.

                                              1. 1

                                                You can run ads, without javascript, and without bloat, have a faster internet, and not spy on your users.

                                                1. 1

                                                  Sure, but not all ad companies adhere to that standard of running without javascript/bloat, which is what I was proposing.

                                                  1. 1

                                                    Sadly, almost none do. And that’s the problem.

                                                    I don’t mind ads. I mind remote execution of untrusted code on my machine, that spies on me and tracks me.

                                                    1. 1

                                                      I don’t want remote execution of untrusted code on my machine either that spies and/or tracks me. However, that has nothing/little to do with making the Internet less bloated, which is what I was originally discussing in terms of wins/loss.

                                                      1. 1

                                                        Um, not sending 30MB of client-side executable scripts has everything to do with a bloated internet.

                                                        1. 2

                                                          By remote execution I thought you were referring to remote code execution the security vulnerability, not JavaScript as a whole.

                                                          In any case, my argument is that if people stopped transpiling / browserifying client-side projects and just wrote what was needed we wouldn’t be pushing down megabytes of JavaScript down the pipeline, and if this was done it’d be a win for the Internet as it’d be faster / less bloated.

                                                          1. 2

                                                            Now everything you wrote here, I can agree with :)

                                    2. 1

                                      people get paid to do something “that works” as fast and as cheap as possible, not “something that works well”

                                      1. 1

                                        This is not always the case, some companies (mine included) work to making things that work well at the cost of being a bit more premium than the cheaper alternatives and business is still running good for us.

                                  2. 1

                                    I gave up on that.

                                  1. 2

                                    Also, if you’re looking for Hacktoberfest-related issues on GitHub to make pull requests to, check here.

                                    1. 1

                                      lol my gmail was in 9 breaches. good thing i don’t use that anymore!

                                      1. 1

                                        I’m assuming you don’t have that email listed as a recovery email for your other emails and didn’t re-use the password for that email to other services?

                                        1. 2

                                          correct. password manager too!

                                      1. 1

                                        The problem I have with security tokens is the same as their strength: it cannot be done remotely. That means that no work can be done remotely, which seems to be bad.

                                        1. 2

                                          what do you mean no work can be done remotely? it totally can. use gpg-agent to provide your ssh key. you can forward your gpg-agent on and use it to sign commits etc on remote machines.

                                          1. 1

                                            While adding the requirement of having to physically insert or touch a device to a username and password may seem simple, it is something one can not do remotely.

                                            1. 1

                                              This makes it a highly effective and simple way to greatly limit damage and data theft from remote attackers.

                                              1. 1

                                                At the same time, though, how do we know that someone is a remote attacker vs. a legitimate user attempting to log in remotely?

                                                1. 1

                                                  when they have the right credentials?

                                                  1. 1

                                                    but an attacker can get the credentials. Isn’t that why we’re using security tokens?

                                                    1. 1

                                                      the credentials don’t leave your yubikey

                                                      1. 1

                                                        but why is that advantageous? what if you lose the yubikey?

                                                        1. 1

                                                          if your private key is on disk or even in ram, it’s relatively easy to grab it.

                                                          keep a backup on a usb key in a safe somewhere. i broke one and recovered it.

                                                          1. 1

                                                            The same thing that happens to everyone who goes through life without making any backups, sorrow and lots of heartache when trouble hits.

                                            2. 1

                                              This is kinda within the sphere of the problems I’ve been working on the security space: manifesto

                                            1. 1

                                              HTTP 418, never go away

                                              1. 3

                                                TL;DR: The Internet was shocked to discover that the GPS device we all carry in our pocket was sending our GPS data to a company we know tries to spy on us whenever possible.

                                                1. 2

                                                  is this a surprise to anyone?

                                                1. 1

                                                  Oh my god, I love this! xD

                                                  1. 1

                                                    Comment to test out the comment mirror

                                                    1. 1

                                                      Reminds me of Enterprise FizzBuzz

                                                      1. 1

                                                        Will this finally be The Year Of The Linux Desktop? :P

                                                        1. 3

                                                          Every year is the Year of the Linux Desktop!

                                                          1. 1

                                                            Especially this one!