Close

Bob Ross, Pigmented Lullabies, And Wordpress Sucks

There are three parts to this story.  One is about Bob Ross and insomnia.  The other is about traveling and painting.  The third is about how WordPress sucks, or really how WordPress.com does.

Bob Ross and Insomnia

I actually purchased the entire collection of Bob Ross DVDs off eBay a while back.  I think that’s like 30 DVDs or 30 seasons.  I got them because I like watching him paint and following along with a palette knife for fun.  Just a fun Saturday night in the Show household watching Bob and painting.

I (and many other people) have noticed that Bob Ross has a soothing effect on you which makes you fall asleep.  That soothing voice.  That soft scraping and brushing sound.  His laugh every time he bangs the solvent off his brush then gives himself lymphoma by wiping it on his pants.  Just something about watching him puts you to sleep.

But, then I realized this phenomena happens with *every* painting video I watch.  I swear I cannot watch a painting video without passing out.  I have quite a few, as I like to follow along and see if I can replicate their paintings as a way of studying.  They’re just relaxing and enjoyable, but if I’m not trying to follow along then BAM pass out.  Drooling, out, coma, worse than eating a bag of Doritos and 2 tukeys gone.

This gave me an idea….

Plein Air Painting

I travel quite a lot for work or personal activities and one thing I like to do is drag along some kind of painting equipment and do a painting outside.  The fancy French phrase for painting outside is “En Plein Air” and since I’m an American I butcher that into “plain air y’all.”

I love painting outside.  It’s simultaneously relaxing and frustrating to go outside to paint.  It’s relaxing because you’re outside, you get a bit of exercise walking a long distance with your gear and back, you have the sunshine, people come talk to you, and honestly who cares if your painting sucks.

Oh, that’s why it’s frustrating.  It’s damn hard to make anything decent outside as just about everything is stacked against you.  That sunshine?  Better bring sunscreen.  That plain air? Better hope it doesn’t rain.  Those people you talk to? They will talk your ear off for hours.  Eventually I just gave up trying to make something decent and now I just use it to practice and maybe get some ideas for a real painting at home.

But, this added to my idea….

PeerTube Is Awesome

Youtube is the way most people host a video show, but youtube is dangerous if you want to give away free content or to do something in the edge of acceptable.  It’s too easy for an army of idiots to demonitize your content which gives all the money to Youtube and you’re screwed.  In my case, I was reluctant to use youtube because of the constant harassment, their demonitization and censorship policies, and a host of other things they just do plain wrong.  Sure, it’s the cheapest way and you could make some money, but it’s too risky all my hard work would get erased.

Not to mention that if you put 2 in chords of music (which can’t be copyrighted) giant corporations will snag your content and make money off it.  I actually think it is entirely unethical for Youtube to allow companies that are being critiqued by a critic to earn money on the critic’s work.  People who review movies and video games should be allowed to review them as a right of free speech and not have the money go to the company being critiqued.  I’m sure Roger Ebert would be livid if he was told that Sony would get his paycheck for the month because he talked about 2 Sony movies. But that’s Youtube.

Then along came PeerTube which allows you to host your videos but share the load using Webtorrent.  PeerTube gives you a very minimalist Youtube experience and is moderately easy to install.  As usual their instructions aren’t super good but I’m able to setup a PeerTube instance now with Docker in about 10 minutes.

My only complaint about PeerTube is that it is definitely aimed at a Youtube crowd, so doing it as a vlog or similar journal wouldn’t work too well.  I have however had success at embedding videos right into a WordPress like I did with this post for my refactoring course I teach online. Really simple to embed videos and also get the webtorrent functionality, so I’m happy with it.  I can use PeerTube for videos and embed them into a blog….except….

WordPress Sucks

This blog you’re reading now is hosted on WordPress.com and you cannot embed a damn thing here.  They want to push you toward their shitty and expensive video service so they block any attempts to embed custom HTML.  I’m sure they have some dipshit lame reason with something like security, but it’s really all about making me pay for their video service.

But, I’m also kind of tired of WordPress in general.  I started using it to just test out what it’s like to try to use it and, while it works, it isn’t nearly as polished and capable as people claim.  It’s also expensive to run either from them or from yourself  where it requires a decent amount of hardware just to basically serve static files.  The inability to embed PeerTube on wordpress.com while being able to do it on a wordpress I host is the last straw.

Going forward, I plan on doing videos instead of writing, and I’m hosting them myself with PeerTube and possibly VuePress.  I have to say that usually people who make blog generators totally screw it up.  I tried Hugo and it was a total nightmare brainfuck of figuring out where things went in some bizarro world where the template controlled how my documents were laid out and deviating from your typical blog format was nearly impossible.

But so far VuePress ends up being pretty easy to use, works mostly as expected, is easy to extend and alter, and produces a cheap easy to run featureful static website that’s modern.  I also feel that VuePress is a gateway drug to using Vue.  I think if the Vue project showed how to take a VuePress site and then use that to make a working product they’d have some great docs and a great way to get people to use Vue itself.

Oh yeah, that idea….

Pigmented Lullabies

I realized that I travel to a lot of really great places.  Hawaii, Miami, San Francisco, Chicago, Seattle, Portland, Washington DC, and even more before I started painting.  In that time I had this idea to chronicle or record what I was doing.  I wasn’t making great paintings outside, but it was a lot of fun and I figured other people might enjoy it.

I also remembered that watching someone else paint is very soothing and relaxing, causing even the worst insomniacs to fall asleep quickly.  I should know since I am very happily an insomniac.  I love waking up at 3am and just getting up to go work.  But sometimes I want to sleep so I put on a painting video and I’m out in no time.

It took me a very long time to figure out all the particulars of recording video and editing it in Davinci Resolve (which could be an entire course on its own), but I’ve now been able to produce 5 videos (a total of about 7 hours of content) and host them myself at ZedShaw.art.  You can see me getting better at editing the videos and if you watch my most recent one in San Francisco at Ocean Beach you’ll see the majority of the features I want in the video.

This is so much fun and so easy that I’m going to be converting this blog into mostly video content.  I’ll have an announcement about that in the near future, but honestly I’d rather spend my time writing for books than blogging, and making videos is now easier for me than writing a blog post.

Better Than A Rubber Ducky

My final idea about my painting videos is that it might help you figure out bugs.  Let’s say you can’t solve a bug in your code.  One trick is to talk to a rubber ducky and explain the problem.  Another is to find a way to relax.  I like to paint.  Or go for a walk.  Then I usually get the answer.

If you’re stuck on a bug, then I’m curious if watching me paint will help you out.  The videos are fairly quiet, usually with random street noise or a soothing ocean wave sound, and maybe a little talking.  I imagine you could just turn it on and leave it running while you code, and when you get stuck or need a break just watch it to chill out.

Let me know if that works.

Random Code Editor Idea

When I teach people to code I give them this simple procedure to follow:

1. Write the skeleton of the function.
2. Write comments in English describing what that function should do.
3. Under each comment fill in the code necessary to make it work.

This procedure works for early programmers because they typically know how to write code, and know what they want it to do, but the gap between what they want and what to write is fairly large. They don’t have enough experience to close the gap, but since they can describe what they want the function to do then that’s their start.

I find that starting with desired results works best for beginners and early coders. Everyone uses a computer these days and know how software should work. They can describe what they want their software to do much more easily than they can write code, so starting there gets them going. Eventually after coding for a while they switch to thinking entirely in code, but even to this day when I can’t quite think of the code to write, I start with the comments and fill them in.

If I throw in testing into the teaching (usually when they’re more capable), then the procedure becomes a little more complex:

1. Write the skeleton of the function.
2. Write the test and first call of the function making it fail.
3. Write the comments in the function for what it should do.
4. Fill in the comments with code and keep expanding and running the test.

Yet, the process is still the same and focuses on describing what I want and then filling in the blanks. In writing this is the same process I tell beginning writers. Just talk out loud and say what you want to say, writing those as little notes, then fill in the paragraphs. Or, create an outline then fill it in. Same for painting, where I tell people to make a rough outline of what they want to paint, then figure out each piece of the outline.

In general, the way you can solve a complex problem that’s difficult to visualize in any medium (code, words, paint, music, etc.) is to convert the problem to a paint-by-numbers problem. Instead of just trying to do it all at once right in your head and get it right, you break it down into tiny problems, then solve each one.

What if code editors helped with this process specifically? What I mean is, imagine your process becomes this:

1. Write the test or the function skeleton, doesn’t matter, and the editor makes the other one.
2. Go into the function, and start writing comments.
3. Editor guesses at what should go there and puts it under your comment, and it keeps running the test as you type.
4. You then edit the code as it pops in, or maybe alternate through what comes up, and it keeps running and working the test to bust your function.
5. Eventually the test passes and it knows to move on to the next comment.

It’s difficult to describe, but a way to think of it is a hyper embedded version of what programmers seem to do these days anyway, which is just search through Stack Overflow, documentation, APIs, and github using most of the words you’d put into a comment to find code. Why not have the editor use fancy machine learning algorithms and a vast catalog of existing curated code to do this for you?

In addition to that, it seems possible to auto-generate enough test code to fuzz through most of what you write, especially if the language is more modern. Maybe it’s something like AFL generating tests that hammer your function finding things, and since it’s generating the code in the function it’s possible it could be smarter at this.

Just a random idea, but could be an interesting thing to research. Call it “Comment Driven Coding” for lack of a better name.