aewens made by Austin Ewens


Datumbazo, a word in Esperanto that means “Database”

In my previous post, Bonvenon, I mentioned my pet project Tildecross, aka Tildex. Most of my work so far in the project can be found on GitHub. Tildex began as just the name of my one-person team during a hackathon so I was not the only one presenting with my given name (most of the attendees came in teams, mine didn’t show up that year so I went solo). After that I began to categorize different projects under that name, but I never made much progress on them since I was busy with work and college at the time. However, now I’ve decided to make a serious project under it’s name.

My current vision for Tildecross is to be an network of applications and services that will work together to serve a variety of different tasks. The first few on the todo list include a chat bot assistant, a budgeting application, and a cloud text editor. However, for this article I’ll be discussing what will be a core component for many of them, the first official service for the Tildex development stack: TxDB. The main purpose of Tildex is not to be something I expect to profit from or even for others to use, but to be a toy project that will help me understand how things work and to be fun. I find the initial process of setting up most projects to be laborious and in general boring, I want to start writing an application not setting up a database for the nth time! My way of getting to know how a language works has typically been to implement a simple NoSQL database in it, TxDB is an extension of this kind of project by being a database I can hook my future services into in multiple different ways so I can get from idea to working application faster. Right now, it is capable taking in instructions from a set of commands in JSON (my data format of choice) and storing it in what is behind-the-scenes a MongoDB database. This is not my implementation of a NoSQL database, but a highly general-purpose API that reduces the whole of MongoDB’s functionality down to four functions (which is about I end up using most of the time for toy projects). This functions being add, remove, get, and set; your basic CRUD functions. TxDB internally has a list of services that can use it and assigns them all their own database and keeps track of what databases belong to which. And just for fun, it also keeps track of the usage of transactions for potential use later on for analytics.

As I said, I wanted TxDB to have a variety of different ways to hook into it, but right now it only offers JSON over HTTP. For the future features, my inspiration partially comes from Firebase, a neat data storage solution I enjoy making use of for quick prototyping. In Firebase, you can request a live feed of the changes made to the database and have your applications lively react to these changes using event-driven programming. I also want to implement this in TxDB for web browsers using websockets and for system applications using OS sockets. In general, for all the Tildex projects I’d like them to have the three-tier communication of using OS sockets with other Tildex services, websockets to the client, and HTTP for external services. tildex communication

I intend to add in these features later, but for now I will be moving to changing the Tildex site from a placeholder mock-up to something more of what I want to site to look and behave like. After that will be my the next project in the Tildex project, which I will discuss in a future article. Until then, feel free to use the comment section below or follow me on the various social media links I have scattered across the site.


Bonvenon, a word in Esperanto that means “Welcome”

This is my first entry of what I hope will be many further blog entries. My name is Austin Ewens, and I am the author of this blog. I have tried many times in the past to start a blog, but I always ended up ditching it because I became too busy and didn’t have any real motivation for writing the entries to begin with. This time around I am hoping to change that.

I’m going to be using this blog for a myriad of purposes: a place to store my thoughts, a space to speak about my interests and hobbies, updates on various projects I’m working on, and so on. I plan on in the future adding in tags and features to filter out my posts to make the blog easier to navigate. Speaking of which, from the last time I setup this blog, I had a few features already put in: an RSS feed generator, a comment section, and Twitter integration. I plan on building upon this blog as I go.

This would be a nice time to introduce myself in a bit more detail. I am a tech fanatic that has spent the last decade and half programming and learning any and everything I can about computers. I tend to work on system utilities or the back-ends for services, but I have also done full-stack web development and made a few video games for hackathons. In the past I worked as the lead technician at a computer repair / gun retail store (yes, the store was both), but today I work as a systems engineer where I assist in the assembly and setup of supercomputers (clusters), maintaining them via technical support, and writing software to for either new services or tools to automate / simplify existing services. My hobbies that I will most likely write about in future articles include programming, graphics design, linguistics, recreational mathematics, and philosophy.

The type of posts I have planned now are to discuss my monolithic project Tildecross (aka Tildex), my interests in languages (beginning with Esperanto), my thoughts on technologies I am currently working on (such as LDAP and SSL), the setup of tech I have at home, and a few rants about technology (first on the list being the woes of Internet security). These will be written in whatever order happens to come the most naturally, but if none of these interest you then you may not find this blog too particularly interesting.

For those who are still here, thank you for taking the time to read this and I hope you stick around for future entries.