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.

Berkeley AI Materials

The Pac-Man projects were developed for UC Berkeley's introductory artificial intelligence course, CS 188. They apply an array of AI techniques to playing Pac-Man. However, these projects don't focus on building AI for video games. Instead, they teach foundational AI concepts, such as informed state-space search, probabilistic inference, and reinforcement learning. These concepts underly real-world application areas such as natural language processing, computer vision, and robotics.We designed these projects with three goals in mind. The projects allow students to visualize the results of the techniques they implement. They also contain code examples and clear directions, but do not force students to wade through undue amounts of scaffolding. Finally, Pac-Man provides a challenging problem environment that demands creative solutions; real-world AI problems are challenging, and Pac-Man is too.

Berkeley AI Materials

The Tyranny of Stuctureless

Contrary to what we would like to believe, there is no such thing as a structureless group. Any group of people of whatever nature that comes together for any length of time for any purpose will inevitably structure itself in some fashion. The structure may be flexible; it may vary over time; it may evenly or unevenly distribute tasks, power and resources over the members of the group. But it will be formed regardless of the abilities, personalities, or intentions of the people involved. The very fact that we are individuals, with different talents, predispositions, and backgrounds makes this inevitable. Only if we refused to relate or interact on any basis whatsoever could we approximate structurelessness -- and that is not the nature of a human group.

Super Mario World Speed Run

Super Mario World speed run using a pixel perfect item positioning such that their x/y coordinates represented machine code to jump to the credits sequence, and then get the game to jump to that code.

I Know Python... A Bit

Back in 2014 I had the realisation that not every problem was a nail which could be hit with my clumsy php hammer. I needed to find a language which I could use to create desktop applications and settled on python. I'm very glad I did.

My initial apps were basic console based utilities but I quickly found myself wanting to create GUI based tools. I got my head around WXPython and have a couple of apps which I'm proud enough of that I'll let other people use them. Things that I'd always skipped over as being "too pro for me to bother with" such as unit tests, logging, error handling and code re-usability come second nature.

During 2015 I decided I liked python so much I didn't even want to use php for websites any more. I read a bunch of stuff about web frameworks such as django and pyramid but finally settled on flask (well, actually flask appbuilder). I've used this to create a handful of sites which are at a level of complexity that I'd never have even attempted in php.

The next big jump I made was learning about threading so that my GUI based apps were completely non-blocking and gave good feedback to the user about what was happening.

Better yet is that I've got all these things set up in project skeletons which I can quickly build on top of to kick start development of new tools.

My next step is to get my web based python stuff set up using docker, to make it even easier to shift around as required. This docker for beginners guide is my current reading.

!-- image i-know-python-a-bit_1.gif --!

David Bowie dies aged 69

Rock legend David Bowie has died at the age of 69 after an 18-month battle with cancer, according to his son and his official Facebook page."David Bowie died peacefully today surrounded by his family after a courageous 18-month battle with cancer," the statement read."While many of you will share in this loss, we ask that you respect the family's privacy during their time of grief.

Yann Frisch Cup and Balls

I love how this guy incorporates juggling elements in his magic show in a way where you're never quite sure when it's juggling and when it's magic.

Security Guide: How to Protect Your Infrastructure Against the Basic Attacker

Running your infrastructure in a secure configuration is a daunting task even for security professionals. This guide provides practical advice to help engineers build up infrastructure following security best practices so that they can confidently deploy their services to the public Internet and lower their chances of being compromised. This guide specifically targets Linux based systems; however, the best practices apply to all computer systems.