Tuesday, April 23, 2024

Today I installed Debian on an old laptop. I can't move everything all at once, so I'm still dual booting, but it FEELS SO GOOD to NOT be using Windows!

I'm planning to move everything, but I'd rather keep Windows exclusive programs on Windows rather than using things like WINE or Proton. So maybe dual booting will end up a permanent solution.

Sunday, March 17, 2024

I set up a router today. It's pretty nice.. a lot better than using the ISP's gateway as both a router and a modem. I guess I'm the "network administrator" or something of the household now.

Thursday, March 14, 2024

I feel so guilty.. last night, the other two members of my group finished the math project. They stayed up really late.. and I feel like I haven't done anything to help at all.
They did a really good job. I was really worried, but they made my worries seem silly.

Wednesday, March 13, 2024

Tomorrow's the day a group project we have in math class is due. I don't think we're finished yet, but it's out of my hands now. I can't help but worry. Thankfully, the group project in my English class is going a lot smoother. It was a little difficult not being able to talk with the group today, but we still got stuff done.

Monday, March 11, 2024

Hey, it's been a long time! I won't sugarcoat it: I did forget about tilde.club. I know, I know, I'm sorry, okay? I think it's okay. I remember now. I don't know how often I'll write here from here on out since it isn't a habit anymore, but hopefully many more entries are to come. Much has happened since the last time I've written here. For example, I've gotten over my irrational fear of my door, and I no longer keep my keys in the doorknob. I got a new computer as a Christmas present. It's a MacBook Pro 13-inch Mid 2012; my first Mac! I've opened it up and replaced the memory and hard drive, so it runs really well, and I've used OpenCore Legacy Patcher1 to get it to run MacOS Sonoma so I'm actually able to install stuff. On the first of March, I started playing the fan English translation of Mother 32, and yesterday I finished my playthrough. It was mostly blind, but I was spoiled on some parts of the story. Still, the game was a breathtaking experience! I don't think I want to write about it here because I don't want to spoil anything. Maybe if I make it its own webpage.


  1. https://dortania.github.io/OpenCore-Legacy-Patcher/ [ref]

  2. https://mother3.fobby.net [ref]

Tuesday, November 14, 2023

My doorknob has been replaced for some time now, but I still don't close my door out of habit. I think I have an irrational fear of my doorknob. I even left the keys in the doorknob and I keep forgetting to remove them.

Thursday, November 9, 2023

There was a math "steeplechase" event. We were in teams and we solved a couple of math problems. We had 12 minutes to solve each problem and 3 minutes to head to the next one. I had a lot of fun participating, and our team made second place!

Thursday, November 2, 2023

I only just realized that we are really close to the end of the year now. No wonder there was a page on my planner last week suggesting I get a new one! I guess I should start getting ready for the next year. Aside from a new planner, I'm sure it'll be important to get used to writing '2024' instead of '2023'. I'm sure that last one can wait. I can already tell I'm going to struggle with that, though, as I typed '2023' right on this ttbp entry when I was trying to write '2024'.

Wednesday, November 1, 2023

I got locked in my room again today. The doorknob hasn't even been replaced yet, and I've already trapped myself! I hope this doesn't become a regular occurence. My mom couldn't get the door open and my dad had to open it with his tools again, but it went much faster this time around. He told me to stop locking my door, but both times, I didn't even lock the door because I very rarely lock it, so there's not much I can do about that. I removed the bag hanging from my remaining doorknob because I noticed that it was getting stuck into the inside of the doorknob, much like with the rubber bands.

In music class the teacher was away, but they told us to tell the substitute teacher to watch a movie. I think it was called Coco. It looked like there was no substitute teacher coming so my classmate asked me if they could use my school computer to put on the movie. Before I could stop them, they already searched up some suspicious free movie website and clicked on it. It was blocked, but I can't wait to explain that part of my search and browser history. I tried searching it up later to learn more about it, and apparently it's illegal in the EU. I'm not from the EU, but that fact isn't making me feel any better about the website.

Friday, October 27, 2023

I've been messing with an old Kindle 4 NT over the past few days. I found it catching dust in my room a few days ago, and charged it back to life. Later, when I was searching around to find out if it were possible to send documents into the Kindle through USB instead of email, I stumbled upon a jailbreak1 for it, which was very surprising. I've been playing around with it since then, adding custom screensavers and making Kindlets (java applets for the Kindle).

Figuring out how to make Kindlets took a lot of time. There were many useful resources, such as guides and Kindlets with publicly available sources, but they were all from some time ago which made it difficult when my software was too recent. Some of the resources, such as the KDK documentation, have also become inaccessible by this time, which also made it more difficult.

First, I had to get the KDK .jar which had classes I needed, such as AbstractKindlet which you have to inherit from for your main class. This was located in /opt/amazon/ebook/lib in the root filesystem, which you normally can't access, so I needed to get SSH access to get to it. I used USBNetwork1 to do this, but the first challenge was getting it to work on my machine, which runs Windows. After some searching I was able to download the appropriate driver to make the Kindle recognized as a network adapter. Then I could change my IP address on the network adapter to match the USBNetwork config and finally establish an SSH connection to the Kindle.

With the Kindle-1.3.jar I was able to write a test Kindlet, build it, sign it, and install it into the Kindle. Unfortunately, the Kindle wouldn't recognize the signature as valid, even after I installed the keystore into the Kindle. I tried signing with a different order, different JDK version, using the MobileRead Shared Developer Keystore, and some other solutions, but they didn't work. By this point I would've given up like I usually do, but my mom kept encouraging me to try again, which was really helpful. I tried comparing the jar manifest of my Kindlet and KUAL, another Kindlet, and I noticed that the digest of the signature was in SHA1 in KUAL, while my Kindlet's digest was in SHA256 (if I remember correctly). I tried changing the digest algorithm to SHA1 and the signing algorithm to SHA1withRSA, but it still didn't work. Finally, when it was almost midnight, I found a forum post by someone with the same issue as me. It turned out that the correct signing algorithm to use was SHA1withDSA. I signed the Kindlet with those options, and it finally recognized my signature (when I used JDK 8 instead of JDK 17)!

Unfortunately, my Kindlet still wasn't running. This time it said it couldn't find the main class. The next day, I checked my Kindlet's logs, which was conveniently accessible from USB Drive Mode, and found that my Java version was too new for the Kindle to comprehend. I checked the KDK jar and saw that it was using the bytecode from Java 1.4. I wasn't able to download that version of Java, but I found out that I could tell Java to compile for 1.4 even though I was using Java 1.8. Once I did that, I was delighted to see the words "Hello world!" on my Kindle's screen.

To make development more convenient, I made a gradle task which compiles a .jar and signs it with the dk, di, and dn keys, which means renaming it to an .azw2 and putting it in the Kindle's /mnt/us/documents (documents in USB Drive Mode) will get it running if you have the appropriate developer.keystore installed. I also pushed my Hello World git repository23. It doesn't include the KDK jar or the developer.keystore, so it's necessary to put them in the appropriate locations first.


  1. https://www.mobileread.com/forums/showthread.php?t=88004 [ref] [ref]

  2. https://github.com/MacaylaMarvelous81/hello-world-kindlet [ref]

  3. https://tildegit.org/jomarm/hello-world-kindlet [ref]