I ran into an interesting issue with my Windows development machine when trying to test a Flask web app. This was due to werkzeug running the simple web server for flask that is created when you us app.run(). The error had me confused at first, as it has nothing to do with what I was changing at the time: TypeError: OpenKey() argument 2 must be str without null characters or None, not str I tracked back through the stack to see that werkzeug is looking at the Windows Registry.
I’m using a Raspberry Pi 3 as the CPU in custom burn-in carts for cycling our Android tablets. It is hard to beat the 7” touch display using a Flask front end for quick development. The carts often have power connected and disconnected when moved around. We are also using a network inside of the carts for talking with tablets under test and need to bring this up each time we move carts and cycle power.
Before I get to deeply into specific functionality and operation of our charging carts, I thought it would be good to take a detour into drivers for custom hardware. In addition I’ll cover mocking hardware devices to allow testing of your drivers and operating your system in a simulation with no hardware present. This allows you to flush out your hardware design with software before fabricating PCBs. (A PCB takes a long time to “compile”.
Over the last 5 years, I’ve been working on a very small team as the sole Engineer designing a ruggedized Android tablet. The only product option that met our needs would cost 10 times what we could afford. These are to be produced and distributed free of charge in developing nations as a missionary tool. Due to the cost and effort involved in getting them in country, our goal was a tablet with a 10 year service life.
When trying to implement a series sidebar and stand alone page in Hugo, I saw advantages of using the taxonomies structure in hugo. config.toml To implement series as a taxonomy, I added it to my config.toml. That section now contains three taxonomies. [taxonomies] category = "categories" series = "series" tags = "tags" Front Matter My only change to front matter from my previous series implementation was to change into an array style.
Enums are new with Python 3.4 and PEP 435, but have been backported. At first, I saw more trouble than benefit from Python Enums. They are typically used for type safety, and this isn’t really enforceable in Python. But, since they are a class, you can add additional functionality to them. This gives them more usefulness than I previously thought. It isn’t easy to store data with them in most languages.
Hugo’s watching web server is great for creating pages. Tweak a little and see the browser refresh. (Unless you break things and then it is still just a manual browser refresh away from back to the good state, once your page is unbroken.) As I was developing local pages, I happened to have my realtime Google Anaytics open. I noticed I was hitting it. When I look back at yesterday’s stats, I have 124 visits to a page I was working on, but hadn’t published yet.