Blog

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/

7 Stages of Friendship

Ever wanted to be a good communicator? I think we all have at one point in our lives! This is something that I’ve struggled with. It can be hard to know what to say to someone else, not knowing how they are going to react. Fortunately, I found some guidelines that I think will help a lot of people out. When using them, They sure helped me out, even if I still make mistakes. All it takes is practice to get them right.

7 Stages of Friendship, written by Ed Dickerson and Bill Underwood, is a list of 7 stages that a friendship goes through. At each successive stage in the friendship, more trust is involved than the last. You aren’t just going to explain to a newly made friend your darkest secrets, are you? You have to understand the stage you and another friend are at first. The 7 stages are summarized below, showing the kinds of conversation that is expected at each level.

The Seven Levels of Friendship

  1. Surface: Weather, time of day, general information–the kind of thing you might say to someone in a queue at the grocer’s or the airport
  2. Facts and reports: More specific information, including personal, but not private information such as name, marital status, occupation, time of next bus, etc.
  3. Opinions and judgements: What you think about a whole range of things from current events, sports, your favorite TV show – to religion, politics and morality
  4. Feelings: Your personal emotional status and reaction to various situations
  5. Vulnerability: Admitting your faults to another
  6. Intimacy They can tell you about faults you do not see in yourself
  7. Complete: Total openness, total trust

I really feel that understanding these stages can help anyone to be a better communicator. You can read more on Ed’s article here.

Tips For Starting A Minecraft Server

Since my time as a Minecraft community developer and owner, I’ve come across a number of resources that I think anyone wishing to start a Minecraft server should be aware of, if they are not already aware of them. Existing server owners may find this information useful too.

The list of resources I recommend are listed below:

  • Paper Minecraft Server
  • World Edit
  • Fast Async World Edit
  • Dynmap
  • NuVotifier

Paper Minecraft Server

Paper is a fork of the popular Spigot Minecraft Server, including more performance fixes and features than Spigot provides. Designed as a drop-in replacement for Spigot, Bukkit plugins are also supported. You can read the documentation for Paper here.

World Edit

World Edit is the go-to plugin for world manipulation. Whether you are working with exact coordinates, rotating a build or copying a structure from a different world or even server, world edit is for you. It is a tried and true plugin for those wishing to use an aid for building structures and manipulating them. You can read more about it here.

Fast Async World Edit

Fast Async World Edit (FAWE) is an extension to World Edit that greatly improves performance when placing blocks and adds other features as well. It increases performance by hooking World Edit, converting block operations from synchronous to asynchronous. There are also a number of modes for placing blocks that can be used. This plugin is absolutely essential if you use World Edit. You can read more about it here.

Dynmap

Dynmap provides map functionality for your Minecraft worlds. Using technology similar to Google Maps, you can see your whole world and navigate around it. Providing features such as live player positions, web chat and map markers, this is an excellent plugin for showcasing your worlds. You can view the plugin page here.

NuVotifier

A fork of the popular Minecraft plugin Votifier, NuVotifier is a plugin that allows players to get notified when a vote is made for their Minecraft server. It is also compatible with Votifier so a drop-in replacement is possible. To read more about it, click here.

NOTE (9-22-2018): As of Minecraft 1.13, Fast Async World Edit is now built on top of World Edit. You no longer need to use World Edit alongside if you use Minecraft 1.13+.