Popular Tags:

Oh, the memories

2018/09/12 at 07:39

Today, I ran across this web page touting the features of Microsoft FrontPage 98. Man, this brings back memories. My first job in software outside of computational linguistics was as a QA engineer on the development of AT&T’s Easy World Wide Web business web hosting service. In those early days of the web, AT&T’s assumption was that small business owners would pay $300/month to host their web site but develop the site themselves (In hindsight, that was a terrible assumption. As things settled down, web hosting became a nominal fee and sites were mostly designed by professional web designers). With this business model in mind, AT&T supported Microsoft FrontPage and NetObjects Fusion as WYSIWYG web development tools. AT&T’s service included a separate staging site for development with one-click deployment to production and unlimited telephone support (hence the high price).

Microsoft FrontPage 98 screenshot

Microsoft FrontPage 98 screenshot

FrontPage was widely hated due to its ugly templates, and that hate was justified. But it did so much more than that. It allowed you to create a web site structure automatically drag and drop  navigation to every page–navigation that was automatically updated when you added pages or changed the structure. Before this, you had to update every page individually (or use server side includes if you could program in PERL or shell). I learned to create individual page parts, e.g., banner, navigation, footer, etc, created a common template for all the pages in my site using those parts, and I could add pages, completely redo the look and feel (though the basic layout was limited to my template) of colors and images. It made managing web sites easy.

It also allowed the developer to include common interactive features such as hit counters, standard forms such as feedback forms and custom forms that either saved the posted results to a text file on the web server or emailed them to you. To be fair, these ‘bots,’ as they called them, required a web server running the FrontPage server extensions, but Microsoft supported extensions for its own IIS web server as well as other common web server software that ran at the time on UNIX and BSD systems (to be fair, the tool supported these other server architectures when Microsoft acquired it; if Microsoft had developed it themselves, I’m sure it would have only run with IIS).

You could edit your web pages in the WYSIWYG editor or edit the HTML directly, and what I found amazing at the time, you could switch between modes. If you added non-compliant HTML by hand, the editor didn’t complain about it and tried its best to display it as the browser would. Because HTML development was originally performed by hand without tools to validate the HTML, browsers and other tools had to be very tolerant of non-compliant HTML code.

I tested FrontPage support at AT&T and used it for several years for my own personal web development. This web site that I found brings back so many memories.

Usability improvement!

2018/06/21 at 07:45

A number of years ago, configurable light-up signs were installed along major highways in Texas, such as I-35 here in Austin. Among other uses, they would display real-time information about traffic, in this format:

[ Name of up coming intersection ]
[ X Minutes ]

for instance:

FM 734

I noted at the time that the usability of this information was terrible. If I’m not a local, there’s a very good chance that I have no idea how far away the upcoming intersection is, and even if I am familiar with it, I have to estimate how far away that is and then do the math myself about how bad traffic is (A separate usability issue is that the signs use numerical designations for roadways, not necessarily the commonly used names. In the example above, FM 734 in Austin is also called Parmer Lane, and I doubt very many people know its numerical designation).

I was pleased to see that in the last year or so, the signs were changed to read:

[ Name of up coming intersection ]
[ Y Miles ]
[ X Minutes ]

for instance:

FM 734

So, now a driver doesn’t need to know anything about the upcoming intersection; the miles and minutes are sufficient to understand the traffic flow. Somebody at the authority that manages these signs got the message and managed to make a change for the better. I guess they could have done the math for the drivers and added the average MPH, but this change is sufficient, I think.

Now if someone would only make it clearer at the upper/lower-deck split of I-35 in downtown Austin that both options will get you through Austin, my life would be complete. As it is, every day there are many drivers switching lanes at the very last second, presumably because it’s not clear to people driving through Austin that both options merge back up in a few miles.

Differing understandings of racism

2018/05/30 at 08:44

A couple of years ago, I learned the hard way that there are radically different operating definitions of racism in the US. Someone posted a link to an Austin-area news article to a local Facebook group. The article was about two robbery suspects who had been apprehended. The article included the mugshots of the suspects, and Facebook’s algorithm chose that photo to represent the link in the Facebook post. Both suspects were African-American.

The very first comment on the Facebook post was “thugs!” and several other comments weren’t much better. I naively decided to call out the first caller as politely as I could, so I replied “‘Thug’ is a racially charged term. It’s best to avoid it.” Oh. My. Goodness. I was not prepared for the responses. Hostility, name-calling, etc. But interestingly, the original commenter replied, “I can’t be racist. I’m Hispanic.”

I ended up deleting my comment and withdrawing from that group. But I learned an important lesson: I have a much different definition of racism than the other commenters in that group. This morning, I ran across a really good description of that difference:

The average Trump supporter is simultaneously racist and not racist at all, depending on your definition of racism. This is one example of the polarized philosophy that doesn’t just drive a wedge between the parties but actually makes productive discourse impossible, as both sides already start from a place of fundamentally different definitions and assumptions.

Conservatives–but more predominantly Trump-voting Republicans–come from an understanding that racism equals explicit actions that harm someone based on an explicit hate of their race. Slavery is racism, racially motivated violence is racism, and segregation was effectively the last racist actions of the U.S. government. Anything less, such as jokes or media depictions or off-color remarks, can’t be racist because it doesn’t literally hold a race back; moreover, people who complain about it are the “actual” racists because they’re the ones making a big deal over what is ostensibly nothing.

By contract, Democrats and progressives see racism as a much more nuanced issue that may take many forms. A progressive views a remark like Roseanne’s tweet as racist because–regardless of the intended comedy–it functions within a racist worldview, and the propagation of such views may cause harm indirectly. It’s a different sort of racism than slavery, sure, but Democrats don’t have a problem acknowledging the grey areas there and saying that even casual racism should be shunned on its own level.

So to even say that “X person/group is racist,” you need to understand that implicitly means different things to different people. Your average Trump supporter might be perfectly able to crack a joke about black people being monkeys while also wholeheartedly saying that s/he doesn’t participate in racism, and not have any cognitive dissonance there. It’s worsened by the fact that, at this point in our history, most Americans were educated to specifically not be racist, that racism is BAD, while also not being given much education on what actually constitutes racism or the indirect and implicit biases that constitute casual racism or institutional racism. As a result, everyone wants to say they’re not racist, and therefore everyone has carved out their own definition of racism so that they can personally avoid it and feel like they’ve “beaten” their own personal racism.

The real problem is that most people aren’t willing to say, “Oh shit, I harbor racism on some level,” and then work toward combating that. It’s much easier for liberals to say that conservatives are racist (and aren’t willing to admit it) and for conservatives to say that liberals are inventing racism (and therefore rekindling racial tensions). In reality, we need to acknowledge that we all have personal biases that we need to get over, and that it’s okay to acknowledge racism–on any level–when we see it, if for no other reason than to be critically discerning and self-aware.

While I do agree with the progressive idea that casual or joking racism is racism, and that we absolutely should acknowledge and shun those grey areas of prejudice, I also think it’s ultimately unhelpful to just say “Trump supporters are racist” because you’re asserting something that Trump supporters would flatly disagree with, as you likely don’t even define that term in the same way. The country has truly split into two realities at this point, and political discourse has devolved into a cacophony of those realities trying to exist in the same space without first establishing the ground rules of occupying said space.

This takes me back…

2018/05/06 at 15:50

I just searched Archive.org for snapshots of my domain www.aphids.com, which was for many years my small business with my friend Susan Brumbaugh. Below is the earliest snapshot of the web site, from January, 1998. That Aphids graphic was cutting edge at the time.


Running stats

2018/05/04 at 15:10


Runkeeper status

Runkeeper status

I’ve been a recreational runner since about age 18. I started tracking my runs via GPS in 2011, and since then I’ve run almost 5000 miles. I can extrapolate that I’ve run 15,000 – 20,000 in my lifetime. Last year, I decided I would run a half marathon this year for the first time in 13 years. My training late last year went really well, and I logged 960 miles last year. This past February, I ran the half-marathon and although I was much slower than thirteen years prior, I finished without any problems.

My goal for this year is to run at least 1,000 miles. It’s the first of May, and I’m already at 459 miles, so barring injury, illness or any other unforeseen circumstances that keep me from running this year, I’m on track to exceed that goal. Exciting!

Diet advice

2018/03/21 at 09:45

This interview contains a lot of delightfully non-dogmatic advice on eating. Some examples:

Should I eat whole-grain bread?
There’s a big difference between white bread and whole-grain bread, and you certainly don’t need to eat bread to have an optimal diet. But an optimal diet leaves room for good bread — whole grain especially — and we think good bread is one of life’s great pleasures. Eat it for that reason.


What kinds of foods do you think will help support weight loss?
Wholesome, whole, unprocessed plant foods in particular. And, any food you eat while riding in the Tour de France.

“Gun Culture”

2018/03/03 at 12:41

I find this op-ed infuriating. The writer explains the change in mindset that he thinks takes place as you learn to use a gun for self-defense:

Your thought-process starts to change. Yes, if someone tried to break into your house, you know that you’d call 911 and pray for the police to come quickly, but you also start to think of exactly what else you’d do. If you heard that “bump” in the night, how would you protect yourself until the police arrived?  You’re surprised at how much safer you feel with the gun in the house.

He may feel safer, but statistics show that he isn’t, in fact, safer. People who mistake perceived safety with actual safety really get my goat.

But even worse, he’s describing the culture that leads a mentally unstable individual to hoard guns and think about using them against those who they perceive as having wronged them vs some other–possibly equally horrible but less deadly–outlet for their feelings.

At the end of this process, your life has changed for the better. Your community has expanded to include people you truly like, who’ve perhaps helped you through a tough time in your life, and you treasure these relationships. You feel a sense of burning conviction that you, your family, and your community are safer and freer because you own and carry a gun.

The guy really needs to join a church or even a bowling team.

As a redditor commented recently:

Many people own firearms in America to protect themselves from ‘bad people.’ This could be a range of people from home invaders to a potentially tyrannical government. When gun ownership for the purposes of killing bad people is a cultural norm, then you cannot be surprised when somebody shoots who they see as the bad people, even if you don’t think those people are bad people.

I’m a finisher!

2018/01/21 at 13:25

This morning, I ran the 3M Half Marathon for the first time in many years. I was not nearly as fast as the last time, but I’ve aged, the weather was warm and muggy, and I think I’m getting sick. To be fair to myself, the 9:03/mile pace was consistent with my recent training, but I was hoping to go faster in a race. But, I’ll take it.

3M Half Marathon 2018 results

3M Half Marathon 2018 results

Family portrait

2018/01/10 at 08:56

Taken on December 25, 2017, in Bandera, Texas

Blast from the past

2018/01/10 at 08:43

This morning, I ran across a blog post by a Harvard professor named Philip Greenspun, and I thought “Wait, I know that name.” A little clicking around, and sure enough: Travels with Samantha is still around–a pretty significant travel blog with photos in the late 1990s. From the FAQs, he shot analog slides and had them put on PhotoCD when developed. I hadn’t thought about his blog in literally decades.