firsttube.com revision 8

If you are one of the few people NOT reading this from either a feed reader or the OSNews Staff Blog, you’ll notice I’ve completely redesigned the site (with a little help from Site Studio).

The new site is much simpler, easier to use, and less overwhelming. I will be adding some of the previous material – links and such – back in over the next few weeks.

New OSNews Project

I’ve been off the radar with firsttube.com this last week, mostly because my free time was spent working on a new project for OSNews. I hope we’re going to roll it out after Thanksgiving, but it’s definitely the nicest code I’ve written thus far and probably the nicest site. A lot of what I wrote here is going to influence the way we move with OSN4.

In the meantime, this new project is hopefully going to be launched in the next week or two and I’m hoping it makes a splash. In the meantime, I need a few beta testers to provide some feedback. If you’d like to help test a new site we’ve been working on, please post a comment below and I can explain what to do.

firsttube.com gets threads

I understand that some people believe that threading comments are unintuitive, they confuse the user, and that they are ugly. I like ‘em. So this site now supports threading in the comments.

Now – as of right now, you can only reply once, like digg, but it supports two deep. This is only because I haven’t found a more elegant way to allow deeper threading in the code. As soon as I do, I will be allowing deeper threading, probably 3 or 4 comments deep for aesthetic reasons.

The entire thing is done in CSS, unlike OSNews which is hard coded to the pixel with very complex code that really makes me uncomfortable when I see it. This is much nicer. It’s all done via templates, and there are only two – one for comments and one for threads, and this will probably change to one soon too.

Small Axe Getting Close To Actual Releases

I am very close to releasing a flood of code on smallaxesolutions.com. Included in the first batch are:

- Small Axe Encryption (which is VERY breakable (being as though the decrypt code is actually available, but a new version, which uses a password to decode, will eventually be out).

- Small Axe PHP XML-RPC API. YIKES. What a mouthful. It’s by far the easiest API out there. I have searched high and low for an API. Version 0.1 is so simple it’s crazy.

- Dango 2.1. A simple discussion board. Version 3 will be a complete rewrite, so this is a nice mini-step.

New Admin Panel and Voting

You may notice that there are now buttons next to each entry on my blog. These are “agree” and “disagree” buttons. Although right now each post is assigned a “score,” soon it will probably be “X positives, Y negatives.” You can vote once per entry.

Also, I’m going to be rewriting the administration panel of Small Axe shortly. It’s not because it’s dirty, because it’s not, it’s actually modular and easy to write new plugins. However, It’s not ideally organized. I’ve updated the icons from a mix of random icons and Tango icons to mostly Echo icons from the forthcoming Fedora Core 7. I really like the new ones.

new admin panel

As you can see, I’ve finally added preference panes(!) for some features that I’ve had for awhile, such as User Agent review. The database cleanup link doesn’t work yet, nor does the Recent Votes link, but both are functions I will be implementing shortly.

Small Axe 0.4 Update

I have frozen the code and made my first updates to Small Axe in a very long time. In fact, calling what’s currently available for download in the -devel build 0.4 is not even really accurate. This build has all the features planned for the 0.7-0.8 timeframe. But alas, it’s “0.4 alpha 1″ for now.

It doesn’t work.

Above all things, it doesn’t work right now. The build system is now set to rebuild the demo site every 30 minutes, and the code is changing very quickly, but there are still major problems. All in all, I think I should have it available within the next month or so. All I’m trying to do is fix the features that already work here on firsttube.com. However, they must all be made completely portable, which is a challenge.

Anyway, it’s exciting, because I’ve been working on a lot of stuff I hope to release by year’s end. It’s good to be coding again. Feels good.

God, I’m a nerd.

smallaxesolutions.com v2

So last night I rebuilt smallaxesolutions.com using iWeb. It took a lot longer than expected because I did so much customization, and let me say: iWeb has a LOT of limitations.

Simple, basic stuff like changing link colors and styling the navigation bar are simply omitted. iWeb, in some respects, is as dumb as Front Page.

That said, it’s also MUCH MUCH better than many of these programs, because it generates such clean HTML. It’s so clean that I simply used the fantastic mac freeware MassReplaceIt to build a few queries to immediately clean up the output. I was able to integrate some PHP into it, and I think we’ll see it expand quite a bit over the next few weeks or months.

I’m pretty pleased with the design, thus far, particularly the angled images, which is really nice looking. The only problem I see is that the pages are VERY image heavy, and will be murder over dial up. Even on our T1 they still take a second to load.

I’m happy with the site, and I’m looking forward to iWeb 2.0, where Apple hopefully introduces some much needed features.

firsttube.com Now Has An API

Well, something I’ve LONG considered implementing is an API for my website. Yes, there’s VERY little to ever use an API for me, however, it’s always been one of those “out there” challenges. It’s always been breaking new ground to parse an XML request and return XML to it. I’ve tried probably 10 times before, and each time I’ve given up. This time, I had to figure it out.

So I slammed the pedal to the metal and did it. I now have a working API. It currently supports only 1 method reliably – blogger2.newPost() – however, I have tested blogger.getRecentPosts and both corresponding methods under the metaWeblog API. That said, I will probably hack something up that explains how to add an API to your homegrown PHP weblog. There are functions out there that do the hardwork, and there are functions I’ve written that do the rest of the work, so you just need to write the correct queries for your database.

Anyway, I can now post from digg.com, which is cool. Ultimately, if we ever support user blogs on OSNews, we’ll roll out an API so people can comment on OSNews and Digg stories via the API. Could be interesting.

Meta: Transitioning to Slugs

So, I have been very very slack in keeping the open source version of my blogging application up-to-date. In fact, I’m so outdated that almost all of the best features aren’t in the current downloadable codebase. I considered just saying “f it” and not maintaining a public version, and I’ve come to terms with the fact that it’s just a hobby, I’ve never pushed it like my previous apps. However, I think what I’ll do is wait until I finish the latest round of features and then perhaps scrub it and release it.

So, what I’ve begun doing is perousing some of the popular blogging apps out there for some ideas. The first feature I’m rolling out today is “slugs.” I’ve been thinking about this for some time now. I was trying to create pretty URLs without using mod_rewrite or anything that would bind the app to Apache. My old approach was really cool, it was completely dynamic.

For instance, if a post had an id of 1111111111, it would come up like this:

http://firsttube.com/read.php/1111111111/[link].html

The [link] in this case was the title of the post manipulated via a PHP function to be URL friendly with an arbitrary extension of HTML to please search engines.

However, it still had a clunky ID in the title, and it was often hard to remember, making the URL a bit uglier than I wanted. Enter: the slug.

A “slug,” according to WordPress’ documentation, is a “word or two describing an entry, for use in permalinks [...] especially useful if titles tend to be long or they change frequently.” Well, there you go. What if, instead of using the ID to look up posts, we used the slug? A few mods later, and – boom! – firsttube.com now uses slugs (where it is able and where one has been specified, at least).

I have about 48 hours, by my count, to determine if I like this scheme before I’ll screw up affect my standing in any search engines, so I’ll report back with the progress. Right now, I’m debating whether the slugs should be forced to be lowercase.