blog. finally. done!

July 3, 2012 11:56pm
Tagged with:

Well, check another one off the list, folks – what you see around you is as good as it’s gonna get! 😉

It’s kinda crazy that it’s been 8 months already since I first undertook the task of migrating my blog from LiveJournal over to WordPress … and for what it’s worth, it’s not like I’ve been working on it solid all of this time! Truth be told, aside from a few days here and there to get the kinks worked out of the header and the homepage, I haven’t really touched this thing to finish it up in quite a while. And yet it’s forever been another pair of checkboxes on my 2012 timeline, taunting me as I yearn for newer projects that actually have a chance of making me some money…

*ahem*

Anyways, what’s done is done, and I’m happy to say that this site – ScottSevener.com – is officially as done as it’s going to get until a year from now I feel like it’s grown horribly outdated once again and I’m faced with the task of gutting it and starting anew once more.

For what it’s worth, though, in this particular point in time here on July 3, 2012, I’m actually really happy with the way that it all turned out. I got the self-hosted home for my blog that I’ve been wanting, and I also got a pretty slick interface on the homepage to highlight all of my writing that’s taking place on other sites that I run! Plus, I can do some other cool stuff that a regular blog makes difficult, like these random lists of stuff that I like and my favorite things, and this favorite tag page that promotes some of my best along with a slightly different display of all the rest than most people are used to seeing.

Technically the one other thing that I still need to do is swap out a couple of images in the header menu for abandoned and replacement projects, but I can’t really do much about that until said other projects are actually further along…

I guess it’s sort of a funky mesh between personal and professional, plus it’s nice to be able to share some of these kinds of things a little more publicly than just throwing them up on Facebook where the same 122 friends are my entire audience. Here I’ve got the potential for, well, more, and hopefully over time other folks will grow to enjoy how I’ve brought everything me here together under one roof, too!

Now what was I supposed to be working on next???  😯

http://www.scottsevener.com/about/places-ive-been/

This is something that I’ve wanted to do for a while, but just never sat down to actually put together. It’s kind of fun to not only speculate about the places that you’d like to visit in the future, but also review your favorites from places that you’ve already been.

Admittedly, I do kind of feel like I need some more on my to do list, especially from an international perspective, but for now I just put the ones that immediately came to mind – Australia, Japan, France, Egypt. I’m sure I’m missing lots of cool islands and places of vast cultural significance, but I think this is a good enough start to consider it a work in progress… 😉

This day has been a long time coming… 🙂

I don’t want to repeat myself too much because I’ve already got a lengthy introduction post over at the site itself, but let me tell you, it feels really good to finally be able to consider this site officially up and running for so many reasons  – so that I can finally share it with the world, so that I can move on and work on some new projects, so I can get a little extra sleep at night for a change! 😯

Needless to say, I’m extraordinarily happy with how the whole thing ended up turning out, and I think it’s going to be a whole lot of fun to write for in the months to come. If you’re a fan of Disney World or are just looking for something new of mine to read, please click on over and check out the new site, Like it on Facebook, and all of that jazz.

You’ll also be able to follow the latest articles from the blogroll on the homepage of this site – as you can see, it’s currently almost entirely dominated by Disney content anyways, so clearly come tomorrow I’ve already got all sorts of other backlogs to start catching up on!  😐

So several people have been bugging me for a while about signing up for Dropbox.

I know they’re mostly just doing it for the 250 MB referral credit, but up until now I’ve never really had much desire to use a service like that. I guess I’m kinda stuck in my ways as far as carrying a flash drive around with all of my documents on it, plus I’m not too crazy about installing the client on all of the various PCs that I use just because I don’t necessarily want 2 GB of my personal files sitting on all of them. That said, yesterday I bit the bullet and signed up because I finally found a way to make Dropbox useful to me – I’m able to use it to automate backups of all of my WordPress sites.

It was an idea that came to me on a whim – I was pondering how I still haven’t bothered to establish a reliable backup procedure for most of my stuff, and to some extent all of my websites needed to be included in that, even though technically my host is supposed to be making regular backups as well. Pretty much just at random, I searched the WordPress plugin repository for the word “backup” and there in the listings, I found this little plugin called WordPress Backup to Dropbox and decided to give it a try. It ended up being super simple to use, and in less time than it took to actually register my Dropbox account, the plugin was installed, authenticated with Dropbox, and had already started pushing files out the door to backup!

I spent the rest of yesterday watching these things update in the background, and as soon as one site had completed, I’d install the plugin on another and keep going. By the end of the day, I had eaten up about 25% of the disk space on my free account, but already the biggest of my sites had been safely backed up … including My Time with the Mouse… and its massive, 2000-image photo galleries! … and what’s especially cool about this plugin is that it even runs a SQL export of the database and then backs that up, too! A WordPress backup isn’t really much good if the actual data isn’t copied alongside the actual theme files, so I was pretty impressed to find that this plugin managed to do it all in one fell swoop.

One of these days I’m going to sit down and put together a list of all of the plugins that are kind of standard for me when I setup a new WordPress site, and I can tell you already that this plugin is definitely going in that list! Though Dropbox may not necessarily guarantee that your data will be there (it is a free service), backups are all about redundancy and at least this gives me one additional layer of protection to the host-level backups that I already had. Eventually I do also want to set something up to download weekly backups to one of my local machines here as well, but in the meantime leveraging Dropbox as an off-site backup solution works, too. :mrgreen:

Just the other day, another one of these crackpot, opt-out web services aimed at innovating the future came across my radar. Like pretty much all of them, it was brought to my attention by a deluge of upset people on Twitter who never actually signed up for the service in the first place…

The concept of this one seems a little too weird and artsy for me to really be interested in – the idea is that you trade your time for time talking to other people … the tricky part being that while the no-name film director might very well want to chat with someone more successful, there in turn needs to be someone else who the more successful guy would also want to talk to, otherwise it seems like they’d just end up with a pyramid where lots of people on the bottom are left wanting to talk to a relatively few number of people at the top…who I’m not sure why they would want to use the service anyways.

And yeah, maybe there’s some potential for cross-genre blending and whatnot, but the concept itself isn’t really even what I wanted to talk about here today…

The problem is actually that instead of only letting its users trade time with other users who had already signed up for the service, AllThis also took it upon themselves to create “non-member profiles” for people when they were found to be not a member by an existing user. Kind of like how when you plug-in your email account to Facebook to allow them to search your address book for friends to add, then offering the option to “invite via e-mail” people who aren’t yet Facebook members … except in this case, AllThis just went ahead and created a profile for them anyways as a way of hinting that there was already a demand for their time on this new site that they weren’t a part of yet.

Like clockwork, a lot of people got mad because as a general rule, people don’t like getting signed up for things without their consent! Consider spammy e-mail lists when you place an order from a website – all you wanted to do was order their product, and as a gentle thanks, they proceed to bombard your e-mail account with promotional offers that you never asked for in the first place. It’s the reason why I’ll never, ever go on a Princess Cruise – because after being signed up for some Carnival Cruise Line promotions that I also didn’t ask for, they went and shared my address with all of their sister brands and now for the life of me I can’t seem to get them to stop sending me cruise promotions for this line that I’ve never even had the slightest interest in buying from!

But as far as web services like AllThis are concerned, I think the main problem is that they see somebody like Facebook or Twitter who already have hundreds of millions of users and with the idea of starting from the ground up being so daunting beside those numbers, the gears start to turn with ways that new companies can leverage the existing user bases of these much larger, completely opt-in successes.

AllThis certainly isn’t the first and they won’t be the last, either – before them, we saw TwitShirt, a company that saw potential in creating on-demand shirts of any tweet in the Twitter stream, despite the small detail that copyright over individual tweets is retained by each individual user. Not too long ago we were introduced to Kachingle, a micro-payment service which offered to accept donations from readers for their favorite websites before actually soliciting those website owners for permission to do so! The ideas were fine all by themselves, but nobody has the patience to wait several years for their user base to grow organically these days, so they try to cut corners like this and end up doing more harm to themselves than good.

Frankly, I think it takes an awful lot of nerve to spend all of this time creating a new project, then only to design its business plan around the assumption that everyone will just naturally want to be associated with your craft genius. It’s a great goal to be loved by everyone, but in the meantime you’ve got to work for it and luckily these days the Internet provides plenty of resources for folks to voice their concerns about you if they think that you’ve overstepped your bounds with your latest and greatest venture.

Whether they’re scared because they don’t actually think that their service could hold its own to build growth organically, or even if they’re truly just inexcusably naive to the idea that the entire world might not think that their idea is as great as they think it is, either way it amuses me that the proven track record itself of opt-out technologies that people actually enjoy alone isn’t enough of a deterrent for them to take a step back and launch their products the right way.

The web isn’t built on tricking users into trying out your service – you still actually have to sell them on it the old-fashioned way, and at that point if it’s not cool enough to actually persuade people on its own merit, then maybe that should be a sign that could save you 6-12 months of your life and several million dollars in venture capital before pissing off the very people who you’re hoping will become the passionate users who will make or break your latest vision.

So if there’s one thing moving my blog from LiveJournal over to WordPress has reminded me, it’s just how much I absolutely, positively love WordPress!

This is something that I’ve been planning to do on and off for quite a while now, although it kept slipping off the radar due to other priorities.  Well, last weekend for whatever reason I was feeling particularly unmotivated with whatever I was supposed to be working on, so instead I decided to start digging into this new little project.  I found a theme that I liked … well, technically a couple of them that I ended up mashing together to get what you see here today … and after a few hours of hammering away at the initial theme setup, the question came – just how ugly was importing all of my posts from LJ actually going to be???

I was ready for the absolute worst (i.e. copying and pasting them one by one into new posts ad nauseam), but instead it turns out I was both lucky and happy to find that not only does a script already exist to pull in content directly using LJ’s API, it even already has hooks built into the WordPress core!  It was literally a 5-minute job – click to install the actual plugin to do the heavy lifting, enter my username and password, and then wait while it churned through some 2,000 blog posts spanning the last eight years of my life!

The only problem that’s still outstanding is for some reason the importer isn’t pulling the comments down after it finishes with the posts themselves – instead, it just says that I don’t have any comments and then finishes, whereas apparently I have about 800 comments!  So I still need to keep an eye on that – I already found where a WordPress.com user is reporting the same problem recently, so hopefully they’ll fix it sooner than later and we’ll officially be in business.

In the meantime, next steps are to finish polishing up the interface a little more, although so far I’m already very happy with the aesthetics, then for the blog side of things I do actually still have to go through each and every post manually – both because I want to refine my tags and also need to tag a good 80% of the older posts before I started using them, and also to address a few small issues where Flash videos, etc… didn’t actually get embedded like they should’ve.

So mostly small stuff, but still time consuming – once I can get everything sorted out so I know what all to look for, I’ll just pick 50 or so a night and slowly start pouring through them until they’re all done.  In the end, I do think that it’s going to make for a better site, and besides, being the nostalgic doof that I am, I never really mind pouring back through old posts that I wrote years ago all that much anyways… 🙂

So in summary, thus far probably my easiest redesign I’ve done in a long while!  I still have one more that’s on the docket to knock out later on this month before Thanksgiving, and I can only hope that it goes as smoothly as this one did.

So today’s big project was something that ended up taking a whole lot longer than I had expected, but at least I can say that I’m definitely happy with the results. Up until the latest one, I’ve been using Flickr to host the photos for the write-ups that I occasionally do for our Wednesday night LFR games, however I actually hit the photo cap for free accounts (200 photos) a while ago and in the meantime have just accepted the fact that as I added newer posts, the photo sets from the older ones were disappearing. I wasn’t crazy about the idea, and I almost considered just paying the $18 for a while to side-step the issue, but ultimately I knew that eventually one day I needed to suck it up and migrate all of the galleries back to my own server because a) it’s silly to pay Flickr when I already have a monthly hosting bill anyways, and b) hosting them myself allows me to do a lot of cool things that I simply can’t do via another service.

Anyways, several nights of uploading photos, updating posts, and tweaking code later, everything has been moved over and seems to be running smoothly. I’m using the NextGEN Gallery plugin for WordPress – the same one that I’m using for the other big project I’ve been randomly musing about – and all in all I think I’m really starting to like it as a photo gallery for WordPress sites. My one beef is that it doesn’t handle comments on a photo by photo basis, which is more of an issue for the other site than this one, but in the same vein I’ve already spent years struggling with Gallery2 and even though it’s technically a more robust gallery system, integration with other sites is just atrocious and I don’t think I’ve ever come across a site using it in a way other than the regular, blocky templates that come stock with it.

In fact, I’m currently running Gallery2 for the photos on scottandsara.info and I’ll probably end up moving those into NextGEN eventually too because it just seems too clunky for what it does these days…

That said, here’s the final product for the D&D site:


I’ll do a separate post here in a little bit about the technical hurdles that I faced with this one because there is some customization taking place under the NextGEN hood, but overall I really like how it allows me to highlight the photos from my LFR Adventure Logs because there are times when I think I enjoy going back and just flipping through the pictures more than reading the actual posts! Bottom line is, after over 300 photos across 24 separate games, it was time for something a little fancier than Flickr sets and I think NextGEN does the job nicely, if I do say so myself! 🙂

If I would’ve had any idea that the project I’m working on would be this intensive … I still would’ve started it anyways, but boy, am I sure going to be happy when it’s finally done!

I know I’ve been a little hush-hush about it, although I think I’ve dropped enough clues here and there that you could probably stumble upon it if you really wanted to. I just don’t want to officially point people to the site until it’s completely 100% done, and for what it’s worth so far I am extremely happy with the way that it’s been turning out. It really isn’t as much of a blog as a whole network of different types of content to highlight my passion for the thing, and even though it’s unfortunate not to mention quite tedious to think that I’m a month and a half behind schedule and it’s still going to be one hell of a push to get done by August 1st, it’s exactly what I’ve wanted this new site to be since I first started brainstorming concepts back in 2008.

Maybe even 2007???

Wow – I just checked my notes back to some early renditions of articles that won’t be appearing on the new site and it was indeed 2007 when I made my first attempts at crafting this new project, albeit at the time if I recall it was going to be simply a new feature incorporated into my main site whereas now it’s basically a stand-alone project all by itself. It’s going to be some work to keep the content up to date – basically doubling the amount of writing I do for The Humor Column each month, but it’s a fun topic and from what I’ve already written to date I think it should flow pretty naturally because it’s a little different writing style than what I currently use for my other projects.

So anyways, the original theme of this post was intended to be about designing because I basically spent the majority of my weekend figuring out a couple of minor, but not insignificant design issues. I’ve definitely learned a lot about WordPress and PHP in general throughout the course of this project, and I’ve been trying to share my experiences for the greater good as I’m able to work through them. It’s truly been a great example of “Don’t let code limit your design – decide what you want and then figure out how to make it happen…” and I really hope that the final product shows it. I really wanted to create something unique that every other blog isn’t already doing, and I think I’m on the right track.

Now whether anyone else will actually want to visit this unique site once it’s completed, that’s another story altogether … but in the end, all I can do is create something that I enjoy and hope that others like it, too, so all joking aside, we’ll see what happens!

Anyways, hopefully by this time next month I’ll finally be posting a little blurb here directing everyone to come check out the new site and it’ll be a smashing success, but between now and then I’ve still got a lot of work left to do to get there. So many late nights, long weekends, and time secluded away from the wife hunched over a keyboard – all I can hope is that at the end of the day it’ll all have been worth the sacrifice.

Until then, I guess here’s one more clue for the curious, little monkeys in the crowd…

Conquering Regular Expressions

May 23, 2011 11:08pm
Tagged with:

So in between battling puppy pee, I’ve also been fighting with regular expressions for the better part of the evening. To summarize, I hate regular expressions. I just don’t get the logic, never have, and just when I think something makes sense, I’m told that I forgot like eight different escape characters or special circumstances or whatever and I feel like I’m back at square one.

With that said, after my last geeky code post of this nature, I decided that I want to get in the habit that when I fight with something long enough, I at least post about it online, both to vent and also to share in case someone else encounters something similar in the future!

Anyways, the scenario is this – working in PHP with WordPress, writing a custom category template for a new site I’ve been building. In this case, I needed to be able to pull the first image tag out of a post so that essentially I could create a category view that simply showed POST TITLE/DATE/ETC, IMAGE, MORE LINK TO VIEW ENTIRE POST.

Quickly, the caveats:

  1. I know that there are plug-ins to do this, however using code directly in the template is far more efficient because this will really only affect a fraction of the posts.
  2. Those plug-ins basically just parse out the tags, which won’t work for me anyways because I’m using NextGen Gallery for my images, meaning that the syntax stored in post is a shortcode like this – [singlepic id=123 w=550 h=413 float=center].

I fought with regular expressions for hours upon hours, but finally managed to come up with this:

(searching for this tag)
[singlepic id=123 w=550 h=413 float=center]

preg_match_all ('/(^\\[.*?\\])/is', get_the_content(), $matches);
$image = $matches[0]; $image = $image[0];
echo do_shortcode($image);

Basically it just looks for a tag in brackets at the very beginning of the post, which is my default format, however also meaning that it won’t get caught on anything if for whatever reason I end up using additional tags later on in the post. The first function does the actual search through the post content and throws the results into an array ($matches), with the second line extracting the tag out to a single variable and the final line executing it as a WordPress shortcode.

I’m still not entirely sure why I have to do line #2 twice – I guess between the preg_match_all() function and the data, it ends up as an array within an array, but after literally four hours of staring at this stupid thing, what you see above is officially the point where I said, “It works – good enough!”

WordPress Bug Talk

May 9, 2011 6:48pm
Tagged with:

I know that this one is going to get a little more technical than most, but after battling with WordPress over something that in retrospect just seems incredibly inane, I feel the need to pronounce my victory in a public forum such as this…

So on one of the sites that I’m currently revamping (and hoping to officially launch in May), I’m doing a lot with photo galleries embedded in pages … probably not using pages exactly the way that was intended, but it seems to get the job done so I’m not going to complain. Anyways, the trouble started when I wanted to introduce a related posts plugin that also accommodates pages – the plugin technically works great, however one tiny detail in the format that I wanted for the output really just managed to throw me for a loop.

Basically, despite my pages being nested – sometimes several levels deep – in the related posts output, I always wanted to see the top-level mentioned instead of a page’s immediate parent. For example:

Photo Galleries —> Food —> Watermelon

becomes

  • (Photo Galleries) Watermelon

not

  • (Food) Watermelon

So the trick here is that you can’t simply look to a page’s parent, you need to loop through all of its parents’ parents until you get back to the top. The good news is, there’s actually a function already in WordPress to do exactly this. The bad news is, it’s broken!

I discovered this the hard way after feeling triumphant one night about solving my problem, then getting up the next day to find that it was only sometimes working. Most of the time I would get the correct “grandparent,” but for one page in particular I got back a null value instead, despite seeing the hierarchy plain as day through the main admin interface. From there I tore apart the database tables looking for an incorrectly populated relationship, started from scratch with the function itself, and even tried deleting and rebuilding the page, thinking that it might be a problem from when the page was originally generated.

Nothing, until another day at random I happened across this page

Apparently it’s a caching problem that was found almost two years ago, however obviously being not a very high priority just never got addressed. Fortunately in my case, though, a workable fix was found at the end of that thread – the basic solution was to run a function to clear that specific post out of the cache. Admittedly not knowing a ton about how WordPress’ cache works and not wanting to break something by constantly clearing the cache for every single post and page, I ended up doing something like this…

if ($post->post_parent)	{
   if (!get_post_ancestors($post->ID)) { wp_cache_delete($post->ID, 'posts'); }
   $ancestors=get_post_ancestors($post->ID);
   ... }

At least this way the deletion only runs if the ancestry is already broken for a particular page. This is definitely the first time that I’ve ever had to dig this deep to root out a problem in WordPress … usually it’s a problem with my coding, not theirs! So anyways, that’s my story and all is now well in the universe – just had to share in case someone else one day stumbles across that same problem with get_post_ancestors() and they still haven’t fixed the bug yet…

Happy coding!

© 1999 - 2020 Comedic-Genius Media, All Rights Reserved.