Recent Changes - Digital Historyhttp://digitalhistory.wikispot.org/Recent_ChangesRecent Changes on Digital History.en-us Front Pagehttp://digitalhistory.wikispot.org/Front_Page2009-11-19 17:15:48william.j.turkel <div id="content" class="wikipage content"> Differences for Front Page<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 13: </td> <td> Line 13: </td> </tr> <tr> <td> <span>-</span> [http://niche<span>.uwo.ca</span>/digital-infrastructure/hackknow "Hacking as a Way of Knowing"] (2009). I organzied a workshop with [http://www.yorku.ca/imhotep Edward Jones-Imhotep] on the theme of "E-waste and environmental data," held at InterAccess in Toronto in May 2009. </td> <td> <span>+</span> [http://niche<span>-canada.org</span>/digital-infrastructure/hackknow "Hacking as a Way of Knowing"] (2009). I organzied a workshop with [http://www.yorku.ca/imhotep Edward Jones-Imhotep] on the theme of "E-waste and environmental data," held at InterAccess in Toronto in May 2009. </td> </tr> </table> </div> H9808A 2009 10 Machineshttp://digitalhistory.wikispot.org/H9808A_2009_10_Machines2009-11-17 10:23:43william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 10 Machines<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 16: </td> <td> Line 16: </td> </tr> <tr> <td> </td> <td> <span>+ * Shirky, "[http://www.shirky.com/weblog/2009/11/a-speculative-post-on-the-idea-of-algorithmic-authority/ A Speculative Post on the Idea of Algorithmic Authority]," shirky.com (15 November 2009).</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-16 20:46:18william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 93: </td> <td> Line 93: </td> </tr> <tr> <td> </td> <td> <span>+ * Tapping Fixture (MicroMark 83146)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-16 20:39:13william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 76: </td> <td> Line 76: </td> </tr> <tr> <td> </td> <td> <span>+ * Tool maker's surface gage 4" and 7" (MicroMark 60520)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-16 20:37:09william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 43: </td> <td> Line 43: </td> </tr> <tr> <td> </td> <td> <span>+ * 1/8" parallel set, ten pair: 1/2", 5/8", 3/4", 1", 1 1/8", 1 1/4", 1 3/8", 1 1/2", 1,5/8" (MicroMark 83413)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-16 20:33:56william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 91: </td> <td> Line 91: </td> </tr> <tr> <td> </td> <td> <span>+ * Press-It Miniature Arbor Press (MicroMark 83539)<br> + * Tooling set, nine-piece (MicroMark 83708)<br> + * Punch set, nine-piece (MicroMark 83709)<br> + * V-plate (MicroMark 84424)</span> </td> </tr> </table> </div> FabWiki 3D Modelshttp://digitalhistory.wikispot.org/FabWiki_3D_Models2009-11-15 11:06:00william.j.turkel <div id="content" class="wikipage content"> Differences for FabWiki 3D Models<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 9: </td> <td> Line 9: </td> </tr> <tr> <td> </td> <td> <span>+ * [http://www.shapeways.com/tutorials/prepping_blender_files_for_3d_printing Prepping Blender Files for 3D Printing] - Shapeways tutorial</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 17:44:45william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 42: </td> <td> Line 42: </td> </tr> <tr> <td> </td> <td> <span>+ * Angle Plate 2" x 2" x 2" (MicroMark 20123)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 17:43:04william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 211: </td> <td> Line 211: </td> </tr> <tr> <td> </td> <td> <span>+ * Metric M3.0 x 0.50 x 13/16" OD die (MicroMark 82323D)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 17:40:48william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 81: </td> <td> Line 81: </td> </tr> <tr> <td> </td> <td> <span>+ * Center square (MicroMark 82285)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 17:38:55william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 42: </td> <td> Line 42: </td> </tr> <tr> <td> </td> <td> <span>+ * Lathe Bits<br> + * HSS 1/4" x 1/4" x 2 1/2" lathe tool bit set, eight-piece (MicroMark 82757)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 17:37:03william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 40: </td> <td> Line 40: </td> </tr> <tr> <td> </td> <td> <span>+ * Matching V-block and clamp set (MicroMark 14255)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 17:35:19william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 39: </td> <td> Line 39: </td> </tr> <tr> <td> </td> <td> <span>+ * Other machining<br> + * 1 1/2" Mini V-Block adapter for small parts (MicroMark 83381)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 17:32:32william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 75: </td> <td> Line 75: </td> </tr> <tr> <td> </td> <td> <span>+ * 3" machinist's steel square (MicroMark 10117)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 17:28:32william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 167: </td> <td> Line 167: </td> </tr> <tr> <td> </td> <td> <span>+ * Swiss micro pin vise (MicroMark 15116)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 17:27:49william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 220: </td> <td> Line 220: </td> </tr> <tr> <td> </td> <td> <span>+ * .010" x 30 tpi saw blades (MicroMark 14347)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 17:20:08william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 219: </td> <td> Line 219: </td> </tr> <tr> <td> </td> <td> <span>+ * .010" x 40 tpi saw blades (MicroMark 14346)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 17:16:01william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 120: </td> <td> Line 120: </td> </tr> <tr> <td> </td> <td> <span>+ * 61-80 flat drill index set (Excel 55522; MicroMark 60362)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 17:13:40william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 129: </td> <td> Line 129: </td> </tr> <tr> <td> <span>-</span> * Mini diamond file set (MicroMark 82248) </td> <td> <span>+</span> * Mini diamond file set<span>, ten-piece 100x2mm</span> (MicroMark 82248) </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 17:12:17william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 129: </td> <td> Line 129: </td> </tr> <tr> <td> <span>-</span> * Mini diamond file set, six-piece (Mascot H311; MicroMark <span>8</span>2<span>24</span>8) </td> <td> <span>+</span> * Mini diamond file<span>&nbsp;set (MicroMark 82248)<br> + * Mini reamer</span> set, six-piece (Mascot H311; MicroMark 2<span>610</span>8) </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 17:09:40william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 129: </td> <td> Line 129: </td> </tr> <tr> <td> </td> <td> <span>+ * Mini diamond file set, six-piece (Mascot H311; MicroMark 82248)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 17:06:32william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 188: </td> <td> Line 188: </td> </tr> <tr> <td> </td> <td> <span>+ * Castroviejo micro scissors, straight (MicroMark 84440)<br> + * Castroviejo micro scissors, curved (MicroMark 84441)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 17:02:39william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 157: </td> <td> Line 157: </td> </tr> <tr> <td> </td> <td> <span>+ * Pearl tweezer (MicroMark 82426)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 17:01:10william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 74: </td> <td> Line 74: </td> </tr> <tr> <td> </td> <td> <span>+ * 6" machinist's rule (MicroMark 10114)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 16:58:22william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 154: </td> <td> Line 154: </td> </tr> <tr> <td> <span>-</span> * Metal forming plier set (MicroMark 60398) </td> <td> <span>+</span> * Metal forming plier set<span>, four-piece</span> (MicroMark 60398)<span><br> + * Tweezer set for round objects, four-piece (MicroMark 84255)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 16:55:29william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 139: </td> <td> Line 139: </td> </tr> <tr> <td> <span>- * 5 piece micro-pick set (Ullman Devices MP-6)</span> </td> <td> <span>+ * Micro-pick set, five-piece (Ullman Devices MP-6)<br> + * Spatula and carver set, seven-piece (MicroMark 84594)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 16:51:42william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 149: </td> <td> Line 149: </td> </tr> <tr> <td> <span>-</span> * <span>5 piece m</span>ini pliers set (Mastercraft 58-4788-6) </td> <td> <span>+</span> * <span>M</span>ini pliers set<span>, five-piece</span> (Mastercraft 58-4788-6) </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 16:51:22william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 152: </td> <td> Line 152: </td> </tr> <tr> <td> </td> <td> <span>+ * Micro pliers set, four-piece (MicroMark 60399)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 16:48:44william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 171: </td> <td> Line 171: </td> </tr> <tr> <td> </td> <td> <span>+ * Handheld tube cutting jig (MicroMark 84515)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 16:48:11william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 161: </td> <td> Line 161: </td> </tr> <tr> <td> <span>- * Saws</span> </td> <td> <span>+ * Saws, Mitre Boxes and Jigs</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 16:46:18william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 126: </td> <td> Line 126: </td> </tr> <tr> <td> <span>-</span> * 5 1/2" hobby file set (Nicholson 42030) </td> <td> <span>+</span> * 5 1/2"<span>&nbsp;six-piece</span> hobby file set (Nicholson 42030) </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 16:45:54william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 127: </td> <td> Line 127: </td> </tr> <tr> <td> </td> <td> <span>+ * 3 x 180 twelve-piece riffler file set (MicroMark 33111A)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 16:43:19william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 97: </td> <td> Line 97: </td> </tr> <tr> <td> </td> <td> <span>+ * Ball end inch set: .050", 1/16", 5/64", 3/32", 7/64", 1/8", 9/64", 5/32" (Wiha 26490; MicroMark 81708)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 16:41:43william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 98: </td> <td> Line 98: </td> </tr> <tr> <td> <span>-</span> * Ball end metric set: 1.3mm, </td> <td> <span>+</span> * Ball end metric set: 1.3mm,<span>&nbsp;1.5mm, 2.0mm, 2.5mm, 3.0mm (Wiha 26491; MicroMark 81709)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 16:40:47william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 133: </td> <td> Line 133: </td> </tr> <tr> <td> <span>-</span> * Metric nutdriver set: 2.5, 3.0, 3.5, 4.0, 5, 5.5, 6.0<span>&nbsp;</span>mm (Wiha 26590; MicroMark 81547) </td> <td> <span>+</span> * Metric nutdriver set: 2.5<span>mm</span>, 3.0<span>mm</span>, 3.5<span>mm</span>, 4.0<span>mm</span>, 5<span>mm</span>, 5.5<span>mm</span>, 6.0mm (Wiha 26590; MicroMark 81547) </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 16:40:26william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 98: </td> <td> Line 98: </td> </tr> <tr> <td> </td> <td> <span>+ * Ball end metric set: 1.3mm,</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 16:39:37william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 131: </td> <td> Line 131: </td> </tr> <tr> <td> </td> <td> <span>+ * Nutdrivers<br> + * Metric nutdriver set: 2.5, 3.0, 3.5, 4.0, 5, 5.5, 6.0 mm (Wiha 26590; MicroMark 81547)</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 16:35:07william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 127: </td> <td> Line 127: </td> </tr> <tr> <td> <span>-</span> * Hammers </td> <td> <span>+</span> * Hammers<span>&nbsp;and Mallets</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-14 16:34:56william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 130: </td> <td> Line 130: </td> </tr> <tr> <td> </td> <td> <span>+ * Brass / Nylon mallet (MicroMark 83434)</span> </td> </tr> </table> </div> H9808A 2009 10 Machineshttp://digitalhistory.wikispot.org/H9808A_2009_10_Machines2009-11-14 11:42:11william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 10 Machines<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 4: </td> <td> Line 4: </td> </tr> <tr> <td> <span>- <br> - --&gt; '''The details of this page are not finalized yet... check back closer to day of class''' &lt;--</span> </td> <td> </td> </tr> <tr> <td> Line 28: </td> <td> Line 26: </td> </tr> <tr> <td> </td> <td> <span>+ <br> + '''Do some simple text mining.''' This week you learned about some sophisticated tools that can be used by humanists to process large amounts of text and facilitate exploration. Some of these techniques require programming skills, but many do not. The Canadian [http://portal.tapor.ca/portal/portal TAPoR] project is a wonderful collection of resources that bring text processing and analysis within the reach of any scholar. Starting at the [http://tada.mcmaster.ca/Main/TaporRecipes TAPoR recipes page] try choosing a historical text from [http://www.gutenberg.org/ Gutenberg] and [http://tada.mcmaster.ca/Main/RecipeOneOhTwo generating a concordance]. What kinds of things can you learn about a work this way? Feel free to blog about the assignment if you find something interesting.</span> </td> </tr> </table> </div> H9808A 2009 10 Machineshttp://digitalhistory.wikispot.org/H9808A_2009_10_Machines2009-11-14 11:24:08william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 10 Machines<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 11: </td> <td> Line 11: </td> </tr> <tr> <td> <span>- * Gralla, "Ch 33 How Agents Work (Ch 32 in 7th ed.)", "Ch 48 How Internet Sites Can Invade Your Privacy (Ch 46 in 7th ed.)", "Ch 49 The Dangers of Spyware and Phishing (Not in 7th ed.)"<br> - <br> - </span> </td> <td> </td> </tr> <tr> <td> Line 17: </td> <td> Line 14: </td> </tr> <tr> <td> <span>- <br> -</span> Cohen<span>, Daniel J.</span> and Ro<span>y Ro</span>senzweig<span>. “</span>[http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/1299/1219 Web of Lies? Historical Knowledge on the Internet],<span>”</span> ''First Monday'' 10, no. 12 (15 Nov 2005).<br> <span>- <br> -</span> Garrett, <span>Jeffrey. “</span>[http://hdl.handle.net/2027/spo.3336451.0009.106 KWIC and Dirty? Human Cognition and the Claims of Full-Text Searching],<span>”</span> ''Journal of Electronic Publishing'' 9, no. 1 (Winter 2006).<br> <span>- </span><br> <span>-</span> Kelly, T<span>. Mills. “[http://chnm.gmu.edu/history/faculty/kelly/blogs/edwired/archives/2006/09/analyzing_traff.html Analyzing T</span>raffic],<span>”</span> edwired (29 Sep 2006).<br> <span>- <br> -</span> Turkel, <span>W. J. “</span>[http://digitalhistoryhacks.blogspot.com/2006/10/searching-for-history.html Searching for History],<span>”</span> Digital History Hacks (12 Oct 2006).<br> <span>- <br> -</span> Unsworth, <span>John. “</span>[http://www.iath.virginia.edu/%7Ejmu2m/sdl.html The Scholar in the Digital Library],<span>”</span> (6 Apr 2000). </td> <td> <span>+ *</span> Cohen and Rosenzweig<span>, "</span>[http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/1299/1219 Web of Lies? Historical Knowledge on the Internet],<span>"</span> ''First Monday'' 10, no. 12 (15 Nov 2005).<br> <span>+ *</span> Garrett, <span>"</span>[http://hdl.handle.net/2027/spo.3336451.0009.106 KWIC and Dirty? Human Cognition and the Claims of Full-Text Searching],<span>"</span> ''Journal of Electronic Publishing'' 9, no. 1 (Winter 2006).<br> <span>+ * Gralla, "Ch 33 How Agents Work (Ch 32 in 7th ed.)", "Ch 48 How Internet Sites Can Invade Your Privacy (Ch 46 in 7th ed.)", "Ch 49 The Dangers of Spyware and Phishing (Not in 7th ed.)"</span><br> <span>+ *</span> Kelly, <span>"[http://chnm.gmu.edu/history/faculty/kelly/blogs/edwired/archives/2006/09/analyzing_traff.html Analyzing </span>Traffic],<span>"</span> edwired (29 Sep 2006).<br> <span>+ *</span> Turkel, <span>"</span>[http://digitalhistoryhacks.blogspot.com/2006/10/searching-for-history.html Searching for History],<span>"</span> Digital History Hacks (12 Oct 2006).<br> <span>+ *</span> Unsworth, <span>"</span>[http://www.iath.virginia.edu/%7Ejmu2m/sdl.html The Scholar in the Digital Library],<span>"</span> (6 Apr 2000). </td> </tr> </table> </div> H9808A 2009 10 Machineshttp://digitalhistory.wikispot.org/H9808A_2009_10_Machines2009-11-14 11:22:11william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 10 Machines<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 30: </td> <td> Line 30: </td> </tr> <tr> <td> <span>-</span> The following set of posts describe how to implement one complete data mining project, using trial records from the [http://www.oldbaileyonline.org/ Old Bailey Online]. The links to the source code in my blog are broken, but copies of all of the Python programs can be found [http://digitalhistory.wikispot.org/DHH_Archive here]. If you just want to get an idea of what I did, read posts 1 and 14. The naive bayesian learner is described in post 7. </td> <td> <span>+</span> The following set of posts describe how to implement one complete<span>&nbsp;machine learning /</span> data mining project, using trial records from the [http://www.oldbaileyonline.org/ Old Bailey Online]. The links to the source code in my blog are broken, but copies of all of the Python programs can be found [http://digitalhistory.wikispot.org/DHH_Archive here]. If you just want to get an idea of what I did, read posts 1 and 14. The naive bayesian learner is described in post 7. </td> </tr> </table> </div> H9808A 2009 10 Machineshttp://digitalhistory.wikispot.org/H9808A_2009_10_Machines2009-11-14 11:19:37william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 10 Machines<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 30: </td> <td> Line 30: </td> </tr> <tr> <td> <span>-</span> The following set of posts describe how to implement one complete data mining project. The links to the source code in my blog are broken, but copies of all of the Python programs can be found [http://digitalhistory.wikispot.org/DHH_Archive here]. If you just want to get an idea of what I did, read posts 1<span>, FOOBAR</span> </td> <td> <span>+</span> The following set of posts describe how to implement one complete data mining project<span>, using trial records from the [http://www.oldbaileyonline.org/ Old Bailey Online]</span>. The links to the source code in my blog are broken, but copies of all of the Python programs can be found [http://digitalhistory.wikispot.org/DHH_Archive here]. If you just want to get an idea of what I did, read posts 1<span>&nbsp;and 14. The naive bayesian learner is described in post 7.</span> </td> </tr> <tr> <td> Line 32: </td> <td> Line 32: </td> </tr> <tr> <td> <span>- * Turkel, "A Naive Bayesian in the Old Bailey, parts [http://digitalhistoryhacks.blogspot.com/2008/05/naive-bayesian-in-old-bailey-part-1.html 1], [http://digitalhistoryhacks.blogspot.com/2008/06/naive-bayesian-in-old-bailey-part-2.html 2], [http://digitalhistoryhacks.blogspot.com/2008/06/naive-bayesian-in-old-bailey-part-3.html 3], [ 4], " Digital History Hacks (24 May - 2008).</span> </td> <td> <span>+ * Turkel, "A Naive Bayesian in the Old Bailey, parts [http://digitalhistoryhacks.blogspot.com/2008/05/naive-bayesian-in-old-bailey-part-1.html 1], [http://digitalhistoryhacks.blogspot.com/2008/06/naive-bayesian-in-old-bailey-part-2.html 2], [http://digitalhistoryhacks.blogspot.com/2008/06/naive-bayesian-in-old-bailey-part-3.html 3], [http://digitalhistoryhacks.blogspot.com/2008/06/naive-bayesian-in-old-bailey-part-4.html 4], [http://digitalhistoryhacks.blogspot.com/2008/06/naive-bayesian-in-old-bailey-part-5.html 5], [http://digitalhistoryhacks.blogspot.com/2008/06/naive-bayesian-in-old-bailey-part-6.html 6], [http://digitalhistoryhacks.blogspot.com/2008/06/naive-bayesian-in-old-bailey-part-7.html 7], [http://digitalhistoryhacks.blogspot.com/2008/06/naive-bayesian-in-old-bailey-part-8.html 8], [http://digitalhistoryhacks.blogspot.com/2008/06/naive-bayesian-in-old-bailey-part-9.html 9], [http://digitalhistoryhacks.blogspot.com/2008/06/naive-bayesian-in-old-bailey-part-10.html 10], [http://digitalhistoryhacks.blogspot.com/2008/06/naive-bayesian-in-old-bailey-part-11.html 11], [http://digitalhistoryhacks.blogspot.com/2008/06/naive-bayesian-in-old-bailey-part-12.html 12], [http://digitalhistoryhacks.blogspot.com/2008/07/naive-bayesian-in-old-bailey-part-13.html 13], and [http://digitalhistoryhacks.blogspot.com/2008/07/naive-bayesian-in-old-bailey-part-14.html 14]," Digital History Hacks (24 May - 3 July 2008).</span> </td> </tr> </table> </div> H9808A 2009 10 Machineshttp://digitalhistory.wikispot.org/H9808A_2009_10_Machines2009-11-14 11:13:40william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 10 Machines<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 30: </td> <td> Line 30: </td> </tr> <tr> <td> <span>-</span> The following set of posts describe how to implement one complete data mining project. The <span>blog </span>links to the source code are broken but copies of all of the Python programs can be found [http://digitalhistory.wikispot.org/DHH_Archive here]. If you just want to get an idea of what I did, read posts 1, FOOBAR </td> <td> <span>+</span> The following set of posts describe how to implement one complete data mining project. The links to the source code <span>in my blog </span>are broken<span>,</span> but copies of all of the Python programs can be found [http://digitalhistory.wikispot.org/DHH_Archive here]. If you just want to get an idea of what I did, read posts 1, FOOBAR </td> </tr> </table> </div> H9808A 2009 10 Machineshttp://digitalhistory.wikispot.org/H9808A_2009_10_Machines2009-11-14 11:13:10william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 10 Machines<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 7: </td> <td> Line 7: </td> </tr> <tr> <td> </td> <td> <span>+ In ''Data Mining'', Witten and Frank define the subject as “the extraction of implicit, previously unknown, and potentially useful information from data,” as the process of “finding and describing patterns in data.” Machine learning, a sub-discipline of computer science, goes one step further by attempting to use these patterns to classify previously unseen data. Historians are now beginning to use both kinds of techniques in the research process.<br> + </span> </td> </tr> <tr> <td> Line 9: </td> <td> Line 11: </td> </tr> <tr> <td> <span>- Gralla, "Ch 33 How Agents Work (Ch 32 in 7th ed.)", "Ch 48 How Internet Sites Can Invade Your Privacy (Ch 46 in 7th ed.)", "Ch 49 The Dangers of Spyware and Phishing (Not in 7th ed.)"</span> </td> <td> <span>+ * Gralla, "Ch 33 How Agents Work (Ch 32 in 7th ed.)", "Ch 48 How Internet Sites Can Invade Your Privacy (Ch 46 in 7th ed.)", "Ch 49 The Dangers of Spyware and Phishing (Not in 7th ed.)"<br> + <br> + <br> + * Cohen, "[http://www.dancohen.org/blog/posts/mapping_what_americans_did_on_september_11 Mapping What Americans Did on September 11]," dancohen.org (8 Aug 2006).<br> + * Cohen, "[http://www.dancohen.org/blog/posts/intelligence_analysts_and_humanities_scholars Intelligence Analysts and Humanities Scholars]," dancohen.org (13 Nov 2006).<br> + * Cohen, "[http://www.dancohen.org/files/hist_2nd_decade_web.pdf History and the Second Decade of the Web]," ''Rethinking History'' (Jun 2004).<br> + <br> + Cohen, Daniel J. and Roy Rosenzweig. “[http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/1299/1219 Web of Lies? Historical Knowledge on the Internet],” ''First Monday'' 10, no. 12 (15 Nov 2005).<br> + <br> + Garrett, Jeffrey. “[http://hdl.handle.net/2027/spo.3336451.0009.106 KWIC and Dirty? Human Cognition and the Claims of Full-Text Searching],” ''Journal of Electronic Publishing'' 9, no. 1 (Winter 2006).<br> + <br> + Kelly, T. Mills. “[http://chnm.gmu.edu/history/faculty/kelly/blogs/edwired/archives/2006/09/analyzing_traff.html Analyzing Traffic],” edwired (29 Sep 2006).<br> + <br> + Turkel, W. J. “[http://digitalhistoryhacks.blogspot.com/2006/10/searching-for-history.html Searching for History],” Digital History Hacks (12 Oct 2006).<br> + <br> + Unsworth, John. “[http://www.iath.virginia.edu/%7Ejmu2m/sdl.html The Scholar in the Digital Library],” (6 Apr 2000).</span> </td> </tr> <tr> <td> Line 13: </td> <td> Line 30: </td> </tr> <tr> <td> </td> <td> <span>+ The following set of posts describe how to implement one complete data mining project. The blog links to the source code are broken but copies of all of the Python programs can be found [http://digitalhistory.wikispot.org/DHH_Archive here]. If you just want to get an idea of what I did, read posts 1, FOOBAR<br> + <br> + * Turkel, "A Naive Bayesian in the Old Bailey, parts [http://digitalhistoryhacks.blogspot.com/2008/05/naive-bayesian-in-old-bailey-part-1.html 1], [http://digitalhistoryhacks.blogspot.com/2008/06/naive-bayesian-in-old-bailey-part-2.html 2], [http://digitalhistoryhacks.blogspot.com/2008/06/naive-bayesian-in-old-bailey-part-3.html 3], [ 4], " Digital History Hacks (24 May - 2008).<br> + </span> </td> </tr> </table> </div> DHH20080605-01http://digitalhistory.wikispot.org/DHH20080605-012009-11-14 11:10:37william.j.turkel <div id="content" class="wikipage content"> Differences for DHH20080605-01<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 1: </td> <td> Line 1: </td> </tr> <tr> <td> </td> <td> <span>+ {{{<br> + # split-into-trials.py<br> + # old bailey<br> + #<br> + # split each of the tagged XML files into separate trial files<br> + <br> + import os, sys, re<br> + from BeautifulSoup import BeautifulStoneSoup<br> + <br> + # given a directory string, return a list of file names<br> + def getFileNames(dirstr):<br> + dircommand = 'dir ' + dirstr + ' /B'<br> + filelist = os.popen(dircommand).readlines()<br> + filelist = [x.rstrip() for x in filelist]<br> + return filelist<br> + <br> + # get a list of XML files to process<br> + indirname = 'Tagged_final\Tagged_1830s_Files'<br> + filelist = getFileNames(indirname)<br> + <br> + # if output directory doesn't exist, create it<br> + outdirname = 'Mined_1830s'<br> + if os.path.exists(outdirname) == 0: os.mkdir(outdirname)<br> + <br> + # extract each trial from each XML file and save it separately<br> + for fn in filelist:<br> + <br> + # provide feedback for user<br> + print 'Processing ' + fn<br> + sys.stdout.flush()<br> + <br> + # read XML file into string and parse it<br> + f = open(indirname+'\\'+fn, 'r')<br> + fnxml = f.read()<br> + f.close()<br> + fnsoup = BeautifulStoneSoup(fnxml)<br> + triallist = fnsoup.findAll('trial')<br> + <br> + # extract trial id and use as filename for each trial<br> + trialpattern = re.compile(r'id=\"(t-\d+-\d+)', re.UNICODE)<br> + for tr in triallist:<br> + matchid = trialpattern.search(str(tr))<br> + outfilename = outdirname + '\\' + matchid.group(1) + '.txt'<br> + f = open(outfilename, 'w')<br> + f.write(str(tr))<br> + f.close()<br> + }}}</span> </td> </tr> </table> </div> DHH20080607-01http://digitalhistory.wikispot.org/DHH20080607-012009-11-14 11:10:00william.j.turkel <div id="content" class="wikipage content"> Differences for DHH20080607-01<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 1: </td> <td> Line 1: </td> </tr> <tr> <td> </td> <td> <span>+ {{{<br> + # clean-copy-trials.py<br> + # old bailey<br> + #<br> + # given a directory of trial files each marked with XML<br> + # create a parallel directory of files with all tagging stripped<br> + <br> + import os, sys, re<br> + <br> + # given a directory string, return a list of file names<br> + def getFileNames(dirstr):<br> + dircommand = 'dir ' + dirstr + ' /B'<br> + filelist = os.popen(dircommand).readlines()<br> + filelist = [x.rstrip() for x in filelist]<br> + return filelist<br> + <br> + # given a string containing XML, remove all characters<br> + # between matching pairs of angled brackets, inclusive<br> + def stripTags(xml):<br> + inside = 0<br> + text = ''<br> + for char in xml:<br> + if char == '&lt;':<br> + inside = 1<br> + continue<br> + elif (inside == 1 and char == '&gt;'):<br> + inside = 0<br> + continue<br> + elif inside == 1:<br> + continue<br> + else:<br> + text += char<br> + return text<br> + <br> + # given a local copy of an XML file, return string<br> + # of lowercase text from page<br> + def localXMLFileToText(xmlfile):<br> + f = open(xmlfile, 'r')<br> + xml = f.read()<br> + f.close()<br> + text = stripTags(xml).replace(' ', ' ')<br> + text = text.replace('—', ' ')<br> + text = text.replace('"', '')<br> + return text.lower()<br> + <br> + # given a text string, remove all non-alphanumeric<br> + # characters (using Unicode definition of alphanumeric)<br> + def stripNonAlphaNum(text):<br> + import re<br> + return re.compile(r'\W+', re.UNICODE).split(text)<br> + <br> + # get a list of trial files to process<br> + indirname = 'Mined_1830s'<br> + filelist = getFileNames(indirname)<br> + <br> + # if output directory doesn't exist, create it<br> + outdirname = 'Mined_1830s_clean'<br> + if os.path.exists(outdirname) == 0: os.mkdir(outdirname)<br> + <br> + # page images have 12-digit number<br> + imgpattern = re.compile(r'\d{12}', re.UNICODE)<br> + <br> + for fn in filelist:<br> + <br> + # provide feedback for user<br> + print 'Processing ' + fn<br> + sys.stdout.flush()<br> + <br> + # read XML file into string and remove formatting<br> + infile = indirname + '\\' + fn<br> + instr = localXMLFileToText(infile)<br> + instr = imgpattern.sub(' ', instr)<br> + wordlist = stripNonAlphaNum(instr)<br> + <br> + # output clean lowercase alphanumeric text<br> + outfile = outdirname + '\\' + 'clean_' + fn<br> + f = open(outfile, 'w')<br> + for w in wordlist: f.write(w+' ')<br> + f.close()<br> + }}}</span> </td> </tr> </table> </div> DHH20080609-05http://digitalhistory.wikispot.org/DHH20080609-052009-11-14 11:09:33william.j.turkel <div id="content" class="wikipage content"> Differences for DHH20080609-05<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 1: </td> <td> Line 1: </td> </tr> <tr> <td> </td> <td> <span>+ {{{<br> + # count-offences.py<br> + # old bailey<br> + #<br> + # using the offence files, quickly count how many<br> + # offences of each type<br> + <br> + import os<br> + <br> + # given a directory string, return a list of file names<br> + def getFileNames(dirstr):<br> + dircommand = 'dir ' + dirstr + ' /B'<br> + filelist = os.popen(dircommand).readlines()<br> + filelist = [x.rstrip() for x in filelist]<br> + return filelist<br> + <br> + # open an output file<br> + resultsfile = open('offence-counts-1830s.txt', 'w')<br> + <br> + # get a list of offence files to process<br> + indirname = 'Offences_1830s'<br> + ofilelist = getFileNames(indirname)<br> + <br> + # process each file<br> + for ofile in ofilelist:<br> + <br> + # get a list of trials for each offence<br> + f = open(indirname+'\\'+ofile, 'r')<br> + triallist = f.readlines()<br> + f.close()<br> + <br> + # write results<br> + resultstr = ofile + '|' + str(len(triallist)) + '\n'<br> + resultsfile.write(resultstr)<br> + <br> + resultsfile.close()<br> + }}}</span> </td> </tr> </table> </div> DHH20080609-04http://digitalhistory.wikispot.org/DHH20080609-042009-11-14 11:09:05william.j.turkel <div id="content" class="wikipage content"> Differences for DHH20080609-04<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 1: </td> <td> Line 1: </td> </tr> <tr> <td> </td> <td> <span>+ {{{<br> + # offence-index.py<br> + # old bailey<br> + #<br> + # given a list mapping trial id to offence, create<br> + # lists of trials that fall into each offence category<br> + <br> + import os<br> + <br> + infile = open('offence-categories-1830s.txt', 'r')<br> + triallist = infile.readlines();<br> + infile.close()<br> + <br> + # get a list of unique offences<br> + alloffences = []<br> + for tr in triallist:<br> + rowlist = tr.split(',')<br> + offencelist = rowlist[1:]<br> + alloffences += map(lambda x: x.strip(), offencelist)<br> + <br> + print "Total number of offences: " + str(len(alloffences))<br> + uniqoffences = list(set(alloffences))<br> + print "Number of unique offences: " + str(len(uniqoffences))<br> + # print uniqoffences<br> + <br> + # if output directory doesn't exist, create it<br> + outdirname = 'Offences_1830s'<br> + if os.path.exists(outdirname) == 0: os.mkdir(outdirname)<br> + <br> + # create empty dictionary structure<br> + offencedict = {}<br> + for u in uniqoffences: offencedict[u] = []<br> + <br> + # go through file again, this time adding each trial to<br> + # dictionary of offences<br> + <br> + for tr in triallist:<br> + rowlist = tr.split(',')<br> + trialid = rowlist[0]<br> + # need to get rid of trailing newlines<br> + fulloffencelist = map(lambda x: x.strip(), rowlist[1:])<br> + # can be charged with multiple counts of same offence<br> + offencelist = list(set(fulloffencelist))<br> + # update dictionary<br> + map(lambda x: offencedict[x].append(trialid), offencelist)<br> + <br> + # write out each dictionary entry as a separate file<br> + <br> + for k in offencedict.keys():<br> + outfilename = outdirname + '\\' + k + '.txt'<br> + outfile = open(outfilename, 'w')<br> + for tr in offencedict[k]: outfile.write(tr+'\n')<br> + outfile.close()<br> + }}}</span> </td> </tr> </table> </div> DHH20080609-03http://digitalhistory.wikispot.org/DHH20080609-032009-11-14 11:08:23william.j.turkel <div id="content" class="wikipage content"> Differences for DHH20080609-03<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 1: </td> <td> Line 1: </td> </tr> <tr> <td> </td> <td> <span>+ {{{<br> + # offence-category.py<br> + # old bailey<br> + #<br> + # given a directory of trial files each marked with XML<br> + # extract a list mapping trial id to offence<br> + <br> + import os, sys, re<br> + from BeautifulSoup import BeautifulStoneSoup<br> + <br> + # given a directory string, return a list of file names<br> + def getFileNames(dirstr):<br> + import os<br> + dircommand = 'dir ' + dirstr + ' /B'<br> + filelist = os.popen(dircommand).readlines()<br> + filelist = [x.rstrip() for x in filelist]<br> + return filelist<br> + <br> + # given an XML tag describing an offence, return as a<br> + # standardized string<br> + def standardizeOffenceTags(offstring):<br> + stdstr = offstring.replace('&lt;', '')<br> + stdstr = stdstr.replace('&gt;', '')<br> + stdstr = stdstr.replace('\"', '')<br> + stdstr = stdstr.replace('category=', '')<br> + stdstr = stdstr.replace(' ', '-')<br> + return stdstr.lower()<br> + <br> + # get a list of trial files to process<br> + indirname = 'Mined_1830s'<br> + filelist = getFileNames(indirname)<br> + <br> + # scrape out the first child node of each offence<br> + offencepattern = re.compile(r'&lt;.*?&gt;', re.UNICODE)<br> + <br> + resultsfile = open('offence-categories-1830s.txt', 'w')<br> + <br> + for fn in filelist:<br> + <br> + outstr = fn<br> + <br> + # read XML file into string and parse it<br> + f = open(indirname+'\\'+fn, 'r')<br> + fnxml = f.read()<br> + f.close()<br> + fnsoup = BeautifulStoneSoup(fnxml)<br> + offencelist = fnsoup.findAll('offence')<br> + <br> + # extract offences<br> + for o in offencelist:<br> + offence = o.contents[0]<br> + # one trial had a blank space in front of first node<br> + if offence == ' ': offence = o.contents[1]<br> + omatch = offencepattern.match(str(offence))<br> + offstr = omatch.group()<br> + outstr += ',' + standardizeOffenceTags(offstr)<br> + <br> + # write offence data to file<br> + resultsfile.write(outstr+'\n')<br> + resultsfile.flush()<br> + <br> + # provide feedback for user<br> + print outstr<br> + sys.stdout.flush()<br> + <br> + resultsfile.close()<br> + }}}</span> </td> </tr> </table> </div> DHH20080609-02http://digitalhistory.wikispot.org/DHH20080609-022009-11-14 11:07:56william.j.turkel <div id="content" class="wikipage content"> Differences for DHH20080609-02<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 1: </td> <td> Line 1: </td> </tr> <tr> <td> </td> <td> <span>+ {{{<br> + # get-date-range.py<br> + # old bailey<br> + #<br> + # given a directory of trial files, return<br> + # an ordered list of trial dates<br> + <br> + import os<br> + import re<br> + <br> + # given a directory string, return a list of file names<br> + def getFileNames(dirstr):<br> + dircommand = 'dir ' + dirstr + ' /B'<br> + filelist = os.popen(dircommand).readlines()<br> + filelist = [x.rstrip() for x in filelist]<br> + return filelist<br> + <br> + # get a list of trial files to process<br> + indirname = 'Mined_1830s'<br> + triallist = getFileNames(indirname)<br> + <br> + # strip date out of pre- and post-fixed material<br> + datedict = {}<br> + datepattern = re.compile(r'\d{8}', re.UNICODE)<br> + for tr in triallist:<br> + matchdate = datepattern.search(tr)<br> + datedict[matchdate.group()] = '1'<br> + <br> + # output file consisting of list of dates<br> + keys = datedict.keys()<br> + keys.sort()<br> + outfilename = 'dates-1830s.txt'<br> + f = open(outfilename, 'w')<br> + for k in keys: f.write(str(k)+'\n')<br> + f.close()<br> + }}}</span> </td> </tr> </table> </div> DHH20080609-01http://digitalhistory.wikispot.org/DHH20080609-012009-11-14 11:07:20william.j.turkel <div id="content" class="wikipage content"> Differences for DHH20080609-01<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 1: </td> <td> Line 1: </td> </tr> <tr> <td> </td> <td> <span>+ {{{<br> + # trial-id-list.py<br> + # old bailey<br> + #<br> + # create a list of trial ids<br> + <br> + import os<br> + <br> + # given a directory string, return a list of file names<br> + def getFileNames(dirstr):<br> + dircommand = 'dir ' + dirstr + ' /B'<br> + filelist = os.popen(dircommand).readlines()<br> + filelist = [x.rstrip() for x in filelist]<br> + return filelist<br> + <br> + # get a list of trial files<br> + indirname = 'Mined_1830s'<br> + triallist = getFileNames(indirname)<br> + <br> + # write it out<br> + resultsfile = open('trial-ids-1830s.txt', 'w')<br> + for tr in triallist:<br> + resultstr = tr + '\n'<br> + resultsfile.write(resultstr)<br> + <br> + resultsfile.close()<br> + }}}</span> </td> </tr> </table> </div> DHH20080612-02http://digitalhistory.wikispot.org/DHH20080612-022009-11-14 11:06:35william.j.turkel <div id="content" class="wikipage content"> Differences for DHH20080612-02<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 1: </td> <td> Line 1: </td> </tr> <tr> <td> </td> <td> <span>+ {{{<br> + # count-offence-instances.py<br> + # old bailey<br> + #<br> + # given a crossvalidation sample, count the<br> + # number of offence instances in each partition<br> + <br> + import os<br> + <br> + # given a directory string, return a list of file names<br> + def getFileNames(dirstr):<br> + dircommand = 'dir ' + dirstr + ' /B'<br> + filelist = os.popen(dircommand).readlines()<br> + filelist = [x.rstrip() for x in filelist]<br> + return filelist<br> + <br> + # get list of matching trials<br> + offencedir = 'Offences_1830s'<br> + offencefile = 'theft-simplelarceny.txt'<br> + f = open(offencedir + '\\' + offencefile, 'r')<br> + triallist = f.readlines()<br> + f.close()<br> + <br> + # get a list of sample files to process<br> + indirname = 'Samples_1830s'<br> + samplelist = getFileNames(indirname)<br> + <br> + # count instances<br> + instancetotal = 0<br> + for s in samplelist:<br> + instances = 0<br> + f = open(indirname + '\\' + s, 'r')<br> + samptriallist = f.readlines()<br> + f.close()<br> + for tr in samptriallist:<br> + if tr in triallist: instances += 1<br> + print "%s: %d" % (s, instances)<br> + instancetotal += instances<br> + <br> + # sanity check<br> + print "Number of offences: %d" % len(triallist)<br> + print "Sum of offences: %d" % instancetotal<br> + }}}</span> </td> </tr> </table> </div> DHH20080612-01http://digitalhistory.wikispot.org/DHH20080612-012009-11-14 11:05:59william.j.turkel <div id="content" class="wikipage content"> Differences for DHH20080612-01<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 1: </td> <td> Line 1: </td> </tr> <tr> <td> </td> <td> <span>+ {{{<br> + # tenfold-crossvalidation-sample.py<br> + # old bailey<br> + #<br> + # given a list of trials, shuffle and divide<br> + # into ten samples of approximately equal size<br> + <br> + import os, random<br> + <br> + # if output directory doesn't exist, create it<br> + outdirname = 'Samples_1830s'<br> + if os.path.exists(outdirname) == 0: os.mkdir(outdirname)<br> + <br> + # get a list of trials<br> + f = open('trial-ids-1830s.txt', 'r')<br> + triallist = f.readlines()<br> + f.close()<br> + <br> + # shuffle it, changing list in place<br> + random.shuffle(triallist)<br> + <br> + # do floor division to get basic sample size and remainder<br> + numtrials = len(triallist)<br> + samplesize = numtrials // 10<br> + base = samplesize * 10<br> + remainder = numtrials - base<br> + print "Trials: %d; Base sample: %d; Remainder: %d" % (numtrials, samplesize, remainder)<br> + <br> + # get basic samples<br> + sample = {}<br> + for i in range(0,10):<br> + index = i * samplesize<br> + offset = index + samplesize<br> + sample[i] = triallist[index:offset]<br> + <br> + # distribute remainder as equally as possible<br> + tailend = range(base, base+remainder)<br> + i = 0<br> + for t in tailend:<br> + sample[i].append(triallist[t])<br> + i += 1<br> + <br> + # do sanity check<br> + sanity = 0<br> + for k in sample.keys(): sanity += len(sample[k])<br> + if sanity != numtrials:<br> + print "Sanity check failed"<br> + quit()<br> + <br> + # write samples to files<br> + for k in sample.keys():<br> + outfilename = outdirname + '\\sample' + str(k) + '.txt'<br> + f = open(outfilename, 'w')<br> + for tr in sample[k]: f.write(str(tr))<br> + f.close()<br> + }}}</span> </td> </tr> </table> </div> DHH20080617-01http://digitalhistory.wikispot.org/DHH20080617-012009-11-14 11:05:25william.j.turkel <div id="content" class="wikipage content"> Differences for DHH20080617-01<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 1: </td> <td> Line 1: </td> </tr> <tr> <td> </td> <td> <span>+ {{{<br> + # cross-validate-learner.py<br> + # old bailey<br> + #<br> + # test performance of learner on a<br> + # cross-validation sample<br> + <br> + import os, string, re, sys<br> + from bayesian import *<br> + <br> + # set learner type to 'coinflip', 'getwords' or 'gettwograms'<br> + learner = 'gettwograms'<br> + <br> + # read the 10 sample files into an array of lists of the form<br> + # samplelist[sample_number][item_number]<br> + sampledir = 'Samples_1830s'<br> + samplelist = []<br> + for i in range(0, 10):<br> + f = open(sampledir + '\\' + 'sample' + str(i) + '.txt', 'r')<br> + sample = []<br> + sample = f.readlines()<br> + sample = [x.rstrip() for x in sample]<br> + samplelist.append(sample)<br> + f.close<br> + <br> + # offence being tested<br> + offencedir = 'Offences_1830s'<br> + offencefile = 'theft-simplelarceny.txt'<br> + f = open(offencedir + '\\' + offencefile, 'r')<br> + offencelist = f.readlines()<br> + offencelist = [x.rstrip() for x in offencelist]<br> + f.close()<br> + offencecount = len(offencelist)<br> + <br> + # trials<br> + trialdir = 'Mined_1830s_clean'<br> + <br> + # open output file and write the file header<br> + outfile = 'cross-val-learn.txt'<br> + f = open(outfile, 'w')<br> + f.write('OLD BAILEY Tenfold Cross-Validation Learning Run\n\n')<br> + f.write('Offence: ' + offencedir + '\\' + offencefile + '\n')<br> + if learner == 'coinflip':<br> + f.write('Learning run: coinflip\n')<br> + elif learner == 'getwords':<br> + f.write('Learning run: getwords\n')<br> + else:<br> + f.write('Learning run: gettwograms\n')<br> + f.write("\nRun, %7s, %7s, %7s, %7s\n" % ('Hit', 'Miss', 'FalseP', 'CorrN'))<br> + <br> + # run tests<br> + cl = []<br> + for i in range(0,10):<br> + <br> + # train a new learner of the appropriate kind for each run<br> + if learner == 'getwords':<br> + cl.append(naivebayes(getwords))<br> + elif learner == 'gettwograms':<br> + cl.append(naivebayes(gettwograms))<br> + else:<br> + cl.append('coinflip')<br> + <br> + # response categories<br> + hits = 0<br> + misses = 0<br> + falseps = 0<br> + corrns = 0<br> + <br> + # set testing sample to i<br> + print str(i) + ' Loading samples...'<br> + testingsample = []<br> + testingsample = samplelist[i]<br> + <br> + # set training sample to the concatenation of the others<br> + trainingsample = []<br> + for j in range(0, i): trainingsample.extend(samplelist[j])<br> + for j in range((i+1), 10): trainingsample.extend(samplelist[j])<br> + <br> + # train the learner on training sample<br> + if learner != 'coinflip':<br> + <br> + print str(i) + ' Training'<br> + sys.stdout.flush()<br> + <br> + for r in trainingsample:<br> + trialstr = ''<br> + trialstr = open(trialdir + '\\clean_' + r, 'r').read()<br> + if r in offencelist: cl[i].train(trialstr,'y')<br> + else: cl[i].train(trialstr,'n')<br> + <br> + # test the learner on testing sample<br> + print str(i) + ' Testing'<br> + sys.stdout.flush()<br> + <br> + for t in testingsample:<br> + <br> + # read trial into string<br> + trialstr = ''<br> + trialstr = open(trialdir + '\\clean_' + t, 'r').read()<br> + <br> + # use learner to categorize trial<br> + if learner == 'coinflip':<br> + g = coinflip()<br> + else:<br> + g = cl[i].classify(trialstr,default='n')<br> + <br> + # compare categorization with actual category<br> + if t in offencelist:<br> + # hit or miss<br> + if g == 'y': hits+=1<br> + else: misses+=1<br> + else:<br> + # false positive or correct negative<br> + if g == 'y': falseps+=1<br> + else: corrns+=1<br> + <br> + # write out learner performance<br> + f.write("%03d, %07d, %07d, %07d, %07d\n" % (i, hits, misses, falseps, corrns))<br> + f.flush()<br> + <br> + print 'Done'<br> + sys.stdout.flush()<br> + <br> + # close output file<br> + f.close()<br> + }}}</span> </td> </tr> </table> </div> DHH20080618-03http://digitalhistory.wikispot.org/DHH20080618-032009-11-14 11:04:43william.j.turkel <div id="content" class="wikipage content"> Differences for DHH20080618-03<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 1: </td> <td> Line 1: </td> </tr> <tr> <td> </td> <td> <span>+ {{{<br> + # cross-validate-tfidf-learner.py<br> + # old bailey<br> + #<br> + # test performance of TF/IDF based learner on a<br> + # cross-validation sample<br> + <br> + import os, string, re, sys<br> + from bayesian import *<br> + <br> + # the routine to extract features has to be bypassed<br> + # this expects a string made by concatenating terms<br> + # with highest TF/IDF<br> + def passtfidf(doc):<br> + wordlist = doc.split(' ')<br> + return dict([(w,1) for w in wordlist])<br> + <br> + # set learner type and number of features<br> + learner = 'tfidf'<br> + numfeatures = 40<br> + <br> + # read the 10 sample files into an array of lists of the form<br> + # samplelist[sample_number][item_number]<br> + sampledir = 'Samples_1830s'<br> + samplelist = []<br> + for i in range(0, 10):<br> + f = open(sampledir + '\\' + 'sample' + str(i) + '.txt', 'r')<br> + sample = []<br> + sample = f.readlines()<br> + sample = [x.rstrip() for x in sample]<br> + samplelist.append(sample)<br> + f.close<br> + <br> + # offence being tested<br> + offencedir = 'Offences_1830s'<br> + offencefile = 'theft-simplelarceny.txt'<br> + f = open(offencedir + '\\' + offencefile, 'r')<br> + offencelist = f.readlines()<br> + offencelist = [x.rstrip() for x in offencelist]<br> + f.close()<br> + offencecount = len(offencelist)<br> + <br> + # trials<br> + trialdir = 'TFIDF_1830s'<br> + <br> + # open output file and write the file header<br> + outfile = 'cross-val-tfidf-lrn.txt'<br> + f = open(outfile, 'w')<br> + f.write('OLD BAILEY Tenfold Cross-Validation Learning Run\n\n')<br> + f.write('Offence: ' + offencedir + '\\' + offencefile + '\n')<br> + f.write('Learning run: tfidf, ' + str(numfeatures) + ' features\n')<br> + f.write("\nRun, %7s, %7s, %7s, %7s\n" % ('Hit', 'Miss', 'FalseP', 'CorrN'))<br> + <br> + # run tests<br> + cl = []<br> + for i in range(0,10):<br> + <br> + # train a new learner for each run<br> + cl.append(naivebayes(passtfidf))<br> + <br> + # response categories<br> + hits = 0<br> + misses = 0<br> + falseps = 0<br> + corrns = 0<br> + <br> + # set testing sample to i<br> + print str(i) + ' Loading samples...'<br> + testingsample = []<br> + testingsample = samplelist[i]<br> + <br> + # set training sample to the concatenation of the others<br> + trainingsample = []<br> + for j in range(0, i): trainingsample.extend(samplelist[j])<br> + for j in range((i+1), 10): trainingsample.extend(samplelist[j])<br> + <br> + # train the learner on training sample<br> + print str(i) + ' Training'<br> + sys.stdout.flush()<br> + <br> + for r in trainingsample:<br> + trialstr = ''<br> + ff = open(trialdir + '\\tfidf_' + r, 'r')<br> + whole = ff.readlines()<br> + feat = min(len(whole)-1, numfeatures)<br> + for k in range(0, feat):<br> + linein = whole[k].split(',')<br> + trialstr += str(linein[0])<br> + trialstr += ' '<br> + ff.close()<br> + <br> + if r in offencelist:<br> + # print trialstr.rstrip()<br> + cl[i].train(trialstr.rstrip(),'y')<br> + else:<br> + # print trialstr.rstrip()<br> + cl[i].train(trialstr.rstrip(),'n')<br> + <br> + # test the learner on testing sample<br> + print str(i) + ' Testing'<br> + sys.stdout.flush()<br> + <br> + for t in testingsample:<br> + <br> + # read trial into string<br> + trialstr = ''<br> + ff = open(trialdir + '\\tfidf_' + t, 'r')<br> + whole = ff.readlines()<br> + feat = min(len(whole)-1, numfeatures)<br> + for k in range(0, feat):<br> + linein = whole[k].split(',')<br> + trialstr += str(linein[0])<br> + trialstr += ' '<br> + ff.close()<br> + <br> + # use learner to categorize trial<br> + g = cl[i].classify(trialstr.rstrip(),default='n')<br> + <br> + # compare categorization with actual category<br> + if t in offencelist:<br> + # hit or miss<br> + if g == 'y': hits+=1<br> + else: misses+=1<br> + else:<br> + # false positive or correct negative<br> + if g == 'y': falseps+=1<br> + else: corrns+=1<br> + <br> + # write out learner performance<br> + f.write("%03d, %07d, %07d, %07d, %07d\n" % (i, hits, misses, falseps, corrns))<br> + f.flush()<br> + <br> + print 'Done'<br> + sys.stdout.flush()<br> + <br> + # close output file<br> + f.close()<br> + }}}</span> </td> </tr> </table> </div> DHH20080618-02http://digitalhistory.wikispot.org/DHH20080618-022009-11-14 11:03:53william.j.turkel <div id="content" class="wikipage content"> Differences for DHH20080618-02<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 1: </td> <td> Line 1: </td> </tr> <tr> <td> </td> <td> <span>+ {{{<br> + # compute-tfidf.py<br> + # old bailey<br> + #<br> + # compute TF/IDF for each term used in a trial and<br> + # sort in descending order<br> + <br> + import os, sys, re<br> + from math import log<br> + from pysqlite2 import dbapi2 as sqlite<br> + <br> + stopwords = ['a', 'about', 'above', 'across', 'after', 'afterwards']<br> + stopwords += ['again', 'against', 'all', 'almost', 'alone', 'along']<br> + stopwords += ['already', 'also', 'although', 'always', 'am', 'among']<br> + stopwords += ['amongst', 'amoungst', 'amount', 'an', 'and', 'another']<br> + stopwords += ['any', 'anyhow', 'anyone', 'anything', 'anyway', 'anywhere']<br> + stopwords += ['are', 'around', 'as', 'at', 'back', 'be', 'became']<br> + stopwords += ['because', 'become', 'becomes', 'becoming', 'been']<br> + stopwords += ['before', 'beforehand', 'behind', 'being', 'below']<br> + stopwords += ['beside', 'besides', 'between', 'beyond', 'bill', 'both']<br> + stopwords += ['bottom', 'but', 'by', 'call', 'can', 'cannot', 'cant']<br> + stopwords += ['co', 'computer', 'con', 'could', 'couldnt', 'cry', 'de']<br> + stopwords += ['describe', 'detail', 'did', 'do', 'done', 'down', 'due']<br> + stopwords += ['during', 'each', 'eg', 'eight', 'either', 'eleven', 'else']<br> + stopwords += ['elsewhere', 'empty', 'enough', 'etc', 'even', 'ever']<br> + stopwords += ['every', 'everyone', 'everything', 'everywhere', 'except']<br> + stopwords += ['few', 'fifteen', 'fifty', 'fill', 'find', 'fire', 'first']<br> + stopwords += ['five', 'for', 'former', 'formerly', 'forty', 'found']<br> + stopwords += ['four', 'from', 'front', 'full', 'further', 'get', 'give']<br> + stopwords += ['go', 'had', 'has', 'hasnt', 'have', 'he', 'hence', 'her']<br> + stopwords += ['here', 'hereafter', 'hereby', 'herein', 'hereupon', 'hers']<br> + stopwords += ['herself', 'him', 'himself', 'his', 'how', 'however']<br> + stopwords += ['hundred', 'i', 'ie', 'if', 'in', 'inc', 'indeed']<br> + stopwords += ['interest', 'into', 'is', 'it', 'its', 'itself', 'keep']<br> + stopwords += ['last', 'latter', 'latterly', 'least', 'less', 'ltd', 'made']<br> + stopwords += ['many', 'may', 'me', 'meanwhile', 'might', 'mill', 'mine']<br> + stopwords += ['more', 'moreover', 'most', 'mostly', 'move', 'much']<br> + stopwords += ['must', 'my', 'myself', 'name', 'namely', 'neither', 'never']<br> + stopwords += ['nevertheless', 'next', 'nine', 'no', 'nobody', 'none']<br> + stopwords += ['noone', 'nor', 'not', 'nothing', 'now', 'nowhere', 'of']<br> + stopwords += ['off', 'often', 'on','once', 'one', 'only', 'onto', 'or']<br> + stopwords += ['other', 'others', 'otherwise', 'our', 'ours', 'ourselves']<br> + stopwords += ['out', 'over', 'own', 'part', 'per', 'perhaps', 'please']<br> + stopwords += ['put', 'rather', 're', 's', 'same', 'see', 'seem', 'seemed']<br> + stopwords += ['seeming', 'seems', 'serious', 'several', 'she', 'should']<br> + stopwords += ['show', 'side', 'since', 'sincere', 'six', 'sixty', 'so']<br> + stopwords += ['some', 'somehow', 'someone', 'something', 'sometime']<br> + stopwords += ['sometimes', 'somewhere', 'still', 'such', 'system', 'take']<br> + stopwords += ['ten', 'than', 'that', 'the', 'their', 'them', 'themselves']<br> + stopwords += ['then', 'thence', 'there', 'thereafter', 'thereby']<br> + stopwords += ['therefore', 'therein', 'thereupon', 'these', 'they']<br> + stopwords += ['thick', 'thin', 'third', 'this', 'those', 'though', 'three']<br> + stopwords += ['three', 'through', 'throughout', 'thru', 'thus', 'to']<br> + stopwords += ['together', 'too', 'top', 'toward', 'towards', 'twelve']<br> + stopwords += ['twenty', 'two', 'un', 'under', 'until', 'up', 'upon']<br> + stopwords += ['us', 'very', 'via', 'was', 'we', 'well', 'were', 'what']<br> + stopwords += ['whatever', 'when', 'whence', 'whenever', 'where']<br> + stopwords += ['whereafter', 'whereas', 'whereby', 'wherein', 'whereupon']<br> + stopwords += ['wherever', 'whether', 'which', 'while', 'whither', 'who']<br> + stopwords += ['whoever', 'whole', 'whom', 'whose', 'why', 'will', 'with']<br> + stopwords += ['within', 'without', 'would', 'yet', 'you', 'your']<br> + stopwords += ['yours', 'yourself', 'yourselves']<br> + <br> + # given a list of words, remove any that are<br> + # in a list of stop words<br> + def removeStopwords(wordlist, stopwords):<br> + return [w for w in wordlist if w not in stopwords]<br> + <br> + # given a list of words, remove any that include numerals<br> + def removeNumeralwords(wordlist):<br> + numerals = re.compile('\d+')<br> + l = wordlist[:]<br> + for m in l:<br> + if numerals.match(m):<br> + wordlist.remove(m)<br> + return wordlist<br> + <br> + # given a directory string, return a list of file names<br> + def getFileNames(dirstr):<br> + dircommand = 'dir ' + dirstr + ' /B'<br> + filelist = os.popen(dircommand).readlines()<br> + filelist = [x.rstrip() for x in filelist]<br> + return filelist<br> + <br> + # trials<br> + trialdir = 'Mined_1830s_clean'<br> + triallist = getFileNames(trialdir)<br> + numdocs = len(triallist)<br> + <br> + # create tfidf directory if it doesn't exist<br> + tfidfdir = 'TFIDF_1830s'<br> + if os.path.exists(tfidfdir) == 0: os.mkdir(tfidfdir)<br> + <br> + # look up document frequencies in SQLite DB<br> + connection = sqlite.connect('docfreqs.db')<br> + cursor = connection.cursor()<br> + <br> + # process each trial<br> + i = 0<br> + for t in triallist:<br> + <br> + # provide feedback for user<br> + i += 1<br> + print 'Processing %06d %s' % (i, t)<br> + sys.stdout.flush()<br> + <br> + # create a dictionary of unique words and word counts from trial<br> + trialstr = ''<br> + trialstr = open(trialdir + '\\' + t, 'r').read()<br> + allwords = trialstr.split(' ')<br> + wordlist = removeStopwords(allwords, stopwords)<br> + wordlist = removeNumeralwords(wordlist)<br> + wordfreq = [wordlist.count(p) for p in wordlist]<br> + dictionary = dict(zip(wordlist,wordfreq))<br> + <br> + # compute TF/IDF for each term and add to a new dictionary<br> + newdict = {}<br> + for key in dictionary:<br> + getdf = cursor.execute("SELECT freq FROM docfreqs WHERE docterm = '%s'" % (key)).fetchone()<br> + if getdf == None:<br> + print "ERROR: No doc freq for %s" % key<br> + quit()<br> + df = float(getdf[0])<br> + tf = float(dictionary[key])<br> + tfidf = log(tf+1.0) * log(numdocs/df)<br> + newdict[key] = tfidf<br> + <br> + # sort TF/IDFs in descending order<br> + aux = [ (newdict[key], key) for key in newdict]<br> + aux.sort()<br> + aux.reverse()<br> + <br> + # write out to text file<br> + trialpattern = re.compile(r'clean_(t-\d+-\d+)', re.UNICODE)<br> + matchid = trialpattern.search(str(t))<br> + outfile = tfidfdir + '\\' + 'tfidf_' + matchid.group(1) + '.txt'<br> + f = open(outfile, 'w')<br> + for a in aux:<br> + f.write(str(a[1]) + ',' + str(a[0]) + '\n')<br> + f.close()<br> + <br> + }}}</span> </td> </tr> </table> </div> DHH20080618-01http://digitalhistory.wikispot.org/DHH20080618-012009-11-14 11:03:04william.j.turkel <div id="content" class="wikipage content"> Differences for DHH20080618-01<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 1: </td> <td> Line 1: </td> </tr> <tr> <td> </td> <td> <span>+ {{{<br> + # compute-doc-freqs.py<br> + # old bailey<br> + #<br> + # remove stop words then compute document frequencies<br> + # for all remaining words<br> + <br> + # stores document frequencies in a SQLite DB<br> + <br> + import os, sys, re<br> + from bayesian import *<br> + from pysqlite2 import dbapi2 as sqlite<br> + <br> + stopwords = ['a', 'about', 'above', 'across', 'after', 'afterwards']<br> + stopwords += ['again', 'against', 'all', 'almost', 'alone', 'along']<br> + stopwords += ['already', 'also', 'although', 'always', 'am', 'among']<br> + stopwords += ['amongst', 'amoungst', 'amount', 'an', 'and', 'another']<br> + stopwords += ['any', 'anyhow', 'anyone', 'anything', 'anyway', 'anywhere']<br> + stopwords += ['are', 'around', 'as', 'at', 'back', 'be', 'became']<br> + stopwords += ['because', 'become', 'becomes', 'becoming', 'been']<br> + stopwords += ['before', 'beforehand', 'behind', 'being', 'below']<br> + stopwords += ['beside', 'besides', 'between', 'beyond', 'bill', 'both']<br> + stopwords += ['bottom', 'but', 'by', 'call', 'can', 'cannot', 'cant']<br> + stopwords += ['co', 'computer', 'con', 'could', 'couldnt', 'cry', 'de']<br> + stopwords += ['describe', 'detail', 'did', 'do', 'done', 'down', 'due']<br> + stopwords += ['during', 'each', 'eg', 'eight', 'either', 'eleven', 'else']<br> + stopwords += ['elsewhere', 'empty', 'enough', 'etc', 'even', 'ever']<br> + stopwords += ['every', 'everyone', 'everything', 'everywhere', 'except']<br> + stopwords += ['few', 'fifteen', 'fifty', 'fill', 'find', 'fire', 'first']<br> + stopwords += ['five', 'for', 'former', 'formerly', 'forty', 'found']<br> + stopwords += ['four', 'from', 'front', 'full', 'further', 'get', 'give']<br> + stopwords += ['go', 'had', 'has', 'hasnt', 'have', 'he', 'hence', 'her']<br> + stopwords += ['here', 'hereafter', 'hereby', 'herein', 'hereupon', 'hers']<br> + stopwords += ['herself', 'him', 'himself', 'his', 'how', 'however']<br> + stopwords += ['hundred', 'i', 'ie', 'if', 'in', 'inc', 'indeed']<br> + stopwords += ['interest', 'into', 'is', 'it', 'its', 'itself', 'keep']<br> + stopwords += ['last', 'latter', 'latterly', 'least', 'less', 'ltd', 'made']<br> + stopwords += ['many', 'may', 'me', 'meanwhile', 'might', 'mill', 'mine']<br> + stopwords += ['more', 'moreover', 'most', 'mostly', 'move', 'much']<br> + stopwords += ['must', 'my', 'myself', 'name', 'namely', 'neither', 'never']<br> + stopwords += ['nevertheless', 'next', 'nine', 'no', 'nobody', 'none']<br> + stopwords += ['noone', 'nor', 'not', 'nothing', 'now', 'nowhere', 'of']<br> + stopwords += ['off', 'often', 'on','once', 'one', 'only', 'onto', 'or']<br> + stopwords += ['other', 'others', 'otherwise', 'our', 'ours', 'ourselves']<br> + stopwords += ['out', 'over', 'own', 'part', 'per', 'perhaps', 'please']<br> + stopwords += ['put', 'rather', 're', 's', 'same', 'see', 'seem', 'seemed']<br> + stopwords += ['seeming', 'seems', 'serious', 'several', 'she', 'should']<br> + stopwords += ['show', 'side', 'since', 'sincere', 'six', 'sixty', 'so']<br> + stopwords += ['some', 'somehow', 'someone', 'something', 'sometime']<br> + stopwords += ['sometimes', 'somewhere', 'still', 'such', 'system', 'take']<br> + stopwords += ['ten', 'than', 'that', 'the', 'their', 'them', 'themselves']<br> + stopwords += ['then', 'thence', 'there', 'thereafter', 'thereby']<br> + stopwords += ['therefore', 'therein', 'thereupon', 'these', 'they']<br> + stopwords += ['thick', 'thin', 'third', 'this', 'those', 'though', 'three']<br> + stopwords += ['three', 'through', 'throughout', 'thru', 'thus', 'to']<br> + stopwords += ['together', 'too', 'top', 'toward', 'towards', 'twelve']<br> + stopwords += ['twenty', 'two', 'un', 'under', 'until', 'up', 'upon']<br> + stopwords += ['us', 'very', 'via', 'was', 'we', 'well', 'were', 'what']<br> + stopwords += ['whatever', 'when', 'whence', 'whenever', 'where']<br> + stopwords += ['whereafter', 'whereas', 'whereby', 'wherein', 'whereupon']<br> + stopwords += ['wherever', 'whether', 'which', 'while', 'whither', 'who']<br> + stopwords += ['whoever', 'whole', 'whom', 'whose', 'why', 'will', 'with']<br> + stopwords += ['within', 'without', 'would', 'yet', 'you', 'your']<br> + stopwords += ['yours', 'yourself', 'yourselves']<br> + <br> + # given a list of words, remove any that are<br> + # in a list of stop words<br> + def removeStopwords(wordlist, stopwords):<br> + return [w for w in wordlist if w not in stopwords]<br> + <br> + # given a list of words, remove any that include numerals<br> + def removeNumeralwords(wordlist):<br> + numerals = re.compile('\d+')<br> + l = wordlist[:]<br> + for m in l:<br> + if numerals.match(m):<br> + wordlist.remove(m)<br> + return wordlist<br> + <br> + # return the unique items of a list<br> + def uniqItems(wordlist):<br> + return list(set(wordlist))<br> + <br> + # given a directory string, return a list of file names<br> + def getFileNames(dirstr):<br> + dircommand = 'dir ' + dirstr + ' /B'<br> + filelist = os.popen(dircommand).readlines()<br> + filelist = [x.rstrip() for x in filelist]<br> + return filelist<br> + <br> + # trials<br> + trialdir = 'Mined_1830s_clean'<br> + triallist = getFileNames(trialdir)<br> + <br> + # document frequencies will be stored in SQLite DB<br> + connection = sqlite.connect('docfreqs.db')<br> + cursor = connection.cursor()<br> + cursor.execute('CREATE TABLE IF NOT EXISTS docfreqs (docterm VARCHAR(50), freq INTEGER)')<br> + cursor.execute('DELETE FROM docfreqs WHERE 1')<br> + <br> + i = 0<br> + for t in triallist:<br> + i+=1<br> + print "%06d %s" % (i, t)<br> + sys.stdout.flush()<br> + trialstr = ''<br> + trialstr = open(trialdir + '\\' + t, 'r').read()<br> + allwords = []<br> + allwords = trialstr.split(' ')<br> + wordlist = []<br> + wordlist = removeStopwords(allwords, stopwords)<br> + wordlist = removeNumeralwords(wordlist)<br> + <br> + for w in uniqItems(wordlist):<br> + existingrecord = cursor.execute("SELECT freq FROM docfreqs WHERE docterm='%s'" % (w)).fetchone()<br> + if existingrecord == None:<br> + cursor.execute("INSERT INTO docfreqs VALUES ('%s', 1)" % (w))<br> + else:<br> + count = long(existingrecord[0])<br> + cursor.execute("UPDATE docfreqs SET freq=%d WHERE docterm='%s'" % (count+1,w))<br> + connection.commit()<br> + <br> + }}}</span> </td> </tr> </table> </div> DHH20080625-01http://digitalhistory.wikispot.org/DHH20080625-012009-11-14 11:01:59william.j.turkel <div id="content" class="wikipage content"> Differences for DHH20080625-01<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 1: </td> <td> Line 1: </td> </tr> <tr> <td> </td> <td> <span>+ {{{<br> + # online-learning.py<br> + # old bailey<br> + #<br> + # given labelled, chronological sequence of data<br> + # predicts category for unlabelled current item<br> + # then is trained on labelled item<br> + # outputs statistics<br> + <br> + import os, string, re, sys<br> + from bayesian import *<br> + <br> + # the routine to extract features has to be bypassed<br> + # this expects a string made by concatenating terms<br> + # with highest TF/IDF<br> + def passtfidf(doc):<br> + wordlist = doc.split(' ')<br> + return dict([(w,1) for w in wordlist])<br> + <br> + # read in a list of trials<br> + f = open('trial-ids-1830s.txt', 'r')<br> + triallist = f.readlines()<br> + f.close()<br> + <br> + # given a trial file name, return long integer<br> + # that can be used for sorting<br> + def trialtoint(trialname):<br> + pattern = re.compile(r'(\d{8})-(\d+)', re.UNICODE)<br> + match = pattern.search(trialname)<br> + date = match.group(1)<br> + id = match.group(2)<br> + return long("%8d%06d" % (long(date), long(id)))<br> + <br> + # sort trial list into chronological order<br> + triallist.sort(lambda x, y: cmp(trialtoint(x),trialtoint(y)))<br> + <br> + # overall sample size<br> + samplesize = len(triallist)<br> + <br> + # output directory<br> + outdir = 'Online_Runs_1830s'<br> + if os.path.exists(outdir) == 0: os.mkdir(outdir)<br> + <br> + # test all offence categories that occur 10 or more times in the data set<br> + offencecountfile = 'offence-counts-1830s.txt'<br> + f = open(offencecountfile, 'r')<br> + offencecountlist = f.readlines()<br> + f.close()<br> + toprocess = []<br> + for k in offencecountlist:<br> + linein = k.split('|')<br> + if int(linein[1].rstrip()) &gt; 9:<br> + toprocess.append(linein[0])<br> + <br> + # run the learner on each offence<br> + for offencefile in toprocess:<br> + <br> + print "Processing ",<br> + print offencefile<br> + sys.stdout.flush()<br> + <br> + # read in a list of trials that belong in the offence category<br> + offencedir = 'Offences_1830s'<br> + f = open(offencedir + '\\' + offencefile, 'r')<br> + offencelist = f.readlines()<br> + offencelist = [x.rstrip() for x in offencelist]<br> + f.close()<br> + <br> + # number of instances of that offence in overall sample<br> + offencecount = len(offencelist)<br> + <br> + # define a learner<br> + learner = 'tfidf'<br> + numfeatures = 50<br> + cl=naivebayes(passtfidf)<br> + <br> + # response categories<br> + guess = ''<br> + actualcat = ''<br> + hits = 0<br> + misses = 0<br> + falseps = 0<br> + corrns = 0<br> + <br> + # output style is 'full' or 'fast'<br> + outputstyle = 'full'<br> + <br> + # for 'fast' output style<br> + reportincrement = 40<br> + <br> + # open output file and write the file header<br> + outfile = outdir + '\\online-tfidf' + str(numfeatures) + '-' + offencefile<br> + f = open(outfile, 'w')<br> + f.write('OLD BAILEY Online Learning Run\n\n')<br> + f.write('Offence: ' + offencedir + '\\' + offencefile + '\n')<br> + f.write('Learning run: tfidf, ' + str(numfeatures) + ' features\n')<br> + if outputstyle == 'full':<br> + f.write("\nTrial, Run, %6s, %3s, %5s, %6s, %7s, %6s\n" % ('Guess', 'Act', 'Hit', 'Miss', 'FalseP', 'CorrN'))<br> + else:<br> + f.write("\nRun, %6s, %7s, %8s, %6s\n" % ('Hit', 'Miss', 'FalseP', 'CorrN'))<br> + <br> + # test and train learner<br> + for i in range(0, samplesize):<br> + t = triallist[i].rstrip()<br> + if outputstyle == 'full':<br> + f.write(str(trialtoint(t)))<br> + f.write(",\t")<br> + <br> + # read trial into string<br> + trialstr = ''<br> + ff = open('TFIDF_1830s\\tfidf_' + t, 'r')<br> + whole = ff.readlines()<br> + feat = min(len(whole)-1, numfeatures)<br> + for k in range(0, feat):<br> + linein = whole[k].split(',')<br> + trialstr += str(linein[0])<br> + trialstr += ' '<br> + ff.close()<br> + <br> + # use current state of learner to categorize trial<br> + guess = cl.classify(trialstr.rstrip(),default='n')<br> + <br> + # is this an instance of the offence category?<br> + if t in offencelist:<br> + # hit or miss<br> + actualcat = 'y'<br> + if guess == 'y': hits+=1<br> + else: misses+=1<br> + # train a positive instance<br> + cl.train(trialstr,'y')<br> + else:<br> + # false positive or correct negative<br> + actualcat = 'n'<br> + if guess == 'y': falseps+=1<br> + else: corrns+=1<br> + # train a negative instance<br> + cl.train(trialstr,'n')<br> + <br> + # write results to data table<br> + if outputstyle == 'full':<br> + f.write("%06d, %3s, %3s, %06d, %06d, %06d, %06d\n" % (i+1, guess, actualcat, hits, misses, falseps, corrns))<br> + elif (outputstyle == 'fast') and (i % reportincrement == 0):<br> + f.write("%06d, %06d, %06d, %06d, %06d\n" % (i+1, hits, misses, falseps, corrns))<br> + else:<br> + continue<br> + f.flush()<br> + <br> + f.close()<br> + }}}</span> </td> </tr> </table> </div> FabWiki Electronic componentshttp://digitalhistory.wikispot.org/FabWiki_Electronic_components2009-11-13 18:07:38william.j.turkel <div id="content" class="wikipage content"> Differences for FabWiki Electronic components<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 23: </td> <td> Line 23: </td> </tr> <tr> <td> </td> <td> <span>+ * [http://home.comcast.net/~sbernardi/elec/og2/partsub_opamps.html Op Amp Substitution]</span> </td> </tr> </table> </div> FabWiki MakerBot Cupcakehttp://digitalhistory.wikispot.org/FabWiki_MakerBot_Cupcake2009-11-12 19:48:04william.j.turkel <div id="content" class="wikipage content"> Differences for FabWiki MakerBot Cupcake<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 97: </td> <td> Line 97: </td> </tr> <tr> <td> </td> <td> <span>+ * Power LED on Sanguino doesn't light up even though Arduino software claims that bootloader burns successfully</span> </td> </tr> <tr> <td> Line 100: </td> <td> Line 101: </td> </tr> <tr> <td> </td> <td> <span>+ * Debugging<br> + * The power LED never lights up on the Sanguino</span> </td> </tr> <tr> <td> Line 101: </td> <td> Line 104: </td> </tr> <tr> <td> <span>- * Tried connecting LED to Pin 13 and resetting. It doesn't flash, which suggests something may be wrong with bootloader</span> </td> <td> <span>+ * Tried connecting LED to Pin 13 and resetting. It doesn't flash, which suggests something may be wrong with bootloader. When I power with the ATX power supply and hit the reset button, the Debug light flashes 4 times; the power light doesn't come on at all.<br> + * Tried putting a low voltage through the SMD LEDs that indicate Power and Debug (on the LEDs, cathode is marked with green stripe). Both LEDs work.</span> </td> </tr> </table> </div> FabWiki MakerBot Cupcakehttp://digitalhistory.wikispot.org/FabWiki_MakerBot_Cupcake2009-11-12 19:32:32william.j.turkel <div id="content" class="wikipage content"> Differences for FabWiki MakerBot Cupcake<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 100: </td> <td> Line 100: </td> </tr> <tr> <td> </td> <td> <span>+ * Unfortunately I am now getting the following error: "avrdude: stk500_recv(): programmer is not responding"<br> + * Tried connecting LED to Pin 13 and resetting. It doesn't flash, which suggests something may be wrong with bootloader</span> </td> </tr> </table> </div> FabWiki MakerBot Cupcakehttp://digitalhistory.wikispot.org/FabWiki_MakerBot_Cupcake2009-11-12 18:59:45william.j.turkel <div id="content" class="wikipage content"> Differences for FabWiki MakerBot Cupcake<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 99: </td> <td> Line 99: </td> </tr> <tr> <td> </td> <td> <span>+ * Don't forget to copy reprap-r3g-firmware-1.x/libraries/* to arduino-00xx/hardware/libraries/ (otherwise you will get an error that it can't find simplepacket.h)</span> </td> </tr> </table> </div> FabWiki MakerBot Cupcakehttp://digitalhistory.wikispot.org/FabWiki_MakerBot_Cupcake2009-11-12 18:48:57william.j.turkel <div id="content" class="wikipage content"> Differences for FabWiki MakerBot Cupcake<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 95: </td> <td> Line 95: </td> </tr> <tr> <td> <span>-</span> * Used Arduino 0017 on Mac OS X with [http://sanguino.cc/useit Sanguino] support </td> <td> <span>+</span> * Used Arduino 0017 on Mac OS X with [http://sanguino.cc/useit Sanguino<span>&nbsp;1.4-r1</span>] support </td> </tr> <tr> <td> Line 97: </td> <td> Line 97: </td> </tr> <tr> <td> </td> <td> <span>+ * Firmware<br> + * Using RepRap Gen 3 Firmware 1.2</span> </td> </tr> </table> </div> FabWiki MakerBot Cupcakehttp://digitalhistory.wikispot.org/FabWiki_MakerBot_Cupcake2009-11-12 18:37:24william.j.turkel <div id="content" class="wikipage content"> Differences for FabWiki MakerBot Cupcake<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 94: </td> <td> Line 94: </td> </tr> <tr> <td> </td> <td> <span>+ * Burning the bootloader<br> + * Used Arduino 0017 on Mac OS X with [http://sanguino.cc/useit Sanguino] support<br> + * USBTinyISP needs to have jumper across two pins near cables in order to provide +5V to Sanguino</span> </td> </tr> </table> </div> Lab for Humanistic Fabricationhttp://digitalhistory.wikispot.org/Lab_for_Humanistic_Fabrication2009-11-12 12:24:48william.j.turkel <div id="content" class="wikipage content"> Differences for Lab for Humanistic Fabrication<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 6: </td> <td> Line 6: </td> </tr> <tr> <td> <span>-</span> ||RepRap (under construction)||Maker<span>b</span>ot (under construction)||Copam 24" vinyl cutter||Drill presses (8" and micro)|| </td> <td> <span>+</span> ||RepRap (under construction)||Maker<span>B</span>ot<span>s</span> (under construction)||Copam 24" vinyl cutter||Drill presses (8" and micro)|| </td> </tr> </table> </div> Lab for Humanistic Fabricationhttp://digitalhistory.wikispot.org/Lab_for_Humanistic_Fabrication2009-11-12 12:22:49william.j.turkel <div id="content" class="wikipage content"> Differences for Lab for Humanistic Fabrication<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 7: </td> <td> Line 7: </td> </tr> <tr> <td> <span>-</span> ||[[Image(scope.png)]]||Image(smd-rework-thumb.png)||[[Image(weller-thumb.jpg)]]||[[Image(dremel-thumb.jpg)]]|| </td> <td> <span>+</span> ||[[Image(scope.png)]]||<span>[[</span>Image(smd-rework-thumb.png)<span>]]</span>||[[Image(weller-thumb.jpg)]]||[[Image(dremel-thumb.jpg)]]|| </td> </tr> </table> </div> Lab for Humanistic Fabricationhttp://digitalhistory.wikispot.org/Lab_for_Humanistic_Fabrication2009-11-12 12:22:21william.j.turkel <div id="content" class="wikipage content"> Differences for Lab for Humanistic Fabrication<p><strong></strong></p>No differences found!</div> Lab for Humanistic Fabricationhttp://digitalhistory.wikispot.org/Lab_for_Humanistic_Fabrication2009-11-12 12:22:15william.j.turkel <div id="content" class="wikipage content"> Differences for Lab for Humanistic Fabrication<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 1: </td> <td> Line 1: </td> </tr> <tr> <td> <span>-</span> As of <span>Jun</span>e 2009, we have the following equipment. For more information, contact [http://history.uwo.ca/faculty/turkel William J. Turkel] or go to the ["Fabrication Wiki"]. </td> <td> <span>+</span> As of <span>Nov</span>e<span>mber</span> 2009, we have the following equipment. For more information, contact [http://history.uwo.ca/faculty/turkel William J. Turkel] or go to the ["Fabrication Wiki"]. </td> </tr> <tr> <td> Line 7: </td> <td> Line 7: </td> </tr> <tr> <td> <span>-</span> ||[[Image(scope.png)]]||<span>[[Image(</span>w<span>eller</span>-thumb.<span>jpg)]]||[[Image(dremel</span>-thumb.jpg)]]||[[Image(<span>sony</span>-thumb.jpg)]]||<br> <span>-</span> ||Oscilloscope||Weller soldering stations||Dremel rotary tools||<span>Video / digital cameras||</span> </td> <td> <span>+</span> ||[[Image(scope.png)]]||<span>Image(smd-re</span>w<span>ork</span>-thumb.<span>png)||[[Image(weller</span>-thumb.jpg)]]||[[Image(<span>dremel</span>-thumb.jpg)]]||<br> <span>+</span> ||Oscilloscope||<span>SMD rework station||</span>Weller soldering stations||Dremel rotary tools|| </td> </tr> <tr> <td> Line 11: </td> <td> Line 11: </td> </tr> <tr> <td> <span>-</span> ||[[Image(measure-thumb.jpg)]]||[[Image(tablet-thumb.jpg)]]||[[Image(solidworks-thumb.jpg)]]||<br> <span>-</span> ||Precision measuring instruments||Tablet computers and PDAs||SolidWorks, Rhino, Vectric|| </td> <td> <span>+</span> ||[[Image(measure-thumb.jpg)]]||[[Image(tablet-thumb.jpg)]]||[[Image(solidworks-thumb.jpg)]]||<span>[[Image(sony-thumb.jpg)]]||</span><br> <span>+</span> ||Precision measuring instruments||Tablet computers and PDAs||SolidWorks, Rhino, Vectric||<span>Video / digital cameras||</span> </td> </tr> </table> </div> Lab for Humanistic Fabricationhttp://digitalhistory.wikispot.org/Lab_for_Humanistic_Fabrication2009-11-12 12:22:08william.j.turkelUpload of image <a href="http://digitalhistory.wikispot.org/Lab_for_Humanistic_Fabrication?action=Files&do=view&target=smd-rework-thumb.png">smd-rework-thumb.png</a>.Lab for Humanistic Fabricationhttp://digitalhistory.wikispot.org/Lab_for_Humanistic_Fabrication2009-11-12 12:16:48william.j.turkel <div id="content" class="wikipage content"> Differences for Lab for Humanistic Fabrication<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 6: </td> <td> Line 6: </td> </tr> <tr> <td> <span>-</span> ||RepRap (under construction)||<span>Cupc</span>ake (under construction)||Copam 24" vinyl cutter||Drill presses (8" and micro)|| </td> <td> <span>+</span> ||RepRap (under construction)||<span>M</span>ake<span>rbot</span> (under construction)||Copam 24" vinyl cutter||Drill presses (8" and micro)|| </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-12 12:16:09william.j.turkel <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 78: </td> <td> Line 78: </td> </tr> <tr> <td> <span>-</span> *Next Engine 3D Desktop Scanner ([http://www.nextengine.com Website]) </td> <td> <span>+</span> *<span>&nbsp;</span>Next Engine 3D Desktop Scanner ([http://www.nextengine.com Website]) </td> </tr> <tr> <td> Line 82: </td> <td> Line 82: </td> </tr> <tr> <td> <span>- * Weller WES51 Soldering Station</span> </td> <td> </td> </tr> <tr> <td> Line 93: </td> <td> Line 92: </td> </tr> <tr> <td> <span>- * Weller Heat gun</span> </td> <td> </td> </tr> <tr> <td> Line 213: </td> <td> Line 211: </td> </tr> <tr> <td> <span>-</span> * Extech Minitech 26 handheld <span>d</span>igital <span>m</span>ultimeter </td> <td> <span>+ * Fluke 8050A Digital Multimeter (refurbished)<br> +</span> * Extech Minitech 26 handheld <span>D</span>igital <span>M</span>ultimeter </td> </tr> <tr> <td> Line 215: </td> <td> Line 214: </td> </tr> <tr> <td> <span>- * Extech DC Power Supply</span> </td> <td> <span>+ * Extech DC Power Supply, 0-18V, 0-3A (382202)<br> + * Xytronic 850D Digital Display SMD Rework Station</span> </td> </tr> <tr> <td> Line 217: </td> <td> Line 217: </td> </tr> <tr> <td> </td> <td> <span>+ * Weller Benchtop Smoke Absorber (WSA350)<br> + * Weller Heat gun</span> </td> </tr> </table> </div> FabWiki Photodetectorshttp://digitalhistory.wikispot.org/FabWiki_Photodetectors2009-11-10 08:44:47william.j.turkel <div id="content" class="wikipage content"> Differences for FabWiki Photodetectors<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 21: </td> <td> Line 21: </td> </tr> <tr> <td> <span>-</span> * [http://www.robotroom.com/ReversedLED.html Amplified Color Sensor] from LED and Op Amp </td> <td> <span>+</span> * [http://www.robotroom.com/ReversedLED.html Amplified Color Sensor] <span>built </span>from<span>&nbsp;reversed</span> LED and Op Amp </td> </tr> </table> </div> H9808A 2009 11 Locativehttp://digitalhistory.wikispot.org/H9808A_2009_11_Locative2009-11-09 17:47:51william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 11 Locative<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 9: </td> <td> Line 9: </td> </tr> <tr> <td> <span>-</span> * Kelly, "[http://www.kk.org/thetechnium/archives/2008/09/everything_too.php Everything, Too Cheaply Metered]," The Technium (15 Sep 2008). * <span>Kelly</span>, "[http://www.<span>kk.org/thetechnium/archives/200</span>8<span>/</span>09<span>/everything_too.php Everything, Too Cheaply Metered]," The Technium (15 Sep 2008</span>). </td> <td> <span>+</span> * Kelly, "[http://www.kk.org/thetechnium/archives/2008/09/everything_too.php Everything, Too Cheaply Metered]," The Technium (15 Sep<span>tember</span> 2008).<span><br> + </span> * <span>Sterling</span>, "[http://www.<span>wired.com/beyond_the_beyond/2009/10/augmented-reality-historical-reconstruction/ Augmented Reality: Historical Reconstruction," Beyond the Beyond (2</span>8<span>&nbsp;October 20</span>09). </td> </tr> </table> </div> FabWiki Servo motorshttp://digitalhistory.wikispot.org/FabWiki_Servo_motors2009-11-08 17:49:53william.j.turkel <div id="content" class="wikipage content"> Differences for FabWiki Servo motors<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 3: </td> <td> Line 3: </td> </tr> <tr> <td> </td> <td> <span>+ * [http://www.servodatabase.com/ Online Servo Database] - RC servo specs and reviews</span> </td> </tr> </table> </div> FabWiki Metalhttp://digitalhistory.wikispot.org/FabWiki_Metal2009-11-08 17:47:20william.j.turkel <div id="content" class="wikipage content"> Differences for FabWiki Metal<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 8: </td> <td> Line 8: </td> </tr> <tr> <td> </td> <td> <span>+ * [http://blog.craftzine.com/archive/2009/11/flashback_battle_chic_diy_chai.html How to make your own chainmail]</span> </td> </tr> </table> </div> FabWiki Arduinohttp://digitalhistory.wikispot.org/FabWiki_Arduino2009-11-07 18:34:03william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Arduino<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 43: </td> <td> Line 43: </td> </tr> <tr> <td> </td> <td> <span>+ * [http://www.hohlwelt.com/en/presenceweb/examples.html Web Presence Examples]</span> </td> </tr> </table> </div> FabWiki Arduinohttp://digitalhistory.wikispot.org/FabWiki_Arduino2009-11-07 18:33:12william.j.turkel <div id="content" class="wikipage content"> Differences for FabWiki Arduino<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 81: </td> <td> Line 81: </td> </tr> <tr> <td> <span>-</span> * [http://dimme.net/2008/01/10/webvisitors-blinker/ Web visitors blinker] </td> <td> <span>+</span> * [http://dimme.net/2008/01/10/webvisitors-blinker/ Web visitors blinker]<span>&nbsp;-- this link currently broken</span> </td> </tr> </table> </div> H9808A 2009 09 Digitizationhttp://digitalhistory.wikispot.org/H9808A_2009_09_Digitization2009-11-07 17:33:53william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 09 Digitization<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 9: </td> <td> Line 9: </td> </tr> <tr> <td> </td> <td> <span>+ * Choudhury et al, "[http://www.dlib.org/dlib/march06/choudhury/03choudhury.html Document Recognition for a Million Books]," ''D-Lib Magazine'' 12, no. 3 (March 2006).</span> </td> </tr> </table> </div> H9808A 2009 09 Digitizationhttp://digitalhistory.wikispot.org/H9808A_2009_09_Digitization2009-11-07 17:31:43william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 09 Digitization<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 4: </td> <td> Line 4: </td> </tr> <tr> <td> <span>- <br> - --&gt; '''The details of this page are not finalized yet... check back closer to day of class''' &lt;--</span> </td> <td> </td> </tr> <tr> <td> Line 15: </td> <td> Line 13: </td> </tr> <tr> <td> </td> <td> <span>+ * Stanford University, "[http://cads.stanford.edu/lcshgalaxy/more.html Library of Congress Subject Headings Galaxy]"</span> </td> </tr> </table> </div> H9808A 2009 09 Digitizationhttp://digitalhistory.wikispot.org/H9808A_2009_09_Digitization2009-11-07 17:20:13william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 09 Digitization<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 13: </td> <td> Line 13: </td> </tr> <tr> <td> <span>-</span> * Farid, "[http://www.cs.dartmouth.edu/farid/research/digitaltampering/ <span>Digi</span>t<span>al</span> Tampering <span>in </span>th<span>e</span> <span>Med</span>i<span>a, P</span>o<span>litics and Law</span>]." </td> <td> <span>+</span> * Farid, "[http://www.cs.dartmouth.edu/farid/research/digitaltampering/ <span>Pho</span>t<span>o</span> Tampering th<span>roughout</span> <span>H</span>i<span>st</span>o<span>ry</span>]." </td> </tr> </table> </div> H9808A 2009 09 Digitizationhttp://digitalhistory.wikispot.org/H9808A_2009_09_Digitization2009-11-07 17:18:02william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 09 Digitization<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 7: </td> <td> Line 7: </td> </tr> <tr> <td> </td> <td> <span>+ The process of digitization extracts some of the information associated with a material entity: documents can be scanned or photographed, objects photographed or measured in three dimensions, and so on. This process greatly changes the information costs associated with doing history. Digital entities will last indefinitely, can be replicated as many times as necessary and can be transmitted at the speed of light. Visualization is concerned with the role that aesthetic considerations play in understanding and usability. The most flexible approach for content creators is to divorce form from content, and to let people or machines create alternative visualizations of underlying information.<br> + </span> </td> </tr> <tr> <td> Line 9: </td> <td> Line 11: </td> </tr> <tr> <td> <span>- === Background Readings ===</span> </td> <td> <span>+ * Cohen, "[http://www.dancohen.org/2007/03/06/its-about-russia/ It’s About Russia]," Dancohen.org (6 Mar 2007).<br> + * Cohen and Rosenzweig, "[http://chnm.gmu.edu/digitalhistory/digitizing/ Becoming Digital]" ''Digital History''. Philadelphia: University of Pennsylvania, 2005.<br> + * Farid, "[http://www.cs.dartmouth.edu/farid/research/digitaltampering/ Digital Tampering in the Media, Politics and Law]."<br> + * Gallagher, "[http://www.guardian.co.uk/environment/2009/aug/23/mount-rushmore-conservation-historic-scotland Scottish Laser Pioneers Lead Way in Preserving World Heritage Treasures], ''The Observer'' (23 August 2009).<br> + * Turkel, "[http://digitalhistoryhacks.blogspot.com/2008/08/traces-of-use.html Traces of Use]," Digital History Hacks (20 August 2008).<br> + * Unsworth, "[http://www3.isrl.uiuc.edu/~unsworth/newberry.04.html The Value of Digitization for Libraries and Humanities Scholarship]," Newberry Library Symposium (17 May 2004).<br> + * Whitelaw, [http://visiblearchive.blogspot.com/ The Visible Archive] (2009).</span> </td> </tr> </table> </div> H9808A 2009 08 Mashupshttp://digitalhistory.wikispot.org/H9808A_2009_08_Mashups2009-11-07 17:06:04william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 08 Mashups<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 15: </td> <td> Line 15: </td> </tr> <tr> <td> <span>- * Nardi and O’Day. "[http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/670/580 Information Ecologies: Using Technology with Heart]," ''First Monday'' 4, no. 5 (1999).</span> </td> <td> </td> </tr> </table> </div> H9808A 2009 08 Mashupshttp://digitalhistory.wikispot.org/H9808A_2009_08_Mashups2009-11-07 17:04:10william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 08 Mashups<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 4: </td> <td> Line 4: </td> </tr> <tr> <td> <span>- <br> - --&gt; '''The details of this page are not finalized yet... check back closer to day of class''' &lt;--</span> </td> <td> </td> </tr> <tr> <td> Line 16: </td> <td> Line 14: </td> </tr> <tr> <td> <span>- * Koman, "[http://www.oreillynet.com/pub/a/policy/2005/02/24/lessig.html Remixing Culture: An Interview with Lawrence Lessig]," O’Reilly Network (24 Feb 2005).</span> </td> <td> </td> </tr> </table> </div> H9808A 2009 08 Mashupshttp://digitalhistory.wikispot.org/H9808A_2009_08_Mashups2009-11-07 17:02:01william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 08 Mashups<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 7: </td> <td> Line 7: </td> </tr> <tr> <td> </td> <td> <span>+ A mashup is a computer program that draws information from a number of different online databases, integrates it on-the-fly, and presents it to the user in the form of a dynamic webpage. The idea behind collective intelligence is to harness the problem-solving capabilities of a networked and communicating group of collaborators. Both phenomena are quintessentially “Web 2.0″. How can / will they change the practice or products of historical research?<br> + </span> </td> </tr> <tr> <td> Line 9: </td> <td> Line 11: </td> </tr> <tr> <td> </td> <td> <span>+ * Cohen, "[http://www.dancohen.org/blog/posts/do_apis_have_a_place_in_the_digital_humanities Do APIs Have a Place in the Digital Humanities?]" dancohen.org (21 Nov 2005).<br> + * Cohen, "[http://www.dancohen.org/blog/posts/when_machines_are_the_audience When Machines Are the Audience]," dancohen.org (2 Mar 2006).<br> + * Cohen, "[http://www.dancohen.org/blog/posts/where_are_the_noncommercial_apis Where Are the Noncommercial APIs?]" dancohen.org (10 Mar 2006).</span> </td> </tr> <tr> <td> Line 10: </td> <td> Line 15: </td> </tr> <tr> <td> </td> <td> <span>+ * Jenkins, "[http://www.henryjenkins.org/2006/11/collective_intelligence_vs_the.html Collective Intelligence vs. The Wisdom of Crowds]," Confessions of an Aca-Fan (27 Nov 2006).<br> + * Koman, "[http://www.oreillynet.com/pub/a/policy/2005/02/24/lessig.html Remixing Culture: An Interview with Lawrence Lessig]," O’Reilly Network (24 Feb 2005).</span> </td> </tr> <tr> <td> Line 11: </td> <td> Line 18: </td> </tr> <tr> <td> </td> <td> <span>+ * Nardi and O’Day. "[http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/670/580 Information Ecologies: Using Technology with Heart]," ''First Monday'' 4, no. 5 (1999).</span> </td> </tr> </table> </div> H9808A 2009 08 Mashupshttp://digitalhistory.wikispot.org/H9808A_2009_08_Mashups2009-11-07 16:57:31william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 08 Mashups<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 14: </td> <td> Line 14: </td> </tr> <tr> <td> </td> <td> <span>+ * Spears, "[http://www.gimp.org/tutorials/Lite_Quickies/ GIMPLite Quickies]"<br> + </span> </td> </tr> </table> </div> H9808A 2009 08 Mashupshttp://digitalhistory.wikispot.org/H9808A_2009_08_Mashups2009-11-07 16:55:17william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 08 Mashups<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 24: </td> <td> Line 24: </td> </tr> <tr> <td> <span>-</span> You can use either your own photos, or [http://www.flickr.com/creativecommons/ images from Flickr that have a Creative Commons license that allows derivative works]. Be sure to work with '''copies''' of your pictures, not the originals. The GIMP has quite a steep learning curve, so don't be too hard on yourself if it takes you a while to get the hang of working with it. Use the results to spruce up your Google website that you've been working on. </td> <td> <span>+</span> You can use either your own photos, or [http://www.flickr.com/creativecommons/ images from Flickr that have a Creative Commons license that allows derivative works]. Be sure to work with '''copies''' of your pictures, not the originals. The GIMP has quite a steep learning curve, so don't be too hard on yourself if it takes you a while to get the hang of working with it. Use the results to spruce up your Google website that you've been working on.<span>&nbsp;&nbsp;If you do use someone elses CC-licensed images, don't forget to attribute the source and provide a link to the originals.</span> </td> </tr> </table> </div> H9808A 2009 08 Mashupshttp://digitalhistory.wikispot.org/H9808A_2009_08_Mashups2009-11-07 16:54:40william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 08 Mashups<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 24: </td> <td> Line 24: </td> </tr> <tr> <td> <span>-</span> You can use either your own photos, or [http://www.flickr.com/creativecommons/ images from Flickr that have a Creative Commons license that allows derivative works]. Be sure to work with '''copies''' of your pictures, not the originals. The GIMP has quite a steep learning curve, so don't be too hard on yourself if it takes you a while to get the hang of working with it. </td> <td> <span>+</span> You can use either your own photos, or [http://www.flickr.com/creativecommons/ images from Flickr that have a Creative Commons license that allows derivative works]. Be sure to work with '''copies''' of your pictures, not the originals. The GIMP has quite a steep learning curve, so don't be too hard on yourself if it takes you a while to get the hang of working with it.<span>&nbsp;&nbsp;Use the results to spruce up your Google website that you've been working on.</span> </td> </tr> </table> </div> H9808A 2009 08 Mashupshttp://digitalhistory.wikispot.org/H9808A_2009_08_Mashups2009-11-07 16:53:19william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 08 Mashups<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 15: </td> <td> Line 15: </td> </tr> <tr> <td> </td> <td> <span>+ <br> + '''Graphics for your website.''' People who do a lot of work online frequently find themselves in the position of having to resize, crop, colour or otherwise adjust digital photographs. In this assignment, you are going to work with the open source [http://www.gimp.org/ GNU Image Manipulation Program (GIMP)]. Download and install it, then use it to try doing the following:<br> + <br> + * Convert a colour image to greyscale and to black and white<br> + * Create a thumbnail of a large image<br> + * Resize a photo without cropping it<br> + * Crop an image<br> + * Try saving copies of the same image with different resolutions ([http://en.wikipedia.org/wiki/Dots_per_inch DPI or PPI])<br> + <br> + You can use either your own photos, or [http://www.flickr.com/creativecommons/ images from Flickr that have a Creative Commons license that allows derivative works]. Be sure to work with '''copies''' of your pictures, not the originals. The GIMP has quite a steep learning curve, so don't be too hard on yourself if it takes you a while to get the hang of working with it.</span> </td> </tr> </table> </div> H9808A 2009 08 Mashupshttp://digitalhistory.wikispot.org/H9808A_2009_08_Mashups2009-11-07 16:44:36william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 08 Mashups<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 9: </td> <td> Line 9: </td> </tr> <tr> <td> <span>-</span> Gralla, "Ch 23 How Web Host Servers Work (Ch 25 7th ed.)", "Ch 24 How Websites Work with Databases (Ch 26 7th ed.)", "Ch 25 How .NET and Web Services Work (Ch 27 7th ed.)", "Ch 29 How Map Sites Work (not in 7th ed.)" </td> <td> <span>+ *</span> Gralla, "Ch 23 How Web Host Servers Work (Ch 25 7th ed.)", "Ch 24 How Websites Work with Databases (Ch 26 7th ed.)", "Ch 25 How .NET and Web Services Work (Ch 27 7th ed.)", "Ch 29 How Map Sites Work (not in 7th ed.)"<span><br> + * [http://www.avantgame.com/ McGonigal], "[http://www.avantgame.com/McGonigal_WhyILoveBees_Feb2007.pdf Why I Love Bees: A Case Study in Collective Intelligence Gaming]," in Katie Salen ed. ''The Ecology of Games'' (MIT, 2007).</span> </td> </tr> </table> </div> FabWiki Lab equipmenthttp://digitalhistory.wikispot.org/FabWiki_Lab_equipment2009-11-05 18:02:29william.j.turkel(quick edit) <div id="content" class="wikipage content"> Differences for FabWiki Lab equipment<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 224: </td> <td> Line 224: </td> </tr> <tr> <td> </td> <td> <span>+ *Digital Audio Recorders<br> + * Zoom H4n ([http://www.zoom.co.jp/english/products/h4n/ Website])<br> + * Zoom H4 ([http://www.zoom.co.jp/english/products/h4/ Website])</span> </td> </tr> </table> </div> FabWiki MakerBot Cupcakehttp://digitalhistory.wikispot.org/FabWiki_MakerBot_Cupcake2009-11-05 17:40:54william.j.turkel <div id="content" class="wikipage content"> Differences for FabWiki MakerBot Cupcake<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 92: </td> <td> Line 92: </td> </tr> <tr> <td> <span>-</span> * Had to <span>hack</span> the ATX power supply unit <span>by</span> g<span>rounding sense line</span> (following [http://www.flickr.com/photos/maskedretriever/3534606271/in/set-72157618087637079/ Masked Retriever's hack]) </td> <td> <span>+</span> * Had to <span>ground the sense line of</span> the ATX power supply unit <span>to</span> g<span>et it to power on without a computer attached</span> (following [http://www.flickr.com/photos/maskedretriever/3534606271/in/set-72157618087637079/ Masked Retriever's hack]) </td> </tr> </table> </div> FabWiki MakerBot Cupcakehttp://digitalhistory.wikispot.org/FabWiki_MakerBot_Cupcake2009-11-05 17:26:14william.j.turkel <div id="content" class="wikipage content"> Differences for FabWiki MakerBot Cupcake<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 82: </td> <td> Line 82: </td> </tr> <tr> <td> </td> <td> <span>+ <br> + = Testing the electronics =<br> + <br> + * Opto-endstops<br> + * Checked all connections with dissecting microscope set at 0.7 x 10x<br> + * Re-soldered one loose joint<br> + * Used PB-503 proto-board to build a little test rig for both kinds of connection<br> + * All endstops seem to be working correctly<br> + * Stepper motor drivers<br> + * Checked all SMD and through-hole connections with dissecting microscope<br> + * Had to hack the ATX power supply unit by grounding sense line (following [http://www.flickr.com/photos/maskedretriever/3534606271/in/set-72157618087637079/ Masked Retriever's hack])<br> + * Checked that green power LED comes on for all stepper motor drivers</span> </td> </tr> </table> </div> H9808A 2009 09 Digitizationhttp://digitalhistory.wikispot.org/H9808A_2009_09_Digitization2009-11-03 10:01:28william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 09 Digitization<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 13: </td> <td> Line 13: </td> </tr> <tr> <td> <span>-</span> '''Into the Time Machine!''' If you've had a chance to put down the books and get out for a while, you've no doubt noticed that this is the season when everyone goes gift shopping. And what better gift than a nice book? Following the lead of [http://books.google.com/books?q=dickens+christmas+carol&amp;btnG=Search+Books Mr. Dickens], in this assignment you are going to head for Christmas past. Go to Archive.org and load the [http://www.archive.org/details/eatons19131400eatouoft Eaton's Fall and Winter catalogue from 1913-14]. Starting on page "[http://www.archive.org/stream/eatons19131400eatouoft#page/n282/mode/1up n282]" you will find a list of books that Eaton's was selling that season. Your task is to choose 6-8 of the books advertised in the catalogue and find full online digital copies of them. (Some obvious places to search are [http://www.archive.org Archive.org], [http://books.google.com Google Books], and the [http://www.gutenberg.org Gutenberg Project].) Write a blog post about your search, and provide a list of links to the books that you found. You can also write about some of the books that you couldn't find. As you're doing this assignment, <span>tr</span>y <span>to pa</span>y<span>&nbsp;attention to the unexpected. When</span> you<span>&nbsp;are writing </span>y<span>our blog post tr</span>y<span>&nbsp;to reflect on what y</span>ou found the most surprising about the process. </td> <td> <span>+</span> '''Into the Time Machine!''' If you've had a chance to put down the books and get out for a while, you've no doubt noticed that this is the season when everyone goes gift shopping. And what better gift than a nice book? Following the lead of [http://books.google.com/books?q=dickens+christmas+carol&amp;btnG=Search+Books Mr. Dickens], in this assignment you are going to head for Christmas past. Go to Archive.org and load the [http://www.archive.org/details/eatons19131400eatouoft Eaton's Fall and Winter catalogue from 1913-14]. Starting on page "[http://www.archive.org/stream/eatons19131400eatouoft#page/n282/mode/1up n282]" you will find a list of books that Eaton's was selling that season. Your task is to choose 6-8 of the books advertised in the catalogue and find full online digital copies of them. (Some obvious places to search are [http://www.archive.org Archive.org], [http://books.google.com Google Books], and the [http://www.gutenberg.org Gutenberg Project].) Write a blog post about your search, and provide a list of links to the books that you found. You can also write about some of the books that you couldn't find. As you're doing this assignment, <span>pa</span>y <span>attention to the unexpected. When </span>y<span>ou are writing</span> you<span>r blog post tr</span>y<span>&nbsp;to reflect on what </span>you found the most surprising about the process. </td> </tr> </table> </div> H9808A 2009 09 Digitizationhttp://digitalhistory.wikispot.org/H9808A_2009_09_Digitization2009-11-03 10:00:30william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 09 Digitization<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 13: </td> <td> Line 13: </td> </tr> <tr> <td> <span>-</span> '''Into the Time Machine!''' If you've had a chance to put down the books and get out for a while, you've no doubt noticed that this is the season when everyone goes gift shopping. And what better gift than a nice book? Following the lead of [http://books.google.com/books?q=dickens+christmas+carol&amp;btnG=Search+Books Mr. Dickens], in this assignment you are going to head for Christmas past. Go to Archive.org and load the [http://www.archive.org/details/eatons19131400eatouoft Eaton's Fall and Winter catalogue from 1913-14]. Starting on page "n282" you will find a list of books that Eaton's was selling that season. Your task is to choose 6-8 of the books advertised in the catalogue and find full online digital copies of them. (Some obvious places to search are [http://www.archive.org Archive.org], [http://books.google.com Google Books], and the [http://www.gutenberg.org Gutenberg Project].) Write a blog post about your search, and provide a list of links to the books that you found. You can also write about some of the books that you couldn't find. As you're doing this assignment, try to pay attention to the unexpected. When you are writing your blog post try to reflect on what you found the most surprising about the process. </td> <td> <span>+</span> '''Into the Time Machine!''' If you've had a chance to put down the books and get out for a while, you've no doubt noticed that this is the season when everyone goes gift shopping. And what better gift than a nice book? Following the lead of [http://books.google.com/books?q=dickens+christmas+carol&amp;btnG=Search+Books Mr. Dickens], in this assignment you are going to head for Christmas past. Go to Archive.org and load the [http://www.archive.org/details/eatons19131400eatouoft Eaton's Fall and Winter catalogue from 1913-14]. Starting on page "<span>[http://www.archive.org/stream/eatons19131400eatouoft#page/</span>n282<span>/mode/1up n282]</span>" you will find a list of books that Eaton's was selling that season. Your task is to choose 6-8 of the books advertised in the catalogue and find full online digital copies of them. (Some obvious places to search are [http://www.archive.org Archive.org], [http://books.google.com Google Books], and the [http://www.gutenberg.org Gutenberg Project].) Write a blog post about your search, and provide a list of links to the books that you found. You can also write about some of the books that you couldn't find. As you're doing this assignment, try to pay attention to the unexpected. When you are writing your blog post try to reflect on what you found the most surprising about the process. </td> </tr> </table> </div> H9808A 2009 09 Digitizationhttp://digitalhistory.wikispot.org/H9808A_2009_09_Digitization2009-11-03 09:59:05william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 09 Digitization<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 13: </td> <td> Line 13: </td> </tr> <tr> <td> <span>-</span> '''Into the Time Machine!''' If you've had a chance to put down the books and get out for a while, you've no doubt noticed that this is the season when everyone goes gift shopping. And what better gift than a nice book? Following the lead of [http://books.google.com/books?q=dickens+christmas+carol&amp;btnG=Search+Books Mr. Dickens], in this assignment you are going to head for Christmas past. Go to Archive.org and load the [http://www.archive.org/details/eatons19131400eatouoft Eaton's Fall and Winter catalogue from 1913-14]. Starting on page "n282" you will find a list of books that Eaton's was selling that season. Your task is to choose 6-8 of the books advertised in the catalogue and find full online digital copies of them. (Some obvious places to search are [http://www.archive.org Archive.org], [http://books.google.com Google Books], and the [http://www.gutenberg.org Gutenberg Project].) Write a blog post about your search, and provide a list of links to the books that you found. You can also write about some of the books that you couldn't find. </td> <td> <span>+</span> '''Into the Time Machine!''' If you've had a chance to put down the books and get out for a while, you've no doubt noticed that this is the season when everyone goes gift shopping. And what better gift than a nice book? Following the lead of [http://books.google.com/books?q=dickens+christmas+carol&amp;btnG=Search+Books Mr. Dickens], in this assignment you are going to head for Christmas past. Go to Archive.org and load the [http://www.archive.org/details/eatons19131400eatouoft Eaton's Fall and Winter catalogue from 1913-14]. Starting on page "n282" you will find a list of books that Eaton's was selling that season. Your task is to choose 6-8 of the books advertised in the catalogue and find full online digital copies of them. (Some obvious places to search are [http://www.archive.org Archive.org], [http://books.google.com Google Books], and the [http://www.gutenberg.org Gutenberg Project].) Write a blog post about your search, and provide a list of links to the books that you found. You can also write about some of the books that you couldn't find.<span>&nbsp;&nbsp;As you're doing this assignment, try to pay attention to the unexpected. When you are writing your blog post try to reflect on what you found the most surprising about the process.</span> </td> </tr> </table> </div> H9808A 2009 09 Digitizationhttp://digitalhistory.wikispot.org/H9808A_2009_09_Digitization2009-11-03 09:52:21william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 09 Digitization<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 13: </td> <td> Line 13: </td> </tr> <tr> <td> <span>-</span> '''Into the Time Machine!''' If you've had a chance to put down the books and get out for a while, you've no doubt noticed that this is the season when everyone goes gift shopping. And what better gift than a nice book? Following the lead of [http://books.google.com/books?q=dickens+christmas+carol&amp;btnG=Search+Books Mr. Dickens], in this assignment you are going to head for Christmas past. Go to Archive.org and load the [http://www.archive.org/details/eatons19131400eatouoft Eaton's Fall and Winter catalogue from 1913-14]. Starting on page "n282" you will find a list of books that Eaton's was selling that season. Your task is to choose 6-8 of the books advertised in the catalogue and find full online digital copies of them. Write a blog post about your search, and provide a list of links to the books that you found. You can also write about some of the books that you couldn't find. </td> <td> <span>+</span> '''Into the Time Machine!''' If you've had a chance to put down the books and get out for a while, you've no doubt noticed that this is the season when everyone goes gift shopping. And what better gift than a nice book? Following the lead of [http://books.google.com/books?q=dickens+christmas+carol&amp;btnG=Search+Books Mr. Dickens], in this assignment you are going to head for Christmas past. Go to Archive.org and load the [http://www.archive.org/details/eatons19131400eatouoft Eaton's Fall and Winter catalogue from 1913-14]. Starting on page "n282" you will find a list of books that Eaton's was selling that season. Your task is to choose 6-8 of the books advertised in the catalogue and find full online digital copies of them. <span>(Some obvious places to search are [http://www.archive.org Archive.org], [http://books.google.com Google Books], and the [http://www.gutenberg.org Gutenberg Project].) </span>Write a blog post about your search, and provide a list of links to the books that you found. You can also write about some of the books that you couldn't find. </td> </tr> </table> </div> H9808A 2009 09 Digitizationhttp://digitalhistory.wikispot.org/H9808A_2009_09_Digitization2009-11-03 09:49:24william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 09 Digitization<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 13: </td> <td> Line 13: </td> </tr> <tr> <td> <span>-</span> '''Into the Time Machine!''' If you've had a chance to put down the books and get out for a while, you've no doubt noticed that this is the season when everyone goes gift shopping. And what better gift than a nice book? Following the lead of <span>&lt;a href="</span>http://books.google.com/books?q=dickens+christmas+carol&amp;btnG=Search+Books<span>"&gt;</span>Mr. Dickens<span>&lt;/a&gt;</span>, in this assignment you are going to head for Christmas past. Go to Archive.org and load the <span>&lt;a href="</span>http://www.archive.org/details/eatons19131400eatouoft<span>"&gt;</span>Eaton's Fall and Winter catalogue from 1913-14<span>&lt;/a&gt;</span>. Starting on page "n282" you will find a list of books that Eaton's was selling that season. Your task is to choose 6-8 of the books advertised in the catalogue and find full online digital copies of them. Write a blog post about your search, and provide a list of links to the books that you found. You can also write about some of the books that you couldn't find. </td> <td> <span>+</span> '''Into the Time Machine!''' If you've had a chance to put down the books and get out for a while, you've no doubt noticed that this is the season when everyone goes gift shopping. And what better gift than a nice book? Following the lead of <span>[</span>http://books.google.com/books?q=dickens+christmas+carol&amp;btnG=Search+Books<span>&nbsp;</span>Mr. Dickens<span>]</span>, in this assignment you are going to head for Christmas past. Go to Archive.org and load the <span>[</span>http://www.archive.org/details/eatons19131400eatouoft<span>&nbsp;</span>Eaton's Fall and Winter catalogue from 1913-14<span>]</span>. Starting on page "n282" you will find a list of books that Eaton's was selling that season. Your task is to choose 6-8 of the books advertised in the catalogue and find full online digital copies of them. Write a blog post about your search, and provide a list of links to the books that you found. You can also write about some of the books that you couldn't find. </td> </tr> </table> </div> H9808A 2009 09 Digitizationhttp://digitalhistory.wikispot.org/H9808A_2009_09_Digitization2009-11-03 09:48:49william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 09 Digitization<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 13: </td> <td> Line 13: </td> </tr> <tr> <td> <span>- &lt;strong&gt;</span>Into the Time Machine!<span>&lt;/strong&gt;</span> If you've had a chance to put down the books and get out for a while, you've no doubt noticed that this is the season when everyone goes gift shopping. And what better gift than a nice book? Following the lead of &lt;a href="http://books.google.com/books?q=dickens+christmas+carol&amp;btnG=Search+Books"&gt;Mr. Dickens&lt;/a&gt;, in this assignment you are going to head for Christmas past. Go to Archive.org and load the &lt;a href="http://www.archive.org/details/eatons19131400eatouoft"&gt;Eaton's Fall and Winter catalogue from 1913-14&lt;/a&gt;. Starting on page "n282" you will find a list of books that Eaton's was selling that season. Your task is to choose 6-8 of the books advertised in the catalogue and find full online digital copies of them. Write a blog post about your search, and provide a list of links to the books that you found. You can also write about some of the books that you couldn't find. </td> <td> <span>+ '''</span>Into the Time Machine!<span>'''</span> If you've had a chance to put down the books and get out for a while, you've no doubt noticed that this is the season when everyone goes gift shopping. And what better gift than a nice book? Following the lead of &lt;a href="http://books.google.com/books?q=dickens+christmas+carol&amp;btnG=Search+Books"&gt;Mr. Dickens&lt;/a&gt;, in this assignment you are going to head for Christmas past. Go to Archive.org and load the &lt;a href="http://www.archive.org/details/eatons19131400eatouoft"&gt;Eaton's Fall and Winter catalogue from 1913-14&lt;/a&gt;. Starting on page "n282" you will find a list of books that Eaton's was selling that season. Your task is to choose 6-8 of the books advertised in the catalogue and find full online digital copies of them. Write a blog post about your search, and provide a list of links to the books that you found. You can also write about some of the books that you couldn't find. </td> </tr> </table> </div> H9808A 2009 09 Digitizationhttp://digitalhistory.wikispot.org/H9808A_2009_09_Digitization2009-11-03 09:48:33william.j.turkel <div id="content" class="wikipage content"> Differences for H9808A 2009 09 Digitization<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 13: </td> <td> Line 13: </td> </tr> <tr> <td> <span>- (Possibly something about database and search engine as non-literary tropes for writing history: response to Steve Anderson's paper from 2nd week readings)</span> </td> <td> <span>+ &lt;strong&gt;Into the Time Machine!&lt;/strong&gt; If you've had a chance to put down the books and get out for a while, you've no doubt noticed that this is the season when everyone goes gift shopping. And what better gift than a nice book? Following the lead of &lt;a href="http://books.google.com/books?q=dickens+christmas+carol&amp;btnG=Search+Books"&gt;Mr. Dickens&lt;/a&gt;, in this assignment you are going to head for Christmas past. Go to Archive.org and load the &lt;a href="http://www.archive.org/details/eatons19131400eatouoft"&gt;Eaton's Fall and Winter catalogue from 1913-14&lt;/a&gt;. Starting on page "n282" you will find a list of books that Eaton's was selling that season. Your task is to choose 6-8 of the books advertised in the catalogue and find full online digital copies of them. Write a blog post about your search, and provide a list of links to the books that you found. You can also write about some of the books that you couldn't find.</span> </td> </tr> </table> </div>