Weekly Web Harvest for 2022-05-22

Andrew Fowler on Twitter: “ME: I will now give my Moby Dick presentation as a rap TEACHER: I specifically told you not to d– ME: His palms are sweaty, Queequeg’s harpoon heavy, there’s something on his sweater already, spermaceti” / Twitter


Is it the right RSS feed?

RSS lives and the topic has come up a few times recently. It got me thinking and reading stuff I haven’t looked at in a long time. Alan’s Feed WordPress 101 is still gold and reminded me of all kinds of things I had forgotten. Back in the glory days of RSS and the Mother Blog, the hardest part was usually getting the right URL for the feed. Alan had all sorts of ways to try to help people. We built a choose your own adventure path into the old Thought Vectors process but often we’d resort to doing it manually for people. I thought that maybe I could build something using WordPress’s REST API that might make checking the feed validity more interactive and obvious. What you can see below is an early proof of concept.1 Anyway, I built it initially and congratulated myself. Then I realized I’d only tested it on my own site and it didn’t work on any other site. Why? CORS. CORS. CORS. I had set up my own site long ago to allow access to the API from other sites but that’s not the default state in WordPress. A bit of Googling led me to a PHP proxy on GitHub that was made to deal with just this issue. I also had some hassle […]


Omeka REST API Experiment

In the Domain of One’s Own workshop yesterday, Ed Beck‘s work around integrating Omeka and WordPress came up. It led me to check out the Omeka S API. I made a functional example in CodePen and a couple of things came up that might be of interest. First, why do something like this? You have some options here. You could use FeedWordPress and syndicate the content over but I’m less and less of a fan of having copies of data everywhere. It gets messy. You could probably iframe some chunk of the Omeka piece into WordPress but that’s messy in other ways. You have to theme two different systems, removing chunks of a site (like the header) in iframes is a hassle. The API route can solve those problems. The data is clean. You can structure it how you’d like and add classes or whatever you need to it merges seamlessly with the existing WP theme CSS or you can tweak it to do what you need but there’s no battling with Omeka structure or CSS. It’s a clean way to include the data of your choosing within the visual frame of WordPress. Hassles One problem with a lot of REST APIs these days is CORS issues. I used a PHP proxy to get around that but I need to […]


Filtering CSV in PHP

I got an email from a KQED reporter asking about this old post on importing CSVs into Google Sheets. The source data was big though and hosted on GitHub and they only wanted the California data. I thought that anything we did in Google Script was likely to time out so I built a little PHP filter. Now instead of importing the main CSV URL in GitHub, we’ll do the import on my filter URL at https://tomwoodward.us/csv-filter.php. Seems to work nicely and you can set the trigger to re-import every day at whatever time you want.


Weekly Web Harvest for 2022-05-15

‘How a $10k poker win changed how I think’ – BBC Future To build a strategy to beat Dan Bilzerian, once again I needed to ask questions: how is my range plotted against his? What are the strongest hands I have and what are the strongest hands he could have? For whom is this board better? Is this card better for him or me? And by how much? Crucially, these questions are independent of an opponent’s style, and they are independent of Bilzerian. In short, his approach matters far less than my own. ‘Old Cunny’: King Of The Ohio Body Snatchers – DiggingUp1800 “a big, raw-boned individual, with muscles like Hercules, and a protruding lower jaw, a ghoul by vocation, a drunkard by habit and a coward by nature. His wife was a bony, brawny, square-jawed Irish woman, with a mouth like an alligator. Both had a tremendous appetite for whiskey.” [1]


Context Dependent WordPress Banner

Note: I will be conducting a sexy SEO title writing workshop in the near future. Goal We’re moving our documentation.1 We want to warn people of that fact just in case they’ve done something odd like bookmark a particular page, are referring to a link from an old email, etc. etc. The main DLINQ site uses the Avada theme and the items we want to target with the “we are moving this” banner are portfolio post types in a particular category. Where am I? How do I know? It’d be easy to staple this banner all over the place. I wanted it only on the Avada portfolio post type and only for a particular category (Tech) since we use that post type for other things. First, I had to find out what the post type was. Looking at it I just guessed ‘portfolio’ but that was wrong. It was ‘avada_portfolio’ and I could find that out by echoing out get_post_type() on the kind of page I wanted to know about. Then I needed to get the category the avada portfolio post type was in. If it was in a normal category I could use in_category to see what was up. This was in a custom taxonomy so I needed to see what my options were. I could do this by […]


Weekly Web Harvest for 2022-05-08

Magical SVG Techniques — Smashing Magazine "O Uommibatto": How the Pre-Raphaelites Became Obsessed with the Wombat – The Public Domain Review Oh! How the family affections combat Within this heart; and each hour flings a bomb at My burning soul; neither from owl nor from bat Can peace be gained, until I clasp my wombat! Anaconda Engineering Blog PyScript is a framework that allows users to run Python and create rich applications in the browser by simply using special HTML tags provided by the framework itself. Why these dads want permission to patrol schools “My son, he’s in ninth grade. He’s gotten suspended a few times for vaping then the alleged rape happened a couple of months ago,” said Jimmy Carter. “Then at that point, I said you know this, this has got to stop.” –What could go wrong? Henrico Schools to provide $500 bonus to all full-time employees this fall – The Henrico Citizen All full-time staff members employed by Henrico County Public Schools at the start of the coming school year will receive a one-time $500 bonus, as part of what school officials are calling an “aggressive” campaign to retain current staffers and hire new ones. —$500 . . . so divorced from reality.

The word activate in large cartoon font with two circles behind it. They contain pictures of people but it doesn't really matter.

Stacking Images with CSS

I wanted to do a little example for a Gravity Forms workshop series I’m doing with Reclaim Hosting. The goal was to play off the Wonder Twins and their ability to change into various shapes. So I thought it’d be fun to propose a scenario and then have people propose different things for the Twins to turn into in order to defeat the bad guys. Give the final-ish product a try. So I’ve got a prompt. The Wonder Twins are known for assuming different forms to help fight crime. Jayna can transform into any animal and Zan can assume water in any form. For instance in the example above, Jayna turns into an octopus and Zan turns into an ice unicycle. I think they do that to avoid falling asleep but it’s a bit confusing. Now I wanted to show how we can use Gravity Forms to accept two images and combine them with a third image in a way that feels unified. You can see the example below, the form submitter would pick two images and they show up in the circles. The images I used were just some random pictures from my Flickr account.1 The Overlay Nothing fancy to this part. I just made an SVG with two transparent holes in it. I am getting better and better […]


Getting Relevanssi Search Working in WordPress Multisite

We shifted the DLINQ site to multisite a while back. It’s no obvious change for anyone viewing but it enables us to spin up different sites without the hassle of jumping between sites or installing the same plugins/themes in so many places. Clearly not rocket science but little things like that build up over time, even with password managers.Or maybe I just missed multisite? Now I can make themes and plugin combinations that more specifical address needs we have. I’ve built out a documentation theme that I need to blog about and made another theme for a fellowship we have going. There’s also an intern handbook on there that’s expanding pretty rapidly. One challenge that using a Multisite in this way brings up is searching across sites. We’re addressing that issue with Relevanssi Premium.I say in with a bad Italian accent and an extra “i” in honor of Jim Groom. It is a paid plugin but it deals with a couple of things that would be a hassle otherwise. The major advantages I saw were. searching across sites in multisite indexing ACF fields having a permanent, unlimited licensing option Permanent, unlimited licensing is a nice option that is rare these days. I like to be able to use the same plugin to solve the same problem. It saves time and […]


Weekly Web Harvest for 2022-05-01

On Shifting Toward Agility With Learning Technologies – D’Arcy Norman The Taylor Institute acts as a testbed for new technologies that will be evaluated by the campus community, and the community will also help to decide which technologies should be implemented across the university (and which should be discontinued, and which should be left as DIY). We now have several committees and working groups that will lead these efforts (including the Learning Technologies Advisory Committee, General Faculties Council Teaching & Learning Committee, and the TI Classrooms Working Group). Is Grammarly a Keylogger? What Can You Do About It? But why would a grammar app need accessibility permissions? It turns out that accessibility permissions are like the Holy Grail of permission entitlements. Accessibility permissions allow approved apps to fully control the entire computer as if they were sitting next to you, watching your screen, and holding their hand on top of yours while you typed on the keyboard and moved the mouse. Based on my brief usage of the app, in practice, this means: capturing the user-editable text inside any application brought to the foreground by the user and augmenting/manipulating the UI of the app in focus.1 Once this permission is granted, Grammarly can now capture text and send it back to its servers without any further user interaction. No other […]