Projects
Below is a list of open source projects I have built over the years. They are mostly just things I found interesting and wanted to build my own implementation of to learn how things work. Feel free to check them out and leave me some feedback on them.
EnKrypt
EnKrypt is a library I built that implements a custom cipher I thought up. I am not an expert in encryption so not for sure how secure it would be considered. It is just more of just something I thought would be interesting to try to build, so I did. If anyone who is an expert in encryption wants to tear this apart, let me know.
I came up with the original concept for this project around 2013. I started coding it about 2015 and had my first release of it in 2019.
The original concept was very simple. A string of text was broken into a character array. When the cipher was ran, it would shift one hex character to the next values in the array. This created a completely new set of values that hid the original message, but wasn't very secure at all if you knew how they were manipulated.
After getting that first part coded, I was watching a video on Rubik's cubes. The thought came to mind, "What if I applied this to my encryption method?" So I did. Instead of a single line array, I load the plain text into a multidimensional array. When a "shift" is done, a section of the cube is flattened out into a character array and then shifted. After it is shifted, the character array is loaded back into the original cube. This is done multiple times and in different directions based upon the password provided.
Checkout the GitHub link above if you are interested in learning more about how the library works. I included a README in the repository that goes into more detail.
Intro to PolyBase
If you are not familiar with polybase, I have a blog post that give some information on what it is and how to install it. In short, it is a service you can install with SQL Server that allows you to directly query tables from other database systems. It is a newer technology as it was introduced in Microsoft SQL Server 2016, but has received some great updates through the last couple of releases.
This project gives an introduction to PolyBase and stands as a repository on where I keep reference material for myself on how to access different database systems. I provide this repository not only for myself, but so other people can have a reference as well. There is also a link to a presentation I did at a Meetup group that goes into a deeper of dive of PolyBase.
Feel free to let me know if it was helpful to you. Also feel free to reach out to me to discuss PolyBase. I think it is a fantastic technology with a great potential.
Data Warehouse Scripts
This is another repository that I use for storing scripts for future reference that I occasionally update. The main purpose of these scripts are based around automating settings up certain parts of a data warehouse.
There are several things I tend to reuse when creating new data warehouses such as a date table linked to a holiday table which I use for seeding date dimensions. I also create stored procedures and tables to help me log the ETL process and capture issues in processing. This allows me to do things like build Power BI dashboards to monitor the ETL process.
The scripts here are mainly geared towards Microsoft SQL Server as that is the database engine I work with the most. There are other scripts in the repository for PostgreSql also. If you use these scripts in a different database system and would like to contribute back to my project, feel free to create a pull request. I would appreciate the contribution and it will hopefully help someone else out in the future.