Copyright 2017-2018 Jason Ross, All Rights Reserved

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.

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.

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

Picture the scene: you’re in charge of a development team at a start-up, and you’re using AWS to provide your infrastructure so that you can expand your capacity as your company grows. Everything is going well until the CFO wanders over and asks you what’s going on with the AWS bill. You assume the CFO is overreacting, so just to keep the them happy you check over the bill, and discover it’s gone pretty quickly from “reasonable” to “tragic”. How did that happen? And how can you fix it, before people start looking at you as a handy cost saving?

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

What Is Docker?

Docker is a system that allows processes to run in self-contained environments called “containers”. These containers are similar to Virtual Machines (VMs), in that you can run a different operating system in them to the one running on the host machine. They differ from VMs because they’re much more “lightweight” than a full VM; instead of installing a complete operating system they use the same Linux kernel as the host server, but with the specific packages for the guest OS in each container.