New Year, New Update

Everybody that leads something at Dell felt the need over the
Holidays to send out some sort of back-patting, self-aggrandizing
letter disguised as heartfelt and encouraging pick-me-up messages. So
here is mine.

Well, not really. I don’t have a lot of back patting or milestone announcements
to pad this post with. I am however, working on a few side projects.

Most important of the side projects that I am working on is a complete re-write
of the tooling I use to build my website. At the moment I use a collection of
bash and python scripts coupled with the third-party - yet open source -
website generator "pelican" cobbled together with a makefile. It works, but it
isn’t pretty by any means and it is not easy to reuse at all. So I am working
to change that a few bits at a time.

I started with the biggest challenge of the whole thing, the big code-re-write
portion of the project. While a big challenge it was is also the easiest way to
start since it helps to give shape to the rest of the project. The first things
I got rid of was having my content git repositories as submodules to the repo
that builds the site. The second bit I’m getting rid of is everything that was
hardcoded and tied to that structure that I used before. In short this involves
just writing a new system to replace the old one using the new requirements I
have in mind. Another major addition is that I don’t think I’m going to use
Pelican, I am instead writing my whole thing in python already so I’ll use
jinja and build the pages myself. I have already started working on designing
an INI style config file that will allow me to configure a new project really
quickly since the content will be separate from the generater code by design.

Above I said that the website rewrite was one of my more important projects
that I have going at the moment. It is, but mainly because I have plans to
continue work on some of my other really interesting projects but I need a
better way to record my progress and documentation for each project. I have the
domain locations in mind, but I just need to create appropriate websites for everything.

To that end I have been playing with the Skeleton Responsive CSS stylesheets
and I will be looking at updating some of the design of my page as I change how
things get built. For now, the old process and scripts will be used to update
things here though.

Other projects that I want to showcase, and continue working on would be:

Netify : Generic Webapp project boilerplate using Flask

Potty Oh : Programmatic Audio Generation using python

Space : A non-descript space based game that is not fully fleshed out yet.

For all of the projects I want a place or a way to post updates and stuff. It
would be nice if those types of posts would show up in my main website but also
under a project specific section. I also would like a place to host more
technical library and API documentation for each project because I’m a nerdy
engineer like that.

In more detail, Netify is essentially some boilerplate architecture and
libraries that lay out a structure that I hope to be able to use to provide a
common, moduler underlying structure for my other projects that I have in mind.
It is really little more than a set of libraries including a config file module
that you can inherit from, define modules for, and essentially start up a new
project in a familiar manner that should also allow for combining multiple
Netify projects into one coherent webapp. It includes support for hosting the
whole thing with NGINX inside a docker container so the plan is to continue
with that level of modularity.

Potty Oh is a python project where I have programmed a signal generator that
can create audible tones of various frequencies and write that to an audio f
file. I have a bunch of ideas for how to extend this as well as adding things
like audio effects and perhaps even on the fly music generation if I can figure
out how to get it to work. Before I move any further into this project though I
need to document what I’ve learned up to this point. It took me a long time to
figure it out and since it is quite complex and technical I need to document it
appropriately before I move on to different things. If I can get on the fly
music generation working then it may actually make sense to write a web API and
a javascript front end for controlling it. This is one place where Netify
should come in handy.

Space is a python based project. It simulates a space based construction,
management and conquering game. I have a number ideas about what to do with it
but it has sort of become backburnered in favour of the things I’ve mentioned
above. In a very very loose sense it will sort of be based on Zorg Empire or
OGame which are both online browser games with a similar sort of gameplay idea
to what I am working towards.

I have less exciting projects like fully organizing all my paperwork and RC
gear at home or cleaning up my config repository and making it open source too.
But those will need to wait for another blog post since I don’t think they are
much worth talking about at the moment.