RSSAmplifier

Blog

BIT-101

Recent content on BIT-101

bit-101.comRSS feed ↗112 posts

Latest posts

Yuki

I lost one of my best friends ever today. 
 

 I saved this poem years ago, knowing that it would bring me comfort on this day. 
 
'The House-Dog’s Grave'
 I’ve changed my ways a little: I cannot now 
Run with you in the evenings along the shore, 
Except in a kind of dream: and you, if you dream a moment, 
You see me there. 
 So leave awhile the paw-marks on…

Recplay

I’ve been getting heavy into internet radio lately, as mentioned in this post and that post . A lot of what I listen to day to day is just music of a specific genre. You just let it play and it’s the same general stuff all day. But there are also some local stations and college stations, as well as NPR affiliated stations that I listen to that have schedules of different shows at…

More on Drawing Crisp Lines

Following up on yesterday’s post about drawing crisp lines, I realized it would be nice to add some details on why putting lines on a 0.5 pixel makes them crisp and not blurry. 
 In many common drawing apis, when you draw lines, the pixel values you give mark the center of the line. If you are drawing a one-pixel thick line, it will draw it half a pixel on either side of the measurment…

Drawing Crisp Lines

Today I was working on some code where I was drawing a bunch of thin lines for various types of grids. After I had the basic code working, I went back and worked on cleaning things up. One thing I’d noticed is that some of the lines were… fuzzy. They were absolutely straight vertical and horizontal lines, but some were clean and crisp, others looked kind of blurry. And they all seemed…

Part of the Problem

Anyone who follows me on line knows that I’m not the biggest fan of AI and where it is taking the world. I won’t make a huge rant about it, but I didn’t get in to programming to just describe what I want to code, have something code it, then point out the mistakes it made. Beyond that, there’s all the impacts on the world, the environment, the economy, workers, artists,…

Internet Radio II

The other day I posted about my internet radio explorations . A few people weighed in with their experiences and questions. You can see those in the comments of that post. Mostly it was me talking about adding streams, so I figured I’d more permanently document that in another post. This is mostly about finding, adding, and managing new stations. 
 Skytune 
 As mentioned, my…

Internet Radio

Background 
 I started buying music in the 70s. Vinyl. Not because it was cool, but because that’s how you bought music. It was either that or 8-track tapes. I never had an 8-track player. I had a record player. We didn’t call them “turntables”. We called them record players. Again, it wasn’t trendy. That’s just how it was. I wound up with a respectable…

XT Eink X4

I have been a big fan of eInk book readers for just about 17 years now. In April 2009 I got my first Kindle and had a number of follow ups over the next many years. Ten years later I moved over to the Onyx Boox line of ereaders, with a Nova Pro 7.8" device, then a Note Air 10.3" device, a Poke 3 6" device, which I sat on and broke about a year ago, so got a Go 6 6" reader to replace it. I also…

A New Book in the Works!

Hot on the trails of Coding Curves , I’m excited to announce my next writing project… 
 The Creative Coding Compendium, Volume I 
 Most of my books up to now have been focused on specific topics - fractals, chaos and strange attractors, or 2D curves. Or they’ve been targeted to specific coding platforms - Flash or iOS. For my next round of writing, I want to open up the…

Coding Curves Is Live!

I did it! It’s live! It’s for sale! My seventeenth book!!! 
 

 You can buy it on Gumroad: https://bit101.gumroad.com/l/coding_curves 
 It’s along side my last self-published book, https://bit101.gumroad.com/l/playingwithchaos that was published nearly 13 years ago! 
 It’s only $9.99 US, which is pretty cheap for a book these days. And if you buy either…

Coding Curves: The Book

Back in late 2022, through the start of 2023, I wrote fourteen blog posts in a series called “Coding Curves”. That’s still up on the 2017-2023 version of this blog: 
 https://bit-101.com/2017/2022/11/coding-curves/ 
 My intention was always to compile these into a book. I’d wanted to write this book for a LONG time, and started it multiple times. Only by writing it…

Isometric Engine 2026 - Part I

Isometric drawing is always a fun thing to work on. I say always because I’ve created many isometric frameworks over the past 20+ years. I think I wrote a book chapter or two about it, and published a couple of Coding Math Videos about it … 10 years ago (OMG): 
 
 Coding Math: Episode 41 - Isometric 3D Part I 
 Coding Math: Episode 42 - Isometric 3D Part II 
 
 In…

We Have Comments!

After getting search working here (and on my other blogs), I was pretty excited. I started thinking, “what else can I do here?” 
 The one last thing I missed from leaving Wordpress was comments. I looked at a whole bunch of commenting systems. All the ones here: https://gohugo.io/content-management/comments/ 
 I discovered that Hugo even has a Disqus comment template built in.…

2003 Blog in Hugo

My first version of this blog was put up in 2005. I think it was on the “Blogger” platform. And I think I moved to something else, then finally to Wordpress. 
 In 2017, I had over 1,200 posts and the database was getting creaky. Most of the content was Flash-based and I hadn’t touched Flash in years, so I started a new Wordpress site. 
 In late 2023, I was so fed up with…

We have search!

I love Hugo. I have negative regrets on switching over from Wordpress some years ago. But there are a couple things I’ve missed. 
 One is comments. Well, mixed feelings about that. I miss the interactivity. I do not miss the constant battle with spam. 
 The other is search. Hugo is a static site generator so there is no search functionality built in. Today I started looking around…

Palette Visualization

I’ve been doubling down on exploring color over the last couple of weeks. In my last post , I described a new app I created to extract a color palette from an image. One thing I mentioned there was that RGB is probably not the best color space to represent colors in when trying to cluster similar colors, as it was not designed with human perception in mind. In this post, I manage to show…

Getpal - extract a color palette from an image

At the end of my post about color palettes I talked about extracting palettes from images. I said there that I’d gone through a few different strategies but wasn’t really satisfied with any of them. And I said that I wanted to try k-means clustering to see if that would have better results. I implemented k-means a few months back on 2D points and got it working pretty well, but for…

Palettes

Color is hard 
 Most of what I do is in black and white. I love the way it looks. I like building up forms and shapes and patterns using only values. 
 Also… color is hard. 
 Or, it seems hard. Working with color reminds me of composing music. There are so many rules, and it’s all based on physics, and also all based on human perception, and also psychology - though that…

Print Shop Is Live

Well, I’ve gone and done it. I opened a shop to sell prints of some of my digital creations. And here it is: 
 Keith Peters Art Shop 
 
 
 Yes, I went with Etsy to begin with. It’s at least something I’m familiar with. I’ll be looking at other sites that are more specific to selling prints. 
 I have to say that creating the art was the easy part so far.…

Getimage

Problem Statement 
 Sometimes when I am developing a program or technique, I need an image to load as a background or to do some image processing on, etc. It usually doesn’t matter what the image is, I just need it for testing. 
 My usual workflow up to now: 
 
 Do an image search for something like “cats”. 
 Find an acceptable image that is neither tiny or…

Contours

Background 
 I always have different ideas in the back of my head - techniques that I am aware of and want to implement someday but haven’t gotten around to. Drawing contour lines on some kind of height field has been on that list of ideas for at least a couple of years now. I’ve made some attempts to figure it out on my own, with some level of success, but never really…

2025 Retrospective

Well, here we are at the end of another year. Time to reflect on what went well, what didn’t, what I will do different next time. 
 Creation 
 Yes, I created some stuff… 
 
 Twenty-six posts on this blog. 
 Forty-two posts on https://www.artfromcode.com/ 
 Twenty-four tracks on SoundCloud: https://soundcloud.com/bit101 
 
 Music 
 Let’s start…

Drawing Rotated Shapes

Just a quick one to verbalize a choice I often make but never thought much about. 
 Say you want to draw a 100-pixel line, starting at point A, and extending at an angle of 30 degrees (PI/6 radians). 
 A. You can do it with math. Using trig to find the end point of the line. Here’s some pseudocode, but should work similarly in many systems. 
 context.moveto(pointA.x,…

Simplifying Paths

Background 
 About a year ago I made a post about Evenly Placed Points on Bézier Curves . I’ve found that code to be enormously useful. In fact, recently, I expanded on this concept, so I can go from a list of points that create a path like this… 
 

 to a path made of piecewise quadratic Bézier curves like this… 
 

 to a path of points that…

Runways

I’ve been posting daily coded animations for the past 55 days as of today. You can see my “Octanimate” series in these posts: 
 
 Octanimate Part I 
 Octanimate Part II 
 Octanimate Part II 
 
 And what I’ve been doing in November here: Dailies 
 The latest one of the dailies is here: 
 
 
 Your browser does not support the video…

Daily Coding

I had such a fun time doing Octanimate last month that I just kept going. 
 I didn’t come up with a catchy tag for November, so I’ve just been using #dailycoding on mastodon (others use the tag too). I’m not going to post those on this site, because I’ve also been keeping up with them over here: https://www.artfromcode.com/tags/dailies/ . I don’t know how long…

Octanimate Part III

Day 21:
 
 
 Your browser does not support the video tag.
 
 
 Day 22:
 
 
 Your browser does not support the video tag.
 
 
 Day 23:
 
 
 Your browser does not support the video tag.
 
 
 Day 24:
 
 
 Your browser does not support the video tag.
 
 
 Day 25:
 
 
 Your browser does not…

Octanimate 2025 Part II

To recap, #octanimate is just my personal hashtag for posting an animation every day in October. You can follow me on mastodon if you’re there (you should be there, btw). Or you can just view the entries in a few groups here. A few days ago I posted the first ten entries . Here are the next ten. 
 Day 11:
 
 
 Your browser does not support the video tag.
 
 
 Day…

Proximity Webs Across Point Sets

Background 
 I posted this animation on Mastodon today, as day 21 of Octanimate . 
 
 
 Your browser does not support the video tag.
 

 I didn’t think too much about it, but it got more likes than I expected, and quite a few comments or questions about what exactly was going on there. I threw out a few quick one line answers there but thought it might be worth…

Octanimate 2025 Part I

Over the years I’ve taken part in a number of community projects. Like “7 Days of Code”, “Jamuary”, “Genuary”, etc. And a few I’ve started ad-hoc and wound up getting a decent following on - like “MayContainGifs” and “AuGIF” and something like “JulyIsForGIFs” (or was it “GulyIsForJIFS”?), where people…

Looping Noise

This is a story. A story of laziness and stupidity. But also a story of redemption and victory. 
 It’s about noise. Like Perlin noise or Simplex noise. And making it move. But making it move in a specific way. It’s about the problem, the crappy solution I lived with for too long, the eventual hack I figured out, and finally, the real solution which I knew was there all along but…

Proximity Webs

I don’t think I ever actually wrote about this before, but I decided I probably should. It’s about a technique I call a “proximity web”. It’s something I first did about 23 years ago. I don’t recall seeing anything quite like it before, but I’ve seen it hundreds of times since then. I’ve seen it on posters, billboards, tv shows, movies, many web…

Dictionaries

Growing up, and even into my 20s and 30s I was an avid dictionary user. I was taught how to use them and I always had one or more on hand. Nice thick volumes that had the spelling, the pronunciation, all the different definitions broken into parts of speech, including transitive and intransitive verbs, example usages, and etymology. Maybe even some synonyms or special usage notes if there was…

Migrating away from Github

I am no longer relying on github for code hosting, version control, pages, anything else. I’ve fully moved over to Codeberg . 
 I’m not going to go into the reasons why I moved. Not here at least. If you are interested, I did a write up in my last remaining repository at github: https://github.com/bit101/farewell . 
 TLDR, it’s the whole push on AI there. Multiple angles,…

Remarkable 2

I think my last “review” of the Remarkable was a bit too high level and focused more on strategy decisions the company made that I didn’t agree with. This one will focus more on features. 
 I made a bunch of notes (on the Remarkable) about all the different features I could think of, and whether I thought they were good (and why), OK, or needed some improvement. Here we go!…

Remarkable

Well, I finally did it. I went and got myself a Remarkable 2 eInk tablet. 
 History 
 I’m a big fan of eInk. I got my first Kindle in 2009 and have been doing most of my reading on eInk tablets ever since. After a few Kindles I wanted something a bit larger and was really interested in writing, drawing, sketching on eInk. So I got a Onyx Boox Nova tablet. That device was around 8"…

NAS Part II

In my last post ( I have a NAS! ) I talked about the NAS I created with TrueNAS. This has been fantastic. I wanted to write more because: 
 A. I wrote too much the first time but still didn’t cover everything. 
 B. I’ve done more stuff with it. 
 Catching up 
 In the first post I talked about the initial setup, replacing one of the drives, the apps I installed,…

Command Line Tricks

Just a bunch of useful command line scripts to do various things. These are all prime candidates for aliases. 
 For example, I alias du -d 1 | sort -hr | column -t -R 1 -N Size,Folder -l 2 to dui . The i doesn’t stand for anything, but it’s easy to remember! 
 Find examples 
 Find files by name. 
 Can add -type f or -type d to only look for files or directories. 
…

I Have a NAS!

Background 
 I’ve had some kind of home server / home lab for many years. Probably going back to 2008-ish. Generally this has been just a desktop computer running some Linux distro or another and connected to the internet. For many years, this was just an extra computer I could connect to, try things out, store files I didn’t need on my laptop (it usually had a decent amount of…

Simple Image Sequence Viewer with mpv

A while back I created an app to allow myself to play a sequence of images as a video. I called it isv for “Image Sequence Viewer”. 
 https://bit-101.com/blog/posts/2024-06-28/image-sequence-viewr-isv/ 
 It was decent but it had issues so I kind of stopped using it. But I still have a need for the use case. I’m often rendering an animation as a long sequence of png frames…

POV-Ray

Let’s do 3D for a while! 
 In the past few weeks, I’ve taken a break from making music. I’m sure I’ll get back to it, but I was doing it just about every day for five plus months and I needed to step away. I’ve been thinking about dipping my toes in 3D, so why not follow that path for a bit? 
 I installed Blender and rendered a gray cube, then got overwhelmed…

Robins

Background 
 A few years ago I build a wood shed in my back yard. it’s just an open structure to stack logs in, with a roof to keep out the rain. I made a shelf at the top for storing sticks for kindling. I walk past this shed several times a day - whenever I leave the house or come home. 
 First sighting 
 

 In late April, I was coming back from a dog walk and a bird…

Yamaha Seqtrak

Last week I got a new musical toy - the Yamaha Seqtrak. In this article, I’ll share my feelings about it, along with some unavoidable comparisons to my favorite child, the Dirtywave M8. 
 But first, some background… 
 A few weeks ago I cashed in on a few rewards programs and had some unbudgeted cash to spend. There was no question what I’d spend it on - something synthy.…

FM Synth Chords on the M8 Tracker

I count myself as an M8 noob (and, let’s face it, a music noob too), but the best way for me to learn is to write as if I’m explaining something to someone else. Occasionally someone else might actually wander along and learn something too. Bonus! 
 There are a few ways to create chords on the M8. 
 
 Using multiple tracks - there’s also a trick to automate this…

M8 FM Wavetable Modulation

OK, what the hell is that subject? 
 I’m going to talk about a sound design technique I figured out on the Dirtywave M8 hardware tracker device that can make some cool evolving sounds. 
 Most of what I’m talking about here won’t make a whole lot of sense if you don’t have an M8 device (or the headless version you can set up yourself). But even if you don’t,…

Plex, Navidrome, and Symfonium

Music 
 Like most people, I enjoy listening to music. I’m also a bit older, so most of the music I listen to is not contemporary. I gravitate towards the music I grew up with, and even more these days I have a lot of affection for the music that I heard when I was really young, the stuff that my mother listened to, or was just on the radio or tv, before I was consciously seeking out…

Q1 Update

Just a general update on what’s been happening since my last ramblings. 
 M8 
 Mainly just making music. Still rocking on the DirtyWave M8 . Actually, still on the headless version, which runs on a Teensy 4.1 board plugged into my computer. I did manage to get in on the last M8 order window on February 10! So I have an actual hardware unit coming at some point - though they…

Archive

bit-101.com as a domain went live on September 11, 2001. A couple years later I started a blog. Initially I used Moveable Type (I had to do some digging to remember that) and eventually moved on to WordPress. You can find that here: 
 
 Version 1: 2003 - 2017 
 
 1,236 posts 
 9,861 comments 
 
 
 
 After 14 years, the first version became pretty bloated and a…

Been Making Noise

In my 2024 retrospective I mentioned wanting to create some finished songs and put them out there in the world. And I suspected that the #jamuary project might be a way to do so without worrying about the songs being too polished. “Hey, it’s just a jam!” 
 Well this has worked out well - way beyond what I imagined. To date I’ve put out I think seven (SEVEN) songs! And…

2024 Retrospective

What happened in 2024. A rough guide to things that I remember. 
 
 January
 
 I participated in Genuary . Every day. Made some really cool stuff. 
 I went to Nashville for work. First time. It was fun. 
 
 
 February
 
 I went to Portland, OR to meet my grandson. He was born in September. Also first time in PDX. Neat place. 
 
 
 May
 
…