My friends new band is coming along quite well it seems. “Daniel Davies” is a new project featuring Daniel Davies, and Jess Margera (CKY, The Company Band,
Viking Skull). They are playing this weekend in Philadelphia at the Northstar Bar with Graveyard, but I will be in Atlantic City.
I’m a pretty loyal customer. Once I find a service that does well by me, I tend to stick with it for quite a long time.
I’ve bought exclusively from Dunlop when I need guitar picks for 14 years now. I started with them. I’ll end with them. Same with Mesa Boogie
for guitar cabinets, Schaller for straplocks, Sperzel for locking tuners. Lifetime customer.
I stayed with the same mom n pop video store, even when Blockbuster came into town, until their ultimate closure due to said stores moving into town. Something like 20 years I was a customer. I still have
fond memories of that place.
I’ve always eaten Utz chips, Lance crackers, and frequent the same deli. I almost live at the Dogfish Brewpub.
You may have noticed though, that during the last 48 hours my site has been unavailable. I sure as hell noticed.
It’s Transfer Time
Today I’m breaking connection with a domain shop who I have used since 2002. I won’t call them out, since it’s not worth getting into. I am transferring my 41 domains
over to NameCheap who seem to be decent and are mentioned a lot on Reddit and LifeHacker.
They’ve been mostly good, but a recent DNS mixup (their fault) caused all my personal sites, my fathers site, and domain pointers to go offline for 24 hours, which is not the first time a mistake
like that has happened. Not only does that knock websites offline, it also knocks email and other things out, too. I simply do not want to have that happen again. They aren’t a huge registrar, but I gave them my business. This time I am going to step it up.
So far, the process has been painless. NameCheap has really good transfer pricing and makes it pretty easy to do. Each domain will cost me
roughly $8 which isn’t bad. I’ve seen higher.
I hope to have this done by February. The only slow part is the move between registrars, which typically takes 5-7 business days.
One of my favorite songs by CKY is “Dressed in Decay” off their third album “An Answer Can Be Found” from 2005. This song has always given me trouble playing it without
getting my fingers all crossed up or finding myself using overly complicated fingerings. Some of the tabs I have seen are wrong I believe, so I will
write out what I use here.
Since I purchased one of the guitars used on this album last month, it’s inspired me to revisit some of my favorite songs and finally tackle them.
That’s basically it.. at least how I tend to play it, and what I gathered watching Deron play this in his video lesson. The biggest
trick to getting this song down is having good control over alt-picking and being comfortable moving up and down the neck when changing
sections/riffs.
Drupal 7 shipped this time last year, introducing many API changes, new features and goodies for everyone. One of the more hidden features though is the
new Code Registry engine, which scans Drupal and caches classes and their files to improve system performance by only loading the code it needs
per page request.
However, when you are updating code, removing modules, or doing other general site maintenance, you might run into an error like this that scares the bejeesus out of you:
Fatal error: Class ‘EntityFieldHandlerHelper’ not found in ~/public_html/sites/all/modules/entity/views/entity.views.inc on line 134
Boom. Nothing but you, a white screen, a fatal PHP error and probably lots of “WTF??’s” dancing around your head and no clear way to recover and get the site back up.
Whats happening here is you have moved or updated code that changes either the location of a class definition or the file that contained it. Since it is no longer where
Drupal’s code registry expects it to be, we need to clear the registry out and rebuild it. There is an internal function to do this, but there is a quicker way
to get up and going again.
Any veteran user of Drupal at this point should be familiar with Drush, the excellent shell tool for administering Drupal
and using it at every turn. While your first thought may be to call this:
Y U NO WORK DRUSH CC?
1
drush cc all
You may notice that the error will persist beyond this. That’s because (at the time of this writing) the Drush action that clears Drupal cache does not rebuild
code registry. It is important to note that this function and the ‘clear cache’ button in Drupal will not rebuild the registry. We need
to grab and add an additional command into our Drush arsenal, “Registry Rebuild”.
The easiest method to install this add-on is right in the terminal:
Two nights ago, I was reading some developer blogs when I stumbled across one that was put together really well.
When I investigated further, I discovered it was running on a platform called Octopress.
I was immediately intrigued.
Not only have I wanted to do something new with my site for quite a while, but I made it a goal of mine to convert it to Drupal this year.
Well, I could do it in Drupal. Easily. But there would be two problems with that:
Drupal is a bit heavy handed for just blogging purposes.
I wouldn’t learn a thing.
I began reading about Octopress and was quite interested, and began the process of migrating my Wordpress blog to Octopress.
I only needed a handful of things to do the migration:
However, there were a couple of hurdles along the way of getting to the end result.
Malformed Start Tag
The first immediate issue when using exitwp was that the BeautifulSoup parser was breaking pretty easy. There were a few suggestions. One was
to try using version 3.0.7a, and the other was adding debugging to the html2text.py script so I could see where it was breaking:
With the above in place, the parser will at least show you where it stopped.
What I was finding was that it was stopping on a couple of posts, ones containing HTML in the content. Some posts, the HTML was broken, just as a result of
WYSIWYG generation I assume. Second, some posts only had a break tag or anchor in them that were perfectly fine. Upon removing them, and newlines,
it would pass the post fine. However I didn’t want to just remove all markup.
So the next big decision I made was to just import the best posts from January 2009 onward, and do the cleanup from there. Starting at that point,
the parse errors were far, far less. I assume this is due to the Wordpress WYSIWYG getting better over time (from 1.x to 3.x). Ah well.
Comments
Octopress comes with Disqus support out of the box, the defacto go-to platform for comments. We’ve been using Disqus since about 2009, and they’ve
really done a lot of good stuff. Takes the burden of commenting off your hands, plus they have an excellent import/export platform and support for
most major blogging/CMS systems.
I used their custom Wordpress plugin to export the comments from my Wordpress site, and imported them into Disqus. This
process took roughly 24 hours to complete- but as I understand it there was a large backlog of import jobs to be processed. Normally this does not
take very long at all.
After that, I had to create a CSV of URLs from the old paths to the new paths. With it, Disqus automatically updates
existing comments to point to the new URLs.
Redirects
Since Octopress uses different URLs than the ones I had in Wordpress, I needed to setup 301 redirects for search engines. Nothing out of the ordinary
here. I don’t mind the ranking impact here, after all I am just a small blog.
Hosting
With my Wordpress blog hosted up on our dedicated server, I already had a spot to host. Octopress has built-in support for rsync. Setting the configuration in
config.yml makes this a breeze.
End Result
All in all, a little bit of work and a decent learning experience and here we are. There were a couple of huge benefits for me to switch:
No database.
Since Octopress bakes the blog, the result is all static files, resulting in a huge reduction in footprint on the server and much faster loading times.
No database means a lot more, like no chance of SQL injection, no single point of failure, no maintenance.
No security patches.
I know I tend to exaggerate but seriously, Wordpress seems to have security patches or upgrades at least 3 times a month. While the process of
updating the codebase has gotten easier since 1.x, its still a pain in the ass to keep up with. There have been a couple of times that letting Wordpress
updates slack bit me in the ass, despite only using a couple of plugins.
Speed.
Static files = lightyears faster than waiting for database response.
Out of the box support.
All I have to do is alter the config.yml file and I have immediate support for Google Analytics, Twitter, Facebook, Disqus, and Google+. No plugins needed.
Opportunity to learn.
Doing all of this gave me a good opportunity to learn some new things since its all right in front of me now.
Python
Ruby
Markdown format
Sass
A good change of pace from the norm. I really like Octopress.