Don't ask that question

I’ve always been afraid of asking stupid questions. Silly, right? So I usually make sure I’ve done thorough research before asking a question when I get stuck. I also hate not understanding how things work. So I just try to figure them out. You should do the same!

Read more

Measuring software coupling

Coupling is about how objects in your application are connected: which objects depend on which, and how does that affect the entire system’s stability?

An application has tight coupling when a lot of components depend on each other. This should usually be avoided because a change in 1 place can cause issues in any of its dependencies.

So what does coupling tell you about your classes?

Read more

Measuring software complexity

When asked for estimates, you usually don’t have much more than your gut feeling to go on. You just know that this one thing is going to take longer because it’s more fragile than that other thing. But why is that?

People much smarter than me have researched this subject and there are good ways of measuring how complex a piece of code is.

Read more

Cache! A-ah. Saviour of the Universe

Caching is awesome. Instead of repeating an expensive operation, just reuse the result from last time! But properly using cache can be tricky… But there are a couple of things I’d like to not have to deal with:

Read more

Time & timezones

If you’ve ever been far away from someone you want to communicate with, you’ll know how annoying daylight saving times & timezones make it to coordinate time across the world.

You don’t want your users to have to have to reason about that, so you’ll have to make your application do the work for them & display them the time at their location.

Dealing with time isn’t necessarily difficult, you just have to be consistent.

Read more