• submit to reddit
Chase Seibert01/03/14
16090 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
8285 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:

Ayende Rahien01/02/14
5587 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.

Mike Cottmeyer01/02/14
7668 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
21403 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?"

Daniel Bryant01/01/14
6199 views
0 replies

Issues when coding node.js usig IntelliJ IDEA “Unresolved function or method”

I’m currently having a lot of fun experimenting with node.js using IntelliJ IDEA. I installed the node.js plugin, and although this added options to create a new ‘Boilerplate’ or ‘Express’ project, the rest of the node.js integration wasn’t quite so obvious…

John Cook01/01/14
9555 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.

Rob Galanakis12/31/13
11939 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
21645 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.

Vlad Mihalcea12/31/13
10778 views
0 replies

Good vs Bad Leader

Software is more about people than technology. When I graduated from college, I thought I only had to master technical skills to be a great developer, thinking that people skills are the appanage of managers solely.

Gareth Rushgrove12/30/13
7475 views
0 replies

Making the Web Secure, One Unit Test at a Time

Writing automated tests for your code is one of those things that, once you have gotten into it, you never want to see code without tests ever again. Why write pages and pages of documentation about how something should work when you can write tests to show exactly how something does work?

Lukas Eder12/30/13
5290 views
0 replies

The Great SQL Implementation Comparison Page

Fortunately, we have SQL standards. Or do we? It’s a well-known secret (or cynical joke) that the SQL standard is yet another SQL dialect among peers.

Ayende Rahien12/30/13
3508 views
0 replies

Reducing the Cost of Writing to Disk

So, we found out that the major cost of random writes in our tests was actually writing to disk. Writing 500K sequential items resulted in about 300 MB being written. Writing 500K random items resulted in over 2.3 GB being written. So the obvious thing to do would be to use compression

Giorgio Sironi12/27/13
2483 views
0 replies

Stand back, I'm going to try science!

We say it's only a matter of time before quality of life, and life itself, critically depend on software systems. Yet our methods for producing them sometimes resemble wizardry and superstition: in some fields of the software industry, everyone is a Vannoni.

Ofir Nachmani12/27/13
5690 views
0 replies

The Basics of Cloud Capacity

Traditional capacity planning, where new servers were purchased to fulfill the demand of a single application with a load of 20% max, is terminated by cloud computing. The comparison below shows some of the basic differences between the traditional DC and the cloud: