Hi, I'm Fuzzy.

This site, Fuzzy's Logic, is a dumping ground for things I find interesting. If you're looking for content I've personally generated you might want to head directly to one of my other sites:

Hi, I'm Fuzzy.

Clean install of Windows 10

Windows 10 is an unusual release for Microsoft: if you have a licensed version of Windows 7 or 8/8.1, it will very easily upgrade to Windows 10--you don't even need to enter a licence key. Clean installations, however, are a bit trickier: you do need to enter a licence key, and your Windows 7/8 key probably won't work. Fortunately, if you're running Windows 7 or 8, and you really want to use your free Windows 10 licence key to perform a clean installation rather than upgrade, there is a solution. It's pretty convoluted, but it works.

Baby Smash!

As babies smash on the keyboard, colored shapes, letters and numbers appear on the screen. Baby Smash will lock out the Windows Key, as well as Ctrl-Esc and Alt-Tab so your baby can't get out of the application. Pressing ALT-F4 will exit the application and Shift-Ctrl-Alt-O brings up the options dialog. I'm always interested in your

Fantasy Formula 1

I'm a huge fan of Formula 1 racing.

For the past few seasons myself and my other F1 loving friends have taken part in F1 Fantasy Leagues. The problem is that they've come and gone and each seemed to have a variety of issues; generally around the scoring or transfer systems.

During the current 2015 season I decided that I wanted to take a stab at creating a system to use for next years season. A personal project with a deadline! Oh my.

The objective is to create a system which the players have to balance two goals:

1) increase their teams bankroll
2) have their selected drivers earn as many championship points as possible

To explain the bankroll idea; at the start of the season each player will be given X millions of in-game dollars. Up until qualifying of each race weekend players are able to select the two drivers who will make up their team for the weekend. After the race the value of each driver is re-evaluated based on their performance in qualifying and the race (with qualifying result having a lesser weight).

The resulting value of the player's selected drivers (in addition to any left over money from their bankroll) becomes the player's new bankroll going into the next race weekend.

Secondary to simply trying to predict which drivers are currently under valued the players will need to be selecting drivers who will be scoring points in the Formula 1 drivers championship.

It will be the combination of these two goals which the players will need to balance. Do you select drivers who you think have the best chance of gaining in value, even though they may not be winning big championship points?

I've already made progress on the system I'll use to collect results and the logic behind updating driver values.

Here's an example (the change column displays the change in driver value from the most recent round at Silverstone):

Driver TLA # Initial Current Change
Lewis Hamilton HAM 44 50.00 48.04 0.29
Nico Rosberg ROS 6 48.00 44.85 -0.23
Sebastian Vettel VET 5 40.00 34.69 -0.94
Kimi Räikkönen RAI 7 35.00 26.84 -0.79
Valtteri Bottas BOT 77 31.00 26.41 0.08
Felipe Massa MAS 19 30.00 24.79 0.74
Daniel Ricciardo RIC 3 25.00 20.49 -0.24
Romain Grosjean GRO 8 24.00 19.27 -0.27
Daniil Kvyat KVY 26 15.00 18.55 0.49
Pastor Maldonado MAL 13 20.00 16.87 -0.26
Carlos Sainz SAI 55 16.00 16.47 0.26
Max Verstappen VES 33 15.00 16.05 -0.07
Felipe Nasr NAS 12 15.00 14.66 -0.23
Nico Hulkenberg HUL 27 2.50 14.07 0.80
Sergio Perez PER 11 2.50 13.14 0.39
Marcus Ericsson ERI 9 13.00 12.89 -0.27
Fernando Alonso ALO 14 3.50 10.31 0.08
Jenson Button BUT 22 3.00 8.22 -0.16
Kevin Magnussen MAG 20 3.00 2.03 0
Will Stevens STE 28 1.00 1.12 -0.15
Roberto Merhi MER 98 1.00 0.62 0.03

I'm still tweaking the value logic, as it appears that it is rewarding the lower drivers too much and punishing the higher drivers too hard. I'm already exempting drivers from having their value adjusted after a DNF.

With the basics of the backend up and running my initial instinct was to put together a simple php based web front end for the users to manage their teams and display the results. However it dawned on me that this is the perfect opportunity to mess around with Flask; a python based web framework. I've had this on my radar for a while now and it seemed silly to switch languages between front and backend, when I'm sure at some stage there will be code cross over.

My progress on this front has been pretty rapid. I've set up a dev environment;

  • An Ubuntu 14.04 server running in a VirtualBox VM

  • Postgres for the DB

  • I used Flask-Appbuilder to kickstart everything, very impressed

  • I've then built a setup.py which allowed me to get all the python modules required by the backend installed

Next up I'll get the backend running in this environment. I plan on hacking together a script which will take information from f1calendar.com to build a schedule of cron jobs so the system will automatically collect the results after each race weekend. This weekend's Hungarian GP will be a great test of this.

Once I've got some data in my dev environment database I'll then work on setting up views to display the results of each round and the changes in values of the drivers.

After that it'll be done to working on the system the users will use to select drivers for each round. My idea is to allow users to make changes to their teams before every round (obviously limited by their current team bankroll). Then it'll be a matter of balancing how much each player has as an opening bankroll.

Data Organisation and Visualisation (KIT102)

This unit will explain the relationship between data, information and knowledge and introduce a number of different tools for managing, storing, securing, modelling, visualizing and analysing data. This unit will provide an understanding of how data can be manipulated to meet the information needs of users. Changing data into information can be accomplished with a range of tools, including XML, SQL, spread sheeting and data visualisation. Emphasis will be placed upon using the tools to match the information-seeking behaviour of users. This unit introduces the techniques to enable the students to use these tools for managing data, creating information and allowing knowledge development. Overarching the whole unit is the importance of data security and how it can be achieved. This unit concludes by introducing the concepts behind managing big data in response to global trends of capturing all available data due to inexpensive storage.

Data Analytics (KIT306)

In today's world, the prevalent use of technology and automation have resulted in an explosion in the quantity of data, often referred to as "big data", accumulated by business and by researchers. Data warehouses have been used to set up repositories for this big data. Data is seen as a critical asset for decision-making. Raw data, however, is of little value. In order to obtain insights from this big data analytical techniques are required to turn the data in the repositories into knowledge, by extracting information and identifying patterns, upon which actions can be taken. This unit will help students appreciate the value of using business intelligence tools, data mining techniques and information visualisation methods for the analysis of big data. In this unit students will explore the concepts and technology of business intelligence and experience designing and building business intelligence systems. Students will also gain an understanding of various methods and techniques and applications for data mining. Students will also investigate information visualization tools and techniques to represent the big data in forms that more readily convey embedded information. Students will gain an understanding of the major research issues in the area of big data.