Skip to content
View carsonfb's full-sized avatar

Block or report carsonfb

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
carsonfb/README.md

About Me

Personal

Wow, what a broad question, I'm not sure where to begin.

I love animals and have had (or my family when I was growing up), birds (a dove and parakeet), goldfish (a couple lived to about 20 years old), a tarantula (G. porteri), dogs, and a cat. I rehome spiders who are in dangerous (for them) locations in my house to more beneficial places for everyone involved.

I have a wide variety of interests including listining to music of many different genres (both recorded and live), writing and playing music (though I am good at neither), watching movies (mostly comedy, horror, sci-fi/fantasy, and documentaries), reading (mostly non-fiction these days), playing video games, puns, walking in forest preserves, and programming.

I started typing programs from books and magazines into my family's Commodore VIC-20 when I was 4, and stared writing my own programs in Commodore BASIC when I was 8, though none of those are what anyone would consider a masterpiece. I moved on to GW-BASIC, Pascal, C, and x86 Aseembly language over the next several years. Because of this interest, I was occasionally being paid in pizzas to write small utilities for a tiny company that I knew the owner of in junior high and high school. I got my first "real" programming job during my senior year in college.

Which brings me to...

Professional

I have been a full-time professional programmer for over 25 years and, in that time, have used a number of languages (though some for only a short while):

  • Assembly Language (x86)
  • Bash (Linux, UNIX)
  • Batch (DOS/Windows)
  • C
  • C++
  • C#
  • COBOL
  • CSS
  • HTML
  • JavaScript
  • Perl
  • PHP
  • Python
  • SQL (Oracle, MySQL, SQL Server, Postgres)
  • VBA
  • VBScript
  • Visual Batch Script

I've also used a number of other languages non-professionally:

  • AutoIt
  • BASIC (various flavors)
  • FORTRAN
  • Java
  • Pascal

These days, in my full-time employment, I mostly use Python, SQL, CSS, JavaScript, and HTML with a bit of Bash here and there.

Programming Interests

I find a number of topics (in both my professional as well as my hobby programming) interesting. These include (in no particular order):

  • programatic image manipulation

  • automation

  • data collection and analysis

  • machine learning and artificial intelligence

  • puzzle solving

My desire is to write software that helps people in their daily lives or helps society as a whole.

And that brings me to...

Software I've released

My most recent side project, Last Listened, is a program that creates an image with the details of the last songs the user listened to for placing on a website, audio program, etc. Currently, it supports Last.fm, but it is extensible via plugins to support any number of services, local databases, Excel files, or whatever the user needs. This combines my interests of image manipulation as well as data collection and analysis.

Another program that I've released plays the 1980s game "Dragon's Lair". I've always liked that game, but have never been good at it so I decided to work smarter, not harder and create a bot in AutoIt to play it for me.

Nonogram Solver, as its name would imply, solves nonogram puzzles. Mostly, this was written to see if I could come up with an algorithm to solve puzzles like this. I'm sure there are probably more efficient algorithms out there for solving nonograms and some of the code could be improved by using libraries such as pandas, but this was more of quick proof of concept than a "best in show" solver. As small code changes could have huge impacts on the functionality, code tests are ran on each start up to verify that the logic still works correctly. The interface is written in HTML, CSS, and JS and uses webview to communicate between the Python and the interface.

GoldFire Redux is a Python port of a demo I wrote in Assembly language and C in my teens. Most of the keyboard commands from the original have been implemented. Also, all palette files from the original have been included. Additional palette files can be created by the end-user (as in the original).

FakeSysKey is a small C# program that imitates the Windows utility SysKey for use in scambaiting. SysKey creates a system password (distinct from the login password) and makes a computer unusable without the password. Scammers, at least a few years ago, were running SysKey on unspecting users' computers and extorting them for the password. Scambaiters could replace to replace the official version on their VM (or actual computer for those who live dangerously) with this look-alike. This had two benefits. The first is that this imitation does not actually encrypt anything. The second is that, upon submitting the form, FakeSysKey always reports that the passwords do not match and displays the password in plain text. If the scammer has locked anyone's computer, and the scambaiter has their contact information, they may be able to use this password to help the victim recover their computer. At least one major YouTube scambaiter had been using this program. This has probably been the biggest help to society of any of my side projects.

I have a number of other projects in the works as well as old projects that are no longer useful, but may be of interest to someone. Be sure to check back so you don't miss anything.

Contact

LinkedIn button YouTube button GMail button

Popular repositories Loading

  1. nonogram-solver nonogram-solver Public

    This is a FOSS program written in Python for solving nonogram puzzles. Nonograms are a type of logic puzzle wherein a list of numbers are given for each row and column signifying which cells of a g…

    Python 3 1

  2. carsonfb carsonfb Public

    Config files for my GitHub profile.

  3. Dragon-s-Lair-Bot Dragon-s-Lair-Bot Public

    This program is a simple bot written in AutoIt that plays the game Dragon's Lair from the 1980s.

    AutoIt

  4. FakeSysKey FakeSysKey Public

    This program can be used by scambaiters to replace the actual Syskey program on their VM.

    C#

  5. goldfire-rides-again goldfire-rides-again Public

    A modern port of the old PC demo GoldFire.

    Python

  6. last_listened last_listened Public

    A small program to create an image suitable for placing on a website that displays the last tracks the user listened to. Currently only Last.fm is supported, but through plugins other services can …

    Python