diff --git a/posts/_metadata.json b/posts/_metadata.json index 7ed3137..88dc0f6 100644 --- a/posts/_metadata.json +++ b/posts/_metadata.json @@ -8,6 +8,15 @@ "tags": ["meta", "code", "project", "web", "markdown", "typescript_javascript", "css"], "archived": false }, + "new-hobbies": { + "title": "New Hobbies", + "slug": "new-hobbies", + "filename": "new_hobbies", + "date": "25/05/2024", + "author": "jetstream0/Prussia", + "tags": ["manga", "toki_pona", "copyright"], + "archived": false + }, "bananopie": { "title": "Bananopie", "slug": "bananopie", @@ -69,7 +78,7 @@ "date": "27/10/2023", "author": "jetstream0/Prussia", "tags": ["rust", "project"], - "archived": false + "archived": true }, "llm": { "title": "LLM", diff --git a/posts/bananopie.md b/posts/bananopie.md index 0670d46..b259f28 100644 --- a/posts/bananopie.md +++ b/posts/bananopie.md @@ -1,6 +1,6 @@ -Bananopie was written with the aim of being the Python equivalent of Banano.js, and furthering my understanding of the Nano/Banano protocol. I learned quite a bit about how blocks were constructed. +Bananopie was written with the aim of being the Python equivalent of Banano.js (but better :)) and furthering my understanding of the Nano/Banano protocol. I learned quite a bit about how blocks were constructed and whatnot. Very fun, would recommend. -I think it's acheived that goal, and hopefully went a bit above and beyond in simplicity and powerfulness (it has some useful functions that Banano.js does not, like `send_all` and the old message signing, as well as local work generation). +Anyways, I think it's acheived that goal, and hopefully went a bit above and beyond in simplicity and powerfulness (it has some useful functions that Banano.js does not, like `send_all` and the old message signing, as well as local work generation). The only two frustrations I had while writing Bananopie was not knowing whether certain things were big-endian or little-endian, since the Nano docs don't specify (I just tested against the output of Banano.js or wallets), and also dealing with Python's decimal precision fuckery. diff --git a/posts/golfing_and_scheming.md b/posts/golfing_and_scheming.md index 3ec61f4..02c0498 100644 --- a/posts/golfing_and_scheming.md +++ b/posts/golfing_and_scheming.md @@ -157,15 +157,15 @@ I was initially disappointed to see Scheme missing many "basic" utility function It's been a while since I had so much fun programming. To further learn Scheme, I then wrote my first project in Scheme, [rescli](https://github.com/jetstream0/rescli), a CLI interface for [Reservoir](https://github.com/jetstream0/reservoir), a bookmark organizer app I made. I'll talk about those in a different post. -I also tried to learn Ocaml but just couldn't get over the horrible, horrible, syntax. Maybe I'll try again later (ReasonML's more familiar syntax might help). - ## Why Learn Scheme? -But anyways, why did I choose to learn Scheme? +But anyways, how did I end up learning scheme? -After writing Mingde, and a few Rust projects, I was thinking a lot about types. Specifically, how much I loved them (a lot). I was also a bit curious about functional programming. +After writing [Mingde](https://github.com/stjet/mingde), and a few Rust projects, I was thinking a lot about types. Specifically, how much I loved them (hint: a lot). I was also curious about functional programming. -Lisp Scheme is dynamically, not statically, typed (Typed Racket, which is similar, does though), which was a downside. But it's simplicity and lack of bloat was compelling enough for me to give it a try. I'm glad I did. Again, writing in Scheme has been the most fun I've had programming in months, possibly years. Functional programming really is a different, more fun, and arguably better way to think about programming. Avoiding variable mutation and recursing instead of iterating is just... fun. Having the entire language reference as a 3.3 mb PDF is pretty neat too. And I haven't even written a macro yet! +Naturally, I looked for languages that combined both. Idris I simply could not wrap my head around (and might just be too obscure, even for me), and I found it too difficult to get into OCaml. I will probably try OCaml again later, maybe with ReasonML for more familiar syntax instead. Haskell is also on my "try later" list. + +Lisp Scheme is dynamically, not statically, typed (Typed Racket, a similar language, can be statically typed though), which was a bummer and initially discouraged me from trying it. But it's simplicity and lack of bloat was compelling enough for me to give it a try. I'm glad I did. Again, writing in Scheme has been the most fun I've had programming in months, possibly years. Functional programming really is a different, more fun, and arguably better way to think about programming. Avoiding variable mutation and recursing instead of iterating is just... fun. Having the entire language reference as a 3.3 mb PDF is pretty neat too. And I haven't even written a macro yet! S-expressions (the name for all those parentheses) are really simple to understand, and everything in general is pretty simple to understand. Do a brief read of Scheme Programming, then TSPL4 for reference. diff --git a/posts/new_hobbies.md b/posts/new_hobbies.md new file mode 100644 index 0000000..ba90456 --- /dev/null +++ b/posts/new_hobbies.md @@ -0,0 +1,20 @@ +So, it's been roughly 5 months since I've written anything on here. Unfortunately, I am still alive, meaning I am obliged to write a post in order to justify paying for this domain name. + +Recently, I've gotten into two new hobbies as programming-wise things are a little boring. I'm only occasionally working on two projects, one of which is a job from a client. The other is an offline wiki* cli reader (currently only tested wikiquote but it probably works with wikipedia and whatnot) written in Lisp Scheme. + +## Toki Pona + +Learning Toki Pona has been on my list of things to do for a while now, so I decided to at least start learning the basics. If you aren't familiar with Toki Pona, it is a conlang (constructed language; think Esperanto or Klingon), with only around 120 words and a little more than a dozen sounds. + +To help memorize the vocab and practice grammar, I made [toki-pona.pages.dev](https://toki-pona.pages.dev) (please don't look at the source code, it's an absolute mess). That site takes all of its content from [mun.la/sona](https://mun.la/sona) which is a fantastic resource for learning the basics of Toki Pona. I can't speak to the more advanced sections, because I haven't gotten there, and because some are incomplete. Iirc the associated youtube channel has a lot more content. + +In the last week I haven't practiced. Hopefully I'll get back to this soon. It would be nice to find someone who actually speaks / writes in the language, for some motivation and practice. + +## Scanlation + +Another big thing that has been on my todo list for a long time is scanlating manga. Scanlations are fan translations of manga. One of the manga I was reading on mangadex was dropped with only one volume left. The original scanlation group stopped because an official english translation was available. I really wanted to read the rest, so I decided to take matters in my own hands and start translating it. After the first two or three chapters translated, two others joined my group and helped with translation and upscaling, which I'm incredibly grateful for. + +It should be fairly trivial to find my group and what titles we've scanlated, but I will avoid doing so here because, well, scanlating is not exactly legal. Rather, it is illegal and a violation of copyright law (hurray). + +That's all. +