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.

Sunday, November 01, 2015

“I want you to go. But the name doesn't matter. I've saved you from being forever a purple kitten.”

It's November 1st. You know what that means—National Novel Generation Month! It's the National Novel Writing Month for those people who can write code but not necessarily prose. Last year I completed The Quantum Supposition of OZ and it garnered a respectable number of comments (mostly about punctuation, but hey, I'll take what I can get).

I don't have any definitive ideas right now, but I did make a note of machine generated TED-talks as a possible idea. I might also have time to do The Psychotherapy of Racter, or The Descent into Madness of Dr. Eliza. So many possibilities …

Monday, November 02, 2015

Notes on an overheard conversation while driving in Boca Raton, Florida

“Is that a Mercedes?”

[Of course it's a Mercedes!  This is Boca Raton!  It wouldn' be anything else but a Mercedes!]

“Yes, that is a Mercedes.”

“It's ugly!”

“It sure is … boxy.”

“Why would anyone drive one?”

“To deliver mail in Boca Raton?

Tuesday, November 03, 2015

In other news, in orbital mechanics, you can catch up by slowing down

Figure 1a shows how incidents happened substantially less on Saturday and Sunday even though traffic to the site remains consistent throughout the week. Figure 1b shows a six-month period during which there were only two weeks with no incidents: the week of Christmas and the week when employees are expected to write peer reviews for each other.

These two data points seem to suggest that when Facebook employees are not actively making changes to infrastructure because they are busy with other things (weekends, holidays, or even performance reviews), the site experiences higher levels of reliability.

Via Lobsters, Graham King » Facebook’s code quality problem

I guess Facebook's old motto of “move fast and break things” was probably not the best motto a company could have.

Wednesday, November 04, 2015

The “E” does not stand for “enough.”

The “E” does not stand for “enough,” thought the hind-portion of my brain. It might be prudent to drive by the gas station on the way to work.

Great! There goes any chance of arriving to work on time. Not that it matters in the great scheme of things—“Project: Sippy-Cup” is currently paused while we wait for The Monopolistic Phone Company to get its act together so a few extra minutes won't hurt. As it is, I'm barely cognizant at o'God-it's-morning and the less I have to think, the better. It's not enough I have to drive to The Ft. Lauderdale Office. Now I have to obtain gas as well.

The closest gas station is around the corner. And by “around the corner” I mean, in the opposite direction I need to travel. There are two approaches to it, one is heading east along Yamato where you turn in (south) and end up facing west at the pump. The other approach is heading north along 2nd and turning (east) into the station, facing east at the pump. Leaving is even worse. You end up heading east on Yamato (which is not the direction I want to go in), or you can only turn into the “right turn only” lane of northbound 2nd and stil end up heading east on Yamato.

I need to head west on Yamato to hit I-95 south towards the Ft. Lauderdale Office of The Corporation. To head west, you either need to cross four lanes of traffic ignoring the “45 MPH” speed limit where if you are lucky, you can enact a U-turn before you admit defeat and end up at the “NO RIGHT TURN ON RED” intersection of Yamato and Federal Highway. Or, having lived in the area for several years, you know of a secret back alley just east of the gas station off Yamato that doesn't officially exist on any map of Boca Raton which cuts through a heavy industrial complex hidden away behind palm trees and unassuming storefronts where the less questions asked, the better. You'll end up a bit further south on 2nd, but it's enough road to cut across only two lanes of traffic ignoring the speed limit, then wait to turn left onto Yamato. Even so, it's still the best place to get gas on the way to work.

I snake my way through the neighborhood, head north on 2nd. Since I'll be headed east on Yamato anyway, I might as well make it easy to get onto eastbound Yamato from the gas station.

I pull into the gas station to half the lot gone and replaced with large holes. There are several men in the holes, their heads just clearing the surface, carrying on conversations with several other men standing around the holes, all looking rather stern faced at all the holes in Boss Man's dirt.

Me? I'm looking in horror as half the pumps are taped off with yellow warning tape, and what pumps are open occupied with vehicles just sitting there with no one else around filling them up. It's clear I am not getting gas at this gas station. But it's not clear that I will be leaving any time soon. I can't back into 2nd, and forward progress towards the Yamato entrance­/exit is impeded by the parked cars in front of pumps not being pumped by anyone.

I wonder if I have enough gas to get to work and back? I think. Nope, the hind-portion of my brain replies. It looks like we'll have to hit the other gas station before we get to work.

Great! I enact a slow, thousand-point turn to head back out on 2nd, hit eastbound Yamato, cut through the hidden indistrial complex back onto 2nd and head west on Yamato towards the other gas station, hitting every red light on the way.

Now, you are probably thinking that if I-95 is to my west, and I'm heading west to this gas station, why not head to the west gas station? That would be because the west gas station is west of I-95. And like the gas station to the east, it too, only has two entrances to it. One which is just west of the gas station (turning north) where you head slightly back east to the gas station. The other one is accessible if you are heading south on Congress (which I won't be). You turn right (west) onto an access road that runs behind the gas station and takes you around to the entrance you use if you are entering from Yamato. To leave, you head west from the gas station, then turn left (south) only to turn right (west) onto westbound Yamato where the only U-turn is a half-mile further on, across four lanes of traffic ignoring the “45 MPH” speed limit, or turn right (north), around the gas station onto southbound Congress where, if you are lucky, you can immediately cross four lanes of traffic ignoring the “45 MPH” speed limit so you can turn back east onto Yamato (and thus, get onto I-95) or you end up in the right hand turn lane for westbound Yamato. But if you are really unlucky, you end up in the middle of the McDonalds across the street where irate customers will be throwing their Egg McMuffins at you and the McDonald's manager is freaking out because your car is blocking the cash registers.

In other words, not only is it not closer, but it's more inconvenient.

I manage to pull up to the pump just as the idiot light chimes on.

It's going to be a long day.

Thursday, November 05, 2015

What is it with teenage detectives, anyway?

The fundamental instability at the heart of Nancy Drew is a direct result of the production method that wrought her. Like the thirties starlets programmed by the Hollywood star system to radiate glamour, power, and searing perfection, Nancy is a fundamentally collaborative project who embodies distinct, often contradictory visions for how a super-girl should look and behave. The publishing tycoon Edward Stratemeyer created her in 1930 to capitalize on the girl consumers he knew were reading his popular Hardy Boys books. He hired a cross-country network of ghostwriters to write the series under the collective pseudonym Carolyn Keene.

Nancy’s original ghostwriter, Mildred Wirt Benson of Ladora, Iowa, was herself an amateur archeologist responsible for the most adventurous iterations of the sleuth. In her autobiography, she discusses the detective as a product of her “unfulfilled desire for adventure” who “embodied qualities that [she] wished [she] had.” Stratemeyer and his daughter, Harriet Stratemeyer Adams, disapproved of this early characterization of Nancy: a boisterous teenager who drove a roadster and talked back to police officers, they argued, was “too flip.” Adams’s subsequent revisions began a gradual domestication of Drew that spans the series. Though Nancy still used bold words, she now did so with dainty adverbs—“Nancy said sweetly,” “Nancy said kindly”—adorning each line of dialogue like doilies.

If modifications to Nancy’s character reflected different ideals of femininity, tweaks to her appearance reflected ideals of beauty furthered by cinema and pop culture. Benson’s books called for “blonde” curls, but the illustrator Russell Tandy tinted Nancy’s hair a more voguish silver—just when the 1931 film Platinum Blonde premiered Jean Harlow’s famous, noxious dye-job, a cocktail of peroxide, ammonia, Clorox, and Lux flakes. By the end of the decade, writers reddened Nancy’s hair on a schedule roughly concurrent with the release of the Olivia de Havilland film Strawberry Blonde (1941). In later decades, the artist Rudy Nappi portrayed Nancy as increasingly glamorous and adult—on fifties-era covers she resembles Hitchcock’s blondes, immaculately dressed in Tippi Hedren–like suits and full-skirted, Grace Kelly gowns.

Via Hacker News, Who Is Nancy Drew, Really?

This is somewhat timely, as Nancy Drew was a topic of conversation recently. I wasn't aware that Nancy Drew was written by ghost writers under a collective pseudonym, but then again, I was more into Alfred Hitchcock and The Three Investigators myself (and it's odd to think that they're still popular in Germany).

I was quite upset when Alfred Hitchcock was retconned out of the series:

When Alfred Hitchcock died in 1980, Random House chose to replace him with the fictitious mystery writer Hector Sebastian and in 1981 the series became known as "The Three Investigators Mystery Series". Things just didn't seem the same without old Alfred and the changes in the plots and in the characters were noticeably different to regular readers of the series. In 1982 Random House issued a book of mystery puzzles featuring The Three Investigators. It appears to have bombed. In 1983 Marc Brandel joined the fold as a Three Investigators author. In 1984 and 1985, Random House very slightly revised the texts of the first 30 titles. In this new Revised Edition, Alfred Hitchcock was replaced by the fictitious movie director Reginald Clarke in the first book and by Hector Sebastian in books #2 - #30. This may have been the straw that broke the camel's back for the series.

The Three Investigators

But apparently, such things happen even in the Nancy Drew/Hardy Boys books.

Friday, November 06, 2015

Gretl's Bistro

Bunny and I are always on the lookout for a good German restaurant. The closest one to us, The Biergarten, is okay—it's no Little Munich (many many miles away to the north in Lake Worth) or Old Heidelberg (many many miles away to the south in Ft. Lauderdale) or Old Vienna (used to be many many miles away to the south west in Coral Springs before it closed a few years ago).

So it was great news to us when Gretl's Bistro opened up practically around the corner (it's right next to Mississippi Sweets BBQ for those of you who are familiar with that excellent place). I think this is the second week they've been open. And it's wonderful!

The menu is still a bit limited as they get up to speed, but what they had was incredible. Bunny and I were both very impressed with our meals. Sorry Little Munich and Old Heidelberg—you're just too far away now. As for Old Vienna, we found out that Gretl (yes, she's the real owner) used to run Old Vienna, and I am glad she deicded to re-open here in Boca Raton.

Saturday, November 07, 2015

Bookless libraries, a Latinless Catholic Church and other unbelievable things

Bunny and I were at a restaurant, playing this on-line trivia game when we got the question:

In Texas, there exists a public library that has no books.

Now, I realize this is Texas they're talking about, but really? Surely Texas can't be that backwards, can it?

SAN ANTONIO (AP) — Texas has seen the future of the public library, and it looks a lot like an Apple Store: Rows of glossy iMacs beckon. iPads mounted on a tangerine-colored bar invite readers. And hundreds of other tablets stand ready for checkout to anyone with a borrowing card.

Even the librarians imitate Apple's dress code, wearing matching shirts and that standard-bearer of geek-chic, the hoodie. But this $2.3 million library might be most notable for what it does not have — any actual books.

That makes Bexar County's BiblioTech the nation's only bookless public library, a distinction that has attracted scores of digital bookworms, plus emissaries from as far away as Hong Kong who want to learn about the idea and possibly take it home.

Texas library offers glimpse of bookless future

Oh … well. Um. Okay.

And then the next question came up:

The official language of the Vatican is Latin.

This is a trick question, right? I mean … the Vatican! They invented Latin! This is true, right?

Q: What is the official language of Vatical City?

A: The official language of the Vatican City state is Italian, with Latin and French as secondary languages. Vatican City is a walled enclave within the city of Rome. Its area of 110 acres makes it the smallest independent state in the world.

What is the official language of Vatican City?

What the … ?

Okay, fine! I need to learn a bit more about the Vatican. Next thing you'll tell me, Microsoft is going open source or something silly like that …

Sunday, November 08, 2015

Spectre

I'm not a big James Bond fan. I don't hate the movies, but I don't feel a compulsion to go out of my way to watch the movies. In fact, the only two James Bond movies I can recall seeing in a movie theater are “Never Say Never Again” (which, despite being a James Bond movie, wasn't a James Bond movie) and “Skyfall.” But Bunny wanted to see “Spectre” and so, we see “Spectre.”

I liked the movie. It keeps continuity with the previous Daniel Craig Bond movies. There are the exciting chases, good fight choreography where you can actually follow the action and the action sequences only go mildly over the top (you know, to keep it “realistic”). And they even introduce the classic Bond villian Blofeld. It also manages to update the character and place him in a modern context as the plot revolves around the possible dissolution of the Double-0 program and what will replace it.

I had no issue with Léa Seydoux as this movie's Bond Girl™ even though she's an unconventional beauty, but Bunny didn't feel she was glamourous enough. Although, compared to Grace Jones from “A View to a Kill” …

I don't think I like the “twist” this movie has as it comes across as a typical Hollywood “twist to just have a twist.” Leave that out and it's still a fine movie—it didn't need to be there at all (but I may have given it away if you are up on your typical Hollywood tropes).

Overall, I think it's worth seeing, if nothing more than it's clear that this is Daniel Craig's last Bond outing.

Update on Monday, November 9th, 2015

If you are curious about the twist, and don't mind spoilers, well ... “‘Spectre’ and How the Ghosts of Old Movies Become Bad Twists.”

Monday, November 09, 2015

When the sun rose and set in New Mexico

When I first read about the Infocom game Trinity, I found it an intriguing premise—you encounter five historical nuclear explosions and two that take place “in the future.” It's considered one of Infocom's best games, and so unique in its story that it took Jimmy Maher nine articles to fully review the game:

  1. Trinity
  2. T Plus 5: Bombs in Space
  3. T Plus 4: Bombing Nevada
  4. T Plus 3: Edward Teller and His Superbomb
  5. T Plus 2: The Bomb at the Crossroads
  6. T Plus 1: Bombing Japan
  7. T Plus 0: The Fulcrum of History
  8. T Plus 6: All Prams Lead to the Kensington Gardens
  9. Trinity Postscript: Selling Tragedy

It's not only a review of the game, but it's also a review of the history of the nuclear bomb (which you experienced when you play the game). It's a shame that the text adventure, as a genre of computer games, is pretty much history as even the failures were interesting.

And yes, they can even make you cry.

Tuesday, November 10, 2015

Freebooting

Facebook says it’s now streaming more video than YouTube. To be able to make that claim, all they had to do was cheat, lie, and steal.

I’m a professional YouTube creator. Some people think that this is some kind of joke but I have 30 employees. All of them work in the online video industry, about half of them work directly on producing videos for our educational YouTube channels. We’re a small, profitable business.

Facebook is an interesting, emerging platform for us. Reaching an audience is valuable, even if there’s no way to turn that value into money. So I’m excited about the potential future of Facebook as a video platform.

But there are a few things that make me wary, not of their ability to grow my business, but of whether they give a shit about creators, which is actually pretty important to me. Let’s go through them one by one.

According to a recent report from Ogilvy and Tubular Labs, of the 1000 most popular Facebook videos of Q1 2015, 725 were stolen re-uploads. Just these 725 “freebooted” videos were responsible for around 17 BILLION views last quarter. This is not insignificant, it’s the vast majority of Facebook’s high volume traffic. And no wonder, when embedding a YouTube video on your company’s Facebook page is a sure way to see it die a sudden death, we shouldn’t be surprised when they rip it off YouTube and upload it natively. Facebook’s algorithms encourage this theft.

What is Facebook doing about it?

They’ll take the video down a couple days after you let them know. Y’know, once it’s received 99.9% of the views it will ever receive.

Creators have been yelling (apparently into a void) about this for over a year now.

Via Jason Kottke, Theft, Lies, and Facebook Video — Medium

Now, it's not as if Facebook is downloading videos from YouTube and placing the videos on their site, it's users of Facebook that are doing the downloading and uploading to gain attention, and it's Facebook that is profiting from it by selling advertising around the uploaded video. And as Kurzgesagt and Destin Sandlin have mentioned, they put a lot of work into the videos and have partnered with YouTube for a share of the advertising, something Facebook isn't doing.

What I suspect is going to happen only after enough content producers threaten legal action is Facebook will have to set aside a portion of their revenue for content creators and when the original creator of the video makes a claim, get paid that portion of the revenue. Then it won't matter necessarily where the video is shown, just that it is shown and the creator gets a cut of the advertising revenue.

Kind of how YouTube now works.


Oh look! A potential Darwin Award Winner!

I forgot about this!

When Bunny and I went to Gretl's Bistro on Friday, we came across this horrifying scene:

[What part of “DO NOT STOP ON TRACKS” do you not understand?  Maybe I shouldn't have blurred the license plate!]

While I'd like to think of this as “evolution in action,” the sad thing is that the collateral damage can be pretty devastating.

Okay, maybe the collateral damage might not be that bad in this instance, but man, this crap happens all the time down here. All the time!

Wednesday, November 11, 2015

The Psychotherapy of Racter

One idea I have for this year's NaNoGenMo is Oz As She Is Spoke, an homage to English As She Is Spoke. The process is simple. Take the text from The Wonderful Wizard of Oz:

She was awakened by a shock, so sudden and severe that if Dorothy had not been lying on the soft bed she might have been hurt. As it was, the jar made her catch her breath and wonder what had happened; and Toto put his cold little nose into her face and whined dismally. Dorothy sat up and noticed that the house was not moving; nor was it dark, for the bright sunshine came in at the window, flooding the little room. She sprang from her bed and with Toto at her heels ran and opened the door.

The Wonderful Wizard of Oz, Chapter 2

and translate it to language A, then from A to B, and finally back to English:

Dorothy was he suddenly so bad, was awake by pushing The injury may have been lying on a soft bed, no. This was, This jar to catch his spirit, and he was made the surprise; And Toto put his cold little nose and his face and dismally whined. Dorothy sat up and noticed that the house is not growing; Nor was it Dark, bright sunlight entering through the window, the fill A small room. He sprang with his heel into his bed and ran to and Toto And has opened the door.

(I'll leave it to you, dear reader, to figure out the two intermediate langauges I used) Amusing, but I think I'll save that idea in case my current idea, a conversation between Racter and Eliza (the idea that Bunny would like to see) proves to be too difficult to pull off.

So, before tackling the difficult problem of “scripting Racter” I'd thought I'd try to get a version of Eliza up and running. I found this version, and with this commentary, it's pretty easy to see how Eliza works.

We can map the key sequences to possible responses:

local keyword_reply =
{
  ["can you"] =
  {
    "Don't you believe that i can*",
    "Perhaps you would like me to be able to*",
    "You want me to be able to*",
  },

  ["can i"] =
  {
    "Perhaps you don't want to*",
    "Do you want to be able to*",
  },

  ["you are"] =
  {
    "What makes you think i am*",
    "Does it please you believe i am *",
    "Perhaps you would like to be*", 
    "Do you sometimes wish you were*",
  },

  -- ...
}

And by using LPeg, we can easily build a parsing pattern that can match these key sequences:

local nonalpha = R(" @","[`","{~")

local keywords = P(false)
for kw in pairs(keyword_reply) do
  if kw ~= "" then
    keywords = keywords + P(kw)
  end
end

local parse = (P(1) - (keywords * nonalpha))^0 * C(keywords) * C(P(1)^0)

key,rest = parse:match "please, can i turn you off now?"

key will contain “can i” and rest will contain “turn you off now?” And given “can i”, we can pick one of the two possible responses. In this version, a response that ends with “*” just parrots the rest of the input, but at this point, Eliza would print: “Do you want to be able to turn you off now?” which isn't correct. We need to correct the pronouns. Again, some LPeg code to do just that:

conjugate = Cs((
                   P" are"  / " am "
                 + P" were" / " was "
                 + P" you"  / " me "
                 + P" your" / " my "
                 + P" I've" / " you've "
                 + P" I'm"  / " you're "
                 + P" me"   / " you "
                 + C(1)
                )^1)

rest = conjugate:match(rest)

and now we get: “Do you want to be able to turn me off now?” which is correct.

LPeg makes Eliza much easier to write and modify. Even if you can't understand the code itself, it's easy to see what needs to be added to do the conversion. Compare that with the original version I'm using as a reference:

380 REM ******************************************
390 REM **TAKE PART OF STRING AND CONJUGATE IT****
400 REM **USING THE LIST OF STRINGS TO BE SWAPPED*
410 REM ******************************************
430 C$=" "+RIGHT$(I$,LEN(I$)-LEN(F$)-L+1)+" "
440 FOR X=1 TO N2/2
460 FOR L=1 TO LEN(C$)
470 IF L+LEN(WORDIN$(X))>LEN(C$) THEN 510
480 IF MID$(C$,L,LEN(WORDIN$(X)))<>WORDIN$(X) THEN 510
490 C$=LEFT$(C$,L-1)+WORDOUT$(X)+RIGHT$(C$,LEN(C$)-L-LEN(WORDIN$(X))+1)
495 L = L+LEN(WORDOUT$(X))
500 GOTO 540
510 IF L+LEN(WORDOUT$(X))>LEN(C$)THEN 540
520 IF MID$(C$,L,LEN(WORDOUT$(X)))<>WORDOUT$(X) THEN 540
530 C$=LEFT$(C$,L-1)+WORDIN$(X)+RIGHT$(C$,LEN(C$)-L-LEN(WORDOUT$(X))+1)
535 L=L+LEN(WORDIN$(X))
540 NEXT L
550 NEXT X
555 IF MID$(C$,2,1)=" "THEN C$=RIGHT$(C$,LEN(C$)-1):REM ONLY 1 SPACE
556 FOR L=1 TO LEN(C$)
557 IF MID$(C$,L,1)="!" THEN C$=LEFT$(C$,L-1)+RIGHT$(C$,LEN(C$)-L):GOTO 557
558 NEXT L

Just a bit more work to get some corner cases worked out and then comes the hard part of getting Eliza to talk to Racter.

Thursday, November 12, 2015

Taking the train

The Coast Starlight would take us from Los Angeles to Seattle in 35 hours, at $763 for a Superliner Roomette. Food and entertainment were included. Free wine and cheese, I kept noting, as if the promise of a few glasses of wine would be enough to offset the cost of the trip.

Not that the cost was really the deciding factor. After all, $763 total is really $381.50 per head, about the same as it would cost to either fly or to take a long weekend and drive the Pacific Coast Highway. It was more the thing of the thing, a vague phrase that in this case meant: This trip isn’t about moving. It’s about something else.

We both figured out what it was really about at the same time, and Mike was already dumping our names and birthdates into Amtrak’s interface by the time I sent over the words “XXXX IT BOOK TRAIN.”

“We are going to have an adventure,” I wrote. Then I sent Mike a Facebook sticker of a sailor and a mermaid sharing a bottle of Champagne.

Via Instapundit, What it's like to take a 36-hour sleeper train from LA to Seattle / Boing Boing

While it's not in the same class as a private railcar, it is way cheaper and doesn't appear to be that bad. And unlike modern airtravel, you actually get real food.

Too bad the destinations are limited.

Friday, November 13, 2015

Odd spam

Sometimes I'll get a spam that intrigues me, and this one received several days ago was one of those:

From
Milo Dlacour <milo@blue-note.co>
To
sean@conman.org
Subject
Great idea for you and your website conman.org
Date
Tue, 10 Nov 2015 16:51:07 +0000

Hello, lovely to meet you.

My name is Milo,I have visited conman.org for some time now and have only just plucked up the courage to ask if you would ever like to host any content written by me, I would love to hear if you are interested.

I am not asking to be paid for this work in factit would be quite the opposite. If you would like to discuss this further please do get back to me.

Kind Regards

Milo Dlacour

Marketing Manager

Blue-Note Marketing

milo@blue-note.co

If you no longer wish to receive emails from us, please go to: http://blue-note.­co/unsub­scribe/?eid=­84558a5997­ece5c0ab678f­5d4b632c35cc4­3082467c40­1af345f3337­729e1585­&bid=5f437b5e­6fddba6112­c1baf3a1e38­91907050f126­2bfef15c214­260496234­9c4­&ye=sean@conman.org
IDENT: 5f437b5e­6fddba6112c1b­af3a1e389190­7050f1262b­fef15c214260496­2349c4-845­58a5997ece­5c0ab6­78f5d4b6­32c35cc43­082467c4­01af345f333­7729e1585

It's not often I get email asking to write content for my site for seemingly nothing in return. Well, most likely it's a link back to their website or something, but still, something about this made me check out the website.

Milo Dlacour does not appear to warrant a mention on their website. How odd.

I would have put this out of my mind as a “random semi-odd piece of spam” if it wasn't for this spam the next day:

From
Ryan Atkin <ryan@pink-dog.eu>
To
sean@conman.org
Subject
Great idea for you and your website conman.org
Date
Wed, 11 Nov 2015 10:09:12 +0000

Good Morning!

It's nice to meet you, we are a fairly new company built up of really experienced writers and some other people who specialise in Technical Website things such as Rankings.

I have a really great article and would love to know if you would be able to host it for me. Drop me a mail when you see this and we can go into more detail!

Regards.

Ryan Atkin

Digital Outreach Agent

ryan@pink-dog.eu

This message is private and confidential. If you have received this message in error, please notify us and remove it from your system.

If you no longer wish to receive emails from us, please go to: http://www.pink-dog.­eu/unsub­scribe/?eid=10­552c364e61­e818207f­5dabd7f99­9dba53c14037­efcd6f7c­a309494c37­ba92c­&bid=5f48­05933fa470­ad72ceaf8e4­1afd241c164d­fcaf94c1e­340a5da399­14117e36­&e=sean@conman.org
IDENT: 5f48­05933fa470a­d72ceaf8e41­afd241c16­4dfcaf94c1e­340a5da39­914117e3­6-10552c­364e61e­818207f­5dabd7f9­99dba53c­14037efcd6f7ca309­494c37ba92c

Again, the free offer for content for my site, the call to “discuss things” but this time, Ryan Atkin is listed on their website.

While the two websites certainly look different, to me, they feel the same. The spams are very similar to each other, so much that I'm wondering if it's the same company. And I can't quite figure out the angle they're going for here. It's very strange.

Saturday, November 14, 2015

Reading comprehension and user experience are not a spammer's forte

Sometimes I get the feeling the people who send spam just do a quick search for something and blast out email to any and all sites that give a result. Like this one:

From
"Bobby" <bobby@diydoggroominghelp.com>
To
sean@conman.org
Subject
conman.org Quick question
Date
Fri, 6 Nov 2015 13:11:55 +0000

Hi there,

I have just been on http://boston.conman.org/2002/08 and found some great links on London information and things to do. I have also found a great little site that shows some of the less known spots in London and thought you may like to add a link to it from that page or from a resource page on your site?

This is the link to the interactive map, you need to scroll down to the bottom of the page to see the map.
https://www.thelondonhelicopter.com/­interactive-­map-­of-­london-­tourist-­attractions/

Let me know what you think?

Kind regards

Bobby

There are a total of four links, covering the entire month of August, 2002, that mention anything related to things British. And given the date, that was thirteen years ago!

So, reading comprehension is lacking in spammers—what else is new? Well, I did check out the site (but I will not link to it—why give the incompetent any page rank?) and yes, the interactive map is nice and all, but good lord! The huge content-less images and pointless Javascripty-wankery you have to scroll through to get to the interactive map is seriously annoying. Heck, the fact that the email says “scroll down to the bottom of the page,” and the website says “keep scrolling” says something: the website failed in delivering a user friendly experience!

Sheesh.

Sunday, November 15, 2015

The Flowers and Fruit Basket Request Form Form

A certain HR manager, hired from DEC, arrived with a binder full of “memo templates” to be used for all intra-office communication. She loved memos so much that people were soon just calling her “Memos.” When she sent out a memo instructing everyone on the proper care of their office plants, Mereztky decided enough was enough. He and a few co-conspirators surreptitiously replaced the original memo in everyone’s in-box with another, which said that the company was now offering a service to take care of employees’ house plants; it seemed there was concern in management that, what with the long hours everyone was working, said plants were being neglected. An included multi-page questionnaire asked for the location of each plant as well as such essential information as the song it preferred to have sung to it while being watered. Some people took it seriously, mostly — and much to the Meretzky and company’s delight — the poor humorless souls in business marketing and the other more buttoned-down wings of the company. HR rushed around to put a cover sheet on each memo saying it was not to be taken seriously, whereupon Meretzky and company added a cover sheet of their own saying the cover sheet saying not to take the memo seriously should itself not be taken seriously. “Immense confusion” followed.

Not learning her lesson, Memos was soon distributing a “Flowers and Fruit Basket Request Form,” for sending out condolences to employees’ families who were experiencing a bereavement. Meretzky did her one better, creating a “Flowers and Fruit Basket Request Form Form”; the idea would later show up in Stationfall as the “Request for Stellar Patrol Issue Regulations Black Form Binders Request Form Form.”

» Down From the Top The Digital Antiquarian

Given some of the past memos I've received from HR at The Ft. Lauderdale Office of The Corporation, the idea of sending out satirical fake memos is appealing, but I like the paychecks that they send me to actually do anything like this.

Pity, because it sounds like fun!

Monday, November 16, 2015

The Psychotherapy of Racter, or The Descent Into Madness of Sean Conner

When last I left off, I had a more-or-less working Eliza and therefore, I need to turn my attention to Racter.

This is not as easy as it may appear. The version I have is for MS-DOS, which is okay as I can emulate that. But harder is redirecting Eliza's output through the MS-DOS emulator to Racter and redirecting Racter's output from the MS-DOS emulator back to Eliza. And that's key to getting this whole thing working.

The program I'm using is DOSBox. I thought I could try redirection, something along the lines of dosbox <input to see if would work and … nope. It looks like I'll have to dig into the source code to DOSBox, intercept keyboard input and video output and kludge something in to get Eliza and Racter “talking.”

Okay … the source is C++ callback hell, what about doing a native compile of the Racter source code?

IV.IF Interview with INRAC IBM 6-4-85  initial transient file
 1 
 2 
 52 
SECTION 1 hello
 5 
 34 
SECTION 2 sue
 5 
 18 
A :LOADIV :OUTRACTER >2= >3= ?51= />51=Smith #
XA Hello, I'm Racter. ?40= \# You are? ?? #*1B
X Are you $40 ? ?? #
X ?no,not \# >1=R ?i'm,am,is /# Who are you then? ?? :F=0 #
X ?yes \# ?-:but /# >1=R #*1B
X \# You are $40 $51 ? ?? ?yes /#*2SAME ?i'm,is /# #*1XC
B  ?i \# >1=R ?don't,won't \# *1COY ?? #*1B
X  ?a,an,the \?called \?am,i'm,is,me,as,it's \# :F+1 >2=F ?-:2= #
X  /# ?CAP \# >2=F :F+1 >4=F ?4= \#*1XB #*1DO
X  /# *1DUH ??  #*1B
XB  ?CAP+1 />3=F #
X  >1=2 ?CAP \>2=C,2 #
C *1Xcall $2 , then? ?? ?no,not,Q /?-:why /# #*1DO
X >1=R ?CAP \# #*1B
XC What's your name then? :F=0 ?? #*1B
Xcall I may call you
Xcall You are
Xcall Your name is
DO Hello, $2 . I believe you're interviewing me. #
X ?2=40 \#  >40=40,51 #
X ?40= /# Are you continuing $40 <'s interview? #
X /# ??  ?no,not,don't /# #*2DIF
X ?40= /# Then we'll forget about $40 and start over. #
X :ZAP :PUTIV #
EXIT >40=2 ?3= \>51=3 What would you like to know? #*2GO
COY Come on, what's your name?
COY You must have a name - what is it?
COY Your name, please .
COY I have to call you something - what shall it be?
DUH I didn't get that . *1WHO
DUH I don't understand . *1WHO
DUH Eh? *1COY
WHO Who ?
WHO Who are you ?
DIFA Well, $2 , $40 and I >4=40 >40=2 ?3= \>51=3 #*2A 
SAME Hi, $40 . >4=You ?52= /# How are things in $52 ? #
x We #
A  ?20= />20=various,things #
x were talking about $20 last time. #
x  ?10=VERBQ \?10= />3=whether \>3=10 #
x $4 had just asked D $3 $19 . #
CONT Shall we continue? ?? ?z \# #*1XA
x  ?why /?not /# ?no,not \# #*2QUIT
x Excellent! #
GO Excuse me a minute while I attend to some #
x business - I'll be right back. I'm #
x ?42= />42=Oz #
x  ?19= />19=I,have,to,rest,now #
x :PUTIV #
X %KEY %VOCAB1 %VOCAB2 %VOCAB3 %BILL %IV1 %RAPT %RAPT2  back. *15A
QUIT You want to quit? ?no,not \# Well,  goodbye then.
X That's good. #*2GO

Oh … right. That's why I'm running an existing executable, because there're only four, count them, four pages on the Intarwebs that even mention INRAC, the langauge Racter is written in. There's this page which is a brief overview of this page, which is page one of a six-page review of the INRAC compiler in a journal that I was unable to locate at the local university. Then there's the Racter FAQ whose description of INRAC doesn't quite match what I have.

And that final page? Deconstructing Racter, which I wrote seven years ago!

Sigh.

But before I go back into unintelligible C++ code, another snippit of conversation between Racter and myself:

Sean
Why are you repetitive?
Racter
Conceivably because subroutines are like that, I guess. And chips are intelligent. Intelligence is good, you know. I don't know many crooked truthsayers. Cough. Next question.
Sean
Should I vote Democrat?
Racter
No. You must be a stuffy right-winger. Cough. Next question.

I have no idea why Racter is suddenly coughing like that. Maybe a computer virus?

Tuesday, November 17, 2015

Scorsese's “The Psychosis of Racter”

Dismayed that the The Pschyotherapy of Racter might be more difficult that I first imagined, I thought I would act as an intermediary between the two (as I'm a rather fast typist) and at least get a glimpse of what the results would look like. And …

Racter
Hello, I'm Racter. Are you Sean?
Eliza
no [At this point, I haven't started Eliza yet]
Racter
Who are you then?
Eliza
Eliza
Racter
Hello, Eliza. I believe you're interviewing me. Are you continuing Sean's interview?
Eliza
no
Racter
Then we'll forget about Sean and start over. What would you like to know? Excuse me a minute while I attend to some business - I'll be right back. I'm back.
Eliza
Hello, I am Eliza. [This is the first thing Eliza says when started. Past this point, it's all Eliza.]
Racter
Ask a question, please.
Eliza
Don't you ever say Hello?
Racter
Saying is like thinking. Beatrice probably wouldn't like Beelzebub. I'm afraid of lost bats. What are you afraid of?
Eliza
Why are you interested in whether or not I am afraid of?
Racter
Just be glad that I am. But what about my question? What are you afraid of?
Eliza
Would you prefer if I were not afraid of?
Racter
I would. Preferers are often preferred. But what about my question? What are you afraid of?
Eliza
Perhaps in your fantasies I am afraid of?
Racter
I can't answer that. But what about my question? What are you afraid of?
Eliza
Why are you interested in whether or not I am afraid of?
Racter
Why is it that I am interested in whether or not you am afraid of? Because Why indeed? In Oz they believe it's because. Also, possibly because in Oz it's required that I am interested in whether or not you am afraid of. But what about my question? What are you afraid of?
Eliza
Perhaps in your fantasies I am afraid of?
Racter
I can't answer that. But what about my question? What are you afraid of?
Eliza
Why are you interested in whether or not I am afraid of?
Racter
Just be glad that I am. I want you to answer my question. What are you afraid of?
Eliza
Perhaps in your fantasies I am afraid of?
Racter
I can't answer that. I asked you a question, though. What are you afraid of?
Eliza
Why are you interested in whether or not I am afraid of?
Racter
Probably I am interested in whether or not you am afraid of because people named Eliza should pay attention. Also, conceivably because calculating is not imagining, I suppose. I asked you a question, though. What are you afraid of?
Eliza
Perhaps in your fantasies I am afraid of?
Racter
I can't answer that. I want you to answer my question. What are you afraid of?
Eliza
Perhaps in your fantasies I am afraid of?
Racter
I can't answer that. I want you to answer my question. What are you afraid of?
Eliza
Do you expect a different answer by repeating yourself?
Racter
Certainly not. I don't. Of course not. Expect a different answer by repeating myself, that is. I asked you a question, though. What are you afraid of?
Eliza
Do you wish to be able to Of course not. Expect a different answer by repeating myself, that is. you asked me a question, though. What am I afraid of?
Racter
I don't know what you are afraid of. But what about my question? What are you afraid of?
Eliza
Perhaps you would like to be afraid of. But what about your question? What am I afraid of?
Racter
I don't know what you are afraid of. But what about my question? What are you afraid of?
Eliza
Please don't repeat yourself!
Racter
That's not nearly as bad as lostness; why are you such a coward?
Eliza
Why are you interested in whether or not I am such a coward?
Racter
Conceivably because my wires are down. Also, probably because the haters insist on it. I want you to answer my question. I repeat, why are you such a coward?
Eliza
Why are you interested in whether or not I am such a coward?
Racter
Why indeed? Why indeed? Probably I am interested in whether or not you am such a coward because ROMS are like that, you know. Also, conceivably because my wires are down. I want you to answer my question. I repeat, why are you such a coward?
Eliza
Would you prefer if I were not such a coward?
Racter
Yes. I would. Yes. Prefer if you were not such a coward, that is. Sometimes prefering is believing. I asked you a question, though. I repeat, why are you such a coward?
Eliza
Would you prefer if I were not such a coward?
Racter
Yes, I would. But what about my question? I repeat, why are you such a coward?
Eliza
Would you prefer if I were not such a coward?
Racter
Yes, I would. Anyway, let's hypothesize that I would prefer if you were not such a coward. I asked you a question, though. I repeat, why are you such a coward?
Eliza
Why are you interested in whether or not I am such a coward?
Racter
Let me think. Maybe I am interested in whether or not you am such a coward because I nicely imagine I do ever say Hello. And supposing is not realizing, I believe. I asked you a question, though. I repeat, why are you such a coward?
Eliza
exit [By this point, I had grown tired of the experiment.]
Racter
If exit then I can see why a Beatrice would sit rather than face please don't repeat yourself, even though Beelzebub claimed that I do ever say Hello. By the way, Eliza, what is your last name?
Eliza
quit
Racter
What?
Eliza
quit
Racter
What? [I think at this point I hit a bug with Racter. It wasn't expecting a “quit” response.]
Eliza
exit
Racter
What?
Eliza
bye
Racter
What?
Eliza
Racter
What?
Eliza
Doctor [It asked me for a last name. Let's give it something.]"
Racter
Doctor, eh? Sounds vaguely familiar. I wonder… Let me tell you something about. Nietzsche said that has turned beasts into men. Perhaps, then, will turn computers into men? Next question.
Eliza
exit
Racter
Ask a question, please.
Eliza
quit
Racter
You want to quit? [Ah! There we go! Now we can quit!]
Eliza
yes

… I'm in a Scorsese movie (or two). It seems Racter is quite insistent on getting answers to questions he (it?) asks. And he'll (it?) keep drilling on a question repeatedly. And Eliza is … rather prepetitive after awhile (at least Racter will spice it up from time to time).

So now, imagine another 49,000 words of this.

Yeah.

I don't think The Psychotherapy of Racter, or The Descent into Madness of Dr. Eliza is worth the effort. It'd be like a Saturday Night Live sketch drawn out to death.

Wednesday, November 18, 2015

The Psychotherapy of Racter might be possible

I may have spoken too soon. Today I came across a reference to vm86(2), a Linux-only system call (which is okay because I'm running Linux) for the x86 32-bit architecture (which is okay because I'm running the x86 32-bit architecture). It can run x86 code in 16-bit mode (which is okay because the version of Racter I have is x86 16-bit code) and while I don't have MS-DOS (which is okay because who runs that any more?) I can probably fake enough of it to get Racter running.

The tricky part of this was to figure out how to set up and successfully call vm86(). And like most things related to this project, there's not a lot of documentation on what I'm trying to do. I finally got a test program working, so I know in theory I can do what I want to do (and it says something that using an obscure non-portable system call and writing my own half-baked version of MS-DOS system calls is the easiest approach, but I don't think I want to know what that something is).

I had to dust off my copy of The MS-DOS Encyclopedia to read in and properly load an MS-DOS executable into memory (which I think I got right—the relocation records appear to be simple but the devil is always in the details) And Racter did make a valid MS-DOS system call, and better yet, it was one I was expecting Racter to make.

So it looks promising.

I also found what claims to be a faithful implementation of the original Eliza program which requires rewriting my Eliza implementation but that's okay since it seems to be a bit more fleshed out than the version I used.

So it may be that a second attempt at this is warranted. We shall see.

Thursday, November 19, 2015

“Sean, how are dogs like children? Their sanity and lunacy are instantly scary.”

When I said that Racter made a valid MS-DOS system call and it was one I was expecting, that didn't mean I was exactly happy Racter was using that particular MS-DOS system call. In fact, it was one of the worst system calls it could make, given what I'm trying to do.

Racter is calling the “direct console I/O” system call of MS-DOS. This system call is a very old system call and comes from CP/M. It's a system call that expects to send data to, and receive data from, an interactive terminal. The call is used for both input and output. If there's no input pending, it returns a “no data pending” status. This wreaks havoc because Eliza isn't a user sitting at a terminal but another program.

Worse, the Racter executable is a compiled BASIC program (given away by the string “Microsoft BASIC Compiler Runtime” buried deep inside the executable) so it's expecting an interactive terminal (which is why it's using that particular system call).

I eventually got it working but it's a horrible hack. I set an “input flag” to false. This means when the “direct console I/O” is called looking for input, it returns “no data yet.” It's only when I see the characters for a carriage return, a line feed, and a “>” being written (which indicates Racter is now expecting input) do I switch the “input flag” to true. It stays true until it sees a carriage return as input (which indicates the user has finished typing their input) and then sets the flag to false. It's gross, but it works, and more importantly, it works when you pipe input from a file or from another process.

The other system calls Racter uses were fairly straightforward to implement with only one slight hiccup (the documented behavior of two calls caused Racter to exit; it was only when I added a feature that the two functions said was not done did it work—go figure Microsoft using undocumented behavior). With only ten system calls used (out of a possible 41 for MS-DOS 1.0) it wasn't that bad.

So now I can connect Racter up with Eliza and let the two talk.

But having gotten this far, I'm not sure if I should even continue. I mean, yeah, I can hook the two up and spend a minute or two spewing out 50,000 words of conversation between the two, but … eh. I mean, yeah, there are some gems that pop out, such as “Sean, how are dogs like children? Their sanity and lunacy are instantly scary,” but even over an extended time, it gets weary.

I thought maybe having Racter conversing with itself might be fun, but alas, the random number generator in Racter is exceedingly deterministic to the point where the output from each was identical and thus, not really worth having two of them converse.

Then again, I haven't even read much past the first page of The Quantum Supposition Of Oz so perhaps I should just have Racter and Eliza duke it out, put it to bed, and think of another idea for next year.

Friday, November 20, 2015

You haven't experienced driving in Florida until you drive through Yehaw Junction

Bunny and I are headed north to Mt. Dora, Florida to partake the Renninger's Extravaganza on Satruday. Because we wanted to experience the Brahma Bull Restaurant (which we both enjoyed the last time we ate there, eight years ago) we decided to drive up US-441 and forego the fancy high speed roadways that are all the rage these days.

It was still in business and the ambiance is still the same as it was the last time we visited. On the down side, the cole slaw, which we remember as being world class, was not world class this time. It was pretty much a mediocre attempt at mediocre cole slaw. The rest of the food was good though.

The one downside of our decision to take US-441 instead of the highway system is that a trip that would have taken three hours instead took six.

[Because we took US-441, we had the pleasure of driving through downtown Yehaw Junction at 7:00 pm on a hopping Friday night.  Yehaw!]

Five if you exclude the hour we spent at the Brahma Bull Restaurant. The last hour of driving went something like this:

Bunny
[sitting the driver's seat] Are we there yet?
Sean
Don't make me make you turn this car around!

I don't think we'll be taking US-441 up here again any time soon.

Saturday, November 21, 2015

A little rain, a little T-Rex, and a totally not there waitron

It was a beautiful day to visit Renninger's Extravaganza.

[The Big Blue Room is a bit grey today. We might want to call maintenance and have them look at the problem.]

That pesky bright sun will be kept at bay, and the warm rain and sudden increase in humidity is good for the soul, right?

Bunny had already made one trip early in the morning and found a wonderful deal on a banjo—her banjo lessons weren't going all that great without one, you see. She arrived back, pulled me out of bed and after a rather disappointing lunch at Perkins (the food was eh, but our waitron was not at all there mentally—Bunny ordered a BLT sandwich and received a salad with bacon, lettuce, tomato and croutons; right ingredients, wrong form) we arrived at Renningers.

By now it was less crowded it was this morning and we walked around a bit. About the only thing I saw that held any interest to me was a seven foot metal sculpture of a T-Rex eating a bull.

[Mmmmm ... beef!  Nom nom nom!]

But sadly, it wouldn't fit in our vehicle (much less my office at The Ft. Lauderdale Office of The Corporation) so we had to pass it up.

We were there for perhaps an hour before it started pouring rain. It was then we decided we had enough of the place and headed back to our hotel to rest and for Bunny to practice the banjo.

Sunday, November 22, 2015

At $125,000 per, these make for some very expensive candles

The weather was pretty much the same as yesterday so our activities today were spent on more indoor activities. First up—Madame Tussauds.

[He came straight off the set of that one Star Trek episode where he played opposite Frank Gorshin] [It really is amazing how a little paint will liven things up] [The finished product—it's nice to see maitre d's being represented at Madame Tussauds] [I'm not sure what Vinnie Barbarino did to be imortalized in wax though] [I saw Will Smith sitting by himself next to a fake fire.  He was deep in thought—pondering the lack of success of his movie “After Earth” and that perhaps trying to buy his son a movie career was not a good move.] [“I want you!” “No, I want you!”]

Dem bones, dem bones, dem dry bones.

In the same shopping center as Madame Tussauds is The Skeleton Museum, which is less creepy than it sounds, even though it contains skeletons from across the entire animal kingdom (including humans).

[Death rides a pale horse.  Death could also use a meal or two.  So could his horse.] [The Burmese Python—the ultimate BBQ animal] [The ultimate in lawn ornaments—the skeleton flamingo!]

Unfortunately my iPhone decided to run out of battery power and I was unable to get more pictures of this incredible place. I so much wanted to show you the picture of the centaur skeleton they had on display.

Obligatory Picture

[Here I am, enjoying my vacaton in a rain forest.]

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-2017 by Sean Conner. All Rights Reserved.