The Boston Diaries

The ongoing saga of a programmer who doesn't live in Boston, nor does he even like Boston, but yet named his weblog/journal “The Boston Diaries.”

Go figure.

Tuesday, September 15, 2020

As this is all being done over email, how do I know it's not an elaborate phishing scheme?

I think I dodged a bullet.

Last Friday, I received an email from the Corporate Overlords about their impending “multi-factor authentication implementation”. They included a FAQ about the project:

Q: I don't have a company mobile. Can I install XXX on my personal mobile?

A: Yes, you can install the XXX Mobile App on your personal phone to use it as a token.

Q: I don't have a company mobile and I don't want to install XXX on my personal mobile.

A: We strongly suggest using the XXX mobile app as the most convenient features, like XXX push (one touch authorization), are not available on the hardware token. You also can use the DUO Mobile App to secure your personal accounts (Google, Facebook, LinkedIn, Amazon, etc…) with multi-factor authentication.

If you really don't want to install the app, please let XXX know, hardware token also available and will be distributed upon request.

I don't have a company provided smart phone, and I really don't want to install this software on my personal smart phone, given the silliness of their managed laptop. But I don't also want to come across as too obstinate in dealing with them—they do, after all, sign the paychecks.

So I recieved the email about downloading the app today and after some internal back-and-forth, I decided “Why the heck not? Let the Corporate Overlords onto my iPhone! What's the worse that can happen?”

Please don't answer that.

Much to my relief (and surprise, but in retrospect it shouldn't really have been) my version of iOS is too old to be supported! I can't use the mobile app!

Whew!

So now I'll see how long it takes for them to send me the hardware token, and where they deliver it (given that the Ft. Lauderdale Office of the Corporation is still closed due to COVID-19).

Wednesday, August 26, 2020

Welcome to the machine

Ah, the Corporate Overlords' Managed Laptop … how would I ever waste time without you?

Last week I received an email saying the Corporate Overlords' Managed Laptop is “out of compliance” (read: I waited longer than twenty minutes to update the laptop). I followed the instructions in the email but they failed to appease the Corporate Overlords as it was still “out of compliance.” A meeting was scheduled to let the “Desktop Compliance Analyst” log into the laptop and make it “into compliance.” That failed due to the Corporate Overlords' VPN being flaky, so the meeting was rescheduled for today.

This time, the DCA had me download a 2G patch file. As I was waiting for it to download, the XXXXX­XXXXX­XXX Protection program updated itself and was asking me to restart the computer to finish its installation. I asked the DCA about this, and was told to just let the computer run and finish the downloading.

Twenty minutes later (and I wish I was making this up) The XXXXX­XXXXX­XXX Protection program interrupted the popup asking me to restart the cmpouter to inform me that it had updated itself again and to restart the computer to let it finish.

Seriously.

While this was going on, I asked the DCA about the Heisenberg Notification Center. The DCA said it was easy to reconfigure and went ahead to do it, since I don't have access to do said configuration.

“Oh,” said the DCA, “you're running a version of Windows 10 that's older than twenty minutes. No wonder I couldn't find the option I was looking for.”

“You guys set it up,” I said.

“No, I belong to the Desktop Compliance Unit. I'm not responsible for configuring machines.”

“No, ‘you guys’ being The Corporate Overlords.”

That got a slight chuckle out of the DCA.

I then asked the DCA about another issue. “I keep getting this popup—‘Program FunUtility has stopped working. A problem caused the program to stop working. Please close the program’ and it has a button on it labeled ‘Close the program.’ I do that, but it keeps coming back up.”

“Can you send me a screen shot?”

“Can you not take over my laptop and see it for yourself?”

“Oh, it's probably nothing. Just keep dismissing the dialog box until it stops appearing.”

“Seriously?”

“Seriously.”

How does anyone use Windows?

Sunday, August 23, 2020

Yeah, there was a reason why we couldn't sell these

The power at Chez Boca went out on Friday afternoon and didn't come back up until around noon today. It was a painful reminder of just how addicted dependent I am on the Internet and cat videos. So to pass the time, I decided to go through my Dad's CD collection that remain (that is, those that we kept because they might be good enough to keep and not thrown away because we coudn't sell them).

On one of the CDs I listened to, I found the following text:

Tai Chi Way Regimen Music
Return To Simplicity

(Warning: Due to the relaxing effect of the music, do not listen while driving, working, or participating in any kind of mechanical operation)

The Internet couldn't come back soon enough.

Tuesday, August 18, 2020

A clown singing Gilligan's Island to the tune of Stairway to Heaven, I did not know I needed this

There's not much else to say but, enjoy.

Oh wait, there is … he's going off the rails on a crazy train.


You might not want to read this post. If you read beyond the title, it's on you, not me. You have been warned. Have a nice day.

On my walk to the polling station, I saw a sign posted in someone's front yard that I found amusing enough to take a picture to post on this blog. As I resumed my walk, I began to have second thoughts on the sign—it brings up questions about the 1ST and 2ND Amendments and could be considered imflamatory in a country deeply divided along partisan lines, so I decided against posting the image.

Then I thought Why am I censoring myself? This is my blog! I can post what I want! I'm not forcing anyone to read this, and there are plenty of other pages out there one can read.

So, without further ado, the sign:

[“You quite possibly could get shot or hurt and then try to sue resulting in a long drawn out court battle.  You Will Lose.  Because this sign will be ‘EXHIBIT A’”  Yeah, I found it amusing.  Sue me.]

Don't say I didn't warn you.


It's not storming the beaches at Normandy, but in-person voting in this time of COVID-19 is nothing to sneeze at

[Not only did I get a “I VOTED” sticker, but I also got to keep the pen.  Go figure.]

So today was the Florida Primary Election Day. Given that my polling station is just a few blocks away fom Chez Boca, I decided to walk. Less to save fuel and more to just get out of the house for something other than food. Well, that, and to see what the protocol might be for the general election in November in these pandemic times. The walk there wasn't bad,

It was not crowded at all. There were a total of seven people at the polling station—five people staffing the station, and two voting (and I'm including myself in that count of two). It was pretty much the same as every other time I voted, with the exception of mask wearing, and keeping the pen used to mark the ballot.

I'm registered as an independent voter, so the ballot wasn't that large for me. Seven races, one supervisor of Elections, three judges, one school board district and two parks and recreation elections! I didn't even know those were a thing!

Thursday, July 30, 2020

I can't believe I didn't think of that—clarification

Over on Me­Linked­Insta­My­Face­In­Gram­Space­Book­We, my friend Brian commented “Cool! (Whatever it was exactly you did!!!)” about my work issue. Rereading that post, I think I can clarify a bit what I did. But first, a disclaimer: I'm not revealing any personal information here as all the data for the regression test is randomly generated. Names, numbers, it's all generated data.

So I ran the test and the output from that is a file that looks like (feature names changed to protect me):

ERR CNAM feature8 failed: wanted "VINCENZA GALJOUR" got ""
testcase =
{
  id = "3.0037",
  orig =
  {
    number = "2012013877",
    person =
    {
      business = "-",
      first = "VINCENZA",
      name = "VINCENZA GALJOUR",
      last = "GALJOUR",
    },
    feature9 = false,
    cnam = true,
    extcnam = false,
    feature4 = true,
    feature10 = false,
    feature7 = false,
    feature8 = true,
  },
  term =
  {
    feature10 = true,
    feature1 = false,
    feature2 = false,
    feature3 = false,
    feature4 = true,
    feature5 = false,
    feature6 = false,
    number = "6012013877",
    feature7 = false,
    feature8 = false,
  },
}

ERR CNAM feature8 failed: wanted "TERINA SCHUPP" got ""
testcase =
{
  id = "3.0039",
  orig =
  {
    number = "2012013879",
    person =
    {
      business = "-",
      first = "TERINA",
      name = "TERINA SCHUPP",
      last = "SCHUPP",
    },
    feature9 = false,
    cnam = true,
    extcnam = false,
    feature4 = true,
    feature10 = false,
    feature7 = false,
    feature8 = true,
  },
  term =
  {
    feature10 = true,
    feature1 = false,
    feature2 = false,
    feature3 = false,
    feature4 = true,
    feature5 = false,
    feature6 = false,
    number = "6012013879",
    feature7 = false,
    feature8 = false,
  },
}

Since the regression test is written in Lua, I found it easy to just dump the structure holding the test data to the file, given I already have have a function to do so. I also print out what failed just before the data for that particular test case. The code that prints the structure outputs valid Lua code. All I changed was adding an array declaration around the output, turned the error message into a comment, and changed testcase to a valid array index:

testcase = {
-- ERR CNAM feature8 failed: wanted "VINCENZA GALJOUR" got ""
[1] =
{
  id = "3.0037",
  orig =
  {
    number = "2012013877",
    person =
    {
      business = "-",
      first = "VINCENZA",
      name = "VINCENZA GALJOUR",
      last = "GALJOUR",
    },
    feature9 = false,
    cnam = true,
    extcnam = false,
    feature4 = true,
    feature10 = false,
    feature7 = false,
    feature8 = true,
  },
  term =
  {
    feature10 = true,
    feature1 = false,
    feature2 = false,
    feature3 = false,
    feature4 = true,
    feature5 = false,
    feature6 = false,
    number = "6012013877",
    feature7 = false,
    feature8 = false,
  },
}

-- ERR CNAM feature8 failed: wanted "TERINA SCHUPP" got ""
[2] =
{
  id = "3.0039",
  orig =
  {
    number = "2012013879",
    person =
    {
      business = "-",
      first = "TERINA",
      name = "TERINA SCHUPP",
      last = "SCHUPP",
    },
    feature9 = false,
    cnam = true,
    extcnam = false,
    feature4 = true,
    feature10 = false,
    feature7 = false,
    feature8 = true,
  },
  term =
  {
    feature10 = true,
    feature1 = false,
    feature2 = false,
    feature3 = false,
    feature4 = true,
    feature5 = false,
    feature6 = false,
    number = "6012013879",
    feature7 = false,
    feature8 = false,
  },
}
}

That way, I can verify my hypothesis with some simple Lua code:

dofile "errorlog.txt"
for _,result in ipairs(testcase) do
  if not (result.feature10 and (result.feature8 or result.feature4)) then
    print("hypothesis failed")
  end
end

Wednesday, July 29, 2020

Interfacing with the blackhole of the Intarwebs

Smirk called last night to ask me how I publish my blog to My­Face­Me­Linked­Book­We­In­Space. I told him I do it by hand. When I post to my blog, I then go to Face­Me­Linked­My­Book­We­In­Space and manually post the link. It used to be an automatic feature but several years ago Me­Linked­My­Face­We­In­Space­Book changed the API. He was curious because he was getting fed up with Face­Me­Linked­My­Space­Book­We­In and their censorious ways, and wanted a way to post to both Face­Me­Linked­My­Space­Book­We­In and another website. Here's what I found.

First:

The publish_actions permission will be deprecated. This permission granted apps access to publish posts to Facebook as the logged in user. Apps created from today onwards will not have access to this permission. Apps created before today that have been previously approved to request publish_actions can continue to do so until August 1, 2018. No further apps will be approved to use publish_actions via app review. Developers currently utilizing publish_actions are encouraged to switch to Facebook's Share dialogs for web, iOS and Android.

New Facebook Platform Product Changes and Policy Updates

For my usecase, I'm still screwed, unless I become an “approved partner:”

On August 1st, 2018, the Live API publish_actions permission, which allows an app to publish on behalf of its Users, will be reserved for approved partners. A new permission model that allows apps to publish Videos to their User's Groups and Timeline will be created instead.

New Facebook Platform Product Changes and Policy Updates

So, I'm still screwed.

You can do a “share dialog” which looks like it may work, but … it looks like it may require the use of JavaScript (a non-starter for me, so I'm still screwed) and the user has to be logged into Face­Me­Linked­My­Book­We­In­Space for it to work (another non-starter for me). This may work for Smirk, and more importantly, it doesn't require a Face­Me­Linked­My­Book­We­In­Space app to be written.

Then there's this Pages API thing that looks like it could work (not for me, because I don't think my “timeline” counts as a “page”—man this My­Face­Me­Linked­In­Space­Book­We stuff is confusing) but it requires building an app. If what Smirk wants to publish to on Face­Me­Linked­My­Book­We­In­Space is a “page” then this is probably what he wants. While it may look like “Instant Articles” is the way to go, especially since there appear to be plugins for popular web publishing platforms, but the kicker there is: “[t]he final step before going live is to submit 10 complete articles for review by our team.” That may work for The National Enquirer or the Weekly World News, but it won't work for me or Smirk.

And that's for getting stuff into Me­Linked­My­Face­Book­We­In­Space. As far as I can tell, there's no way to get stuff out! And that's probably by design—Linked­My­Face­Me­Space­Book­We­In is the Intarwebs, as far as it's concerned.


I can't believe I didn't think of that sooner

Last week I was tasked with running the regession test for “Project: Sippy-Cup” and figure out any issues. Trying to figure out the issues was a bit harder than expected. I had my suspicions but the output wasn't quite conducive to seeing the overall picture. The output was almost, but not quite valid Lua. If it was valid Lua, I could load the data and write some code to verify my hypothesis, but alas, I had to write code to massage the output into a form that could be loaded.

What a drag.

I was able to prove my hypothesis (some contradictory features were enabled, but it's a “that can't happen in production” type scenario, and if it did happen in production it's of no real consequence). I then adjusted the regression test accordingly.

But afterwards, I adjusted the output slightly to make it valid Lua code. That way, it can be loaded via the Lua parser so further investigations of errors can be checked. I'm just a bit surprised that I didn't think of that sooner.

Update on Thrusday, July 30TH, 2020

I clarified what I did.

Tuesday, July 28, 2020

All is silent on the bad Gemini bots

On Saturday, I sent a message to the party responsible for slamming my Gemini server (one among several) and I've yet to receive any response. I removed the block from the firewall, and I haven't seen any requests from said bot. It looks to have been a one-off thing at this time.

Weird.

But then again, this is the Intarwebs, where weird things happen all the time.

At this point, I'm hoping it was fixed silently and it won't be an issue again.

Obligatory Picture

[It's the most wonderful time of the year!]

Obligatory Contact Info

Obligatory Feeds

Obligatory Links

Obligatory Miscellaneous

You have my permission to link freely to any entry here. Go ahead, I won't bite. I promise.

The dates are the permanent links to that day's entries (or entry, if there is only one entry). The titles are the permanent links to that entry only. The format for the links are simple: Start with the base link for this site: http://boston.conman.org/, then add the date you are interested in, say 2000/08/01, so that would make the final URL:

http://boston.conman.org/2000/08/01

You can also specify the entire month by leaving off the day portion. You can even select an arbitrary portion of time.

You may also note subtle shading of the links and that's intentional: the “closer” the link is (relative to the page) the “brighter” it appears. It's an experiment in using color shading to denote the distance a link is from here. If you don't notice it, don't worry; it's not all that important.

It is assumed that every brand name, slogan, corporate name, symbol, design element, et cetera mentioned in these pages is a protected and/or trademarked entity, the sole property of its owner(s), and acknowledgement of this status is implied.

Copyright © 1999-2020 by Sean Conner. All Rights Reserved.