Rails reset_column_information

Occasionally when I’m writing a new migration I encounter a strange error where models are not behaving as they should. I usually encounter the problem with large Rails apps that have a long history of migrations.

The symptom of the problem is that a model object returns nil for an attribute even though I have set the attribute and saved the record. When investigating the situation with pry I find that the model is missing a number of fields!

The problem is that the information Rails holds in memory, about the model, has become out of date. You can reset the cache using reset_column_information:

User.reset_column_information
Rails reset_column_information

Swatch

I’ve ditched my apple watch.

I had most of the notifications turned off and it had become a dumb watch. A dump watch that needed charging every night.

It was no longer adding value to my life so I searched for something new.

I found something that had a 2 year batter life and cost just £40. A swatch watch

swatch

Swatch

Sprint Planning, Estimating and Velocity

This post describes the basics of an agile workflow. The focus of agile is to produce working software. Agile involves the end user so that you build the software that they want. Agile adapts to change by dealing with small units of work and not planning too far ahead.

In short, agile avoids the waterfall problem of spending 6 months building a product that nobody wants.

The basis of most agile teams is the sprint. Sprints are typically 1 week or 2 weeks long. In order to start a sprint, a team needs to estimate their work and decide how much of it to put into their sprint.

To do that, we need to talk about sprint planning, estimating and velocity…

Continue reading “Sprint Planning, Estimating and Velocity”

Sprint Planning, Estimating and Velocity