RAM Upgrade!!!!

Did some hardware work this morning on the FreeNAS box. I’ve added another 8GB DDR3 so I’m now running with headroom (yay!) and a total of 16GB of RAM. Additionally, I swapped the SATA cable connected to my 4TB Toshiba drive (the one giving me CDMA errors) and hopefully that eliminates the SATA communication errors that have been cropping up. FYI, the reallocated sector counts were not that. They were indeed SATA read errors but the way the smartctl display output to my tiny terminal screen made me read it incorrectly.

I’ll look at fixing the automatic update feature on WP since I need to do some updating on the MCO side of things; some good security improvements are being released so I want to run them. First, my own server as a test!

FYI, check out the lack of swap usage in my screenshot (The lack of a red spot on the swap graph!):

No More Swap!
No More Swap!

The Best Spreadsheet Yet

I have corrected some Natural Frequency calculations and applied new-found Motion Ratio information after working through bump/droop travel and empirically measuring the MR in the rear and front of the car.

AbarthSuspensionForm This is version 0.4. I replace all the links by the same name, so you don’t need to necessarily download the sheet from this particular post.

Have fun!

Back to MySQL tuning

Running MySQL Tuner we get:

[!!] Temporary tables created on disk: 65% (640 on disk / 973 total)
Variables to adjust:
tmp_table_size (> 32M)
max_heap_table_size (> 16M)

[OK] InnoDB buffer pool / data size: 128.0M/1.8M
[OK] InnoDB buffer pool instances: 1
[!!] InnoDB Used buffer: 6.45% (528 used/ 8192 total)

I’ll continue tweaking the tmp-table size and double it, whilst I’m here we’re only using 6% of the InnoDB pool so we are pretty safe to cut it into half. Doubling the tmp-table-size should bring the 640 on disk number down by half.

Bug Fix to Minecraft Warden

After deploying the Minecraft Warden to my friend’s server we found some issues with placing it into production. I think I missed a commit->push because the same use-case was working fine on my system. Having said that, there was an issue with how the software would handle the case where the server wasn’t running and should start it up again.

Basically, the code had determined that the system should be started but wouldn’t flow to the place where the startServer() function was called. That has been fixed and has also been working just fine.

Repo Here: Warden Repo

Tire Weather Website

For some time now, I’ve been thinking about building a quick website to help my fellow enthusiasts in Canada to decide on whether or not they should install their high-specification summer tires. So far, this is what I’ll use to represent the idea/basic logic/basic design spec. I think that I’ll be doing this in C# since I am familiar with .NET but I’m pleasantly surprised at just how similar Ruby on Rails is to .NET MVC. Something tells me that it isn’t an accident ;).


– Threshold is 7C
– Outlook is 14 days
– Minimums are used to determine outdoor-overnight parking
– High is used to determine indoor-overnight parking

Location object
– City (String)
– Province (String)
– Country (String)

Parking Object
– Location

Weather Data Object
– City (String)
– Province (String)
– Country (String)

Days Object
– Minimum Temperature (Integer)
– Maximum Temperature (Integer)
– Rain (boolean)

Tire Object
– Class
– Lowest Temperature

UPDATE: Added Tire Object to allow support for different tire classes. Also, cleaned up some of the entities so they are more like a real UML.

BSDCan coming to town and…more MySQL Tuning

The best conference in Ottawa….in my opinion! Check it out, it is very UNIXy and Linuxy: BSDCan 2016.

I see this: [!!] Temporary tables created on disk: 65% (274 on disk / 416 total)

and this: Variables to adjust:
tmp_table_size (> 16M)

And with some reading at the MySQL handbook, I agree with mysqltuner’s recommendations. Based on the number of tables that were written to disk and the system’s memory usage, we are safe to increase the tmp_table_size to 32MB. Let’s adjust that and check back in a few days! Now my tuning settings become:

# My Tuning
thread_cache_size = 4
query-cache-type = 1
query-cache-size = 16M

See you in a few days!

Tuition to Wage Ratio Since 1970.

TuitionToWageRatioInteresting results after trying to actually sift through sources on news articles and reading comments on CBC news sites about inflation, generation this and that. I seriously think that this graph shows it pretty damn clearly. Here, unlike news articles without listed sources, are my sources so you can check my numbers as published by the faculties/universities themselves.

Can we put the rebuttal from a lot of the now older generations claiming that we are “spoiled?” Each generation has its challenges and the populace from each generation is divided differently with regard to income. Not everyone from the boomer generation was rich and not everyone had the same opportunities as everyone else. The same applies to modern times folks.

What do we see?

In 1970, you could work 18.75 hours/week for 4 months (summer vacation) and pay for a year of school. In 2016, you must work 136.85 hours/week for 4 months (summer vacation) to pay for ONE year of school, that’s 19.5 hours/day for those 4 months by the way. That gives you about 4.5 hours of sleep, plenty for a young teen! Spread it out over a year? Sure, that’s 45.62 hours/week for 12 months! See the issue folks? Let’s try to stop pretending that “you had it hard too” because education these days is absolutely and insanely out of reach for middle class children to pay on their own.

The goal here is to show everyone that the numbers are what they are and that it’s an issue for everyone. I think the article written by the CBC was built to hedge Canadian generations against each other and if you read the comments, that is what certainly happened.


  1. http://www.uwo.ca/fhs/ot/about/files/history.pdf
  2. http://welcome.uwo.ca/international/finances/tuition_fees_and_living_expenses.html
  3. http://srv116.services.gc.ca/dimt-wid/sm-mw/rpt2.aspx
  4. http://srv116.services.gc.ca/dimt-wid/sm-mw/rpt3.aspx