Most of you are likely going to ask: are you seriously staring a blog in 2021? Surely, being in tech, you know there are new social platforms that are less boring, right? Absolutely, I plan on making full use of those, too. This way, though, you’re able to copy and paste my code, just like you do with stack overflow.
I want to share my research and application of Artificial Intelligence and Cybersecurity with you! I’m not an expert by any means, so I’m starting this blog as a way to learn along with you. This way, you can share in my successes and failures.
Let’s get into the meat of this, though. I spend most of my free time building out designs and experiments in an attempt to apply my own ideas and theories. The problem is that most of those cool ideas never make it off the expensive paper it’s written on in my custom engraved engineering notebook (no joke). But, what good are theories and ideas if you don’t do anything with them? What good are those experiments if they never produce something that can be used?
A couple of years ago, I decided to force myself to actually code something and get past this ridiculous self doubt and imposter syndrome that most of us deal with daily. I wanted to build out my designs for an algorithmic trading system based on a combination of genetic algorithms and neural networks, all of which would be built on a dynamic artificial intelligence framework.
The goal was to be able to quickly and easily build and modify experiments that could be iterated and deployed with minimal turnaround. The problem was that there wasn’t anything out there that did this already (as far as I am aware). So, I needed to start by building the framework that these experiments would run on.
Knowing that I habitually procrastinate when it comes to writing code for my projects, I decided to hold myself accountable by moving my projects to open source. And guess what! Several years later it’s been a massive success. I have all the artificial intelligence frameworks an engineer could ask for. *cough*
In reality, I made progress for a while — maybe a couple weeks. I decided that what I needed was a system for building distributed systems that was flexible and easy to use. The design I came up with was based on the idea that the AI algorithms I was designing were able to be massively parallelized when broken down into “atomic” actions. One of the biggest drawback, though, is that I’m not a millionaire. I only have limited computational resources at my disposal, but I could afford a handful of Raspberry PIs. Did I end up using them? Nope. Are they sucking power right this very moment? Yes. But, if I could build a system that could make those Raspberry PIs act like a Beowulf cluster, and I didn’t have to write C, then I would be less likely to end up in Arkham Asylum at the end of this process.
At this same time, I was taking classes at the University of Illinois Springfield to finish my 15 year bachelors (wow, this guy wasn’t kidding about procrastination). One of my classes was the senior capstone project, which is where they pit students against each other in an academic arena of death and laugh from the sidelines. Just kidding. In reality, it was a student’s first real group project where they were designing, implementing, testing, and documenting a system from start to finish. On a side note: those students are in for a real surprise when they find out they’re going to have to use these lessons in the real world. Good thing they had a lot of practice…
Anyhow, I was able to convince one of the teams that I had a cool project they should work with me on. Too bad I wasn’t on their assigned team. Damn. Turns out the instructor was cool about it and swapped me with one of the other students. My original team probably go the better part of that deal.
So, we started building out the Atomizer system. Don’t get me started on the name, that’s for another post…
Surprisingly, it worked! And it is fast!
Seeing a system I had designed working was a wonderful feeling. It wasn’t perfect, but IT WORKED.
Well, my work is never done. I continue to have new ideas and new problems to solve. This blog gives me a forum to share those ideas as I experiment with them, and I can present my results (success or failure) to you, the reader.
My first blog series is going to start in the next couple of weeks. I will be going in-depth on the Atomizer design and implementation. I will explain why Atomizer, a Massively Parallel Distributed Computation (MPDC) framework, is important, and how it will be utilized in my artificial intelligence and cybersecurity experiments.
Following the MPDC blog series, I’m going to be hitting the artificial intelligence framework hard. All those preliminary designs I mentioned regarding algorithmic trading? Yup, those are coming in the future. If you want to be notified when new blogs posts are added, then follow me here on Dev. I’ll dish all the spicy dirt too! It’s going to be fun.
If you just can’t wait for the next post (I know, you’re riveted to your seat right now); head over to my website because I’m posting there 2-weeks earlier than here. There will be some dev.to exclusive posts in the future, but I’m prioritizing my site for now.
While you’re on pins and needles, how about heading over to my About Me page. At least that way you know what kind of boring person I am. You can also follow me on social media, and, idk, maybe I’ll drop some thirst tweets.