Sometimes I make video games

Itch.io

  • 3 Posts
  • 54 Comments
Joined 1 year ago
cake
Cake day: July 26th, 2023

help-circle



  • There’s this ad I keep seeing that I really despise. It’s for teeth-whitening toothpaste. The actress is wearing a white coat then holds up a tissue to her teeth, lamenting that her sparkling white teeth are ‘still yellow’

    They cut away to teach you how toothpaste works, because surely you’ve never heard of this newfangled thing, and when they cut back she’s no longer wearing her white coat and says how much whiter her teeth are.

    It’s transparently obvious that the wardrobe and tissue are just to give you something whiter to look at. But like… your teeth aren’t supposed to be freakishly white. It’s just something that Big Toothpaste wants you to feel bad about the way your body is. Also, using whitening toothpaste when you don’t need it can damage your enamel and cause you long term problems.



  • I used to have really bad chicken-scratch printing and I wanted to improve.

    The exercise that really stuck out for me was to find a font I liked in a book on calligraphy and started practicing the alphabet.

    Before I started practicing, I didn’t pay much attention to how I was forming a letter, I’d just draw it - and it would look messy. Once you start looking at each letter as a discrete number of strokes you start paying attention to the small parts and the whole looks much better.

    If you’re really lucky, you’ll find a guide with arrows showing which way to draw each stroke. Super helpful. Note that this font uses a fountain pen, so it’ll look different with a standard ballpoint:






  • I was probably a child when I last read it, so I might have some details wrong, but here’s how I remember it:

    A child is given a toy rabbit. A fairy visits the toy rabbit and gives it the gift of awareness. The child and the toy bond with each other and grow to love each other. Unfortunately, the child becomes dangerously ill, and after the sickness their possessions must be incinerated to prevent contamination. This includes the toy rabbit. However, the fairy arrives at the last minute, declaring that because the rabbit learned to love it was therefore a real rabbit, and with a wave of her wand transforms the toy into a living being and whisks it off to the woods were it lives happily ever after with the other rabbits.

    So I guess my question is this - Do you think the velveteen rabbit and the fairy are real? Or is the fairy’s magic an invention of the child’s mind?

    I think the narrative required the velveteen rabbit to be burned because it was so horrible. To the grown ups it’s just velveteen, but to the child it’s a dear friend. Even as children we know that being burned is horrible. So the child invents a solution where their toy can live happily ever after even after it’s thrown in the fire.

    I think there’s definitely some Heaven and Hell symbolism to be had too. The velveteen rabbit was damned to hellfire unless it accepted love into its heart during its life. Then it is granted into the afterlife. In fact, you could say it was reincarnated into a higher spiritual form.

    The story explores coping with loss as seen from the point of view of a child. Even though the velveteen rabbit was just a toy, the child has given it a soul. If you have a soul, when you die you go to the afterlife and live happily ever after. It’s a comforting story to a child, and one that many people around the world have believed throughout the ages.





  • When I was a kid I saw an elderly man get hit by a car. He rolled over the top, which I guess is safer than being run down, but he got a lot of air and hit the pavement hard. Just kept rolling over and over. My parents shooed us away from the scene, but I can’t imagine it ended well for him.

    One time I was riding a bus that rear-ended a motorcycle. I didn’t see the collision itself, but the driver was pronounced dead at the scene.

    We often take for granted how dangerous traffic is. Your life can end in a moment doing something we casually do every day.

    I was working in a department store when a middle-aged woman collapsed in front of me. It was really warm, heat exhaustion I supposed. She looked like maybe she was drunk because she was moving kind of erratically, so I went to see if she was okay and she just fell. I’ll never forget the sound her head made hitting the concrete or the fact that she didn’t even blink. Remarkably, she was okay and was up in a few minutes, walked away and everything, really surprised me.

    The thing that probably fucked me up the most though was some videos on YouTube. I was working for a video analytics company, and we were trying to build an image classifier that could detect firearms. Well, you need data for that, so we were scraping videos of gun crime. Mostly what we were looking for was armed robbery. Lots of videos put out by the local police of somebody holding up a convenience store, and that wasn’t a big deal. But every now and then you’d find a video of someone getting shot and that really affected me. Eight hours a day of looking at gun crime with the occasional homicide peppered in was a recipe for disaster. I definitely needed therapy after that job.


  • A lot of people in this thread appear to be pretty hard on themselves. There seems to be a trend of people who want to be nice, are trying to be nice, but don’t see themselves as nice. If that sounds like you, then I’ve got some good news for you:

    You are a nice person.

    If you’re sincerely making the effort to be a better person then that’s admirable. Self improvement is hard. Too often people are quick to judge based on the result of your actions rather than the effort that’s put into them. To put it another way, we judge people by their actions but judge ourselves by our intentions.

    Treat yourself to the niceness that you’re trying to show to other people. You’re doing the best you can. You’re trying to be a nicer person which means you’re trying to grow. From tiny seedlings grow mighty oaks, and the seedling shouldn’t be shamed for starting its journey. Rather, it should be encouraged to keep growing.

    If you find it difficult to be nice, but you’re trying to be a nice person, I’d say that’s a lot nicer than being the person who dismisses another for not being ‘nice’ enough.



  • I’m a software developer who primarily uses Python in my day job. I’m a strong believer that every tool, especially in software, has pros and cons baked into it.

    It seems that many of your issues with the language come down to it being an interpreted language, as opposed to a compiled language. Interpreted languages are definitely slower than compiled languages at runtime, but something to consider is also development time. In my experience, a high level scripting language with dynamic typing like Python is easy and fast to write. I spend more time actively writing code than running it, so development speed definitely has appeal to me.

    As to if performance-critical operations need to be written in other languages, I have a little experience with Cython, and I’d say that you’re right - it is more complicated to analyze. However, and I don’t remember where I picked this up, but I’m a strong believer that premature optimization is the root of unreadability in software. Programmers often believe that a portion of their program is going to be slow and then attempt to optimize it without ever having profiled to see if it’s actually that slow.

    Python does have a couple of tools to speed things along for common issues. For instance, list/dictionary comprehension saves on looping time, and using generators can help you control memory usage. Neither truly gives you thee speed of a compiled language, but these are noticeable improvements you can make.

    Regarding the missing type system, there is built in type-hinting you can use which makes your code more closely resemble a statically typed language while still having the flexibility of dynamic typing. The type hinting is optional, which means that in most tutorials or when people are starting out, type hints will probably be absent. However, for enterprise grade software you can take the time to configure a linter to enforce type hints, and I would say it does make your code cleaner and easier to reason around.

    As far as managing virtual environments, I think you’re right on the money there. When I was learning, I found the process confusing, but it becomes more familiar over time. I’ve definitely polluted my global python installation with dependencies that break other projects, and it can be pretty gross trying to sort out the issues.

    Okay, now here’s something that I think is pretty interesting: every one of your main gripes are issues that people also have with Javascript. And that makes sense, there are parallels. They’re both interpreted, dynamically typed languages which people try to use for every problem under the sun. I’d hazard that your issue is that you’re more aligned with compiled, statically typed languages, and there’s nothing wrong with that.

    I think that one of the things that Python and Javascript both have going for them is the ubiquity that they’re used. You can find a pip/npm package for any situation. People start learning one or the other because they hear it’s a good language to get started in, and because you can solve every problem with it, you don’t have to learn another language if you don’t want to. That does mean that people are trying to solve every problem with one tool, and that has problems, but I guess we’ve decided that the pros outweigh the cons.

    Moreover I wonder how many kwH could have been saved if programms were written in more performant languages. (and there are better alternatives out there)

    I just want to say this is an interesting point, and there has been some study into Green Coding and it does definitely seem like we could use our resources more efficiently. However, the insidious side of coding for business is that the demands of business seems to be focused on delivering products quickly at any cost. Even though the science suggests that green coding has positive climate benefits and reduces operating costs, these benefits are intangible to executives and therefore ignored.

    When I was in school, we learned about Moore’s Law which essentially says that computers get faster all the time. In fact, computation speeds tended to increase exponentially, and that has implications on how we write code. Forty years ago, you’d be worried about not using more than eight characters for a variable name because of the implication that has for system memory. Now we don’t worry about those problems, which means that we import more libraries, use more memory, and are less careful about squeezing every last bit of performance out of our machines. It sort of leads to this paradox where we have faster computers, so we write slower programs, which necessitate faster computers.

    Does that mean our code nowadays is a lower quality? I suppose that depends on how you measure quality. For me, readability and maintainability are the most important tenets of writing good code. However, I can’t deny that performance and system usage are important requirements. But optimization often comes at the expense of readability or maintenance (see your concern about using outside languages for performance intensive tasks), so you have to be judicious about how you apply it.

    Finally, I think the ultimate reason that people like using Python is that it’s simple to get started, and there are already libraries / solutions to common problems which are easy to find at a cursory search. Basically, the tool is popular because it’s already popular, so people keep building more tools for it. And sure, there can be better tools that are under development which might one day supersede Python. But for now, the library support in Python is awesome, so there’s little incentive to switch and lose features.