erikars: (Default)
As usual for technical books, you can read my full summary elsewhere.

We wise programmers know that code should be written to minimize dependencies, inject those that are necessary, use interfaces, be tested from the start, etc. etc., and we
always write our new code like that (right?), but our good habits and wisdom don’t matter when working with legacy code. You don’t have the option of going back in time and smacking some sense into the original author (who may have been your younger, more foolish self).

Given that you have to deal with legacy code, how can it be made easier? The fundamental premise of Michael Feathers' Working Effectively With Legacy Code is that you cannot work effectively with code unless it is covered by tests. When working with untested code you must be extremely careful, and even then the results are uncertain.

As a result, the bulk of this book is dedicated to techniques for helping get legacy code under test (specifically, fast running unit tests). Many of the techniques used for working with legacy code are well known testing or refactoring patterns, but Feathers puts them in a new light which highlights some of the special difficulties of working with legacy code. This book is not all about testing, however. Feathers does spend some time talking about techniques for understanding legacy code and discovering where to change it. In fact, those were some of my favorite chapters since I find getting started on understanding complex code bases to be rather intimidating.

Overall, this was a valuable read for anyone who has to understand and change large, confusing, delicate code bases (and what code base that has been around awhile isn’t?). The structure of the book made it repetitive at times, but the value of the contents outweighed the occasional repetition.
erikars: (Default)
Posted with permission from my coworker Patrick.
All magic in software is dark magic.
erikars: (Default)
I have recently been learning about software estimation. My full notes can be found here (let me know if the link does not work. I have never tried to share a Google Doc before.) My summary is a bit long, but then again it is summarizing my 20 pages of notes which are summarizing well over 100 pages of actual text.

The summary version )
erikars: (Default)
Finished Free Software Free Society: selected essays of Richard M. Stallman by Richard M. Stallman with an introduction by Lawrence Lessig. This is a collection of essays and talks given by Stallman over many years. The book is divided into three sections (4 actually, but the 4th is just a reprint of the licences). Section one talks about free software and the gnu project. Section two talks about copyright, copyleft, and patents. Section three talks about freedom, society, and software.

This being a book of Stallman essays, there is much to agree with and much to disagree with. I agree that that sharing is good, that software is increasingly fundamental to society, that DRM is stupid and any given DRM scheme is bound to be defeated, that laws saying DRM cannot be circumvented are harmful and stupid, that copyright is getting way out of hand these days (remember, the fundamental point of copyright is to increase the common good. Money making and the "ownership" of ideas is only a means to an end.), and that most software patents are extremely stupid and should be destroyed.

I do not agree that software should inherently be free, that companies should not have the right to attempt their misguided DRM schemes, or that the name "free software" verses "open source" is such a big deal (although I do get why Stallman thinks it is).

More details )
erikars: (Default)
Ars article on MS adding support for Creative Commons licenses in Office. I think this is an excellent idea, and Microsoft's support of the Creative Commons licenses further discredits the mistaken belief that Creative Commons licenses are anti-copyright. Creative Commons licenses are exactly the opposite. The licenses are about giving copyright owners more power over how others may use their works. The licenses formalize what copyright owners could always do but did not have the knowledge or time to do on a work by work basis.


erikars: (Default)
Erika RS

May 2012

  123 45
2728 293031  


RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 22nd, 2017 12:47 am
Powered by Dreamwidth Studios