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.
My number one passion has always been computer programming. And I mean always. I began programming by learning to make games and other small apps in QBasic and then Visual Basic around the time I was in 5th or 6th grade. After some time I was introduced to Unix and began learning Perl and C. I first started using Unix through shell service providers until I finally had a computer of my own to install Linux on. This was year 2000, right around the time I was entering high school. With my very own Linux machine my appetite for programming exploded at that point, and has continued to grow over the last 25 years, with there being no indications of it slowing down.
Along-side programming, I also enjoy learning about the history of computing. The many exceptionally talented doers and thinkers who came together and made something truly world changing is in my opinion one of the most fascinating stories of recent history, right alongside the splitting of the atom, another feat with which the history of computers is intimately linked.
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 big old mainframe for some blinkenlights!
Not what you were looking for?
Here is my resume
-
BST Deletion: Removal By Merge
-
Dictionary Based Compression: The LZW Algorithm
-
Taking Action: Compiling Procedures to P-Code
-
Making Decisions: Compiling If Statements to P-Code
-
Repeating yourself: 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