Patreon Again ————^

Okay, ever since someone decided to actually give me money on Patreon it’s had me scrambling to think about taking it more seriously since I still have no income.

Benefits of supporting me on Patreon
– You can tell me what you’re supporting me on Patreon for. Thus giving me an incentive to work on a given project. Even a project I may have dropped.
– You give me a steady income of which I’ve never experienced before and could really use.
– I’ll develop more odd or unique tools, which you may or may not use

You can access get to Patreon using this link or the one at the top of the site. I appreciate any amount you give me. Honestly.


Equation shortcut

I was doing some math recently when I realized something was odd about a particular equation.

ax^2 + bx = 0
a times x squared plus b times x equals zero. This equation would normally be solved by completing the square and yada-yada-yada. However, I couldn’t help but notice the strange answer I got from this.

x^2 + 36x = 0
x = 0 or x = -36

This got me thinking, and after playing around on my calculator for a bit, I came to the conclusion of this handy shortcut.

Given ax^2 + bx = 0, x = 0 or x = -b/a

Try it out for yourself, no squaring and other crap needed.

5x^2 – 35x = 0

From this we know, x = 0 or x = 7

If we had to do it by completing the square…

1. 5(x^2 – 7 + 49/4) = 254/4
2. (x – 7/2)^2 = + or – sqrt(49/4)
3. x – 7/2 = 7/2 or x – 7/2 = -7/2
4. x = 7 or x = 0

Or the quadratic formula

1. 35 + or – sqrt((-35)^2 – 4(5)(0)) / 2(5)
2. 35 + or – sqrt(1225) / 10
3. 35 + or – 35 / 10
4. 7 + or – 7 / 2
5. x = (7 + 7)/2 = 7 or x = (7 – 7)/2 = 0

This shortcut answer does seem to have a relationship with the quadratic formula and vertex formula of a parabola, but I assume that since we’re accounting for 2 values of change and not 3, that that’s why you only have to divide by a and not by 2a. Not sure really though. I looked up and down for this shortcut on the internet and couldn’t find anything, so I decided to write about it.


Kanji Study Buddy – I’m thinking about it…

Over the last weekend I wrote two new software for studying Japanese. 1) JP Study Buddy, and 2) Kanji Study Buddy – These complement my other program KanjiKana (2015). One provides a way to study words like flashcards with audio that you either collect or get off Google Translate in Firefox with my software FF Media Cache Grabber. The latter provides a way of inserting kanji into blank spaces to fill in the kanji of the word.

Image of prototype shown here.

The first one was prototyped in roughly an hour and a half and the 2nd program was prototyped in roughly 3 hours. This means I haven’t refined them much at all. It was basically just throw the code together as quickly as possible to make it work.

That said, I’m considering releasing Kanji Study Buddy. I’d like to refine it more first, but it definitely offers a different way of studying than what I’ve seen when I look around. Sometimes thinking differently does make a difference in remembering. Chime in if this program sounds like something you’d want.

*Note: Data files for Kanji Study Buddy look like this (using version 1 parser, since version 0 parser sucks)
@version 1
味方 みかた
厳しい きびしい
昼ご飯 ひるごはん


The recent Newegg code injection

Newegg was recently involved in customer credit card data theft between August 14th and September 18th. (read more here and here.) This was done by “Magecart” a previously identified javascript code injection. After seeing what happened, I couldn’t help but think to myself that this all could have been prevented quite easily. I’ll explain.

Websites primarily consist of 2 main things, web files (php, asp, html) and databases (MySQL, PostgreSQL, Oracle). This kind of attack involved the first of the 2. It was a code injection into a site file.

Every file can be “hashed”, this means that through mathematical calculations it can turn any bytes of data in a file into a kind of unique identifier for that file. Which means that if anyone so much as added the letter “t” to a page, it would change the hash completely. It wouldn’t be hard to generate hashes for all of your clean off-site files, then upload those to the server and run a periodic hourly check on all files to make sure the hash hasn’t changed for any files. If the hash did change, then you’d know the website was compromised.

Just a thought about the next time you develop a web application with payment systems. Security should always come first.

– Captain Hindsight Away


CABuddy – Release 9/11/2018

This release brings fully supported Spanish and Japanese translation of everything. If you want to only use one language, you can delete the country codes that don’t represent what you read.

en-US = English (USA)
ja-JP = Japanese
es-GT = Spanish (Guatemala)

The Spanish translation is courtesy of a friend.

Download: CABuddy (x64).zip
Requirement: .NET Framework 4.6.1

Note: Don’t mind the date on the imgae, I forgot to change the date from 9/10/2018 to 9/11/2018, no big thing.


CABuddy – Release 9/9/2018b

Update: An updated version of the program is available here.

This change brings with it a bunch of graphical fixes and mild Japanese support if your computer is set on Japanese. I may support Spanish soon as well.

Download: CABuddy (x64).zip or CABuddy (x64).cab
Requirement: .NET Framework 4.6.1


CABuddy – Release 9/9/2018

Edit: Newer version available here.
Edit: More crash bugs were found, but are only achieved by using the tool incorrectly. I may or may not fix those bugs.

This release fixes a crash bug that could happen when editing CAB files and doing a very specific pattern of events. This release also brings with it an extractor, if you want that. Personally, I’ll just keep using Bandizip to unzip CAB files.

Download: CABuddy (x64).zip or CABuddy (x64).cab
Requirement: .NET Framework 4.6.1


CABuddy – Release 9/8/2018

Edit: Newer version was released here.
EDIT: Crash bug found. Working on a fix right now, will update post as soon as I’m done.

I’ve already updated the release a fair bit since yesterday’s first release. Most notable is the drag-and-drop CAB editor.

Download: CABuddy (x64).zip or CABuddy (x64)
Requirement: .NET Framework 4.6.1


CABuddy – Unicode CAB Compressor – Release 9/7/2018

Edit: Newer version available here.

I looked for 2 hours for Unicode CAB compressors and found nothing. What I did find was someone who wrote a Unicode-supported library for CAB files on CodeProject. I got my hands on it and fixed some minor bugs and compilation issues. Made a GUI, and walla, a modern x64 CAB compressor.

Credits: Elmue for the CAB lib and IcoJam for the Blueberry icons

Download: CABuddy (x64).zip or CABuddy (x64).cab

This is just the initial release. I have bigger plans for it (notice that I left status bar in by accident), but for now I wanted to put something out there.


boldr – New parser built from the ground up

boldr, the multi-paradigm scripting language along with a new scanner, now has a new advanced parser, and soon will have a new virtual machine.

It’s extremely likely that it won’t have a stack overflow like the old one, MCNE, had a high potential for doing if you had too much code. This is because statements are cascaded now instead of being binary branched to the maximum stack depth. Most non-expression nodes have their own special node types making them more efficient than a regular AST, like MCNE was, and allows me to do more advanced functionality with the code than ever before.

When I’m done with the C# version, it will be ported to Cerberus X and likely C++ as well. If you want to support this project more, use the Patreon button above to support me.


3 4 Minecraft DataPacks

That’s right, I do things other than programming, like pseudo programming. These 3 4 datapacks are being used on a Vanilla Minecraft server between my friends and I to enhance the vanilla experience.


Description: Gives experience for digging around and playing the game as usual.

Easy Sleep

Description: Only one person needs to sleep on a multiplayer server for it to go back to day.

Pseudo RNG

Description: DataPack for other datapacks to use to help in random number generation.

Who Joined

Description: Fires off a one tick event when player logs in.


© 2018 NRGsoft