Houdini Database | Alexa Devblog #1
Added 2019-09-27 06:43:03 +0000 UTCI was wondering how the alexa developement could be integrated into the patreon. Obviously if people find the skill interesting, helpful and/or fun it might attract a few more people that are interested in related information.
So here is a first devblog about the process of bringing this alexa skill to live.
And if you are not into the idea you might still be interested in the process behind the developement in the Amazon environment.
Alot of it will come in handy once I dive deeper into machine learning where I again might use the AWS Services.
But back to the topic - the alexa skill that I called houdini database.

This started as a fun little idea to explore this medium voice. While doing my own Houdini research and create related content I also am trying to learn social media best practices and what is involved in developing a personal brand.
In that context I read the book Crushing it by Gary Vaynerchuck and the topic voice is mentioned a couple of times in there. So why the hell not try to do something Houdini related.
My thought was doing something simple like ask for a vex function name and you get the description.
This escalated a bit when I started researching capabilities and restrictions of what you can do with Alexa. So before I start with technical insides in coming entries let me summaries what the skill currently is and where it is heading.
At the time of this writing the skill can:
- give you the description of every function, node and hou python element that is documented by SideFX
- give you the option to get a randomly selected entry from those areas
- mark elements you learned as such which excludes them for random selection
- reads out your status which can be playfully seen as your overall houdini experience
- these marked entries are saved in a database so it will remember your progress
(basicly meant to be like a log for yourself which parts you already covered)
- if you have a alexa device with a screen the description is shown there
(will be expanded to include parameters over time)
- you can ask for an email that will contain description, hip files and helpfull links for the topic in question
(the functionality is already there and works but this part needs work in the future to actually gather links and create example files - but in general - you can ask for an email for every function/node/python of Houdini )
Just to give you an idea of the size this project grew into - an alexa skill consists of two main parts - the VUI (voice user interface) which can be viewes as one big JSON file describing the possible things you can ask alexa and trigger certain responses.
That file has roughly ~22800 lines

The second part of the skill is the backend. This is where the logic is executed. For example you ask Alexa for the description of a certain node the backend is responsible to get that from where it is saved and provide that as a response.
Now - I JUST had to stop the beta to do some overall rework in the code. As a programmer it felt to be the right thing to do when saving all the information about functions and nodes in a database. For that I use the Amazon Cloud - the so called dynamoDB. Problem with that it is expensive to write into that DB. And each table gets "reserved" writing capacity. So ... this started to cost money even before going public.
But I already found a solution and am currently doing the work of implementing that whenever I have time for this project.
But more on that in future posts.
Are you interested in reading about that? If so let me know.
Cheers
Dave