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.

Monday, November 13, 2000

A very odd occurrence

Very odd. Yesturday I got up quite late (9:00 pm) feeling rather bad; very tired and somewhat nauseous because of this incredibly bad headache. I either slept too much, or had yet to catch up on sleep. I chatted with a few friends (no, I didn't mind chatting) then watched Desperado, listening to the director's commentary (I had watched El Mariachi last week, borrowing the DVD from my friend Jeff Cuscutis and all I have to say on both is “the DVD with both films is worth it if you're into making low-cost films”) and fell asleep by 4:00 am. I woke up at 9:00 am this morning.

That's what I found very odd.

Not only that, but I felt like getting up; I wasn't sleepy at all.

Odd.


Me? Bitter?

I spend my second day off from work (my logical Sunday, even if phyically it's Monday—sorry, old computer joke there) with a client, doing the work any competent Unix sysadmin should be able to do.

Me, bitter? Naaaaaaaaaaaaaaaaaaaaaah.

At least I had lunch at Byblos, a local mid-Eastern restaurant in Boca Raton and I really like.


Farewell Dinner

Mark has been at his job for less than a week, and not only is the expert on the project he's been thrown on, but he's being shipped out to Texas on a business trip tomarrow.

So tonight JeffK and I took him out to dinner to wish him well on the trip. We went to the Road House Grill. It's a steak house where they have buckets of peanuts on the table and you can toss the shells on the floor. The food is good and the atmosphere tolerable (in that while they do play country music, it's not loud enough to be truely annoying).

Afterwards I showed Mark the pictures from his birthday party and then we rented Frequency, a time travel story without the travel.

After the movie, JeffK and I kicked ourselves out to allow Mark time to pack, even if it was after midnight.


Frequency

Frequency, a movie staring Dennis Quaid and James Caviezel, is a time travel story without the travel. Basically, a freak solar storm in 1969 and 1999 allow a father (in 1969) to speak to his son (in 1999) over a short-wave radio set (the same set as it turns out). Given that leap of faith, and the the belief that changes made in the past change the future, it's fairly consistent in its treatment and an interesting twist to the time travel genre. Worth seeing if you into that type of film.

Tuesday, November 13, 2001

Feature or marketing?

I've been busy the past two days with some programming—for myself as well as a client, although I should probably spend more time on the client's code than my own but alas …

I spent some time yesturday trying to implement Markov Chains that wasn't successful. I know I've done this before (in Pascal of all things) years ago but I think I need to rethink how I was doing this.

Afterwards I worked on my client's project. It's not hard per se but it involves keeping track of lots of little details and much of the data I have to track can change at unpredictable times (old sources of data may go, new sources may appear) so I'm having to track that as well. Again not hard, just a bit of tedium to make sure I track everything correctly.

For today's warm-up exercise, I added functionality to mod_blog that will send notification to Weblogs.com when an entry is made. It's toggable so you can have it send notification or not. That was not hard at all since I'm using the form based API and not the XML-RPC or SOAP ones (which wouldn't be that hard to hack support for either). Why am I doing this? Would you believe “creeping featureism?”

I didn't think so.

It's marketing. Pure and simple.


Marketing marketing marketing

Well, no sooner do I get the RSS worked out (the other day) and I have the Samurai Admin pulling it in.

That, and the updates to Weblogs.com works flawlessly (yea!).

And as always, the code is available (although I should probably make it more apparent that it is).


IE is starndards conforming my a…

I know that Microsoft IE can display XML files so I'm checking out the RSS file using it and I get:

The XML page cannot be displayed

Cannot view XML input using style sheet. Please correct the error
and then click the Refresh button, or try again later.


System does not support the specified encoding. Line 1, Position 43

<?xml version="1.0" encoding="US-ASCII" ?>

In light of the recent events surrounding MSN blocking non-conforming browsers I find this very funny. Very. I guess US-ASCII is simply too hard for them to support.

Thursday, November 13, 2003

Catching up, and a primer on antipasto salads

Has it already been two weeks already? The silence, the beautiful silence is to be shattered by the arrival of The Kids? Yes, alas.

Sigh.

Not much to really catch up on. Two weeks of silence, sleep and relentless procrastination on the National Novel Writing Month novel ruled the past two weeks. The highlight was a nearly perfect antipasto salad I made a few days after the Kids left.

Ah, antipasto salad.

It's pretty much a given that on D&D night if we order from a pizza place, I will get the antipasto salad, not being a real fan of pizza in general. The reason I order antipasto salad is, what I'm coming to believe, a misguided attempt to find the perfect antipasto salad. And what is the perfect antipasto salad you ask? (Okay, you probably didn't ask, but I'll answer anyway) Perfection of antipasto salads, thy name is Buddy's Rendezvous and Pizzeria (6 Mile and Conant—driving directions from Lower Sheol: I-95 N to Ft. Pierce, one mile west to the Florida Turnpike Ronald Reagan Turnpike North to I-75 North to the Davidson Freeday East, turn left on Conant, two blocks, north west corner, and try not to pay too much attention to the neighborhood). And what makes the antipasto salad so great that I'm almost willing to drive 1,200 miles to get one?

They finely chop up the ingredients.

You may think I'm joking, but I have yet to find, outside of Buddy's, an antipasto salad that can be eaten without a knife—huge slabs of lettuce, cheese and meats that would serve better laying flat between two slices of bread as a sandwich than as a “salad.”

Finally fed up, I bought the lettuce, ham, salami, pepparoni, cheese, oil (olive) and vinegar (red wine), chopped everything up into small pieces (smaller than bite sized—nothing larger than a quarter inch cube), placed in a large bowl, added the oil and vinegar and made my own damn antipasto salad. I only reached near perfection due to a lack of lettuce than anything else (we're talking about a pound and a half of meat, a pound of cheese, and only one single head of lettuce).

Like I said, the highlight of the two weeks.

Well, the highlight that I'm willing to publically talk about. We were, after all, sans kids for two weeks.

Ahem.

Anyway, the Kids are back, silence running away screaming.

Ah well …


Resistance is futile

I walk into the Computer Room with a few Thin Mint Girl Scout Cookies (thinking ahead last January, I bought a gross and froze them). Spring had the look of a predator sizing up some unfamiliar prey; she's been following the Atkins Diet and I could see her trying to calculate the carbohydrates.

“Do you want some?” I asked, munching on a Thin Mint Girl Scout Cookie.

“That's a trick question,” she said. She wanted some, but didn't know if she could have them.

“Hold on,” I said. I went back to the freezer, pulled out a box. Serving size: 4 cookies. Total carbohydrates: 20g. “Five grams per cookie,” I said, putting the box back in the freezer.

“I'll take four!”

Heh. No one can resist Girl Scout cookies.

Saturday, November 13, 2004

Reason #3.1415926 I hate PHP

Continuing with the PHP woes, this time it seemed that PHP wasn't tracking session data. I started to look into this given the minimal script that was provided to prove the problem.

Yup, looked like it wasn't keeping track of the session. Taking a look at the code:

<?php
session_register("yword");
session_register("se");

if (!$yword){
   $wordtext = "Sorry i can't get the session";
}
else
   $wordtext = $yword;
   
if (!$se){
   $setext = "No";
}
else
   $setext = $se;
?>

Started reading the documentation for the session_register() function:

bool session_register ( mixed name [, mixed …])

session_register() accepts a variable number of arguments, any of which can be either a string holding the name of a variable or an array consisting of variable names or other arrays. For each name, session_register() registers the global variable with that name in the current session.

Caution

If you want your script to work regardless of register_globals, you need to instead use the $_SESSION array as $_SESSION entries are automatically registered. If your script uses session_register(), it will not work in environments where the PHP directive register_globals is disabled.

register_globals: important note: Since PHP 4.2.0, the default value for the PHP directive register_globals is off. The PHP community encourages all to not rely on this directive but instead use other means, such as the super globals.

PHP: session_register

Not only are they using the wrong function for what they want, but even if it did work, you're not really supposed to use that function anymore, because, you know, it's obsolete (I mean, that's so PHP 4.1.2).

Language du jour I'm telling you! How can anyone use a language with such drastic changes from year to year (or even day to day)? I'm not even going to mention variable variables (it's not that variables in PHP aren't variable enough, it's that this is the PHP way to doing pointers in a langauge that doesn't support pointers but I said I wouldn't mention it, so I won't).

Anyway, the solution to the problem above was to change the code so it looked like:

<?php
$yword = $_SESSION['yword'];
$se    = $_SESSION['se'];
...

And all was right with the world.

Well … almost.

They're still using PHP, which makes using Perl seem almost logical …

Monday, November 13, 2006

“Lights! Camera! Action!”

I wonder if kids today realize how good they have it?

One of the many careers I was interested in as a kid was a film maker (along with my friend Hoade—we were both ga-ga over the likes of George Lucas and Steven Spielberg—they had such cool jobs) but back then, our only options were 8mm or Super-8. 50′ of 8mm film would give you 3′20″ of film (3 minutes, 20 seconds) whereas 50′ of Super-8 film got you 3′40″ (a additional 20 seconds) but the equipment for 8mm was easier to come by (as by that time, it was obsolete, and even Super-8 was fast headed towards obsolescence in the up-and-coming home video revolution of the 80s).

Oh, and I should mention—this was silent film.

You'd buy the film in 50′ canisters. Shoot it. Have it developed. Once back, you'd go through, cutting the film up and splicing it back together into your epic film masterpiece. And all of your budget (at least, back then) went into film and film processing, which wasn't cheap for a kid (each canister would set you back about $10—$30 bucks today). And given the shoot-to-edit ratio of about 2-to-1 (two feet of shot film to one foot of finished film—typical Hollywood rates are 3-to-1 or even 4-to-1) and you'll have to have very understanding parents to indulge in this hobby (and let's not get into the requirements for video editing, which requires even more specialized equipment).

Heck, in the early 90s, my friend Hoade and I tried a few times to make an actual film but the expenses got way out of hand.

But today?

Even a relatively cheap digital camera (like the one I have) can record video clips (I have enough memory to shoot about ten minutes worth). And my Mac mini came with video editing software (albeit basic editing software, still, it's something I can use).

And therefore, with video equipment and software that just about anyone can afford, you get some really innovative stuff going on (and a bunch of crap, but hey, the same can be said for network television only, you pay more for it).

So, with all this creativity going on, and an unfulfilled goal, I have been in the process of making a small video.

[Herr Direktor]

The above is just a small clip from the final results. And I'm finding that editing is still a time consuming process, but at least I'm not having to sweep up little bits of film afterwards.

And what follows is a transcript of the movie.

Why?

It's that accessibility thang.


HERR DIREKTOR

[From behind a movie camera] And … action!

HERR ACTOR

[Sitting at a work desk. Several seconds go by as he tries to remember his lines.] What was my line again?

[CUT to HERR DIREKTOR, who stops filming, and shakes his head at the incompetence of HERR ACTOR.]

[CUT to CLOSE-UP of HERR COMMENTATOR]

HERR COMMENTATOR

Oh, and that camera? [CUT to CLOSE-UP of camera, then back to HERR COMMENTATOR] It's just a Hollywood prop. See? [CUT to CLOSE-UP of camera, and HERR COMMENTATOR opening the camera with his hand. CUT back to HERR COMMENTATOR] I mean it's a real camera but I wasn't really using it.

[CUT to CLOSE-UP of camera]

HERR COMMENTATOR

It looks good.

[CUT to CLOSE-UP of HERR COMMENTATOR]

HERR COMMENTATOR

That's why.

Tuesday, November 13, 2007

X-Grey

I'll be the first to admit it's not pretty, and it's rather concise, but in order to get this thing out of the door, X-Grey is officially released.

Thursday, November 13, 2008

MyFaceSpaceBook

I was talking with Hoade the other day and found out he's on MyFaceSpaceBook (it wasn't easy to find that link—heck, the whole site is maddening, but more on that in a bit) and he convinced me that I too, should jump off the bridge with the rest of the lemmings and get my own MyFaceSpaceBook page.

Good XXXXXXX Lord! Was I the last person on the planet without a MyFaceSpaceBook page? People I haven't thought of in years suddenly popped up on my computer screen. People like Naomi Peyton neé Dominguez—we played the elder Kirbys in You Can't Take It With You when I was a sophmore in high school (she was a junior at the time). Or Jae Kim, a fellow high school classmate from '87. And so on. High school, college, just about everyone I knew from the past twenty years or so is on MyFaceSpaceBook.

But I'm finding the site very difficult to use, mainly because it keeps defying my expectations of what a social site should be, despite not having any real preconceived notions of what a social site should be. For a site that supposedly exists to connect people up, seeing what the site has to offer when you aren't a member is impossible. And even when you are a member, you often times can't see much of anything on a person's profile, which makes it difficult (or at least, I find it difficult) to determine if the person listed is who I think the person listed is.

I suppose it's set up to protect privacy, but I come from a tradition of an open Internet, where everything you put up on a website is meant for public consumption. So this “lock everything down” mentality is alien to how I work on the Internet (even back at FAU, I deliberately kept my computer files mostly accessible—if they were important, I would restrict access, and I deeply resented when the sysadmins of the Computer Science and Engineering Department reset permissions on my files to prevent anyone from reading them, multiple times! I don't need to be protected from myself, you know?).

It also reminds me of a walled community, much like AOL or CompuServe in the 90s. Mediate the users experience; give the user limited options; one-stop shopping as it were. I'm not thrilled with MyFaceSpaceBook, but I doubt I'm their target audience. I run my own webserver (and have done so since 1994 when I put up my first website) and do not have to suffer the whims of some large faceless company (only the whims of a small hosting company, who will personally deliver any lawyerly threats to my doorstep for me to take care of).

I'll probably still use the site (much like I use my LiveJournal account) to keep up with friends; it's just not my primary home on the Intarwebs.


Reason #23 why I sometimes wonder how I even have a job

“How hard can it be to email a webpage?” asked Smirk.

“Very hard,” I said.

“Why do you insist on using 80s technolgy?”

“Technically, mutt was written in the 90s, and can handle attachments.”

“Aaaaaaaaaarrrrrrg!”

I started using the Internet in the late 80s, back in a time when sending files via email was frowned upon, and every computer on the Internet was a true peer to every other computer on the Internet. And yes, intellectually, I understand that time has moved on and we've regressed to walled gardens of mediated digital experiences and people never think twice of emailing Microsoft Office to themselves so they can work on the Johnson Account at home (and least you think I'm engaging in a bit of hyperbole with Microsoft Office, I'm not—I handled the technical support call for just that situation a few years ago).

But it still just doesn't feel right to send files via email.

Anyway, I've tried using more modern email clients, and I found them all slower than the text based email client elm running on a 32MHz computer. But given that elm is no longer being maintained, I've upgraded to the slightly slower (if a bit more featureful) text based email client mutt (which is okay, because I'm running it on a 2.6GHz computer).

And in order to keep the speed up (especially given the size of today's emails—I mean, do you realize how big Microsoft Office is these days?) I read the mail directly on my server. That has two benefits—one, I don't have to suck down huge emails over a slow Internet connection, and two, I can check my email from any computer without being forced into using some horrible excuse of an email client over the web.

That means, technically, I don't check my email on my local computer here, and therefore, it's a bit difficult to actually send a webpage. In fact, for me to send a file via email, I have to upload it to the server, and if I'm doing that, I might as well put it in a web-accessible location and send a link via email. This also means that yes, things that most people would consider “trivial” (like mailing Microsoft Office) aren't “trivial” for me (and let's not even discuss sending me Microsoft Word documents … ).


The Amazing Randi on Pseudoscience in the New Millennium

Bunny and I attended Pseudoscience in the New Millennium, a lecture given by James Randi.

[James Randi.  Photograph by Bunny]

His lecture started out with him walking up to the podium, microphone in hand, and asking the audience to raise their hands if they considered themselves a “skeptic.” And after the entire audience raised their hands, he proceeded to tell us that we weren't very skeptical since he's already fooled us. Twice. In less than two minutes. The microphone he was using? Not even turned on; we just assumed he was using that because he had it (his actual microphone was in his shirt). And second, the glasses he was wearing? They too weren't real. The point of that was to show that just saying one is “skeptical” isn't always enough.

And after that, he started his lecture, going into details about various pseudoscientific quackery, like homeopathy, spritual healers and psychic surgery (which didn't save Andy Kaufman), during which he performed a few magical tricks to keep us on our toes.

He also mentioned his $1,000,000 Paranormal Challenge, which no one has won since it begain in 1964. This prompted one lady during the question-and-answer session (she was the last “question” during the night) to offer Randi “proof” that spirits exist (and with this, she brought forward a huge carrying case with her “proof”), although she didn't really want his money (a common response from many applicants, according to Randi; a few members of the audience asked if she would donate the winnings to them). Randi humored her and told her to apply for the prize.

I doubt she will. I also suspect Randi feels the same, but I can't prove it.

[Randi is my homeboy]

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.

Monday, November 13, 2017

It shouldn't be this hard to support another syndication feed format

A few days ago I came across a new syndication feed format (like RSS or Atom)—JSON Feed:

We — Manton Reece and Brent Simmons — have noticed that JSON has become the developers’ choice for APIs, and that developers will often go out of their way to avoid XML. JSON is simpler to read and write, and it’s less prone to bugs.

So we developed JSON Feed, a format similar to RSS and Atom but in JSON. It reflects the lessons learned from our years of work reading and publishing feeds.

See the spec. It’s at version 1, which may be the only version ever needed. If future versions are needed, version 1 feeds will still be valid feeds.

JSON Feed: Home

It's not like I need another syndication format, and it's still unclear just how popular JSON Feed really is, but hey, I thought, it should be pretty easy to add this. It looks simple enough:

{
    "version": "https://jsonfeed.org/version/1",
    "title": "My Example Feed",
    "home_page_url": "https://example.org/",
    "feed_url": "https://example.org/feed.json",
    "items": [
        {
            "id": "2",
            "content_text": "This is a second item.",
            "url": "https://example.org/second-item"
        },
        {
            "id": "1",
            "content_html": "<p>Hello, world!</p>",
            "url": "https://example.org/initial-post"
        }
    ]
}

I just need to add another entry to the template section of the configuration file, create a few templates files, and as they say in England, “the brother of your mother is Robert” (how they know my mother's brother is Robert, I don't know—the English are weird like that).

But the issue is filling in the content_text field. The first issue—JSON is encoded using UTF-8. For me, that's not an issue, as I'm using UTF-8 (and even before I switched to using UTF-8, I was using ASCII, which is valid UTF-8 by design). But in theory, someone could be using mod_blog with some other encoding scheme, which means an invalid JSON Feed unless fed through a character set conversion routine, which I don't support in mod_blog.

But even assuming I did, that still doesn't mean I'm out of the water.

Suppose this was my content:

<p>"Hello," said the politician, lying.</p>

<p>"Back up!" I said, using my left hand to quickly cover my wallet in my back pocket.
"You aren't getting any money from me!"</p>

If you check the syntax of JSON, you'll see that the double quote character " needs to be converted to \". A similar transformation is required for the blank line, being converted to \n. And I have no code written in mod_blog for such conversions.

It's not like it would be that much code to write. When I added support for RSS and Atom, I had to write code. But it irks me that I have to special case a lot of string processing.

Yes, yes, I know—mod_blog is written in C, which is a horrible choice for string processing. But even if I picked a better language suited to the task, I would still have to write code to manually transform strings from, say, ISO-8859-1 to UTF-8 and code to convert HTML to a form of non-HTML:

&lt;p&gt;&quot;Hello,&quot; said the politician, lying.&lt;/p&gt;

&lt;p&gt;&quot;Back up!&quot; I said, using my left hand to quickly cover my wallet in my back pocket.
&quot;You aren't getting any money from me!&quot;&lt;/p&gt;

(Not to get all meta, but to display the first example HTML, I had to encode it into the non-HTML you see above, and to display the non-HTML you see above, I have to encod the non-HTML into non-non-HTML—or in other words, convert the output yet again. So, to show a simple & in this page, I have to encode it as &amp;, and to show that, I have to encode it as &amp;amp, in ever deepening layers of Inception-like encoding. By the way, that was encoded as &amp;amp;amp;—just for your information.)

I spent way too much time trying to generalize a solution, only to ultimately reject the code. I'll probably just add the code I need to support JSON Feed and call it a day, because solving the issue once and for all is just too much work.


It shouldn't be this hard to deploy a new version

I spent more time fighting git and Github than I did in writing the code to support the JSON Feed. Yeah, the code was straightforward and I had it done rather quickly. Deploying the code was something else entirely.

So I finished the code, and the new templates to generate the feed and my tests were good and life was fine. I then committed my changes to git and that's where the first problem occured—not all the changes were committed! The issue came down to an overbroad directive to git to ignore a certain file—it was a general “ignore all files of the given name” instead of “ignore this one file” that I forgot about. So I tagged the release (version 5.0.0), pushed the changes to Github (for public consumption of the source code) and then went to update the copy of mod_blog on the server. It was there when I discovered the critical missing file (one of the templates for the new JSON Feed).

Sigh.

I had been a bit too hasty in pushing the code out to Github, so now I was stuck with releasing version 5.0.1. Only now something got munged up with my copy of the code on the server since it compiled the program with a version number of 5.0.0-1-gd096362 instead of a version number of 5.0.1.

A bit of background: I use git to tag versions, and in the Makefile I have the following bit of code:

VERSION := $(shell git describe --tag)

...

override CFLAGS  +=-DPROG_VERSION='"$(VERSION)"'

so I don't have to update the version number in code by hand (the override exists so I can specify different compiler flags and still have the version information propagated to the program; I also handle the case when git isn't available, but that comes in later in my tale of woe). Running git tag showed a tag of 5.0.1, but git describe --tag was only coming up with 5.0.0-1-gd096362.

Wat?

Did I not update things properly? Was it a problem with the version of git on the server? Did I lose the signal? Was it lost in translation? Wat?

Some quick changes, try version 5.0.2. That worked—kind of. Now on the server the version was reporting back version 5.0.1.

Then I discovered another issue. I have code in the Makefile to handle the case when the version number isn't available through git—it's just a check to see if git describe --tag returned anything and if not, use a hard coded version specified in the Makefile. Now, to prevent me from pushing an update to Github with an incorrect version number in the Makefile, I have a script that is supposed to run when I push changes to Github (specifically, when I push changes to a remote host). Only the last change to that script rendered it non-executable, so it wasn't running. The version on Github had the wrong version number specified in the Makefile, and I was still having this weird “one version back” problem on the server.

I was still having problems with version 5.0.3 when I gave up. I wanted a nice, clean, 5.0.0 release, and instead, I was on my way to version 5.0.137 the way things were going. And all because I didn't check in a critical file because of a typo. If only I hadn't pushed the code to Github so quickly. If only there were a way to remove the tagged versions from Github, but there didn't seem to be an obvious way to me.

As I eventually found out, there was a way—from the command line on my development machine, I just had to run this blindingly obvious sequence of commands:

GenericUnixPrompt> git tag -d 12345
GenericUnixPrompt> git push origin :refs/tags/12345

Obvious.

I'm surprised I didn't realize that sooner.

So I removed the tags for versions 5.0.3, 5.0.2, 5.0.1, and 5.0.0, made sure I had all the files and whatnot, and re-released version 5.0.0.

Good Lord!

So now all is right with the world, and I have a new JSON Feed file.

Tuesday, November 13, 2018

I can only wish we could flush our troubles away

“I have some bad news,” said Bunny.

“Oh?”

“Come here.” She then led me to the master bathroom. “Flush the toilet.”

“Okay.” I flush the toilet. Water comes gushing out between the bowl and the tank on the left side, which is just a tad higher than the right side. “That doesn't look right … ”

“Do you think that instead of loosening the nut, we can try to turn the bolt instead?”

“It's rubber coated, but it does have two flat sides. Let me grab a wrench and see what happens … ”

Two hours later …

Between me loosening the right side a few turns, and Bunny tightening the left side it was level. Or at least, the bubble in the level was just inside the line.

“Okay, fill the tank … here goes nothing … ”

Water again comes gushing out between the bowl and the tank.

“You know, maybe some liberal use of caulking is in order … ”


So tonight I'm gonna blog like it's 2002

[Note: If you can't load the following links, then try using The Floodgap Public Gopher Proxy to follow the links. —Editor]

I've been browsing gopher the past few months, and I was very surprised to see an old post on transclusion being referenced on an article about hypertext on gopher I was also referenced in a general post just a few days ago. Finding these links isn't easy.

With HTTP, the server is usually given the page the link was clicked from (the so called “referrer page”) and I can scan the logs to find outside links to my pages (like this page from Lobsters). With gopher though, I have to come across them since the protocol does not include the referring link. In a way, it's even more private than HTTP.

Then again, I could always do a search.

Regardless, I'm not trying to scan gopherspace looking for links back to me. I am honestly following a bunch of phlogs. Reading these I am reminded of what blogging was like back in the early 2000s—technically minded folk talking about whatever and not trying to corner some niche market so they can get advertising revenue. It's quite refreshing actually.

And man is it fast. Without the graphics, ads, autoplaying videos and bloated Javascript frameworks meant to track you across the Intarwebs, it's a nice reminder of what the Internet once was—fast.

Saturday, November 13, 2021

Extreme parking lot traffic, Asheville edition

Bunny heard about The Vintage Market Days in Asheville, so we headed out today. I will say, getting in wasn't an issue—getting out was:

[a picture of a crowded parking lot] “Is there another way out?” “I don't know, parking lot designers are sadistic bastards.”

That isn't a line of parked cars. No, that's a line of cars attempting to leave the parking lot! It took us about twenty minutes to get out, and it only took us that long because we took advantage of a van that took too long deciding where to go and we cut ahead (to be fair, a number of other cars also cut ahead—we weren't the only ones to do this). I attempted to locate another exit, but the cell phone coverage was a bit spotty and I couldn't get a decent satellite picture of the parking lot in Google maps. Sigh.


Notes on an overheard conversation while driving and listening to Christmas carols

“Well that's an oxymoron!”

“What?”

“The lyric: ‘a winter wonderland!’”

“Oh. That's not an oxymoron.”

“Oh really?”

“Yes—you wonder why anyone would live in a winter land.”

Obligatory Picture

[Self-portrait with my new glasses]

Obligatory Contact Info

Obligatory Feeds

Obligatory Links

Obligatory Miscellaneous

Obligatory AI Disclaimer

No AI was used in the making of this site, unless otherwise noted.

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: https://boston.conman.org/, then add the date you are interested in, say 2000/08/01, so that would make the final URL:

https://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-2025 by Sean Conner. All Rights Reserved.