My primary workstation at work is an Apple iMac 9,1 (in Apple terms, an ‘early-2009′ model), and spends 99% of its uptime running Windows 7 x64 (which actually isn’t supported on this model – you need to manually run the x64 Bootcamp .msi on the disk to install, as the setup.exe reports that 64-bit Windows isn’t supported).

During the installation of Bootcamp, though I noticed something — Apple although Apple appears to check which model of computer you’re using for compatibility purposes, it doesn’t do the same when determining which drivers to install. As such, the installation take approximately eight-billion times longer to complete than it should (sorry, I’m no good with numbers), and leaves Programs and Features looking like this:

Apple's Leftovers

I mean, really Apple? Is it really that hard to add a simple WMI call (WMIC BIOS Get SMBIOSBIOSVersion, perhaps?) and compare it to a simple CSV-file and only install the drivers required for that system?

It’s a good thing they stopped making the I’m a Mac commercials, or Justin Long would need to put on fifty pounds to account for Apple’s bloat.

Here’s one with an easy fix. If you’ve just installed WordPress on your server and can upload images but WordPress doesn’t let you resize them in the same form, SSH in to your server and do the following:

yum install php-gd

service httpd restart

And you’re done! …At least, as long as you’re using an RHEL-compatible Linux distro. If not, use your package manager of choice, or manually find and load the php-gd extension!

I came back from vacation the other day to find that some computers on our primary domain (example.local) were unable to access shares on a secondary domain (test.local) located in another building, accessed via a wireless link). When attempting to open the share (or just browse to the Domain Controller), the following error would appear:

Share Error

"There are currently no logon servers available to service the logon request."

Google’ing did no good, as there were only vague references to DNS issues and WINS servers (the later of which we don’t use). As nothing had changed in the environment recently, I was at a bit of a loss. I could ping the DC (Homer) in question, and even RDP to it, but I couldn’t for the life of me access the share. NSLOOKUP behaved normally, but then I had a thought — the DC that I couldn’t access was also acting as a DNS server (the primary one for test.local) with example.local as a Secondary Zone (which, of course, contained the DNS entries for the computers that were having trouble accessing the secondary domain). When I loaded the DNS manager and clicked on that zone, I was immediately greeted with an error stating the following:

DNS Error

Turns out, there *was* a DNS problem!

The problem was that I had removed a DNS server over a year ago and it was still referenced as the primary DNS server for this zone. For some reason, the Windows DNS service had just now decided this was a problem and stopped grabbing copies of the zone from the functional secondary DNS server.

To fix this, I simply right-clicked on the zone, chose Properties, and then removed the offending server IP from the General tab and updated with the correct servers and order. As soon as I finished, the computers had no trouble accessing that DC again. Magic!

Yes, it is possible. It’s not pretty by any means (a proper Class 2 SSL Certificate is the best way to go), but it can be done. Click Continue Reading for the process.

More »

The other morning, the Developer Channel version of Google Chrome prompted me to upgrade with the following text box:

Chrome Upgrade Message

Updated with my own screenshot

So I dutifully updated as I usually do, only to start experiencing crashes on just about any page I loaded. I know Google was going for humour here, but I think they were oddly prophetic this time….

I did not know that, on Windows 7 systems with a dual-monitor setup, you can middle-click on a window title bar (maximized or normal) and the window will instantly jump to the other monitor. To return it, simply middle-click the title bar again.

Huh.

Edit: Turns out I’m a complete git and the reason I didn’t know about this is because it isn’t a feature of Windows 7 — it’s actually a feature of DisplayFusion. D’oh!

An HP P4015dn - This morning, the bane of my existence

An HP P4015dn - This morning, the bane of my existence

Note: Make sure to read over the comments on this post – there is some excellent advice there as well.

Windows 7 has been very good to me so far, but this morning I was literally pounding my desk in frustration over a printer issue. I just received two brand-new Dell Optiplex 780′s and was in the process of configuring the printers on them when I happened across this little message:

Windows Cannot Connect to the Printer: 0x0000007e

Now here’s the situation. The computers are running Windows 7 Professional x64. The printer (an HP P4015dn) is connected to a Windows XP x86 machine and shared normally. Of all of our printers, this is the only one directly shared with a computer due to a wiring issue I have yet to correct (although now I’m going to make an effort to fix it). I have several other computers running XP and Vista (x86 and x64) that already print this computer without issue, so I was rather stumped. Then I realized I had attempted to install the Vista x64 Postscript drivers instead of the Windows 7 ones.

Unfortunately, Windows 7 no longer provides a dedicated ‘Printers’ control panel, and the ‘Devices and Printers’ one doesn’t have a Server Properties option to let you manage installed drivers. So, I stopped the print spooler service and manually deleted the drivers from C:\Windows\System32\spool\Drivers. When I tried to re-add the printer, though, I got this message:

Windows Cannot Connect to the Printer: 0×00000006

Hmm. Google wasn’t much help, so I went to an old standby – I mannually added the network printer by choosing to create a local port (silly, I know). Here’s how to get this working:

  1. In the Devices and Printers control panel, choose Add a Printer.
  2. In the new window, click Add a local printer.
  3. On the following screen, select Create a new port, and then choose Local Port from the drop-down list and click Next.
  4. When asked to enter a Port Name, use the full path to the printer. For example, if your printer share is called Dave and is a computer with the name PrintSrv1, you would enter \PrintSrv1Dave as the Port Name. If you receive an error saying The network path was not found, check the computer name and share name, then try again.
  5. You should be asked to install a driver. Manually download the correct driver (in this case, the HP Universal PostScript driver worked for my HP P4015dn) from the manufacturer’s website and extract it to a folder on your computer. Then click the Have Disk… button in the Add Printer wizard and point it to that folder, then click OK and Next.
  6. Wait for it to install the driver.

At this point, the printer should be installed and functional. Print a test page to make sure everything worked alright, and then do a little dance (as long as no one is looking)!

To the person who found my blog with the search, “is endpoint good“:

Meh.

(Seriously, though, it’s a matter of perspective — I use Symantec EndPoint 11 (SEP) because I can’t stand McAfee and most of the other enterprise-level antivirus suites, but yeah, it’s not that great).

It's Froyo!

It's Froyo!

IMPORTANT NOTE: It’s been pointed out that the Froyo ROM floating around is nothing more than a Release Candidate. Although that means that it’s technically feature complete, it’s still little more than a beta. Expect bugs, expect brokenness, and don’t expect any help with it.

I’ve been using the pre-rooted Froyo update (Android 2.2) for a few hours now, and here are my first impressions:

  • Speed: Holy crap is this fast! In fact, it’s even faster than some of the ROMs running over-clocked kernels. It takes about the same amount of time to boot, but the phone is very responsive as soon as the lock screen appears, and I haven’t encountered any lag throughout the system.
  • App Restore: I had no idea this feature was in Froyo, but imagine my surprise when I booted up Froyo after a full wipe only to have it immediately restore all of my installed apps! Talk about a time saver!
  • Bookmarks: Even though I was missing a few, most of my bookmarks in Browser were automatically synced. This alone almost makes the Froyo update worth while.
  • Exchange Sync: Everything works exactly as before, only now it syncs with my Exchange calendar out-of-box quickly and painlessly. No more need for CorpCAL.apk!
  • Froyo-Only Apps: One of the first apps out for Froyo is ChromeToPhone — it lets you send links from Chrome on your desktop/laptop computer directly to your Android device. Gone are the days of using URL shorteners or QR codes to get something on your phone – instead, simply browse to the site you want on your computer, then click a button in the toolbar. You’re Android device will near-instantly receive the link and notify you.
  • Bugs: Yes, there are a few. The main one I’ve run in to is trying to turn off USB Storage. If you attempt to turn it off on the phone before ‘Safely Removing’ the device in Windows, Android becomes generally unresponsive and eventually reboots. While annoying, I’m not really that surprised, as I did it wrong. Also, Terminal Emulator crashes in Froyo due to a compatibility issue with the stock ROM. This will hopefully be addressed in a future update, but for the time being, use ConnectBot.

I can’t wait for the eventual CyanogenMod 6.x based on Froyo, but that won’t be out for a while, as Google has yet to release the source code for 2.2. Things are definitely looking good for Android, though!

UPDATE: The HTC_IME (virtual keyboard) has been updated for Froyo. Get it on XDA.

Android FroyoI’ve written a few articles about Android, and my opinion of the platform should be pretty apparent. So, I’m just going to jump right in to my favorite features highlighted for version 2.2 (Froyo), and what they’re all about:

  • Better Exchange Support: As big a fan as I am of Google Apps, I still use Exchange at work, so having a phone that can integrate with Exchange is very important. Android has done this well since 1.5 (possibly earlier, but that was the first version I used), however there was no official support for Exchange Calendar Syncing. I’ve been using the CorpCAL.apk to sync my calendar, but with Froyo I’ll be able to do it out-of-box. Add in the remote-wipe ability, and the experience is complete!
  • Portable Hotspots: I’ve only used tethering on my Nexus One a few times, but being able to do so saved me a lot of trouble. With Froyo, not only can you tether, but you can turn your Android device in to a wireless hot spot for up eight other devices. How handy is that?
  • Voice Dialing Over Bluetooth: Finally.
  • Flash: To quote Vic Gundotra, Google’s Vice-President of Engineering who was detailing Froyo features during the Google I/O keynote session, “Part of being open means you’re inclusive rather than exclusive.” Google understands that yes, people do in fact use Flash. It might not be the best mobile media framework out, and yes, it might out-right suck, but people use it. Rather than actively restrict people using their platform, Google allows developers to do what they want and end users to see what they want, unlike a certain fruit-based company that likes to spin their perspective and convince their users that their form of closed is better than another’s.
  • Market Improvements: I’ve been waiting for these for a long time. Although the biggest news was that you’ll be able to browse the Android Market from your computer’s web browser and remotely install apps to your Android device, the biggest news for me was also the simplest, smallest feature: the addition of an ‘Update All’ button. No longer will you have to groan as Market notifies you that seven apps have updates available. Gone are the days of clicking an app, then clicking update, then clicking OK, then going back to the Downloads list, and then repeating. One button, one small feature, has alone made 2.2 worth the update. Of course, I could be going a little overboard there….
  • Continuing Support: Although carriers are lagging behind, Google has continued to support older devices, such as the G1, the MyTouch 3G (aka the HTC Dream and Magic, respectively). Through a recent announcement, Google will continue to push code to support older devices in newer releases, such as Froyo.

So is Froyo something that I’m looking forward to? Absolutely. What else am I looking forward to? Well, there is a certain ROM that looks like it will get the Froyo treatment as well….

(I did not create the Android logo posted. Portions of this page are modifications based on work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License.)