Gray Ridge

Fri 08 January 2021

This is my first painting in a long while. I used white and black paint only for this which made it easy to mix compatible colors but harder to distinguish different elements on the canvas.

Painting of a snowy ridge with a tree in the foreground

I also practiced a receding ridge line in this painting, as seen previously in Northern California Coast at Night. If you look at any Bob Ross painting you'll notice the hills and mountains are totally perpendicular to the viewer. They never look along a valley or along a ridge or anything like that. This makes them simple to paint but it's really limiting if you want to recreate real places. To make the ridge recede into the distance I used light values in the distance and gradually darkened it coming forward, while also increasing the size and detail of the textures as I worked towards the foreground.

The big tree was originally going to be some kind of evergreen which is why the trunk is so straight.

Previous Posts

Thu 04 July 2019

Autumn Barn with Road
In my first painting in a long time, I revisit the barn with autumn colors theme. I painted this over three days, unlike most of my paintings which I do in one day. This is a bit tricky, since the paint dried between sessions I couldn't blend new details into …

Sat 18 August 2018

Mountain Pond
Here's a pond! I tried a new way of painting trees. Click it for higher resolution. And this animation shows how the painting came together.

Thu 05 July 2018

Northern California Coast at Night
I used some new brushes in this one: a detail round, a small filbert, and a new blender. Lots of new strokes in this one. The dark patch in the sky below the moon has a fun explanation. I rested my pinkie on the canvas while highlighting the moon, and …

Mon 27 November 2017

Midtown Atlanta from Piedmont Park
This is a view of the Midtown Atlanta skyline as viewed from Lake Clara Meer in Piedmont Park. And this animation shows how the painting came together. I painted this in three sessions. First was the background (sky and lake), then the skyline, then the bushes in the foreground. This …

Tue 25 April 2017

Reading Log II
It's been awhile since my last reading log! Here's my thoughts on some of my more recent reading: The Stranger - Albert Camus A short artsy novel, I read Matthew Ward's 1989 translation. The book is stylistically interesting; it consists of lots of short, descriptive sentences from a first person narrator …

Sat 22 April 2017

Hattie's Hollow
This painting is a departure from Bob Ross's wet on wet style. I painted this in four sessions allowing the paint to dry between sessions. This opens up more possibilities for detail, and it'll be fun to explore this further. The subject is Hattie's Hollow in Hanging Dog, North Carolina …

Wed 15 March 2017

Autumn Barn in the Woods
And this is the underpainting layer:

Thu 09 March 2017

Updating a Program from Python 2 to Python 3
I've been working with Python 2 and Python 3 codebases for a couple years now. I write new code in Python 3 and maintain past work written in Python 2, but I've never ported a codebase from two to three. This topic is interesting to me because the 2/3 …

Sun 29 January 2017

High Falls of the Baptism River
This is the High Falls of the Baptism River in northeast Minnesota. This painting was sold for charity, yay!

Sat 24 December 2016

Frosty Mountain Lake
This is the first time I've painted the sun. And here's an animation of how it came together:

Sat 05 November 2016
Sun 02 October 2016

Forest Trail
These close-in paintings are trickier than the huge vistas.

Sat 01 October 2016

rsync and Android
Here's what you need to transfer files to an Android phone over the network using rsync. sshd for Android: SSHelper How to use rsync on a nonstandard port: rsync -rv -e "ssh -p 2222" ~/Music I'm not using the compression flag (-z) because my …

Sat 03 September 2016

Northern California/Oregon Motorcycle Trip
I just got back from a motorcycle camping trip arund northern California and Oregon. The route went from San Francisco, through Sacremento, towards Tahoe, and then north through the Sierreas and Cascades. Here are the photos, click them to view in full resolution. I camped in the Plumas National Forest …

Sat 20 August 2016

Summer Alpine Lake
This is really big canvas! It, along with some of my paintings and art supplies, were used as props in this Udacity course about Heroku.

Thu 18 August 2016

Iterative Tree Traversal, and Simulating Recursion
Students sometimes ask, "what's the point of recursion?" My stock answer is that some problems, like tree traversal, are much easier to solve recursively.1 But what does an iterative tree traversal look like? Let's find out! This is the tree-node I'll be working with (in Python): class Node: def …

Sat 16 April 2016

Rocky Shore
It's an ocean!

Sat 02 April 2016

Cloudy Moonrise
I found an unusually proportioned canvas at the art supply store and made this.

Sun 28 February 2016
Sat 06 February 2016

Spanish Moss
I like the subdued colors of this one. Also the Spanish moss.

Mon 18 January 2016

Wonky Creek
I didn't get the colors right in this one. The goal was to have sunlight peeking around a bend in the creek, but I didn't gradually change the lighting so it didn't work out. Oh well, every painting is practice :)

Sat 21 November 2015

Pasture at Sunset
The details in the grass were fun to paint.

Wed 11 November 2015
Sun 01 November 2015
Sun 27 September 2015

Pond and Barn
The reflection of the red roof in the pond is nice :)

Sun 16 August 2015
Sun 09 August 2015
Sat 01 August 2015

Spiky Lump Mountains
Spiky Lump Mountains, my first painting.

Sun 07 June 2015

Reading Log
I've decided to start logging the books I read and to write brief book reports about them. I think maintaining a log will confer a lot of the same benefits of maintaining a personal library (reflecting on previous reads, showing off) except without the trouble of buying, storing and organizing …

Sun 28 September 2014

Crag Bars
This is my recipe for chewy, calorie dense, high protein food bars (they're like concentrated Clif Bars). These are good for camping or for refueling on really long bike rides. This recipe yields 8-10 bars that have about 500 Calories and 23 g of protein each. The ingredients for one …

Wed 02 July 2014

Square Taper Bottom Bracket Replacement
I've noticed that most bicycle repair guides on the Internet are written by people who know what they're doing. This is probably a good thing, but these resources also tend to assume their readers have some level of background knowledge and basic competence. Since I'm not handicapped by basic competence …

Fri 28 March 2014

Color Cycling
Color cycling is a nifty technique from the days of yore for creating animations. The key idea of color cycling is to modify the color palette an image uses rather than the image itself. Since each pixel on the screen is refers to some color in the palette, it's possible …

Thu 27 February 2014

Bitmap Graphics on the Nintendo DS - Part 2: Mode 3
This is the second post in a two post series on drawing and animating bitmap graphics on the Nintendo DS. The first part is here. The biggest problem with frame buffer mode is that it could only draw on the DS's primary display. To solve that issue we'll need to …

Sat 01 February 2014

Bitmap Graphics on the Nintendo DS - Part 1: Framebuffer mode
This is the first post in a two part series on drawing and animating bitmap graphics on the Nintendo DS. The second part is here. The simplest way to draw graphics on the DS is frame buffer mode. Frame buffer most is the closest analogue to the Game Boy Advance's …

Fri 04 October 2013

Meandering Momentum AI
I wrote an example of basic NPC movement AI for a class I TA. The NPCs chase or flee from the player based on their race (Giant or Pygmy) and their proximity to the player. When they aren't chasing or fleeing they meander about with some sense of purpose/momentum …

Sat 09 March 2013

Urban Exploration
Here's some cool stuff I found. Click the pictures to view the full sized versions. A quarry The downtown skyline and the quarry Big rosemarry bush Some sort of abandoned warehouse/loading bay thing Inside the abandoned warehouse: "The bigital Duder making making Magic Magic Just Because" This mural spans …

Wed 20 February 2013

Linear Recurrence Generator
A sequence whose elements are calculated from earlier elements in the series is a linear recurrence. The Fibonacci sequence (0, 1, 1, 2, 3, 5, …) is an example: With the equation and the first two numbers in the sequence, you can calculate the rest. There are more complicated sequences that …

Sun 27 January 2013

TourStarter 0.5
My most recent project, TourStarter is feature complete! The Adventure Cycling Route Network is a system of scenic and bicycle friendly routes that criss-cross North America. Their maps are great for planning a tour, but how do you get on a route in the first place? That's where TourStarter comes …

Sun 05 August 2012

Silver Comet Tour
Yesterday I finished a three day bicycle tour of the Silver Comet and Chief Ladiga rail trails. The combined trails are a 95 mile paved route between Smyrna, Georgia and Anniston, Alabama. The entire round trip (starting at Georgia Tech in Midtown Atlanta rather than the actual trailhead) was about …

Wed 16 May 2012

Now Featuring Syndication
This site now has an atom feed. Click the nifty icon to subscribe!

Thu 10 May 2012

GitHub Drinkup - Atlanta 5/9/2012
GitHub hosted a drinkup in midtown last night and it was pretty great. Here's the executive summary: Ruby seemed like the most popular language among attendees. The combined forces of the Atlanta Ruby Users Group (who had a meeting a couple blocks down the street just prior to the drinkup …

Thu 10 May 2012

New Site!
I've been wanting to replace my old WordPress blog for awhile, so for the past couple of months I've been writing a static site generator in my spare time. Since perfect is the enemy of good enough I've decided to switch the site over to my generator now even though …

Mon 10 October 2011

Nerd Herder
Nerd Herder is an arcade style game for the Gameboy Advance. Your goal as head TA is to guide your students to their academic destinies. You do this by chasing the best and brightest students to the dorm to study, while driving the less capable to the M-Train¹. At your …

Sun 19 June 2011

Music Histogram
This graph shows the count of songs in my music library by year. The graph was produced from a CSV generated by a Python script that pulls data from iTunes using Apple’s Scripting Bridge technology. Eventually I want to go back and redo the script so that it draws …

Sun 10 October 2010

Hero's Quest
Hero’s Quest is a proof of concept RPG for the Game Boy Advance. It features animated sprites, scrolling backgrounds, music, sound effects, menus, and other functionality. The game is implemented in C. To play the game download the ROM and open it in with a Game Boy Advance emulator …

Sat 01 May 2010

Music Info Avatar Generator
This script reads information about my most recently played song from iTunes, draws it on an image, and uploads it so it can be used online. The script is written in AppleScript and uses iMagine Photo, a lightweight and scriptable image editor, to draw the avatar. The script runs invisibly …