Airbnb is a Bigot-Friendly Platform

Why? It requires people to register using their real names, and encourages them to post their photo in their profile. I doubt they intended it do be bigot-friendly, but intent matters little: it is bigot-friendly.

More than likely Airbnb’s awful design is the result of the privileged, affluent, mostly white “tech bro” culture: Airbnb’s designers weren’t even aware of the bigotry problem when they designed the platform. And to the extent they are aware, they seem to be in denial about how serious the problem is:

“The photos are on the platform for a reason,” King said. “It really does help to aid in the trust between the guest and the host . . . You want to make sure that the guest who shows up at your door is the person you’ve been communicating with.”

The problem is so common and pervasive that there’s even a phrase for it: “Airbnb while Black.”

Thankfully, there seem to be better alternatives such as, a site started by a Black guy after he ran into discrimination on Airbnb.


I’m Back, and Fuck Apple

My iPad decided to randomly demand all sorts of security information (which I don’t have committed to memory and never will, because I have better things to memorize than random bits of data like that). Worse yet, it then decided to demand I boot one of my Macs (which of course I didn’t have with me at the time) to complete the process of allowing me to use it again.

I think this is Apple’s way of punishing me for attempting to use the Internet while in Canada, which they seem to regard as a sign of fraud and theft because (gasp!) it’s a foreign country. Well, yes it is, but Apple should take a look at the fucking map some time: it’s as big a deal for someone to travel from Seattle to Kamloops, BC as it is for someone to travel from Chicago to the Upper Peninsula.

An iPad is a smaller and lighter than a full-featured computer, which makes it significantly more portable than a full-featured computer, which in turn means it is likely to be the device someone takes with them on a trip, while leaving larger and bulkier computing devices behind at home. Therefore it is unrealistic to demand someone follow the process of booting and using another of his computers to re-enable an arbitrarily disabled iPad. This is so obvious that it feels somewhat painful to have to type it.

All of which serves to reinforce the idea that it will be a cold day in Hades before I ever get a smartphone stupidphone. Why would I want a phone that randomly decides to brick itself while I am on a trip?

Gmail Gets Suckier

It’s always sucked because Google profiles you based on your emails, but Gmail gets suckier and suckier as time passes due to their security measures. Every time I do something the least bit unusual (like connect from a new wireless network) it blocks my IMAP logins and raises a security alert.

Wednesday, Gmail locked me out because I was coming in via the UW network as a guest there. Today, I’m on the road, and Gmail is locking me out because I’m using my old iPad plus my Karma hotspot to access it instead of my laptop and the very same Karma hotspot.

I can re-establish access by logging in via the Web, but:

  1. That totally defeats the purpose of my having an email client and using IMAP in the first place. I happen to like the fact that IMAP lets me use the same email client (with the exact same user interface) for all my email accounts.
  2. IMAP also uses less Internet resources than an interactive web site, which can be a plus in marginal situations (which do routinely happen when connecting to the Internet via a cellular network).
  3. If their web site lets me in, then IMAP should logically let me in as well.
  4. None of my other email providers have fascistic security like this.

I suppose Google hates the fact that using IMAP, because it implies I’m using a dedicated email client, which lets me freely choose email providers yet have the same consistent UI for each. Google apparently wants me to use their Web UI and get used to it, so I’m locked in to their service. In my book, that’s yet another reason to dislike Google.

As it is, I’ve been slowly moving to using my Apple account for most of my mail, anyhow (because I don’t like how Google profiles me). Most of what goes to my Gmail inbox is from mailing lists that I simply haven’t bothered to cut over yet.

I guess it all shows that it’s time to continue with the gradual process of moving away from Gmail.

Why Does Taleo Even Fucking Exist?

It’s so-called “talent management software” that many HR departments use. It’s also a piece of total garbage. Typical Taleo experience:

  1. Follow a link from Indeed to the Employer’s site, which uses Taleo.
  2. Be blocked from going further because you must log on.
  3. If you don’t have an account, you must register, and when you do that, Taleo “forgets” the job that brought you there. You must go back to the linking site and follow the link again.
  4. If you do have an account, it still doesn’t matter. Taleo will virtually always claim the job doesn’t exist anymore after you log on. Again, you must go back to the linking site and follow the link again.
  5. You will then be prompted to enter, by hand, basically your entire résumé. You cannot just cut and paste it in one fell swoop, because Taleo is coded to break everything into zillions of fields (employer, address, phone, dates worked, etc.).
  6. You will then be asked to upload your résumé.
  7. Odds are, you will never receive a call back, because you failed to include some obscure keyword that Taleo was insisting be there for the job in question.
  8. None of the work you did will matter for any other employer that uses Taleo, as there is no information sharing happening. You will have to key in your entire résumé by hand again.

Regarding forcing users to register, why the fuck do that? Isn’t the goal of advertising anything (be it a job vacancy or pork chops at the supermarket) to attract people? Forcing applicants to register just says “go away, we’re really not that serious about filling this position.”

Regarding uploading a résumé, this is a completely reasonable thing to ask. Thing is, most every other job application system out there can parse a résumé (there’s stock libraries for doing this; it’s a solved problem). Only Taleo forces you to key in the thing from scratch, anew. Again, this basically amounts to a “go away, we’re really not that interested” sign on a virtual door.

How unreasonable Taleo is may be underscored by comparing it to the experience of applying to a job in the pre-Internet days: You’d compose a cover letter, and stuff that along with your résumé (copied on a copier, not typed anew for each employer) in an envelope, put a stamp on it, and drop it in a mailbox.

Taleo may also be shown to be unreasonable by comparing it to, which lets employers manage applications (if they pay Indeed for that service). You get asked for your contact information, get a box in which to compose a cover letter, and get asked to upload your résumé. A complete analogue of what you did in the snail-mail days (absent paying postage and sometimes waiting most of a week for delivery to complete); simple and totally reasonable.

Or compare Taleo to competitors like Jobvite, which prompt you for your résumé first, then parse it and populate the form fields automatically, allowing you to correct any mistakes the parser made. A little more work, but still pretty reasonable, even if it does go through the unnecessary step of forcing you to register and log in.

The mystery, to repeat, is why this piece of absolute garbage even exists. It’s got to be crap for the HR people to use, as well (software is very seldom crap in just one area; if one part of a package is crap, the crap quality typically extends package-wide). There’s so many better options already out there.

If market forces worked like capitalism fans theorize they did, Taleo would have been compelled by such forces to fix their garbage software or would have gone out of business years ago. Yet Taleo remains, one of those counterexamples to the assertion that markets inevitably foster excellence.

Adding Fonts to Groff

Because I’ve had a strange fixation on how to do it (it’s not really practical, given the many limitations and deficiencies of the program), here’s how to add fonts to Groff. Note that when I write “Groff” here, I mean Groff with the PostScript output option.

  1. Obtain Ghostscript and Fontforge. You will need both in order to add fonts (and if you don’t have Ghostscript, Groff’s usefulness is severely compromised, as per the first link in this article).
  2. Determine the location of your installation of Groff’s textmap file. Typically this will be in a location like /usr/share/groff/version/font/devps/generate/textmap.
  3. Create a directory to hold the Groff fonts and font metrics files you will be generating.
  4. Create a devps subdirectory to this directory. All the files you create should be in this subdirectory.
  5. Open each font in Fontforge. Note that a typical font family contains four fonts: a normal font, an italic font, a bold font, and a bold italic font. You will have to do the steps below for each of the four fonts in each font family you wish to use.
  6. Perform the editing steps in the list immediately below on each font.
  7. Close Fontforge, if desired.
  8. For each type 42 font you generated, extract an AFM file:
    printafm name.t42 > name.afm
  9. Think of a name you wish to call the font on the Groff side. The Groff convention is to have families of fonts that end in “R,” “I,” “B,” and “BI” (for roman, italic, bold, and bold italic variants). E.g. “BaskervilleR,” “BaskervilleI,” “BaskervilleB,” and “BaskervilleBI.”
  10. For each AFM file, generate a Groff font metrics file (replace textmap-path with the location of the textmap file you determined in step 2 and groff-font-name with the name you came up with in the previous step):
    afmtodit name.afm textmap-path groff-font-name
  11. If your font contained ligatures, verify the ligatures line in your Groff metrics file is present and contains all ligatures.
  12. Create a download file in the font directory by following the final list of instructions below.

Editing steps in Fontforge:

  1. Disable all Apple Mac features, as they are broken in Fontforge: Go to File > Preferences > Mac, delete all entries in the Features tab, then verify the list in the Mapping tab is empty as well. You should only have to do this once for each editing session.
  2. Open the font file you wish to add to Groff. You will typically have to know where your system keeps fonts in order to do this. This of course varies from system to system.
  3. Clean up the ligature substitution tables. Modern font files can have complex ligature substitution rules, which tend to confuse Groff. The only thing Groff can support is a single liga table. Select Element > Font Info > Lookups and examine the GSUB tab. If there’s any more than one liga entry, you will have to delete the all but one. If there’s any clig, alig, or dlig entries, they will have to be deleted. Then edit the single remaining liga table and make sure it does what you want. Note that since Groff only supports the fi, ff, fl, ffi, and ffl ligatures, these should be the only ones listed in your table.
  4. Correct the names of your ligature glyphs. Some fonts use ligature names like “f_i,” “f_l,” “f_f_i,” etc. These will confuse Groff. Only names that exactly mirror the character sequence to be replaced by the ligatures (e.g “fi,” “fl,” “ffi,” etc.) are supported. To do this you must locate the ligatures in the glyphs list (they start at Unicode codepoint FB00), click on the glyph of the appropriate ligature, then use the dialog in Element > Glyph Info to set the name of the glyph.
  5. Save the font (using File > Save) as a .sfd file. This step is optional, but can be useful if you forget or botch one of the editing steps listed above.
  6. Generate a type 42 font using File > Generate Fonts. Click on the “Options” button and make sure “TrueType Hints,” “PS Glyph Names,” “OpenType,” “Dummy DSIG,” and “Lookup Names” are checked. No other boxes should be checked. Fontforge may complain about some things being slightly amiss when you try to generate the font. In my experience it has usually been safe to ignore the warnings and just generate the font file.

Steps to create the download file:

  1. Start by copying the download file from the existing fonts storage area to the Groff font directory you have created (it will typically be in a file like /usr/share/groff/version/font/devps/download).
  2. For each font file you added, you will have to add a line to the download file. Each line in the file contains the “internalname” value from the Groff font metrics file and the name of the type 42 font file, separated by one or more tab characters.

And that’s “all” you need to do. If you set the GROFF_FONT_PATH environment variable to point to the font directory you created, you should now be able to use those fonts in Groff. The font names you use in Groff will match the names of the Groff font metrics files.

Groff Mystery Solved

Groff is an old-school text formatter that’s shipped with every Mac. Why? Because Macs are Unix systems under the hood, and the documentation for all the command-line tools is in Groff, because the Unix manuals have always been in Groff (or some very similar predecessor).

Being sort of a diehard, until fairly recently I’ve used Groff for typing letters, a résumé, and such. Why not? I know it, and it still works fine. Why spend time learning something else?

Well, it worked fine until a year or so ago, then I noticed (after upgrading MacOS) that most of the fonts seemed to have vanished. If you’d use a font other than Times Roman, it would tend to just use Times Roman anyhow, but with the spacing of the other font. Total ugly mess.

After ages of wondering what’s up (and doing web search after web search to research the issue), I finally found what Apple broke. Not Groff; it still works fine. It’s the Mac’s built-in PostScript tools that are broken.

Historically, PostScript devices have all supported a set of basic core fonts. Groff as shipped just uses those fonts. It knows their metrics but it has no other data about them. It assumes the device will know how to render them. For some reason, Apple’s pstopdf tool has ceased to support most of those fonts.

The fix is to use install and use Ghostscript, which still knows about the core PostScript fonts. Or, in my case, simply to use Ghostcript, which I had installed some time ago, having used it before I became aware of Apple’s pstopdf tool.

That said, it’s a fairly limited suite of fonts that Groff knows about by default, and it’s a pain to install other ones. Groff doesn’t understand normal TTF or OTF files (in the normal system locations for such installed files) like most other programs do. The tools to generate the files that Groff can understand are both (a) poorly documented, and (b) prone to getting tripped up by anything a font does that’s the least bit unusual (albeit legal and allowed).

Add that to Groff’s extremely limited support for mixing text and illustrations and lack of Unicode support, and it’s time to use something more modern for most purposes. Still, it’s nice to know the trick for getting the system documentation (and my old documents) printing normally again.

There Is No Shortage of High-Tech Workers

There is a shortage of decency in the high-tech industry.

I base both these assertions on my experiences at the symposium today, where I met not one but two other individuals in basically the same situation as I am. As long as the high-tech industry considers the following non-qualifications to be job requirements:,

  • Male,
  • Between the ages of twenty-five and fifty,
  • Thinks coding is the most fun thing in the universe,
  • Thinks coding is about the only truly fun thing in the universe, really, and
  • Outside of role-playing games, martial arts, and science fiction and fantasy fandom, thinks there’s basically little else of interest besides computers.

Then, yes, that industry will continue to suffer a “shortage” of “qualified” people.

The Trick to Using Fontforge

The trick to using Fontforge is to realize: (a) that its Apple Mac support is broken, and (b) Apple Mac support really isn’t critical; in fact, it’s missing from most non-Apple-supplied fonts anyhow, yet Macs manage to work just fine with them. A further wrinkle is that Fontforge tends to want to gratuitously foist its broken Apple font features onto you, and having done so, to then conceal this fact from you when you examine the broken font files it has generated.

Naturally, you must leave “Apple” unchecked in the File > Generate Fonts > Options window. But that’s not enough! Unless you go into File > Preferences > Mac, delete everything from the Features tab, then verify the Mapping tab is also equally empty, you’ll still get a broken font that will fail to work properly on a Mac.

Having done all that, though, I’m finally able to edit out the stupid kerning pairs that have been vexing me and no longer have to cope with them after-the-fact. Hurray!

So I’m now not only taking offense at the way stock fonts I find work but also editing them to suit my preferences. I guess this officially makes me a font geek.

Font Frustrations

Trying to edit free fonts with Fontforge is something of a challenge. That’s because Fontforge is open-source software and falls victim to the bane of open-source software: documentation. Writing code tends to be more fun than documenting it, so open source projects that depend on unpaid volunteers tend to lag way behind in documenting. Fontforge is no exception to this general rule.

I could probably address the issue by purchasing a commercial font editor, but that would cost more money than just purchasing some commercial fonts that don’t have the sort of issues my free downloaded ones do. So I’m stuck living with the issues (related to broken kerning definitions) as best I can.