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.

Friday, November 01, 2019

November is already upon us and that can mean only three things

Thanksgiving is in the air. It's time for National Novel Writing Month. And it's time for National Novem Generation Month. I was dreading this.

I thought I had no ideas for NaNoGenMo this year, but I checked my NaNoGenMo ideas folder and oh look! I do have some notes for 2019. Oh. It only has one line in it: “Translate a book into Toki Pona.”

Well. There it is. Translate a book into Toki Pona (which literally translated means “talk good”).

It should be simple, right? Toki Pona only has at most 120 words. How hard can that be?

Let's take a look at some Toki Pona:

mama pi mi mute o, sina lon sewi kon.
nimi sina li sewi.
ma sina o kama.
jan o pali e wile sina lon sewi kon en lon ma.
o pana e moku pi tenpo suno ni tawa mi mute.
o weka e pali ike mi. sama la mi weka e pali ike pi jan ante.
o lawa ala e mi tawa ike.
o lawa e mi tan ike.
tenpo ali la sina jo e ma e wawa e pona.
Amen.

That happens to be the Lord's Prayer, which appears twice in the Bible (Matthew 6:9-13 and Luke 11:2-4). Let's translate it back and see what I might be in for.

What follows will be:

So without further ado …

mama pi mi mute o, sina lon sewi kon.
parent of many [command], you at high air.
Our Father which art in heaven, (Ma 6:9)
Our Father which art in heaven, (Lk 11:2)

nimi sina li sewi.
name you [predicate] high.
Hallowed be thy name. (Ma 6:9)
Hallowed be thy name. (Lk 11:2)

ma sina o kama.
land you [command] come.
Thy kingdom come, (Ma 6:10)
Thy kingdom come, (Lk 11:2)

jan o pali e wile sina lon sewi kon en lon ma.
person [command] do [object] want you at high air [and] at land.
Thy will be done in earth, as it is in heaven. (Ma 6:10)
Thy will be done, as in heaven, so in earth. (Lk 11:2)

o pana e moku pi tenpo suno ni tawa mi mute.
[command] give [object] eat of time sun this to me many.
Give us this day our daily bread. (Ma 6:11)
Give us day by day our daily bread. (Lk 11:3)

o weka e pali ike mi.
[command] away [object] do bad me.
And forgive us our debts, (Ma 6:12)
And forgive us our sins; (Lk 11:4)

sama la mi weka e pali ike pi jan ante.
same [context] me away [object] do person different.
as we forgive our debtors. (Ma 6:12)
for we also forgive every one that is indebted to us. (Lk 11:4)

o lawa ala e mi tawa ike.
[command] head no [object] me to bad.
And lead us not into temptation, (Ma 6:13)
And lead us not into temptation, (Lk 11:4)

o lawa e mi tan ike.
[command] head [object] me from bad.
but deliver us from evil: (Ma 6:13)
but deliver us from evil. (Lk 11:4)

tenpo ali la sina jo e ma e wawa e pona.
time all [context] you have land [object] strong [object] good.
For thine is the kingdom, and the power, and the glory, for ever. (Ma 6:13)
(not in Luke 11)

Amen.
Amen.
Amen. (Ma 6:12)
(not in Luke 11)

Um … okay … perhaps I better come up with a better idea.


The 5,000 translations of “mama pi me mute”

I found a much better dictionary for Toki Pona than the one I was using. This dictionary even includes the parts of speech, which could prove useful if I decide to generate a grammatically correct novel of 50,000 Toki Pona words for National Novel Generation Month.

As I was wrangling the new dictionary into a machine-usable format, it struck me that I could just generate a series of translations of the Lord's Prayer (since I have a copy of it in Toki Pona) by using the different meanings of each word. For example, the first word in the prayer, mama, has the following meanings:

Since my initial translation was quite limited. I set about just translating the opening line, “mama pi mi mute o, sina lon sewi kon” using the new dictionary, and got the following:

mama
NOUN parent, ancestor; creator, originator; caretaker, sustainer
pi
PARTICLE of
mi
NOUN I, me, we, us
mute
ADJECTIVE many, a lot, more, much, several, very
NOUN quantity
o
PARTICLE hey! O! (vocative or imperative)
sina
NOUN you
lon
PREPOSITION located at, present at, real, true, existing
sewi
NOUN area above, highest part, something elevated
ADJECTIVE awe-inspiring, divine, sacred, supernatural
kon
NOUN air, breath; essence, spirit; hidden reality, unseen agent

A more “literary” literal translation would probably be “Creator of we many, O! You existing divine air.” Or as a form of poetic English, ”Creator of us, residing in the divine air.” Pretty cool stuff. And as it turns out, there're enough variations in just the opening line to create enough translations to fulfill the 50,000 word requirement. I could certainly stop here and claim success, but I may just end up playing around with this a bit more.

Sunday, November 10, 2019

Notes on an overheard conversation while eating dinner at the International House of Pancakes

“So do you know anything about this elf thing?”

“No, I never encountered anything like that growing up.”

“Me neither.”

“Oh, so it's not just me then.”

“Let's see … oh! There's a Wikipedia article about it.”

“What does it say?”

“It's based upon a book written in 2005 …”

“So it's after both our times.”

“Yup. It says, ‘The book tells a Christmas-themed story, written in rhyme, that explains how Santa Claus knows who is naughty and nice. It describes elves visiting children from Thanksgiving to Christmas Eve, after which they return to the North Pole until the next holiday season.’”

“So the elves spy on kids.”

“Yeah, it indoctrinates them into the 24-hour surveilliance society.”

Friday, November 22, 2019

Memorialized in silicon

My Dad died last week so Bunny and I have been rushing around making arrangements and going thorugh his papers. I've been going through his computer, an Acer Chromebook I got him nearly two years ago to replace his dead laptop, I was surprised at the number of accounts he has:

And it's not surprising to me that his Facebook account is under an assume name, but the name, “Les Hansel,” has no meaning to me. Why that name?

What's scary about the Facebook account is that he has no “friends,” no profile, nothing much at all except a bunch of “friend recomendations” that are scarily accurate. Looking over the list, I see his sisters, their husbands, a few nieces and nephews and finally myself (and annoyingly low in the list—come on Facebook! Why am I not higher in the list?), plus a whole list of people that show up on his physical Rolodex file of contacts.

Thinking this over, I can only conclude he might have allowed Facebook access to his contact list, or more likely, the majority of his “friend recommendations” allowed Facebook access to their contact lists, and Dad's AOL email address was among the lists. The rest is filled in by Facebook's “a friend of a friend must also be a friend” type associations.

His Twitter account has his real name (oh really?) but it seems the only person he's following there is … Kathy Griffin? Seriously? Is he trying to confuse his enemies? Becuase he's confusing me.

It also appears he didn't use his LinkedIn account all that much, given how many pop-ups I'm getting urging me to update this, and checkout that and whatnot.

I am not going to checkout his match.com account. Not going to do it.

And I'm having trouble getting into his Google email account (he has like three different passwords listed for Google and the account recovery mechanism tends to fail) but given the activity on this other web accounts, I doubt he used it much.


Here a club, there a club, everywhere a golf club

Bunny and I went to Dad's storage unit for the first time to deal with that since his death. We're both a bit flummoxed about dealing with this golf club collection:

[There's at least a dozen golf bags full of golf clubs, plus piles of golf clubs.] [A barrel full of golf clubs—what fun!]

If anyone wants golf clubs, or a golf bag, let us know. We have plenty to go around.

Meanwhile, we picked out several boxes full of papers. There's Dad's car to deal with and with an expired California registration, and an expired California license plate (he was only here two years you know—you don't want to rush these things), that will be … interesting … to deal with.

Sigh.

Saturday, November 23, 2019

If only these were Certificates of Deposit

Another day, another trip to Dad's storage unit. I thought my Dad had a ton of golf clubs, but that's nothing compared to his collection of CDs. We took home at least 13 boxes of CDs and eight bins of books.

[The cardboard boxes are filled with CDs.  The bins are books.  There are six more bins you can't see because they're behind the boxes of CDs.  Not only could my Dad own a golf shop, but he could also stock a used CD store and a used book store.  And this is a guy that tried to live a minimalistic life.  Sheesh.]

Bunny and I were of two minds about dealing with all the CDs and books. After loading both our vehicles, I was just ready to drive to the nearest used CD shop and probably double their inventory. Bunny thought we should at least look through them first. I initially overrode her idea and called two different shops. The first one no longer buys CDs, and the second one told me to call back after the holidays when he needed to restock.

Sigh.

So now we have boxes and boxes of CDs at home that we're going though. If you need any New Age East Asian meditation neurohacking music CDs, I'm your connection.


I'm now apparently the source for New Age meditation neurohacking books as well

We're slowing going through the boxes and boxes of books and music. “Get a load of this book before I drop it in the garbage,” said Bunny, dropping an 8″  × 10″  × 1½″   book on my lap.

I glanced at the title. “The Neo-Tech Discovery (Zonpower)—huh.” I then started flipping through the book. Multiple fonts, hand written script, wide margins. It just looked crazy! “Let's see … ‘Commercial, non-aging I-ness immortality is achievable within our lifetime. But that achievement depends on collapsing the 2000-year hoax of mysticism and eliminating all its symbiotic neocheaters. The Neo-Tech Research and Writing Center is already undermining the hoax of mysticism worldwide and will forever cure that disease of death without anyone's support, without asking anyone to donate time or money, and without permission or control by anyone.‘”

“See, it's garbage.”

“Hold on, let me check something … ” I turned to the computer and went to Amazon. “Wow! Amazon is selling it for $200!”

What?

“See?”

“I don't believe it!”

“Trash indeed!”


Through glasses large

Not only did Dad keep every golf club, CD and book he ever owned, but also every pair of glasses, numbering at least a dozen.

[I don't think I can fill Dad's glasses.  Were yuuuuuge glasses a thing in the 70s?  I want to think so, because I don't think Dad ever got beyond the 70s in terms of style.]

For a guy that wanted to live a minimal lifestyle, he sure kept a lot of stuff.

Also, our garage now smells of stale cigarette smoke. Blech.

Sunday, November 24, 2019

The major reason why Intel needs to twist the tail of a Pentium so it will go 50 MIPS is because 45 of them are LOAD and STORE.

Via Lobsters comes this brief historty of the x86 architecture and the 1,000 ways to move data between registers, and by 1,000 ways, it really is 1,000 ways. Mind boggling. These days, the x86 has exceeded any known definition of CISC and is now into LICISC territory.

It's also interesting to see just how far back the x86 line goes—it pretty much starts with the Intel 4-bit 4004 back in 1971. So it seems we're running a 64-bit extension over a 32-bit extention over a 16-bit redesign of an 8-bit computer based on a 4-bit computer from a 2-bit company with just one CPU line. Nice.

Friday, November 29, 2019

The Great Car Caper

We're still working out my Dad's estate and today Bunny and I decided to get the car from his place to Chez Boca. This was complicated because:

  1. his car was never registered in Florida;
  2. it still has a California plate;
  3. said plate has been expired for over two years;
  4. which means the registration has been expired for over two years;
  5. and we still haven't found the title to the car.

Fun times.

We worked out that Bunny would drive us to Dad's place, and I would drive back with the car, with Bunny following closely behind to obscure the expired California tag on the car. Even so, I was expecting the following scenario to play out:

Sean
Hello, Officer!
Officer
Driver's license, registration and proof of insurance, please.
Sean
Certainly. Here's my driver's license. Here's my proof of insurance. The car is not mine, but it did belong to my dad—here's his driver's license. He recently died, here's his death certificate, and my birth certificate to show that I'm his son. Also, I can't locate the registration to this car, which is expired, but I did find the bill of sale …
Officer
Sir, step out of the car.
Sean
Officer?
Officer
Sir, I have to ask you to step out of the car.
Sean
Oh bother …

Instead, it went more like this …

Sean
What the? He has an alarm?
Bunny
Hit the button on the fob! This one!
Sean
Thanks. Oh great! The interior lights don't work.
Bunny
I hope the battery is still good.
Sean
It started!
Bunny
Good!
Sean
But it's out of gas!
Bunny
We should have gone back for the gas can! I can't believe we forgot it! There's a gas station just around the corner.
Sean
Okay. Um … we best hurry, I'm not sure how much gas I have left.
Bunny
Okay.
Sean
Okay Bunny … why are you standing around? Get in the car … in the car … okay good! She's backing up … a bit more … a bit … oh, she's going first, okay. Let me back up and … um … Bunny? Go forward … forward … are you … are you turning around? Why are you turning around? I'm going to go that way … why? Aaaaah! Okay, got around her. I can drive to the gas station.
Sean
Oh, I don't know what side of the car the gas cap is on. Okay, I think that gas pump symbol means its on the passenger side. Let me pull up, stop the car and … no. It's on the other side. What? I've set off the alarm again? Sigh. Let me navigate around …
Sean
Okay, how do I open the fuel filler door? No visible latch. Pushing on the door doesn't open it. Oh, don't tell me there's a switch inside the cabin. Sigh. Okay, where's the latch? Oh, there. And it's not working. Oh, don't tell me the car has to be on for it to work? And it's still not working! Hey! What's with this seat? I'm being crushed by the seat! What the—
Sean
Okay, maybe there's a latch in the trunk to open the fuel filler door … okay, the trunk button on the fob isn't working … let me try the key … let me try the other key … let me try … oh yes, none of the buttons in the cabin will open anything. Okay … maybe I can borrow a crow bar …
Bunny
I didn't know there was a gas station here!
Sean
This is the gas station around the corner, right? And why did you turn around back at the apartment?
Bunny
No, there's one over there! And because that gas station was that direction. Have you filled up already?
Sean
Oh XXXX no. Try opening the fuel filler door.
Bunny
Um … okay is there something in the cabin? Oh, here … is it open?
Sean
Nope.
Bunny
Did you try opening the trunk?
Sean
Couldn't open it.
Bunny
Let me try. Oh, I guess you loosened it for me.
Sean
Oh, that's what I'm looking for—the “fuel filler door release emergency handle!” Good Lord!
Bunny
You good now?
Sean
Yes. Let me fill up and we can get going.
Bunny
Also, your head lights weren't on.
Sean
They were on!
Bunny
No they weren't.
Sean
See … oh, they aren't on.
Bunny
Now they are.
Sean
But those are the high-beams! I can't drive here with the high-beams on!
Bunny
You can't drive without lights! Just keep them on!
Sean
But …
Bunny
Just do it.
Sean
Okay, Nike.
Bunny
I'll follow you home.
Sean
Okay, I have enough fuel, I have the seat under control, now how the XXXX do I get out of here? Man, I can't see through this windshield, let me clean it … oh lovely! No fluid and the wipers are scraping across the windshield. Grrrrrrrrrr.
Sean
Oh Good Lord! The “check engine” light is on, the “parking break” light is on? What? Okay, where's the lever or button for that? Oh there … and it does nothing. Let me call Bunny … Hello?
Bunny
Hello! Where are you?
Sean
I'm on Dixie Highway headed home.
Bunny
I thought I was going to follow you home!
Sean
At this point, I just want this to be over! The dashboard is lit up like a Christmas Tree and I don't think the parking break works, so I don't think I'll be able to park in the driveway.
Bunny
Just park in the driveway. It'll be fine enough.
Sean
Okay.

Other than blinding everbody else on the road, a dirty windshield that I could barely see through, over 211,450 miles on it and a dash board light up like a Christmas Tree, nothing else happened on the way back to Chez Boca. Although the thought of leaving it burning on the side of I-95 has crossed my mind …

Saturday, November 30, 2019

Another minor issue with DoH

So I'm still having issues with my DoH implementation—this time it's Firefox complaining about not finding a server. I modified the script to log the request and response and as far as I could tell, the addresses were being resolved. It's just that Firefox was refusing to use the given answers. And trying to find an answer to “firefox server not found” is a futile exercise these days, giving me years old answers to issues that weren't quite what I was experiencing.

It's all very annoying.

But in looking over the script, again, I had a small epiphany.

local function output(status,data)
  if not data then
    io.stdout:write(string.format([[
Status: %d
Content-Length: 0

]],status))
  else
    io.stdout:write(string.format([[
Status: %d
Content-Type: application/dns-message
Content-Length: %d

%s]],status,#data,data))
  end
end

The code is running on Unix. By default, the “end-of-line” marker is just a line feed character. But the HTTP specification requires both a line feed and a carriage return character to mark the “end-of-line.” Given that the script works most of the time, I thought Self, perhaps there's a different codepath that is a bit more pedantic about the HTTP specification these particular sites hit for whatever reason. I changed the code:

local function output(status,data)
  if not data then
    io.stdout:write(
        string.format("Status: %d\r\n",status),
        "Content-Length: 0\r\n",
        "\r\n"
    )
  else
    io.stdout:write(
        string.format("Status: %d\r\n",status),
        "Content-Type: application/dns-message\r\n",
        string.format("Content-Length: %d\r\n",#data),
        "\r\n",
        data
    )
  end
end

And immediately, the sites I was having problems with started loading reliably in Firefox. Hopefully, this is the last bug with this service …

Obligatory Picture

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

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.