My week wasn’t too focused as I was slightly ill, so I’m going to offer a selection of small thoughts.
My main concern at work has been how to get the tool I started working on a while ago to the users. The work has been slow due to my conference trips and other priorities, but I’ve gotten to the point where I must get feedback from the potential users.
I’ve tried to figure out what is needed to make their work easier. However, I haven’t myself done the work they’re doing, so it’s just a guess. I can continue to build based on my hunches, but more I build without validation, more there will be wasted work.
There’s a chicken-and-egg problem, though. You’ve got to build something to show the users and have them try it out, but you need to get feedback from the users to know what to build.
Anyway, I found some people willing to try my prototype. It feels like wheels are spinning forward again. Remains to see if there’s any traction.
I’m using FastAPI and the way I develop the app is by using FastAPI’s development server (fastapi dev
). Under the hood (I believe) it uses Uvicorn’s auto-reload support to reload the code whenever the code changes. The auto-reloader works by restarting the whole Python process whenever the code changes.
What’s good about this approach is that it gives you a clean slate. There’s no old code dangling around. What’s bad is that it’s slow if you have heavy dependencies.
In my case, the deps are heavy indeed and it takes seconds to reload. If I was using Clojure, I could just send the changed functions to the running server via REPL or use tools.namespace to reload just the changed code.
Is there anything like that for Python? I may try to rig up something. Waiting for seconds takes too long.
Since I was a bit ill and I had to stay at home, I started playing The Legend of Zelda: Echoes of Wisdom. It’s the latest game in the series and the first Zelda game I’ve played since Oracle of Seasons on GameBoy Color.
Beware: There will be slight spoilers about the game below the photos!
I hate the boss fights!
The boss fights are puzzles. You’ll have to figure out the weird trick that works on this boss and then do it three times or so. After you defeat the boss for the first time, it comes back with a more powerful attack, as is traditional. Just like there has to be modulation in every Eurovision song!
The main game mechanic is that you can create “echoes” of items you’ve seen and monsters you’ve encountered. Usually the solution to the boss fight is to use one of the monsters. This means that you’ll run around dodging the boss attacks and drinking potions and trying stuff until you figure out something that works.
Once you figure out the trick, then you run around dodging the attacks and spawning the monsters until the boss is defeated. It feels like a chore.
Some other echo puzzles are nice, though. I like the jumping puzzles, where you have to get to some hard-to-reach spot by building bridegs, ladders, and platforms. The most important item in the game is the old bed. It’s the basic 2x1x1 tile item and the solution to so many puzzles.
I’ve had good time so far, but I’ve played now about two thirds of the main quest (I think) and it’s starting to feel repetitive to be honest.
Photos: Autumn vibes from Suvilahti, Helsinki.