diff options
author | Ashelyn Rose <git@tempest.dev> | 2023-05-08 02:17:40 -0600 |
---|---|---|
committer | Ashelyn Rose <git@tempest.dev> | 2023-05-08 02:17:40 -0600 |
commit | 880cfbeb74546056feab63ed6e92a10c0dbaf2c3 (patch) | |
tree | 33c7429bd5b1b968d74c74a4b7fbf0aa072111f7 /posts/01_04_2023-advent-of-wasm.html | |
parent | 885d95d889633e312567d891831d74d9e120e5b8 (diff) |
New layout, uses nextjs
Diffstat (limited to 'posts/01_04_2023-advent-of-wasm.html')
-rw-r--r-- | posts/01_04_2023-advent-of-wasm.html | 123 |
1 files changed, 0 insertions, 123 deletions
diff --git a/posts/01_04_2023-advent-of-wasm.html b/posts/01_04_2023-advent-of-wasm.html deleted file mode 100644 index 4f707a6..0000000 --- a/posts/01_04_2023-advent-of-wasm.html +++ /dev/null @@ -1,123 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <title>Advent of Wasm</title> - <link rel="stylesheet" href="/resources/style.css"/> - <meta name="viewport" content="width=device-width, initial-scale=1"> - </head> - <body> - <nav> - <a href="/">Home</a> - <a href="/about.html">About</a> - <a href="/posts/">Posts</a> - </nav> - <h1> - Advent of Wasm - <span class="subtitle">Now with 87% more pain</span> - </h1> - - <p> - So the last few years I have done Advent of Code off and on. Sometimes - I have tried to learn a new language, other times I was just trying to - beat my dad each evening. This year though, this year I don't know what - I was thinking. - </p> - - <p> - It was several weeks after everyone else had started, I had largely written - it off for the year - I was not up for it. Until a terrible idea crossed - my mind. - </p> - - <p> - Like an intrusive thought, my mind asked: "Well you've been wanting to do - something in web assembly for a while right? How bad could it be?" - </p> - - <br/> - - <p> - Turns out I was definitely not ready for this. - </p> - - <h2>So what was so hard about it?</h2> - - <p> - More than anything else, I forgot how much you need to do by hand to do - any sort of assembly. The first day saw me spending several hours just - on some loader code to pass the puzzle input in from JS, call a wasm - function, and then read back the result. - </p> - - <p> - Next was a few functions for reading numbers out of the wasm memory buffer, - parsing them from ascii, etc. The core read loop was not too tricky, but - the bit that took far longer than it had any reason to was converting my - answer back to ascii and shoving it into an output area. - </p> - - <p> - Really none of it was surprising, and none of it <em><strong>*should*</strong></em> - have been that hard ... it's just been a while since this Javascript girl - has written truly low-level code. - </p> - - <p> - To make matters worse I got hard-core distracted by the non-wasm part of - my wasm project. After the first day I returned to my stub JS loader and - expanded it into a little wasm explorer. - </p> - - <p> - I added a code view, syntax highlighting, auto-loaded my puzzle inputs, - even made a janky little dynamic list that would automatically pick up - new days' solutions as I added them to the repo without needing me to - touch the loader page each day. - </p> - - <p> - In the end I'm really quite proud of it, I will absolutely be reusing - this setup for future years, and you should - <a href="https://aoc2022.tempest.dev/" target="_blank">check it out</a> - if you haven't already ... but for wanting to challenge myself with - something new I was doing a lot of the same-old. - </p> - - <p> - Ultimately I got through 3 days before giving up jusst because every - step along the way involved <em><strong>*so much*</strong></em> extra - code. I may come back to some of the puzzles later, but for now I'm - kind of happy with what I did, and I don't feel like I need to prove - myself by doing more. I was doing it for fun, and so I stopped when - it stopped being fun. - </p> - - <h2>Tips if you want to get into writing wasm by hand?</h2> - - <p> - Uhh ... maybe consider don't? - </p> - - <p> - Jokes aside: do a throwaway project or two so you get used to passing - data into and out of wasm, whatever parsing you're going to do, etc. - </p> - - <p> - Do everything in your power to make sure you can focus on the actual - wasm part of your project, because (at least if you're anything like - me) it's easy to get sidetracked with all that. - </p> - - <p> - With that said: I had fun. Doing new things is always a treat, so if - you're looking for something new to try definitely consider giving - webassembly a look. - </p> - - <footer> - <a href="https://git.tempest.dev/ashe/tempest.dev">Site Source</a> - <a href="/pay-transparency.html">Pay Transparency</a> - </footer> - </body> -</html> |