The site uses cookies that you may not want. Continued use means acceptance. For more information see our privacy policy.

How to Choose Gifts

A surefire method for picking the perfect gift.

It’s that time of year, when people look around and ask, “Who are these people? What do they want from me?” The first rule of writing is to know your audience, and that’s true for gift-giving as well. You may need to hire a private detective or even ask them outright.

Santa Claus, the notorious gift-giving superhero, keeps a list and sends clones to the malls of the world to find out what children want. Perhaps you could try that, if your health insurance covers cloning.

This isn’t a gift guide in the sense of here’s specific things to buy, but rather a way to figure out what options exist beyond just looking at the latest slate some magazine or website has put together.

First off, there are two types of gifts (with some overlap). There are functional gifts and there are statement gifts. Let’s go over some examples to make it easier.

Example Gifts

Money

Money can be both a statement and functional. The amount is more about the statement. If you give someone a dollar for Christmas, that’s probably low. You’re saying, “Wow, this is pretty weird who the heck gives someone a dollar for Christmas? Me, because I’m that weird.”

(One of the important things about gifting, giving or receiving, is not to overthink it! If someone does give you a dollar, say thanks and don’t think twice about it.)

If you give someone a wad, however, that also sends a message. Are you laundering cash? Do you not know math? Why are you giving me a big roll of dough? So try for the middle ground if giving cash.

(This section’s advice also applies for gift cards, but you probably shouldn’t give people cryptocoins.)

Fancy Food

Giving people fancy food is also both functional and a statement. Depending on how fancy, people won’t know what to do with it. It will soon be transformed by their body into waste. Why would anyone want to eat or drink something with a high dollar value? You also get into matters of taste. They might not like it, or they may have dietary restrictions (whether by choice or by their biology).

Jewelry

Most jewelry is non-functional. Or rather, its function is to be decorative, which means it’s mostly a statement-type-gift.

Giving to Someone Else and Saying It’s for Them

You can actually do this. You can give money to charity, and say that you gave it to the charity for the person, as a gift. Clearly a statement-type gift, it says something like, “You already have everything you need, you selfish git. So I’m giving to these needy creatures and persons instead.”

Homemade Gifts

Another overlapping option. Are you good at making things? Are you good at buying handmade items online and pretending you made them? If you give something you actually made to one person in your life, will the others think you’re playing favorites? Will they suspect that person has got you over a barrel and you’re trying to ingratiate yourself in order to turn the tables? There are a lot of things to consider with homemade gifts.

The biggest issue is that, if something goes wrong, you then have to provide homemade customer service. You might be hemming those slacks or restitching that sweater for years to come!

How to Think of Gifts

We come to the method. It works for anything, but it’s a very subtle skill. It can be used to find both statement and functional gifts, as well. The method is this: think of a place associated with the person. There are a few main ones:

  • Their body itself
  • Their home
  • Their car or office or other associated place

Examine the chosen place. If it’s their body, you may want to replace their body in your mind with a mannequin, depending on your taste and your relation to that person.

By examine, the idea is to map over it. Start with their feet, or the doorway to their home. Move around, look at what belongs there, what exists there. Do they wear boots? Do they have a little table where they keep spare keys and beer bottlecaps? Move on. Do not linger at any one spot, but move through the space, picking up items in your mind as you go, turning them around, finding the sense of space, the involvement of the design or the flesh as the case may be.

Over here is a window. Do they have bad knees that could benefit from a brace? Over there is a blank wall. Would a piece of art grace that spot? Do they need a new belt?

Take the objects out of their usual space. Change the context. Does the person have hobbies? What does that room look like in the summer?

By meditating on the person, their environment, in all its changing forms, you may come across some nice ideas for gifts. What does a still-suit cost, and will they need one if their state turns into a desert full of giant sand worms, due to climate change?

Would they find a fake ejection-switch a novelty in their car, or do they have taste?


The most important thing about giving gifts is that it’s the thought that counts. If you spend all this time considering gifts to give someone, write down your process in a journal, and give them that instead! Paper is inexpensive, and they’ll appreciate the dossier you’ve assembled far more than an actual gift. It’s homemade, it’s a statement: it highlights how much you care. Did I mention it’s inexpensive?

Okay, you probably shouldn’t do that. But it brings us to the final step: picking a gift out of the pile of options you come up with. The real secret here is just pick one. It really is the thought that counts. Unless the person has been dropping hints and you overlooked them, you’ll pick something good enough. If they don’t like it, they can always return it or regift it.

Congratulations! You have proven you are a human being capable of giving things to other humans to strengthen the bonds of community! Season’s greetings!

The Political Clock’s a-Tickin’

If the Democrats sought to build a national clock, how would the bill develop?

Note that this is satire.

The Democrats in Congress introduced legislation to build a clock. The Republicans immediately proclaimed their opposition to the clock, to clocks in general, and to the lascivious notion that time exists.

The Democrats, while working on their bill, decided the clock should beep loudly every five minutes, all hours of the day. And also at random intervals during the last week of every month. They say this would promote awareness of the fleeting nature of existence. The people didn’t like the idea, but they do want a clock.

The media initially covered how everyone agrees America needs a new clock. The polls showed people would like to know what time it is. The beeping issue didn’t get much coverage, but something else did.

The Republican media and the more extreme Republican House members started a campaign against Roman numerals. “The Pope’s in Rome, but this clock is going to be in America,” they pointed out, seeming proud to know where the Pope was headquartered. “American clocks should have American numbers!” their rallying cry went. The Democrats retreated to regular numbers, but when a caller on C-SPAN mentioned they preferred Arabic numerals anyway, the whole issue blew up again.

The media taught the controversy around the numbers on the clock. Some experts raised the question of whether analog clocks are the best way to tell time. Digital clocks were considered, but abandoned when they realized in case of a power outage or malfunction the clock would be down. “Analog is more classy, anyway, and if something goes wrong, at least it will say a time, if not the time,” the House majority leader said.

The Democrats added to their proposal that only clean energy may be used to wind it, and that the materials used in its construction must be conflict-free. The business lobby and carbon fuel lobby bristled against these new provisions. The business media and US Chamber of Commerce condemned them as a tax. They said that hardworking Americans would be late for work and would miss their daughters’ alphabet-burping recitals if the clock couldn’t be wound using carbon fuel energy. They added that the conflict-free provision would cost too much and that China would use it to corner a large part of the market, making America less competitive.

The Republicans all cheered on these calls for paring back the bill, while progressive activists clamored for stronger labor provisions. A prominent West Virginia Senator weighed in, saying he thought the clock should be wound using coal, but he was in favor of the beeping. “ ‘The people of West Virginia love a good beep. Really tingles in the ear, if you know what I mean,’ the gentleman said Thursday,” a major publication reported.

There was an op-ed by a science think-tank calling for it to be an atomic clock, which caused immediate alarm and confusion online. Half the people seemed to think it was a call for the clock to be powered by nuclear fission, and most of them didn’t like that. The other half argued about whether the clock needs to be that accurate, or whether it could be set using atomic time without being an atomic clock, per se.

A second op-ed, this one by an evangelical-type, revived the hour label issue. “Roman numerals are for Super Bowls only,” she wrote. “America’s clock should feature the English names of the hours, not some fuddy foreign symbols.”

The word-based clock mockups got passed around online, with people commenting how the words were too small or the clock face too big. There were arguments about handling the words at three and nine, lest people have to turn their heads too much to read them. Others suggested the clock itself turn to show the hour, while the minute hand moves independently. But the conservatives said this would entice Americans to idleness, creating a welfare state. “Americans can turn their heads. Look at that Regan MacNeil—turned her head with the real vigor of American exceptionalism. The younger generation is grown soft,” one conservative pundit said.

Mainstream commentators did not know what to make of the fact that Regan MacNeil was the fictitious girl possessed by the enemy in The Exorcist (William Peter Blatty, 1971). But conservatives rally to the idea, posting videos of themselves trying to twist their own heads farther and farther around. Republican media explodes with advertisements for natural extracts to help turn your head like a real American should, including one made from owl feces.

A counter-proposal for the hour labels briefly gained traction, with right-wing radio fawning at the idea that every hour to be named for a president. Noon would be Ronald Reagan, six would be Lincoln, and so on. Once it was pointed out that the clock also represents night hours, the proposal fizzled. “We can’t have Ronnie be associated with midnight—the witching hour!” said one southern Republican senator, nearly fainting and fanning himself with a hankie.

At the eleventh hour, the Democrats added a new rider to the bill, which would empower the president to declare any hour a celebration or memorial of a cause. The Republicans immediately sought to amend to allow sponsorship by corporations and religious groups instead. More, they want a declaration that the clock not be used for menstrual-related math or contraception calculations. When Democrats point out using a clock as a calendar would be stupid, one Republican countered that time is time, and a clock’s just a short-term calendar.

Not satisfied, the Republicans pushed for another change: that the clock not be used to wake people from slumber. “We got this new problem called woke and it’s weakening our nation,” a former sitcom star tweeted. “If people can wake up other than from their butler bringing them breakfast, who knows where that leads.”

The Democrats went on to pass the bill, which included several other provisions:

  • a prescription-drug plan that has the federal government pick up the cost of the bottle labels (paid for by a tax on pool noodles)
  • a copyright provision that extends any outstanding copyright by one year for every dollar paid to a political campaign
  • a requirement that all state official paperwork begin dotting their lowercase Is with hearts or smiley faces, or optionally hearts with smiley faces inside

The clock will be built over the next ten years, assuming funding is added every year until then. Once completed, the clock will initially operate on weekdays between noon and six pm. After the first year, service will expand to weekends and other hours of the day, budget allowing.

Ink Cream, the New Theme

Finally a fresh coat of paint on this old heap! Sit and read some of how it came to be.

For a while now the site has used the default theme, Twenty Twenty One. I liked it okay, but one thing that bothered me was that the dark mode wasn’t customizable, was kind of bland.

The other thing to know is that I use Stylus to clean up or modify styles on various websites I visit. For some time I’ve been using a semi-dark theme (the same light gray background as the light mode background here) on many news sites, and occasionally a dark version on others (again, same background as the dark theme here). That kind of daily testing led me to find it preferable, and so I wanted to bring that design to this site.

Browsing through Google’s selection, many fonts come close to being great but had at least one or two flaws I couldn’t abide.

The basic premise of the light theme is that websites don’t need to be white-backgrounds. We have shades of gray to use here. And that dark modes don’t need to be white-on-black. Again, we have shades. For the most part, I would be happy to use light themes if they weren’t pure white. All the web designers that shook their fists at the need to create dark variants could have made a compromise, but I haven’t seen any of them do so.

Even at night, the light theme of this site isn’t particularly bad to my eyes, though the dark mode is certainly nicer.


I found underscores.me, a starter theme. It provided a solid base to build on. I later found out that WordPress is soon (sometime next year) to release a “Block theme” built for their new Gutenberg blocks system. I may eventually rebuild for that, or switch to it. It offers “full site editing,” which may kill off traditional themes. I’m not entirely sold yet, but I’m keeping an open mind and waiting to try it out and see what it offers.

I tried to add some functionality with plugins, but they mostly don’t offer an off-switch for their default styles, and trying to dequeue their styles is hit-or-miss, so I built more functionality into the theme itself. If I end up migrating to the new system, I may have to rework that functionality into plugins.

The one decision that skipped a plugin but I didn’t implement myself is code highlighting. After looking at client-side (JavaScript) options and server-side (plugin) options for code highlighting, I decided to go with neither. I can run code through pygmentize when I compose an article, and then I can add the markup directly to the post. I already self-handle other elements, like images. So if I get the itch to actually highlight code, that’s what I’ll do.


One of the big non-technical challenges was finding good typefaces. I opted to use Google Fonts to load nicer typefaces here. (I load them with WebFontLoader.) Browsing through Google’s selection, many fonts come close to being great but had at least one or two flaws I couldn’t abide. One had an inverted at-symbol (@), another had a capital C that looked too much like a G. Most sans-serif fonts don’t properly distinguish between uppercase I and lowercase L.

In the end, I dropped trying to have a separate serif face for headings, in part to keep the site light, and in part because trying to find two faces was too much.

CSS Fun

Having not done much web development in a long while, here are some of the newer things I used in building the stylesheet.

:where()

Having been out of the loop, I didn’t realize :is() and :where() existed. I only use the latter, as it doesn’t influence the scoring of selectors. It lets you do things like:

    .recipe :where(.ingredient, .tool, .container) {
        font-weight: bold;
    }

This saves you creating three separate selectors if you want all “important” items under a recipe to be boldfaced.

clamp()

I knew that math functions existed, but clamp() is really nice. You give it three values:

  • minimum
  • variable
  • maximum

And it will let the outcome vary only within the bounds you set. Most of the time the variable will involve something with vw units, so that the outcome varies based on the screen width, but there are other ways to use it.

Custom property fallbacks

I’ve used custom properties in my user styles for awhile, so that I don’t have to recreate things like colors for every site I create a custom style for. But I didn’t know there are fallbacks. I only use them for filling the SVGs in the social media buttons:

    html:not([dark]) .soc-fill,
    html[dark] .soc-link:focus-visible .soc-fill {
        fill: var(--ic-soc-c0, #000);
    }

    html[dark] .soc-fill,
    html:not([dark]) .soc-link:focus-visible .soc-fill {
        fill: var(--ic-soc-c1, #FFF);
    }

I set fill values (--ic-soc-cN) for some icons, if the service calls for a particular color in their brand guide, but if not I can fallback to black or white (depending on the dark or light theme and whether or not keyboard focus is happening).

Other small bits

Testing in chromium taught me about will-change that hints the browser to expect repaints of an element. It probably isn’t that necessary given it’s only for the theme-mode toggle in the upper right, but it’s cool to know about. I was also able to use a media query for prefers-reduced-motion to stop that animation if someone has a relevant OS setting turned on.


I tried to get accessibility correct. Some of that was helped by WordPress itself, other parts helped by the underscores base. Proper accessibility design helps everyone, including people in early stages of a sight disorder or even someone who’s stressed or drunk or tired.

To improve accessibility, I removed placeholder text in form inputs. After trouble finding good colors that were within the contrast bounds, I did some thinking and reading. I decided that the only real purpose of placeholder text is to make forms look less plain. Multi-field forms need visible labels anyway, and with those the placeholders don’t really add anything to the design.

If you’re relying on hidden labels being read by screen-readers, that leaves people who may have some accessibility needs out in the cold. The exception is single-field forms (like search), where the button next to the field provides enough information for people without screen readers.

I also tried to make keyboard navigation work correctly and with good focus coverage. I actually like how the focus looks more than the lesser design like hovering. I might eventually collapse them into the same design, though I have slight concerns that could be too confusing. Having separate styles for :hover and :focus-visible seems cleaner.

Credits

The darkmode toggle button and its JavaScript is slightly modified from Henry Egloff: “How to Code a Simple Dark Mode Toggle”.

After looking at the options, I went with remedy.css for a “reset” (github: Jen Simmons: cssremedy). I still didn’t use most of it. I’m not targeting Internet Explorer. In general I don’t want to target browsers more than a few years old.

I got a lot of help from the usual:

(Probably forgot some others. It’s the Internet, lots of good and helpful stuff around! Many thanks!)


I’m sure there’s other things I forgot. But that’s enough words for now. Hope visitors enjoy the new look.