Barnyard BBS

…enemies becoming friends,
…when bitterness ends
RSS 2.0 Feed

Looking for Hydroponics Tuesday?

Hydroponics Tuesday has grown so much that it has a website of its own. Visit to see it's new home.

Content, Blog, & Gallery Control Update Posted
8/23/2007 6:51:00 PM

I've just posted an update to the controls project...

Now the Content Control, Blog Control, and Gallery Control have full localization support.  They already include translations for English and Dutch (thanks to Peter de Graaff), and can easily be translated to other languages.  They allow for complete localization, including dates, time zones, and language options.

The project is also published at SourceForge, and has been updated with the new changes.

Sourceforge Reached 2,000 Downloads
6/15/2007 8:09:00 AM

Splendid news!

My ASP.Net Controls Project on SourceForge has reached over 2,000 downloads...

The controls project contains:

  • The Content Control - A client-editable region that you can use in your web pages.  It makes maintaining content easy for the average user.
  • The Blog Control - An easy way to insert a full featured validating blog into your site.  It allows your site to feature a blog, rather than your site being forced to run through a blogging package.
  • The Gallery Control - An easy to use and very advanced photo gallery.  It features automatic sizing based on client resolution, categorization, and Flickr synchronization.
New Flickr Account
6/8/2007 6:20:00 PM

After some careful deliberation, I've finally started a Flickr account of my own.

In case any of you aren't familiar with it, Flickr is a photo sharing site.  They're probably the biggest one out there.  They were recently purchased by Yahoo, as well.

I've set up a "pro" account, mostly because I want people to be able to download the originals.  I intentionally went with Flickr because of their strong ties with Creative Commons.  As you may have noticed, I release all my photos under a Creative Commons License.  I want people to be able to freely share my stuff, if they find it to be useful.  This is the same reason that I explicitly encourage downloading in my gallery.  I want to make content accessible.

Flickr will help serve my purpose.  Although I personally prefer my photo gallery to that of Flickr; they do bring something big to the table... They have a huge audience and they are directly integrated into the search facility of Creative Commons.  This should let a lot more people find my stuff, and hopefully pass it along.

Here's a link to my photos


Don't worry, I'm not stopping with the BarnyardBBS photo gallery, nor am I stopping development of the ASP.Net GalleryControl.  BarnyardBBS will always get the updates first, and the Flickr account only contains a subset of the total.  Flickr is for sharing the "broad appeal" photos with as many people as possible.  BarnyardBBS will always be home.

If you're anything like me, you're probably thinking that cross-posting so many photos will be very tedious.  That's why I'm not planning on doing it.  I've written a program that uses the Flickr API to automatically post updates from my regular photo gallery.  It scans the database that runs the photo gallery, and posts updates when necessary.  It's even smart enough to update my photosets with recent photos, to keep it fresh.

Don't worry, I'm going to share.  It's going to be a new feature of my open source ASP.Net GalleryControl in the next release.  Thus far, it's worked pretty well (as I've already posted over 500 photos to Flickr).  At the moment, it's running in the background on the webserver, waiting for updates.  As soon as it's stable, I'll make it available to everybody else using the GalleryControl.

Update: I've published an update to the ASP.Net Gallery Control that includes the Flickr Synchronization support.  It's available in the usual place,  Unrelatedly, this update also contains improvements to the Blog Control for linking to Digg and, as well.

New Code Released
4/5/2007 6:39:00 PM

Some of you might remember the previous posts about the Content Control.  It's a client-editable content management tool for building websites.  I built it a few months ago, and it's become the foundation for a lot of new work.

I'm proud to announce that I've released both an update to the Content Control AND two totally new projects.  Here's a quick description of the three of them:

  • The Content Control (client-editable regions in a web page, implemented as a control)
  • The Blog Control (a fully validating and CSS based blogging engine, implemented as a control)
  • The Photo Gallery Control (a fully validating and CSS based photo gallery, implemented as a control)

I originally created the Content Control because I wanted the flexibility of a CMS without the overhead and commitment. A CMS isn't part of the site; the site runs inside the CMS.  I didn't want that kind of lock-in.  So I built the Content Control.

The Content Control is meant to be inserted into a page; and it acts as a client-editable region.  It doesn't impose any constraints on the containing page; and it leaves the developer free to format it as they choose.  All said, it's worked very well.

Since the Content Control worked so well; I started looking at other projects that could benefit from the same philsophies...

I've used a number of blogging packages in my time; and to be truthful, none of them really made me happy.  They were typically packages that set up a site, provided blog features, and offered some degree of customization.  Rarely did their code validate.  Usually you could easily tell a blog package at "first sight".

I wanted a blogging package that didn't dominate the site.  I also wanted a blogging package that I could radically restyle using CSS. Additionally, I wanted something that complied with established web standards.  I couldn't find anything like that; so I started building.

It seemed natural to me that it should be implemented as an ASP.Net control.  Controls are like small programs that you can insert into a web page.  By implementing it as a control, this meant that a person could have multiple of them in the same site; and they wouldn't conflict.  The Blog Control uses the same TinyMCE editing interface as the Content Control.  It also offers a number of optional features, that make it quite easy to customize.  If you're reading this, you're probably already looking at the Blog Control.  I use all of my controls on my website.  Wanna guess what runs my blog?

The third control in the series is the new Photo Gallery Control.  I realized that my friends were getting jealous that I had a really sweet photo gallery (and they didn't).  I decided to re-implement a photo gallery similar to that on BarnyardBBS as a re-usable control, so I could share with the group.  While I was working on it; I decided to make some improvements to the original design.  The Gallery Control features automatic image resizing (custom to screen size), automatic thumbnail creation, easy administration, simple categorization, and magic EXIF reading code.  It's all compliant code and CSS-styled.  I switched BarnyardBBS to use the new Gallery Control (from the custom gallery we used to use) last month.  I've been testing and refining.  It's solid now.

I've been busy, and I've got another surprise.  I've built a new complete sample project for the controls.  It contains a complete working website, which demonstrates all three of them in one working package.  It begs to be customized.  Furthermore, I've made an online test drive of the controls.  You can see all the controls in action; including admin mode (where you can make changes).

Try the Test Drive now; or download the code as a package.

Also, here's my page devoted to the controls.  It includes coverage of all three ASP.Net controls, and the PHP version of the Content Control.

Additionally, I've posted the new sample project and source code to SourceForge.  You can visit the SourceForge project here.

I've put a lot of time into creating the three controls, but they're really helping people to create great websites.  You can see the newest controls in real-life action at Ancora Imparo, as it was the pilot site for the new Gallery Control.

Improvements Abound!
3/15/2007 6:40:00 PM

I've just finished another round of upgrades to the site.  We're running a shiny and new photo gallery.

A few months ago, I rewrote the blogging engine into a modular, CSS-able, fully validating control.  It was good.  This time, it was the photo gallery that got the rewrite.  Here are a few notable points about the new gallery, and also galleries in general:

  • I wrote the new gallery with the intention of making it a reusable control.  As soon as I feel that it's stable, I'll start sharing it with the world; much like the Content Control.
  • The new gallery does away with the "choose your options" screen of the past.  The new one is designed to "get straight to the content".  Advanced options are available (but are entirely optional).  I didn't like the fact that people were often confused by choosing options before seeing any pictures.  I like the new way much better, as you get to see the pictures right away.  The new system for category navigation is much easier to use.
  • I've added an option for full-text search.  It will let you search both the categorizations and the text description of each image.  It works pretty well. I like it.
  • The new gallery makes more use of Javascript / AJAX concepts.  It's got special resolution-detection, so images will always fit your screen perfectly.  The gallery works from the master images, and downsizes them to your screen size on the fly.  I think of it as a way of future-proofing (and not degrading my content in a permanent form).
  • CSS is wonderful.  Much like the blogging engine, the new gallery is completely CSS controlled.  The "look" of it is entirely determined by my site's style, and it's looks can be radically altered on some other installation.
  • The administration interface is all new and greatly improved.  It makes categorization incredibly fast.  It dramatically reduces the pain of posting new photos.  In fact, I've got special code that reads the EXIF data directly from the photos.  That saves lots of retyping.  I really should get a Canon test file; I've only tested it with Nikon images.  God shoots Nikon.

For the moment, assume that the gallery is unstable.  Let me know if you encounter anything weird.  Come to think of it; let me know what you think of the revisions.  I was trying for a very natural and modular design on this one.

Anybody who's running a .Net website... The gallery script will be open-sourced as soon as the code is proven.  Contact me if you just can't wait until then, and I'll give you a beta copy.

Blogging Engine Improvements
3/7/2007 8:10:00 PM

I've been hard at work improving the blogging engine that is used here at BarnyardBBS.  I've improved the search feature, and added the ability for people to comment.

Thus far, I'd never implemented commenting.  I had always been reluctant due to the possibility of abuse and spam.  After frequently reading Skye's Blog, I thought it was time to open up a bit.

The new commenting system is integrated into the existing blog.  In the bottom corner of each post, you will see the number of comments posted (click the link to read and post your own).

I decided that I don't like CAPTCHA images.  They're annoying.  They also aren't very accessible to anyone with even a slight vision problem.  However, spam cannot be ignored.  I built a simple math problem into the posting process to quell spambots.  The problems rotate frequently, just in case.

Also, I debated allowing HTML comments; but ultimately decided against it.  I try to keep my blog as pure and formattable content. Allowing markup in the comments would stray from that goal.  It's also much easier to simply strip all HTML from the code, rather than risk tricky exploits (and spam links).

I made them very easy. If the math problems are too hard for anybody to solve; I probably don't care about their thoughts anyway.

Time to see what happens.  For the moment, consider the blogging engine unstable, as I've written a lot of code in a short amount of time.

For the first time in BarnyardBBS history; let me know what you think (link in the bottom right corner of this post). 

New Content Control code posted
1/19/2007 4:58:00 PM

I've posted an update to the Content Control in the Projects section of the site.

After much pondering, I decided to perform a rewrite on it.  Originally, it was a server control (entirely code-based).  I rewrote it as a user control (markup and code).  It's greatly simplified; and the code is a lot cleaner.  I've updated the project on SourceForge as well.

In addition, I've coded up a PHP port of the same concept.  Although I don't work in PHP much, Wick had use for it.  The PHP version, with a sample project is also included in the Content Control area of Projects section.