Friday, December 14, 2018

TextWrangler multi-file search problems

TextWrangler is the free baby brother of BBEdit, and is a fantastic text editor. On an older computer that runs Mac OS 10.5.7, we’ve been using TextWrangler 3.5.3 to do large-scale web site updates for years because it has multi-file search and replace capabilities that work quickly and smoothly.

Until the last couple of weeks, when the multi-file search broke in very strange ways. I don’t know whether to describe this as a bug, error, corrupt file, issue, or some other term that might lead you here if you are also experiencing this problem. The behavior was that when we press “Find all”, it acts like we chose “Search all”. When we enter a text string that is in one or more files, TextWrangler claims that it’s not present at all. When we enter a text string that is not in any files, TextWrangler brings up every file, highlights nothing (because there is nothing to highlight), and claims that every file contains the string. Choosing case-sensitive or grep did not change the wrong behavior. Choosing small or large file sets did not change the behavior. This was all perfectly consistent and reproducible despite rebooting and reinstallation of TextWrangler 3.5.3.

What finally fixed it was removing a few TextWrangler files from the Library:

Library>Application Support>TextWrangler
Library>Preferences>com.barebones.textwrangler.plist
Library>Preferences>com.barebones.PreferenceData
Library>Caches>com.barebones.textwrangler

After removing those (or renaming them to "problem-[...]" so we still had a copy) and relaunching TextWrangler, the multi-file find no longer got confused with multi-file replace, files turned up and didn’t when they were supposed to, and we were back in business solving actual problems with our web site.

I’m sad that TextWrangler will no longer exist for new computers, even though BBEdit can apparently do even more than TextWrangler ever could. There’s something very satisfying about using software that works (and aside from this short period, TextWrangler has been rock solid) and doesn’t have a huge number of features that I don’t need.

Tuesday, February 13, 2018

Deprec(i)ated

Who doesn’t love tax software? That glorious buffer between unreadable IRS forms and an intimidated public, hoping to turn a simple page of data entry into 45 interview pages of single questions that feel like a miserably intrusive first date.

Hmm. When I put it that way, it’s less appealing.

But you know what’s even less fun? Reading someone else’s complaint about tax software!

But this isn’t a complaint about tax software. Certainly not about H&R Block’s 2017 TaxCut software for Mac, which inexplicably displays and prints the wrong depreciation percentage (3.1750%) on line 40 of Form 8829 while still secretly applying the correct depreciation percentage (2.5640%) to line 39 to get the correct result on line 41.

It’s a complaint about tax software companies. See, isn’t that better?

Bugs happen. People make the software, and people make mistakes. The trick is to have a sane ticketing system to document and then fix the bugs.

Digression: We don’t call them bugs any more; now they are issues. Bugs are unambiguously errors, and errors suggest blame or fault. Issues are simply disagreements. The software and the IRS instructions disagree about what to put on line 40, for example, so there’s an issue with line 40. An issue is something to be resolved through negotiation or compromise, and makes it clear that the source of the disagreement and responsibility for fixing the disagreement belongs to both the software and the user. This is much like the change in how apologies are phrased these days: H&R Block is sorry if you feel that line 40 should show the correct depreciation percentage. When I was young, apologies did not have a conditional “if” and did not focus on the aggrieved party’s feelings, as if the problem is that anyone paid attention to the wrong behavior.

Further digression: I should clarify that H&R Block is not, in fact, sorry for anything that their software does incorrectly on line 40 of Form 8829. I invented that apology example out of whole cloth. I am sorry if (not that) H&R Block feels (not is) confused by the (not my) suggestion that they would ever actually apologize.

But back to the idea of a ticketing system. See, there should be a way to report a bug. But a company like H&R Block doesn’t want to get flooded with bug reports, so they use a challenge and response system to weed out the reports they don’t want. Which appears to be all of them. The specific challenge they use is this: “Find the online chat function that our phone system, our website, and our software help system all tell you to use.” The response they are looking for is for users to give up, because there is no actual chat function. If you fail to provide the correct response, their phone system will put you on hold for a very long time, transfer you to a person who may or may not understand the complicated phrase “line 40,” put you on hold again while they look to see if this is already a known issue, and then transfer you to the survey without ever gathering any actual details.

After spending over three hours trying to get the bug report to H&R Block, I successfully reached a human being who confirmed that the incorrect depreciation percentage was a known “issue” and was not currently expected to be fixed. Yay! So I can either let the software show the wrong percentage on line 40 but the right result on line 41 and efile, or I can override the software to show the correct percentage and be forced to mail in my return via the US Mail like an animal in the wilderness (to borrow a phrase). First world problems.

I’d rather see the bug issue reporting system be publicly accessible, so I could check for myself to see what people have reported. That sort of transparency would probably be terribly embarrassing for H&R Block, but works well for users like me. I also used to like the “data source” feature in tax software, where you could select a number on a form and have the software tell you which piece of its digital ass worksheet or interview it pulled that number out of.

The IRS doesn’t help by having a complicated depreciation system. We could simplify that. Line 40 of Form 8829 is about depreciating my house. In my experience, no piece of my house lasts 39 years or even 27.5 years. More like 2-3 years. Or possibly falling down faster than I can keep propping it back up. I’ve seen Ford Fiestas with fewer miles than my house hold up better, and my house isn’t moving a whole lot faster than a Ford Fiesta.

Tax software, like a Ford Fiesta, isn’t meant to last. It’s a transient object of ridicule interest, meant to meet a need briefly and then be replaced. But in both cases I’d like it to work while I have it, even if it makes a terrible putt-putt noise and lurches every time I turn left or try to take a child tax credit.