• 1 Post
  • 26 Comments
Joined 1 year ago
cake
Cake day: June 12th, 2023

help-circle









  • We’d usually gather in the living room and watch movies together as a family, and Lord of the Rings trilogy quickly became a fan favourite. (still rewatching it annually!)

    After that I played Lord of the Rings: The Return of the King and Battle For Middle Earth 2, although I’m not sure which one I played first.

    We also had the Lord of the Rings animated cartoon on a CD, which was unfinished IIRC.

    Only years later have I finally read the Hobbit (found a great annotated version in the library), but I’ve yet to read the LOTR.


  • It’s due to the way getchar() and console input work. When you enter “abcdCTRL+D” on the keyboard, here’s what happens:

    • abcd characters are added to the stdin buffer and consumed by getchar()
    • CTRL+D (or EOF on Unix, CTRL+Z on Windows) is left in the input buffer (it’s not yet consumed by getchar()!))
    • The console is waiting for more input, and the next time you press ENTER or CTRL+D the previous one will be consumed by getchar()

    Think about this scenario: What happens if you only enter “abcd” and not press anything else? The program will still be waiting for more input. It needs to receive a signal telling it to stop with the input and proceed with the code execution. But if you press enter, it won’t automatically add a new line to the string, because the new line character is still in the input buffer.











  • I 100% think it would. Android Studio is hot garbage. Not just the compiler, but the whole build process.

    Gradle configuration syncing takes over a minute for the most minor of changes when building a project. Importing a new package in Go takes less than a second in most cases.

    Changing a version of any imported package in Android Studio has a 50-50 chance of breaking everything. Heck, even creating a new project in Android Studio has a 50-50 chance of working.

    The reasons why Android Studio can’t achieve similar speeds are plenty, but here are some:

    • The whole thing is a patchwork of randomly assembled pieces, with a complete mess of UI and unbelievably confusing settings.
    • It is also being developed by Google and JetBrains, so no single entity is responsible for the product.
    • The fact that it’s developed in Java doesn’t help, sometimes you can almost see the monstrous garbage collector having to swipe away the memory while the IDE freezes and you have to wait 30 seconds for the app to become responsive again.
    • Android Studio is a resource hog, requiring at least 4 GB of RAM to work properly. I had to buy another 8 GB RAM stick just for it to function properly. Also, no matter what CPU you have, it’s still going to use it 100%.