As we begin 2019, I figured it might be fun to take a look back at 2018. In particular, I’m interested in reflecting on some of my accomplishments like getting married and publishing 100+ articles.
Table of Contents
Accomplishments in 2018
Up first, let’s talk accomplishments or milestones. In particular, I’m talking about some of the major life changes I’ve experienced over the last year.
Marriage & Name Change
As of March 18th, 2018, I’m a married man. By the time you read this, I’ll have been married almost a full year already. In case this is news to you, check out our wedding video below:
Of course, you’re welcome to read more about this special day.
Immediately following the wedding, my wife and I went through the process of merging our last names. And let me tell you, it was very painful.
Resignation & Relocation
Just after getting married, I quit my job at GE. By that point, I had already decided where I was going to grad school: The Ohio State University.
When I quit, my wife and I were still in Atlanta. After that, I spent a couple months grinding away on this site until Morgan was done with her first year of teaching. From there, we moved straight to Columbus, OH where we currently reside.
Since moving, both of us have gotten a lot healthier. In fact, I’ve been meaning to write a follow up to my Sedentary Situation article, but I suppose I can drop a tease here. I’m down to 165 pounds, and I feel great!
On top of getting married, quitting my job, and moving to another state (yet again), I’ve started grad school as a PhD student in the Graphics department. So far, I’ve really enjoyed teaching, and I’ve disliked taking classes.
If you’re interested, I’ve written a pretty lengthy reflection on my first semester of teaching which covers everything from my thoughts to student feedback and testimonials.
At this point, I won’t chat too much more about grad school as I have a whole series about it, but I still want to say the first semester was rough. Somehow, I was lucky enough to walk out with a 3.5+ GPA. Here’s to hoping I can get it together in the spring!
Favorite Articles of 2018
Apparently, I was very inspired to write in 2018 because I published over 140 articles. Here are some of my favorites from the past year:
- How I Popped the Question (01/19/18)
- 24 People Successful by the Age of 24 (02/05/18)
- How to Check if a File Exists in Python (02/17/18)
- 11 Reasons Why I Quit My Engineering Career (03/23/18)
- Hello World in Every Language (04/04/18)
- The Coolest Programming Language Features (05/01/18)
- The Grifski Wedding (05/17/18)
- Journey to a PhD (05/29/18)
- When Vacation is More Stressful Than Work (06/18/18)
- My Ideal Job (07/02/18)
- Our 5 Favorite Places in Atlanta, Georgia (07/20/18)
- How to Survive Healthcare Abroad (08/06/18)
- How to Hide Your Website from Your Hometown (08/13/18)
- Hello Autumn: A Tale of Narcissism (09/24/18)
- Grad School is Hard (11/09/18)
- Sample Programs 100 Languages Release (12/17/18)
- Reflecting on My First Semester of Teaching (12/31/18)
If there’s anything you want to see me write about in 2019, drop it down in the comments. I’d be happy to start taking requests!
Projects in 2018
Over the course of 2018, I worked on several projects. Let’s check some of them out!
Perhaps the largest project of the last year has been the Sample Programs project which I launched in March. If you’re unfamiliar with it, it’s a big collection of code snippets in as many programming languages as possible. At the moment, it holds over 100 languages and over 200 code snippets.
In addition to code, you may recall that I launched an accompanying article series back in March. Since then, the community has helped me transition those articles directly into the repo, so we can host them on GitHub Pages. Now, all of the documentation is right there. If there are any errors, you’re free to make changes.
All-in-all, I’ve been very happy with this project. By the end of the year, we hit over 100 stargazers and nearly 100 forks. That’s a lot of engagement for a little project I started this year.
As a part of my coursework, I took a Real Time Rendering course this past semester. In this course, we covered some basic real time rendering techniques using WebGL.
Over the duration of the course, I completed five projects which each touched on a different area of computer graphics:
- Data Visualization
- Hierarchical Transformations
- Local Illumination
- Texture Mapping
- Game Development
Fortunately for you, I have all of those projects hosted on Raw Git (until that site goes down next year). If you’d like to play with any of those projects, check out the CSE 5542 repo on GitHub. All project links are in the README.
In addition to Real Time Rendering, I also took a Programming Languages course. In that course, we covered topics ranging from attribute grammars to axiomatic semantics (cool stuff, I know). In addition, we were asked to write a Lisp Interpreter.
As a bit of a crash course, Lisp is a pure functional programming language that predates FORTRAN. As a result, it’s quite unwieldy, but its syntax makes it relatively easy for a machine to read and evaluate. Here’s a sample of a Fibonacci function in Lisp:
(DEFUN fib(n) (COND ((EQ n 1) 0) ((EQ n 2) 1) ((+ (fib (- n 1)) (fib (- n 2))))))))
Hopefully, the indentation helps you clearly see how this function works. Of course, if not, that’s Lisp for ya. It’s not exactly the most readable language. I dare you to try to verify that I have the correct number of parentheses here (Pro Tip: Don’t).
You may recall that I wrote a compiler for a toy language during my sophomore year of undergrad, but I no longer have that code. Luckily, I managed to back up a copy of my Lisp Interpreter from this recent programming languages course. If you’re interested in playing with it, check out the GitHub repo for it. All the directions you’ll need should be in the README.
Metrics: 2017 vs. 2018
At this point, let’s take a look at the past year from a data perspective. In particular, I’d like to share some of my stats like page views and visitors. In the following sections, I’ll share some data that was nicely collected for me by WordPress.
Months and Years
Up first, we have a raw totals comparison between 2017 and 2018:
As we can see, 2017 was a pretty low performing year. In fact, I should preface that the numbers aren’t exactly true. Back when I first started, I thought I might be able to boost my traffic by buying some traffic. As a result, the stats for October 2017 aren’t exactly legit. In other words, we can probably chop those page views for the year in half.
Averages Per Day
Next, let’s take a look at the same table but by average views per day.
As we can see, there’s been some explosive growth since September of this year. I’m not sure what happened, but Google finally started recognizing some of my articles as legitimate after almost a year and a half of work.
Top Posts and Pages
To start, let’s take a look at my highest performing posts and pages between 2017 and 2018:
|#1||Home (2,908 views)||How to Check if a File Exists in Python (27,245 views)|
|#2||Archives (2,093 views)||How to Sum Elements of Two Lists in Python (5,402 views)|
|#3||About (430 views)||How to Convert Two Lists into a Dictionary in Python (2,697 views)|
|#4||World Domination Checklist (282 views)||How to Invert a Dictionary in Python (1,944 views)|
|#5||Computer Science Email Tutoring Now Offered (197 views)||Archives (1,525 views)|
As we can see, we really moved away from archives and the homepage. Instead, we’re doing really well in the Python Bytes series which has drawn an overwhelming majority of the traffic in 2018. Here’s to expanding that series in 2019!
Top Sources of Traffic
Since launching this site, organic search traffic has been my bread and butter.
|#1||Google (2,271 views)||Google (38,925 views)|
|#2||Facebook (418 views)||GitHub (809 views)|
|#3||Twitter (64 views) ||Bing (451 views)|
|#4||LinkedIn (30 views)||Google+ (266 views)|
|#5||StumbleUpon (20 views)||WordPress Reader (247 views)|
|#6||Yahoo (14 views)||Twitter (246 views)|
|#7||Bing (12 views)||DuckDuckGo (215 views)|
|#8||GitHub (9 views) ||Facebook (193 views)|
|#9||WordPress Reader (8 views)||Instagram (86 views)|
|#10||DuckDuckGo (3 views)||Yahoo (85 views)|
As we can see, Google is the reigning champ in terms of traffic for me every since I launched this website. In 2019, I’m going to have to find a way to get traffic elsewhere.
At this point, let’s take a look at some demographics between 2017 and 2018.
|#1||United States of America (4,037 views)||United States of America (20,949 views)|
|#2||South Korea (578 views)||India (6,230 views)|
|#3||France (542 views)||United Kingdom (2,581 views)|
|#4||Russia (221 views)||Canada (1,716 views)|
|#5||Germany (220 views)||Germany (1,517 views)|
|#6||Philippines (189 views)||France (1,066 views)|
|#7||Canada (183 views)||Australia (807 views)|
|#8||India (173 views)||Israel (718 views)|
|#9||Japan (150 views)||Brazil (685 views)|
|#10||Cambodia (145 views)||Netherlands (611 views)|
Clearly, the traffic I purchased in 2017 had a pretty drastic impact on my demographics. As we can see in 2018, most of my traffic comes from English speaking countries which makes sense.
From a monetary perspective, it’s nice to get a lot of views from the US as the ad revenue is good. I can’t say the same for some of the other countries in this list.
Speaking of ad revenue, many of you are probably wondering how much ad revenue The Renegade Coder makes. Lucky for you, I’m happy to share that information (SPOILER ALERT: it’s not much).
Before I share any revenue info, I should mention that I’ve tried to make money off this site in many, many different ways. I’ve tried the Amazon Affiliate program, Patreon, tutoring, opening a store, and outright begging. Eventually, I settled on this membership site in conjunction with WordAds. The following table details my revenue from WordAds this year:
As you can see, my ad revenue has grown considerably just like my viewership. That said, I really, really hate ads, so tell your friends to subscribe. That way, I can sustain myself on memberships and abandon WordAds altogether.
Overall, I’m pretty happy with where the site is at, and I’m hoping to continue its growth in 2019. Here’s to hoping that we see another big drop in traffic sometime next year.
A Look into 2019
With 2018 gone and 2019 here to stay, what’s the plan? Well, who knows? I always like to keep my options open to maximize the energy and excitement in my life.
That said, I do have some plans. For instance, I’m hoping to keep up the pace of publishing to two articles a week. That may be a little hard considering how little time I have to build up a backlog, but I’ll see what I can do. Obviously, I don’t want to sacrifice quality to maintain quantity, so I will drop down to once a week if I can’t keep up the pace.
Also, I plan to keep chugging away on the Sample Programs repo. The main goal for the next year is to double the contents of the repo from 250 snippets and 100 articles to 500 snippets and 200 articles. Of course, we’ll periodically check in with those milestones. If I’m lucky, we may just hit those early!
Finally, I’d love to start making some serious money off this website. As I head into my third year, I ask that anyone who’s reading this consider contributing in some way. If that means telling a friend about this website, becoming a subscriber, or contributing to the Sample Programs repo, I would be grateful.
Here’s to another awesome year!
Recently, I was giving a lecture about Java's "common" methods (i.e., all of the methods of Object), and I had epiphany about how Java only has toString() while Python has str() and repr(). So, it...
Magic numbers are numerical constants that have no clear meaning in the code and therefore make code harder to read. Anything that makes code harder to read is something we can use to obfuscate our...