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 around the time I was in 5th grade. After some time I was introduced to Unix and moved on to learning Perl and eventually C/C++, and many other languages. I was first introduced to using Unix 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. There is no shortage of deeply interesting and inspiring moments in the history of computing, though I find the stories of people such as Ada Lovelace and Admiral Grace Hopper, Turing and Von Neumanns fascinating early contributions to be particularly interesting.
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, which while not being Unix related it is undoubtedly retro. I still have my eye out for a VAX or AS/400...Sigh.
Not what you were looking for?
Here is my resume
-
Compiling While Loops to P-Code
-
Removing an entry from a B+ Tree without Rebalancing: A viable approach?
-
Implementing An Iterator for In-Memory B-Trees
-
Weight Balanced Binary Search Trees
-
Parsing Array Subscript Operators with Recursive Descent
-
Implementing Map & Filter in Scheme & C
-
Persistent Symbol Tables for Lexical Scoping
-
The Festival of 1 + n + f(n-1) Lights
-
The Heart of Pratt Parsing: Top-Down Operator Precedence
-
Compiling expressions to P-Code by AST Traversal