This website is running WordPress on an Amazon EC2 instance.
If I were looking to keep a blog, this is not how I would do things, I’d just use a service. The micro EC2 instance is slow, I have ensure Linux is patched, WordPress is patched, etc… But playing around with the server is as much fun as writing the blog.
Here are a few changes to the site recently:
I run the EFF Privacy Badger on my browser at home, and I couldn’t believe how many trackers were running on my self hosted site, because I don’t track, and I don’t have ads. I dropped the Youtube videos, that got rid of many (I just link to Youtube now instead of embedding). I can’t remember what else I did, but now I’m just down to Google Fonts, used by the template.
The site now defaults to HTTPS. With default settings, Qualys rates the default Ubuntu 18.04 LTS Apache HTTPS setup on this site as an A. Its funny how many important companies struggle to get this right on their sites, given how easy this is.
Recently update the site to Ubuntu 18.04 LTS – the latest version of WordPress didn’t like the version of PHP on the previous LTS version I had been running (not sure what that was). This is the third VM on which this site has been hosted.
I hadn’t been resizing photos and the site got REALLY slow. I’ve resized the largest ones – it’s not painfully slow anymore. I may eventually move the image hosting to S3, but keep the server/DB on EC2 – I expect the site would run faster without increasing costs.
Update October 5th, 2019:
Google Lighthouse ranks the site load speed at 100
Finally got the fonts loading locally with the OMGF WordPress plugin. The site no longer has any external trackers!
I’m on a roll this week – a record number of posts (3 in 7 days…).
The bar code on my library card has been worn out for a while. My last few trips, its probably taken about a minute for me to play around with the positioning of the card on the library’s scanner to get it to read correctly.
The Hispanic Fiesta Latin-American festival descends on Mel Lastman square in North York every labour day weekend. The festival has lots of live music, a beer tent, and food vendors. And every year, I buy a coconut ice pops (“Paletas”/popsicles) from Polar Real Tropical Fruit. They’re awesome, and I never see them sold anywhere else. Perhaps its the ambience of the festival, but I prefer them to other coconut ice pops I’ve tried.
So, I decided to try to make my own. I took a picture of the ingredients and the nutritional information.
Then, looking at the protein, carbohydrate, and fat content of each key ingredients against the nutritional facts of the ice pop, I estimated the proportions of a 150 g serving as follows:
15 g of shredded, sweetened coconut
70 g of 2% milk
2 g of tapioca starch
13 g of sugar
50 g of water
Here’s how mine turned out:
It looks very much like the ones from Polar Real Tropical, but the texture was a little more ice-crystal-y, and it was less sweet. For my next batch, I’ll cook the mixture before freezing it. This should help the sugar dissolve evenly, and allow the tapioca starch to thicken the mixture a bit and improve texture.
After seeing the simple Automatic Fish Feeder on Thingiverse, I immediately ordered the required parts and set about modifying the design for my purposes.
I liked this particular design, as we only have a 2 bettas in 2 bowls, and we need to ensure only a couple of very tiny pellets drop with each feeding. I did want to make a few changes. It was not clear how the motor was controlled in the original design – I wanted to use an optical slot sensor to detect when to start and stop the rotating disc.
With OpenSCAD and Inkscape, I modified the original design. I added slots to the rotating disc, which could be detected by the slot sensor, and modified the support to suit my fish bowl.
Parts and Assembly Notes
9V DC power supply
Optical Slot Sensor (I used an Omron EESX1002-W3A – I just picked one at random from my local electronics store)
It took some code tweaking to get the disc to stop at every hole. I couldn’t control the speed of the motor with pulse width modulation – perhaps because it’s geared, or there was too much friction, it just didn’t move unless I gave it the top speed. I settled moving the disc in small increments, checking the measurement from the slot sensor, repeating until it sensed it was in the right position.
Once built, send a ‘1’ over the serial port to the Arduino, and it will advance the rotating disc to the hole.
My kids are both avid readers, but neither have been good with maintaining a reading log, sometimes requested by their teachers.
I thought if I reduced the effort required to maintain the reading log, they’d be more likely to track the books they read. I created a website where, using a smart phone, they could just take a picture of the bar code on a given book. The website would read the bar code, and make a call to the Google Books API to retrieve the book title and author, and add it to the reading log.
It was used for a month or two, and then the novelty wore off. We’re back to just reading books, as opposed to tracking what we read, which I guess is the important thing anyway.
In the past, I’ve worked with AWS, but I thought I would use the Google Cloud platform for this project to try something different, and now my free trial has expired, so the site is no longer up.
The kids are always drawing characters and writing, and I was wondering – could we use this to make a game together?
It turns out, we can.
I’d guess in about 30 hours, we’ve put together a small world where:
The player can wander around our world
The kids have both drawn characters that appear in the game
My 7 year old has designed a couple of maps
Together with my 7 year old, we have written some dialogue
I figured out how to build out some simple logic, connecting scenes
First, I looked into various game making tools. I ended up using Stencyl, the first one I tried. I checked it out first because the free version is limited only in that it only allows you to publish your game to the web (as opposed to desktop or mobile versions), and, for me, a big bonus was that it runs in Linux.
I was really impressed, and would recommend it to anyone thinking of doing something similar. There is a small library of assets you can use in your game, adding logic is similar to logic blocks in Scratch.
Other small things – usually when I create something, with a little searching, I can usually find answers pretty easily on Stack Exchange. I found it harder to find answers my issues with Stencyl, and spent more time trying different things – I think, largely due to a smaller development community
It wasn’t until we started that I realized how much effort is required to put together the artwork for a game. It is one thing to scan in a drawing of a character, but another to create drawings of the character from every perspective, such that it is animated as it walks across the screen.
My 7 year old recently acquired a fish bowl with a betta fish.
Apparently, the PLA plastic used in 3D printers doesn’t degrade significantly in a fish tank, so I started looking for aquarium decorations we could print. And I came across a design for a fish feeder: https://www.thingiverse.com/thing:1257953
I started modifying it to accommodate our fish bowls. She asked to help out, so I suggested she do a sketch of her design.
Her design has a timer, and uses a suction cup to attach the feeder to the bowl. I was skeptical, but she found a suction cup and demonstrated it would stick to the curved wall of the bowl.
I then set her up with Tinkercad. Here’s the 3D model she made of her design:
Our fish feeder is still a work in progress, we’ll post pictures of our project when it is complete.
The toy consists of a little bird, and a little bird house. The bird house has four activities for the chick. When the chick is placed over one of the play areas, a sound effect is played – the coolest of which was a washroom. You can kind of get the idea from the Mimi World Talkative Chick House Toy review on YouTube (skip to 7 minute mark).
In any case, this was inspiration for a project I thought would be fun for she and I to work on together. Although I knew this wouldn’t be slick, I thought the quickest and easiest way to do this would be:
Use a hall effect (magnet) sensor as a contactless sensor
Install a magnet in a stuffed toy (not suitable for small children!)
Take readings from the sensor with an Arduino
Interpret the readings and play a selection of sound effects on a PC
We took a shoebox, and she built a home for a small stuffed toy, a “Teany Ty” she named Jelly. I cut open the the stuffed toy, and installed a couple of magnets, and sewed it back up. I picked up some hall effect (magnet) sensors from Creatron, and wired it up to an Arduino nano, and installed the sensors in key areas of the home.
I wrote a few lines of Python to read the data from the Arduino, and play back the samples. I’d never used Python before, and had heard about the PyGame libraries for years – I thought it would be rock solid, but even within a minute of play, with my setup, I had issues with MP3 sound effects that others had encountered as well. I converted them to WAV files and that went away.
We had fun picking and recording samples, eating and slurping water into the microphone. Freesound was a great place to look for sounds, though it didn’t quite have the breadth that my daughter was looking for (“I want a recording of a tiger walking on dry leaves”).
The sensor/magnet combination I chose wasn’t quite sensitive enough – the tiny magnet in the stuffed toy had to be really close to the sensor to trigger the sound. It does work, and it was a fun build.
On the Internet, it’s quite easy to find people with similar interests. When I first started thinking about building out a mesh network in my neighborhood, a quick search led me to the Toronto Mesh, a very active group which actively contributes to the global mesh building community. But no active members live near me.
In a smaller area, you might know all of your neighbors, but it would be unlikely that you would find someone with the same interest.
My neighborhood is densely populated – how do I find people who might be interested in dabbling around with a WiFi mesh? First, I reached out to someone that I knew might be interested. This is the best way – we immediately connected our networks, and our mesh grew to two nodes.
Next, I posted to Facebook. Unfortunately, the subset of my Facebook connections in my neighborhood don’t overlap with my technology connections.
I printed a few signs and posted them on some community bulletin boards, which did not generate any response. I decided I would try a small mailing, targeting the apartment and condo units within WiFi range of my unit.
I’ve sent out 47 postcards over the past week – I mailed some to a neighboring building, and hand delivered others, hoping I might get a response from one or two. So far, no such luck. Given the lack of a compelling application, and the attention I pay to all the material we receive in our mailbox, the limited response is not a complete surprise.
I’m not sure what I’ll try next.
My personal brain dump, Opinions, Projects, Toronto