RSSAmplifier

Blog

Ben Farrell dot com

Creating digital hugs since the 20th century.

benfarrell.comRSS feed ↗234 posts

Latest posts

Sketchatone (first) Open Mic

Pictured is Duke James playing a set at the Smalltown Society lab before the open mic. This was during the Smalltown music lab on 5/6/2026. Duke played an amazing and soulful show This wasn't just my first open mic using Sketchatone, but my first open mic period. A short clip captured of me at the open mic, see the bottom of the post for a home recording I've been taking singing lessons for a few…

A Year of AI Coding

It wasn't until fall of 2025 that I seriously used AI coding tools. At first, AI seemed kinda useless # Prior to that, I dabbled, but really never had great results. I was really using AI for the stuff I was terrible at like RegEx or shader code - you know the obscure stuff we only do once in a blue moon. Shaders were difficult to get right, but a fun thing to try. I'd turn to assorted AI tools…

CNC-ed Music Factory Mk4

Last October, I blogged about my CNC(ed) Music Factory. It was a good attempt, but I ended up 3D printing the walls, made some mistakes, and while I think it was going to stay together adequately, it wasn't as polished as I'd have liked. Originally, I wanted wooden walls with inset engraved acrylic panels, all done with my CNC. Well, I just finished my 4th (I think) build and it's looking pretty…

Project Sketchatone

Sketchatone is the first serious AI coding project I've done. If it weren't for tools like Cursor and Augment, this would be a pretty limited (but fun) experiment. But right now I've got several utilities and installers spread across Python and Javascript, MacOS and two flavors of Raspberry Pi. My motivation was pretty simple - I'm a keys player, but lots of music I like is guitar driven. The…

Project Blankslate

In my last post about WebHID and Drawing Tablets, I talked about experimenting with the Chrome/Edge only API for reading HID (human interface devices) from the browser. I also mentioned my endgame for my exploration. I was exploring using a drawing tablet as a sort of MIDI controller. I'll get into this in my next post, but in my first iteration of this project the drawing tablet reading was part…

WebHID and Drawing Tablets

A while back I had an idea for a project that might benefit from a drawing tablet. I'll brag on this later on my blog when I've polished and played a bunch more with it, but exploring how to interact with it got me sucked into the world of HID (human-interface-devices). As I was struggling through reading the byte formats with the help of some AI assisted coding tools, I happened to glance over at…

EMF Microphone

One of the smaller experiments I've been wanting to try lately is listening to electromagnetic fields. Inspiration has come mainly from the Japanese group Electronico Fantasticos . I've seen some rad experiments come out of folks that are inspired by them as well - mainly inspired by this CRT TV Guitar project: There are certainly some cool EMF related projects that have been done and could be…

CNC(ed) Music Factory

I JUST finished a build of a custom case for my Raspberry Pi based music box. Currently, it's based on Zynthian . Zynthian sells hardware kits, but offers DIY Raspberry Pi boot loaders so you can flash an SD card, plug it in to your Pi and GO! The Zynthian kit, after assembly, if you purchase it rather than custom build it like I did.... I say "currently" because I bought a PiSound a few years ago…

Notespad

I'm forcing myself to show stuff off more. Usually I don't share until things are perfect, but this time, I have a very imperfect work in progress. At the same time, however, I'm pretty impressed with how a couple of AI tools I'm using are coming together. The app I'm building is called "Notespad". I think of it like Windows Notepad where you're just working with text to jot stuff down, organize…

Begrudgingly Moving to Vite

Sigh. Double sigh. It was over a decade ago when I just wanted to give up on all the Javascript framework churn. I was decently happy with Angular (first version!), and having just become comfortable there after blowing through what feels like a dozen others, I wasn't eager to switch to the latest craze (at the time): React. I never did, and have only used React a few times in favor of Web…

WebGL with Claude.ai

Back when I was making episodes of Web Components from Space , one of my last experiments was using AI to generate code in languages or environments that are just painful to work with. WebGL is one of those environments. I'm jealous of my colleague who explored WebGPU and I mean to do the same in the future. It looks much better, although it STILL is experimental browser tech. So here I am trying…

Playing a Note Sequence with Tone.js

I've had a long-standing hobby that I haven't really leaned into since the mid 2000's. But all the same, it's inspired some of my prototypes and experiments. And that's playing music. I played classical piano in grade school, then played in a few rock bands in high school and then after college. Just these past couple years, I really got back into playing keys again, but also taking some vocal…

Lasers & Halftones

Whatever the heck this blog post is about, you can tell it's gonna be cool. Lasers are awesome. I remember I had a fifth grade field trip somewhere that had lasers, and I did a report on them because of how awesome they are. First though, lets talk halftones. Project Hello Halftones # Back around 2020, my extremely math-inclined co-worker Dmitry Baranovskiy had invented some algorithms for drawing…

Hi, Long time, no blog!

Well, well. Look who's back. Me! My last real blog post was in 2020, but really I hadn't been blogging much since 2019. And even that wasn't much. Last I was in prime form was in 2017. What happened? Big projects is what happened # Here's the deal. I get fixated on big projects, and I think it's to my detriment. I was happily doing OH SO MUCH blogging in the earlier to mid parts of the 2010's.…

Gardenzilla

I didn't do much hard digital work on this project. The Godzilla model was pulled from Thingiverse, and I believe it was this one . Anyway, the motivation was that my wife wanted a Godzilla in her garden. I'm quite sure I didn't coin the term "Gardenzilla", but that's obviously what it is, and we couldn't stop saying it. Initially, I wanted to go a bit creative with it and saw an idea on Etsy…

Lightbox and Makerspace Guide

As we at the Sun Gallery push our makerspace forward, this is one of the activities I researched and made. I used our Omtech 100W laser cutter/engraver to cut the pieces. The design on the box are simple vector art assets I pulled from other things I drew previously. And the box, well that's pretty neat. You can customize the dimensions and create any size box at makercase.com . the final result…

Jam & Toast banner

One of the things I run at the Sun Gallery is a monthly jam session organized through meetup.com. It's called "Jam & Toast", and the flyer/art seemed obvious, so I drew it up in Illustrator for our advertising needs. Jam & Toast banner

Stan, the Sun Gallery Makerspace mascot

As a board member of the Sun Gallery , we're always looking for unique ways to make art and promote the gallery. Carla Dozier, the board president, had the idea to create a mascot for the gallery and drew up a rough sketch of Stan the Sun. I took that sketch and created a digital version of Stan, the Octopus. Once the digital version was complete, we used it in various places, but most…

AI Will Replace U

When we opened our brand new Makerspace at the Sun Gallery , I for sure wanted to make an exhibit! This was when generative AI was just reaching the point where it was good, but could also be run locally. I took an older desktop PC I had, upgraded the graphics card and installed Stable Diffusion. I learned lots about running it through its REST API. The experience is created with Tensorflow.js…

Web Components in Space Episode 5

This is a cross-post of the fifth episode of my spacelab based Web Components learning video series called "Web Components in Space"! Episode 5: Watch all of Episode 5 Play this playlist for the intro, the run-down on what we'll learn and do in Episode 5, the show and tell, the interview, and our experiment with SimplyRecipes.com to generate AI images from their accessibility text. Image Replace…

Web Components in Space Episode 4

This is a cross-post of the fourth episode of my spacelab based Web Components learning video series called "Web Components in Space"! Episode 4: Watch all of Episode 4 Play this playlist for the intro, the run-down on what we'll learn and do in Episode 4, the show and tell, the interview, and the five part lab. Audio Demos Music Practice App Episode 4.1: Episode 4 Run-down Ben gives a quick…

Web Components in Space Episode 3

This is a cross-post of the third episode of my spacelab based Web Components learning video series called "Web Components in Space"! Episode 3: Watch all of Episode 3 Play this playlist for the intro, the run-down on what we'll learn and do in Episode 3, the show and tell, the interview, and the eight part lab. Pose Capture on NPM Demo App Episode 3.1: Episode 3 Run-down Ben gives a quick…

Web Components in Space Episode 2

This is a cross-post of the second episode of my spacelab based Web Components learning video series called "Web Components in Space"! Episode 2: Watch all of Episode 2 Play this playlist for the intro, the run-down on what we'll learn and do in Episode 2, the show and tell, the interview, and the seven part lab. Episode 2.1: Episode 2 Run-down Ben gives a quick run-down on what we'll learn and…

Web Components in Space Episode 1

This is a cross-post of the first episode of my spacelab based Web Components learning video series called "Web Components in Space"! Episode 1: Watch all of Episode 1 Play this playlist for the intro, the run-down on what we'll learn and do in Episode 1, the show and tell, the interview, and the seven part lab. Episode 1.1: Run-down Ben gives a quick run-down on what we'll learn and build today,…

Untold stories of web-dev-server

It's been a while since I've written a blog post. And even then it was a constant barrage of Web Components posts from me, leading up to a book I published with Manning called Web Components in Action . It's all because I believed in Web Components, but until recently (right around the time my book was released in September of last year), I knew they weren't quite ready, and I love to go on and on…

Superheroes

This was less of an installation, and more of a popup event! The de Young Museum in San Francisco was hosting a "de Youngsters Art Party" and Adobe was there to help out. We created a superhero themed installation where kids could draw their own superhero, and then see it come to life on a screen. The kids could then print out their superhero and take it home with them. Read more de Youngsters Art…

Why Web Components Now?

I’ve been procrastinating on this post. It started out as an idea from my publisher (Manning) back in April, just as my book was getting closer to being wrapped up, to make a decent argument about why it’s a great time for the web developers of the world to start using Web Components. I thought a post like this was a fantastic idea, so I immediately agreed. After all, a lot has happened in late…

Adopt a Design System inside your Web Components with Constructable Stylesheets

As someone who makes stuff on the web, there are two things that I've been seeing quite a bit lately: Web Component discussion and CSS debates. I think that Web Components, or more specifically the Shadow DOM, is poised to solve some long-standing CSS problems. I'm a big fan of Web Components. In fact, I'm just wrapping up a book with Manning Publications now, called Web Components in Action .…

Web Components in Action

Due out in Summer 2019, Manning Publications is releasing my first book. Web Components in Action walks readers through the basics of creating their own custom elements, using template literals stored in modules to properly separate your HTML/CSS, and the ins and outs of the Shadow DOM. The book runs through lots of hands on examples, as well as build steps, testing and strategies to accommodate…

Adobe MAX Sneaks

During my time on the Design Lab team at Adobe, there wasn't one year that passed where one of my projects did not make it to the big after-hours stage. MAX Sneaks is, in my opinion, one of the most exciting events at Adobe MAX . Prior to joining Adobe, I looked forward to watching all of the emerging technologies and projects that just haven't made it to the product stage yet. While working at…

Note to Self

This installation was a sound based one! We combined photos of the users of the installation with sound waves. The sound waves were triggered by a MIDI keyboard and send to a speaker mounted near a thin layer of water. These visuals would be combined to create the final output. We created this installation for the Museum of Photographic Arts in San Diego. Read more Note to Self the installation…

Mozilla DeepSpeech vs Batman

No, I'm not a "Machine Learning" developer, but I am having fun feeling out what it can do. All that's to say, this isn't an article about the gory technical details of Mozilla's DeepSpeech. Rather I'm writing my experience after spending a couple hours with it and being decently impressed and finding myself eagerly anticipating this project improving over time. I've been peripherally aware of…

The Slow March of Web Component Progress

Almost two years ago, I made a hefty series of posts on the promise of Web Components . Things have changed and promises were broken, but on the whole, I don't think MUCH has changed from an implementation perspective. These days, I've been sucked into the awesome world of the 3D web and WebVR and soon WebAR, but often I need some 2D UI around my 3D scene/canvas. When I do, it's STILL all Web…

A-Bad attitude about A-Frame (I was wrong)

I haven't written many posts lately, especially tech related. The reason why is that I've been chasing the mixed reality train and learning. 3D development in general has had a number of false starts with me, and I never went in the deep end until now. This past year or so, I've been using both Unity and WebVR. My failed 3D career # Prior to this, I went through a Shockwave 3D phase in the early…

Back From VRLA

I believe it was during a session called “Shooting VR for Post” that I found myself identifying heavily with one of the panelists who said something to the effect of “Before VR, my work was a bit mundane. We’d take a look at a shot we needed to do in a meeting, and we wouldn’t even have to talk, we’d instantly know what our roles were and break to get down to work. With VR now, it’s not that easy,…

Self Composed

I was one of a few developers on this project. I definitely didn't lead it as MacOS development in Objective-C isn't my forte, but I think I did lots with tying the print server to the UI and experience. Self Composed was a project my team and I at Adobe did for the San Francisco Museum of Modern Art and stayed up through around 2023. Users could create unique compositions with the installation's…

360 Video: An Afternoon Within

With the Oculus store continuing to get some interesting titles while I wait with baited breath over getting my very own Oculus Touch Controllers when they get released, its easy to forget about 360 Video. Some say 360 Video is not VR at all like Vive engineer Alan Yates: The problem Mr. Yates seems to have is that 360 Video chops off some key VR immersion factors like being able to move your body…

A Week at the Hololens Academy

Ahhhhh the Hololens. I finally get to check it off my list. When I express my disappointment with not being able to try it out to my friends and co-workers that are interested in VR, it's kinda like talking about going to Hawaii. "Ohhhh, you haven't been? You really should, it's an enjoyable experience." (said, of course, with a knowing smirk and possibly a wink). There's a good reason for that…

The Oculus Rift Dream Deck

Like I said in my last post, the "Dream Deck" is one of several free pieces of content to help you discover what VR is like. The deck itself, is a handful of mini experiences that last a few minutes and then fade to black inviting you to experience the next thing. I also described the input mechanism here as a bit archaic. In fact, through much of the more simpler and/or utilitarian UI (like the…

Hands on with the Oculus Rift

Virtual Reality is very fascinating to me. For one, its both a brand new technology given our current state of hardware that makes it possible AND also old as heck. I remember playing "Dactyl Nightmare" back before I graduated high school 20 years ago. https://www.youtube.com/watch?v=L60wgPuuDpE It's now 2016, and the difference between then and now is that we seem poised to get VR in the hands of…

Adventure Time: Magic Man's Head Games...

... and other platformers. In my last post , I was really psyched over the suspension of disbelief, cartoony, fantasy world like experience. It's fitting that my first purchased content would be this game. To be honest, I bought this for two reasons. It's cheap at $4.99 I freaking love Adventure Time The result was that I was blown away. And this is odd, because if it was a normal 3D game release,…

Progressive Web Apps

Last Friday, the SFHTML5 Meetup group met to discuss something called "Progressive Web Apps." I had some preconceived notions that the topic would be pretty cool, but actually, it got me more excited about the state of mobile/web/desktop in 2016 than I could have imagined. This might sound a bit dramatic, especially given the negative tone that Alex Russel (@slightlylate), the speaker, started off…

ES6 Web Components Part 5 - Wrap-Up

In Part 4 of my 5-part write-up, Project Setup and Opinions , I talked about lessons I took away from experimenting with ES6 Web Components. Lastly, is my wrap-up post... This was a monster write-up! In my four previous parts, I've shown you the basics on Web Components, what features make up a Web Component, how ES6 can help, and some coding conventions I've stumbled on through my…

ES6 Web Components Part 4 - Project Setup and Opinions

This article continues my ES6 Web Components series. The last article was the third in the series: Making an ES6 Component Class . So far, the basics have been pretty....basic. I hope I've given some ideas on how to create ES6 Web Components - but these basics only go so far. I do have some opinions on how to take this further, but they are only opinions that have made sense to me. The beauty of…

ES6 Web Components Part 3 - Making an ES6 Component Class

One thing I didn't cover in my last post (#2 in the series) about all the pieces that bring Web Components together is actually using ES6! It's not a feature of Web Components, but its some seriously nice glue that lets you tie your Web Component structure together. To be honest, I'm not using it to it's full capacity. In fact, I'm only using 2 or 3 features to make my life easier! Classes # There…

ES6 Web Components Part 2 - The Building Blocks

This post is the second of five. Click here to read the first which covers why I came to Web Components in the first place. Let's dig in. In part one, I covered WHY I wanted to write ES6 Web Components, but didn't show any code. Let's change this! Since Web Components are a collection of several seemingly unrelated techniques, bear with me as I cover one at a time and then we'll combine them all.…

ES6 Web Components Part 1 - A Man Without a Framework

Before I launch into this 5-part series of posts, I just want to give a high-level overview of it: I wrote a lot. Partially because I'm long overdue on a blog post on all the stuff I've been experimenting with for the past several months, but mostly because much of the web tech I've been looking into is Web Components and I'm truly excited about it and feel like it represents a pretty big chunk of…

Tron (for Github's Electron)

I'm a big fan of Github's Electron lately. Electron is the underlying tech behind Github's Atom Editor, which they have kindly made open source....YAY! Electron marries Google's open source browser Chromium, with IO.js (the fork of Node.js). What you end up having here is a desktop wrapper that lets you do all sorts of HTML5 goodness with the power of Node.js which lets you access your local…

Interstitial VO Creation with Text to Speech and FFMPEG

Wasn't I playing with virtual reality lately? Yes, but I got distracted. I'll blog on that later, but for now - I've been looking to do cool things with my music discovery library called "the Shark Attack". One of those cool things is a longstanding problem I've wanted to solve but never got around to it. See, I deliver a weekly radio show to my good friend Vicky Ryder who runs Codebass Radio . I…

The Weird Developer Ecosystem for the Amazon Echo

Update: @garethwatts tells me that we were told that your app doesn't have to be hosted on AWS, only that it must be publicly accessible. In my opinion, this is BETTER, but still not great for just serving off local host in your dev environment! Thanks Gareth! Before you read this article, I gotta warn you - this isn't a how-to. These are initial impressions of the ecosystem based on a short 45…