Published by Michael de Silva on Thursday, 09 May 2013
For this example I will be taking my Hot Bodies D8T Monster Truggy as an example to base the calculations on. Here are some details
The gear ratio at the centre differential
50T Spur/13T Pinion = 3.85:1 gear ratio
For the front and rear diffs, the axle ratio is
Beveled spur 43T / Spiral pinion 10T = 4.3:1
We can therefore calculate the Final Drive Ratio (FDR)
FDR = (3.85)(4.3) = 16.6:1
Let's now take a look at rollout which is defined as
Rollout is the ratio of how many revolutions of the motor causes the tires to move one inch.
and 1" = 25.4mm
466mm/16.6 = 28mm per motor rev.
28mm/25.4mm = 1.1:1 rollout
I typically run this @ 4S which means 2200kV x 14.8vdc x 0.9 = 29,304 RPM; note that I've compensated for a 10% drop in cell voltage due motor loading, ...(continued)
Today I set about tinkering on an old project involving driving a multiplexed 7-segment display. I will be writing about this in more detail shortly. Here's a snap fr ...(continued)
Here are some of the best posts I've found detailing the process of setting up Python with pip, virtualenv and virtualenvwrapper. I recommend that you read throu ...(continued)
Here are some curated enhancements to boost your vim productivity
Yesterday I found adding the following to the Gemfile
group :development, :test do
gem 'linecache19', '0.5.13'
gem 'ruby-debug-base19', '0.11.26'
gem ' ...(continued)
There are two fantastic resources I came across detailing what's new in Ruby 2.0, the first of which
...(continued)
Update: Interestingly, the first comment I've received via Disqus was from Tomash and he correctly pointed out while this was a nice 'e ...(continued)
Published by Michael de Silva on Saturday, 04 May 2013
Today I set about tinkering on an old project involving driving a multiplexed 7-segment display. I will be writing about this in more detail shortly. Here's a snap from today's session

As for modularising C code, here are some fantastic resources on the topic
Published by Michael de Silva on Monday, 29 April 2013
Here are some of the best posts I've found detailing the process of setting up Python with pip, virtualenv and virtualenvwrapper. I recommend that you read through these first.
My install process is detailed in the following gist
Published by Michael de Silva on Sunday, 07 April 2013
Here are some curated enhancements to boost your vim productivity
vim.This is just one really sexeh theme for vim; grab it here.
Sy shows all added, deleted and modified lines since the last commit via Vim its sign column. It supports several version control systems.
Grab it here.

A much faste ...(continued)
Published by Michael de Silva on Friday, 08 March 2013
Yesterday I found adding the following to the Gemfile
group :development, :test do
gem 'linecache19', '0.5.13'
gem 'ruby-debug-base19', '0.11.26'
gem 'ruby-debug19', :require => 'ruby-debug'
#...
end
...and running bundle install just would not work. The reason is ruby-debug19 is no longer maintained and there's a recommended fork called debugger that works on 1.9.2 and 1.9.3 and installs easily for rvm/rbenv rubies.
However, I wanted to get ruby-debug19 to install and followed the advice of this post on Stackoverflow and created a gist to allow installing this under my particular version of ruby-1.9.3-p327-fast — Gist: Install ruby-debug19 with Falcon patched ruby-1.9.3-p327-fast
### UPDATE: ruby-debug19 is no longer maintained, use https://github.com/cldwalker/debugger
# Install wit ...(continued)
Published by Michael de Silva on Wednesday, 06 March 2013
My First 5 Minutes On A Server; Or, Essential Security for Linux Servers by Bryan Kennedy is a must read. It was featured on HN a couple days back and is a decent check-list of things to cover when setting up a new server/VPS.
Highly recommended!
Published by Michael de Silva on Friday, 01 March 2013
There are two fantastic resources I came across detailing what's new in Ruby 2.0, the first of which
and there's another with many examples that's a bit more verbose.
Installing Ruby 2.0 was quite painless for me; I'm on Mac and have homebrew installed, it's certianly much easier with than without.
rvm get head && rvm install 2.0.0
This should end up spitting any brew related errors; you'll have to install those missing libs and simpy run the command again to compile ruby-2.0.0-p0 from source.
Enjoy!
Published by Michael de Silva on Thursday, 14 February 2013
Late August last year, I joined The Fountain Pen Network (TFPN)'s group page on Facebook — 'Singapore Fountain Pen Lovers'.
About a week or two prior to joining, I was in Singapore and had visited the Aesthetic Bay on Orchard @ ION. I've known about the 'Bay for many years and even popped into their branch at Funan Centre on previous trips, although I wasn't too serious on anything in particular.
In the past, I've seen snaps of beautiful maki-e pieces by Nakaya, Namiki, Danitrio online and thought to myself, 'one day, perhaps I'll get around to one of these...'. Since 2008, my other Japanese fountain pen has been my faithful Sailor Executive 1911 Naginata Togi.
Whilst perusing through the group page, one of the first posts I came across looked similar to this
<img src="https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-a ...(continued)
Published by Michael de Silva on Monday, 11 February 2013
I recently received some inspiration for 'going' electric and decided to perform a conversion on one of my 1/8th scale buggies. I've got two - a Mugen Seiki MBX5 ProSpec and this Kyosho Inferno MP777 which includes many upgrades taking it to a custom SP1.
This conversion is based on the Kyosho Inferno 1/8 Brushless Conversion Kit and the entire process was extremely easy. On the plus side, the MP777 did not require any of the supplied 'washers' during the installation process and meant less things to keep track of during the build.
For this conversion I've chosen a Castle Creations Neu-Castle 1515 1Y 1/8 Brushless Motor (2200Kv). This has a manufactur ...(continued)
Published by Michael de Silva on Saturday, 19 January 2013
DISCLAIMER: The purpose of this post is to discuss certain aspects of app development — not to flame or flame-bait anyone. Your thoughts are welcome as long as they are constructive; do respond in a courteous and professional manner at all times.
I'm hoping to move a discussion that's running on Twitter at the moment into this thread, as I feel we've got past what we can get across in 140 chars.
"Dangers of Turbolinks" kicked off the discussion how Turbolinks in general should not be baked into Rails as 'enabled' by default.
First of all, the there are two primary means of going client-side: (i) your app is entirely in {insert your framework of choice here}JS with the backend app framework simply acting as a Datastore<->JSON API gateway or (ii) your app is (for the continuity of this post) entirely Rails but you serve some DOM areas via instances of Backbone.js as 'widgets'.
Published by Michael de Silva on Saturday, 12 January 2013
A couple days ago, the Rails community was alerted about a serious security concern dubbed CVE-2013-0156 plus CVE-2013-0155. We are focussed on the former, and the impact of the XML parameter parsing vulnerability — both of which have now been patched as long as production applications have been upgraded or workarounds have been added as per the security advisories.
Much of these have already been discussed and dissected ad nausea — see the external links at the end of this post.
CVE-2013-0155 is responsible for patching unsafe query generation via JSON, to prevent bypassing of authentication systems. ActionDispatch::Middleware::ParamsParser supports parsing JSON param ...(continued)