Brian's repositories
TextReplacementApp
(C#/x86-64/VS2022/WinForms) Small Windows Forms utility that illustrates quickly replacing text in all files wihtin a certain directory tree.
Coinbase
:moneybag: A .NET/C# implementation of the Coinbase API.
DecoratorPattern
(C#/x86-64/Console/VS2019) Following the decorator pattern on YouTube Simplest Decorator Design Pattern in C#.
coinmarketcap
A simple CoinMarketCap Pro API v1 client written in C# and available via NuGet.
EasyTabs
Library to enable .NET WinForms apps to easily render a set of tabs in their titlebar space, similar to Chrome, Firefox, Edge, etc.
github-release-poster
18 Jan 2019 DevOps tool to version and publish releases to GitHub - can be set as a post-build event
GitHubManager-Sample-Application
(C#/x86-64/VS2019/WinForms) Shows a proof of concept as to how to implement three-legged OAuth to GitHub with an arbitrary GitHub "app." The Client ID and Client Secret are specified in a config file, so they can be changed to test with any OAuth app you know the client ID and secret of. This sample demonstrates the techniques associated with how to allow a user to use their GitHub account with your WinForms app.
MenuDemo
(C#/AnyCPU/VS2022/Console Application) A console application written in C# that displays a menu of choices to the user and executes corresponding actions based on user selection, including an option to exit the application.
miniminer
A readable and functional Bitcoin Miner in C#. Uses the GETWORK protocol to connect to pool. A great reference implementation if you are trying to understand how Bitcoin mining works.
msbuild
The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio.
MyFormsApp_ILMerge
(C#/x86-64/VS2019/WinForms) Following the walkthrough at https://www.inogic.com/blog/2018/06/automate-ilmerge-for-workflowsplugins-to-merge-multiple-assemblies-into-one-in-dynamics-365/ to make a portable EXE with a WinForms app.
MyFriendGreeter
(C#/AnyCPU/VS2019/Console App) This is a little console application for greeting my friends, whose names are Jill, Bob, and Alice, and who speak different languages, each in their own language.
MyProjectWizards
(C#/x86-64/VS2019/Class Library) Project to illustrate popping up a dialog box during the process of creating multi-project templates that enable sub-projects to be turned on or off.
octokit.net
A GitHub API client library for .NET
PostSharp.Community.Packer
Packs all your .dlls into your main executable so it becomes standalone
xyLOGIX.Api.Data.Iterables
(C#/x86-64/Class Library/VS2019) Companion to xyLOGIX.Api.Data.Iterators. The objective of the pair of libraries is to emulate the C# IEnumerable/IEnumerator functionality, but this time, for reading an finite or infinite paged API result, accounting for considerations such as specifying the number of elements per iteration and/or the server returning excess results (perhaps due to bugs in the server's API controller).
xyLOGIX.Api.Data.Iterators
(C#/x86-64/Class Library/VS2019) Provides classes for iterating through paginated data sets or collections when the length of the collection is not known in advance. We also need to account for considerations that arise with paged REST API resultsets, such as choose-your-own-page-size and the fact that, even, say, we request a page size of 1 element per page, the server might be buggy and send back more than one element for the current call; therefore, we also have to deal with excess items being returned.
xyLOGIX.Api.Data.Providers
(C#/x86-64/Class Library/VS2019) Companion library to the Iterators, Iterables, and Repository libraries. This library implements API Data Providers. An API Data Provider object basically sits in front of a Repository (which itself serves as a Façade for an Iterable/Iterator pair) and implements the details of wiring up the Repository, Iterable, and Iterator all in a package, and then delegates all its calls to the Repository object that it wraps.
xyLOGIX.Api.Data.Repositories
(C#/x86-64/Class Library/VS2019) Acts as a Facade to the *.Api.Data.Iterators and *.Api.Data.Iterables projects' interfaces to then streamline and simply consumption of paged REST API data. Since we have to take care of considerations such as rate limit and choose-your-own-page-size, we have to take the Repository pattern and apply it to a REST API data set in view of said considerations. That's what this project strives to do.
xyLOGIX.Coinbase.CDP
(C#/x86-64/VS2022/Class Library) Contains objects and functionality to enable accessing API key-configured accounts on the Coinbase Developer Platform (CDP).
xyLOGIX.Core.Assemblies.Info.VS2019
(C#/x86-64/VS2019/Class Library) .NET Frramework 4.8 class library project that provides objects and functionality for getting the attributes, e.g., Product, Title, Version etc of the calling assembly as strings.
xyLOGIX.Core.Common.VS2019
(C#/x86-64/VS2019/Class Library) Core set of projects written targeting x86-64 that provide common core functionality for new projects.
xyLOGIX.Core.Debug.VS2019
(C#/x86-64/Class Library/VS2019) Class library to provide logging and debugging features to other projects.
xyLOGIX.Core.Extensions.VS2019
(C#/x86-64/Class Library/VS2019) Class library that provides helpful, static extension methods that are widely utilized by a large swath of xyLOGIX software.
xyLOGIX.Data.Paginators
(C#/x86-64/Class Library/VS2019) Class library to provide data pagination support.
xyLOGIX.Data.Scrapers
(C#/x86-64/Class Library/VS2019) Class library to scrape data from web pages.
xyLOGIX.EasyTabs.VS2022
Library to enable .NET WinForms apps to easily render a set of tabs in their titlebar space, similar to Chrome, Firefox, Edge, etc. Extending the library to allow more interoperability with hoted content so that other thick-client applications can be embedded, we can have a TitleBarTabsPanel, etc.
xyLOGIX.Generators
(C#/x86-64/Class Library/VS2019) Class library that contains methods and objects for value generators. Basically, these are classes that are written in a functional programming style., that serve to transform one data value directly into another, i.e., "generate" the output. For example, think substituting a string value into a regex.
xyLOGIX.Queues.Messages
(C#/x86-64/Class Library/VS2019) Class library and friends to allow Visual Studio Solutions to implement basic event aggregation in the form of a message queue, in a very analogous fashion to Win32 applications. Think of this library as a very lightweight clone of Prism.
xyLOGIX.Validators.VS2019
(C#/x86-64/VS2019/Class Library) Contains the basic object structure for doing validation in other xyLOGIX projects.