Blog

About the Code Speak Distribution System

You’ve probably been wondering what on earth this project is and why is it taking so long? It’s a large project and the largest I’ve ever undertaken myself. It involves a lot of knowledge I previously didn’t have much of so on that note it’s a great project to get me to learn new things. So, as of this writing I’m learning WordPress plugin development in order to be able to work on part of the project. In this post I’ll go over what the project is so you have a pretty good idea on what exactly it is.

Also, I’m doing something different this time. Since previous projects of mine, such as Maelstrom and Simplicity, made use of Visual Basic 6 (VB6) which is over 20 years old at this point and obsolete, this time around I chose a new language to focus on: Java. Part of the reason for this was cross-compatibility with Windows, Linux and Mac, something that I had not focused on in my other projects. Another thing is that it’s modern, so no need to download special runtime libraries just to be able to use it. All you need is Java! With that said, I’d like to describe what this project is exactly.

What is the Code Speak Distribution System?

This project aims to provide a centralized means of access for programs that I make available to download. While projects like Simplicity and Maelstrom are accessible via my GitHub repository, I wanted a way where programs could be accessed in a single place. The way things work right now just aren’t centralized and so a system like this would introduce more flexibility for me. Also, something that I’ve been wanting to do is statistics tracking. It would be nice to track usage data for programs to get an idea of exactly how many people are using such programs. Not completely sure how I want to do that but that is something that’s been on my mind.

There are two main parts to this project intended for you to use: the client and the web frontend. The client is the program that you download. The way it works is similar to the Blizzard Launcher or even elements of the Steam client . It will keep track of which programs you download and automatically (or manually, depending on a setting) update any program that requires an update. You can also launch programs from the client. The web frontend will allow you to have access to these programs from this website. If you’re unable to download the client or for whatever reason don’t wish to download it you can still access programs this way.

Conclusion

This is by far not a simple project. A lot of work has gone into the planning of it and there is still a lot more to do to figure out exactly how this project is going to go. It serves specific needs I have that make the whole process of managing project releases so much easier. And it will also hopefully make things easier for you too.

A Breakdown, A Breakthrough And A Direction

Introduction

Well this is it… something I had wanted to tell for over 2 years. It’s a story of failure and success. It is the story of a moment where my life turned around and for the next few months gave me a kind of energy that I hadn’t had before. It is the story of a breakdown I had that caused me to face my failures of the past and was an event that changed my life for the future. This is an event in my life that I feel has a lot of significance and I would like to share it with you.

I am still experiencing the ripple effects that occurred since this event.  There was another significant event that transpired afterwards in a friend’s community that I would like to explain as well. I think it holds significance since it would have never occurred if the breakdown didn’t. I know this sounds odd, but I am thankful to the individuals that were responsible for this whole thing as my life has changed a lot since then.

The Break

About 2 months or so before the breakdown, I wanted to do two things: I wanted to take a break from Innectis, which was a Minecraft community I owned at the time, and take a break from Team Fortress 2, which was a game that I had a lot of interest in at the time. I was not focusing real well in either of them and felt taking a break to focus on other things would be a great way to clear my mind and re-energize. I figured at the time that the best way for me to do this was to jump back into a previous project that I had not worked on for about 3 3/4 years, Maelstrom CD-Key Tester.

However, there was a big problem in taking a break. There was no second-in-command. A big mistake on my part was not choosing someone that could stand in if I were to decide to step away for any length of time. So the community was left to run without any significant server updates during the time of the break. I still committed code to the Innectis server but not as much since my focus was not on Innectis at all but on putting my mind towards something else so that I could think clearly and recuperate.

During the break I focused mostly on Maelstrom. I wasn’t sure of how long of a break I was going to take but wanted to focus on something big. So, I worked on re-writing a large part of Maelstrom’s code base and added some major features to it. After I was finished with that, which took about 2 months, I decided then that it was time to return to Innectis. And I was not expecting at all what was to come.

A Very Significant Moment

The events leading to the breakdown transpired over our Skype group. As the community didn’t have any direction during the time of my break there was of course frustration aimed at me. One individual created a post on the Innectis forums linking to a strawpoll.me poll asking the community if they wanted someone else to take over for me since I was not putting in the effort that was expected of me. I promptly deleted the forum thread because I was disgusted such a thing was posted. This forum thread was what would throw me into the darkest period of my life.

The morning after the day I had deleted the post I got up out of bed and for the next few hour or so was in the worst mental state of my life. I was in tears for much of it, and fortunately had someone around to comfort me and help me through what had happened. I had vivid flashbacks of various failures I had made in life. They all came to the surface as if I was currently experiencing them. All of the previous failures happened in places I had no control over. But for something such as Innectis, I failed at something that I did have control over. Now that was a big issue for me!

When the dust had settled and I could think clearly again, I noticed something had changed right away. Not only did I feel energy in ways I hadn’t felt before, the racing thoughts that I used to have were now gone, and I felt like I had renewed focus! 3 days after the breakdown I had a breakthrough! Something else that changed was that I wanted to get ideas out of my head and into a text file. The less I had wanted to do in my head, the more I could think clearly as those ideas were now somewhere else. So, for the months that followed I did some things that in my opinion were some of the biggest non-gameplay-related contributions that I had given to the community. You can read about them in the 3 status reports I kept here, here and here.

A Community Changed

One of the effects of the breakdown occurred in a friend’s community. I have hung out in a private IRC server with a friend for a few years at this point. They own a community and for years the staff have laid rather dormant, not really enthusiastic about improving the community. Well, my friend, knowing about the breakdown and how it affected me, suggested that I should tell my story to those of the community. I thought this was a really good idea since the breakdown affected me deeply. So, I told them about the event and how it gave me energy that I hadn’t had before, and explained some changes I made in my life as a result. I made that conversation available here. Names have been changed per request of my friend.

Since I talked to them about the event, I noticed a shift in mindset that I hadn’t seen from them before. It was as if new life was breathed into them after the story was told. So, later on during an event they were having I was given an award for giving them new energy by telling them this story!

Conclusion

The breakdown led to some pretty noticeable changes in my life. I developed a greater relationship with my family. I started getting ideas out of my head by writing them down which was something I hadn’t really done before. I had more of a drive and passion to improve Innectis as well as my life. While I wasn’t able to fully address the problems with Innectis and it ultimately failed, my life has improved because of this event.

Upcoming Things

There hasn’t been a post here for awhile. What have I been up to? Well now… here’s what I got going on. I’m working on a new software project that will allow me to better serve programs and updates than I’m able to do currently. There’s just too many steps involved to get an update out now, and the update process could be a lot more refined as well. Plus, it would be in your benefit to have better access to programs than you do currently. This project is intended to be a distribution system. I’ll have more information on that in a future blog post.

I also want to re-do the website. I’m not sure quite how I want to do it, but I at least want to create a home page rather than have the blog show up as the first thing when you go to this website. Also, I’ve got several ideas for new projects that I can play around with for the future. Last year saw the release of a new program of mine, something that hadn’t happened for years since. It’s time that changed.

The legacy of Maelstrom and Simplicity

I want to take this time to acknowledge the support that people have shown over the years for Simplicity and Maelstrom, although I don’t have any data to show how many people use either. I just know that even as much as this year people were still inquiring about both of them. That is incredible! Maelstrom has been publicly available since October 2011 and Simplicity was first released in July of the same year. Over 7 years later and they are both getting at least some attention. Thank you for all the support over the years!

Maelstrom

This project started in August of 2010.  It started because 4 of my friends at the time wanted me to create a CD-Key Tester. One was already available, Opal CD-Key Analyzer by Chriso, however I wanted to make something that could perform the same functions as well as having more features.  For about a year it was private, in part a suggestion from a friend. However in October of 2011 I removed the authentication system and ultimately made it public. Some of the more useful features Maelstrom had were expansion CD-Key testing, CD-Key profiles, HTTP proxy utilization and a feature that allowed it to accept text files of jumbled keys and other text and sort it all upon loading.

There was about a 4 year gap between version 3.42 and version 4.0. It would seem like version 4.0 took 4 years to make however the work that went into it took over a month to do and started in  June of 2016. For this version I decided to re-write a lot of code under the hood and improve the code. A new feature that came with this release was CD-Key profiles, a feature that allowed the results of CD-Key testing to be sent to different folders to indicate where they came from. Another major change was creating a configuration window to replace the previous method of manually modifying the config.ini file, which made it even easier to use.

Simplicity

This program started because I wanted to make a Clan Creator that was very simple to use. There was a clan creator already available, EZCC (EaZy Clan Creator) by Myst, but I wanted to, like Maelstrom, create something that could perform the same functions but have different features as well. Ultimately, Simplicity allowed SOCKS4 and HTTP proxies and relied on a list of keys that it would cycle through until it found enough working keys to create a clan. You only had to define the chieftain and initiates but the program would automatically detect which keys were working and which did not. There were other features such as the ability to remove friends from the chieftain’s friends list if the chieftain logged onto a voided key and its friends list was too full to accept any other friends.

Thank you guys so much for the support over the years. It is because of you that I kept updating these programs!

How I got into programming

How It All Began

The story of how I got into programming starts in June 2006. I had just come out of a StarCraft game and at the time my home channel was a random channel decided by the Battle.Net server, which at the time was something like StarCraft USA-1. Well, I had noticed an advertising bot advertise a channel called Op TriviaHost. To my interest I decided to join the channel and see what it was all about. There were a number of people in there trying to answer questions to a trivia bot. Hm, interesting! I eventually discovered through their op bot OnlineGaming that they had a website, http://www.triviahost.tk (dead now, but the forum still exists here). Later that month I started to explore around the forum and came across the help section which referenced a program called StealthBot. So, I decided to download it and logged in for the first time.

Playing With Code

I eventually discovered that with StealthBot you could expand its functionality through plugins, a file made up of code designed to change how aspects of the bot work in different scenarios. This was quite intriguing to me, because at the time I thought, and still do, that that was an awesome concept. So, one day I decided to experiment and attempt to replicate the functionality of some of these plugins by writing my own. After some time I was able to make my own plugin that, even though it did basic stuff, was the start of a new interest of mine.

Taking A Class

August of that year I went to college, although I didn’t take very many classes. One of them was an introductory C++ class. During the class I started my own forum based around programming since I partly wanted to use it for class communication, and some of the people in the class did show up on the forum and talked among themselves. The class only had 8 homework assignments and did not cover advanced topics on the language. I ended up learning C++ on my own time outside of class than I ever did while in class. I would go on to write various small programs, one of them being a plugin creator for StealthBot.

With Like-Minded Individuals

For the next few years I would jump into various communities, some of them being programming communities. One such community was Revision 77 which was the first community where I got to do more for myself than I had done before. We had a VNC help tool where “clients” could download the tool if they needed help and if one of us was available, the program would connect them with one of us and we could provide tech support to them that way. That was a good way for all of us to be more useful with our time as it meant we could collaborate with each other as well as help the community out. One project I started in that community was the R77 Plugin Manager, a project that would allow us to host plugins on our server and have a way for others to easily access them, check for updates and more. While I didn’t know it at the time, that community would be the inspiration for Code Speak. I was also involved with my first group project while in that community, a plugin created by 5 of us to enhance StealthBot’s moderation capabilities, called Advanced Moderation.

Beyond Revision 77

Since that time, I have been in a few other programming communities, been in various group projects and created a few projects that I would consider personal successes in different ways. One of them was a program called VectorNet, designed to act as a chat system with channels, the ability to whisper users, channel moderation and even a Tic-Tac-Toe game built in. A few others took after the concept and wrote their own implementations of it. I would eventually create Code Speak, another programming community designed for like-minded individuals which has since become a platform for me to do what I love best and to share some of my life with others. In late-2011 I joined the development team for a Minecraft community called Innectis and would eventually take over as its leader until shortly before its collapse.

While this is but a taste of my journey into programming, it should give you a good primer for how it all started and where it has gone.

Status Update 10-28-2018

  • Added a link to my discord server on the live chat page
  • Replaced links on the Innectis archive forum so that they aren’t broken anymore
  • archives.codespeak.org now redirects to https://www.codespeak.org/archives/
  • The following locations will now redirect to their respective GitHub release pages
    • https://files.codespeak.org/projects/maelstrom/
    • https://files.codespeak.org/projects/simplicity/
    • https://files.codespeak.org/projects/bnet-to-irc/