- Home Page
Categories
Archives
- January 2012
- December 2011
- November 2011
- October 2011
- September 2011
- August 2011
- June 2011
- May 2011
- April 2011
- February 2011
- January 2011
- December 2010
- October 2010
- September 2010
- August 2010
- July 2010
- June 2010
- May 2010
- April 2010
- March 2010
- February 2010
- January 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- February 2007
- December 2006
- November 2006
- October 2006
- September 2006
- August 2006
- June 2006
- May 2006
- April 2006
- February 2006
- November 2005
- October 2005
- September 2005
- June 2005
- April 2005
- March 2005
- February 2005
- January 2005
- December 2004
- November 2004
- October 2004
- September 2004
- August 2004
Author Archives: Matt
Minor update for Net Control module for Windows
We just released an updated Windows build of the Net Control release that includes a fix for using domain groups when PaperCut is running on a member server. The problem was that PaperCut was only listing local groups in the setup wizard, so domain groups could not be used. If you were running PaperCut on a domain controller then the domain groups will list correctly, and there is no need to update.
You can download the latest release (Build 3816) from the Net Control module testing page.
Posted in General
Leave a comment
PaperCut NG 6.1 released!
Wow, it’s been a very long time since my last post… I am alive!
We’ve been really busy over the past few months making PaperCut NG even better, and just released version 6.1. It adds a number of often requested features like LDAP, but some of the best improvements have been under the covers in the User Client, including:
- Much faster print notifications
- Much improved scalability when running thousands of clients simultaneously
- Reduced bandwidth usage
- More robust when the client can’t connect to the server upon startup
We had a client running the User Client on almost 2000 workstations simultaneously!! And this was putting considerable load on the PaperCut Application Server, so we had to rethink our approach. The result was a large re-write of the client and the code on the server that handle client connections. If you’re a software developer and you’ve ever ever had to do this type of optimization, you’ll know that it’s quite tricky. You’ll also know that the bottlenecks are often not where you thought they would be.
But the effort was worth it!
The client now consumes very little bandwidth (10% of the bandwidth it did previously), the print notifications are almost instantaneous, and the server handles thousands of simultaneous connections without breaking a sweat.
… anyway … back to work!
Installing and configuring SquidNT
It’s been a while since my last blog … so I thought I’d make do an update on my series about configuring Squid proxy.
This time I’m going to concentrate on SquidNT, which is a version of Squid compiled for Windows, that come with some useful helpers to allow authentication with Windows and Active Directory.
The key advantages of SquidNT, when compared to Squid on Linux/Unix are:
- A bit easier to get going if you’re not familiar with Linux/Unix
- You can configure Windows authentication more simply, and your users will be authenticated automatically without being prompted for their username/password.
- Don’t need to know how to install/compile Unix applications (We’ve had customers whose Linux distribution did not include the latest version of Squid and had troubles authenticating with Windows. Getting an unsupported version of Squid onto the distribution proved difficult.)
The major problem with SquidNT, is that the installation documentation is hard to come by. Although the core Squid documentation is good, the Windows specific documentation is not easy to find… so hopefully my article will help.
So if you’re interested in running Squid on Windows, then read my article: Installing and Configuring SquidNT. If you have any questions, then feel free to get in touch.
(If you want to use Squid on Linux/Unix and authenticate with Active Directory, then my previous article is the best place to start.)
We’re in the Top 10!
There are about 250,000 members of SpreadFirefox, and we’re currently 10th in the SpreadFirefox rollcall.
It probably won’t last long … and it might not happen again … but here’s proof.

Posted in General
Leave a comment
emailStripper recommended by Kim Komando
I’ve never heard of Kim Komando, but apparently she’s a radio show host in the US with a huge following. On the weekend she recommended our free tool, emailStripper. emailStripper strips those annoying >>>>> characters from emails that have been forwarded too many times. We wrote emailStripper about 5 years ago and its popularity never ceases to amaze us, getting thousands of downloads each month.
On the day emailStripper was recommended on Kim’s “site of the day”, we received about 13,000 unique visitors and used about 2.3 GB of bandwidth (and the day isn’t over yet). This is about 8-10 times our normal Sunday traffic of 1200 visitors and 250MB of bandwidth.
A side effect of this traffic was that our SpreadFirefox ranking jumped. Last time I checked we were 11th! Obviously many of Kim’s listeners took our recommendation of Mozilla Thunderbird and Firefox seriously.

PaperCut listed in the SpreadFirefox Top 250
We at PaperCut are huge fans of the Mozilla Firefox web browser, and the Mozilla Thunderbird email client. We all use these products internally everyday.
Not only do they provide a great user experience, you’re not as susceptible to the viruses and spyware that plague the Microsoft products.
If you’re not using these products now … then start!
To help promote these great products we’ve put links on our emailStripper page (which gets plenty of hits), and also on the footer of our blogs below.
We’ve only had these links on the site, and we’re already ranked 179 on the SpreadFirefox Top referrers page and rising fast. We’re happy to try to promote these products any way we can, but it’s also nice to get this recognition!
(PS: Coincidently, I’m wearing my Firefox T-Shirt today too!)
Layout is fixed with a WordPress Template
OK, the blog is back looking quite close to what it used to. Chris’ blog is still running the old style, if you want to compare the differences.
I’ve implemented the new style using the new WordPress 1.5 templating system, which will make things easier to upgrade in the future. It should also be much easier to share a template between blogs just with a symlink to another blog’s theme directory. This should make it much simpler to keep all the PaperCut blogs looking the same and result in less maintenance over time.
Thanks again to the WordPress dev team for such a great product.
Posted in General
Leave a comment
Upgraded to WordPress 1.5
WordPress 1.5 was released this week, and I’ve only just found the time to upgrade. The upgrade process was a breeze.
I’m still running the default theme, so all I need to do now is to apply re-apply the PaperCut Software template. I’m wondering whether it’s worth creating a PaperCut theme, or just hack the template like we did previously. The themes seem to be a more manageable solution, but it’s probably a bit more work too. I guess it’s something to investigate over the next few days.
Gotta love open source … I fixed it myself
I’m currently using the excellent Eclipse Java IDE for development work, and using the Jetty Launcher plugin to enable firing up the Jetty web server within Eclipse. It allows you to debug your web application directly in the IDE, making Java web development much smoother.
Unfortunately the current version of the Jetty Launcher does not work with the latest Jetty release (5.1), and Jetty 5.0 doesn’t seem to be available for download anymore. I searched the issue database at SourceForge and found that the issue had been reported by Marino Jonsson, and he suggested a possible fix. But there was no response from the project owner. The plugin is open source, so I figured I should get the source, code up the fix and build the project for myself.
I haven’t done any Eclipse Plugin development, so it took some fiddling with the Ant build.xml to get the plugin to build (the Eclipse jars could not be found when compiling). The result is a jettylauncher.jar that you can drop into your Jetty Launcher 1.2.1 directory and overwrite the old one (in [eclipsedir]/plugins/com.iw.plugins.jettylauncher_1.2.1).
Download the fixed Jetty Launcher (jettylauncher.jar)
If you’re interested in what I changed, here’s the unified diff …
diff -u -r1.9 Utils.java --- Utils.java 29 Aug 2004 16:42:37 -0000 1.9 +++ Utils.java 17 Feb 2005 12:21:53 -0000 @@ -29,6 +29,8 @@ import java.io.File; import java.io.IOException; import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; @@ -303,7 +305,8 @@ */ public static String getJettyVersionString(File jarLocFile) throws MalformedURLException, ClassNotFoundException, - InstantiationException, IllegalAccessException, NoSuchFieldException + InstantiationException, IllegalAccessException, NoSuchFieldException, + NoSuchMethodException, InvocationTargetException { ClassLoader currentClassLoader = null; currentClassLoader = Thread.currentThread().getContextClassLoader(); @@ -314,10 +317,20 @@ URLClassLoader jarClassLoader = URLClassLoader.newInstance( new URL[]{jarLocFile.toURL()}, currentClassLoader); Class versionClass = jarClassLoader.loadClass("org.mortbay.http.Version"); - Object version = versionClass.newInstance(); - Field versionImplField = versionClass.getField("__VersionImpl"); - String versionString = (String)versionImplField.get(version); - return versionString; + + String versionString; + + try { + Object version = versionClass.newInstance(); + Field versionImplField = versionClass.getField("__VersionImpl"); + versionString = (String)versionImplField.get(version); + } catch (NoSuchFieldException e) { + // This must be Jetty 5.1+ + Method method = versionClass.getMethod("getImplVersion", null); + versionString = (String) method.invoke(null, null); + } + + return versionString; } /**
Posted in General
9 Comments
Squid Proxy and Windows Active Directory Authentication
An Internet or Web Proxy is one of the most important applications on a large network. It allows you to
- track user’s internet usage
- save on bandwidth costs through content caching
- limit user access to irrelevant or objectionable content
If you’re running PaperCut, and want to make use of Internet Quotas, then you will need a proxy server that logs the Internet usage and user names to a log file.
Squid Proxy is one of the best proxies out there, and is available for no cost, however it’s designed to run on Linux/Unix machines. This often poses a problem if you’re running a Windows Active Directory, because you can’t get Squid to authenticate users before giving them access to the Internet.
Fortunately, Squid comes with some utilities to solve this problem. The Squid LDAP authentication helpers allow you to authenticate users in an LDAP directory and even assign access rights based on their LDAP group membership.
So what’s this got to do with Microsoft Active Directory?! Well Active Directory is actually an LDAP v3 compliant directory, so it can be queried across a network from any LDAP compliant applications, including Squid.
Working with Ryan Brinch (one of our customers), we’ve written a how-to guide to configuring Squid to authenticate with Active Directory.
It details the configuration changes you need to make to squid.conf in order to use the Squid LDAP helpers (ldap_auth and squid_ldap_group) to authenticate with Active Directory.
This is a much easier way to get Squid/Windows authentication to work without having to install and configure Samba and Winbind … and you don’t need your Squid server to be a member of your domain. It’s much simpler!
Hopefully that helps you out. Feel free to get in touch if you have any questions or suggestions.
Posted in General
2 Comments