• submit to reddit
Chase Seibert01/03/14
18707 views
6 replies

Saving for Retirement as a Software Engineer

This is intended as a bare-bones intro to saving for retirement, targeted at software engineers. Ballpark, you make about $100k a year in your 20s. If you want to have that same income in retirement, you need about four million dollars saved up.

Moshe Kaplan01/03/14
10131 views
0 replies

Some More MySQL Tuning

MySQL is designed for lightweight connection creation. Therefore, you may not use connection pooling. However, if you are a connection pooling fan (Java and Ruby devs, please raise your hands), don't forget to configure the MySQL for that:

Cal Evans01/03/14
3096 views
0 replies

What PHP Framework Should I Learn?

I get asked this question every now and then. It recently came up on twitter. To me, this is like a carpenter being asked “Which hammer should I use to build a house?”.

Mitch Pronschinske01/03/14
7665 views
0 replies

The Science of Choosing EC2 Reserved Instances

Learn how to make the best possible decisions for RI purchases, and how to significantly reduce the time needed to make those decisions.

Alec Noller01/03/14
7684 views
0 replies

Why Cassandra is No Good for ETL

According to this recent blog post, Cassandra is no good for ETL. That's not to say that Cassandra is not good at all - the author is a current Cassandra user and has good to say about it - but the author takes issue with the perception of Cassandra as a do-all replacement for something like MySQL.

Ayende Rahien01/02/14
6766 views
0 replies

Transaction merging, locks, background threads and performance

This code is responsible for merging concurrent transactions. It operates using a mutex and conditional variables. And the idea really impressed me when I first saw it.

Ayende Rahien01/02/14
4808 views
0 replies

Machine Bias in Profiler-Based Optimization

Take a look at the following profilers results. They both showcase pretty much the same codebase, without any major changes in between. However, they have been both run on different machines, and they result in very different performance optimization paths.

Mike Cottmeyer01/02/14
8615 views
0 replies

How to Achieve Your New Year’s Resolutions with Agile

We Agile practitioners are probably less thrilled by these New Year’s traditions. We have been desensitized by countless iterations kicking off with commitments and coming to a close with retrospectives. Our cynicism toward a Waterfall approach most likely makes most of us jaded about these end-of-the-year festivities. Or maybe not?

Jeremy Stanton01/02/14
24148 views
5 replies

QA is Dead. Long live QA!

I was recently asked for advice on how to go from two week sprints to one. The conversation was one I've had several times. Client: "We are a scrum shop that has two week sprints. We'd like to release faster. Any suggestions?"

Mark Needham01/02/14
5272 views
0 replies

Neo4j and Cypher: Using MERGE with Schema Indexes/Constraints

Neo4j’s powerful graph database can be used for analytics, recommendation engines, social graphs and many more applications. In the following example we demonstrate in a few steps how you can load Neo4j from your legacy relations SQL source.

John Cook01/01/14
10939 views
1 replies

Know Whether to Delegate

Managing energy is more important than managing time. Energy is what gets things done, and time is only a crude surrogate for energy. Instead of only looking at what you could earn per hour versus what you could hire someone else for per hour, consider the energy it would take you to do something versus the energy it would free to delegate it.

Alec Noller01/01/14
7129 views
0 replies

DRM and W3C Standards: Will the Web Stay Open?

A recent article from Danny O'Brien at the Electronic Frontier Foundation reported that the proposed Encrypted Media Extension (EME), which focuses on the protection of video content, could potentially be incorporated into W3C's HTML5.1 standard.

John Cook01/01/14
6753 views
0 replies

Sensitive Dependence on Initial Conditions

The following problem illustrates how the smallest changes to a problem can have large consequences. As explained at the end of the post, this problem is a little artificial, but it illustrates difficulties that come up in realistic problems.

Rob Galanakis12/31/13
13565 views
3 replies

TDD via Tic-Tac-Toe

I’ve tried out lots of different subject matter for teaching TDD, but my favorite has been Tic-Tac-Toe (or whatever your regional variation of it is). It has these benefits:

Chase Seibert12/31/13
30855 views
10 replies

Development on a Mac versus Linux

I love the Mac computing experience. Even though I use a Mac as my home laptop, I prefer a Linux machine for work. Here are the key differences between developing on a Mac and on Linux.