Copyright 2017-2018 Jason Ross, All Rights Reserved

Disappointment at Christmas!
Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

It’s almost Christmas, so you’ve dragged your Christmas tree out of the basement/garage/spare room/shed, where you’ve carefully stored it since last year. You look back fondly on how its lights twinkled, changed colour, flashed, and did all sorts of other Christmas tree light things. Best of all, because your tree uses the QuickConnect system, you didn’t have to worry about putting all those lights on – they’re already on the tree! Aren’t you pleased you spent several hundred dollars and bought a QuickConnect Christmas tree?

So, you set your tree up and plug it in, just waiting for the explosion of light that signals Christmas is almost here and...

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

I'm the only software developer in my family, so obviously I get the best laptop! Well actually that's a lie, I tend to use whichever fancy laptop my employer provides me with for work, and for my personal projects I inherit whichever of the kids' laptops has been most recently replaced.

My latest acquisition is an Acer Aspire E5-532, with 8Gb RAM and a 500Gb hard drive. It originally had a 1Tb hard drive but that died, presumably after being carried around school for several years by my son, so that needed to be replaced. Anyway, it's an improvement over the Toshiba I'm writing this on, so I decided to install Ubuntu on the new (well, ex-PS4 - don't ask!) disk.

This, is my story...

Python Generators

User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active

Many languages have the concept of "generators", structures which can be used to produce, or generate, objects of another type. Normally these objects are returned one after another as some sort of iterable collection.

If all of that sounds a little too vague, let's make it less general: a generator creates and returns a series of values.

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

Have you ever written or used a system that runs perfectly when you test it on your machine, keeps running well through test, but then starts to slow down rapidly when it has to process more data in production?

Does adding more customers cause your system to slow down disproportionately?

When the company CEO stands up at meetings and says “We have x new customers!”, do you smile on the outside, because it's a good thing, but you're also thinking “This is going to cause so many problems!”

If you find yourself asking “Why has this code started to slow down so much?” you're in the right place.

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

Iteration is the process of repeatedly executing the same piece of code, usually on different data. This data can be taken from a collection, file, stream or any other source. A source that allows this is called “iterable”, and the object that allows code to iterate across the collection or source is called an “iterator”.

It all seems straightforward so far; let’s take a closer look.

Benford's Law
Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

We're supplied with data every day, but how do we know whether it's accurate, adjusted, inaccurate, or just made up?

Imagine you're the person that your family and friends turn to whenever they encounter figures, because "you know about this stuff". How do you help them? What if your manager asks you to check whether some data is credible or not? What about the figures the media publish? Is there a way to tell who to trust?

Thankfully there are plenty of ways to get an idea of how credible data is, but one that's fairly easy to start with is one that was discovered in the late 19th century, and formalized in the 20th: Benford's Law.

Package Management
Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

What Is Poetry?

Poetry is a package and dependency manager for Python. It’s a replacement for the default manager, pip, It has a lot of advantages over pip, and it's definitely worth a look.