Blog

With the addition of search, the circle is complete

Sometime in late 2002, I was welcomed on to the partyfish dev team. My first task: create the site wide search. Now, bear in mind that this was my first time really doing anything in PHP and search is quite a big thing. Ask Google. I'm pretty sure they'd back me up.

Today, some eight years later, I have implemented site search into my website. Of course, it's running circles around my original code in terms of complexity, speed and even the amount of lines it's implemented in (340 v 70).

Here are some of the fun things the new search can do:

- Searches through all content types and each type can display differently in search results

- All searches are weighted against where the terms were matched. The algorithm is such: (matches in title * 10) + (matched tags * 5) + matches in body

- As with all aspects of my site, the search has a RESTful interface so I could make an ajaxy instant search if I so desired

Here are some good queries to show off what it can do:

Rock Band - Example where weighting really helps

Photoshop - Example of different document types

btw, if you wanted to see the old partyfish search code, here you go. The new search stuff will be added to the repository shortly and I'll be making that public very soon.

Relaunch... again!

After many, many months of development and fretting over design, I've finally completed the latest iteration of dxprog.com! There's quite a bundle of changes in this version both under the hood and... over it? Here are the highlights:

- New look The most obvious change is, of course, the new look. I've opted to go for a super clean look with more attention paid to the textual layout.

- Unified content model This means that items from my portfolio, artwork, videos or blog can all be displayed in the same list yet be treated differently for display. It reduces a lot of code and makes for a much nicer, streamlined presentation.

- Commenting upgrades In addition to being able to use your twitter account to sign-in, there's now the option of Facebook and anonymous. Also, comments are broken down into pages of fifty (there's only one post where you can see this in action).

- Speed I've done a lot of changes to the backend structure to enhance load times. The average load time as I'm writing this is well under a tenth of a second.

- Comics As much as I loathe some of those comics, dxprog.com is meant to be a repository of all my work. As such, you can view the entire Digital Double archive by clicking "Comics" up on the top nav. I'm going to work on getting the newer stuff in as I finish importing content.

- Sidebars There have been many tweaks and additions made to the various sidebars. The first I'd like to point out is the "Most Popular" which, as the name implies, is a listing of the current most popular items on the site. Another interesting one is "Last Listend To" which displays the last song I've listened to through my Music Page. Finally, the archives and tag clouds have been given some nice overhauls.

Of course, these are just the noticable differences. The amount of changes in the codebase are wide sweeping and quite substantial, but will allow for a much more maintainable codebase in the future. I plan on releasing the source within the next month or so after I've had a opportunity to watch it in the wild and fully document it. Until then, I hope you enjoy the new site. If you're having issues or have a suggestion, please feel free to leave comment!

More site updates

Having been sitting through web dev classes lately it's hard not to get the itch to start screwing around with stuff. However, instead of doing a complete redesign I've decided to just improve the functionality. First off, you'll notice that the main content stuff is much wider now. Very tasty. Even tastier than that, though, is how the side bars are now organized. Using the awesomeness of jQuery I am able to conveniently place everything in one column without sacrificing functionality or cluttering stuff up. Well, there it is.