How to be unprofessional

This is a relatively short story, about a company called Blitz Research Ltd. It contains nothing but facts and thus cannot be considered as libel. It is in my opinion after you read this that you will reconsider doing any business with this company or the people related.

Blitz Research Ltd is a, New Zealand operated, business by a man named Mark Sibly. He also has some relationship, whether professional or not, to another person named Simon. Simon was given significant enough power with Mr. Sibly’s operations, that I assume he is directly related professionally. I will discuss Simon’s behaviors further down in the article. Mr. Sibly is a programmer who makes programming languages. His business ran off the idea of simplified game development, but seems to be directed elsewhere now. He’s probably best known for his “Blitz” series of game development products for the Amiga (not under Blitz Research Ltd) and later the PC.
Read the rest of this entry »


Google Translate Listen Sound Files

I’m gauging interest in obtaining Google Translate’s generated speech files. What I mean is, if you type in “hello” then you could obtain an mp3 that says “hello.”

I already have a fully functioning prototype. The problem I had was directly downloading from a given word or sentence. I would have setup my software to do that if I could, but I had issues and was being returned ReCaptcha and not sound files. So I went with the next best option, Mozilla Firefox. I used Mozilla Firefox’s caching system to look around and detect media files being added to the cache. This software is basically an assist tool and not really a full on tool to directly get sound files.

This is demonstration of the software. I only realized after I finished recording this that I forgot to record the sound. Trust me though, there was sound.

Update: I can now grab the input text thanks to the metadata Google inserted in the generated mp3 files. This is a major improvement that I didn’t think I’d get. Right now I’m working on making the Download button execute another piece of software for striping the metadata Google stuffed into the mp3 files to not only remove their ownership crap (so you can redistribute the files), but to further shrink the file size. GoldWave is high on my list of compatible software that can accomplish this task. I’ll also be looking into Audacity if it has command line options.

So if you watched that all the way through, here’s the steps to successfully get a file…

1) Open up Firefox and go to Google Translate (do not have any other media-type websites open like Youtube, Soundcloud, and Pandora)
2) Start up software (currently dubbed FFMediaCacheGrabber)
3) Go back to Google Translate and put in your text.
4) Click on the “Listen” button. This will generate the mp3 file which will be cached immediately.
5) The top file to be added to the list in the software is the sound file you just generated in Google Translate. Click on the empty space in the newest row in the column for “New File Name”
6) Enter a new file name for this mp3, typically whatever word or sentence you wrote
7) Click download. The file will be put into the directory “media” in the folder that FFMediaCacheGrabber is run in. It will automatically have the file type appended. In the case of these files, “xyz.mp3”
8) Repeat steps 3-8 as many times as needed.

Now, knowing that you have to do all of those steps to just get a single sound speech file, how many people are still interested in this? I will refine it to attempt to make it easier for regular users if there is enough interest.



So I haven’t been doing any programming work for a few months. It started with helping a friend move, and then helping my friend’s mom and sister move, and they were hoarders (not my friend). So after finishing 4 weeks later (yes, it took that long even with a team of 3+ people daily), I then became annoyed with my own house because after seeing a hoarder’s house, I didn’t want my house to ever look like that. So I did a cleanup and started keeping it up daily. Then it transformed into me painting the now white baseboards and walls which were white when the house was originally made, yellow now, and apparently no one had painted them over the years. It’s been about 6 weeks of doing that. So hopefully I will be able to do some stuff in maybe 2 weeks. I have to redo incompetently installed drywall in my bedroom (they used nails and Spackle to cover up their shame!) and clear up some mold issues before painting in the master bathroom.


Speedrun: Adventure Time: Secret of the Nameless Kingdom (1:17/1:18)

So, I’ve been taking a vacation because I haven’t been feeling very well since Winter started. I’ve had a miserable cough and less than thrilling amounts of energy. However, a few days ago I bought Adventure Time: Secret of the Nameless Kingdom for $0.99 off the Playstation Network for my Vita and discovered a treasure trove of glitches that were previously undiscovered. I now hold the world record run for this game until someone uses my run as their own while fixing my mistakes and fixing that last “save and quit” bit which isn’t actually necessary since you can go up the stairs and exit the wall via the bridge underpass.

Anyways, here’s my run. Ignore the uh…bit at the 26 second mark. It came from two runs back when I got hurt 4 times when starting the game, so I quit out, deleted the save, and typed that name in, which I proceeded to get hurt twice, so I quit out and deleted that save as well. Then I took a break for a few hours…and it led to this. So I’m happy.


MAX7219 LED Matrix Shape Maker Release V3 (11/11/16)

The version 3 release brings graphical fixes from my rushed v2. It also introduces fancy drawing which makes the lights look more how they look on the actual devices.


Edit: Expect more releases. I feel like there’s a bit more I could do to improve this like adding rotations, but we’ll see.
Update: Updated to v4. I added an appropriate icon and changed the “fancy draw” colors a little bit.



Failed logins & More attempts at stupid

I saw in my logs that seemingly legit logins were attempting to occur. In particular I recognized a particular login username, “therexion.” The problem was that there were no accept headers so login was blocked. So, for those failing to log in legitimately, please try another browser. I’ve been able to login from Edge and Chrome. Firefox, IE11 and below, and others are not tested and may not work. If you’re only looking to post comments, don’t bother logging in at all. I now use Disqus and they handle all of the login business.

Read the rest of this entry »


MAX7219 LED Matrix Shape Maker Release (10/28/16)

Woo hoo! A new release for all of you MAX7219 fans.

This program helps in making shapes for the MAX7219 LED Matrix. It was designed to help me make shapes for a MAX7219 module on the Arduino, but should be applicable to other applications as well. It comes pre-designed to work with the Arduino mega out-of-the-box easily assuming you have the LEDMatrix library by valmat (


Update: I put up Version 2 which adds a matrix loader. The matrices are stored as an unsigned long and put as a comment above the generated shape.



To spammers

I want you to know that I have long logs of your activity. The spam, bad headers, the 404s, the admin account login attempts, the random user account login attempts, the script-kiddie childish bullcrap, your emails, IPs, and so much more. Please, for your own sake, find another site to harass. You look silly coming after me because I publicly post your information periodically and I contact your webhosts and make complaints against you more than a few times per month. I noticed that I just reached 83,000 bullcrap attempts at stupid so I thought I’d save you the trouble and just tell you to go bother someone else.

Some fun ones…
Script kiddie:
Spammer:,, 185.x.x.x/8
Admin account login attempts:
Retard-level account login attempts:,, 54.x.x.x/8

The crown for the dumbest person of all goes to this IP which, funny enough, actually seems to be a bot’s real IP and not a veil.
Multiple admin account registration attempts:

Now please, leave me alone. I’ve been programming a little arduino robot and haven’t been paying attention to my website so stupid stuff like this has been slipping past me.


UPnP Manager is…buggy

I’m looking into some bizarre bugs found in UPnP Manager since its last release.

– When too many ports are open, UPnP Manager locks up.
– When connected to a router for too long or if the router has been on for too long, it fails to check open ports on Windows 7 (may not be able to fix).
– Does not update status of ports in real-time.
– Does not add or remove ports that are opened in real-time.
– Other misc. issues.


A questionable C# bug – Error CS0173

I’m working on a game and server for a game called “Word Chain” which is based on Chain Reaction. While scouring my code JetBrains ReSharper told me that a section of my code was redundant. ReSharper was sort-of right, but was actually quite wrong according to Roslyn. In fact that only reason the code looked the way it did was because of a bizarre “bug” in my code that was anything but that.

Here’s what was written down (UDPGameServer and TCPGameServer stem from abstract class GameServer)

gameServer = Program.SpArguments.ContainsKey("udp") ? (GameServer)new UDPGameServer() : (GameServer)new TCPGameServer();

This is what ReSharper recommended, but this errors out with the error message show below.

gameServer = Program.SpArguments.ContainsKey("udp") ? new UDPGameServer() : new TCPGameServer();

This is one way to cast that I tried, but failed with the error below.

(GameServer)(Program.SpArguments.ContainsKey("udp") ? new UDPGameServer() : new TCPGameServer());

This is another way to cast that I tried, but failed with the error below.

gameServer = (Program.SpArguments.ContainsKey("udp") ? new UDPGameServer() : new TCPGameServer()) as GameServer;

This is the error shown from the three changes I attempted at the code. As you might clearly see, this really shouldn’t error out and should be legal code by C# standards.

Error CS0173 Type of conditional expression cannot be determined because there is no implicit conversion between ‘ChainReactGame.UDPGameServer’ and ‘ChainReactGame.TCPGameServer’ ChainReactMPServerr

In closing I don’t have much to say other than I’d like to see a Microsoft dev tell me why they think this error is appropriate and where in the C# standards can I find a specification that says this error should be thrown by the roslyn compiler. I personally think this is a roslyn bug, but I don’t know. I’d like to hear your thoughts on it if you’ve been thrown this doozy.


© 2017 NRGsoft