Archive | Uncategorized RSS feed for this section

Set up thinkfan on Lenovo Thinkpad T430 – Ubuntu 16.04

If you have a Thinkpad T430 you’re probably quite familiar with some of the issues with how the BIOS handles the system fans. Luckily, we have third party utilities for fixing this.

If you’re running Windows, you will want to install tpfancontrol. For the Linux people, you will want to install thinkfan.

I recently installed Ubuntu 16.04 and all the installation guides appear to be out of date so I’d like to document procedure for installing thinkfan on Ubuntu 16.04:

Install the software:

sudo apt-get install lm-sensors

Edit /etc/thinkfan.conf and set up your sensors in the configuration file. The latest version of thinkfan at the time of writing is 0.9.1 and the configuration file has changed a bit. Note the use of “hwmon” instead of “sensor”.

Here is my configuration file – please adjust for your machine. Note: I have a SSD in my machine so I’m not concerned about hard drive temperatures:

hwmon /sys/class/hwmon/hwmon0/temp1_input
tp_fan /proc/acpi/ibm/fan

(0,	0,	60)
(1,	57,	65)
(2,	63,	75)
(3,	72,	80)
(4,	78,	90)
(5,	87,	95)
(7,	92,	32767)

To find out what paths to use for the values above, use the following command:

sudo find /sys/devices -type f -name "temp*_input"

You can add them all in but I’ve chosen to use the “virtual” device which appears to be a summary of the others.

Enable fan control in the thinkfan_acpi kernel module:

sudo echo "options thinkpad_acpi fan_control=1" >> /etc/modprobe.d/thinkpad.conf

You probably need to reboot now.

After a reboot, you should be able to test out your configuration by running thinkfan in no-daemon mode:

sudo thinkfan -n

Once you’re happy with your configuration, you can set thinkfan to start at boot. Ubuntu 16.04 is now using systemd so the command to do this is:

sudo systemctl enable thinkfan.service

Thanks to Ivan at https://ivan.reallusiondesign.com/thinkpad-t430-ubuntu-fan-control/ for most of this. I’m just updating the information for Ubuntu 16.04 and adding my personal configuration.

Comments { 1 }

Twitter Account

If you need to find me on twitter, my new handle is @andrewj_nz

Well, it’s a long story… No, actually, it’s a short story. I was hacked. A note to everyone: Always use strong passwords.

Comments { 0 }

Resources: LINQ / LINQ IQueryable providers

I’m currently taking a deep dive into LINQ and here are the resources I’ve found most valuable:

Expression Trees

A really good introduction to expression trees:

http://blogs.msdn.com/b/charlie/archive/2008/01/31/expression-tree-basics.aspx

IQueryable providers

LINQ: Building an IQueryable provider series:

http://blogs.msdn.com/b/mattwar/archive/2008/11/18/linq-links.aspx

This question on stack overflow has some useful answers:

http://stackoverflow.com/questions/1839901/how-to-wrap-entity-framework-to-intercept-the-linq-expression-just-before-execut

Comments { 0 }

The Making of Warcraft and Starcraft

As a university student during the late 90’s, I spent a considerable amount of time playing Starcraft (and Warcraft but to a lesser extent). To this day I still hold fond memories of weekend long LAN parties, junk food fuelled battles and intense concentration. Ah, those were the days…

Patrick Wyatt (an original team member) has written some very interesting articles about the development of these games:

Comments { 0 }