Mr. Tweak - Windows Network & Admin Tweaks

Windows network, systems, and software Administration Tips & Tricks


3 comments Stop Expiration of HP Inkjet Printer Cartridges

HP 5610 inkjet printerFor years HP has been adding expiration dates to some inkjet printer cartridges so they can’t be indefinitely refilled. There was even a lawsuit contending every HP inkjet printer since 2001 was affected by the expiration. The problem generally only affects printer users who refill their cartridges, but I’ve run into it a few times in dealing with clients who stockpiled print cartridges on much older models. In those cases, after several years on the shelf, the cartridges are still new when inserted into the printer but aren’t recognized and can never be used.

So far there seem to be three types of solutions to solving the expiring cartridge problem. The fourth “fix” is 100% guaranteed to work: find an HP model that doesn’t use chipped cartridges:

  • Use Microsoft printer drivers instead of HP drivers: The Microsoft-written printer drivers that are included with Windows XP and Vista don’t check for the expiration date like HP-written drivers do. This isn’t a fix for newer printer models, which only have HP-written drivers on the market.
  • Edit the HP driver’s .INI file to NOT check for the expiration date: I wouldn’t recommend this if you’re not already comfortable editting the registry or writing windows scripts. This is more relevant to newer printers and cartridges, as they don’t have an expiration date until they’re first used. Older printers with very old cartridges that have a built-in expiration date set at the factory can’t be helped by this fix. (And, remember to make a backup of the .INI file before editting it.)

    Start with a new cartridge. Do not install the cartridge until you do the following.

    There is an *.ini file (hpSomethingOrOther.ini) stored in the system directory (WINNT in NT and 2000) that has a name probably associated with the driver version.

    Search for hp*.ini and edit the ones with the latest dates. If you configure the printer driver first, see below, the file date should read today.

    There are two files, one will list the one you need to change, change the other one, I think it is the smaller one.

    In it there is a parameter something like pencheck. It is set to 0100. I think this is a boolean because I tried other values without effect. Set it to 0000 in the file and save the file and REBOOT.

    You can check the value in the driver configuration dialog box (found through the Help for the HP tool box, open the last entry, I think, and click on configure).

    If the grayed out box for ink check or cartridge check or something like that is unchecked, you are in business. Cancel this dialog. Do NOT click on default or the expiration check will be reinstated and when you print with your new cartridge you will get an expiration date burned into it.

    I wouldn’t trust making any changes to this dialog box without rechecking that the parameter stays unchecked. After making sure this value is unchecked, install your new virgin cartridge(s) and the expiration date(s) will read “UNKNOWN”.

    Link to full .INI-editting article.

  • Remove the printer’s internal battery to reset the memory chip in the cartridges: Removing the battery with the ink cartridge installed erases the expiration date stored on cartridges not set at the factory. Battery location and ease-of-access varies greatly by printer model. Here’s a descriptin of the problem and instructions for the d125xi printer and a Fixyourownprinter.com forum thread with details on many models of printers.

[Photo credit: liewcf]



4 comments Dugg or Slashdotted: Why Shared Web Hosting is a Scam

I’ve always wondered if most hosting companies even care about supporting their customers when traffic surges hit. A recently Dugg article “How Not To Deal With A Digg” makes it worth revisting those thoughts and putting up a bit of math to support that shared hosting companies are concealing a lot behind the bandwidth they offer in their packages.

Just like most gyms sell memberships to more people than could fit into the workout area if all those members showed up once per day, many hosting companies price their packages at levels that are only profittable if traffic stays very low. In the Seminal’s article, referenced above, they started with a shared web hosting package from iPowerWeb. That package offers 2,000 GB of bandwidth for $8/month - and I’m going to stay focused on that number because bandwidth is the number one place where shared web hosting companies fail to deliver on their promises (plus an 800mhz Pentium 3 with 1 GB RAM webserver that I run at work delivers 10-15 GB/day of web traffic for an application we only use internally, so the meagre specs on that hardware work fine for 275 GB/month [conservatively, 12.5 GB/day for 22 work days each month] over 100 mbps & 1 gbps network connections). A good price for bandwidth, for a hosting company leasing multiple OCx-class connections, is about $0.06/GB. That means that 2,000 GB of bandwidth works out to $120/month. In fact, your $8/month is only enough to pay for about 133 GB of bandwidth before the hosting company starts dropping into the red.

Yikes! The truth is there’s no way those lower-end hosting companies can make money from basic web hosting packages if even a small percentage of their clients are using a good chunk of the allotted bandwidth. It’s true that the numbers presented in the hosting package descriptions are typically loss-leaders, but the packages and services offered by any hosting company should be capable of reaching what they’re rated to. And, if the high bandwidth usage is a problem thsn companies should either ask users causing them a loss to leave (which sure would get those companies a lot of attention on Slashdot and Digg) or they should also institute and disclose a rate-cap of how much bandwidth/second can be used (for example: 2,000 GB/month over 2,592,000 seconds for a max rate of ~768 KBps).

In my experience of content sites’ daily traffic patterns, most non-rich media websites see averaged daily traffic rates that are only 5-15% of their peak daily rate. Let’s assume that a front page link from Digg will only triple your normal peak rate of visits (unlikely) and then work backward from 768 KBps to see what a realistic monthly usage would be from one of those shared hosting packages. One third of 768 KBps is 256 KBps, which represents our peak daily traffic rate when not featured on a big, linking site. Take 10% of that and get 25.6 KBps, or 26 KBps if we round to keep things clean. 26 KBps times the 2,592,000 seconds in a 30 day month is 67,392,000 KB of data, or ~67.4 GB/month when we’re talking in the same terms as those hosting plan providers. That seems more reasonable at a rate of $0.06/GB for an $8/month web hosting plan. Now only about $4/month goes to pay for bandwidth and the rest can pay for the hosting providers servers and staff.

Before we forget the whole point of this, 768 KBps means that an average content site with a 250 KB front page, JS, CSS, and images will take about 1/3rd of a second to transfer. Add another half second of latency, I know average latency isn’t that high but the server and browser take a little while to deal with each individual HTML, CSS, JS, and image to be transferred, and the total page load time is about 5/6ths of a second. Now grab this Browser statistics Firefox extenstion and check your own shared host website. This site has a 156 KB page load, is happily hosted on a 1and1 shared server, and has a 4.5 sec. average page load time and 1.8 sec. minimum page load time according to Google’s webmaseter tools and the large number of page loads their spider does of this site. Odds are you’re looking at a download time a lot higher than 5/6ths of a second. If that’s the case then how can your shared webserver ever stand up to the traffic experienced when being Dugg or Slashdotted?

Plain and simple, that shared web server won’t cut it when you’re Dugg or Slashdotted. The artificial statistics I’m using above, of 768 KBps peak and 26 KBps sustained, make it clear that shared host webservers aren’t capable of profittably delivering the 1,000+ GB/month that most of them advertise. Real world page load times indicate that most shared hosting companies can’t realistically sustain a 768 KBps peak rate or 67 GB/month of traffic to your site. All the caching and HTML/CSS-tweaking in the world won’t save a website when it still has to get squeezed through a skinny pipe.

Sadly, many shared hosting companies are generally happy save money offering poor service and then by allowing higher bandwidth users (costing them $0.06/GB) to move elsewhere. I really hope this practice goes the way of selling CRT monitors based on the tube size instead of the viewable size. Since I’m not a fan of government regulation, I hope some of the bigger or higher-quality shared hosting companies start offering throughput guarantees to compete with the cheap shared hosting packages that can’t deliver.



0 comments Visual Studio Pro with MSDN Subscription - Just $1 for Students

I’ve started doing a lot of development lately and been shopping for an MSDN subscription. I happened to run across an academic copy of Visual Studio 2005 Professional with an MSDN Pro subscription, for just $1. While I may not be able to take advantage of the deal, maybe someone out there can save a few dollars on the Visual Studio suite.

No, I’m not an affiliate of this website and I won’t earn anything if you click through, buy, don’t buy, etc.

Update: Looks like the price was updated (now $1,150), sorry to anyone who was hoping to pick Visual Studio up cheaply. Link removed.



0 comments Utilities to Delete a File on Restart - Working Around “Access Denied”, “Sharing Violation”, and Spyware/Trojans

Recent spyware and trojans hide behind Windows’ own protection for open files, while many of the new antivirus, security, and even PC-cleanup programs that are supposed to fix those also leave behind processes and open files. All of those may cause repeated “Access Denied” and “Sharing Violation” errors.

Solving the errors used to involve juggling PID’s from the Windows Task Manager and repeated use of Microsoft’s kill.exe process. Even scripting the kill.exe process at boot or from Safe Mode is common. Here’s a list of utilities to automate the process and make manual cleanups a bit faster.

I’ve always liked SysInternals’ stable and well thought-out tools and here are two great utilities: the freeware Process Explorer and PS Kill. PS Kill adds support for scrubbing networked PCs to kill.exe, while Process Explorer tracks all tied processes, DLLs, and other open files. That makes Process Explorer useful - to find everything you actually want to close and delete. The good interface makes it good even when tossing out PS Kill and using any of the cleanup tools below.

One I like is the freeware MoveOnBoot. Just right-clicking on a file lets you choose to Copy/Move/Delete a file on the PCs next boot. It’s also recommended in “How To Override “Access Denied” and “Sharing Violation” Roadblocks”, along with Unlocker Gotcha. Unlocker Gotacha is also freeware and their interface looks pretty fast. They’ve added a bit of Process Explorer’s functionality, so you just need to right-click a folder and a list of all open/locked files will pop up.

Also take a look at EMCO’s Unlock IT. Instead of adding files to a list and rebooting, Unlock IT integrates the ability to kill processes within the interface and copy, move, or delete related files immediately. Instant gratification is great - and even better when it means not needing to wait through a boot process slowed by too many viruses and trojans.

Article tagged: , , , , , , , , , , , , , , , , , , ,



2 comments Install New Array Manager Hidden in Dell’s OpenManage 4.5 Utility

Another support call to Dell today for a replacement SCSI drive, thankfully the server had a hot spare in the array or we would be restoring our whole Help Desk and Windows SUS systems. We were taking shifts on the phone while running the extended hardware diagnostics for a second time and, like all long support calls, I chatted with the Dell support tech. Among other things I complained about the removal of the Array Manager interface from Dell’s newest OpenManage 4.5 utility… the interface of the replacement is slow and cluttered.

The older Array Manager can cause problems, and isn’t supported, when installed alongside Open Manage 4.5. It turns out there is a new Array Manager hidden on the OpenManage CD or downloaded installer. It’s not supported officially, but it doesn’t cause the conflicts the old Array Manager did and you won’t be asked to install it before proceeding with other troublshooting. Here is the executable path and extra commands to run in order to install the new version of Array Manager alongside OpenManage:

(CD Drive or Extracted Installer Folder):\srvadmin\windows\SystemManagement\msiexec.exe /i SysMgt.msi ENABLEAM=YES



1 comment Run Remote Desktop in Dual-Monitor Mode - List of RDC Command Switches

I run dual-monitor systems both at home and work and regularly use Remote Desktop for remote connections. Last week I was finally fed up with connecting to remote systems in their single-monitor resolutions. My search turned up Microsoft’s command line switches for the Terminal Services and Remote Desktop clients and the file format of .RDP-format (saved Remote Desktop setting) shortcuts.

The easiest way to open a local Remote Desktop window with 2560-by-1024 dimensions (remote system must support the choosen resolution) is to open the run dialog box and type type “mstsc /w:2560 /h:1024″. The mstsc.exe is the Remote Desktop client in the \system32\ folder and the flags attempt to force the remote system to send screen data at the settings specified. Don’t overdo the resolution requests. If a remote system’s video driver isn’t capable of the requested resolution it steps-down to the closest single-monitor settings. Likewise, beware of where icons are placed on the remote system, as the forced high-res leaves them at the same x:y points and hides them from users logging into a local desktop session.

To save both resolution and connection settings Mstsc.exe commands can be saved to .LNK shortcuts:

  • Right-click on the desktop or a folder and choose New > Shortcut.
  • In the “Item location…” field add the command-line from earlier, with an additional location flag: “mstsc /w:2560 /h:1024 /v:10.10.10.10:9999″. Replace 10.10.10.10:9999 with your IP, a colon, and the port # of your RDC connection. Leave the colon and port # off if using the default RDC port # 3389.
  • Click Next, name the shortcut, and click Finish.

Here is the full Remote Desktop command flags list. Additionally, .RDP files can be edited using the mstsc /edit flag. The complete .RDP file format settings list is here. There is a bug in using mstsc.exe from the command line to access Windows 2003 servers. The bug forces you to enter login credentials multiple times; here is that fix.



0 comments MetaBuilder - Sweet, Free ASP.NET Controls

A thanks and some link cred to Andy Smith for saving me the time of having to rewrite his MetaBuilder free, collapsing-expanding panel control.

Google failed to pull up this control at all, and Yahoo had it all the way back on page 2 of search results. To help prevent so many costly or plain-bad IT and developer tools from filling the top search results, any other techies with sites please link genuinely useful tools when you find them.