I am very excited to announce the launch of a new programming magazine called Human Readable Magazine. It’s been a dream of mine for many years, and thanks to our successful newsletter Morning Cup of Coding, it is now one step closer to becoming a reality.
The magazine, which follows the spirit of the newsletter, is a collection of high quality programming deep dives from all fields of programming written by very talented industry veterans like Jonathan Boccara, Michael Caini, and Laura Summers.
But for us to make this happen we need your help. We recently launched a Kickstarter campaign to help us fund the first three issues of the magazine.
Check the project out, and if you like what you see, and I’m pretty confident you will, consider supporting us and/or spreading the word.
Either way, thank you for stopping by.
This is the second part of a two-part series on how this all began.
Before it began
I hesitate to say that I started programming at a young age, because what I was doing at 14 wasn’t programming. It was discovering what programming could do, and not what I was able do with it.
Sure, I could build stuff. A quiz game for school in PHP. A lyrics database in PHP. An mp3 organizer in PHP. Projects that I would spend no more than a week, two at best. After that I’d hit a wall.
Sometimes the wall was just me losing interest in the project. But most of the times it was simply because my code would reach its Pasta Al Forno limit. The spaghetti code would be so severe that you might as well put it in the oven and let it burn.
So along comes my friend, who I consider my mentor to this day, to suggest we start a new project together. I instinctively open Eclipse. A half an hour later, when Eclipse finally was ready to go, my friend says “So I’ve been thinking we should use erLang for the server.” “Er..what?” “erLang. It’s a functional programming language designed to handle millions of requests concurrently”. “Functional Programming? But you just taught me Object Oriented Programming. Isn’t working code basically functional programming? Where did you even hear about this new language?”
That day I learned two lessons:
1. Always keep up to date with new technologies so that…
2. … you can always use the right tool for the job
It was only then that I started reading articles about programming. I would call that my enlightenment period. I would spend hours upon hours reading Steve Yegge‘s latest article, learning from Brian Goetz how to do concurrency the right way, even though I continue doing it the wrong way, and many more.
Armed with the knowledge of these giants of our industry, I would go and work on my next projects with slightly less spaghetti code than the last, always trying out new languages. “Soon one of these projects would be good enough to be seen by other users” I thought to myself. No longer shoved in my ever expanding folder of dead projects ironically called “re-usable code”.
But that wasn’t enough for me. I wanted to be able to read away from my computer. These were the very early days of smartphones. iPhone just came out, and even though I was using a Windows CE “smartphone” (the lovely HTC TyTN II), it was anything but smart. Did you know that the pen wasn’t there as an “extra feature” but a necessity due to the irrationally small size of the UI? I’m eternally grateful for UI/UX departments.
So if I can’t read on my phone, I can’t carry my PC with me, and the word kindle is only used in inspirational speeches, what’s left? Magazines? Actual, physically printed, bounded together, sometimes monochrome sometimes multi-colored sheets of paper?
But alas, even if that were the solution, I grew up in Greece. There simply wasn’t enough demand. And I’m not talking about PC Magazine mind you. Or the other dozens of computer related magazines that you didn’t want to carry with you less you were looking for a few extra cash to fix someone’s computer. I’m talking programming magazines. Byte, Dr. Dobb’s Journal, Linux Journal, etc, etc. Well, not many “etc.” if I’m being honest.
Magazines that would be filled with the types of articles I enjoy reading. Technical deep dives, explaining not only how to do something but, more importantly, how things actually worked. Showing you tricks of languages you didn’t use but still could be applied to ones you used.
Don’t get me wrong. I liked reading about new releases, or following tutorials when I needed to. I even don’t care for the occasional ad disguised as content (looks at the camera).
But for me, those articles do not help me grow as an engineer.
So I was stuck reading on my computer for the foreseeable future.
After we as a species happily discovered that we are still alive in 2000, a new revolution in content generation started. There was so much new content that we needed a new term to describe how small the ratio between signal to noise can become.
Everywhere you looked there was a website where people could share their stuff. It didn’t matter who read it, or if it even made sense, but every site had to have user profiles and sharing features. You have a pet? Here’s a website where you can create a profile for your pet and tell everybody what time it eats. You have a car? Here’s a website where you can create a profile for your car and tell everybody what new part you just installed. You have a clipboard? Here’s a website where you can create a profile and share everything you copy and paste. You like yourself? Oh where do I even begin?
If you are a consumer of content, you suddenly realize how short your life is. But boy would that short time be filled with exactly the type of content you like consuming, no matter how niche it was. Which meant there was now an infinite amount of programming articles I could read.
Thankfully RSS came along, and while nobody knows why it’s still around but everybody is afraid to bring it up in fear of losing it, it made consuming content that much more enjoyable. For the most part.
“But Pek, how do you go through all that content?”, you would rightfully ask. To which I would respond by saying “Patience you must have my young padawan. For a thousand articles you may read, only one enjoy you will.”
Fast forward to a few years ago and I was in a video call with a friend from Greece. Now in New York, I’ve been somewhat happily employed in the video game development industry, and continue reading articles. My RSS collection grew to about 800 sources and there are now more ways to consume the content. Smartphones, iPads, Kindles, Kindle Keyboards, Kindle Paperwhites, Kindle Oasis, K… I no longer have to be in front of my three monitors.
Anyway, as usual, our discussion revolved around programming. “What do you think about Elixir?” I asked him. Blank stare. “Kotlin?” Blank stare. “Swift? Ruby? Go? Rust? Come on! Throw me a bone here! Python?” “Ah, Python. Yeah, I’m working on a website that uses it. I don’t follow the news much. It’s way too much noise.”
And just like that, I wanted to start my own magazine that solves that problem. A magazine that would have exactly the types of articles I enjoy reading, the ones I learn from every day. I would hire writers, columnists, artists, everything it needs to make it look prestigious to carry it around your programming friends.
I would distributed world wide, organize conferences around it, meet all my idols.
One can always dream.
And sometimes, with enough perspiration, dreams can become reality…