The how and why of my programming
Web Development
Two Freelance Projects I’ll Admit To
Feb 20th
Earlier this month I completed a freelance project and launched a new website, AggieWomen.org. I’ll confess right now that this was one of my hardest projects to date. Why? Because I was not consulted in the initial development and had to pick it up after another developer quit in the middle of the promised work. Normally that might not be an issue, since I could just start from scratch or use modules I trust, but there were three problems from the client: 1) they was already expecting it ready soon, 2) they had already seen the WordPress back-end & liked of it, and 2) my client had been told that it could be made to do all their client wanted. No, I haven’t hunt the developer down yet, but they’re on my list…
Starting from where the other developer left off, I took 49 plugins down to 14 and 148 database tables down to 43. Why they felt the need to have four e-commerce plugins installed, I will never know nor feel the need to ask.
Although not a new release, I finished this mid-2011, I launched HHIBuckeyes.com for the Ohio State Buckeyes fans of Hilton Head Island, SC. The client did not want a graphic designer to do the template, so I presented several pre-made themes and had them pick one, then customized it to their taste and need. The homepage is content is completely controlled by the custom CMS, except for the bottom left graphic, with the image slider and all three text areas being editable. The newest feature for me, and my most liked feature, was the Schedule that shows the teams, kick-off times and scores for the season. For this I had to collect all of the logos and assign the teams to their divisions, but it was a custom module for the admin.
Yes, the headline is a joke!
Geekend 2011 Notes
Nov 17th
Last Thursday night I received a call from my father telling me he was at this conference called Geekend, something I had never heard of before and had to get him to spell out for me. After about five minutes, of him talking while I was checking out the website, I was sold on it, told my bosses I’d be gone the next day and drove straight to Savannah to arrive around midnight. It was worth it.
Download: Geekend 2011 Session Notes; last updated 2011-11-17.
More >
Hello Ferengi, a WordPress Plugin
Nov 10th
In the time honored tradition of reusing other people’s hard work, I have combined the Ferengi Rules of Acquisition with ever-fun concept from Hello Dolly to create a new quote plugin…
For fans of Star Trek, or any Ferengi out there, I present Hello Ferengi, a Ferengi’s slave to teaching non-Ferengi the proper rules of business and profit! Hello Ferengi is a small, fun plugin which will display a random Rule of Acquisition on the top-right of every administration page… but is that all?
Of course not, because I know the two-hundred and forty-second Rule of Acquisition…
Shortcode and Rules
[ferengi num="7" tag="0"] ## "Keep your ears open."
- num: defaults to 0; accepts 81 values (see below) that will return a Rule
- 0: a random Rule from the 80 known Rules of Acquisition
- 6R: the Sixth Rule according to Enterprise canon
- … and 79 misc., non-sequential numbers ranging from 1-286
- tag: defaults to -1; defines if you want the ROA Number tag returned or not
- 1: always show the tag
- 0: never show the tag
- -1: only show the tag if getting a random Rule
For the avid Star Trek fans…
But there are only 285 Official Rules of Acquisition!
Rule #286 may only be an unoffical Rule of Deep Space 9‘s Quark, but it is a very good rule.
What is the difference between 6 and 6R?
The series Enterprise said the Sixth Rule was something different from a previous declartion, so I labeled it as 6 Revised, or simply 6R, and left Deep Space 9‘s version of the Sixth Rule as 6.
Update: Custom Tags using jQuery 1.4.1
Aug 1st
Remember that pesky IE issue I was having with my Custom Tag for jQuery script? Well, it turns out that Internet Explorer is stuck up and just didn’t like the fact I created my own HTML tag to use… So, if you change the jTag selector to a div with a class of jTag, then everything works fine! Figures, huh?
(╯°□°)╯
$(document).ready( function() { $("div.jTag").each( function(){ var jTag = $(this); jTag.html('<img src="/images/loading.gif" alt="Loading..." />'); var jTagUrl = "http://www.example.com/CustomjQueryTags.php?"; var attrs = ['type', 'src', 'cat', 'rand', 'desc', 'limit', 'more']; $.each(attrs, function(i,a) { if(jTag.attr(a)) jTagUrl += '&'+a+'='+jTag.attr(a); }); jTag.load( jTagUrl, function() { jTag.replaceWith( jTag.html() ); } ); }); });
Custom Tags using jQuery 1.4.1
Feb 25th
So I’ve had the problem for a long while of wanting to pull database-driven items onto my already CMS controlled pages from anywhere within the page. These lists wouldn’t all be the same, and rather than worrying about have to make a separate tag for each different database table, I wanted them pretty much standardized, so I thought of using jQuery for it. (It is moments like this that I absolutely love JavaScript even though I am usually against it.
So, I did what I normally do and defined what I needed… I wanted to decided:
- What table will I be pulling the information from?
- What kind of additional parameters am I probably going to need?
- How do I want to “standardize” the look of all these different resource records into 2/3 columns per list?
I am going to ignore #3, but I figured there would be a couple different lists (events, books, comments, posts, etc…) that I might want to reference, so I made those my additional, optional fields. My tag thus became something like “<jtag type=”events”></jtag>” with the other parameters as additional attributes of the tag. The major problem was figuring how to compactly, yet simplistically generate the queries to .load() the results… After messing round with it for a couple of hours, I finally found a solution I was happy with.
More >
Pagination: Requirements Built The Product
Feb 12th
As I mentioned in Pagination Part 1: Who Is It For?, I had specific needs and goals for this function when I started it. My primary requirement was that whatever was created would be versatile enough to handle a variety of styles and list types, yet still create uniform pagination throughout the web site. While doing background research on what other pagination systems were doing, I noticed that most of the other styles were either a) taking SQL information as parameters and returning the paginated results along with the list or b) were taking “the basics”, seen below, and spitting out links for pages 1 through N, N being the last page number. Neither were sufficient enough for my usage standards, for both developer and user alike.
Pagination: Who Is It For?
Feb 9th
Pagination is an important feature of any site with pages, vertical or linked, of content to display. It is useful so that the visitor does not have to continuously scroll the page for content, nor click through too many pages to reach the desired content. There are also the concerns for the host and administrator: database traffic, result processing, usability to viewers, typical search engine optimization (SEO), etc… For both the end-user and the administrator, pagination is the result of trading between the developer wants, the targeted users of the content, and the users’ wants.
More >


