New stuff is new

From here-on I am upgrading and switching to newer develop tools for ease. Which means in return you’ll need the newer runtime which can be acquired through Windows update.

1) VS2010 –> VS2015
2) C# 4.0 –> C# 6.0 (I’m in love with 6.0)
3) .NET 4.0 –> .NET 4.6.1. (get .NET 4.6.1 if on Windows 7/8/8.1)

I’m also going to start using Mono+GTK# whenever I can so that I can make cross-platform tools without having to go the C++ route. This of course depends on both the type of program and whether or not it is platform-specific.

For instance, if I was developing a Windows Registry editor, that would be done with .NET. If I was developing a UPnP Manager (wink wink), that would also be with .NET because I’m using the COM UPnP controls provided by Microsoft for Windows and haven’t a clue how to achieve the same results on Linux or OS X. Sure, I could learn, but my interest is weighed by both my everyday usage and that of most people. I also take into consideration how much time I’m willing to work on a project. Most of the time a few days is the limit because it doesn’t hold me long enough before I want to do something else.

Anyways, we have no plans for current new software this year (but we never do). We’re looking into trying to get a developer license for the 3DS. We wish to start a project on it and have been holding off until we could find a platform to develop for exclusively. If not the 3DS, we will just turn to Windows because, who cares I guess… Really we wanted to develop for the PS Vita, but not only is Sony unfriendly towards indie devs with little to no income, but they are blunt about their disinterest in us. This really annoys me to no end because I love portable gaming, but hate mobile phone gaming. I wanted to utilize the power of the PS Vita, but instead I’ll willingly opt-in for making a 3DS exclusive instead so that I can give Sony the middle finger for their poor treatment of indies.


UPnP Manager Release (21/12/2015)

I really screwed up the first release when I set the minimum internal port as 1025. That was an accident because I wasn’t paying attention. So I’m essentially re-releasing the original version of the program, but now the minimum internal port value is 1.

Download: UPnPManager (21/12/2015)

In other news!

A) My ChainReact Server and Game Client are coming soon! I’ve been working on this one for a while. It’s based on the GSN gameshow, Chain Reaction, which I adore.

B) I’ve created an entire OS system in the browser and went way overboard on both the aesthetics and usability to the point where you could believe you were actually using a Virtual Machine. I’m not kidding. I got really obsessed and well…I think I might release it as an alternative to remote desktop. It supports software installation, permissions (sort of…), code obfuscation, full Window-management support, and way more than it ever should have. I originally set out to build an editor for a video game database and forgot what I was doing part way through.


Fixed and ready to go! + Disqus

Okay, I finished fixing all of the bugs that popped up after migrating to the new server. There should be no more 404 errors with the message “[an error occurred while processing this directive]”.

Everything should be back to functioning as it was prior to the movement.

Also, just for fun, I’ve now put in Disqus for the commenting system because it seems to be cropping up everywhere and is convenient for me. Now no site accounts here or other crap is needed to comment.


Faster (and I’m screwing with things)

Sorry for the unannounced downtime (well, it was sort of announced a few months ago). I was getting the site moved to better hosting services. The site should now be faster than ever and there should be less downtime from now on.

However, due to the fact that I control more now, I’m playing break-to-learn which may cause the site to go down randomly because I’m screwing around. I’ll try to keep it to a minimum, but I go a little overboard sometimes.


C# cast bool to int

Warning: This is a semi-rant about the WTF Microsoft backend code.

I’ve been working on a semi-large scale server backend for a game. While working in C#, my favorite language choice along with my favorite library .NET, I had to convert bool to int. Now, while I’ve done this a million times before, for some reason I was annoyed at it this time (I like when bools are equivalent to int). So I cracked open the .NET library to see if MS’ Convert.ToXYZ was using some sort of backend voodoo to cast bool to int. The short answer: no…Long answer: In fact, they don’t even cast. They just give new data back.

public static uint ToUInt32(bool value) {
    return value? (uint)Boolean.True: (uint)Boolean.False;
public static int ToInt32(bool value) {
    return value? Boolean.True: Boolean.False;

What the f**k Microsoft. Are you serious? Boolean.True/False are just constants, which means this is exactly the same as just doing this…

public static uint ToUInt32(bool value) {
    return value ? 1U: 0U;
public static int ToInt32(bool value) {
    return value ? 1: 0;
public struct Boolean
    internal const int True = 1;
    internal const int False = 0;

Why would they over-engineer such a simple solution? I’ll never understand it, so all I can say is, what the f**k Microsoft. Even you hate your own C# bool/int design flaw in my opinion.

I did some testing with alternatives (results below), like an actual bool-int cast, but the speed could not match unsurprisingly. I assume by now that there are some major backend speed improvements, hence my lack of surprise.

Read the rest of this entry »


UPnP Manager (2015/12/02)

Want to manage your routers UPnP ports? Well, this does that. Read the notes below for usage.

Download: UPnP Manager (2015/12/02)


* Originally I intended to make it so you could edit the UPnP mappings, but scrapped that idea. So the UI will give suggestions that you can edit them, but you can not.
* You can close and activate/deactivate the listed ports
* Instead of editing ports, just close one and add another with the “Open UPnP Port” dialog, from the “Open UPnP Port” button on the bottom right.
* You must have UPnP turned on when you start the program. If you shut it down while using the program, I can’t be held responsible for any issues.


Wall of Shame

I decided to look through the logs today, which I hadn’t done in a few months. In it I found loads of script-kiddie type attempts to find security holes. It was pathetic that it was so easily defeated by multiple automated systems. The real sign of a script-kiddie is their lack of actually understanding how the systems work and so they leave behind traces of their lack of knowledge which is entertainment for me.

Look, if you’re not a real hacker, don’t even bother. I worked in the security field and I know my stuff when it comes to security. This place is fairly locked down, especially to script-kiddie attempts. Now, that said, I don’t believe there is such a thing as completely secured. That is a fantasy reserved for the ignorant. However, unless you know what you’re doing, don’t even bother. It’s just wasting space in my logs.

The worst part about this is that I’ve mentioned this twice throughout the years, yet script-kiddies keep trying or they keep running automated exploit finding robots, which fail. For the sake of my logs and your embarrassment, just stop.

Wall of Shame – Automated exploit robot – Bot Downloader – Script Kiddie – Automated exploit robot – Script kiddie who faked their user-agent – Script kiddie with fake redirector – Mr. Nosy thought looking at robots.txt would benefit them (but I don’t list anything important in it.) – Automated exploit robot – Automated exploit robot – Automated exploit robot (confirmed not real IP) – Automated exploit robot (confirmed not real IP) – Faked user-agent – Automated exploit robot with strangely easy to track across IPs user-agent – Automated exploit robot (confirmed not real IP) – Email harvester – Questionable behavior that deserves a place on here – Script kiddie (one of the most pathetic ones) – Script kiddie
???.???.???.??? – There was a particular someone who, thanks to them being careless, I was able to track as having changed their IP at least 10 times trying to access the site. It’s obvious all are fake, hence the question marks. But I wanted to let the person who did this know that I know and that they left traces behind because they were being sloppy.



Pingy – A Network Troubleshooting Utility p2

Update May 6th: Right after I posted this, I got into doing a deep-probe of sorts into the source of some OSS that has vulnerabilities. I’ll be back to working on this within the next day.

The program is coming along quite well. For those who are interested in joining to help make this program more, the repository is here:
For those who are interested in watching the progress, I’ve been using Trello:

This is the current build, it’s well on its way to something nice.


Pingy – A Network Troubleshooting Utility

Pingy – A Network Troubleshooting Utility

Pingy’s source has been released at this link:

I’m going to continue working on it. You can follow along or do whatever you want. It is not even close to what you might call an alpha, beta, or whatever. It’s still much like a prototype that will turn into a protoduction in time.

Anyways, I could use anyone who is skilled with both C# (+.NET) and networking. Cause, if I’m being honest, networking is actually my weakest skill set, but it’s come to my attention recently that I’m not as bad at it as I thought. I guess I’m higher than average, but not network admin good.



Note: In my program’s repository if you stumble upon the license and are concerned, just know that the NRGsoft PL v1.0 was made so that no one could steal my program and profit off it. It wasn’t for me to profit off of, it was to stop others from profiting off of it. Like usual, I will be releasing this program for free. That’s just my style.


New graphics card

In preparation for GTA V, I’ve upgraded my graphics card to the AMD Radeon R9 290X. Only a few days away and I should be able to play it on its highest settings. It sits wonderfully in the system.

Edit: Upped the memory clock from 1300 to 1500 (same as my last card) and stress tested with furmark. It’s beautiful. Only reached 82C max after 10 minutes and was running furmark at 125 FPS consistently. Very nice.






Note: The real reason I upgraded my card was because of a fault in the old one that caused it to freeze up. I just used GTA V as an excuse for spending $350 on a graphics card.

© 2016 NRGsoft