I also updated the image model to use Stability.ai’s swanky new SDXL model. I’m pretty impressed with the results.
Alright, this is pretty awesome! 🎉
Some random stats from Google Analytics since it launched on October 9th, 2022 to now:
ArtBot keeps chugging along! 5,000,000 images have been created.
Err, this is cool!
Somehow, ArtBot (my tool to generate art using a cluster of distributed GPUs) has just generated: 1,000,000 images!
I’ve seen people share links to it on Reddit, Twitter, and even a YouTube video demonstrating how to use it.
It’s by far, the most used thing that I’ve ever created for fun. Pretty cool!
I added support for img2img requests on ArtBot. Essentially, you feed it a base image and write a description of what you want the image to be turned into.
Using my highly specialized and custom Canine Calibration Device (ah hem, Benson), I turned him into a robot.
Thanks to Reddit, I recently stumbled upon a cool project called Stable Horde. It essentially lets you generate images using a distributed cluster of GPUs donated by community members.
I had been creating my own web interface to remotely interact with a Stable Diffusion instance running on my own machine. I decided to quickly repurpose the web app and connect to the Stable Horde API. The result?
ArtBot, a Stable Diffusion demonstration that allows you to generate images using the power of the Stable Horde. It is awesome!
A problem that often happens to me: I get the inspiration to whip up something in Node.js (for fun, for experimentation, for a side project, etc) but then I realize that I need to go through the process of actually setting things up before I can even start writing some code.
Usually, I have to dig through previous projects and copy over my eslint and prettier config files, read through some documentation and remember how to setup TypeScript again, install the correct dependencies for running tests. Before I know it, I’m bored and tired and no longer interested in doing whatever I was going to do.
I decided to experiment with some command line tools and created a Node.js script that can help me quickly bootstrap a new project with common configuration parameters that I use. It’s available on GitHub: Bootstrap Node Project.
The GIF above shows this tool in action. I’m able to get the scaffolding for a new project up and running within about 20 seconds! After running, the project structure looks like this (with associated npm start and test scripts, all ready to go). That is pretty awesome.
my-cool-project/ ├─ .husky/ ├─ node_modules/ ├─ src/ │ ├─ index.js (.ts) │ ├─ index.test.js (.ts) ├─ .eslintrc.json ├─ .gitignore ├─ .prettierrc ├─ package-lock.json ├─ package.json ├─ README.md ├─ tsconfig.json (optional)
Obviously, it’s highly opinionated and caters to configuration options that I personally like to use. But I figure it’s a great resource for anyone who wishes to roll their own utility to quickly bootstrap projects as well.
The school shooting in Uvalde last week was horrible. As a parent, I feel so powerless to protect my kids from something like that. Taking them to school the next day was extremely emotional.
It’s clear that we, as a country, are going to continue to do nothing about guns and gun violence. I channeled some of my emotion into building an automated bot for Twitter. I call it SABS – Stochastic Analysis for Ballistics Superfans (alternative title is “Second Amendment Bullshit”).
If you’re so technically inclined, you can download and run it yourself. Powered by Node and a fun little experiment into Twitter’s API.
It automatically replies to any congressional member who tweets.
Which of course includes unhinged Republicans.
I recently wrote a simple hook for React to automatically detect a device’s dark mode preference (as well as any changes to it) and style your web app accordingly, using something like
It was developed as part of a side project I was hacking around on using my personal React Starter Kit, which is my own React project for quickly getting prototypes and side projects up and running.
I’ve released this as a standard GitHub repo instead of an NPM module due to the simplicity of this hook, especially in light of one-line packages breaking the Internet. To use it, just copy it into your project where needed.
I’ve released this under an MIT license. Feel free to use as-is, fork, copy, tear apart, profit, and share as you wish.
You can check out the code on Github.
Here’s a random little side project that I’ve been working on: Emoji Say What?
It’s like a game of telephone, but using the latest in human communication technologies, hieroglyphics, emoji!
Basically, you visit the site and get a completely out of context sentence or set of emoji and it’s your job to decipher it. And so on and so on. It evolves over time and eventually you get something like this.