Enable Sharing of Printers via Apple AirPrint

This is relevant only after you have updated to Apple IOS 4.2.x on your iPhone, iPod Touch or iPad device. With this release, the ability to print has been added, but it takes a bit of configuration to setup the printer sharing itself as it relies on the Apple Bonjour service/protocol!

I assume that this is all trivial if you are using a networked printer, particularly if it’s wireless…. but if you have a printer that is shared by another computer on the network, you’ll have to do the following.

  1. Install iTunes 10.1 (or newer) on the PC
  2. Install IOS 4.2.1 (or newer) on the mobile device
  3. Download AirPrint.zip (airprint.exe, libairprint.dll, XpdfPrint.dll)
  4. Unzip it.
  5. Make a folder, “C:\Program Files (x86)\AirPrint\” (NOTE: without the x86 for 32bit)
  6. Copy the files to “C:\Program Files (x86)\AirPrint\” (NOTE: without the x86 for 32bit)
  7. Run “cmd.exe” as administrator
  8. Run the following commands (There should be a space between ‘=’ and ‘”‘)
    • Windows 64bits:
      sc.exe create AirPrint binPath= "C:\Program Files (x86)\AirPrint\airprint.exe -s" depend= "Bonjour Service" start= auto
      sc.exe start AirPrint
    • Windows 32bits:
      sc.exe create AirPrint binPath= "C:\Program Files\AirPrint\airprint.exe -s" depend= "Bonjour Service" start= auto
      sc.exe start AirPrint
  9. Let Windows Firewall allow AirPrint to communicate on the networks (Double click on the airprint.exe)
  10. Now, open Safari or any other printing application on your device and try to Print, the first time will have to select the printer, and you may need to give user credentials for the printer.

REFERENCES:

Cheers!

Linux/Windows file cleanup

If you make heavy (or even typical) use of your computer, you’ll often notice that it just doesn’t seem as fast as it once was. For a slight increase in performance, disk space and to generally remove some of the ‘temporary’ files/cruft that are routinely written to disk you have a few options.

Here are a few of my current favorites for doing ‘Spring Cleaning’ on my computers… BleachBit and CCleaner

BleachBit is available on all major platforms (Windows, OS/X, Linux).

META Tag ‘MSThemeCompatible’

Okay, so this one’s a little old, and I just found it while looking at some of Microsoft Update’s HTML source, it appears to be relevant for MSIE6 and newer and may be responsible for some interesting styling and behaviour of form components.

A quick search for it turns up lots of discussions about other browers such as Firefox being effected if the value is not defined… as such it’s likely a good idea to define it in your pages to be sure.

An old MSDN entry reads…

When running on Windows XP, Internet Explorer 6 and the content displayed in it sports a look and feel that matches the Windows XP platform. You can opt to have your HTML content not take on the same look as the operating system for elements such as buttons and scroll bars, by adding the following META tag:
<meta http-equiv="MSThemeCompatible" content="no" />

Setting this will disable theme support for the document. Some background on this, Windows XP (MSIE6) allows for the use of themes for the operating system to change the general color scheme of many elements.
As such, many HTML components (such as SELECT dropdowns, BUTTONS and INPUT fields ‘MAY’ also be effected if you don’t explicitly prevent it in your code.

There was some support for this in Mozilla Firefox builds for Windows, as such, while I’d normally recommend using a conditional comment, I’m torn in this case.

Cheers

Apache Tomcat Native Library (APR)

If you have ever looked at the console or logs while starting a Tomcat instance on Windows you have probably seen the following line about APR.

INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path

As long as the “tcnative-1.dll”¬† is in the Windows PATH, generally you can place it in c:\windows\system32, but any other location in the PATH will work should you need it to be portable, or have different versions in use.

NOTE: Other Operating Systems use a similar approach as Windows to add an environmental variable, optionally you can also add the appropriate location to the “java.library.path” attribute used when calling the VM, if you are more technically inclined. Also, be aware of 32 vs. 64 bit architectures when selecting your version!

Cheers

Windows NTFS Performance

For a very long time I was perplexed as to why my old 900Mhz Pentium-3 server outperformed many of my newer and faster machines, even when they all were running with essentially the same amount of memory and had the same 7200rpm hard-drives.

I recently realized that over the years, I had optimized the WindowsXP NTFS registry settings with a variety of software and manual edits, and thus had essentially changed the way that windows works with the drive itself.

Here are the current settings that these machines utilize, perhaps you can try them for yourselves:

WARNING: You need to be confortable making edits to your registry to do these changes, as such I will not document ‘how’ to open the registry itself, you can easily find that info anyways.¬† These are all DWORD settings.

HKLM\SYSTEM\CurrentControlSet\Control\FileSystem

  • DisableNTFSLastAccessUpdate¬† = 1
  • NtfsDisable8dot3NameCreation = 1
  • NtfsDisableLastAccessUpdate = 1
  • NtfsMftZoneReservation = 2

Cheers

Atari 2600 Emulator

While it was not technically a personal computer, the Atari 2600 was one of the first pieces of technology that I had experience with in my youth. I’ll likely outline the progression of machines/operating systems in a future post.

I’ve heard about Stella for quite a while, but never had any time to fiddle with it. Recently I found that Ubuntu includes an installer for it and took a chance look. Other versions are available for MacOS and Windows.

I also found a few websites that contain ROM images for the emulator and was playing some of my old games in a matter of minutes.

For those legal types out there… I actually do own the games that I played, in fact, they are currently boxed up in my basement.

References:

Happy Retro Gaming!!!

Free Computer Based VOIP

I’ve used a variety of computer based VOIP over the years. My current preference in this space is Skype as it’s free for computer-to-computer calls and even allows calls to and from regular phones (at a fee).

Video and text chat are also provided, as is ‘white-boarding’ with additional plugins.

Skype is available for most platforms, even mobile phones… I’ve found that while the Windows beta versions has some additional features, the Linux release is rock-solid.

http://www.skype.com/

There are also several hardware based solutions, like Vonage, available to replace your traditional phone service… perhaps we’ll cover that later.

Skype me!

Open Source FTP Client (and Server)

At one time, FTP was the only means available to move large files, times have changed but the need still exists, especially for developers like myself.

For years I’ve happily used FileZilla for my FTP needs, the client is available on most platforms. There is also a server available for Windows as most Linux variants already provide FTP.

Happy file transfers!

MySQL (Windows) service startup error 1067

I’ve installed and managed dozens of MySQL installations for several years, occasionally it seems that an install just doesn’t run like it has in the past.

Recently I had a problem where the service would not start (Error 1067) on Windows Server 2003 (R2)… which is running under VMWare. After checking the obvious places and turning up nothing I started down the list of potential solutions exposed by Google search.

The ultimate solution it seems is that the ‘my.ini’ file needed to include the specific path information required by the service…. without it the service would not start.

Here’s my current file (c:\windows\my.ini) for reference:

[WinMySQLAdmin]
Server=C:/mysql40/bin/mysqld-nt.exe
[mysqld]
basedir=c:/mysql40
datadir=c:/mysql40/data

For the really observant readers of this entry… you will notice that this is for MySQL 4.0 (which is no longer officially supported). It’s mostly used as it is widely compatible across various host systems that are sometimes problematic with newer releases.

Cheers.

Apache Native Client

If you do any development or even production testing with Apache Tomcat, you may have seen the following message in your logs.

“The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path”

Here’s a quick solution that will leave you with greatly improved performance.

  1. Go to the following URI’s:
  2. Download the appropriate version of tcnative-1.dll
  3. For Windows, place that file in c:\windows\system32\ 
  4. Restart your Tomcat server
  5. You are done!

Cheers