Monday, December 7, 2009

Vista SP2

Problems installing Vista SP2, generally with an error code of 80004005?

Good luck searching the web for help with that. There are roughly 8 million opinions (and 36,700 hits on Google) as to what might cause this, as I found when trying to update a friend's computer, but so far, only one person has a working solution.

The short version? Open regedit, and if this key does not exist, create it with the default value:

HKLM\Software\Microsoft\Windows\CurrentVersion\SysHiper

Service Pack 2 installs fine once that key is in place. Only took a dozen or so tries to install, with countless configuration changes over the course of my last week (on vacation) before I found that particular forum post. You are welcome.

If the key already exists, well then, you're probably buggered.

Thursday, September 24, 2009

NTFS, HFS, WTF

Don't get me started on the problems with a mixed network, but here's information to make sharing files easier.

MacOSX will read-only mount a NTFS partition by itself, but there is no way without extra software to read a HFS drive in Windows. For read-only access to an HFS drive in Windows, HFSExplorer does the trick quickly, and is open-source and free (GPL Ver 3).

Now if you want full access, it gets a little more complicated and / or expensive.

MacDrive gives Windows full read/write on HFS, but at a price of about $50.

MacOSX 10.4 + can get full read/write on NTFS with NTFS-3G (Both Free and Commercial versions available) and MacFuse. The latest release of NTFS-3G also simplifies the setup, installing both the driver and Fuse in one package.

As a disclaimer: I am noting information on all of these packages for reference, but the only one I've actually used myself is HFSExplorer. For that one, at least, I can say it gets the job done. Used it just today to read files from an external USB HFS drive. The interface is a little complicated (definitely for the advanced user) but the great thing about read-only access is you can't screw anything up. I was also surprised at the speed of file transfer from the USB HFS volume to the local drive, it seemed faster by itself than a Windows cut-n-paste.

Sunday, July 26, 2009

Kids these days.

I finally figured out why my new laptop has been randomly rebooting. It was not a hardware issue or problem with windows and all the virus scans came back clean. Very hard to troubleshoot, because I could not replicate the problem at will, and never saw it actually happen.

Turns out, it's my three-year-old daughter pushing the power button every time I leave the room. She wants to work on the computer like daddy. I guess this means I will have to move up my plans to put Sugar on a Stick on the old laptop.

In the meantime, I don't normally recommend other blogs, but this fellow has issues with his young daughter and his work as well.

Monday, July 6, 2009

Mobile Email Woes

The kids here at work (and by kids I mean my bosses) are using HTC Touch Pro phones (Windows Mobile 6.1) and we've recently changed over our email services to a new ISP. Turns out, changing the email accounts on the phones was a problem - I had email capabilities set up on the phones before I left for vacation a week ago - only to return to them not working.

What's worse is that it's only half-broken. Receiving email works either by IMAP or POP, but sending doesn't want to work at all. Makes it hard to troubleshoot when something works sort of.

Worse yet, trying all the same email settings in Outlook or Thunderbird or whatever your fancy works just fine too; problem then lies with either the phone, the carrier or the networks not playing nice.

Phone carrier blames the email provider, the email provider blames the phone carrier. Doesn't matter, the problem actually lies with the fact that Windows Mobile 6.1 is trying to allow the phone carrier to specify alternate SMTP servers (ie. use their own, to streamline network traffic), which sounds fine on paper, but in fact is a headache when the carriers don't bother to do this. In that instance, a blank value is added for the alternate SMTP server, which essentially disables SMTP on that email account on the phone.

The issue identified, there is a Windows Mobile hotfix from Microsoft for the problem:

http://www.microsoft.com/downloads/details.aspx?familyid=d9d71b2e-d2dd-44f2-86e5-1e53aad7fb7a&displaylang=en

5 minutes to install per phone, include a phone reboot. Mail sends fine after that. I have heard, but not verified, that the hotfix needs to be reinstalled after adding another email account.

This is all a fine example of a bug being introduced when trying to add "features" or "make things simpler". How about next time we just add a checkbox to the account setup page on the phone that says "Use the damn server settings I specify and don't try to get smart about it."

Friday, June 26, 2009

Remember to floss...

My older daughter had gone off to play with the neighbor girl and the toddler was playing with Barbie dolls in her room, but was a little disappointed that she couldn't go with the bigger kids. She asked me to play with her.

"You can be the little princess, Daddy," she said, handing me her Sleeping Beauty doll.

"I don't want to be the little princess," I answered, more teasing than actually declining; as the father of two small girls, I am expected to dress baby dolls, play with princesses and ponies, get my hair brushed and occasionally, wear a tiara.

Drag queens and fathers of toddler girls - the only men who can pull off wearing a tiara.

"I don't want to be the little princess," I continued, and it was then that I spotted her dinosaur on the floor nearby, "I want to be the dinosaur," I picked up the large plastic tyrannosaurus, "and the dinosaur is going to eat this princess."

The three-year old sighed, "No, he not hungry."

"He's going to eat this princess," I said, making chomping noises and moving the dinosaur to get a good bite of the princess sprawled on the floor. As I turned him over, though, another princess fell out of the mouth of hollow, plastic rex.

"He not hungry," she repeated, not looking up, "he already eated."

While trying not to laugh out loud, I shook the dinosaur, there was something else in there. I turned rex upside down again, and a long piece of green plastic fell out.

"That his toothbrush. Toothbrushes are good for getting out princesses."

Friday, May 29, 2009

All your base... oh, nevermind.

Was playing in PHP this morning, then switched to a different project and was playing in Visual FoxPro, and as any multiple-language programmer will tell you, it's a bit annoying to shift between similiar languages, particularly because functions are generally just different enough to screw something up, or exist in one and not the other.

In my case this morning, I realized that VFP has no built-in function for calculating numbers in different bases - BASE_CONVERT() in PHP.

So I wrote a set of functions to do it.

Syntax is the same as the PHP version: BASE_CONVERT(NUMBER,BASEFROM,BASETO).

The functions have been tested in FoxPro Dos 2.6 and VFP 9.0 SP2, so should work in everything in between.

Source isn't pretty, but it IS functional, and fully commented.

Download the source PRG (ZIP) here.

"There are only 10 types of people in this world: Those that understand binary math and those that don't." - Unknown

Tuesday, May 26, 2009

Someone reads the Terms and EULA's

Even though I may be the only one.

From the email I just sent PayPal:

***

I apologize if this message is not properly directed, I chose what would seem to be the best option for informing you of this information. Please forward as appropriate.

On the PayPal User agreement located at the web address http://www.paypal.com/cgi-bin/webscr?cmd=xpt/UserAgreement/ua/USUA-outside#pbp-policy in the definitions section, Section 15, part ay, the definition for SNAD is as follows:

ay. "Significantly Not as Described" means the definition provided in section 13.11 of this Agreement.

However, the user agreement provided on that page contains no section 13.11 Section 13 ends at part 9. The actual definition of SNAD can be found in section 13, part 7 of the user agreement.

I assume this is merely an oversight in editing or a typographical error. Just letting you know.

***

I probably enjoyed pointing that out to them too much.

Friday, May 1, 2009

Irony

For a while now, I've been working on a plain-text compression\encryption program as a bit of a hobby. I don't think the program will ever be worth anything to anyone but me, it's just something I do when I'm bored, or when I need to take a break from other programming projects for a few minutes.

Working on this program has taught me a lot about compression and encryption on computers - and I've gotten reasonable results from my efforts, being able to compress plain ASCII text to levels comparable to commercial programs such as WinZip. This pet project is also helpful in other situations, such as when I'm trying to pick up a new programming language, and I think to myself, "How can I duplicate my encryption algorithms in this new language?" That gives me a baseline for teaching myself the new language, since I'm familiar with my own algorithms, I can concentrate on the language rather than the program.

Here's the thing: I wrote an outline of the program with some notes a little over a year ago, and I put it in a word document called "Encryption Program.doc" Haven't looked at the document since, because I can recite most of the algorithm off the top of my head.

I password-protected the word document.

I don't remember the password, so the document is encrypted.

It's the digital equivalent of writing the combination to a safe on a piece of paper and locking the paper in another safe. Why I would have password-protected this document, I don't know, but that only makes me want to open it more.

Thursday, April 30, 2009

TiddlyWiki

I was searching for some good DAM (Digital Asset Management) software - more on that later - when I stumbled upon Tiddlywiki, a neat little piece of web software.

From the author's description:

"TiddlyWiki is a single html file which has all the characteristics of a wiki - including all of the content, the functionality (including editing, saving, tagging and searching) and the style sheet. Because it's a single file, it's very portable - you can email it, put it on a web server or share it via a USB stick."

For its size (Current version, 341 KB, empty) it's a pretty powerful little tool, and since it's a single file entirely written in JAVA and HTML, it's very easy to customize - without even getting into the number of plugins available.

I had actually toyed with running a copy of MediaWiki through XAMPP on my laptop, but had been avoiding setting it up, as that's an awful lot of trouble to go to for just making some quick notes. TiddlyWiki, however, fills this need quite nicely, without overdoing things.

I'm now using several TiddlyWiki files to organize code snippets, writing notes, maintain my freqently-used bookmarks page and a few other simliar projects, including writing an interactive user manual.

I've also been using one to organize my stupid joke collection (mouseover for answers):

What is red and smells like blue paint?

What is brown and sticky?

Wednesday, April 29, 2009

Heads up... Incoming browser.

Internet Explorer 8 has been listed as a critical update by Microsoft. This means that if you are running Windows XP or better, you may already be downloading the newer version of IE.

For those of you not yet ready to make a switch, or are like me and using FireFox or another browser exclusively, and do not want IE8 or its updates on your machines, the link below will take you to the MS Toolkit which will block the critical update.

IE8 Blocker Toolkit

And for those of you that missed it, it's probably too late, but here's the blocker kit for IE7 as well:

IE7 Blocker Toolkit

Friday, April 24, 2009

Portable and/or Financial Software

Following up on my post the other day about portable software, it is worth noting that while a lot of software isn't specifically labeled as "portable," it can be made portable with a few tweaks. Sometimes this is as easy as moving the program from its default install location (typically %programfiles% or "C:\Program Files") to whatever portable location you so choose.

Other software isn't so easy. Some software installs additional support files to the system or drivers folders or requires specific services installed or configured or just has a load of registry entries. It may not be possible to make the software portable at all, or it may be worth it to find software that is portable that does the same thing.

If you have the smarts enough to install/uninstall software and copy files, it might be worth looking into the option of making it portable. A good rule of thumb is that the smaller a software package is, the less likely it is to require support files or lots of registry entries.

In the case of the two programs I recommend below, both by default will install to %programfiles% and both create a few registry entries. I have, however, successfully tested both of these apps as "portables." The few registry entries each creates are in fact only informational and/or information about the uninstallers for Windows.

To make these (and similar) programs "portable," follow these simple steps:
  1. Install the program as usual.
  2. Navigate to the %programfiles% folder. Copy (Don't move) the new program folder to the new portable location.
  3. Use Add/Remove Programs to uninstall the program from %programfiles%
  4. Test the program, you'll find out very quick whether or not it will still work. If it does, great, if not, delete the folder in the new location, no harm done.
  5. If necessary, update shortcuts and links to the new location.
The reason you want to copy and not move the program in step 2 is so that step 3 will work. The reason you want step 3 to work is make sure that your system is not littered with non-essential files and registry entries.

That all being said, I take no responsibility for your actions should you go mucking about in your Program Files, Windows, system or anywhere else on your computer, including the registry. I also take no responsibility should you follow my instructions, as I don't recommend you do this, especially if you don't know what you're doing, I'm just pointing out that it's possible. If you screw something up or void your warranty or violate the license on the software or piss off your sysadmin, it's your problem, not mine. Step up and take responsibility for your actions, ya lazy bum.

Two bits of software which I use on a regular basis are both freeware programs for financial calculations.

The first is a replacement for the windows calculator, called by some as "JD Free Calculator" and others as "JD Standard Calculator" or just as "JDCalc," depending on where you download it. It's about 313 KB, making it rather small, but has a lot of features, including a tape. As I said before, all calculators should have a viewable tape. JDCalc's tape is not only viewable, though, it's printable with a big, friendly button that says "Print Tape," which is just plain awesome. JDCalc also has built in loan and savings calculators (albeit summary versions only, though you can view two loans side-by-side), which make it for its size a good competitor against all the other windows-calculator-replacements out there.

Because JDCalc's loan calculator only provides a summary of a loan, in order to get a full amortization schedule for a loan and run estimates, I use a program called Amortizer by Quantech Software. In addition to giving you a full schedule, it also allows you to specify irregular or balloon payments on your loans, something that is useful if you want to see what would happen if you pay a little extra each month on your mortgage or skip a credit card payment (other than the bank releasing the hounds I mean.)

I have a few other thoughts on little utilities, but those shall wait for another day.

Wednesday, April 22, 2009

The Amazing Honda Civic

This morning on Boing Boing Gadgets a fellow by the name of Matthew Farley mentioned that his Honda Civic has traveled one light second in ten years.

I find this interestingly timely, as I noticed on my way to work this morning that my own Honda Civic rolled over the 209,000 mile mark:


Of course, my Civic is a '91. This means that my car is traveling substantially slower than his, having moved only 1.12 light seconds in its approximate 18-year life. To be fair though, my car was out for a few days on and off over the last month for some maintenance & repairs: front rotors & brakes, spark plugs, timing belt (recommended timing belt replacement = 0.332 light seconds), water pump, oil change and a clutch issue that I don't really want to get into.

(Thanks for the help, Geoff, by the way.)

A few people have said to me that I should look into getting a new car. Truth of the matter is, though, that I can either get a new car or send the kids to the good private school, but not both.

And I kind of like my car, even though it's rusted and dented and missing a few unimportant bits. It requires very little maintenance, other than a complete rebuild from scratch every few years (it is, in the seven years that I've owned it, it's almost completely replacement parts).

And chances are, I still get better gas mileage than you.


Photo of my Honda courtesy Google Street View as their magic van drove past my house.

Saturday, April 18, 2009

Portable Software

I am becoming a big fan of portable software. Most software with the "portable" label is designed to allow you to run it directly from a USB disk or an SD card or something similar, but in addition to those there are a number of small programs and utilities which are portable not by specific design, but simply by the fact that they are tiny, self-contained and don't litter the place up with unnecessary registry entries, support files and other nonsense.

In my particular case, I find I am using more and more portable software because it's easier to maintain across multiple computers/devices. I have a laptop that travels with me wherever I go, a computer on my desk at work, a desktop used for gaming and application development, the wife's computer at home, a second older laptop that (will be) used as a file server whenever I put the hard drive back in it, and a dozen or so USB drives, SD cards and external hard drives. Having one set of portable software and utilites - especially ones I can run across network - makes things much simpler.

As a side note, speaking of external hard drives, I picked up a masscool hard drive adapter the other day. I went looking for a 2.5 to 3.5 IDE drive adapter, and found this thing for the same price (about $20). It takes 2.5 IDE, 3.5 IDE and SATA drives all to USB. You can even hook up more than one drive at once.

In any case, back to portable software, the kids over at PortableApps.com do a nice job of keeping a package of portable software and utilities together - especially pretty standard stuff like FireFox and OpenOffice.

I have one problem with PortableApps.com, though, and that is their menu-loader, which allows you to organize and run the applications off a USB disk, only works with their packages. If you have another utility, you either have to use a workaround or skip the menu.

Today I found another nice little menu though, Pegtop Pstart, which has the nice add-on of also keeping short notes for you - something I'm forever doing in text files. You can also create shortcuts to folders. Probably the best bit of all, however, is the fact that you can run multiple instances concurrently (for different drives, perhaps, or different menu trees) without conflicting with each other. It is even possible to change the color of the tray icon so you can tell the different menus apart.

As a second runner-up in my search for a better menu was Porta'Menu by Jose Falcao. It's a quick menu, if you just want something that's small and works. (Small and works being the two biggest requirements of portable software.)

Porta'Menu lost in my comparison because I really liked the notes feature of Pstart, but Jose Falcao deserved a mention because he has a lot of other handy-looking, freeware utilities. The tiny calculator even has a viewable tape, something ever calc should have.

I have a respect for any software developer who creates, out of necessity or design or luck, software that just gets the job done, without any random nonsense added.

Monday, March 9, 2009

Two viruses and one false alarm

In an effort to possibly help other systems administrators who spend their mornings banging their heads on their desk, as well as document a few notes for myself, I am going to start recording here some of the problems and solutions to IT issues which I encounter.

We shall begin this morning with two (or three) virus issues:

A friend brought me his laptop to look over and I've found Antivirus 360 installed. For those of you not aware, AV 360 is a nasty piece of work which purports to be antivirus software, but in fact is a scam. Once installed on a machine, it will pretend to scan files and tell you that you have all sorts of problems and virus infections. Notifications will continue to pop-up, identifying legitimate files and sometimes files which don't even exist on your computer as viruses. This is all of course to get you to fork over cash for the program in order to "fix" these problems.

Fortunately, removal of AV360 is pretty straightforward:
  • Open task manager. Kill the av360.exe process.
  • The program will install itself to %Program Files%\av360, %Program Files&\a360 or a similarly named subfolder of %Program Files%. Delete this folder.
  • Get yourself a copy of HijackThis and run it to remove the startup entries.
Fortunately, AV360 will not harm the system if it's simply deleted. Unfortunately, it's extremely likely that it will try to reinstall itself and if you have AV360, chances are you have another infection or two as well.

Such as TDSSserv.sys. This little bit often installs along with AV360 and similar types of malware. Its purpose is to hijack the browser and searches - redirecting requests for information on how to remove virus infections to websites which will install even more. It will also prevent installers from loading, which effectively prevents you from installing real antivirus software which can eliminate the infections. (This is why its nice to have utilities handy which don't require installation and which you can run off a removable disk or drive, such as HijackThis and a portable virus scanner)

Removal of TDSSserv is also pretty straightforward:
  • Open task manager. Kill the TDSSserv process. (You may have to show hidden processes)
  • Open device manager. Go to view and enable "Show hidden devices"
  • In device manager in the tree under "Non Plug and Play Drivers" there will be a device called TDSSserv. Right-click this device and choose "disable." You cannot simply remove the device, if you do so, at reboot it will reinstall. You may have to reboot after disabling the device.
  • Now search for the TDSSserv.sys file, it will likely be located in %WINDIR% or %WINDIR%\System32. Delete the file.
And that's it, except for the final cleanup, which I suggest you do with a real antivirus software program. As I said before, if you have AV360 and TDSSserv, you likely have a few more infections as well. Disabling and removing these two with these steps however should allow you to get a proper antivirus and/or malware program installed on the machine to finish cleanup, as well as eliminating the popups and allowing your internet searches to go through in an attempt to find more specific information about your infections.

In the meantime, ESET NOD32, which is otherwise a nice corporate antivirus solution if your looking for something easy to manage across a large network, made a big mistake over the weekend with a false alarm.

NOD32's virus definitions update number 3218 included information which incorrectly identifies the two Windows System files dllhost.exe and msdtc.exe as a variant of the trojan WIN32/Kryptic.JX. In addition to the system files, various Windows temp files are also identified as the same virus.

Apparently ESET noticed their mistake about ten minutes after the update went live and quickly posted a fix, but if your system is set to auto-update any time a new definitions file comes online - which is where I'm at and in my opinion best practice - then you probably got a bunch of virus warning messages.

In my case, NOD32 is set to email me a warning notification any time it finds a virus on any of my corporate network machines. So I received two or three emails (One for each file identified as a virus) for each machine in my office - which is a little disconcerting first thing on a Monday morning.

The good news is that the update corrects the issue (In fact, we are a few updates ahead, up to 3921 as of this writing) and the files had already been restored from quarantine. If your system is set to automatically delete files rather than quarantine, however, you may have a problem.

It is probably also worth noting that the two files in question live in %WINDIR%\SYSTEM32 and Kryptic.JX is the incorrectly identified virus. If NOD32 finds these files outside of SYSTEM32 or identified as a different virus, then I hate to tell you, but you DO have an infection.

Friday, January 30, 2009

Coming soon...

(...er or later)

You know how it says at the top of this page "Check back for ..." even though I haven't made an entry here in a little over 6 months? Well, this very morning I was finally fed up with not being able to get anything done with my programming and writing projects decided to do something about it.

One of my biggest problems was a lack of usable web hosting & reliable database servers, so I've gone and gotten myself a real setup for web space and database rather than having to rely on free hosting with insufficient features or free database servers that crash or are unreliable or, more often than you would think, simply disappear.

Short end is, I now have the ability to actually effectively work on some of my PHP-based projects, as well as distribute some of my other softwares and nonsense. At least for the next two years - which is how much hosting I paid for in advance (I got a hell of a deal on it though.)

As a fun side note, I also registered my own vanity domain name, courtesy of the government of Montenegro.

majo.me - Go ahead, click it, you know you want to.

It'll just redirect you here, anyway.

In any case, content is coming, because now I have somewhere to put it.

J