Skip to content


A while back, i was looking for a herbicide to kill those pesky weeds in the interlock and driveway cracks. Boiling water did a good job, but for anything more than a couple small patches, i proved too time consuming. And dangerous, carting boiling water around. Most herbicides are bad for the environment, and usually persons too. I saw at a hardware store one day a large bottle of one for paths. It was about 30$, cheaper than others like Round-up (which is selective and not effective on growing varieties of weeds, and also possibly carcinogenic). What was in the kill-all bottle? Acetic acid. Otherwise known as vinegar. You can pick up the same stuff for less than 4$ for 4L at the grocery.

However, simply spraying this on will not quite lead to the desired effect. The problem is that it doesn’t really stick or get absorbed. A friend told me that it needs a surfactant in order to be effective, but since it isn’t food, there is no regulation requiring the disclosure of additional ingredients on the label.

Some searching online also suggested adding salt to increase the effectiveness. Here’s the current mix i use:

  • 4L pickling vinegar (7% acetic acid)
  • 250 mL fine table salt
  • 15 mL dish soap

Pour all into a large spray bottle, close it, and shake well to mix.

Make sure you buy sprayer labeled “bleach”. Others will break down in the acidic environment.

The mixture is non-selective, but has no residual action. Which means it is good for the environment. But needs to be reapplied as new weeds come out. It will kill any plants covers, and stray sprays may damage foliage unintentionally. It is best to use this in paths and driveways away from the plants you want to grow. It may have unintended side-effects, like the desire to eat fish and chips.

Posted in Garden, Make.

Tagged with , , , .

Book: Make Family Projects for Smart Objects

This book was a pretty quick read. Unless of course you actually make each project, which is sort of the point. It is a good intro to various Arduino and IoT projects for those with beginner and intermediate knowledge. Experts may find it a bit slow, but still helpful if they don’t know particular components.
My rating: 6/10


amazon page
Google Books page

Posted in Books.

Tagged with , , , , .

Book: Idoru

The most interesting thing about this book is that it was written before the internet was popular… that the author predicted both the popularity of a global computer network, the dark web, and AI. If it was written now, the book would be merely futurist fiction. But then, it must have been oddly prescient.
It was a hard start, not having read the first book. But it soon became understandable – – both the characters and the jargon create created for all the futuristic technology and social differences.
The ending was a bit choppy and weak.
My rating: 8/10


amazon page
Google Books page

Posted in Books.

Tagged with , .

Book: Make Edible Inventions

This is really a family book – – for parents and kids. It has many interesting  projects that are food related… but don’t expect much in the way of recipes. The best part is the interesting tidbits of history of foods and food technology.

My rating: 7/10


amazon page
Google Books page

Posted in Books.

Tagged with , , .

ROS on Raspberry Pi

I gave up on trying to set ROS up on Raspbian Lite (instructions)… and instead just used the Ubuntu Mate image:

Raspberry Pi SD-Card Image


Posted in Make, Robotics.

Tagged with , .

Learning ROS

I’ve been learning ROS for the past several weeks. No-so-pro tip: start with their recommended tutorials. Don’t try to start running it under Docker and cross-compiling a multi-computer system.

Make published an article Smooth servo control with ROS. It looks pretty easy… how hard can it be?

Good resources:

Posted in Make, Robotics.

Tagged with , , , , , .

Adafruit servo hat

After some brief struggles with a cheap servo controller, i bought the Adafruit 16-Channel PWM / Servo HAT for Raspberry Pi – Mini Kit from RobotShop. This is easy to setup and works well! And really not much more expensive than the really cheap one.

Tutorial: Adafruit 16-Channel PWM/Servo HAT for Raspberry Pi. Make sure you use the up-to-date code rather than the original mentioned in some of the tutorials… It can be found on GitHub: Adafruit_Python_PCA9685.

The Adafruit controller is pretty basic, but that shouldn’t be a problem with ROS and a major processor backing it. Other servo controllers can remember poses and specify speed and delays… these functions will have to be performed by the main processor. This may pose a design risk, which would result in having to replace the controller with a more expensive and complex one later… but this should get us started easily.

Posted in Make, Robotics.

Tagged with , , , , .

Agent Smart

In a previous post, i looked at OpenFace. Even though it needs “little training data”, this is still way more than one would want to collect manually.

So i’ve begun researching web agents. There seems to be 2 good solutions:

  1. BeautifulSoup – great if the page is agent friendly. Quick and reliable.
  2. Selenium – good if the page attempts to block agents. Is a full web browser and can be used to run scripts, fake cursor movement, scrolling, etc.

Good sample: StackOverflow: Using Python and BeautifulSoup (Saved webpage source codes into a local file)

I’ve hacked up some code that can slurp a bunch of data and put it into a database. It is mostly focused on image / media data, and does some reduction of data by means of content addressed storage using SHA-256 as the ID. It also has a tag system where any content can be tagged, which would normally happen through content identifies. So roughtly:

name * -> 1 ID 1 -> 1 content

tag * -> * content

It turns out that with anything but the most basic data, then KR is a problem that is still heavily researched. After some initial prototyping, i’ve decided to put this on hold for now until we get more physical robotics working. Let me know if you’d like to help out here…

Posted in Make, Robotics.

Tagged with , , , , , , , .

Looking at OpenFace

OpenCV has a good facial detection capability using Haar Cascades. Dlib uses HOG (histogram-of-oriented-gradient) based object detectors, which offers better facial detection than HC at the cost of computational power. Both can point out where faces are in an image. This is a good step, in that it can be used to get the animatronic creature to “look at” a person in front of it.

But what if we want it to identify the person? We can’t get the animatronic character to say “Don’t do this to me Dave!” unless either it can identify Dave or it thinks everyone is named Dave.

OpenFace is used to identify faces. Bonus: it is easy to setup with Docker. It’s less than a  year old at this point, and still pretty powerful and well documented. The gist: OpenFace first morphs the images so the eyes and bottom lips are in standard positions using OpenCV or Dlib. Then it uses a deep neural net to embed it into a 128-dimensional unit hypersphere. It also includes a demo that uses an SVM to classify the vectors.

This approach means that it can be quickly trained with little data compared to using a DNN from scratch. Here “little data” might mean 10 or 20 images of each subject rather than 1000s.


OpenFace on GitHub

Posted in Make, Robotics.

Tagged with , , , , .


One really interesting thing about robotics is to watch persons interact with the robot… but for this, having anthropomorphic qualities is essential. Animatronics is the engineering and art of robotic animation, and has been used for years in the movie industry. The project that we’re embarking on this year is an animatronic creature. Since we aren’t experts, and since we ant to go much further than mere puppetry, i’m anticipating this will be a series of integrated projects that will eventually fit together into one system. Please let me know if you are interested in helping out!

I just finished the Coursera course on Machine Learning. Hopefully, some of the concepts will come in handy for teaching the robot how to behave, and to help learn its behaviour. It’s a great course!


The goal is to create a robot that will interact with one or two humans for entertainment. It will be a creepy creature. The alien appearance and remotely anthropomorphic interactions will hopefully amplify the creepiness. Depending on what we manage to accomplish, it may act like a simple pet or be capable of very simple language. It will sit at a table, thus eliminating problems of power, stability, locomotion, and navigation. It will help to constrain its domain of interactions.


There is also an intro video from the Stan Winston School for Character Arts: how to make an eye mechanism. I haven’t seen the full video yet…

The pair of eyes will be about 2x he size of human eyes: 50mm. These will be 3D printed, and contain about 12 motors and 2-3 cameras.


The tentacles will hopefully each be about the length of an arm, and each controlled by 4 servos. It isn’t clear at the moment whether a heavy grade hobby servo will do, or whether we’d want to make out own servo controllers. Each motor will be responsible for  of 2 degrees of freedom in each of 2 tentacle sections.

There is a really cool set of posts on Hackaday:

  1. Bootup guide
  2. Cable controller
  3. Putting it all together

There is also an intro video from the Stan Winston School for Character Arts: cable basics. I haven’t seen the full video yet…

Posted in Make, Robotics.

Tagged with , , , , , , , .