Category: all of the things

  • Bulk deleting users in WordPress multisite

    So I have over 10,000 spam users and need to delete them1. The bulk delete in multisite only does 20 at a time and is somewhat slow so I wanted a better way to delete them all. This could be a massive mistake, if you are reading this because you need the same thing, you…

  • Setting up VVV v1 with SSL

    Even taking into stupid mistakes, this was fairly straightforward. Here’s how I set up my VVV local sites with SSL so I’m not screwed when I accidentally update Chrome. (It happens.)

  • WordPress development beginners’ workshop debrief

    I helped out with a beginners’ WordPress development workshop with Jenny Wong for TECH(K)NOW Ada Lovelace Day. We had two hours and she talked about WordPress then I did a workshop bit.

  • A talk on community management and tech support

    I gave a talk at WordPress London in May about dealing with people who use your website, tech support and community management. Can I embed my slides? No I cannot. You can find my slides here. There’s a video of the talk on the WordPress London Facebook page, but you’ll need to request to be a member.…

  • Gutenberg identifiable but still non-global blocks

    I wanted to be able to add meta data to individual blocks, so needed a way of telling the blocks apart. What I’ve ended up doing is straightforward: each block gets a data-id attribute which contains the block’s uuid at time of creation.

  • Gutenberg wish list

    Ok, this is without really looking at it so maybe it has these. identifiable non-global blocks (so not these: https://github.com/WordPress/gutenberg/issues/2081) because I want to maybe use postmeta with a block? I don’t know, I have this vague idea that I’m too lazy to articulate atm. ok this wasn’t bad, I’ve done this. the ability to limit…

  • Gutenberg test, a simple FAQ block

    This is my first attempt at a Gutenberg block. I’m building this looking at / copying nylen’s Gutenberg examples plugin. Mine is named “Gutenbergerli” because this will be wonderful for a few hours then it’ll go stale, just like Luxemburgerli which are some of the best things ever for a time, at least.

  • scraping http POST requests with golang

    One of the #enumerateallthethings projects in Go. PostScrape lets you scrape targeted html nodes in enumerateable http POST requests. It uses goquery for the targeting. Currently it’s command line only. Works but not finished at all, needs tests and other things. (Part of a larger project where I just needed the data.)

  • Improving Gravatar (the service)

    The problem: Gravatar hashes are somewhat easy to crack. Websites are super easy to scrape. Sites with Gravatar urls in the img-src or profile link make it trivial to generate lists of hashes to crack. Other data available on sites and in Gravatar profiles can be used to generate targeted wordlists which make cracking a…

  • Windstream compatible modem for a non-bonded connection

    When my Windstream modem was repeatedly power cycling when trying to connect, tech support said this was the modem letting me know it was damaged and needed to be replaced. They offered to rent me a modem for $10/month but oh my god no, why would I do that? This one lasted me over 10…