Strawberry Perl did a brain-dead thing to me

When one installs Strawberry Perl, one gets a file structure that has a directory named “site”. Underneath “site” is “bin”.

But of course, there is also a “bin” directory where the perl.exe is stored too. Why wouldn’t you store your source code in the bin directory with the perl.exe? If you are in that directory at the command prompt, perl.exe doesn’t have to do any searching to find your Perl script.

Somewhere along the line, I was told “Don’t put your source code in the bin directory where perl.exe is stored. An upgrade will come along, and delete everything in the directory where perl.exe is – including your source code! Put your scripts in ../site/bin because that won’t get wiped out during an update of perl.exe”

And, I just upgraded Strawberry Perl, and it wiped out everything.

Yes: including the ../site/bin directory dedicated to being my safe place for my source code! It’s the place (that was supposed to be) protected from accidental-upgrade-based-deletion.

Just “bin” – expect everything there to be wiped, when an upgrade happens. But “../site/bin” – the whole reason we have this extra folder structure is because there should be a place for your code that doesn’t get clobbered during an upgrade.

And Strawberry Perl clobbered it anyway.

Sigh. This make me really leery of trying to make scripts I could distribute to my users. Should we need to push an upgrade to Strawberry Perl, if someone had written their own scripts, we would clobber their work! Gah!

Advertising sucks: Billy Jones never existed here

Somewhere along the line, my local newspaper started selling advertising (to the fools who do business with them) for a false name. Someone invented a name and put it on their mailing list, of a person who has never lived at my street address.

I am the second owner of my house. The original owner lived there for 45 years. I do know every name of every person who has lived at my address, ever.

Billy Jones was never one of them. For all I know such a person has never existed.

Half of the crapmail I get is addressed to Billy Jones.

I have even telephoned the credit card advertising company telephone number where you can opt-out of credit card offers. OK, for me that worked; but what about Billy Jones?

Yeah, they aren’t going to allow me to opt-out until I cough up Billy Jones’ social security number. This infuriates me – for all I know, Billy Jones is my neighbor’s hamster.

There are some good things about Billy Jones:

  • I can instantly throw anything addressed to Billy in the trash.
  • The companies that are paying for advertisements sent to Billy are 100% losing their money.

Hopefully, the people buying advertising will figure that out. Advertising is all loss and no gain; you deserve to lose your money on it for spending it with a company that will falsify the names on the mailing list.

Ha! Ha! Sucks to be you.

But really, I would prefer you advertisers just stop it.

Advertising: bane of the modern world

A while back, I was on Reddit, reading the subreddit AskReddit “What is the biggest scam that we all tolerate collectively?”

For me, the answer is advertising.

$1,300 per man, woman, and child will be spent this year on advertising here in the U.S.A. (2019)

And I doubt that includes everything; there are several industries that make their money by providing services to the advertising industry, but may not be considered a part of the 2% of GPD dedicated to advertising. Much of the stuff I hate comes from printers; but the whole printing industry isn’t all advertising (text books being the primary exception).

Some industries cost more than 2% of GPD of course. But those are worth something, or optional, or both.

I either have a choice to spend my money for those, or, I get something for it. Advertising just sucks.

The purpose of advertising is to waste my time. To distract me from what is good, and to say “look at me! look at me! pay attention to me before you throw me away!” This is a complete waste of my time, and someone’s money.

It is terribly wasteful. Some clueless person hires someone in the creative class to design shit, then hires workers to print the shit, then pays for workers to deliver the shit to me, for the sole reason for me to throw it in the trash! How did we get to this point? Who thought this was a good idea?

How can we stop it?

Yes, all of radio and television is the same waste; but, I don’t tune in. You want to waste your money – go for it. Although if someone else has the same product at lower cost (because they don’t waste their money on advertising), you bet I’m buying their product instead / preferentially.

But snail mail: I hate you. There is no option to opt-out.

The only way I know of how to stop this shit is to remove the tax deductions for advertising / marketing expenses. I’d love to see this; but I’m not holding my breath.

Silly Game of Thrones idea

Over on Reddit, in the Game of Thrones subreddit, there is a ballot you can cast, for the question of who do you want to see on the Iron Throne? (It may be for who do you expect to see on the Iron Throne at the end?)

I’ve cast my ballot, but the thought occurred to me: what if George R.R. Martin wanted to screw with us?

It’s no secret that he is willing to kill off beloved characters. It’s also not a secret that the television series outpaced the books. The producers of the show had to arrange to meet with GRRM, and spent a weekend with him in a hotel room, getting him to write the ending of the story: A Song of Ice and Fire. In some sense, they needed him to play his hand before the real books come out. What if George felt a little mischievous? Or maybe he wants to create a crisis of emotional loss, in the audience of people who think there are heroes in the Game of Thrones?

At the time of this writing, there is only one more episode yet un-aired.

What if GRRM fed the producers a plot line that won’t be anything like the real books he is writing?

OK – spoilers below. You have been warned. Click this line to reveal

Cersei was killed off in a way that left me quite unsatisfied. I, and I imagine many people, wanted the people she oppressed to get their vengeance in her death. Vengeance denied!

What if GRRM wanted to deliver that same emotional impact with all the television viewers? What if he wanted to have the last laugh by tormenting us all? What if the good ending to the stories is going to be in the book (“buy the books for the real ending!!!”)?

In this vein, I think Sansa Stark will win the Games of Throne. Here’s how I could see it happening.

  • Tyrion is killed off immediately, as soon as Daenerys learns that Tyrion released Jaime.
  • Daenerys, fearing plotting by Sansa, orders Jon Snow to kill Sansa.
  • Jon Snow refuses.
  • Daenerys has Jon Snow killed. Likely, Grey Worm does this.
  • Arya kills Daenerys as revenge for killing Jon.
  • Drogon (the remaining dragon) seeing his mother killed, kills Arya.

This would leave Sansa, Samwell, Bran, and Grey Worm remaining.

Grey Worm could take over, and through sheer might with his army, seize the Iron Throne. That wouldn’t really be such a bad ending, so under the theory that GRRM wants to make you have to think about your emotions about the ending – yeah, that’s right out.

Bran wouldn’t get it, because of his infirmity, and Sansa wants it.

Samwell could want it (but so far, he doesn’t really). The nerds in the audience (and I fit that bill) would be happy if a nerd won the Iron Throne – so that’s right out. It would be kind of a happy ending, but it wouldn’t hit you in the gut, really.

Which leaves Sansa.

The sister who agreed to marry Joffrey, who suffered a little, but by appearances got to live the plush life (in fact, she was later raped by Ramsay Boulton, but not many people know that), who felt bad, but never much helped as her family were hunted and killed. “Well, I felt bad, while you all died; but you’re all dead now, so I might as well take the Iron Throne and live the good life.”

That would be an emotional kick in the gut. I could see GRRM doing it.

Of course, a super twist would be Tormund and Brienne getting married and taking over the North; letting the South burn and war and starve, and the Iron Throne become a curse to anyone dumb enough to fight for it.

So that’s my silly idea. One more week to find out. 🙂

All-in-One WP Migration prior to being crippled by it's authors

Newer versions of the WordPress plugin All-in-One WP Migration have been re-written to refuse to work if the migration file is larger than 512MB. The plugin has been deliberately crippled to induce you to pay for an upgrade that unlocks larger file sizes.

One thing that is (in my opinion) a little sleazy is that the export function will create and download any size file you have. It’s only after you need to import that you get mugged for the upgrade.

The nice lady at https://marionblackonline.com/all-in-one-wp-migration-plugin-hack/ showed how to get the old version of the All-in-One WP Migration plugin. Version 6.77, although it has the artificial limit, can be edited to a different limit. Getting the file is slightly opaque, as the plugin page on wordpress.org does not let you go back that far, version -wise. But the file is on the servers, and downloadable.

https://downloads.wordpress.org/plugin/all-in-one-wp-migration.6.77.zip

Once you’ve installed it (by uploading it from a .zip file instead of from the WordPress Plugins store), WordPress will constantly nag you to update to the crippled version. Edit the file wp-content/plugins/all-in-one-wp-migration/all-in-one-wp-migration.php and change the Version string to an impossibly high number.

As long as you are editing files, you might as well edit wp-content/plugins/all-in-one-wp-migration/constants.php

Original file size limit:

define( 'AI1W†M_MAX_FILE_SIZE', 2 << 28 );

Make it your preferred file size limit:

define( 'AI1WM_MAX_FILE_SIZE', 4294967296 ); // 4 GB file size limit

Microsoft is Pinky

“Brain: It must be inordinately taxing to be such a boob. Pinky: You have no idea.”

I have an application I’d like to run on Windows 10, that invokes the UAC (User Account Controls) every time it runs. I’d like to turn off UAC for just this one program.

Nope. No can do

(BTW, I really wanted to link to a clip from Pinky and The Brain, for “Brain: It must be inordinately taxing to be such a boob”, but Youtube / Google gets completely hung up over that word “boob”)

The obvious first step is to change the shortcut to launch the .exe to “Run As Administrator”. Doesn’t work.

There is an article in the Microsoft support forums that says one can configure Windows to run a chosen program without invoking the UAC. It involves downloading their Accessibility Toolkit, which allows Windows to be altered for people with muscular dystrophy (for example). Stupid extra keystrokes for people who have a hard time manipulating a keyboard can be done away with, which is a good thing.

And if Microsoft can’t figure out how to suppress the UAC for the one program for regular users, well, maybe us regular users can shoe-horn the accessibility toolkit into getting Windows to be helpful instead of annoying.

Nope. Doesn’t work. The program I reconfigured does now have an updated icon, to indicate that UAC will be invoked when I want to run it. But all I wanted was to click the icon, and the program works.

My choice is now between “turn off UAC completely” or “every time I run this program, get stopped and slapped in the face with the reminder of how bad at programming Microsoft is”.

Well, I’ve learned that sometimes, it’s better to be happy than to be right, so UAC is getting turned off, system-wide. It’s stupid.

Microsoft is such a boob.

Stacked ranking: Jack Welch of GE has a terrible idea

or “How to redefine everyone’s job into a game of Survivor”.

First, let’s get the question out of the way: “What is stacked ranking?” Stacked ranking is a labor policy. With it, once per year, every year, the bottom xx% of employees are terminated, and will be replaced with fresh blood. I think it started with 10% of GE getting replaced yearly, but later the percentage was dropped to the bottom 5% – 8%, depending on the company.

I hear that Facebook is now doing Stacked Ranking. This tells me “short Facebook stock“. And if you don’t believe me, look at GE’s stock performance.

Another aspect, although I don’t think it’s directly required, is that the management that implements stacked ranking doesn’t want to be responsible for the decision of who gets terminated. So they push the decision as far down the management chain as they can: peer review. So, you get to rank your co-workers, and your co-workers get to rank you. This lets your direct supervisor weasel out of the responsibility of ranking you at the bottom.

I understand the reasons behind Jack Welch’s idea: get rid of the expensive (experienced) employees, and replace them with cheap newbies. Wall Street loved the idea, too.

I doubt they are going to still love the idea when those old, experienced, expensive Wall Street analysts start getting replaced by cheap newbies.

I’m not terribly against the idea of getting rid of the bottom 10% of an organization, either – IF the policy is executed once per decade. I work in a government organization where there are a few people who are simply wastes of time and taxpayer money. But because it is so hard to get rid of terrible government employees, they remain. So if lopping off the bottom 10% was something we could do once a decade, I would be in favor of that.

My personal story is that if “lopping off” showed up three years ago, I might have been one of the ones lopped. I would have deserved it, and I might have been angry with it. If the rest of my life then went as it has, I would have gotten to the point where I accepted it as right and honest. People do change; I’ve seen it, and I have changed myself. But I’m not willfully ignoring the fact that “lopping off the bottom 10%” might strike at a unfortunate time, for some people.

As I understand it, Jack Welch’s idea was that he had all these older engineers who commanded high wages; how could he cut costs? With decades of experience, they expected a reward for learning their jobs so well. They also had outside interests like a wife, and children, and the activities their children were in – like sports or music or whatever.

By hiring new kids, fresh out of college, Jack could pay them less because they had no experience. Because they were fresh out of college, they didn’t yet have a wife and kids; which meant they could throw themselves into their work, and do 10 – 16 hour days, and reap no home life repercussions for it. They could absorb the knowledge the old guys have, and they and Jack win. As I understand it, part of the pitch to the new kids was “if you work your tail off, you could get that vaunted Engineer Level II position with the high wages and the decades long career”.

The stupidity of the idea, doing this once a year, every year, is that everyone sees the plan, and must adapt to the plan. Everyone needs to stop doing their real job, and start their new job of setting up the patsy.

Someone is getting voted off the island. We need to make sure it’s the new kid.

The old staffers have too much at risk. For starters, at 50 years old, getting fired from a good job with a high salary is often the end of a person’s career (irrespective of employer). 92% never get as good a job, ever, for the rest of their lives. Yes, there are those 8% that do – but 92% against is too great a risk to take.

The old staffers also have financial obligations: mortgage, college tuition for their kids, saving up for retirement, perhaps needing to care for parents who are beginning to need elder care. A lot of a person’s identity might be tied up in being a professional in their decades-long career. Having to switch over to “Would you like fries with that?” is far too humbling.

The new kid has none of that. Also, the new kid has plenty of time to recover, going to work for a different company that doesn’t suck.

So, backstabbing the new kid is the new SCP (Salary Continuation Plan). It is a terrible waste of time and effort. Making the customer happy should be Job 1. But now it is Job 2, with Job 1 being “someone else must get voted off the island”.

I was at a trade show, where a vendor we used (a lot), put on a “meet the engineers” night. I was talking with a group of them, telling them of an improvement in the product I would like to see. One of the new kids had walked up, and chimed in with “That’s a great idea, we should do that!” The three old guys standing around just rolled their eyes. One of them told the new kid “Yeah, you should work on that.” This was still a little bit of a shock, that the old guys would set the new kid up for failure like that. He was going to get no support, would be wasting his time on a wild goose chase, and at the end of the year be in the bottom 8%. Later, I was told that the company was using stacked ranking; this event suddenly made sense.

Not only was it bad news for the kid; I wasn’t going to get my feature request, either.

All in all, I think Jack Welch tremendously hurt GE, and, because he touted his change as successful (and Wall Street celebrated his success), other companies followed suit. It’s a terrible idea, and deserves to be recognized as such.

Hopefully, a change in my schedule

I’ve asked for permission to come in to work early, with an extended lunch break. For a while now, I’ve been pondering how to get more exercise into my schedule. But this also likely means not updating this blog as often.

I currently go in late, and stay a little late, so as to be able to do server maintenance tasks after business hours. From there, I have places I go every evening, that I don’t want to give up. There was also the worry that doing a nice amount of exercise late in the evening would make it harder to get to sleep. Exercise (I expect) will energize me, as I bring up my level of activity. Currently, I’m quite sedentary, and have gained a lot of weight over the last year or so.

There for a while, I was going to the gym before work. I had a personal trainer, which didn’t work that well. The guy was great; but, there was a mismatch between what I wanted and what he provided. I wanted to lose weight. That means cardiovascular exercise, right? Treadmill, swimming, elliptical, rowing machine, etc. I am sure there is nothing more boring for a trainer than to stand there and watch someone walking on a treadmill. It also doesn’t justify the price being paid for training. For some strange reason, my trainer was putting me through strength training (mostly), and although my heart rate would be somewhat elevated, I really wasn’t losing any weight.

My finances got thin, so I dropped my trainer (and gym membership). Ultimately, this (and paying off another bill) did reverse my course from being in the red monthly, to being in the black, monthly.

I could start going to the gym every morning, again. I checked out another gym (far closer to my home), but their payment scheme shenanigans were completely stupid, so I didn’t sign up. Turns out, it’s been four months, and that gym just closed it’s doors. Glad I didn’t sign up and pre-pay for the entire year

If I don’t get the lunch break for going to the gym, then I will do the morning work out. But what I really want, is to go in to work early, take a lunch break at 11:00 AM, and then work out for an hour, clean up, get a light lunch, and get back to work by my normal 2:00 PM.

As soon as I switched to the late shift, I started missing out on the morning status meeting. It’s still a problem today, if I do something late at night, and no-one gets to know the situation until 9:00 AM when I get in.

I listed to a podcast, where Scott Adams of Dilbert fame was interviewed. Mr. Adams made an interesting observation of his own physiology: he is most creative in the morning, and uses some time after that for exercise. This would actually fit me pretty well. A lot of what I do is programming, so first thing in the morning, I’m burning brain sugar like mad. But then I run out, and hit a lull in my productivity. That would be a perfect time to go to the gym: no thinking required for walking a treadmill. I could also listen to podcasts, which I like doing. The exercise would likely energize me, so my afternoon would probably be productive, too.

But here, doing my lunch time blog, would definitely take a hit.

Starting my day happy

My happiness level now, compared to three years ago, is like the difference between day and night. Here are the things I do, to start my day happy.

First, my alarm clock plays a song. I have four different songs that I wake up to; all are songs that I like waking up to and singing along with in my head.

  • I Have This Hope by Tenth Avenue North
  • Control (Somehow You Want Me) by Tenth Avenue North
  • I Can Only Imagine by MercyMe
  • Love Like This by Lauren Daigle

So my alarm goes off, I wake up, and am instantly happy that I get to sing along with a song that inspires me to hope.

Most days, I have some lights in my bedroom that come on extra low, and grow in brightness over the next fifteen minutes. But I do also have a button on my phone that turns them off. The timing is such that (whichever) song is over before the lights come on, so really this is a gentle backup wake up mechanism.

The song ends, I hit the snooze button (nine minutes), climb out of bed, and head to the bathroom and shower. First, I check that I’m going to have a towel for after the shower, and then turn on the water to warm up the shower. It’s a challenge to turn up the water flow enough to warm the pipes, but not so much as to waste any more water than possible. Pee. Go back to bed.

At this point, I’m going to have a few minutes left before the song plays again.

I start pondering what I’m going to be thankful for. Essentially, it’s an inventory of what happened yesterday that made me happy. The alarm clock song will start playing again. I sing along in my head again, and try to focus on the singing, without distracting myself away from the song. The song ends, and I hit the snooze button again.

Start praying. The first prayers I say are “I love you, God. I need you, God. I trust you, God.” Then I do a couple more prayers, along the lines of relieve me of the bondage of self and may I do thy will always.

Then, I say “Thank you Lord, for xxx” where I come up with three new things I’m grateful for, that I have never been grateful for, before. A friend of mine pointed out that this will result in more than a thousand things a year, that I consciously chose to be grateful.

Another aspect of it, is that it changes one’s time horizon. It’s easy to be grateful for a roof over my head, a good job, and such. But that doesn’t change day to day. What am I grateful for now, that I’ve never been grateful for before? It’s not something from last year – it’s something from last night.

Lastly, I pray for friends and family who are going through things, where God’s influence on them could help them.

Some time during that, my alarm clock will go off again. I might sing along again, or I might turn it off and go take my shower. Hopefully, the hot water in the shower is coming out of the shower head warm by now.