About MaxGCoding.com
MaxGCoding.com is my personal website and blog. The site itself is hosted and rendered by CodeBlahger, which you can read more about on the Projects Page. I use it to post on different topics related to software development and computer science that I find interesting. I try to take an approach to writing that leaves the material accessible to those readers who may not have the deepest background in computer science. It is with this in mind that I strive to keep what I write lighthearted and fun while maintaining the integrity of the subject being presented.
What's the number that keeps changing on the header?
The string of 0's and 1's at the top of the page is the binary representation of the number of milliseconds until 3:14:07 am, January 19th, 2038. Sometimes referred to as "The Year 2038 Problem", Y2038, or "The End of Unix Time", On this date at 3:14:07am UTC any computer still using 32 bit integers to store dates are going to be in trouble. Timestamps stored as 32bit integers will overflow causing, the binary representation of the timestamp to roll over and becoming all zeros. The effect is similar to how an analog odometer with 6 places that reaches 999,999mi next displays 000,000mi or zero miles and not the 1,000,000mi actually traveled. Instead of incrementing to January 19th 2038 3:14:08 UTC, when the overflow occurs the next value will be January 1st, 1970 00:00:00 UTC. As such, any system still using 32 bit timestamps will face issues ranging from incorrect timestamps to totally undefined behavior.
A Bit About Me
I'm Max, the Max G. in MaxGCoding.com. Born and raised in New York, I attended the State University of New York College at Plattsburgh, where I earned my Bachelors degree in Environmental Science. I currently live and work in Boston, MA where I ply my trade as a backend software engineer.
Through my many hobbies and interests over the years, my number one passion has always been computer programming. And I mean always. I began my adventure in programming by learning to make games and other small apps first in QBasic and then Visual Basic when I was in elementary school. After some time I was introduced to Unix and moved on to learning Perl and eventually C/C++. I first started using various Unix dialects through "shell service providers" until I was finally able to convince my parents to allow me to install Linux on our old computer that was given to me sometime in the late 90s. With my very own Linux machine my appetite for programming exploded at that point, and has continued to grow with there being no indications of it slowing down.
Along-side the many technical aspects of computing, I also hold a special appreciation for it's rich history. From Ada Lovelace being the first computer programmer thanks to her work on Babbages analytical engine, Admiral Grace Hopper developing the first compiler, and Turing and Von Neumanns fascinating early contributions. There is no shortage of deeply interesting and inspiring moments in the story that is the history of computing.
What history loving computer geek wouldn't also be in to retro computing? During my decades long love affair with computers ive managed to collect a couple of old Unix workstations: a Sun IPC and a Sun SPARC station 10. I also have a Radio Shack TRS-80. Talk about retro. I still have my eye out for a VAX or AS/400...Sigh. (don't ask me what on earth for - blinkenlights mostly).
I also make sure to take time and unplug to connect with nature and be outside as much as possible. Ok, "as much as possible" is an exaggeration but i do enjoy being outdoors and can often be found hiking, snowboarding, or sailing. My other great passion in life is music, both playing guitar and attending concerts. Having recently relocated to Boston, I’ve been busy exploring while taking in all the history, sights, and everything else my new home has to offer!
Not what you were looking for?
Here is my resume
-
Ternary Search Tries: String Specific Ordered Symbol Tables
-
Digital Search Trees
-
Lossless Compression Part III: Huffman Coding
-
Lossless Compression Part II: The LZ77 Algorithm
-
Lossless Compression Part I: Working with Bits in a Byte Oriented World
-
Bottom Up AVL Tree: The OG Self-Balancing Binary Search Tree
-
A Different Take on Merge Sort: Binary Search Trees?
-
Deleting Entries From Open-Address Hash tables
-
Transform any Binary Search Tree in to a Sorted Linked List
-
From Regular Expressions To NFA by way of Abstract Syntax Trees: Thompsons Construction