With Handmade Network v1.0 out, I've been taking a break from my software projects to focus on schoolwork. This quarter, I'm taking an Operating Systems class and a Compilers class, both of which are heavily project-based and require a great deal of my off-time.
However, TWC may benefit directly from these. In the OS class, I've been writing a lot of C, meant to be read by my project partner and the graders, which has been improving my code style and documentation quality. In the Compilers class, I've been learning about the inner workings of compilers, which will allow me to write more conformant code.
Next time I have a chunk of time to work on TWC, I will be working on the following:
- Cleaning up the twitter.h header to make it more suitable for use by language bindings. E.g. removing $ from identifiers, relying less on macro-based generics, narrowing down to a smaller list of types.
- Improving the metaprogramming layer for future code generation directions. In particular, adding the ability to insert code into an existing file so that e.g. the TWC_URL_XXX definitions can be created automatically.
- Generalizing some parts of the system to allow for supporting streaming REST endpoints
- Writing a simple command line client for basic tasks like tweeting (with media). (This is in fact mostly done, it just needs a bit of polish).
- Exploring the possibility of automated testing by having the code generator create basic tests.