# products

image_url: /images/auto.jpg
created_at: 2010-04-17 17:51:31
updated_at: 2010-04-17 17:51:31
title: Pragmatic Project Automation
description:
  <p>
         <em>Pragmatic Project Automation</em> shows you how to improve the 
         consistency and repeatability of your project's procedures using 
         automation to reduce risk and errors.
        </p>
        <p>
          Simply put, we're going to put this thing called a computer to work 
          for you doing the mundane (but important) project stuff. That means 
          you'll have more time and energy to do the really 
          exciting---and difficult---stuff, like writing quality code.
        </p>


image_url: /images/svn.jpg
created_at: 2010-04-17 17:51:31
updated_at: 2010-04-17 17:51:31
title: Pragmatic Version Control
description:
  <p>
           This book is a recipe-based approach to using Subversion that will 
           get you up and running quickly---and correctly. All projects need
           version control: it's a foundational piece of any project's 
           infrastructure. Yet half of all project teams in the U.S. don't use
           any version control at all. Many others don't use it well, and end 
           up experiencing time-consuming problems.
        </p>


image_url: /images/utc.jpg
created_at: 2010-04-17 17:51:31
updated_at: 2010-04-17 17:51:31
title: Pragmatic Unit Testing (C#)
description:
  <p>
          Pragmatic programmers use feedback to drive their development and 
          personal processes. The most valuable feedback you can get while 
          coding comes from unit testing.
        </p>
        <p>
          Without good tests in place, coding can become a frustrating game of 
          "whack-a-mole." That's the carnival game where the player strikes at a 
          mechanical mole; it retreats and another mole pops up on the opposite side 
          of the field. The moles pop up and down so fast that you end up flailing 
          your mallet helplessly as the moles continue to pop up where you least 
          expect them.
        </p>


# sessions

created_at: 2010-04-17 20:48:46
updated_at: 2010-04-17 21:08:15
session_id:
  BAh7BzoMY3NyZl9pZCIlMTlkNTcwZmQ5ODkwM2E1NGJkZDExMjg2ZTcwOTU4ZTciCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhhc2h7AAY6CkB1c2VkewA=--101badc6dc2109696f63ad7fe0051aa8c57fe232

data:
  BAh7BzoJY2FydG86CUNhcnQGOgtAaXRlbXNbCG86DUNhcnRJdGVtBzoOQHF1
  YW50aXR5aQg6DUBwcm9kdWN0bzoMUHJvZHVjdAc6FkBhdHRyaWJ1dGVzX2Nh
  Y2hlewA6EEBhdHRyaWJ1dGVzewwiCnByaWNlIgoyOS45NSIPY3JlYXRlZF9h
  dCIYMjAxMC0wNC0xNyAxNzo1MTozMSIKdGl0bGUiIVByYWdtYXRpYyBQcm9q
  ZWN0IEF1dG9tYXRpb24iDmltYWdlX3VybCIVL2ltYWdlcy9hdXRvLmpwZyIP
  dXBkYXRlZF9hdCIYMjAxMC0wNC0xNyAxNzo1MTozMSIHaWQiBjUiEGRlc2Ny
  aXB0aW9uIgL+ATxwPgogICAgICAgPGVtPlByYWdtYXRpYyBQcm9qZWN0IEF1
  dG9tYXRpb248L2VtPiBzaG93cyB5b3UgaG93IHRvIGltcHJvdmUgdGhlIAog
  ICAgICAgY29uc2lzdGVuY3kgYW5kIHJlcGVhdGFiaWxpdHkgb2YgeW91ciBw
  cm9qZWN0J3MgcHJvY2VkdXJlcyB1c2luZyAKICAgICAgIGF1dG9tYXRpb24g
  dG8gcmVkdWNlIHJpc2sgYW5kIGVycm9ycy4KICAgICAgPC9wPgogICAgICA8
  cD4KICAgICAgICBTaW1wbHkgcHV0LCB3ZSdyZSBnb2luZyB0byBwdXQgdGhp
  cyB0aGluZyBjYWxsZWQgYSBjb21wdXRlciB0byB3b3JrIAogICAgICAgIGZv
  ciB5b3UgZG9pbmcgdGhlIG11bmRhbmUgKGJ1dCBpbXBvcnRhbnQpIHByb2pl
  Y3Qgc3R1ZmYuIFRoYXQgbWVhbnMgCiAgICAgICAgeW91J2xsIGhhdmUgbW9y
  ZSB0aW1lIGFuZCBlbmVyZ3kgdG8gZG8gdGhlIHJlYWxseSAKICAgICAgICBl
  eGNpdGluZy0tLWFuZCBkaWZmaWN1bHQtLS1zdHVmZiwgbGlrZSB3cml0aW5n
  IHF1YWxpdHkgY29kZS4KICAgICAgPC9wPm87CAc7CWkGOwpvOwsHOwx7ADsN
  ewwiCnByaWNlIgoyNy43NSIPY3JlYXRlZF9hdCIYMjAxMC0wNC0xNyAxNzo1
  MTozMSIKdGl0bGUiIFByYWdtYXRpYyBVbml0IFRlc3RpbmcgKEMjKSIOaW1h
  Z2VfdXJsIhQvaW1hZ2VzL3V0Yy5qcGciD3VwZGF0ZWRfYXQiGDIwMTAtMDQt
  MTcgMTc6NTE6MzEiB2lkIgY3IhBkZXNjcmlwdGlvbiICiQI8cD4KICAgICAg
  ICBQcmFnbWF0aWMgcHJvZ3JhbW1lcnMgdXNlIGZlZWRiYWNrIHRvIGRyaXZl
  IHRoZWlyIGRldmVsb3BtZW50IGFuZCAKICAgICAgICBwZXJzb25hbCBwcm9j
  ZXNzZXMuIFRoZSBtb3N0IHZhbHVhYmxlIGZlZWRiYWNrIHlvdSBjYW4gZ2V0
  IHdoaWxlIAogICAgICAgIGNvZGluZyBjb21lcyBmcm9tIHVuaXQgdGVzdGlu
  Zy4KICAgICAgPC9wPgogICAgICA8cD4KICAgICAgICBXaXRob3V0IGdvb2Qg
  dGVzdHMgaW4gcGxhY2UsIGNvZGluZyBjYW4gYmVjb21lIGEgZnJ1c3RyYXRp
  bmcgZ2FtZSBvZiAKICAgICAgICAid2hhY2stYS1tb2xlLiIgVGhhdCdzIHRo
  ZSBjYXJuaXZhbCBnYW1lIHdoZXJlIHRoZSBwbGF5ZXIgc3RyaWtlcyBhdCBh
  IAogICAgICAgIG1lY2hhbmljYWwgbW9sZTsgaXQgcmV0cmVhdHMgYW5kIGFu
  b3RoZXIgbW9sZSBwb3BzIHVwIG9uIHRoZSBvcHBvc2l0ZSBzaWRlIAogICAg
  ICAgIG9mIHRoZSBmaWVsZC4gVGhlIG1vbGVzIHBvcCB1cCBhbmQgZG93biBz
  byBmYXN0IHRoYXQgeW91IGVuZCB1cCBmbGFpbGluZyAKICAgICAgICB5b3Vy
  IG1hbGxldCBoZWxwbGVzc2x5IGFzIHRoZSBtb2xlcyBjb250aW51ZSB0byBw
  b3AgdXAgd2hlcmUgeW91IGxlYXN0IAogICAgICAgIGV4cGVjdCB0aGVtLgog
  ICAgICA8L3A+bzsIBzsJaQc7Cm87Cwc7DHsAOw17DCIKcHJpY2UiCTI4LjUi
  D2NyZWF0ZWRfYXQiGDIwMTAtMDQtMTcgMTc6NTE6MzEiDmltYWdlX3VybCIU
  L2ltYWdlcy9zdm4uanBnIgp0aXRsZSIeUHJhZ21hdGljIFZlcnNpb24gQ29u
  dHJvbCIPdXBkYXRlZF9hdCIYMjAxMC0wNC0xNyAxNzo1MTozMSIHaWQiBjYi
  EGRlc2NyaXB0aW9uIgK4ATxwPgogICAgICAgICBUaGlzIGJvb2sgaXMgYSBy
  ZWNpcGUtYmFzZWQgYXBwcm9hY2ggdG8gdXNpbmcgU3VidmVyc2lvbiB0aGF0
  IHdpbGwgCiAgICAgICAgIGdldCB5b3UgdXAgYW5kIHJ1bm5pbmcgcXVpY2ts
  eS0tLWFuZCBjb3JyZWN0bHkuIEFsbCBwcm9qZWN0cyBuZWVkCiAgICAgICAg
  IHZlcnNpb24gY29udHJvbDogaXQncyBhIGZvdW5kYXRpb25hbCBwaWVjZSBv
  ZiBhbnkgcHJvamVjdCdzIAogICAgICAgICBpbmZyYXN0cnVjdHVyZS4gWWV0
  IGhhbGYgb2YgYWxsIHByb2plY3QgdGVhbXMgaW4gdGhlIFUuUy4gZG9uJ3Qg
  dXNlCiAgICAgICAgIGFueSB2ZXJzaW9uIGNvbnRyb2wgYXQgYWxsLiBNYW55
  IG90aGVycyBkb24ndCB1c2UgaXQgd2VsbCwgYW5kIGVuZCAKICAgICAgICAg
  dXAgZXhwZXJpZW5jaW5nIHRpbWUtY29uc3VtaW5nIHByb2JsZW1zLgogICAg
  ICA8L3A+IgpmbGFzaElDOidBY3Rpb25Db250cm9sbGVyOjpGbGFzaDo6Rmxh
  c2hIYXNoewAGOgpAdXNlZHsA


session_id: 4528e5e235b09453fa90c70757004309
created_at: 2010-04-20 09:38:27
updated_at: 2010-04-20 10:51:49
data:
  BAh7CDoJY2FydG86CUNhcnQGOgtAaXRlbXNbBm86DUNhcnRJdGVtBzoOQHF1
  YW50aXR5aQY6DUBwcm9kdWN0bzoMUHJvZHVjdAc6FkBhdHRyaWJ1dGVzX2Nh
  Y2hlewA6EEBhdHRyaWJ1dGVzewwiCnByaWNlIgoyOS45NSIPY3JlYXRlZF9h
  dCIYMjAxMC0wNC0xNyAxNzo1MTozMSIKdGl0bGUiIVByYWdtYXRpYyBQcm9q
  ZWN0IEF1dG9tYXRpb24iDmltYWdlX3VybCIVL2ltYWdlcy9hdXRvLmpwZyIP
  dXBkYXRlZF9hdCIYMjAxMC0wNC0xNyAxNzo1MTozMSIHaWQiBjUiEGRlc2Ny
  aXB0aW9uIgL+ATxwPgogICAgICAgPGVtPlByYWdtYXRpYyBQcm9qZWN0IEF1
  dG9tYXRpb248L2VtPiBzaG93cyB5b3UgaG93IHRvIGltcHJvdmUgdGhlIAog
  ICAgICAgY29uc2lzdGVuY3kgYW5kIHJlcGVhdGFiaWxpdHkgb2YgeW91ciBw
  cm9qZWN0J3MgcHJvY2VkdXJlcyB1c2luZyAKICAgICAgIGF1dG9tYXRpb24g
  dG8gcmVkdWNlIHJpc2sgYW5kIGVycm9ycy4KICAgICAgPC9wPgogICAgICA8
  cD4KICAgICAgICBTaW1wbHkgcHV0LCB3ZSdyZSBnb2luZyB0byBwdXQgdGhp
  cyB0aGluZyBjYWxsZWQgYSBjb21wdXRlciB0byB3b3JrIAogICAgICAgIGZv
  ciB5b3UgZG9pbmcgdGhlIG11bmRhbmUgKGJ1dCBpbXBvcnRhbnQpIHByb2pl
  Y3Qgc3R1ZmYuIFRoYXQgbWVhbnMgCiAgICAgICAgeW91J2xsIGhhdmUgbW9y
  ZSB0aW1lIGFuZCBlbmVyZ3kgdG8gZG8gdGhlIHJlYWxseSAKICAgICAgICBl
  eGNpdGluZy0tLWFuZCBkaWZmaWN1bHQtLS1zdHVmZiwgbGlrZSB3cml0aW5n
  IHF1YWxpdHkgY29kZS4KICAgICAgPC9wPjoMY291bnRlcmkfIgpmbGFzaElD
  OidBY3Rpb25Db250cm9sbGVyOjpGbGFzaDo6Rmxhc2hIYXNoewAGOgpAdXNl
  ZHsA


session_id: 39882612c30118554e6421111cb1114c
created_at: 2010-04-21 10:01:49
updated_at: 2010-04-21 11:10:11
data:
  BAh7CDoJY2FydG86CUNhcnQGOgtAaXRlbXNbCG86DUNhcnRJdGVtBzoOQHF1
  YW50aXR5aQY6DUBwcm9kdWN0bzoMUHJvZHVjdAc6FkBhdHRyaWJ1dGVzX2Nh
  Y2hlewA6EEBhdHRyaWJ1dGVzewwiCnByaWNlIgoyOS45NSIPY3JlYXRlZF9h
  dCIYMjAxMC0wNC0xNyAxNzo1MTozMSIKdGl0bGUiIVByYWdtYXRpYyBQcm9q
  ZWN0IEF1dG9tYXRpb24iDmltYWdlX3VybCIVL2ltYWdlcy9hdXRvLmpwZyIP
  dXBkYXRlZF9hdCIYMjAxMC0wNC0xNyAxNzo1MTozMSIHaWQiBjUiEGRlc2Ny
  aXB0aW9uIgL+ATxwPgogICAgICAgPGVtPlByYWdtYXRpYyBQcm9qZWN0IEF1
  dG9tYXRpb248L2VtPiBzaG93cyB5b3UgaG93IHRvIGltcHJvdmUgdGhlIAog
  ICAgICAgY29uc2lzdGVuY3kgYW5kIHJlcGVhdGFiaWxpdHkgb2YgeW91ciBw
  cm9qZWN0J3MgcHJvY2VkdXJlcyB1c2luZyAKICAgICAgIGF1dG9tYXRpb24g
  dG8gcmVkdWNlIHJpc2sgYW5kIGVycm9ycy4KICAgICAgPC9wPgogICAgICA8
  cD4KICAgICAgICBTaW1wbHkgcHV0LCB3ZSdyZSBnb2luZyB0byBwdXQgdGhp
  cyB0aGluZyBjYWxsZWQgYSBjb21wdXRlciB0byB3b3JrIAogICAgICAgIGZv
  ciB5b3UgZG9pbmcgdGhlIG11bmRhbmUgKGJ1dCBpbXBvcnRhbnQpIHByb2pl
  Y3Qgc3R1ZmYuIFRoYXQgbWVhbnMgCiAgICAgICAgeW91J2xsIGhhdmUgbW9y
  ZSB0aW1lIGFuZCBlbmVyZ3kgdG8gZG8gdGhlIHJlYWxseSAKICAgICAgICBl
  eGNpdGluZy0tLWFuZCBkaWZmaWN1bHQtLS1zdHVmZiwgbGlrZSB3cml0aW5n
  IHF1YWxpdHkgY29kZS4KICAgICAgPC9wPm87CAc7CWkGOwpvOwsHOwx7ADsN
  ewwiCnByaWNlIgoyNy43NSIPY3JlYXRlZF9hdCIYMjAxMC0wNC0xNyAxNzo1
  MTozMSIOaW1hZ2VfdXJsIhQvaW1hZ2VzL3V0Yy5qcGciCnRpdGxlIiBQcmFn
  bWF0aWMgVW5pdCBUZXN0aW5nIChDIykiD3VwZGF0ZWRfYXQiGDIwMTAtMDQt
  MTcgMTc6NTE6MzEiB2lkIgY3IhBkZXNjcmlwdGlvbiICiQI8cD4KICAgICAg
  ICBQcmFnbWF0aWMgcHJvZ3JhbW1lcnMgdXNlIGZlZWRiYWNrIHRvIGRyaXZl
  IHRoZWlyIGRldmVsb3BtZW50IGFuZCAKICAgICAgICBwZXJzb25hbCBwcm9j
  ZXNzZXMuIFRoZSBtb3N0IHZhbHVhYmxlIGZlZWRiYWNrIHlvdSBjYW4gZ2V0
  IHdoaWxlIAogICAgICAgIGNvZGluZyBjb21lcyBmcm9tIHVuaXQgdGVzdGlu
  Zy4KICAgICAgPC9wPgogICAgICA8cD4KICAgICAgICBXaXRob3V0IGdvb2Qg
  dGVzdHMgaW4gcGxhY2UsIGNvZGluZyBjYW4gYmVjb21lIGEgZnJ1c3RyYXRp
  bmcgZ2FtZSBvZiAKICAgICAgICAid2hhY2stYS1tb2xlLiIgVGhhdCdzIHRo
  ZSBjYXJuaXZhbCBnYW1lIHdoZXJlIHRoZSBwbGF5ZXIgc3RyaWtlcyBhdCBh
  IAogICAgICAgIG1lY2hhbmljYWwgbW9sZTsgaXQgcmV0cmVhdHMgYW5kIGFu
  b3RoZXIgbW9sZSBwb3BzIHVwIG9uIHRoZSBvcHBvc2l0ZSBzaWRlIAogICAg
  ICAgIG9mIHRoZSBmaWVsZC4gVGhlIG1vbGVzIHBvcCB1cCBhbmQgZG93biBz
  byBmYXN0IHRoYXQgeW91IGVuZCB1cCBmbGFpbGluZyAKICAgICAgICB5b3Vy
  IG1hbGxldCBoZWxwbGVzc2x5IGFzIHRoZSBtb2xlcyBjb250aW51ZSB0byBw
  b3AgdXAgd2hlcmUgeW91IGxlYXN0IAogICAgICAgIGV4cGVjdCB0aGVtLgog
  ICAgICA8L3A+bzsIBzsJaQY7Cm87Cwc7DHsAOw17DCIKcHJpY2UiCTI4LjUi
  D2NyZWF0ZWRfYXQiGDIwMTAtMDQtMTcgMTc6NTE6MzEiCnRpdGxlIh5QcmFn
  bWF0aWMgVmVyc2lvbiBDb250cm9sIg5pbWFnZV91cmwiFC9pbWFnZXMvc3Zu
  LmpwZyIPdXBkYXRlZF9hdCIYMjAxMC0wNC0xNyAxNzo1MTozMSIHaWQiBjYi
  EGRlc2NyaXB0aW9uIgK4ATxwPgogICAgICAgICBUaGlzIGJvb2sgaXMgYSBy
  ZWNpcGUtYmFzZWQgYXBwcm9hY2ggdG8gdXNpbmcgU3VidmVyc2lvbiB0aGF0
  IHdpbGwgCiAgICAgICAgIGdldCB5b3UgdXAgYW5kIHJ1bm5pbmcgcXVpY2ts
  eS0tLWFuZCBjb3JyZWN0bHkuIEFsbCBwcm9qZWN0cyBuZWVkCiAgICAgICAg
  IHZlcnNpb24gY29udHJvbDogaXQncyBhIGZvdW5kYXRpb25hbCBwaWVjZSBv
  ZiBhbnkgcHJvamVjdCdzIAogICAgICAgICBpbmZyYXN0cnVjdHVyZS4gWWV0
  IGhhbGYgb2YgYWxsIHByb2plY3QgdGVhbXMgaW4gdGhlIFUuUy4gZG9uJ3Qg
  dXNlCiAgICAgICAgIGFueSB2ZXJzaW9uIGNvbnRyb2wgYXQgYWxsLiBNYW55
  IG90aGVycyBkb24ndCB1c2UgaXQgd2VsbCwgYW5kIGVuZCAKICAgICAgICAg
  dXAgZXhwZXJpZW5jaW5nIHRpbWUtY29uc3VtaW5nIHByb2JsZW1zLgogICAg
  ICA8L3A+Ogxjb3VudGVyaQ8iCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6
  OkZsYXNoOjpGbGFzaEhhc2h7AAY6CkB1c2VkewA=


