I recently decided to to purchase http://www.carscafmoo.com (do *not* go there — it is extremely not ready yet). I was going to register the domain through WordPress for the low, low price of $18 annually, which would have allowed me to port this blog over seamlessly (like — really seamlessly… like going to ccm.wordpress.com would just redirect you to ccm.com). But what I really wanted was a chance to develop my own website back-end — twiddle around with PHP scripts, build out customized themes with my own CSS, explore Python; you know, fiddle with how real websites get developed in the real world.
Unfortunately, WordPress doesn’t let you do that. If you register with WordPress (and perhaps pay for some additional adds-on), you can build a pretty bitchin’, full-featured website without writing basically any code. A WordPress site also takes care of a lot of the administrative work that’s nice to have, but not strictly necessary — basic stuff like following and comments (both of which are pretty customizable), but also things like alerting you when someone has commented on or followed your blog, or even linked to it, and page view counts and the like. And that’s, like, totally rad — except if you actually want to write code, they direct you to this page, which lists hosting options. External hosting gets you none of those sweet WordPressy things, although you can then download WordPress and have all of its features available for your website or whatever, which is actually pretty cool, and perhaps something I will, nay must, explore, especially when I eventually port this sucker over to there.
Anyway, assuming I want to develop my website from the ground up, he’s what I should have done. I should have built out the basics of my website locally, probably designated a folder on my local machine as the web root, figured out a way to serve that out through apache (preferably limiting the IP addresses served to local host so I’m not serving it out for the world to see), spent a month or two building up the PHP, JS, & CSS libraries required to make my site run smoothly, back-populated the existing post history into the new format or whatever, crossed my t’s and dotted my … lowercase j’s … , and then, once everything was all neatly tested out and packaged up — WHAMMO, roll-out! Huge success! Standing ovation! High fives for everyone involved!
But what I did was, instead of doing any of that, I just blew a cool $100 registering with BlueHost for a year (it was the cheapest single-year plan). I then proceeded to spend the next 3 hours twiddling around with Twitter Bootstrap and the header image I have on this blog in order to get the very, very simple header currently up at http://www.carscafmoo.com (go ahead, click the link at your risk…).
The impressive thing is that I actually have some experience with web design from work (and admittedly I frequently forget how the web HTML / CSS / JS part is the stuff that takes me the longest, not the actual operational code work), but what struck me was how surprisingly difficult it was for me to get off the ground here — not really in terms of the hosting setup being confusing or hard to deal with; the registration went really smoothly and pretty much immediately after clicking the confirmation button, I went to the website and it totally existed and everything. What’s incredible is the insane amount of overhead that I just completely take for granted at work — and all that despite not having to set up the server and run apache (which, actually, I’d like to figure out how to do sometime). Things like versioning systems and test spaces are just completely missing for me, and I have to build them out from scratch, which will be hard since I don’t yet have SSH access, and when I do get it I probably won’t have root access (or maybe I will???). Speaking of SSH access, I don’t think I have any way of copying files as I write them locally up to the server other than through their web-based SFTP client (at least not yet), which is a huge pain in the butt for debugging. I probably spent all of 30 seconds setting that up at work, and I literally don’t even know where to start with this site. Needless to say, there is a ton of stupid nonsense I’ll have to figure out between now and actually launching the website.
So where does that leave me? Right now, I have a website that totally exists and people can go to it DEAR GOD that has exactly zero features and will take me, I dunno, at least a month and a half working in my spare time to get anything going on, and I’m paying almost $10 a month for it. And the first step in that many-day journey is to figure out the very basics — stuff like
- SSH and exploration of the server (I don’t even know what OS it’s running?); root access?
- MySQL — what version are we running? Do I have admin privs?
- How to quickly upload files (SFTP access + SublimeText SFTP plugin?)
- Secret test space
- Folder structure: Maybe ccm.com/SECRETTESTING/ holds a version of the website and ccm.com/ just points to ccm.com/live or something? Maybe I figure everything out locally and serve apache out to localhost and then test out locally?
- Includes paths: How do I reference inclusions? (Probably relative to the file in question? Maybe a centralized includes function?)
- Access: Is there any way I can shut the test space off from non-authorized visitors?
Once that’s done (hopefully this weekend…?) I can start to get some content. I at least have a pretty basic idea for that — I’d like to have a blog (which also means I’ll have to copy all of these posts over there…), but I’d also like to have other contributors (so if you have something to say and don’t really want anyone to read it, start writing it down!), so I’ll need a Contributors page with brief bios of people who have contributed and links to their most recent stuff. I’ll want an About page that’s even remotely meaningful, and for now, that’s probably about it (although that’s a lot of work in getting folder structures and back-ends — think searching — set up). Only then will I really be ready to launch. I’m hoping I can be there by mid-October for obvious reasons (… it’ll almost be Halloween…?)
Once the basics are up, I’ll be able to start looking into things like tracking page views, following and commenting (assuming I can’t just plug right into that through WordPress; maybe I can, or maybe I’d rather build my own for sport); converting to Python, and adding all sorts of fun features (logins for contributors!?). Of course, I can literally do all of these things on my current (free) blog through WordPress, but that’s beside the point — and the topic of an upcoming post, so I’ll leave that for then.
Anyway, in the meantime, I’ll try to keep posting here weekly, and I’ll double-try to have my posts there make their way back here. And if you’re reading this, remember — I’m looking for contributors! Let me know if you want in.