The method below doesn't work in the Rails 3 version of will_paginate. Look here for instructions for on that.

Sometimes you get very specific directions from designers, and sometimes there are places where they're not able or willing to budge. Recently I had a project, built in Ruby on Rails, where the pagination needed to look like:

By default, will_paginate provides links for "Previous page", "Next page", and numerical links for the pages in your collection.

The Rails will_paginate gem/plugin provides a lot of styling flexibility out of the box, but this was something that needed customizing at the code level. Thankfully the project is well-designed and allows for easy extensibility. (The code that follows is not mine, but unfortunately I've lost the original location of where I found it, otherwise I would attribute it to its original source.)

Here's what I had to do:

The black square separator was cut as an image from the layout PSD

Created the HTML and set the CSS for the static elements on the page (the "page" text and the black square separator in the image above)

Create a special helper in my Rails application to overwrite the default WillPaginate::LinkRenderer class. I called this file pagination_list_link_renderer.rb and placed it under /app/helpers. (code below)

In the view where the pagination was to show, I implemented it with the following:

As a project manager, and especially as a freelancer, you have to organize projects into smaller, more manageable subprojects, so that when you bill your clients you can provide sufficient level of detail about how much time was spent on what task. At the same time, you don't want to go overboard with the specificity (i.e., "changing header background color from #fff to #fafafa", or "Updating footer text from xyz to abc"). Indeed, many small tasks will require less time to perform than to keep track of if you insist on being overly meticulous, which not only costs your clients extra money but also results in more headache for you in switching back and forth between tracking tasks and actually performing them.

The taxonomy I have arrived at that works for me, I believe, achieves a good balance between the two - specificity and ease of use. I like to structure my projects so:

Project name

Research and setup

Work performed

Testing

Revisions

Meetings

Within each of these categories you can define as many (or as few) subcategories that you feel is appropriate for the scale of your project. For a small catalog-type site, for example, I would stick with just these five categories, whereas for a larger-scale project I could expand it to something like:

Web DB with HTML5 UI (Prefer C. Springs)

Date: 2010-11-21, 9:25AM MSTReply to:
This e-mail address is being protected from spambots. You need JavaScript enabled to view it
[Errors when replying to ads?]

I am founder of a small company developing a software package for autism specialists. I am in need of some part time help with the coding. I require expertise in MySQL, PHP, and JQuery and Java Script. HTML5 experience would be a bonus. I am offering $20/hr to start and require references and a portfolio of previous work. I don't care if you are a student, a recent grad, or a moonlighting professional - so long as you have talent and expertise in this area. This could easily become a full time job by January. E-mail me your resume, 4 references (phone numbers, relationship, and email) and links to sites you have built (if you have them). This job will be filled in the next 10 days.

Location: Prefer C. Springs

Compensation: $20/hr

Telecommuting is ok.

This is a part-time job.

This is a contract job.

Principals only. Recruiters, please don't contact this job poster.

Please, no phone calls about this job!

Please do not contact job poster about other services, products or commercial interests.

(I know this would be much easier to demonstrate with an example, and I'll try to get one up soon.)

Problem

When using the jCarousel plugin for jQuery for a carousel in your website that shows not just an image but associated content that changes with each image, it can happen that if you click rapidly on the previous/next buttons the content and the associated content will get out of synchronization, so that, for example:

Clicking twice rapidly forward will display Image[2] and Associated_content[3], because while the image is slowly sliding in the text content responds to the two rapid clicks and advances twice.

Solution

I had this happen recently in a project for a client, and this is the workaround I devised for the problem:

The key here are the .one() jQuery method (instead of the more common .click() method) and the window.setTimeout JavaScript method.

jQuery's .one() binds the click event just once, and each time the window.setTimeout JavaScript method kicks in, disables the button for 1000 milliseconds, then enables it again and rebinds .one() to let the user click the navigation buttons once again.

Update

Run a bash script on my domain that e-mails me a backup of all the MySQL databases I have there, like for my personal blog, this site, and other projects

Another web developer I know recently had a hard drive crash. I don't know exactly how much but he lost quite a bit of data, including work he was doing for current clients. In addition he lost precious working time and money because he had to send the failed hard drive for partial recovery.

This incident made me feel empathy for my colleague, but also glad that I backup my data not just locally but also in "the cloud". What I do is pretty simple:

It's a known issue that the form submit button disappears when using the latest version of the All In One SEO Pack plugin with older versions of WordPress. I'm running WordPress 2.8.6 and it was an issue for me.