Skip to main content

Posts

GPL-ed my text compare software!

Another piece of software I’m opening up by licensing it with GPLv3. This application allows you to compare text files with a focus on speed and handling larger files through temporary file buffering. Visit the GitHub page here . I also have the first release compiled with Visual Studio’s publish tool if you don’t want to deal with that but want to try the application out. Help me out through donating (Paypal). See an overview of the project here: This application relies on open source libraries: DiffPlex by Matthew Manela License: Apache-2.0 License Released with version 1.7.1 diffplex Fast Colored TextBox by Pavel Torgashov License: GNU Lesser General Public License (LGPLv3) Released with version 2.16.24 FastColoredTextBox

GPL-ed My 2D Tile Based Map Editor

As I’ve started to consider getting back into computer work, I’m trying to refresh my memory and grow further. Today I released, with the GPLv3 license, a 2D tile based map editor I wrote in C# WinForms. If you are into software and game development this might be of interest to you! The video doesn’t go into programming, but I describe what it is currently capable of. Maybe in the future I’ll do a video series explaining the code. I’ll also be looking through my software library to see if there is anything else I can release to the world under a GPLv3 license. Github: https://github.com/TheWayOfCoding/TWOC2DTileMapEditor Help me out through donating (Paypal) I wrote most of this around 2014 or 2015 with the intent to use it for a game a friend and I were going to make, but that didn’t happen. A few years later I ended up improving it a bit and using it in the development of an Android game (that is in an unfinished state). It’s nothing spectacular, but it is functional. I’m licensing ...

Made an app to quickly get short ebay affiliate links.

This article will be more about concepts than code. I’m not sure how ebay, and indirectly Impact the affiliate network, feel about programmatic website interaction. I’m also writing this well after I had created a working version of the program, so I’m working off of what information I gather after the fact. At one point, ebay was converting their affiliate linking system to a new format. The issue I had was hundreds of old links I had to re-create. Some aspects aren’t easily automatable like going through YouTube’s video descriptions. I don’t trust 3rd party tools linking to my YouTube account and I haven’t tried to roll my own. Though, I had wanted to make the process as fast as possible. Maybe ebay had a webservice to generate new links? Not that I could find. I even tried contacting support… nope. I set out with the goal of automating as much of the link generation process as possible through their affiliate website. My tool of choice was Visual Studio, C#, and WinForms. As I start...

Historic frequency based random lotto number generator.

This example is a little program to generate random numbers based on historic lotto results. Each potential result pull is weighted based on past results. The full project is available on GitHub here. First, we need to store the historic data. In this case I use an instance of SortedDictionary. int totalBallsNeeded = 6; // 5 plus the extra shot int doubleBallCount = 104; // 52 numbers times 2 SortedDictionary<int, int> lottoNumberFrequencyTable = new SortedDictionary<int, int>(); lottoNumberFrequencyTable.Add(1, 29); lottoNumberFrequencyTable.Add(2, 34); // Add more entries as needed lottoNumberFrequencyTable.Add(52, 38); There is a possible range of 01 to 52 lotto values. I pulled the frequency data from online sources. In this case the key is the lotto number and the value is the frequency. After the data is stored, we do the actual random number generation with weighted frequency. The array we link our random numbers to is twice as large as the total number of lotto po...

Updating the Raspberry PI GIT server.

I took time to refresh my Raspberry PI GIT server. I am still using the v1 board, but with a few upgrades and modifications. It was more to streamline the entire package instead of performance upgrades. The original Raspberry Pi in a modded case. Changes: I bought a half-height SD to Micro SD adapter. This makes it stick out less from the case. Sadly it’s not totally flush, but better at least. Along with that I upgraded to a 64GB micro SD card from a 32GB SD card. I upgraded the backup drives with 64GB Lexar JumpDrives (S45 LJDS45-64GABNL). They are super compact and had decent reviews. I decided to skip the RAID 01 mirroring approach with these. It simplifies things and there really isn’t any drawback besides maybe hot swap (which I don’t think would work because fstab uses unique drive identifiers). I picked up another power supply on a whim when I saw it at the store “Five Below” for a great price. This again streamlines things over my previous setup that was combo type where you w...

Adjusting Notepad++ to work with an ASP VBScript project.

I have a large project in classic ASP, VBScript, and Javascript. It’s a hassle dealing with it because developer tools don’t support it that well or at all. I recently poked around the open source editor Notepad++ and got it adjusted to work decently well with the project. Check out Notepad++ on the official website here . In the past I had used Eclipse with an old VBScript ASP syntax highlighter. It wasn’t perfect, but worked alright overall. The main issue is that the highlighting stopped working every so often, and not to mention Eclipse is bulky and a pain to use for various reasons. Here is a screenshot of Notepad++ adjusted to work with the project: Here are my main adjustments: “View” >> “Folder as Workspace” “View” >> “Document Map” “View” >> “Function List” “Settings” >> “Preferences…” >> “Editing” >> “Display line number” The function list feature won’t work without modification. My project is broken into a large number of “.asp” files and ...

Using Raphael the JavaScript graphics library.

In this example, I go over a simple use of Raphael.js. It draws 4 boxes on the page and allows you to move and resize each independently. Here is the graphics library (licenses under the MIT license): https://dmitrybaranovskiy.github.io/raphael/ Here is my code on GitHub. The basic gist of it is to initialize the primary Raphael object and apply it to the page. After that you create the boxes you want to draw and associate them with a “drag” function that is called when the user interacts with each box. Here is a selection of the code below: // Define 4 boxes to draw on screen var boxListing = [ { x: '10', y: '10', width: '70', height: '70', boxname: 'Box 1' }, { x: '110', y: '10', width: '70', height: '70', boxname: 'Box 2' }, { x: '210', y: '10', width: '80', height: '80', boxname: 'Box 3' }, { x: '310', y: '10', width: '90', ...

C#: Using WebClient on CSV Formatted Stock Data

In this example I wrote a program to pull historic stock data from the ticker “DIS” over the past 10 days from the current date (it will be less than 10 results because weekends don’t have data). I used the .NET Framework WebClient object to request and return the data as a string that I parse into a generic Dictionary. It pulls the data from Google’s finance website as well as Yahoo’s finance site. Of course, check out their terms of use before doing anything with the code. Here is the code that I wrote on my GitHub. I created a class to handle communication with Google’s and Yahoo’s CSV export links. It handles constructing proper links as well as requesting the data and parsing it into a Dictionary that is structured by date. From that point, you could build an application around the use of that data, but for this example we just translate it back into strings for display in text boxes. public class WebClientForStockFinanceHistory { WebClient webConnector; // See Google...

A simple classic VB code counter made in C#

I made this simple application a while back when I needed to quote a project where I was tasked with converting a sizeable amount of classic Visual Basic code into the .NET Framework. This application I wrote allowed me to start my estimation so that I could tie a dollar amount to the work. There is a lot more I could have done to the project, but when you are doing contracted work on a per project basis, it’s important to be efficient. While I did some browsing through the projects that was equally important, this code counter did make a difference in my estimations thereby allowing for a properly researched quote. Now that I’m basically done with the project, I felt that I was relatively close to my estimation. Here is the code for my VB code counter on my GitHub. Here is the important code for my counter tool: public IEnumerable<string> FilterFiles(string path, params string[] exts) { return exts.Select(x => "*." + x) .SelectMany(x => Directo...

Android: Using the CountDownTimer class

In this article I go over the Android SDK CountDownTimer class. It’s easy to use and gives you the ability to count for projects like a workout timer. In this case we are extending that class so that we can access the methods we need to make it work. Here is the code on GitHub. Here is our SimpleCountDownTimer: public class SimpleCountdownTimer extends CountDownTimer { public static int oneSecond = 1000; TextView textViewTimeLeftDisplay; public SimpleCountdownTimer(long millisInFuture, long countDownInterval, TextView textViewTimeLeftDisplay) { super(millisInFuture, countDownInterval); this.textViewTimeLeftDisplay = textViewTimeLeftDisplay; } @Override public void onFinish() { textViewTimeLeftDisplay.setText("Finished"); } @Override public void onTick(long millisUntilFinished) { textViewTimeLeftDisplay.setText(String.valueOf(millisUntilFinished / oneSecond)); } } The extended timer class takes in the...