Open source this, open source that

I was thinking to myself today a lot about all of the projects I have that are sitting around unreleased. I was also thinking about all of the ongoing projects that I keep releasing. I started wondering why I bother to not just release them. It doesn’t really do me any harm. It’s not like I’m losing money, since I’m not exactly earning any anyways. Whether the code is bad or good, who cares. So I will start open sourcing numerous nonsensical projects from here on out.

Let’s take a quick look at this computer’s work stuff…

Continue reading “Open source this, open source that”

.NET – Be wary of System.Timers.Timer

I’m working on large project that I will be releasing soon enough. I started it back in 2015 and am finally getting around to finishing it this year! I’ve rewritten a lot of the code so far and found that the reason for one of the major bugs was Microsoft’s System.Timers.Timer. It can and has caused a bizarre UI-lock and memory leak pattern that I’ve repeated consistently with the same results over and over. It will also cause things like a NetworkStream to read bytes from the wrong thread. If you think I’m joking about this, I’m not. I saw it repeatedly. So I made a drop-in replacement timer class that was heavily based on System.Timers.Timer from what I saw in dotPeek. I made my own adjustments, mostly for things that weren’t needed, and not only has it not had this locking issues, but it has no memory leak issues either. Nor oddities like reading bytes from the wrong thread (I legitimately don’t know how it was doing that). I will post it here for those wanting it. Eventually it will be released as part of this entire project.

Code is below (click “Read the rest of this entry ยป” button if not on page)
Continue reading “.NET – Be wary of System.Timers.Timer”

MAX7219 LED Matrix Shape Maker Pre-Release v5 (07/19/17)

This is a pre-release version. I would have liked to continue but there is another project that is time sensitive taking priority, so I decided it was best to release this right now with all of the new and useful features that are completed.

Download: https://www.nrgs.org/dev/ledmatrix/LEDMatrixShapeMakerV5.zip

Changelog

  • Added advanced code generation system (you can add your own!)
  • Added customizable settings.xml file
  • Added saving of previously used settings
  • Certain parts of GUI are resizable now

MAX7219 LED Matrix Shape Maker Update Soon

I’ve been working on a large update for MAX7219 LED Matrix Shape Maker that will make it much better than before. It includes remembering your settings, an advanced and 100% configurable code generation system, multiple LED matrix shapes and set saving.

WIP version…

Update: Now you can change the colors of both the cheap and fancy rendering modes as well as the background color. I’ve seen some other LED matrices that have blue for instance. So this is pretty neat. It supports both hex format (#89ABCDEF) and ARGB format (100,100,0,200).

Planned site redesign…

I’ve gotten really lazy in the last so many years. I didn’t even bother to design my own site, even though I was designing other people’s sites. So I’ve decided that it’s probably time for a makeover with modern HTML and CSS techniques. I’m not leaving WP for now, as I’m too lazy to write my own site management system anymore, but I will redesign at least.

Things I will and won’t do…
Will
– Design desktop and mobile friendly site
– Improve layout and flow
– Use CSS edge rounding and box shadows for no reason
– Take that sidebar thing and cronjob an update every 12 hours, so that way I don’t have to keep grabbing and injecting into the page as it’s loading.

Won’t
– Make desktop and mobile sites look the same
– Specifically cater site to mobile users (screw you Google)

I have no intention of making this site like so many I’ve seen in more recent years (and have had to do myself). I will not merge desktop and mobile look. I will use a way of designing that allows me to independently design both for the same HTML layout. So fear not anyone who’s been coming here for some amount of time, as I have no plans to ruin the desktop usability.

– Peace
P.S. Don’t expect this change for at least a month or two. I am currently being privately tutored in Japanese and am tutoring my friend in Japanese. I know that sounds strange, but I’m not a beginner, so I can do that. I’m also writing software to study with, so that’s taking up some of my time as well.

Google Translate Speech Files Grabber Release (2017/06/17)

I release, and with much delight, my Firefox MediaCacheGrabber (FFMediaCacheGrabber or FFMCG) today. I posted about how to use it nearly 3 weeks ago. Since then I’ve improved it quite a bit and went through quite a few unpleasant cycles, which I’ve documented below. This is NOT compatible with portable Firefox. You must have Firefox installed on Windows and have used it at least once for this software to work.

Download: http://www.nrgs.org/dev/ffmcg/FFMediaCacheGrabber_20170617.zip
How to use: http://www.nrgs.org/2655/google-translate-listen-sound-files/
Requirements: Microsoft .NET 4.5.2
Source Code: https://github.com/Goodlookinguy/FFMediaCacheGrabber

So, how it went: As you saw on the video in the “How to use” link, originally I had to write the text in and it just grabbed files bluntly. Well, I got fancy. It now grabs the input text that you put in for a given file. Second thing was Google’s metadata. Initially I was going to use third party software to support stripping the text. However, everything I used couldn’t do it right. GoldWave removed the metadata, but reencoded the file in the process. FFMPEG, despite having explicit stripping features, all 5 of them didn’t work to strip this metadata. Then I straight up tried LAME, it also failed. So I ended up writing my own MPEG frame detection and it seems to work flawlessly. So now I can support getting the input text and stripping their metadata. This is a pretty good release for me.

Future Improvements
Future improvements will explain why I called it “FF Media Cache Grabber” instead of “FF MP3 Grabber” or something like it. I have plans to detect flv, other mp3 files, mp4, and other media files.

Legal
Firefox is a trademark of the Mozilla Foundation. I do not have any relationship to Firefox or Mozilla. Google is a trademark of Alphabet Inc. I do not have any relationship to Google or Alphabet.

Debugging

I win!

On a serious note. I haven’t cracked software since I was 17. I just decided to just go for it. I plan to pay for the software shown being debugged here. This cracked version is not being released. I just wanted to see if I still retained my skills from childhood. Some things have changed. This was a 64-bit executable so I had to use a debugger I’ve never used, x64dbg. I also had to lookup some of the instructions for x86-64: http://ref.x86asm.net/coder64.html – of which none were relevant to cracking this since I simply modified two “jne” to “je” – one was a jump short if not equal 0 and the other was jump near if not equal 0. 85->84 and 75-74. Point is, I won. I’m just proud that I randomly chose software and succeeded. Now I’ll go buy it because the author deserves it.

P.S. The images are censored except for their text. I’m sure you could find out what software this is if you looked hard enough.

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.
Continue reading “How to be unprofessional”

Google Translate Listen Sound Files

Edit: Program has been available for some time here: https://github.com/Goodlookinguy/FFMediaCacheGrabber/releases

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.