So you arrive in Italy with your bags intact, looking forward to rolling hills, fresh grapes and copious amounts of food. You wander the train station or airport for twenty minutes looking for a way to purchase bus tickets, but no luck. You presume you get them on the bus, and go to your station.
So I’ve been using the most excellent Hexo to publish this here blog, and was generating static output on my laptop before pushing to a git repository. This is not how Hexo is intended to be used, but me being a silly little spacemonkey missed the memo.
The result? Hexo dutifully generated static output, which of course generated facebook errors in the comment section, as for some strange reason Facebook couldn’t reach my laptop. Duh.
So I’m pulling the static output from the repo, and generating it on the server like a good monkey should. I’m planning to automate the whole process with jenkins and phing, and will document the whole process here when it is actually done.
Sorry ‘bout that, and now back to our regularly scheduled programming.
I’m getting asked a lot about ‘why Poseidon?’ since the project launch, and wanted to share the story and ultimate decision behind the name.
First off, I’m not necessarily a huge oceangoing dude. I love the ocean and enjoy vacations to the seaside, but it’s not something I spend my idle time thinking about. The choice behind the name was not based on a personal love for the sea.
Oddly enough, it was driven by irony and history. Let me explain: Just like you and I, the mighty Poseidon had humble beginnings, too. He began as a land-based deity, the god of horses. Back then this was a pretty big deal though, as culturally everyone knew that cavalry was the biggest and bestest show of military might and supremacy. All was good and well, and young Poseidon embraced his role and grew comfortable hanging out in pastures. At least as long as he was watching where he was stepping.
Then times changed. The horse was considered a mode of transportation limited to land, and difficult to get across large bodies of water. As the world started to shrink, naval supremacy became more and more paramount for military chutzpah. The Greeks looked around, realizing that the most important aspect of their lives was not represented by a deity. Now what?
So today marks a pretty special day, the day I launched the Poseidon open source publishing engine with some friends. There’s even a Bountysource fundraiser project underway. So what’s this all about?
In a nutshell, It’s been more than six years since I walked away from my beloved Joomla. I had to, as there were just too many personal attacks, politics, beaurocracy, and things better left unsaid. I chose the peaceful route, and picked up my toys and looked for a new place on the playground to hang out.
That gave me time to focus on my career, which managed to enable me to relocate my family to Turin, Italy where we live today. For that I’m truly blessed and feel just about as fortunate as a spacemonkey could ever be.
However throughout the entire time there was a pulling inside of me, a tugging that wanted me to get busy with open source projects again. I dabbled here and there, managed to issue a couple meager merge requests and even emailed some folks code just to get stuff done; but throughout there just was not the project that was for me.
It actually took the folks at Bountysource to convince me that I wasn’t insane (at least regarding my dream of a modern publishing platform that was dead simple to use) and Poseidon was born. We just pushed up the fundraiser, which will make it possible for a relatively small team of really great people to get Poseidon 1.0 up and among the land of the living.
So why did we do this? We’re not trying to take away from any of the existing projects out there; and hope in fact that we might have something to contribute to them by pushing the envelope and finding better ways to manage websites for people. Freed from years of legacy luggage and unencumbered by compatibility with earlier, more-primitive implementations, Poseidon is able to boldly attempt what was considered unthinkable.
One thing is the project organization itself, which is a breath of fresh air. We are not going to write a line of code, we are first engaging the creative and design folks to walk through what Poseidon should be, regardless of how it is built. This freedom for the UI/UX efforts is a major factor in what makes Poseidon unique amongst open source projects, as we all have been guilty of coding first and worrying about the interface later (me too, we all have done this right?).
Another major difference for Poseidon is testing. Poseidon takes testing for granted, and if your plugin code fails the tests it will not install. If you cheat and only cover a couple methods in a controller (and pretend the model isn’t needing tests), the test harness will tattle on you, and tell you what lines of what files are not covered - and again it will not install.
For site owners, this is a major win, as they can install plugins without fear. For developers, this is also a major win, as they can launch products in the marketplace and know that they will work. This is a win-win for both groups, which are the key parts of the community behind Poseidon.
Lastly, there will be juju charms for Poseidon, AWS AMI images, and hopefully many more packaged ways for us to deploy our websites to the cloud. For the little guy this means lower costs and predictable performance; and for the big guns this means real scale without a massive customization job to make it happen.
I’ll be writing about the march to 1.0 here, and will get more into detail when things start to become more finalized. I’m thrilled and terrified at the same time to be making such a huge commitment to an open source project again, and openly invite you to join me on this really cool journey with some great, talented people.
So I’m already getting questions about what I am powering my personal blog with this time. Previous iterations ranged from custom PHP, Joomla!, Wordpress, Typo (now Publify), Poet, custom Lithium blogging engine, RadiantCMS, and I’m pretty sure I forgot no less than five others. Oh yeah, there was also Plone and stock Zope incarnations as well. The first version was static HTML hooked into c code that was compiled directly into the core of the NCSA webserver (before Apache existed) but hey that probably goes too far back.
I’m going to be talking MongoDB to the PHP User Group Torino next week. Going to be an exciting session, as I will deliberately bring NO DECK. This is going to be all console and code, baby! Hoping to fill the room as much as possible, as this will be a very hands-on session and would love to get everyone up and running with examples and best practices when all is said and done.
If you are planning on attending: You’re going to be doing us all a huge favor if you show up with MongoDB already installed on your machine. I plan on bringing a USB drive with copies for Windows/OSX/Linux but would rather jump right into the fun stuff!
I’m going to be getting far more busy as a speaker in the coming months, so I’ll probably break out the speaking calendar (probably more for me than for you).
So the cat is out of the bag, my time here at Sounday Music is coming to an end - with new investors and an acquisition, this startup is no longer a startup. As well this is the first time in years that I’ve worked for someone else, and that was a very telling learning experience for me. I’ve been feeling the itch to take on some personal projects for over a year now, and this looks to be the perfect time for me to be pushing those efforts forward. I’m going to be spending some time kicking off some of these personal projects of mine, after which I will settle in to get cracking on my next Big Thing™.
These personal projects include FOSS and commercially-backed FOSS projects:
- Sports Club Management Platform. This one is a lot of fun and personal to me as I feel the pain as a volunteer youth coach with zero tools. This greatly hinders communication, planning/administration, and research. I’m excited to be a part of an effort to build something that small and volunteer-based youth sports organizations can tage advantage of.
- Next-generation Publishing Platform. I’ve been a CMS guy for as long as I can remember (dating to many years before Mambo was born) and think it’s high time an effort is kicked off to leverage emerging technologies to build an innovative platform for publishing in the new millennium. There are some cool new projects such as Ghost that focus on a particular niche, but nothing significant that attempts to be a solid core for anyone wanting to publish content online. Time to fix that.
- Art Project. This one terrifies me, as it is a full-on art project that combines video documentary, music production, and user experience all in one big bundle. In short we need music stores, and I’m going to really illustrate that with a fun and creative project. Definitely waaaaaay outside of my confort zone behind this laptop.
As these projects are made public, I’ll have a writeup of each here. Looking forward to kicking these projects off, and let me know if you or someone you know could be interested in participating. I’m also trying crowdfunding, as I don’t think any of these projects are big enough for the heavy hitters.
Lastly, I’m making an effort to get more involved in the local startup scene, as I can help many maiden voyages ensure they are going the right direction, and at the needed speed :-)
Some of you are asking “so why does this website not have a www.mitchitize.me configured?” My answer is simple: Why are you looking for one?
I’m experimenting to see just how attached we humans are to our expectations of a www in there. Essentially that’s expected nowadays because way back when Al Gore first invented the internet, we needed more than a TLD (Top Level Domain) to distinguish between email, ftp, and so on. These are called subdomains, and were used to also be able to point a service at a specific IP address, making it easy for email to run on one server, FTP file services on another, and so on.
When the World Wide Web happened, it became customary to launch your firstest-evar website thingy on www.yourdomain.com. It became so commonplace that browsers just assume that is what you wanted if you just type domain - and in fact will just silently try www.domain.com and assume you have had a little too much coffee.
I am one of these grumpy old men who stubbornly insist that all main websites live at a www subdomain, and this is an experiment to see if my younger, hipper friends are right. If I get enough people asking why my website is broken, then this old fart is going to laugh out loud.