Why I don’t use Flickr

Note: I’ve closed the massive photo gallery once hosted at SilverPen of well over 3,000 images we had taken and uploaded. We’ll continue to maintain a smaller set of public photos on Flickr, but will reserve the local photo gallery for our backups and friends/family who want to see more images.

I know, I know. This whole article is about why I don’t use Flickr, yet I’m moving there. I’ll write a new one and link it from here about why I have changed my mind and habits.

As I was uploading pictures from our housewarming party to our photo gallery over the weekend, I thought I might take a gander at the other offerings in the photo-hosting business. Conventional wisdom tells us that we should speed up our sites as much as possible, and a good/easy way to do this is to host videos and pictures on someone else’s web server. After all Flickr, Google Photos, and Youtube are all free, so why not use them? That way, when people are looking at our pictures and videos, they’re using Yahoo’s or Google’s bandwidth, not ours.

And while it’s true that having the pictures hosted there makes your site load faster, it can make setup take a lot longer. Let’s take a look at my photo gallery.

I’m not really much of a photographer. April and I usually forget to take our camera anywhere we actually want to take pictures, I’m not artistic in the least, and when we do have our camera, we still have a tendency to forget to use it. That being said, take a look at the text just at the bottom of that picture.

7 albums, 40 subalbums, and 3,168 images. I hadn’t really used my camera until I met April, so that’s all within the last 3 years, and while Flickr et. al. have many good qualities, dealing with a large photo gallery is not one of them.

Since Flickr is free, there are a number of limitations on its use. One of these is the number of images you can upload at a time. Right now, when I have a few hundred photos to add to my photo gallery, I simply zip them up in a file, upload that single file to my web server (start the several hundred MB upload and walk away), then unzip them on the server. Bam, a new album has been added to my photo gallery.

On Flickr, however, you can only upload 5 images at a time with the free account. Google Photos starts you off with 1gb of storage space, and you can pay to get more, but my photo gallery is currently sitting at 6.7gb. I’m not sure on Flickr’s pricing, but either way, it’d be a lot more work to upload and orient my photos. Flickr also has a limit on how much you can upload in a day. Right now, I believe that limit is 20mb, and while I can resize my photos to make them smaller, just 85 photos = 14mb for me on average. If I don’t resize them, or have 2-600 (like I usually do in a batch upload), I simply wouldn’t be able to upload all of my images in a day. It’d take me a week to get everything uploaded.

What’s more, you lose control when you use those services. Right now, I have my photo gallery, and I can style and organize it any way I like. Since I’m not an artist or stylistically inclined, it’s not phenomenal, but it’s mine. Someday, I may try and make it better, but I like how it is now. (::Aside:: Except for only having 15 pictures per page, but I did add a slideshow feature (bottom left when you’re looking at an album), and only having 15 images per page speeds up load time quite a bit and cuts down on bandwidth usage, so it really is a good thing.)

I feel like I’ve been rambling, so let me conclude succinctly. I don’t use Flickr (or other hosted solutions) for my photo gallery because

  1. Too many limits on how many pictures you can add at once
  2. Too small storage size
  3. Have to pay for larger storage size (and I’m already paying for web hosting)
  4. Can’t style the photo gallery myself

Therefore, I use Zenphoto. It’s not as full featured as what I was using before (Coppermine), but it’s a lot easier to use and a lot more attractive. The administrative interface doesn’t have many options, but it’s simple and it does its job well. I recommend Zenphoto, and I enjoy using it.

What’s more, I discovered ZenphotoPress today, which should make it easier and faster to add images from my Zenphoto gallery to my blog articles. As someone who self-hosts WebPress, there’s no better way to manage your photos than to self-host a photo gallery as well, and WP and Zenphoto integrate pretty seamlessly.

As for videos… well, I don’t do any of that right now, but I suspect I would go ahead and use YouTube for that and embed the videos here. They take significantly more bandwidth and storage space, and I doubt I’ll ever be to a point where I would need more space than they offer. However, if I did go into video production and had a lot of them to share, I would most certainly self-host those as well.

How to Edit your Single Post Navigation on WordPress

The WordPress Codex presents that the default code and presentation of the post navigation links appears as:

Perhaps I’m a little too OCD twitchy about this, but I take issue with the navigation structuring. When I’m looking at the front page of my blog, displaying the ten most recent posts, and scroll to the bottom, it presents “Next Page ».” To my mind, though, I would not be navigating to the “next page,” but rather to the “previous page” because I would be looking at older entries. Older is always Previous to me, but WordPress is backwards in this regard.

Conversely, when accessing a single post in my primary WordPress theme (and perhaps others), it was backwards from what I now expected based on the front page of my blog. To access older articles, I would click the link on the left (denoted by the name of the entry, rather than “newer” or “older”), and newer articles were accessed by using the link on the right (which, to my mind, should be leading me into an archive). This seemed counter-intuitive considering that the full-page-post (where I have ten entries on a page, rather than just the single one) navigation had older entries on the right and newer on the left.

In essence, the navigation seemed contradictory and inconsistent. To change this, I needed to edit browse.php (though in most themes, this is located in index.php) and reverse the following conditions:


The aquo statement is for two left or right karat marks, and the L or R that preceeds the aquo tells them which direction to point. Therefore, when I reversed these, it became:


Note the spacing, which is purely for aesthetic reasons. I added the pipe (the | symbol) myself for the same reasons.

If you want your post navigation to conform to whatever OCD tendencies you might have, this code should be located in either index.php or browse.php.

What’s sort of amusing is that my stories blog, despite having older posts on the left and newer on the right (the same configuration that set off this OCD codefest to begin with) doesn’t bother me at all. Maybe that’s because it doesn’t have a sidebar and everything is centered (and the theme is built to only display one post at a time), so I wasn’t expecting older posts to be on the right or the left. And I get the initial logic: much like an English book, you turn the page from right to left, so newer content (that you haven’t read yet) is to the right… but it has to be consistent. All of your navigation links must agree, and by default on my primary theme, they did not.

Does anyone else think about visual triggers and the expectations to which they lead?

Using a Second Sidebar for Different WordPress Pages

This post was originally written when I was using a different theme. That doesn’t affect the content, just wanted to let you know that my current theme (designed by Ryan Burrell) doesn’t use this particular method. Rather, it employs various templates to display bars as necessary. For more information, check out my guide How to use page templates in WordPress.

I wrote sometime ago about the visual design of a website, particularly a WordPress blog, and lamented the long sidebar that plagues so many sites. Like anyone else, I want to show everything I have to offer to my readers, but I know that my readers don’t necessarily want the same. End-users want the information they want and nothing else that might distract them from that information. Readers want data to be concisely presented and easy-to-read. A sidebar as long as my arm detracts from these goals.

Therefore, when I added some things to my WordPress sidebar (like a blogroll) that made it particularly long, I knew something had to be done. It’s all fine and well on the main page where ten blog entries make for a rather long site (and therefore the sidebar doesn’t look out of place). But when looking at a single post, the sidebar added a dozen inches below the comment box until you reached the footer. No good.

The WordPress Codex has some tips on creating a second sidebar and using this for other pages (such as when viewing just a single post), but beyond giving me the PHP tag for the sidebar, it didn’t do me a lot of good. The theme I use did not have the sidebar statement in the default location (which is normally sidebar.php in your theme’s files), and when I did find the code I needed to change, the tag listed in the WordPress Codex didn’t work.

My sidebar actually extends up from the footer, so it was the footer.php I needed to edit. Removing the standard sidebar tag, I entered the following:

When I first made this change, I discovered that, while it worked great for posts, my pages still had the longer sidebar. Since my Contact page is pretty short, this ran into the same problem as before: the page content had ended, but the sidebar just kept going. Therefore, the code needed to be modified slightly to accommodate pages as well as single posts.

Using an elseif statement, we are able to use sidebar2.php on both pages and single posts. If you have additional templates on which you wish to use a different sidebar (say you wanted a different sidebar on the category, archive, and portfolio pages as well), you might considering using a switch, but with my limited knowledge of PHP, using if/elseif/else statements worked just fine for me.

Scrolling code display boxes of doom

Why can’t anything ever work as advertised?

So, I’ve written a couple of tech articles for the next couple of weeks (scheduled to publish on the next two Tuesdays) and they had a few code snippets in them. Therefore, I thought I’d find a nice way to display that code, maybe put it in a box that preserved its formatting, and if the line was too long would present a horizontal scrollbar instead of breaking the right margin or wrapping the code.

I first tried the IG:Syntax Hiliter (it frustrates me to no end that it’s not spelled “Highlighter”), which is supposed to be the first, greatest, most original plugin for WordPress that is intended for this purpose. But when I used it, it refused to present my code in a visually accurate fashion. Or, rather, it was too accurate: it converted my symbols to their ASCII equivalent and displayed boldly that this was Plain Text mode.

You could click on Plain Text and change it to HTML, which made it look nicer, but I wanted it to default to HTML. What’s more, it didn’t behave regularly; sometimes, the code would be accepted and displayed, and other times it would be stripped out and deleted. This isn’t an issue with the plugin so much as it’s an issue with WordPress, which strips PHP from blog posts as a security measure. However, when I’m trying to post PHP to give an example, that’s pretty damned annoying.

I then tried WP-CodeBox, an off-shoot of the “Hiliter” (every time I see the word spelled that way, I think it says “Hitler”) but one that seems to be preferred by a lot of people. Unfortunately, its author’s website is in Chinese or something, has major faults on it that kick me to a partial TinyMCE window, and the plugin failed completely. I couldn’t get it to do anything.

I tried 1-2 others before finally giving up. What irked me the most is that I had it looking just fine before using pre-tags and/or blockquotes, and these plugins (even when they semi-worked) looked worse. If I included code as a regular part of this blog, I would definitely find a solution (and I suspect I’d just develop it in-house using CSS, which seems far more reliable than the plugins geared towards this task), but I just don’t care anymore.

Bugger it.


After the mass export/import process, I then converted a ton of categories to tags in order to reduce redundancy and the size of my sidebar. Overall, the process went smoothly, but it left me with a lot of uncategorized entries that had to be fixed manually. Thankfully, the process isn’t too arduous, so I already have it fixed, and it gave me the good opportunity to skim some old entries.

It also put me in the frame of mind to remember that I’ve written a fair amount of stuff in the past. Therefore, when faced with Lorelle’s challenge of the week, I realized that I could simply link to an older article I’d written that addresses her question without having to invest time in writing a response. Of course, I had to add a disclaimer to the entry, and go through to update some things and correct grammatical mistakes, but it was a pleasant realization that the work was already completed.

I am on vacation all next week and quite excited about it. Most of my time will hopefully be spent at the Mudhouse where I will drink copious amounts of coffee and write-write-write. I did some more research on self-publishing today because I’m finally going to start on a book next week, though I haven’t decided which. I have four options on the table.

  1. Somewhat auto-biographical work that seeks to relate my conversion from paganism to Christianity, my experience with withcraft, why I made the decisions I have, and how Christians can address witchcraft in America.
  2. Editing together a book from about a year’s worth of theological writings by me (mostly from my sophomore year), geared towards college students and addressing the struggles of incoming freshmen in addition to the problems college students often encounter throughout their undergrad (in regards to their faith).
  3. A discussion of spirituality in America and how “spirituality” is not good enough titled Reconnecting with Religion (subtitle to be decided).
  4. A book about the Ten Commandments, one commandment discussed per chapter, that attempts to relate the historical context and meaning of each commandment, its application in modern society, and to do so in modern, easy-to-understand language.

Of these four, which appeals most to you? Where do you think I should invest my energy next week?

WordPress Advanced Editor

Because I’m so content-focused with my blog (focusing largely on writing), I really love the advanced editor in WordPress, especially as of version 2.3. I do the vast majority of my writing live inside WordPress, where it saves every 30 seconds and I have a character map at the click of a button in the toolbar if I need to accent something. Links are easy to insert, I can pull pictures in easily, and it fits my purposes.

But a friend of mine is an actual web designer, and as such, he does a lot more on the visual and code side of things. The advanced editor in WordPress gives him quite a bit of grief, particularly when he switches over to the Code tab and enters some custom HTML, then goes to the Visual tab and sees that WordPress has “cleaned” his code, effectively breaking what he intended his post to look like.

The code cleaning feature in WordPress’s TinyMCE advanced editor is there to help users protect their theme. By ensuring that code is encapsulated and formatted “correctly,” it keeps WordPress pages from breaking. Unfortunately, it also often makes changes to one’s intended code, frustrating the user.

Stephen at Scratch99 has a great article about how to address this problem, and I suspect that Ryan will take the simple method of editing the TinyMCE javascript file and just turn off the “clean code” feature.

Turning the Advance Editor Cleanup Off

If you often enter your own HTML, but still want to use the Advanced Editor, then you might want to consider turning it’s cleanup option off. I stumbled upon how to do this on Thu Tu’s Smacking WordPress Editor.

Note: if you do this, the Advanced Editor will not do any cleanup. If you make errors in your HTML that break the theme, you’re on your own! If this happens you may not be able to edit the post anymore – the only solution may be to close the browser, go to the manage posts page again and delete the offending post.

To summarize how to turn off the advance editor cleanup:

Download the wp-includes/js/tinymce/tiny_mce.js file using an FTP program and use a text editor to change the following (near line 167) from:

this._def(“cleanup”, true);
this._def(“cleanup”, false);

Save the file, then ftp it back up to the server, overwriting the original.

Note: you need to delete your browser cache before this takes effect. For Internet Explorer, click Tools on the menu, then Internet Options, then Delete Files. For Firefox, simply press Ctrl+F5. For other browsers, sorry you’re on your own, but it should be straightforward to do.

As for me, I’m going to keep writing just like I always do. Now, if I could just find a decent way to format poetry correctly in WordPress…

Step 3: Organizing Your Thoughts

When I first began using WordPress, tagging wasn’t available, so I never got into the habit of using tags. And despite the rise of websites like Technorati, I’m still not sure on their value overall. I have recently feared that I am becoming stuck in my old ways, but as I began this site redesign, a light bulb clicked on for me.

As I’ve mentioned before, I hate long sidebars, and one of the contributors to this is having a long list of categories. Previously, I put everything into very specific categories, and sometimes into two or more categories, to make finding entries easier for those who prefer to use a hierarchical navigation bar rather than the search feature. Using the categories is how I often navigated my site, but it cluttered my page and annoyed me. Tags address this issue quite succinctly.

First, we must acknowledge the power of search. Hierarchical navigation bars, while best suited for displaying the breadth of everything you have to offer, can become quite cumbersome. If you categorize and tag items accordingly, you need not have such a large navigation bar. In my case, I have opted to use categories but broadly, and to leave the specifics to tags.

What this translates to is that every poem I post on my writing blog will be categorized as Poetry. Forms, such as sonnet or villanelle, will be left to the tags, as will the content of the poem. I do not need a category for dreams just like I don’t need a category for fantasy fiction. Rather, I can have Dream and Fantasy be tags, and create the broader category of Fiction.

You need to consider your organization before ever beginning or it will quickly become too late to do anything about the matter. If you decide you have erroneously left tags off the last three hundred blog entries you wrote, going back and adding those tags will be immensely time consuming and frustrating. For the aspiring blogger, it is far better to not make the mistakes I did and leap in blindly, but to spend some time considering your goals and organization, then putting those into place from the word “go.”

Step 2: Visual Design

I am, to be perfectly, honest, an incredibly non-artistic person. I appreciate art, and I know what I like looking at, but I sometimes lack the vocabulary to discuss art and I am completely incapable of producing it. The written word is my forté, so when I began to design a new website, I was stymied.

The idea of creating a theme from scratch and of having complete visual control over one’s website is certainly appealing, but I lack the capacity for such design work. Therefore, I chose a few designs and showed them to Ryan, with whom I collaborated while creating SilverPen Pub revision 3.0. I would have a theme that I didn’t really like, but wasn’t sure why, and he would supply terms describing how its flatness and lack of depth failed to catch the eye or guide the reader to where you want them to spend their time. The current theme, however, worked really well, and after I bludgeoned one of my own photographs into the banner using The GIMP, I’m happy with it.

There are several things to consider when visually designing your website:

  1. Sidebars: How many do you want, and what do you want them to contain? Personally, I feel that sidebar length and composition is determined by logical order. That is to say, it should be organized logically, with clear reasoning why one item has been placed above another item. If your sidebar has reached a length where you are sticking things in with no justification for its placement–if you don’t care where something goes–then you are adding things to the sidebar that probably don’t need to be there. As much as I enjoy Lorelle’s blog, the sidebar annoys the hell out of me because I can’t find anything useful in it. It’s a mash of random things, with subscription buttons and book article advertisements littered throughout. After reading her article Who the hell are you? I began looking for her “About” section. Because it was hidden in the ridiculously long sidebar, I had to use Firefox to search for it to even find the oh-so-important statement she was talking about in her article.
  2. Mood, pathos, etc.: Colour is a tricky one, because it can affect how a reader perceives and responds to your blog. It affects the tone in which they read your entries, and if the appearance of your blog is offensive to them, they will certainly be unreceptive to what you have to say. Nevertheless, I maintain that the most important aspect of the visual design of one’s blog is that the author like its appearance. A reader can use an RSS feed, but the author cannot avoid looking at their own page. It is important to keep this aspect of visual design in mind, but it is perhaps not the most important. The only rule regarding colour is to make text readable. Stereotypical MySpace pages are bad, m’kay?
  3. How comfortable are you with editing code?: If you don’t mind getting your hands a little dirty, you have a few more options when choosing a theme. You can pick one that’s close to what you are looking for, then edit the CSS and PHP files to make it exactly what you want. Conversely, if you just want a CMS where you can input your content and you’d rather not have to deal with anything else, WordPress has a lot of options to help. In this instance, however, you may have a harder time finding a theme that really makes you happy and gives you all of the content you want.
  4. Accessibility: I will write more about this at a later date, but accessibility is probably the most overlooked issue when it comes to personal blogs. Nevertheless, it is important to pay special attention to this aspect, if for no other reason than it is simply the right thing to do so. There are scads of guides online about how to make your site more accessible, so I won’t go into details on that, but keep in mind that you should try and make your blog as accessible as possible. This might require a little bit of coding on your part, but it’s not hard and can make a visually challenged person’s day a whole lot better.
  5. Content: Will your blog entries be short, or long? How far your readers have to scroll to read a particular blog entry might be worth considering, and can be affected by widening the content section of your design. However, keep in mind that long lines of text are awkward to the human eye, and anything beyond 80-120 characters is difficult for a person to read. Try to keep your content column at a reasonable width.
  6. Scaling: This is the first test I do to see how well a site is design. Does your site scale gracefully, or does your text go all over the place and become unreadable? This is partially an accessibility issue, but it’s also about standards; if you stay within the spec, your site will usually scale just fine. WordPress, by default, handles this pretty well, so you shouldn’t have any problems if you’re using WordPress as your CMS.

Once you strike a balance between these and have everything settled, it’s time to decide how you intend to organize your blog, which I will discuss tomorrow.

Step 1: Choose a CMS

This article is now somewhat out-of-date since I collapsed 4 of the blogs into one (Reading, Religion, Theology, and general updates are all in the same blog now, with separate blogs for writing projects). However, the principle is still the same, and the history of my experience with blogging is relatively accurate. Therefore, I’ve decided to use this entry as a reply to Lorelle’s current challenge, rather than writing a whole new one with most of the same content.


In 2004, I became fed up with LiveJournal and Xanga. I had begun the former because a girl I liked (circa 2003) had a LiveJournal, and through my joining I discovered a great many of my friends were already using LJ. The next year, however, all of the people I met hosted their blogs on Xanga rather than LiveJournal, and so I created one of those as well to keep in touch with them. Not surprisingly, it was a pain to keep both sites updated, but that wasn’t the worst of it. LiveJournal and Xanga crashed regularly, so when I wanted to blog, I couldn’t. This was inexcusable.

Therefore, I hopped on NewEgg, specced out a new computer, and within a couple of weeks I had built a webserver in my bedroom. The entire experience was geared towards learning as much as I could, so I installed Linux on it (which I had never used at the time) and set up everything from scratch. WordPress was the blogging software I had heard the most about, so I ran through the 5-minute install and away I went.

For a little while, anyways. As a writer, I had a lot of work sitting around that I wanted to put on my website, and knowing as little as I did at the time, I created a static page on WordPress for each piece. Suffice it to say that WP doesn’t handle a large volume of pages on the backend very well, and once the database queries began taking 3-5 minutes for me to find a page so I could update it, I began casting around for a new content management system (CMS). Mambo was recommended by a friend and, after learning its somewhat ridiculous administrator interface, I created a second website just for my writing.

Those of you who have used Mambo, or Joomla! which is very similar, know that it has its strengths and weaknesses. It worked fantastically to display my work, but due to the very nature of it, my writing site stagnated. I always told myself I’d go back and revise items, but once I put them into Mambo, I didn’t have to think about it again. Moreover, it was such a pain to get the site themed and looking like I wanted it that I invariably “set it and forgot it.” The admin interface could be frustrating and nitpicky, as well as cluttered, so I often avoided logging in for as long as I could. In general, it wasn’t an enjoyable CMS to work with. And while WordPress was significantly more enjoyable, it simply couldn’t do the job.

The Present Era

As a sidenote, I looked at Drupal briefly, but was equally unsatisfied with it (perhaps more so than I was with Mambo/Joomla!). I began to despair, wondering at a solution, when I stumbled upon an article by Lorelle on WordPress that discussed the problems with using pages rather than blog entries. The wheels began turning, and I thought, “Why not have all of my writing be blog entries? Why do poems and stories need pages of their own?” Having them in the blog gives me all of the controls I’m used to, chronological organization, and an opportunity to do what I’ve always wanted to: revise and share my work.

Therefore, I hatched a plan to use WordPress as my CMS and blog entries rather than pages to post and organize my work. As stated in my About page, there are five main topics on which I desired to write, but I couldn’t throw this all into a single blog or nobody would bother reading it. Moreover, I didn’t want to actually have five separate blogs, hearkening back to the days of LJ and Xanga (to which I crosspost automatically now through plugins) because updating would be a colossal pain (as would upgrading the software, especially since WP releases an upgrade every 3-6 months now, it seems). Therefore, I decided to try a personal installation of WordPress-MU.

WordPress-MU is often associated with WordPress.com and Blogsome, where you can install no plugins and the themes available are selected by the developer and largely uncustomizable. Due to this, the software has a stigma against it as being restrictive, but the truth is that around 95% of the code from WordPress is shared with WordPress-MU; they are very similar programs. And since I am doing this to create blogs for myself, there are no issues with restrictiveness.

To provide readers the option of only reading the content in which they are interested, I created a blog for each topic on which I intended to write (as well as corresponding LJ and Xanga accounts to which they crosspost for those who prefer to subscribe via those services). Because it is all through WordPress-MU, I administrate and post to the blogs from a single backend interface, and I will only have to upgrade one location for all of the blogs to benefit.

On the negative side, due to some of the redirection settings and requirements of WordPress-MU, some plugins (like the Ask-Apache 404 Google WordPress Plugin) simply refuse to work. Themes not written specifically for WP-MU will have problems with its registration page, and the configuration files require some hacking if you want everything to look nice (particularly if a user gets a 404 error but you don’t want them to register a new blog). WP-MU was created with the intention of running a site where users can create new blogs, so I’ve had to work around the software a bit for my purposes.

Nevertheless, it feels like the best CMS for me at this time. Few bloggers write on as many topics as I do and I haven’t heard of anyone organizing their site in this fashion, but this solution works well and gives me all of the benefits I want. WordPress is a very nice CMS and, while it certainly isn’t ideal for everything, I keep coming back to the question Lorelle asked that set this all off: why not use blog posts?

I am confident now that, at least for me, the answer is, “There is no reason, therefore I shall.”