Workflow refinements, re-immersion, and .htaccess in DVCS.

by Mike Levin SEO & Datamaster, 04/18/2012

Well, as per my plan, I am starting my morning journal once again in vim in the 360iTiger Mercurial version control system. I had switched over to doing my itself is one of the big distractions–especially now, with the whole concept of promoting 360iTiger and tracking what’s going on. I have to update the spreadsheet that Mike D. made before leaving on paternity leave (congratulations, again!).

Okay, so my thinking out-loud happens here again. I have a 10:00AM meeting where I show the 360iTiger system to the “BSEM” group here at the company–the department that SEO is now a part of. It makes a lot of sense, because SEO and Social are forever becoming more inter-related, and everyone is waiting for the second shoe to drop, of the new social signals (the “like” counters per URL) to displace PageRank as the new kingmaker social signal. That, in-part, is why we’re releasing Tiger to the public now. People need to begin tracking those social signals.

That’s a pretty good opening for my presentation today. I think Tiger really speaks for itself, and the idea is to give just a minute of prefacing, and then to jump into the demonstrating the product directly. I don’t use Powerpoint when I can help it. I set up to have a WebEx, and failing that, I can just use join.me real quickly. I’ll have my Mac with me, so in a pinch, I can just use that. I was planning ot use the morning to “prepare” for it, insofar as any preparation is needed, but I see I have a meeting that was just schedlued into the half-hour timeslot before the BSEM meeting. Oh well. At least I present last, and can think through it a litte–which I’ll start doing right here, time allowing.

Give a few words of history. How we’re using it internally. Why it was created. Why we decided to “go public” with it. A few words about the media coverage and usage. Yes, you can all go ahead and use it.

Okay, all done. It went well. I really should have done a shout-out to Becca by name. She’s shaping up to be my best friend on Tiger. I have to keep tension in the machinery now, adding goodies for different people and pushing the whole system aggressively forward. Getting back into the code out of necessity as a function of the daily journal is an excellent start. I’m really pumped about the work I did yesterday to make the joural auto-flow out of Mercurial and into WordPress. That’s the way the world ought to be. It was interesting coming to that conclusion, starting first with looking at emailing, then transmitting some sort of text file through scp. But all that is sort of silly when there is official http ways to do this. I thought some fancy client library from WordPress was going to be required, but it turns out that the built-in xmlrpclib was all that was necessary. I’m continuously impressed with Python’s default core libraries.

Okay, I have to be careful about my commits now. Doing a commit in my DVCS should now almost certainly always equate to a journal cut-off point. I can always do multiple sends, but then I would have to combine draft posts in WordPress, which is no fun. Any which way, it’s no problem.

It’s all about smoothing out the edges now and making sure that everything I built can’t come tumbling down in some unexpected way. One of the first things is how these SSH sessions time-out much faster than they did before. Okay, I am going to make the attempt to fix this client-side with the instructions at this page: http://docs.oseems.com/application/ssh/disable-timeout where we just add ServerAliveInterval 100 to the end of /etc/ssh/ssh_config. I did that, and just disconnected and reconnected. We’ll see how long it lasts. This is actually important, because ALWAYS being in the code and this journal is an underpinning now of moving things forward and not breaking momentum.

Okay, what’s next? I need to finish a general lock-down of files other than the ones you’re supposed to hit in the bookmarklet sites.

Fast-forward: okay, it’s clearly an issue of WHERE ot use the Apache FilesMatch directive: the apache config file or in an .htaccess file. There are probably performance advantages to putting it in apache config, but there are propegation issues on anything that touches things outside the distributed version control system. That’s a big plus for .htacces. First, I need to ensure that the default Apache config denies access to .htaccess, or else I’m going to have to edit the config files anyway.

Okay, not only does Apache deny access to .htaccess by default (as one would hope it would), but it also abides by its directives the moment it’s there, without a server restart. That’s another BIG advanatage of .htaccess in a server farm situation. Even though I have complete administrative control over these machines, there’s a ton of them, and my main syncronization method is Mercurial DVCS, which keeps everything inside “application space” where Apache config files don’t reside… but .htaccess does.

Okay, mission accomplished. .htaccess files are dirt-simple. Just throw a directive in there, in this case, just the text:

<FilesMatch \.(?i:txt pkl)$> Order allow,deny Deny from all </FilesMatch>