Author Archives: Chris

If an infinite number of monkeys…

A PaperCut user recently reported an unfortunate situation. The PaperCut Pre-Paid/TopUp Card Wizard generated a card with an inappropriate random card number. The first reaction of our developers was to have a bit of a laugh – what are the chances of that? – followed by some serious discussions on the best way to fix the “bug”.

Censored Bad Word TopUp Card
The offending card censored to protect the innocent!

The situation reminded me of the Infinite monkey theorem. We calculated that the probability of this, or any other four letter word appearing in any one card, is approximately 1 in 800,000. That’s very low, but given a large enough number of administrators generating a large enough number of cards, it was bound to happen some day.

We considered a number of solutions including Black Listing words. The only problem with this approach was that it’s hard to know what constitutes a “bad” word in all the 9 languages we support. Also, maybe some legit words may be inappropriate in some cases. Our final solution was to simply drop vowels which in turn prevents word formation – a simple but elegant solution. Anyone know any bad four letter words without vowels?!


Subscribe to new posts:

Posted in General | Leave a comment

New Site Search

A number of visitors have suggested we implement an improved search system for the Knowledge Base and Manual. This project is now complete and we have a new unified site search that searches over the KB, manual, blog, and the site as a whole (check out the search link on the top right-hand corner of the home page). The search is AJAX based and works by overlaying the existing page – no pop-ups, or losing your position on the site. For the technical people interested, it’s driven by Google Custom Search.

We have a rapidly growing KB and we hope this will help PaperCut users find answers they’re after. Please give it a test run and let us know if you have any comments/suggestions.


Subscribe to new posts:

Posted in PaperCut Tips | 1 Comment

A turning point – students now want PaperCut too!

One of the students at Colchester Royal Grammar School in the UK emailed me last week to fill me in on one of their recent projects – making their school greener. One component of the project addressed printing and they used PaperCut and its environmental impact feature to draw attention to consumption. You can read a little bit more about their project here. It’s been very easy to convince school administrators about the need for PaperCut, but it’s always an up-hill battle convincing students that there are good reasons to control their printing. It now looks like we have a new generation of students that actually are embracing PaperCut!

The website also has an interesting survey (XLS file). Almost 40% of respondents didn’t use double-sided duplex printing because it was “too awkward”. Another good reason to deploy PaperCut – so you can enforce duplex on all printers that support it!


Subscribe to new posts:

Posted in General | Leave a comment

PaperCut Print Logger now in Italian

A big thanks to Alessia and her team for their work in translating PaperCut Print Logger into Italian. Alessia and her team undertook the work as part of a software localization course at San Pio V University in Italy. It’s great to see Universities focusing some of their attention on real-world projects. Practical projects where you can “make” something are so much more satisfying. Most of my course work during my University days was theoretically based. I acquired my practical skill” outside of course while working part-time as a system administrator and of course “playing” with computers at home. The theoretical skills in computer science are important, and more importantly for Universities with aging lectures, they never go out of date (e.g. algorithms, data structures, etc.). Practical skills on the other hand need constant updating – which Web 2.0 framework do you what to learn this week!

A number of Italian universities are using PaperCut NG for their print control, and they have coordinated to translate this application into Italian. It’s now great to offer our free print logger in Italian as well. Thanks again to Alessia and team.


Subscribe to new posts:

Posted in General, PaperCut Print Logger | Leave a comment

The evolution of the Tiger to the Leopard

We finally got version 8 out the door today and with it comes Mac OS X 10.5 Leopard support. The changes to support Leopard consisted of a sum total of 2001 lines – that is, 2000 lines of documentation and 1 line of code! Yes! That’s right. Only one line of source code needed addressing. Here is the offending line:

echo –n "${var}"

changing to:

printf "${var}"

For those interested, this is a line sits in a daemon startup shell script. echo –n is a way of suppressing the new line character. It was a real surprise to find that Apple had compiled the default shell (bash in compatibility mode) without echo –n support. I agree, strictly speaking this is not part of the POSIX standard, but it’s quite a bold change to drop something that’s become so entrenched over the years. I’m sure it will break many other programs, build scripts, and open source projects.

Only one line of code, but on the other hand a lot of new documentation. Leopard mandated documentation updates as buttons moved, menu options changed and it also brought with it a whole new list of bugs to “work around” :-( Us software developers love code but hate documentation – hence I’d rate this as a painful project!

Version 8 also includes a number of new features requested by our growing team of Mac users. I look forward to hearing more about your Leopard experiences.


Subscribe to new posts:

Posted in General | 3 Comments

Software for the future

One of my projects here at PaperCut is the Apple Mac development. (Yes. To all the Mac sites, I’m working on Leopard support right now!). I received this email from one of our US Mac sites and thought I’d share it with you. It also addresses one of my other pet projects – the environmental impact reporting feature.


The student response to PaperCut, the software that helps students account for their printing while also limiting printing is phenomenal! The 6th and 7th graders I have introduced to love the way it graphs the amount of trees they have used, the amount of carbon dioxide they have produced, and the electricity they have consumed in the printing process.

They are very excited that we have a program that is so forward thinking about our environment! Kids really are idealists! They want to do the right thing and now they have a way to self monitor! And they are even thinking of ways to use the data! Very exciting!

It’s great to see this enthusiasm. I never doubted the interest kids have on this topic, but it’s also great to see the older generation (i.e. the teachers :-) ) also share the same passions!


Subscribe to new posts:

Posted in General | 2 Comments

Happy Birthday PaperCut!

PaperCut was originally started back in 1999 making it now 8 years old. The code written back in 1999 stood the test of time well and in fact remanent of the original code remain today in the PaperCut Quota. In 2005 we embarked on a project to re-architect PaperCut – the result being PaperCut NG. Today PaperCut NG is 2 years old! It’s amazing how time flies.

Last year I posted an article graphing our progress with PaperCut NG. As you’ll see from the updated graph, our progress has not slowed and we’re now up to 450,000 lines of code!

PaperCut Trunk Lines of Code (LOC)

Some History

Here is a screen-shot of the original PaperCut website, circa 1998/1999 (very ugly… but we’ll call it “retro” to be nice!)

PaperCut Website (circa 1999)

Here is a screen-shot of one of the first versions of PaperCut. Notice the cool “Windows 95″ style icons!
An early screen-shot of PaperCut


Subscribe to new posts:

Posted in General | 2 Comments

Print Logger Update 1.2

I rolled out a new release of the free PaperCut Print Logger utility today – version 1.2. The release includes support for a number of new printer models as well as improved page/plot size detection on some HPGL based plotters. I’ve also updated the URLs to point to the www.papercut.com domain.


Subscribe to new posts:

Posted in PaperCut Print Logger, Releases | 1 Comment

Moving House

You may have noticed our new top news story – PaperCut’s new home at www.papercut.com. It’s great to finally have the papercut top level domain. It’s bound to make us more visible (and also looks a little “cooler”!). We’re now redirecting everyone across to the new domain. The process is a little bit like moving house… lots of things to do like updating contact details… but also a good excuse to throw out some junk and do a clean-up!

From a technical perspective, working out the best “method” to conduct the transition was a bit of a challenge. We decided on going for an HTTP 301-permanent redirect as suggested by Google. The process is however a little hit and miss in terms of search results as discussed in this interesting Wall Street Journal article.

The 301 redirect was put in place using an Apache .htaccess rule like:


RewriteCond %{REQUEST_METHOD} !^POST$ [NC]
RewriteCond %{HTTP_HOST} papercut\.biz$ [NC,OR]
RewriteCond %{HTTP_HOST} papercutsoftware\.com$ [NC]
RewriteRule ^(.*)$ http://www.papercut.com/$1 [R=permanent,L]

The first line prevents the redirect occurring on POST requests – an important requirement as browsers don’t handle redirects on POSTs very well. Disabling redirects on POST ensures PaperCut’s “Report Error” feature continues to work.

Welcome to our new home!


Subscribe to new posts:

Posted in General | Leave a comment

Duplicating Printer Config on the Mac

I’ve had a few Mac administrators ask for ideas on how to duplicate/copy printer configuration from one Mac desktop to another. It’s more of a general system administration question rather than an a development area we address here at PaperCut, but it’s an interesting related problem. I’ve written up a knowledge base article that proposes a simple script based solution. I hope some of the Mac admin’s out there find it useful.


Subscribe to new posts:

Posted in General | Leave a comment