Sunday, March 3, 2019

To Paraphrase James Brady, "Killer Trees!"

Most people get their home inspected when they look to purchase one. You want to make sure your new home isn't full of hazards and potential money pits. You'll seek to have all the major systems checked out: electrical, plumbing, gas connections, the roof, the crawl space, the attic, the siding, windows, floors, appliances when they'll convey and slabs when any evidence presents itself that there might be issues under them. You'll pay attention to dated elements, room flow, open concept versus the kitchen being dark or isolated. You might pay attention to the driveway and other paved areas, although I'm sure for many that is more likely to be an overlooked afterthought. Your inspector will almost certainly bring up issues with any decking and even point out drainage issues in your yards. Chimneys will get enough attention for the average inspector to recommend you get a certified chimney professional out to give it a better look. You might even pay attention to the strength of your mobile phone signal and the proximity, for better or worse depending on your perspective, of the nearest cell towers. You may also pay attention if those monstrous high tension overhead power lines run close by. You'll likely want to know if the property is in a flood zone. You'll definitely make sure a termite inspection has been done and might even test for radon. There's one element however that I'll bet few of you pay any attention to. THE TREES! We're now in our second house and for both homes combined, EVEN counting a paid roof replacement (We didn't luck out with a hail storm to get it for free), the single biggest source of expense for us has been, you've now guessed it, our arboreal work. Trees are a maintenance nightmare, especially when they're old, tall and sickly. The worst, at least by us, are the gangly loblolly pines and cedars. Every couple of years we find ourselves pouring 4 figures down the storm drain to get trees pruned and removed. A tree that's fine this year, may be in distress two years later. A tree that was already kind of iffy two years earlier is suddenly an overnight nightmare that has to come down right away. And everything else in the house has to take a back seat to them. They cannot be ignored. You dare not ignore them. Substantial limbs will not just hurt, but kill whoever they fall on. Just a big limb, let alone the whole tree can come crashing through a roof, crush a car and worse. You have to have your trees inspected regularly, no different than your AC system or termite inspections. So word to the wise, add a good arborist to your pre-purchase home inspection team.

The Last Frontier for Free Phone Number Searching

I stumbled upon what may be the last great white (pages) hope, the last source for finding someone's phone number without having to pay.
US PhoneBook

Saturday, September 1, 2018

Worked Over by MySql Workbench?

Just went through angina after installing the latest version of MySql Workbench 8.0. Kept getting bad handshake errors connecting to a remote MySql database. Turns out that data base still runs on an antiquated version of MySql 5 and Workbench 8 is a typical liberal nanny state interface program that doesn't like conservative older database servers and feels it knows better than everyone else and that anyone who wants the benefits of its use better provide newer databases to use with it. Welllllll, upgrading that particular database just isn't in the cards this minute. Connecting remotely with it is. End shot bottom line, went back to Workbench 6.3.10 and SCREW Workbench 8.

Sunday, August 26, 2018

OhMySQL! Ya gonna Be the Death of Me!

Finally returned to my hobby website,, after like years of neglect. That site is totally driven by data stored on a MySQL database server and my extremely budget hosting plan hasn't had an update done to that server since around when I last updated any data on it. Suffice to say when I renewed my own localhost virtual server to do update development work on, I needed to start downloading regular database back ups again. Well, I'd been so out of it with MySQL I kind of forgot what I needed to do. Thought it would be as easy as exporting the whole shebang from one and importing into the other. WRONG!
Kept getting the wonderful MySQL error 1024 syntax error where TYPE=InnoDB. Well, I was just about to stick a TYPE up MySQL's InnoDB when I thankfully discovered that my virtual server's MySQL 5.6 is virulently WORDIST! It is prejudiced against the word TYPE. Only native born, full blooded ENGINEs are allowed. Bottom line? Just replaced TYPE= with ENGINE= and order was restored to the universe.
Follow @StreetlightSite on Twitter

Thursday, May 11, 2017

Don't Cast Numerics to Varchars In SQL Joins

Had a performance issue with a stored procedure recently and discovered why the thing was choking, taking minutes to run. It had a most unfortunate join factor among the several joins in a complex query. The join was a varchar field matched to an integer field. For whatever reason long lost in time, the writer decided to cast the integer as a varchar to map it against the crazy varchar field, whose values could be anything from numbers to symbols. That field's data content was out of our control, coming from an outside source and possibly needing to be preserved as is for auditing. The only values in that field however that meant anything to us were the numeric ones. What fixed the ridiculous runtime of this proc was to reverse the casting. I changed the join to instead cast the varchar as an int to match against the real int. To do that I had to make sure the varchar was numeric inside the cast. join dbo.StupidTableWithIdioticVarcharField s on cast(case when isnumeric(s.StupidField) = 1 then s.StupidField else 0 end as int) = NormalTable.NormalIntField The speedup was breathtaking. It would've been more breathtaking if the original data was designed, or at least redesigned differently, but sometimes you just gotta work with what you got.

Naming Temp Tables in Stored Procedures called by Others

Beware the temp table names you use when naming such tables in a stored procedure that in turn gets executed inside other stored procedures. If both the executing and executed procedures have temp tables with the same name, you might be in for a nightmarish episode of tearing your hair roots out. If using the same #TableName in both procedures, they must have the same exact column structure. You later add a column to the executor and don't do the same to the executed, you will end up tempted to execute yourself before you figure out why you keep getting insert errors in the child proc. Bottom line, keep temp table names different in procs called by other procs.

Saturday, September 19, 2015

Very happy with reconditioned Dewalt drill set from CPO

Originally submitted at CPO Dewalt

20V MAX Cordless Lithium-Ion Premium 3-Speed Drill Driver - DCD980M2R. (2) 20V MAX 4.0 Ah Lithium-Ion Batteries. Charger. Side Handle. Carrying Case

Very happy & surprised. Didn't expect new XR batteries
By Jeff from Charlotte on 9/19/2015

5out of 5
Pros: Powerful, Easy To Use, Good Battery Power
Bought kit basically for the 4ah batteries and charger to use with my Dewalt saws. The drill was like a freebie for the price and is a great drill, more powerful that the other one we own and that stabilizer handle came in handy very fast as I drilled into tree roots I'm trying to destroy. I didn't expect to get the new XR batteries with this and that made me very happy! They shipped very fast too. I'm usually loath to order refurbished items, but this one turned out great!