Tag: projects

  • A Wappalyzer of my very own

    So, y’all know how it is sometimes… You go digging through GitHub repos looking to see if anyone’s already made a tool to do a specific thing that you need to get done. Something simple and fast that doesn’t do a bunch of extra stuff. Lately, I’ve been wanting a quick way to peek at what sites have been built with without having to tab away from the terminal or poll some third party API. Just a straightforward command-line thing.

    While poking around, I stumbled across a project that wrapped a Go implementation of Wappalyzer in a CLI. Sounds perfect, right? Go is fast, the command line is fast, and Wappalyzer does the thing that I need.

    The old version worked alright — no complaints, really — but nothing on the project had been touched in three years. The Go version was old, libraries were way out of date, and honestly, relying on something that stale just feels… irresponsible?

    Besides, the JSON output that the old version of the Wappalyzer CLI spit out didn’t include the domain name. Which made it slightly less useful when performing runs on a list of domains, which I’m possibly looking at doing.

    Before I start talking about my fixes tho, here’s a quick note on how this tool works. When run, wappalyzer-cli fetches the target site via HTTP, pulling HTML, headers, JavaScript, etc. Then it uses a local database of known libraries, frameworks, and server technologies. No external API calls need to be made for analysis. All of this happens locally.

    I consider this a massive win for privacy! The URLs you scan and site contents all stay on your machine. This means that you’re not feeding some rent seeking business that’ll most likely turn around and eventually funnel this data into some bullshit AI tool. On top of that, you can use this as much as you want without worrying about hitting any API rate limits.

    Anyway, I decided to give this neglected tool a friendly bit of polish. I started by switching things to a more recent version of Go. Then I bumped all of the dependencies. Once that was done, I ensured that everything still ran. Finally, I hacked the domain name into to the JSON output. Now I’ll be able to tell which site each set of results belongs to in batch runs.

    It’s still the same fast tool that it was before. It’s just a bit better now. If you want a quick, reliable site intelligence tool, go check out my updated version over on GitHub.

    Feel free to kick the tires, open an issue, or send a pull request if you’re really feeling sassy. I’m still learning Go, so it might take a minute for me to figure out how to fix whatever bugs folks might surface, but I’m still happy to give it the old college try.

  • A little housekeeping

    If — by some minor miracle — you’re still following this site in your favorite RSS reader, you might’ve noticed that I’ve been a busy little beaver over the last several days. What’ve I been up to? Well…

    • I migrated some archival content over from a couple of side projects that stalled out.
      • gomi no sensei, my early COVID-19 pandemic, Doctorow style, dailyish newsletter that I ran for a few weeks in early 2020.
      • blog.boogah.org, a more personal site where I didn’t have to worry about all the technical debt that I’d accumulated here.
    • I migrated all of my site’s content over to using blocks via the WP-CLI bulk converter added to 10up’s great Convert to Blocks plugin.
    • I updated about ninety posts in the Linked category to use the Bookmark Card block instead of Daring Fireball style links. This decision was made mainly because the plugin I was using hadn’t been updated in at least 11 years. 😅
    • Getting rid of that ancient plugin freed me from the technical debt that was holding me back from changing themes and embracing Full Site Editing in WordPress. I’m using Davis Blocks as my current theme, but will likely cycle through a few until I find one that feels like “home”.

    Does this mean that I’m going to start posting here again? Honestly, at this point, I’ve learned to not make promises that I don’t know if I can keep. So let’s just say maybe.

    Cool?

  • Sophomore Release

    Out of 2732 user submissions, I just collected and added 35 words & phrases to Hipster Ipsum.

    That means that only 1.281% of the stuff that people gave me was actually usable. The rest of it was names of people, inside jokes, repeats of stuff already in the database and a staggering amount of slurs and insults.

    So thanks for nothing, crowdsourcing…

  • Further Adventures in Ipsum

    Huh. A little Hipster Ipsum made it into Android’s Design Pattern documentation.

    P.S. Can’t find it? Look here. [via]

  • Artisan 8-bit Photo Booth

    If you don’t already follow me on Twitter, you probably don’t know that I launched a new project last week. So take a minute and go check out Hipster Ipsum. You know, if you want to.

    I’ll admit that it’s kind of stupid — and making fun of hipsters is way played out by now — but this is one of those ideas that has been kicking around in my head for a while. And rather than just letting it flop around in my brainpan until someone else made it, I decided to carve out a little of my free time and actually ship it.

    I’m pretty happy with the results too. Here’s some of the text it’s generating:

    Jean shorts aliqua magna mollit. Whatever est leggings put a bird on it aesthetic sint tempor butcher. Keytar gluten-free fuck sustainable. Portland aesthetic chambray, Readymade nulla 8-bit bahn mi Austin keffiyeh Four Loko letterpress. Veniam skateboard deserunt vinyl nisi fugiat. Lo-fi accusamus sapiente, pariatur tofu aesthetic do leggings deserunt organic quis consequat.

    I’m sure that there’s plenty of hipster cliches that I’ve missed. So if you check out the site and see any that I might be missing, don’t hesitate to let me know!