stillhq.com : Mikal, a geek from Canberra living in Silicon Valley (no blather posts) http://www.stillhq.com The life, times, travel and software of Michael Still (no blather posts) en Copyright (c) Michael Still 2000 - 2006 blosxom simplerss20 v20050208hh 180 http://blogs.law.harvard.edu/tech/rss Measuring the popularity of SMTP server implementations on the Internet /research Mon, 08 Feb 2010 21:29:00 GMT I'm interested in measuring the performance of SMTP servers connected to the Internet. Before I can poke around inside a SMTP implementation, I want to ensure that I am using one which lots of people use. To that end I have been running a series of SMTP server surveys for the last several years. This work has been <a href="http://www.stillhq.com/research/">alluded to</a> in the past, but I haven't published any results. This has mainly been because while I have written a number of papers on the topic, I am yet to have one accepted by an academic conference. I've been hesitant to comment about my results because of the requirement for academic publications not be previously published work. <br/><br/> I've decided to change that policy. I'm going to reserve a lot of the deeper analysis for academic publication (if I can make such a thing happen), but I am going to start talking about the work I am doing more in public. To start that off, I should mention what I've been doing... <br/><br/> There have been a number of previous surveys of SMTP servers connected to the Internet, with each survey using a different methodology. So although these results are not directly comparable, a comparison still provides some insight into how the server landscape has changed over the last 12 years. A comparison of published surveys is presented in the table below. Each survey in this table shows the: sample size, which is the number of IP addresses surveyed; sample approach, which is the methodology used to determine which IP addresses to sample and adds bias into the sampling; and the number of responses, which is the number of SMTP servers that responded. The majority of these surveys have relied on random sampling of the IP address space, perhaps with a selection algorithm to limit the results selected. Few of the more recent surveys provide complete information on their probing implementation or the rules they used to identify specific implementations from their observations. It should be noted that non-response from a surveyed IP generally indicates that it is not in fact running a SMTP server accessible from the Internet. <br/><br/> <div align=center> <table> <tr><td><b>Date</b></td><td><b>Surveyor</b></td><td><b>Sample size</b></td><td><b>Sample method</b></td><td><b>Responses</b></td></tr> <tr bgcolor="#DDDDDD"><td>27 Nov 1996</td><td>Bernstein</td><td>500,000</td><td>Selective random</td><td>25,121</td></tr> <tr><td>214 Aug 1997</td><td>Bernstein</td><td>200,000</td><td>Selective random</td><td>8,056</td></tr> <tr bgcolor="#DDDDDD"><td>211 May 1998</td><td>Bernstein</td><td>20,310</td><td>MX walk</td><td>17,592</td></tr> <tr><td>22 Apr 2000</td><td>Bernstein</td><td>12,595</td><td>Selective random</td><td>10,087</td></tr> <tr bgcolor="#DDDDDD"><td>25 Oct 2000</td><td>Bernstein</td><td>25,777</td><td>Random</td><td>859</td></tr> <tr><td>227 Sep 2001</td><td>Bernstein</td><td>39,206</td><td>Random</td><td>937</td></tr> <tr bgcolor="#DDDDDD"><td>21 Dec 2002</td><td>Credentia</td><td>4,096</td><td>Random</td><td>1,837</td></tr> <tr><td>21 Jan 2003</td><td>Credentia</td><td>30,000</td><td>Random</td><td>17,540</td></tr> <tr bgcolor="#DDDDDD"><td>21 Apr 2003</td><td>Credentia</td><td>37,563</td><td>Random</td><td>20,410</td></tr> <tr><td>21 May 2007</td><td>MailChannels</td><td>400,000</td><td>Corporate domain names</td><td>254,400</td></tr> </table> </div> <br/><br/> Whereas the surveys that I have been running with the assistance of my ever patient PhD supervisor Dr Eric McCreath have been quite a bit larger. Note that larger isn't necessarily better with these sorts of surveys, but my methodology attempts to aim for completeness, and the relative power of PlanetLab makes these computations surprisingly cheap. Details of my surveys so far: <br/><br/> <div align=center> <table> <tr><td><b>Date</b></td><td><b>Surveyor</b></td><td><b>Sample size</b></td><td><b>Sample method</b></td><td><b>Responses</b></td></tr> <tr bgcolor="#DDDDDD"><td>January 2008</td><td>Still / McCreath</td><td>46,136,113</td><td>Exhaustive</td><td>1,973,748</td></tr> <tr><td>April 2008</td><td>Still / McCreath</td><td>92,286,998</td><td>Exhaustive</td><td>1,609,111</td></tr> <tr bgcolor="#DDDDDD"><td>July 2008</td><td>Still / McCreath</td><td>97,545,668</td><td>Exhaustive</td><td>1,579,507</td></tr> <tr><td>October 2008</td><td>Still / McCreath</td><td>109,661,889</td><td>Exhaustive</td><td>1,801,081</td></tr> <tr bgcolor="#DDDDDD"><td>January 2009</td><td>Still / McCreath</td><td>110,397,428</td><td>Exhaustive</td><td>1,916,719</td></tr> <tr><td>April 2009</td><td>Still / McCreath</td><td>110,706,130</td><td>Exhaustive</td><td>1,925,760</td></tr> <tr bgcolor="#DDDDDD"><td>October 2009</td><td>Still / McCreath</td><td>111,209,212</td><td>Exhaustive</td><td>1,800,573</td></tr> </table> </div> <br/><br/> Our survey is implemented by attempting to identify the MTA software running on an SMTP server using the SMTP connection banner. In other words, a collection of IP addresses are connected to on the SMTP port (TCP 25), and an attempt is made from the early stages of the SMTP protocol interaction to determine what SMTP server software is running on that host. The SMTP protocol will often reply to the connection with a status 220 line, referred to as the SMTP banner, this tells the connecting client that the server is ready. The SMTP banner also frequently states what software the server is running. Even if the software in use isn't explicitly named, it is often a string which is unique to a given SMTP implementation. This technique simply connects on the SMTP port, and logs any lines starting with 220. The connection is then closed, with no attempt to transfer an email occurring. <br/><br/> So what results have I found so far? I'm trying to keep these blog posts to less than 1,000 words each, so that's too big a question to answer here. I've found some quite unexpected things along the way, such as an accurate technique for measuring the occurrence of domain parking on the Internet, and I'll discuss those in future posts. Instead, let me leave you with this short graphical summary of the results so far: <br/><br/> <div align=center> <img src="http://chart.apis.google.com/chart?cht=lc&chs=600x400&chd=e:ACAHAfBIA9DLDvD6FCJwMJLiMdNrNpPE,AFAaB-GHLaAAHdGNFVAFHlJUJWJFJEKM,AhA0EILGMBTXO5NMHpJzLZLAK-LsLwJ2,1Zz4pSgVbqbCYbZ2MYKzMHLULVJ3J1JM,____AyAdBCCYD2BsIqF-H1H-HpITIUIl&chtt=SMTP%20Server%20Market%20Share&chdl=Exim|qmail|Microsoft%20Exchange|Sendmail|Postfix&chco=0000FF,00FF00,FF0000,dd5500,ee11ff,88ddff,44cc00,bb0011,11aaff&chxt=y,x&chxl=0:|0%25|25%25|50%25|75%25|100%25|1:|96||||97||||98||||99||||00||||01||||02||||03||||04||||05||||06||||07||||08||||09|||&chg=0,20,5,5"> </div> <br/><br/> This is the history of the currently five most popular implementations over time. You can see that Sendmail has fallen from a position of market dominance, and Exim is currently the most popular SMTP server implementation. <br/><br/> I have a lot more to say about all this work, but as I mentioned earlier I want to keep the length of these posts down. I'll say more in future posts. <br/><br/><i>Tags for this post: research(<a href="http://www.stillhq.com/research"><img src="http://www.stillhq.com/tagicon.cgi?post=/research/smtpsurveys_feb2010&tag=research&format=.png" border="0" alt="S"></a>) </i><br/><i>Related posts: <a href="http://www.stillhq.com/research/smtp/survey/000001.html">Initial SMTP survey poster results in a pie chart</a>; <a href="http://www.stillhq.com/research/000001.html">Interesting paper: "YouTube Traffic Characterization: A View From the Edge"</a>; <a href="http://www.stillhq.com/research/remoteworker-v74.html">RemoteWorker v74</a>; <a href="http://www.stillhq.com/research/smtp/survey/poster-lisa2007.html">Microsoft Exchange the most popular SMTP server on the Internet?</a>; <a href="http://www.stillhq.com/diary/001076.html">I think I've worked out the problem with the hotel network</a>; <a href="http://www.stillhq.com/diary/001014.html">Mikal, the massive domain squatter</a>; <a href="http://www.stillhq.com/diary/001106.html">Internet traffic</a>; <a href="http://www.stillhq.com/python/000004.html">Domain name lookup helper for python?</a>; <a href="http://www.stillhq.com/research/smtp/survey/000003.html">Normalising mail server package names</a>; <a href="http://www.stillhq.com/diary/001090.html">Satellite internet at Walmart</a>; <a href="http://www.stillhq.com/diary/001089.html">Long time not much write</a>; <a href="http://www.stillhq.com/research/remoteworker-v70.html">RemoteWorker v70</a>; <a href="http://www.stillhq.com/research/smtp/survey/000002.html">Announcing early results of my survey of SMTP servers</a>; <a href="http://www.stillhq.com/research/smtp/survey/000004.html">Noticed that smtpsurvey.stillhq.com is down?</a>; <a href="http://www.stillhq.com/research/smtp/mxes_feb2008.html">Mikal, tell something I didn't know about SMTP servers on the Internet</a>; <a href="http://www.stillhq.com/diary/001078.html">The witty worm with Vern Paxson</a>; <a href="http://www.stillhq.com/google/000002.html">Why does every man and his dog put man pages online?</a>; <a href="http://www.stillhq.com/diary/000986.html">Sensis Australian search</a></i> <br/><br/> <a href="http://www.stillhq.com/research/smtpsurveys_feb2010.commentform.html">Comment</a> http://www.stillhq.com/research/smtpsurveys_feb2010.html http://www.stillhq.com/research/smtpsurveys_feb2010.html Books read in January 2010 /book/read Mon, 08 Feb 2010 17:41:00 GMT <ul> <li><a href="http://www.stillhq.com/book/Isaac_Asimov/Buy_Jupiter_Short_Stories.html">Buy Jupiter</a> <li><a href="http://www.stillhq.com/book/Mark_W_Tiedemann/Mirage.html">Asimov's Mirage</a> <li><a href="http://www.stillhq.com/book/Anne_McCaffrey/The_Renegades_of_Pern.html">The Renegades of Pern</a> <li><a href="http://www.stillhq.com/book/Robert_Llewellyn/The_Man_In_The_Rubber_Mask.html">The Man in the Rubber Mask</a> </ul> <br/><br/><i>Tags for this post: book(<a href="http://www.stillhq.com/book"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/read/201001&tag=book&format=.png" border="0" alt="S"></a>) read(<a href="http://www.stillhq.com/read"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/read/201001&tag=read&format=.png" border="0" alt="S"></a>) </i> <br/><br/> <a href="http://www.stillhq.com/book/read/201001.commentform.html">Comment</a> http://www.stillhq.com/book/read/201001.html http://www.stillhq.com/book/read/201001.html Home power measurement /diary Sun, 07 Feb 2010 23:55:00 GMT I've been spending some quality time with a Current Cost CC128 and my existing home sensor network. So far I've discovered that I use quite a bit of power, and that I can remotely monitor how many times a day my wife makes a cup of tea. Some example data: <br/><br/> <div align=center> <img src="http://chart.apis.google.com/chart?cht=lc&chs=600x400&chd=e:hmhjhwhwhZhZhrhzh3hwhjhchrhziThZhhhPh1hZhehrhjhEhHhPhohKhchoiHhMhRhmicijiUi6iwiri9ioiyi6jekOj1kwkCkPljlUlCmymClwlWlHl1lMltmHljkwlClUlMlWk.lomJlwmJlclelC________________________________________,iUiMiHiHhthrh3h1hwhththrhrhjhhhZhchHhWhEhRhMhHhMhEhMhPhRhqhhhthjhriCiujEjCjJjjjrkOj6kUkmlHlglUl6mJlgmymPnbm.oDn9nPnHm.m9nPn9nRm4m4mwmgmymjnUnRnjoUnwnonW________________________________________,iciWiRiRiMiHiCh.iTh3hzhzhthrhmhjhhhehchZhqhRhPhMhKhHhEhEhEhEhEhHhMhPhqhchhhjhrhzh6h.iFiMiZieioiyi4jHjRjjjoj6j.kHkRkRkWkbk3kmkrktkwkzk1k1k1k6k9k9lElglglM________________________________________,hjhehZhqhPhKhCg6g1gwgtgmgjgbgWgPgMgKgKgHgYf9f4f1f1f1f1f1f6f9gEgRghgzhPhziKiji1jljhkEkZk9lemCmZm1nMnroUotpVpmqerTq.qoqUqMqCqbqrqUp.prpWpMpCpMpWpjqCqJptpc________________________________________,k6k9k9k4k1kwkwkrkmkjk3kekbkWkUkRkMkKkHkHkEkCkCj.kOkOj1j1kOkOj1j1j6j6j.kCkHkKkPkUkZkjkmkoktk1k4k.lHlMlWlelmlrmJl.mFmHmJmJmJmRmWmRmPmRmWmymymemjmrm1m6m9m9________________________________________,iwiwiwiririjijifiXiXiXiXiTiPiLiHh-h-h-h-h-h6h6hyhyhyhyhyhyh2h-iXibiXiwjIjEjEjIjQjZjhjtj1kBkOkSkakmkzk7k.lDlTlcl8l4lolklolklwlwlolglglolklklsl4mRmpm6mtm2________________________________________&chtt=Sensors&chdl=Outside%20deck|Outside%20garage%20rear|Inside%20rear|Roof%20cavity%20rear|Inside%20lounge|Inside%20lounge%20TV&chco=0000FF,00FF00,FF0000,dd5500,ee11ff,88ddff,44cc00,bb0011,11aaff&chxt=y,r,x&chxl=0:|-30|-25|-20|-15|-10|-5|0|5|10|15|20|25|30|35|40|45|50|55|60|65|70|1:|-1.5k|-1.2k|-1.0k|-0.8k|-0.5k|-0.2k|0.0k|0.2k|0.5k|0.8k|1.0k|1.2k|1.5k|1.8k|2.0k|2.2k|2.5k|2.8k|3.0k|3.2k|3.5k|2:|8/2%2000:00|8/2%2004:48|8/2%2009:36|8/2%2014:24|8/2%2019:12|9/2%2000:00&chg=0,20,5,5"> </div> <br/><br/> You can see that it was relatively cool compared with days a few weeks ago today. That's more obvious in the graph showing the last two weeks though: <br/><br/> <div align=center> <img src="http://chart.apis.google.com/chart?cht=lc&chs=600x400&chd=e:fyfFfJfUkeoD__owmo__iKiZhmkCoHqHoZm.ltjb__hMgUmJmJnHnyjy__hMg1gZgZh.mJn6oDkWiChEhBfPhonWoC__________________nJkbiwhMg6g1fwghi9m4pto3__________i.mUnJnylciPhKgjfed.hRjZkojtheghfwe9fPfmiok3kMjJiRgwgMg.gwgj__iZj9jUiThKgjg4hWiCkKi4g4frfXe.eUd.d.fbgjijiggefbeueMd4eehwjhkmiwiMich6hog9iPkElgk4______,fyiyi1jt49ot__rCpC__kok1j6r8rPrwqopmorpm__nMm40OsttyvCsH__hMg1gZgZh.mJn6oDkWiChEhBfPhonWoC__________________nJoUkoiMiMhCfwg9i9qepto3__________lcnPq1rbnrkEhqgofhemhmkEmCkth6gwgKfCfwgEjRmolokMi1hZhPhBg.hZ__jolmk3iwiMhehWhcirlHjWhPf4fmfMejedeUfrhhi8iogjfve9eUePeriKkrm1kri9i1h6hqhKi4ltnJmW______,fyfFfJfUhCiojjjhiw__iHhjhKhKi9ieijiPiTjbjbhMgUhWh.jhiwiwhFhMg1gZgZh6jhj5ibiwiChEgjfPfyibi8jM__hi____________j1jxiwhMg6g1fwf4hcjIi4jI__________hKjZj1jEjEhBg1gjfed.gYiRhyg1gUghfwe9fPfmhtijjEjJiRgwgMg.gwgjlRiUjRjUiThKgjg4hWhhiri4g4frfXe.eUd.d.fbgjijiggefbeueMd4eeg1i4kOiwiMich6hhg9hjiokUk1______,iFiyi1jt49otjjrCpC__kok1j6r8rPrwqopmorpmjbnMm40OsttyvCsHn6noj1nRmom6oEoroDnynenCmUljlOnWoCjM__hi____________nRoUm9nCmJmZk7lWlUqepto3__________lcnPq1rbnrk3jyhBjMiejClLmCktjEkjkRkKkCkOkBmololRkrkSk.lOlElElRlwm-nOmJlck1kekPkPlHl.lCkRjej1jdi8irjQkOlTlglEkZkekOj1j5j.k7m1mJltlMktkMj1kHltnJmW______&chtt=Sensors&chdl=%3DOutside%20min|%3DOutside%20max|%3DInside%20min|%3DInside%20max&chco=0000FF,00FF00,FF0000,dd5500,ee11ff,88ddff,44cc00,bb0011,11aaff&chxt=y,r,x&chxl=0:|-30|-25|-20|-15|-10|-5|0|5|10|15|20|25|30|35|40|45|50|55|60|65|70|1:|-1.5k|-1.2k|-1.0k|-0.8k|-0.5k|-0.2k|0.0k|0.2k|0.5k|0.8k|1.0k|1.2k|1.5k|1.8k|2.0k|2.2k|2.5k|2.8k|3.0k|3.2k|3.5k|2:|25/1%2000:00|28/1%2000:00|31/1%2000:00|3/2%2000:00|6/2%2000:00|9/2%2000:00&chg=0,20,5,5"> </div> <br/><br/> However, it was quite humid today: <br/><br/> <div align=center> <img src="http://chart.apis.google.com/chart?cht=lc&chs=600x400&chd=e:________________0C__0rwKuDuJ__xYyLzG__wgw4w0xGxRx6xAukrIxvxcwjtM__tvt3uV__ulwExdwC__yTxQv00cza1nvTwyxPyN__w8wdyKxvyYzDzYzJzs0tzsyx02v-vgvVwrw3xe0C2N3g4U4p4-526i6D6F3lzr1p2N273n4L6M4G272u2A2p2R2t2O1F0hz5yqx0wXwDv.w2xaxpw4wxw9wtxSxRxLxVxyxCxrv7v.xbxCxRxay0zbzn0L021O2P2S1M0fzJxYv4wVvzvo________,____________722Io4jRh9djcef6jwqZuNzR41__5C8M.7..671uwdr-nclJkdmApmxB0x4O5b__.o...9....1jyxvN__qArHufwFzk3S6Q6.....__.........67-5s____wjzC348G9r..................1wzQ30...............................R7D4W2j2n3N8B....................-d5Q4Xy4vFx40H3X6z-r.L..............782cyguwuzwTvlui________,__________....woj1lHh6gojMlwoUyj1H8J-t..........8y2Zwouto9mZlwlHrhx649639b............-t5m2Zyjx6xRwout0e7g....................9b6Oz1x6yj2Z8J..........................7g............................9b6O3C1H1w1w1w4U8J..................9b6O8y4U6O..9b-t......................9b4949491w4U5m________,__________....3rszoUoUijgAj1o9v.1w499b.W........9b49vWuEqPnrnCqPrhyj3r8J8y............4U3C0e1wx6xR6O1H1H7g-E....................8J8J0e3C49-t..........................7g..............................-E8J8J7g49498y....................-E63633r3r3r7g-E......................-E8J2Z3C6O2Z4U________&chtt=Sensors&chdl=%3DInside%20humidity|%3DOutside%20humidity|BOM%20relative%20humidity%20%25%20(94926)|BOM%20relative%20humidity%20%25%20(94925)&chco=0000FF,00FF00,FF0000,dd5500,ee11ff,88ddff,44cc00,bb0011,11aaff&chxt=y,r,x&chxl=0:|-30|-25|-20|-15|-10|-5|0|5|10|15|20|25|30|35|40|45|50|55|60|65|70|1:|-1.5k|-1.2k|-1.0k|-0.8k|-0.5k|-0.2k|0.0k|0.2k|0.5k|0.8k|1.0k|1.2k|1.5k|1.8k|2.0k|2.2k|2.5k|2.8k|3.0k|3.2k|3.5k|2:|1/2%2000:00|2/2%2014:24|4/2%2004:48|5/2%2019:12|7/2%2009:36|9/2%2000:00&chg=0,20,5,5"> </div> <br/><br/> Which is why we didn't have the evaporative cooler on, just the fan. That doesn't seem to really affect our power usage, which really needs more analysis: <br/><br/> <div align=center> <img src="http://chart.apis.google.com/chart?cht=lc&chs=600x400&chd=e:fbeReKdgfMh5fAd3dxdidpfEd3bsbSa7a6h3e.dzdyd1f2fJe8fSbVcgbBbzbtfLgMd3dnfVfAhwd4bZa-b5bwbngNdzdkfSfAffd0dEbJbMb5b1d1d4dudifDfcd9bcbKbFb6b0dzeBgCdhfKe-bkdUbMbhcHfjeMeRgAdkfRfDbgbkc7c-d0gxg9f9hheyhugEl8gofTgojdjbh1hjgaf4i7hYfAeFd1duey0bhSghgQqhhkhVhpeMd1fbexeXhUgYh9gDi2hhjCd9eJdwezerhMgigIgOgZhm0tgheledd6gNhPhIh6f8gPvahfhsjDdWc4c9fkd.gtg8fXfOg6gsgqfOc7c4dPeAhsjMgogZg1glhai7ffgHe5f8f2jQhdjHgbhsjViqh9f9gKfpg5ihh9jeh2iZiphVimghhGiMxCiCh8jAi.jXjLiEh6gRg6hO2Yk1id____________________________________________________________________________________________________________________________,fRfHdOdHdLdFhae5dBcsczctfQhrfRbCa-lTb7byfedpdpddfSfHiDa8a8a0a4bnbndVdmdUdRfHbganalcbake5e3dFdQdBcHb2baaYaZaVc5e7e9dOaaaiacd8bRc0csckcueubRaMaQaDaHhqezc9cxcpZ9bUdNaIZ6c5cneuenZ3aFb1a4cikOeOgPiCgloVhljEiTjIjQj9k0hDisezgLgsgTfHgIhMgtjWjdhVgxg8sFj9iQlBiHgugfeyeqpcfnfzhfiZ3it8g6gxhmevhwiOfWf0gvguh-h1icifgdfAfegzhMhDjasdtUuyiVi0p0igiJfHfsewfvhshxigh-hBg.g6iciPhYffnXeggsh.hx1Dh-hWhf1xwrhcfbfKgvg3j3iJxrhBzbhDh-jBiZicieimifnvjdiQiRiXfjfgfOgPgNiMiVxmivhxkPijiniuiriZiZjijUj3kbkbxZxQ3r442WvfvuvSvmlDlIjOkmkakhlflp6JkYkVlj4S5emCnTm2m9mbjCjCjFiChug0vujOgffAfYfZgrfpxYfFefeVeBfefddzeGeedzfefG&chtt=Sensors&chdl=%3DWatts%20today|%3DWatts%20yesterday&chco=0000FF,00FF00,FF0000,dd5500,ee11ff,88ddff,44cc00,bb0011,11aaff&chxt=y,r,x&chxl=0:|-30|-25|-20|-15|-10|-5|0|5|10|15|20|25|30|35|40|45|50|55|60|65|70|1:|-1.5k|-1.2k|-1.0k|-0.8k|-0.5k|-0.2k|0.0k|0.2k|0.5k|0.8k|1.0k|1.2k|1.5k|1.8k|2.0k|2.2k|2.5k|2.8k|3.0k|3.2k|3.5k|2:|00:00|04:48|09:36|14:24|19:12|00:00&chg=0,20,5,5"> </div> <br/><br/> The 500 watt minimum power draw makes me unhappy. You can see over a week it never goes away: <br/><br/> <div align=center> <img src="http://chart.apis.google.com/chart?cht=lc&chs=600x400&chd=e:______________________________________________oIkzi1eufgbngthsgOgohui1hVh8kgjDkfgahBif1OkqzXgrimhlfbjdj9ie0wk.1qj3jQh6kajvkRjqlUkOwIgixUd1fldtcZd1jbdxeBfVgHhBfdbUfXdmawe8a2dRfCa4e6a.dcbpfbcGjVhZfbiBdihsegfeiyeZfzfigXjLhHhXfThZhHf3hXhrhhxJzUgohQiThximhOg6jNixjUe2kAhsgoiijvhhihg0fFdObbdGasezaodPijaydJe4dCc.hXaidLe6akfXbZdddCbVdUa-e9cGdLjrfCj4go__gNcOibepfJhRxFhFerdmhRdlg1dCfif2cagObvgLcrfpiIdXgddocy2wv0wMw1jVpH__ingXkJhEeGfTbVd7cRdneKdvdhcCiZdYhsdle9fMdYboeBdWbpdubDbydybWd3dnd0fch2kb4lhxhhgNg4gBegfweKh1wmgRxQfUhPyafbgCh-e3gbe9gPhSe-f0hcgkebfKiKg7i7kqjrhpguiIuWinv8cniIjZeXfoeg__fgeNfTbagtdsbZ__c6fp__bRfgbwfWfsbpft__eZeTfreac8gNl2hchPgAgMgUfpjJfOh0g1f9h1ibgNg6hifP__gpfwiH__hjgofU__f5sT__oii8hzi6irxCwohSu92LuTevfCdOfqe.dEb-dLe8bHdPbWdmeqaodvdxdEcCavfMb5dObqeKbqbBgEbwe7lQe0cJcveXbUe7a7fEbzcUhWbUdgb4f1ddb1fjaxfMaqdLhsdihjeJgoiDftiMjVhSuqjpjXkJh5jnkmfZjQg.vTeqtBjUfFc-dHewctbCbydda8bndUane5dBaVfGaic0euaFc4bHcvZ3eSg4hskFexd2jdhoiNevfGhDiFfTjIf7iZlXhMeihzhAe3h1iigThmho4QqGjxfXiLh0jUjZjv27wLkhlnk6qkjGhwgveUeXfOd0eAfQd1brfLdue4bzd3fXa-d6ffbMd4fYcmeBe-bheRfDc-f9gEgohjhVd4ghhVfbgbhXdqgihmfvhLuTdXgtfEeFf5gghee4gbivfmiFhag7i0h6z0________________________________&chtt=Sensors&chdl=%3DWatts&chco=0000FF,00FF00,FF0000,dd5500,ee11ff,88ddff,44cc00,bb0011,11aaff&chxt=y,r,x&chxl=0:|-30|-25|-20|-15|-10|-5|0|5|10|15|20|25|30|35|40|45|50|55|60|65|70|1:|-1.5k|-1.2k|-1.0k|-0.8k|-0.5k|-0.2k|0.0k|0.2k|0.5k|0.8k|1.0k|1.2k|1.5k|1.8k|2.0k|2.2k|2.5k|2.8k|3.0k|3.2k|3.5k|2:|1/2%2000:00|2/2%2014:24|4/2%2004:48|5/2%2019:12|7/2%2009:36|9/2%2000:00&chg=0,20,5,5"> </div> <br/><br/><i>Tags for this post: blog(<a href="http://www.stillhq.com/diary"><img src="http://www.stillhq.com/tagicon.cgi?post=/diary/001120&tag=blog&format=.png" border="0" alt="S"></a>) </i><br/><i>Related posts: <a href="http://www.stillhq.com/environment/000001.html">Extreme Machines: Eirik Raude</a>; <a href="http://www.stillhq.com/diary/000981.html">More on burial methods</a>; <a href="http://www.stillhq.com/diary/001054.html">It seems to me</a>; <a href="http://www.stillhq.com/diary/001015.html">The environmental friendliness of shrimp trawling?</a></i> <br/><br/> <a href="http://www.stillhq.com/diary/001120.commentform.html">Comment</a> http://www.stillhq.com/diary/001120.html http://www.stillhq.com/diary/001120.html Dogs of War /book/Anthology Sun, 07 Feb 2010 02:25:00 GMT <table width=100%><tr><td valign=top><img src="/book/Anthology/Dogs_of_War.cover.jpg"><br/><br/><br/>ISBN: 0446610895<br/>Aspect (2002), Mass Market Paperback, 320 pages<br/><a href="http://www.librarything.com/isbn/0446610895">LibraryThing</a><br/><script type="text/javascript">GBS_insertPreviewButtonPopup('ISBN:0446610895');</script></td><td valign=top>Another combat anthology, this time edited by <a href="http://www.stillhq.com/book/David_Drake">David Drake</a>. <ul> <li>Or Battle's Sound (<a href="http://www.stillhq.com/book/Harry_Harrison">Harry Harrison</a>): already read in <a href=""http://www.stillhq.com/book/Anthology/Battlefields_Beyond_Tomorrow.html">Battlefields Beyond Tomorrow</a> and <a href="http://www.stillhq.com/book/Anthology/Body_Armor_2000.html">Body Armor: 2000</a>. <li>Liberty Port (<a href="http://www.stillhq.com/book/David_Drake">David Drake</a>): already read in <a href="http://www.stillhq.com/book/David_Drake/The_Complete_Hammers_Slammers_Volume_1.html">The Complete Hammer's Slammer's Volume 1</a>. <li>Straw (Gene Wolfe): steam punk mercenaries in a future which is more like the past. A good read. <li>Tomb Tapper (James Blish): this one has a nice twist at the end, although I found the underlying premise of the story hard to believe. <li>A Relic of War (<a href="http://www.stillhq.com/book/Keith_Laumer">Keith Laumer</a>): already read in <a href="http://www.stillhq.com/book/Keith_Laumer/The_Compleat_Bolo.html">The Compleat Bolo</a>. <li>Basic Training (Mark L Van Name): this one is a bit sad. Well, all of the stories in this book are sad, but I find this one a bit harder than others because the main character is about the age of my kids. <li>Witch War (Richard Matheson): an interesting little tale which doesn't end up at all like you expect. <li>Transstar (Raymond Banks): I didn't think this story was all that good when I was reading it the other night, but its the one I kept thinking about for the next day. There are lots of interesting issues raised here -- arrogance, response, the cost / benefit of aggression. <li>Time Piece (<a href="http://www.stillhq.com/book/Joe_Haldeman">Joe Haldeman</a>): this story is very much like a small summary of <a href="http://www.stillhq.com/book/Joe_Haldeman/The_Forever_War.html">The Forever War</a>, which makes it disappointing in a way... The book is better, and this story glosses over many of the issues. <li>Clash by Night (Henry Kuttner and C.L. Moore): this story is interesting because it prompted a sub-genre all of its own about mercenaries in the future. However, this story is entertaining by not earth shatteringly great. </ul> <br/><br/><i>Tags for this post: book(<a href="http://www.stillhq.com/book"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/Anthology/Dogs_of_War&tag=book&format=.png" border="0" alt="S"></a>) Anthology(<a href="http://www.stillhq.com/Anthology"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/Anthology/Dogs_of_War&tag=Anthology&format=.png" border="0" alt="S"></a>) </i><br/><i>Related posts: <a href="http://www.stillhq.com/book/Anthology/Battlefields_Beyond_Tomorrow.html">Battlefields Beyond Tomorrow</a>; <a href="http://www.stillhq.com/book/Anthology/Body_Armor_2000.html">Body Armor: 2000</a>; <a href="http://www.stillhq.com/book/Keith_Laumer/Bolos_1_Honor_of_the_Regiment.html">Bolos 1: Honor of the Regiment</a>; <a href="http://www.stillhq.com/book/David_Drake/The_Complete_Hammers_Slammers_Volume_1.html">The Complete Hammer's Slammers Volume 1</a>; <a href="http://www.stillhq.com/book/Keith_Laumer/Bolos_4_Last_Stand.html">Bolos 4: Last Stand</a>; <a href="http://www.stillhq.com/book/David_Drake/The_Complete_Hammers_Slammers_Volume_2.html">The Complete Hammer's Slammers Volume 2</a>; <a href="http://www.stillhq.com/book/David_Drake/The_Complete_Hammers_Slammers_Volume_3.html">The Complete Hammer's Slammers Volume 3</a>; <a href="http://www.stillhq.com/book/Keith_Laumer/Bolos_2_The_Unconquerable.html">Bolos 2: The Unconquerable</a>; <a href="http://www.stillhq.com/book/Keith_Laumer/Bolo.html">Bolo!</a>; <a href="http://www.stillhq.com/book/Keith_Laumer/Bolos_3_The_Triumphant.html">Bolos 3: The Triumphant</a>; <a href="http://www.stillhq.com/book/Keith_Laumer/The_Compleat_Bolo.html">The Compleat Bolo</a>; <a href="http://www.stillhq.com/book/Keith_Laumer/Bolos_5_Old_Guard.html">Bolos 5: Old Guard</a>; <a href="http://www.stillhq.com/book/Harry_Harrison/Bill_The_Galactic_Hero_Series.html">Bill the Galactic Hero Series</a>; <a href="http://www.stillhq.com/book/Harry_Harrison/Galatic_Dreams.html">Galactic Dreams</a>; <a href="http://www.stillhq.com/book/Keith_Laumer/Bolo_Strike.html">Bolo Strike</a>; <a href="http://www.stillhq.com/book/Robert_Sheckley/Bill_The_Galactic_Hero_On_The_Planet_of_the_Bottled_Brains.html">Bill the Galactic Hero on the Planet of Bottled Brains</a>; <a href="http://www.stillhq.com/book/Joe_Haldeman/Forever_Peace.html">Forever Peace</a>; <a href="http://www.stillhq.com/book/Keith_Laumer/The_Stars_Must_Wait.html">The Stars Must Wait</a>; <a href="http://www.stillhq.com/book/Harry_Harrison/Bill_The_Galactic_Hero.html">Bill The Galactic Hero</a>; <a href="http://www.stillhq.com/book/Keith_Laumer/Bolo_Brigade.html">Bolo Brigade</a>; <a href="http://www.stillhq.com/book/Keith_Laumer/Bolos_6_Cold_Steel.html">Bolos 6: Cold Steel</a></i></td></tr></table> <br/><br/> <a href="http://www.stillhq.com/book/Anthology/Dogs_of_War.commentform.html">Comment</a> http://www.stillhq.com/book/Anthology/Dogs_of_War.html http://www.stillhq.com/book/Anthology/Dogs_of_War.html Body Armor: 2000 /book/Anthology Thu, 04 Feb 2010 22:06:00 GMT <table width=100%><tr><td valign=top><img src="/book/Anthology/Body_Armor_2000.cover.jpg"><br/><br/><br/>ISBN: 0441069762<br/>Ace (1986), Paperback<br/><a href="http://www.librarything.com/isbn/0441069762">LibraryThing</a><br/><script type="text/javascript">GBS_insertPreviewButtonPopup('ISBN:0441069762');</script></td><td valign=top>I love a good anthology, although I'd read a few of these stories before: <ul> <li>Contact! (<a href="http://www.stillhq.com/book/David_Drake/">David Drake</a>): this story is quite unlike <a href="http://www.stillhq.com/book/David_Drake/">the other stuff of his that I have read</a>, mostly because its set in the Vietnam War, not the far future. A good story with an excellent twist. <li>The Warbots (Larry S. Todd): this one wasn't for me. I'm not sure what point the author was trying to make, if any. Its just a long history of imaginary weapons. <li>The Scapegoat (C. J. Cherryh): this is long, being a novella, and a little hard to read in places because the story jumps around. Overall, a good read though. My first Cherryh, although I have a lot queued up on the shelf. <li>The Last Crusade (George H. Smith): this was a good story, and would have fit well in <a href="http://www.stillhq.com/book/Anthology/Battlefields_Beyond_Tomorrow.html">Battlefields Beyond Tomorrow</a> as it has a similar war-is-hopeless tone. <li>Hired Man (Richard C. Meredith): there is a nice twist at the end of this one, although its obvious a few pages before it happens. <li>Early Model (<a href="http://www.stillhq.com/book/Robert_Sheckley">Robert Sheckley</a>): I was surprised by this one, its the first Sheckley story I've read that I didn't hate. Its not fantastic, but its way better than <a href="/book/Robert_Sheckley/Bill_The_Galactic_Hero_On_The_Planet_of_the_Bottled_Brains.html">Bill the Galactic Hero on the Planet of Bottled Brains</a> or his story in <a href="/book/Anthology/Foundations_Friends.html">Foundation's Friends</a>. <li>In the Bone (Gordon R. Dickson): this story is odd, and I'm not 100% sure what I think of it. It was entertaining, but also a little hard to believe. <li>The Chemically Pure Warriors (Allen Kim Lang): this was a good story, being quite reminiscent of <a href="http://www.stillhq.com/book/Patrick_Tilley/Amtrak_Wars_Series.html">Tilley's Amtrak Wars series</a>. <li>Right To Life (Thomas A. Easton): this story is in the same vein as <a href="http://www.stillhq.com/book/Harry_Harrison/Make_Room_Make_Room.html">Make Room, Make Room!</a> and <a href="http://www.stillhq.com/book/William_F_Nolan_and_George_Clayton_Johnson/Logans_Run.html">Logan's Run</a>, whilst still being distinct and interesting. <li>Or Battle's Sound (<a href="http://www.stillhq.com/book/Harry_Harrison">Harry Harrison</a>): appeared in <a href=""http://www.stillhq.com/book/Anthology/Battlefields_Beyond_Tomorrow.html">Battlefields Beyond Tomorrow</a>. <li>Hero (<a href="http://www.stillhq.com/book/Joe_Haldeman">Joe Haldeman</a>): appeared in <a href="http://www.stillhq.com/book/Anthology/Battlefields_Beyond_Tomorrow.html">Battlefields Beyond Tomorrow</a>, and was turned into <a href="http://www.stillhq.com/book/Joe_Haldeman/The_Forever_War.html">The Forever War</a>. <br/><br/><i>Tags for this post: book(<a href="http://www.stillhq.com/book"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/Anthology/Body_Armor_2000&tag=book&format=.png" border="0" alt="S"></a>) Anthology(<a href="http://www.stillhq.com/Anthology"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/Anthology/Body_Armor_2000&tag=Anthology&format=.png" border="0" alt="S"></a>) </i><br/><i>Related posts: <a href="http://www.stillhq.com/book/Anthology/Battlefields_Beyond_Tomorrow.html">Battlefields Beyond Tomorrow</a>; <a href="http://www.stillhq.com/book/Anthology/Dogs_of_War.html">Dogs of War</a>; <a href="http://www.stillhq.com/book/Keith_Laumer/Bolos_1_Honor_of_the_Regiment.html">Bolos 1: Honor of the Regiment</a>; <a href="http://www.stillhq.com/book/Anthology/Foundations_Friends.html">Foundation's Friends</a>; <a href="http://www.stillhq.com/book/David_Drake/The_Complete_Hammers_Slammers_Volume_1.html">The Complete Hammer's Slammers Volume 1</a>; <a href="http://www.stillhq.com/book/David_Drake/The_Complete_Hammers_Slammers_Volume_2.html">The Complete Hammer's Slammers Volume 2</a>; <a href="http://www.stillhq.com/book/David_Drake/The_Complete_Hammers_Slammers_Volume_3.html">The Complete Hammer's Slammers Volume 3</a>; <a href="http://www.stillhq.com/book/Robert_Sheckley/Bill_The_Galactic_Hero_On_The_Planet_of_the_Bottled_Brains.html">Bill the Galactic Hero on the Planet of Bottled Brains</a>; <a href="http://www.stillhq.com/book/Keith_Laumer/Bolos_2_The_Unconquerable.html">Bolos 2: The Unconquerable</a>; <a href="http://www.stillhq.com/book/Harry_Harrison/Bill_The_Galactic_Hero_Series.html">Bill the Galactic Hero Series</a>; <a href="http://www.stillhq.com/book/Patrick_Tilley/First_Family.html">First Family</a>; <a href="http://www.stillhq.com/book/Harry_Harrison/Galatic_Dreams.html">Galactic Dreams</a>; <a href="http://www.stillhq.com/book/Patrick_Tilley/Death_Bringer.html">Death Bringer</a>; <a href="http://www.stillhq.com/book/John_Birmingham/Without_Warning.html">Without Warning</a>; <a href="http://www.stillhq.com/book/Patrick_Tilley/Blood_River.html">Blood River</a>; <a href="http://www.stillhq.com/book/Keith_Laumer/Bolos_4_Last_Stand.html">Bolos 4: Last Stand</a>; <a href="http://www.stillhq.com/book/Joe_Haldeman/Forever_Peace.html">Forever Peace</a>; <a href="http://www.stillhq.com/book/Keith_Laumer/The_Stars_Must_Wait.html">The Stars Must Wait</a>; <a href="http://www.stillhq.com/book/Harry_Harrison/Bill_The_Galactic_Hero.html">Bill The Galactic Hero</a>; <a href="http://www.stillhq.com/book/Patrick_Tilley/Iron_Master.html">Iron Master</a>; <a href="http://www.stillhq.com/book/Patrick_Tilley/Cloud_Warrior.html">Cloud Warrior</a></i></td></tr></table> <br/><br/> <a href="http://www.stillhq.com/book/Anthology/Body_Armor_2000.commentform.html">Comment</a> http://www.stillhq.com/book/Anthology/Body_Armor_2000.html http://www.stillhq.com/book/Anthology/Body_Armor_2000.html Lyonesse /book/Jack_Vance Tue, 02 Feb 2010 21:25:00 GMT <table width=100%><tr><td valign=top><img src="/book/Jack_Vance/Lyonesse.cover.jpg"><br/><br/><br/>ISBN: 0441505309<br/>Ace (1987), Paperback<br/><a href="http://www.librarything.com/isbn/0441505309">LibraryThing</a><br/><script type="text/javascript">GBS_insertPreviewButtonPopup('ISBN:0441505309');</script></td><td valign=top>This is another book I read as a child, except in this case I didn't really remember much of it -- the only bit I remembered was the punishment of Madouc's mother, but that might have been because I was a teenaged boy at the time. Overall this is a very good book. It took me a while to read because of being distracted with other projects, but the ongoing oppression of Princess Suldrun didn't really help either -- it was interesting at first, but got depressing after a while. Its also disturbing how many times sexual assault is used as a plot element in this book... <br/><br/><i>Tags for this post: book(<a href="http://www.stillhq.com/book"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/Jack_Vance/Lyonesse&tag=book&format=.png" border="0" alt="S"></a>) Jack_Vance(<a href="http://www.stillhq.com/Jack_Vance"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/Jack_Vance/Lyonesse&tag=Jack_Vance&format=.png" border="0" alt="S"></a>) </i></td></tr></table> <br/><br/> <a href="http://www.stillhq.com/book/Jack_Vance/Lyonesse.commentform.html">Comment</a> http://www.stillhq.com/book/Jack_Vance/Lyonesse.html http://www.stillhq.com/book/Jack_Vance/Lyonesse.html Building a hygrometer with a HS1101 /arduino Fri, 22 Jan 2010 02:17:00 GMT The next sensor I wanted to add to my home was a set of hygrometers. Specifically I wanted an exterior one, and a matching interior one. This would be useful as we have evaporative cooling, and if the humidity level outside is already high, then it doesn't make a lot of sense to put extra water into the air. Worse than that, it can also damage my books and make the house really clammy. So, adding some sensors was the first step in some form of alerting. <br/><br/> I picked up two HS1101s from ebay quite cheaply (about $4 each IIRC). These devices are capacitors whose capacitance varies proportionally with relative humidity. You also need to provide a temperature at the sensor to correct the value, although the correction is pretty minor so I guess you could skip this if you really wanted to cut costs. Given I have plenty of code for Dallas 1820s now, I just dropped one of those onto the board too. <br/><br/> I just used the circuit from the <a href="http://www.stillhq.com/arduino/HS1100.pdf">data sheet</a> for my design, with a few simple tweaks (like the DS1820). Here's my surprisingly unprofessional circuit diagram: <br/><br/> <div align=center> <img src="/arduino/hs1101-circuit-smaller.png"> </div> <br/><br/> The DS1820 stuff that's not on the data sheet is in red. When built, it looks like this (note the crazy amount of jumper wire): <br/><br/> <div align=center> <img src="/arduino/hs1101-001-smaller.jpg"> </div> <br/><br/> This gives us temperature on a 1-Wire pin, and an oscillator on another pin which relates to the current humidity. You'll notice that my circuit has some extra wires, that's because I power down the 555 / HS1101 when I'm not taking a sample. I do this because Peter H. Anderson suggested that noise would be a problem otherwise. This circuit was actually quite hard to build and get working. There are a few reasons for that: <ul> <li>The large number of jumpers on the prototype PCB. <li>The lack of documentation from other arduino hackers (with the notable exception of the rather good <a href="http://www.phanderson.com/picaxe/rh_count.html">Peter H. Anderson page</a>). <li>The HS1101 data sheet forgets to mention that connecting pins 1 and 8 on the 555 is assumed knowledge. <li>The values for R1 and R2 vary depending on what model 555 you are using, and are crazily specific. For the LMC555 that I used, R1 is 1238K and R2 is 562K. I got close to these values, but not exact and it did seem to affect accuracy. <li>You <b>must</b> use a CMOS 555. That's buried in a six word sentence in the middle of a page on the data sheet, and I didn't notice it for a while. With a NMOS 555, you get effectively random numbers out of the circuit. Worse than that, CMOS 555s are actually a little hard to find, and I had to get mine from Farnell. <li>I attempted to calibrate with the government weather data from the next suburb over. Unfortunately, as best as I can tell, that data is wrong. It claims that its currently as humid here as it is in Cairns in the wet season, which I deny. Calibration is an ongoing issue for me, although I have some ideas on how to progress there. It might also not matter, as I am building an identical sensor for inside the house and as long as they are both equally wrong I can still detect the "turn off the water to the evap" state that I want to. </ul> <br/><br/> Here's a comparison between my data for today and the weather service's: <br/><br/> <div align=center> <img src="http://chart.apis.google.com/chart?cht=lc&chs=600x400&chd=e:qQqVqbqSrGrQsEs1srsmsTsQsTsgsusisusytHtHs6tHs.s6tNtGtStYtit9twuQucu0uWu6u9u8vVvbvivCvHvav2vyvzwIwIv7wKwWwHwvwNwEv8vmvdvXvgv7uqssmChbdocabIZgYOXlXCWsWGV5VjVgUpUMTcTvU2U8atdmfHfrfWfWfcf4gUgaf1fGfAf-fifufJevesfMe9d9dOdudcdMdOdRdJcmcsb3cKcdcZcKbeboaSbIayayalZ.Z.bIaPacaZaYaSaobtbHa4a4axa7axaobRbqaiaea3a-aRbEaoaaa6a3a9bGb4c3cRbscVchc3cncncwdZdlds______________________________________________,__________________________________________________________________________________________________________________________________________________sKsKsKsKsKsKq4q4q4q4q4q4________________________________gogogogogogogogo________________czczczczczczcKcKcKcKcKcKcKcKbhbhbhcKcKcKcKcKcKcKcKcKcKcKcKcKbhbhbhbhbhbhbhbhbhcKcKcKcKczczczczeFeFeFeFeFeF________________________________________________,..............................................................................................................................-t-t-t-t0e0e0e0eututututq4q4q4q4o9o9o9o9nrnrnrnrnCnCnCnCh6h6h6h6eueueueudcdcdcdcczczbhbhbhbhbhbha4a4a4a4ZmZmZmY9Y9Y9Y9Y9Y9Y9Y9YUYUY9YUYUYUYUYUYUYUY9Y9Y9Y9Y9Y9YUYUYUYUYUYUYUYUYUYUYUYUYUYUYUYUY9Y9aPaPaPaPa4a4a4a4a4a4________________________________________________&chtt=Temperature%20sensors&chdl=%3DOutside%20humidity|BOM%20Relative%20humidity%20%25%20%2894925%29|BOM%20Relative%20humidity%20%25%20%2894926%29&chco=0000FF,00FF00,FF0000,dd5500,ee11ff,88ddff,44cc00,bb0011,11aaff&chxt=y,x&chxl=0:|-30|-25|-20|-15|-10|-5|0|5|10|15|20|25|30|35|40|45|50|55|60|65|70|1:|22/1%2000%3A00|22/1%2004%3A48|22/1%2009%3A36|22/1%2014%3A24|22/1%2019%3A12|23/1%2000%3A00&chg=0,20,5,5"> </div> <br/><br/> The code to run the HS1101 is relatively simple: <br/><br/> <pre> // Temperature and humidity sensor node. Based on the FridgeControlWeb project of mine // as well as http://www.phanderson.com/picaxe/relhum_count.html #include &lt;enc28j60.h&gt; #include &lt;etherShield.h&gt; #include &lt;ip_arp_udp_tcp.h&gt; #include &lt;ip_config.h&gt; #include &lt;net.h&gt; #include &lt;websrv_help_functions.h&gt; #include &lt;avr/io.h&gt; #include &lt;math.h&gt; #include &lt;OneWire.h&gt; #include &lt;DallasTemperature.h&gt; #define ONEWIRE 3 #define HS1101DATA 5 #define HS1101POWER 7 int count_transitions(int ms); // How long between measurement cycles #define SLEEP_SEC 10 OneWire oneWire(ONEWIRE); DallasTemperature sensors(&amp;oneWire); unsigned long last_checked = 0, this_check = 0; // Web server setup #define MYWWWPORT 80 #define BUFFER_SIZE 550 #define ERROR_500 "HTTP/1.0 500 Error\r\nContent-Type: text/html\r\n\r\n&lt;h1&gt;500 Error&lt;/h1&gt;" static uint8_t mymac[6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x25}; static uint8_t myip[4] = {192, 168, 1, 252}; static uint8_t buf[BUFFER_SIZE + 1]; char data[BUFFER_SIZE + 1]; // The ethernet shield EtherShield es = EtherShield(); uint16_t http200ok(void) { return(es.ES_fill_tcp_data_p(buf, 0, PSTR("HTTP/1.0 200 OK\r\nContent-Type: text/html\r\n" "Pragma: no-cache\r\n\r\n"))); } // prepare the webpage by writing the data to the tcp send buffer uint16_t print_webpage(uint8_t *buf) { uint16_t plen; plen = http200ok(); plen = es.ES_fill_tcp_data_p(buf, plen, PSTR("&lt;html&gt;&lt;head&gt;&lt;title&gt;Temperature sensor&lt;/title&gt;" "&lt;/head&gt;&lt;body&gt;&lt;pre&gt;")); plen = es.ES_fill_tcp_data(buf, plen, data); plen = es.ES_fill_tcp_data_p(buf, plen, PSTR("&lt;/pre&gt;&lt;/body&gt;&lt;/html&gt;")); return(plen); } // Float support is hard on arduinos // (http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1164927646) with tweaks char *ftoa(char *a, double f, int precision) { long p[] = {0,10,100,1000,10000,100000,1000000,10000000,100000000}; char *ret = a; long heiltal = (long)f; itoa(heiltal, a, 10); while (*a != '\0') a++; *a++ = '.'; long desimal = abs((long)((f - heiltal) * p[precision])); itoa(desimal, a, 10); return ret; } #define cbi(sfr, bit) (_SFR_BYTE(sfr) &amp;= ~_BV(bit)) #define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) int count_transitions(int ms) { // configure Counter 1 cbi(TCCR1A, WGM11); cbi(TCCR1A, WGM10); cbi(TCCR1B, WGM12); // WGM12::WGM10 000 - Normal mode sbi(TCCR1B, CS12); // CS12::CS10 111 - External clock, count on rising edge. sbi(TCCR1B, CS11); sbi(TCCR1B, CS10); TCNT1 = 0x0000; // note that TCNT1 is 16-bits delay(ms); // not sure if should turn off the counter return(TCNT1); } void setup() { // initialize the digital pin as an output: Serial.begin(9600); sensors.begin(); es.ES_enc28j60Init(mymac); es.ES_init_ip_arp_udp_tcp(mymac, myip, MYWWWPORT); pinMode(HS1101POWER, OUTPUT); } void loop() { int i, j, data_inset; char float_conv[10]; float t; DeviceAddress addr; uint16_t plen, dat_p; float relhum_raw, relhum_corrected; int relhum_count; // Read temperatures, we dump the state to a buffer so we can serve it this_check = millis(); if(this_check &gt; last_checked + SLEEP_SEC * 1000) { data_inset = 0; sensors.requestTemperatures(); sprintf(data + data_inset, "Sensor count: %d\n", sensors.getDeviceCount()); data_inset = strlen(data); for(i = 0; i &lt; sensors.getDeviceCount(); i++) { t = sensors.getTempCByIndex(i); sensors.getAddress(addr, i); data[data_inset++] = 't'; for (j = 0; j &lt; 8; j++) { sprintf(data + data_inset, "%02x", addr[j]); data_inset += 2; } sprintf(data + data_inset, ": %s\n", ftoa(float_conv, t, 2)); data_inset = strlen(data); } // Power up the 555 / HS1101, and take a measurement. Power it down again afterwards. digitalWrite(HS1101POWER, HIGH); delay(500); relhum_count = count_transitions(1000); digitalWrite(HS1101POWER, LOW); sprintf(data + data_inset, "HS1101 cycles: %d\n", relhum_count); data_inset = strlen(data); relhum_raw = 557.7 - 0.0759 * relhum_count; sprintf(data + data_inset, "Raw humidity: %s\n", ftoa(float_conv, relhum_raw, 2)); data_inset = strlen(data); relhum_corrected = (1.0 + 0.001 * (t - 25.00)) * relhum_raw; sprintf(data + data_inset, "Corrected humidity: %s\n", ftoa(float_conv, relhum_corrected, 2)); Serial.println(data); last_checked = this_check; } // Handle network packets dat_p = es.ES_packetloop_icmp_tcp(buf, es.ES_enc28j60PacketReceive(BUFFER_SIZE, buf)); if(dat_p != 0) { if (strncmp("GET ", (char *)&amp;(buf[dat_p]), 4) != 0){ // head, post and other methods: dat_p = http200ok(); dat_p = es.ES_fill_tcp_data_p(buf, dat_p, PSTR("&lt;h1&gt;200 OK&lt;/h1&gt;")); } // just one web page in the "root directory" of the web server else if (strncmp("/ ", (char *)&amp;(buf[dat_p+4]), 2) == 0){ dat_p = print_webpage(buf); Serial.println("Served temperature web page"); } else{ dat_p = es.ES_fill_tcp_data_p(buf, 0, PSTR(ERROR_500)); } es.ES_www_server_reply(buf, dat_p); } } </pre> <br/><br/> As with previous circuits, I'm going to have to thank Doug for hints and tips along the way, as well as letting me steal his entire collection of 8 pin DIP sockets. <br/><br/><i>Tags for this post: arduino(<a href="http://www.stillhq.com/arduino"><img src="http://www.stillhq.com/tagicon.cgi?post=/arduino/000007&tag=arduino&format=.png" border="0" alt="S"></a>) </i><br/><i>Related posts: <a href="http://www.stillhq.com/arduino/000001.html">Beer fridge controller 0.1</a>; <a href="http://www.stillhq.com/arduino/000004.html">The Beer Fridge saga continues</a>; <a href="http://www.stillhq.com/arduino/000003.html">Beer fridge controller 0.3</a>; <a href="http://www.stillhq.com/arduino/000002.html">Beer fridge controller 0.2</a>; <a href="http://www.stillhq.com/arduino/000005.html">Arduino with the kids: Cricket Noise Door Bell</a>; <a href="http://www.stillhq.com/travel/usa/arizona/phoenix/000001.html">Phoenix for business</a>; <a href="http://www.stillhq.com/arduino/000006.html">Thinking about arduino as a prototyping platform</a></i> <br/><br/> <a href="http://www.stillhq.com/arduino/000007.commentform.html">Comment</a> http://www.stillhq.com/arduino/000007.html http://www.stillhq.com/arduino/000007.html The Man in the Rubber Mask /book/Robert_Llewellyn Sat, 16 Jan 2010 15:58:00 GMT <table width=100%><tr><td valign=top><img src="/book/Robert_Llewellyn/The_Man_In_The_Rubber_Mask.cover.jpg"><br/><br/><br/>ISBN: 0140235752<br/><a href="http://www.librarything.com/isbn/0140235752">LibraryThing</a><br/><script type="text/javascript">GBS_insertPreviewButtonPopup('ISBN:0140235752');</script></td><td valign=top>I'd been looking for this book for ages, as it is quite rare, so it was exciting to find it at Gould's the other day. This is the memoir of the dude inside the rubber mask that Kryten wears in <a href="http://www.stillhq.com/book/Grant_Naylor/Red_Dwarf.html">Red Dwarf</a>. The book is an easy read, and entertaining, although I wouldn't call it funny. Most of the book focuses on how terribly horrible it is to be encased in rubber day after day while shooting a comedy in terrible locations. Oh, and Robert is slightly insecure which doesn't help. <br/><br/> Overall I'm glad I found this book, and glad I read it again. <br/><br/><i>Tags for this post: book(<a href="http://www.stillhq.com/book"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/Robert_Llewellyn/The_Man_In_The_Rubber_Mask&tag=book&format=.png" border="0" alt="S"></a>) Robert_Llewellyn(<a href="http://www.stillhq.com/Robert_Llewellyn"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/Robert_Llewellyn/The_Man_In_The_Rubber_Mask&tag=Robert_Llewellyn&format=.png" border="0" alt="S"></a>) </i><br/><i>Related posts: <a href="http://www.stillhq.com/book/Grant_Naylor/Better_Than_Life.html">Better Than Life</a>; <a href="http://www.stillhq.com/book/Grant_Naylor/Red_Dwarf.html">Red Dwarf</a>; <a href="http://www.stillhq.com/book/Doug_Naylor/Last_Human.html">Last Human</a>; <a href="http://www.stillhq.com/book/Rob_Grant/Colony.html">Colony</a>; <a href="http://www.stillhq.com/book/Harry_Harrison/Bill_The_Galactic_Hero_Series.html">Bill the Galactic Hero Series</a>; <a href="http://www.stillhq.com/book/Douglas_Adams/Life_the_Universe_and_Everything.html">Life, the Universe and Everything</a>; <a href="http://www.stillhq.com/book/Douglas_Adams/The_Restaurant_at_the_End_of_the_Universe.html">The Restaurant at the End of the Universe</a>; <a href="http://www.stillhq.com/book/Douglas_Adams/So_Long_and_Thanks_For_All_The_Fish.html">So Long, and Thanks For All the Fish</a>; <a href="http://www.stillhq.com/book/Robert_Sheckley/Bill_The_Galactic_Hero_On_The_Planet_of_the_Bottled_Brains.html">Bill the Galactic Hero on the Planet of Bottled Brains</a>; <a href="http://www.stillhq.com/book/Douglas_Adams/Mostly_Harmless.html">Mostly Harmless</a>; <a href="http://www.stillhq.com/book/Harry_Harrison/Bill_The_Galactic_Hero.html">Bill The Galactic Hero</a>; <a href="http://www.stillhq.com/book/Douglas_Adams/The_Hitchhikers_Guide_to_the_Galaxy.html">The Hitchhikers Guide to the Galaxy</a>; <a href="http://www.stillhq.com/book/Harry_Harrison/Bill_The_Galactic_Hero_The_Planet_of_the_Robot_Slaves.html">Bill the Galactic Hero: The Planet of the Robot Slaves</a></i></td></tr></table> <br/><br/> <a href="http://www.stillhq.com/book/Robert_Llewellyn/The_Man_In_The_Rubber_Mask.commentform.html">Comment</a> http://www.stillhq.com/book/Robert_Llewellyn/The_Man_In_The_Rubber_Mask.html http://www.stillhq.com/book/Robert_Llewellyn/The_Man_In_The_Rubber_Mask.html The Renegades of Pern /book/Anne_McCaffrey Fri, 15 Jan 2010 19:50:00 GMT <table width=100%><tr><td valign=top><img src="/book/Anne_McCaffrey/The_Renegades_of_Pern.cover.jpg"><br/><br/><br/>ISBN: 0345369335<br/>Del Rey (1990), Mass Market Paperback, 352 pages<br/><a href="http://www.librarything.com/isbn/0345369335">LibraryThing</a><br/><script type="text/javascript">GBS_insertPreviewButtonPopup('ISBN:0345369335');</script></td><td valign=top>This book starts off in quite a disjointed manner, with the introduction of a variety of seemingly unrelated characters. The only thing that they all have in common is that they're holdless. However, as the book progresses these characters are all weaved together into a relatively cohesive story line. I say relatively because there are gaps in the story telling, which can be a little jarring. <br/><br/> Interestingly, this book also clarifies some of the events of the others in the series. Most satisfyingly it includes more detail of the buried settlement at Landing than <a href="http://www.stillhq.com/book/Anne_McCaffrey/The_White_Dragon.html">The White Dragon</a> did, which ties in nicely with the introduction provided in <a href="http://www.stillhq.com/book/Anne_McCaffrey/Dragonsdawn.html">Dragonsdawn</a>. This gives me hope that later books will take the science fiction track I've been wanting them to for a while. <br/><br/><i>Tags for this post: book(<a href="http://www.stillhq.com/book"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/Anne_McCaffrey/The_Renegades_of_Pern&tag=book&format=.png" border="0" alt="S"></a>) Anne_McCaffrey(<a href="http://www.stillhq.com/Anne_McCaffrey"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/Anne_McCaffrey/The_Renegades_of_Pern&tag=Anne_McCaffrey&format=.png" border="0" alt="S"></a>) </i><br/><i>Related posts: <a href="http://www.stillhq.com/book/Anne_McCaffrey/The_White_Dragon.html">The White Dragon</a>; <a href="http://www.stillhq.com/book/Anne_McCaffrey/Dragonsdawn.html">Dragonsdawn</a>; <a href="http://www.stillhq.com/book/Anne_McCaffrey/Nerilkas_Story.html">Nerilka's Story</a>; <a href="http://www.stillhq.com/book/Anne_McCaffrey/Dragonsinger.html">Dragonsinger</a>; <a href="http://www.stillhq.com/book/Anne_McCaffrey/Dragondrums.html">Dragondrums</a>; <a href="http://www.stillhq.com/book/Anne_McCaffrey/Dragonquest.html">Dragonquest</a>; <a href="http://www.stillhq.com/book/Anne_McCaffrey/The_Dragonlovers_Guide_to_Pern.html">The Dragonlover's Guide to Pern</a>; <a href="http://www.stillhq.com/book/Anne_McCaffrey/Dragonsong.html">Dragonsong</a>; <a href="http://www.stillhq.com/book/Anne_McCaffrey/Dragonflight.html">Dragonflight</a>; <a href="http://www.stillhq.com/book/Anne_McCaffrey/Moreta_Dragonlady_of_Pern.html">Moreta: Dragonlady of Pern</a></i></td></tr></table> <br/><br/> <a href="http://www.stillhq.com/book/Anne_McCaffrey/The_Renegades_of_Pern.commentform.html">Comment</a> http://www.stillhq.com/book/Anne_McCaffrey/The_Renegades_of_Pern.html http://www.stillhq.com/book/Anne_McCaffrey/The_Renegades_of_Pern.html Asimov's Mirage /book/Mark_W_Tiedemann Thu, 07 Jan 2010 01:16:00 GMT <table width=100%><tr><td valign=top><img src="/book/Mark_W_Tiedemann/Mirage.cover.jpg"><br/><br/><br/>ISBN: 0743475232<br/>I Books (2003), Mass Market Paperback, 464 pages<br/><a href="http://www.librarything.com/isbn/0743475232">LibraryThing</a><br/><script type="text/javascript">GBS_insertPreviewButtonPopup('ISBN:0743475232');</script></td><td valign=top>If I was to name one flaw with the <a href="http://www.stillhq.com/book/Isaac_Asimov/Robot_City_Series.html">Robot City</a> and <a href="http://www.stillhq.com/book/Isaac_Asimov/Robots_and_Aliens_Series.html">Robots and Aliens</a> series, it would have to be that they're not very good. They're lackluster, have difficult to believe plots, very simple structure, and are overall poorly thought through. Its a similar sensation to that I feel when I read the tie-in books written after <a href="http://www.stillhq.com/book/Harry_Harrison/Bill_The_Galactic_Hero_Series.html">Harrison's Bill the Galactic Hero series</a>. I feel a little sorry for the writers in later books in these series, because I suspect their hands were tied by the poor decisions of previous authors (similarly to the mess that <a href="http://www.stillhq.com/book/Greg_Bear/Foundation_and_Chaos.html">Bear's Foundation and Chaos</a> had to dig that series out after <a href="http://www.stillhq.com/book/Gregory_Benford/Foundations_Fear.html">Benford's tragically terrible Foundation's Fear</a>). <br/><br/> <a href="http://www.stillhq.com/book/Isaac_Asimov/Robot_City_Series.html">Robot City</a> and <a href="http://www.stillhq.com/book/Isaac_Asimov/Robots_and_Aliens_Series.html">Robots and Aliens</a> were disappointments because I read <a href="http://www.stillhq.com/book/Isaac_Asimov/Caliban_Series.html">Roger MacBride Allen's Caliban series</a> before them, and Caliban is ok. Not awesome, but ok. <br/><br/> I say all of this as an introduction to Mirage. I guess what I'm saying is that I've been wading through Asimov robot tie-ins from other authors for a while now, and some of them are not very good. That's why finding Mirage was such a delight. Its well written, has a similar style as Asimov's own writing, reuses characters and plot elements from previous tie-in books sufficiently to acknowledge their existence without getting bogged down by the poor decisions of those previous series. Its an engaging read, and I'm glad I stuck through these various series long enough to find it. <br/><br/> My only complaint with this book is that the epilogue is confusing and doesn't align with my understanding of the end of the story. <br/><br/><i>Tags for this post: book(<a href="http://www.stillhq.com/book"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/Mark_W_Tiedemann/Mirage&tag=book&format=.png" border="0" alt="S"></a>) Mark_W_Tiedemann(<a href="http://www.stillhq.com/Mark_W_Tiedemann"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/Mark_W_Tiedemann/Mirage&tag=Mark_W_Tiedemann&format=.png" border="0" alt="S"></a>) </i><br/><i>Related posts: <a href="http://www.stillhq.com/book/Jerry_Oltion/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Humanity.html">Isaac Asimov's Robot City: Robots and Aliens: Humanity</a>; <a href="http://www.stillhq.com/book/Bruce_Bethke/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Maverick.html">Isaac Asimov's Robot City: Robots and Aliens: Maverick</a>; <a href="http://www.stillhq.com/book/Jerry_Oltion/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Alliance.html">Isaac Asimov's Robot City: Robots and Aliens: Alliance</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Robots_and_Aliens_Series.html">The Robot City, Robots and Aliens Series</a>; <a href="http://www.stillhq.com/book/Robert_Thurston/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Intruder.html">Isaac Asimov's Robot City: Robots and Aliens: Intruder</a>; <a href="http://www.stillhq.com/book/Stephen_Leigh/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Changeling.html">Isaac Asimov's Robot City: Robots and Aliens: Changeling</a>; <a href="http://www.stillhq.com/book/Cordell_Scotten/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Renegade.html">Isaac Asimov's Robot City: Robots and Aliens: Renegade</a>; <a href="http://www.stillhq.com/book/William_F_Wu/Isaac_Asimovs_Robot_City_Cyborg.html">Isaac Asimov's Robot City: Cyborg</a>; <a href="http://www.stillhq.com/book/William_F_Wu/Isaac_Asimovs_Robot_City_Perihelion.html">Isaac Asimov's Robot City: Perihelion</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Caliban_Series.html">Caliban Series</a>; <a href="http://www.stillhq.com/book/Roger_MacBride_Allen/Utopia.html">Isaac Asimov's Utopia</a>; <a href="http://www.stillhq.com/book/Roger_MacBride_Allen/Caliban.html">Isaac Asimov's Caliban</a>; <a href="http://www.stillhq.com/book/David_Brin/Foundations_Triumph.html">Foundation's Triumph</a>; <a href="http://www.stillhq.com/book/Arthur_Byron_Cover/Isaac_Asimovs_Robot_City_Prodigy.html">Isaac Asimov's Robot City: Prodigy</a>; <a href="http://www.stillhq.com/book/Michael_P_Kube_McDowell/Isaac_Asimovs_Robot_City_Odyssey.html">Isaac Asimov's Robot City: Odyssey</a>; <a href="http://www.stillhq.com/book/Rob_Chilson/Isaac_Asimovs_Robot_City_Refuge.html">Isaac Asimov's Robot City: Refuge</a>; <a href="http://www.stillhq.com/book/Mike_McQuay/Isaac_Asimovs_Robot_City_Suspicion.html">Isaac Asimov's Robot City: Suspicion</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Robot_City_Series.html">The Robot City Series</a>; <a href="http://www.stillhq.com/book/Roger_MacBride_Allen/Inferno.html">Isaac Asimov's Inferno</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Robot_Short_Stories.html">Isaac Asimov's Robot Short Stories</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Foundation_Series.html">Isaac Asimov's Foundation Series</a></i></td></tr></table> <br/><br/> <a href="http://www.stillhq.com/book/Mark_W_Tiedemann/Mirage.commentform.html">Comment</a> http://www.stillhq.com/book/Mark_W_Tiedemann/Mirage.html http://www.stillhq.com/book/Mark_W_Tiedemann/Mirage.html The Beer Fridge saga continues /arduino Fri, 01 Jan 2010 14:06:00 GMT Since the <a href="http://www.stillhq.com/arduino/000003.html">last update on the beer fridge</a>, we've had to do some murdering of the original PCB to get it to fit in a case. In addition, we'd failed to take into account the startup power draw for the compressor (5 amps), and had to upgrade the relay we're using from a 3 amp solid state relay. Luckily Doug had the beefier relay just sitting around in his shed. That means we've lost our opto-isolation because the new relay is a simple mechanical one, but we have a relay coil doing the same thing now. A new PCB will make the world a lot neater, which will be nice. Oh, we've also been mentioned on <a href="http://hackaday.com/2009/12/26/replacement-refrigerator-controller/">Hack a Day</a>, which has generated some interesting comments on their site. <br/><br/> I've observed that sometimes the relay doesn't turn on, even though the arduino thinks it has done so. An example can be seen here: <br/><br/> <div align=center> <img src="http://chart.apis.google.com/chart?cht=lc&chs=600x400&chd=e:WZU1VVV2VYVIVoV6UyVVV2VNVCVuVwU2VcV6U0VwVpWZUvVJVsWCU0VRV2VlVAViWIUyV2VmWIU4VfVlWOUvVIVoWCU6VOVoWIU1VRVwV2U6VbVxVpU2VeV2VRVLVsWIUwVYVwVZUzVXVuVqUyVcVwVoUvVVVwVpUvVUVwVpUzVVVwWIUzVSVwVuU0VVVuWCUvVMVlWOUtVQVmWCUzU-VbV3VRUzVYVzVZUtVOVpV7UpVwViWIUvU4VVVwVsUqVOVoWOVHVRVmWZUwVwVdVxVsUtVMVmWOUvVIVfV7UwU8VXVwV3UrVKVmWIVJVJVfV4VXU6VPVsWfUvVfVcVwVjU2VXVqV7U6VfVcVzVlUyVPVsWOUkVHVZVxVuUwVJVqV7UrVNVXVvVyUwV2ViV7U2U4VRVvWOU1VKVjV6VNU2VNViWOVNU0VTVwV3UlU8VXVzVuUxVNVlV7U.U-VSVvV7UuVNVYVyVcUpVAVcV4VVUzVVVsWfVfVNVkV5VkU.VSVoWOUzU2VVVqWCWSWgWrW0W9XFXOXXXjXwX8YFYKYSYaYgYkY9Y3ZBZHZJZMZNZUZaZlZsZv,bbJJJJJJJJJJJJbbJJJJJJJJJJJJbbJJJJJJJJJJJJbbJJJJJJbbJJJJJJJJJJJJbbJJJJJJbbJJJJJJbbJJJJJJbbJJJJJJbbJJJJJJbbJJJJJJbbJJJJJJJJJJJJbbJJJJJJJJJJJJJJbbJJJJJJbbJJJJJJbbJJJJJJbbJJJJJJbbJJJJJJbbJJJJJJbbJJJJJJbbJJJJJJbbJJJJJJJJJJJJJJJJJJJJJJJJbbJJJJJJbbJJJJJJJJbbJJJJJJbbJJJJJJbbJJJJJJJJbbJJJJJJbbJJJJJJJJJJJJJJJJbbJJJJJJbbJJJJJJJJJJJJJJJJbbJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJbbJJJJJJJJbbJJJJJJbbJJJJJJJJbbJJJJJJJJJJJJJJJJbbJJJJJJJJJJJJJJJJbbJJJJJJJJbbJJJJJJJJbbJJJJJJJJJJJJJJJJbbJJJJJJJJJJJJJJJJJJJJJJJJJJbbJJJJJJJJJJJJJJJJbbJJJJJJJJbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb&chtt=Temperature%20sensors&chdl=Beer%20fridge|Compressor&chco=0000FF,00FF00,FF0000&chxt=y,x&chxl=0:|-20|-15|-10|-5|0|5|10|15|20|25|30|35|40|45|50|1:|27/12%2000%3A00|27/12%2002%3A02|27/12%2004%3A04|27/12%2006%3A06|27/12%2008%3A08|27/12%2010%3A10&chg=0,20,5,5"> </div> <br/><br/> (Note that graph is a Google chart server image, generated by a simple visualization program I wrote in python. If you're that way inclined, the visualization software is in <a href="http://www.stillhq.com/svn/trunk/homeautomation/">my public SVN repository</a>). <br/><br/> At first we thought this was a software problem with comparing ints to floats, but it continued to happen even after we fixed that bug. You can see in the graph above that during testing the compressor was "turned on" (i.e. the arduino thinks it has activated the relay), but the temperature continued to rise. A visual inspection showed that in fact the relay hadn't turned the compressor on, and power cycling the controller (and therefore the relay) didn't help. However, the simple expedient of hitting the relay with a screw driver handle fixed the problem, which made me think that Doug had given me a bodgy relay. This got me thinking about if it would be possible to unstick a relay in software though -- its pretty easy to detect this case (temperature continues to rise despite the compressor being). I'm thinking that perhaps if you cycled the inputs over and over you might be able to get the relay to unstick. <br/><br/> Detecting this case in software might be generally useful anyway though... Ignoring stuck relays, it would also tell you when someone had left the door open for example. It would be nice to detect this case and then give up on the compressor for a few minutes before trying again. I wrote a quick implementation of this "door open detection" and gave it a try, but I've now given up on it as being too fiddly. I found problems such as when the outside world is heating up rapidly (summer mornings for example), the compressor can't make a big enough difference to the internal temperature of the fridge, but you still really want the compressor on because something is better than nothing. <br/><br/> In the end it turned out the problem with the relay was that the arduino wasn't providing enough current to pull the relay contact in reliably. This was fixed with the addition of a transistor to the board, which is yet another thing to add to the next PCB. <br/><br/> One of the big advantages of a microprocessor based custom thermostat is that I can implement new features that wouldn't normally be present in a fridge. Some of these features might turn out to be bad ideas, but I view the beer fridge as a bit of an experimentation platform. <br/><br/> Since my extra Dallas 1820s have arrived from ebay, I also added a sensor inside the freezer. This is interesting because the freezer isn't getting anywhere near the FDA recommended temperature (-17.7 Celsius). I tweaked the code yet again to turn on the compressor if either compartment is over temperature, but this resulted in the fridge running much too cold -- it was close to freezing point in fact. I think this is probably a hardware problem with the freezer, and given its a beer fridge I've just written "this is not the freezer you are looking for" on the door and gone back to only monitoring the temperature of the fridge compartment. Here's a graph of my experiments with the freezer yesterday: <br/><br/> <div align=center> <img src="http://chart.apis.google.com/chart?cht=lc&chs=600x400&chd=e:KaMSLVJ5LYKIMEL9LCMHLUMaNJK-NCLRMLNUK-NCLVLxMWKvM3LxLuM3KzMoMdLxNbLGNGL9LbMzLfM3MhLmNNLxNQNGLuM7LNM3L9MEMHKhMdLUMWM7LmNuLUM3L5MEMkKsNbMAM-MHLVM7K3M7KbMPM3MEM3K-M7LjMAMdKdMdMoK3KbMaMSLUKIKaL5MSLmJgJYMAMaLGKSJJIoIdIEIaJuJNLULYKzKdI-IhIHIHJuKbLYK-KlJCJmKSHuHJHUHqKEKEK3KILRIALUF5HcJ1KsKzJxJJIlHqHYE8GHChGoE8C-DUD1IhBSBjHYEdDCGlCWHJHqCIHuEEEzIzCABqEsF1CABfHnFnCoGHDGFuITBfG7E-D1ImChGwGoC0HxCWHCGsChIHDCEHHNBjGxFnDYI6DCDUF5JcBcHYF5DqImChG3HcCLHqDNFjJUBqHNFjDyIWCPGwH8J8GlKLIPKEGxIsITHcIWGlJUGEIsGwI-HNJmHjJcIdKEIPJqJcKIIwHqJCJCIlHNJUHCIoG7IsG3JCG-JUHCImHFJcGzI6HxJUHqI3H1IwKIImKlJCKaIsKE,VXWIVtVlV0VbV7VsVKV2VgVbV0VPV7VlVSVzVbWIVmVlVyVVWCVpVKVyVSV7VpV2V4VcV7VsVfV0ViVsVoVMV3VfVyVtVwV2VfV7VqVPVwVNV5VjVuVvVJVzVhV6VoVPVyVRV3VlV2VtVlVyVMV6ViVsVuVOVzVYV4VmVRVuVOVmVzVcVJV0WCVtVbVNVjWZVyVeVNVvV4VuVmVmVcVYVZVTVfVfV5V7VyVvVgVZVbVZVmVzWIWZWOWOV6V3VeVbVZVdVuVtWIV7WaViWuVRVcVuV7WOVyVwVqYMWtVZVZTvTvUHSnScSmTaSkTCSiSkSmU8S8S1TzSeTfTzTdVHTFSYTaUfSYSiTSTcSdTtS1SwUNTjT7TpSeTcS-SbTiSYTZSwSYTcSfTHS3SkUwS-T7U2S4T7TYS4TBTzSnS8TdSkTLSwSeTaTBS6SyShTYS6TFTqSeTSSiSbUgVQVMWOVIV7VMVsVUVeVfVNVyVlVzVAV3VwV4VLWfVXWCVVV0VeV5VeVQViVoVgVNVkVNVlVNVqVJVsVfVqVwVlU.VkVlVjVOVgVUVeVUVZV6VXV7VXV4VXVw&chtt=Temperature%20sensors&chdl=Beer%20freezer|Beer%20fridge&chco=0000FF,00FF00,FF0000&chxt=y,x&chxl=0:|-20|-15|-10|-5|0|5|10|15|20|25|30|35|40|45|50|1:|1/1%2000%3A00|1/1%2004%3A48|1/1%2009%3A36|1/1%2014%3A24|1/1%2019%3A11|1/1%2023%3A59&chg=0,20,5,5"> </div> <br/><br/> Another recent software tweak is a start up delay for the compressor in order to reduce the risk of back pressure damage to the compressor. Thanks <a href="http://www.stillhq.com/commentform.cgi?post=arduino/000003#comment2">Murray</a>! This comes with yet another LED which indicates that the compressor is currently disabled. <br/><br/> I think this project is nearly ready to start showing people the code. The code is also getting big enough that cutting and pasting it into blog posts is starting to get annoying. So, here are a few links: <br/><br/> <ul> <li><a href="http://www.stillhq.com/svn/trunk/arduino/FridgeControlWeb/">The code for the arduino</a>. This should be self explanatory, except for saying that we're using a nuelectronics.com ethernet shield, not the standard one. <li><a href="http://www.stillhq.com/svn/trunk/homeautomation/">The visualization software</a>. You want temperature.py to scrape the web server on the arduino and push stuff into a MySQL database, and then server.py is a simple python web server that provides the UI for visualization. The UI isn't very good at the moment, but I shall improve it soon. </ul> <br/><br/><i>Tags for this post: arduino(<a href="http://www.stillhq.com/arduino"><img src="http://www.stillhq.com/tagicon.cgi?post=/arduino/000004&tag=arduino&format=.png" border="0" alt="S"></a>) </i><br/><i>Related posts: <a href="http://www.stillhq.com/arduino/000003.html">Beer fridge controller 0.3</a>; <a href="http://www.stillhq.com/arduino/000002.html">Beer fridge controller 0.2</a>; <a href="http://www.stillhq.com/arduino/000001.html">Beer fridge controller 0.1</a>; <a href="http://www.stillhq.com/arduino/000007.html">Building a hygrometer with a HS1101</a>; <a href="http://www.stillhq.com/arduino/000005.html">Arduino with the kids: Cricket Noise Door Bell</a>; <a href="http://www.stillhq.com/link/000052.html">Coffee and beer in one glass</a>; <a href="http://www.stillhq.com/travel/usa/arizona/phoenix/000001.html">Phoenix for business</a>; <a href="http://www.stillhq.com/arduino/000006.html">Thinking about arduino as a prototyping platform</a>; <a href="http://www.stillhq.com/diary/001119.html">An awesome weekend</a>; <a href="http://www.stillhq.com/travel/usa/000007.html">Surprise for the day: Australian beer is cheaper in the US than in Australia</a></i> <br/><br/> <a href="http://www.stillhq.com/arduino/000004.commentform.html">Comment</a> http://www.stillhq.com/arduino/000004.html http://www.stillhq.com/arduino/000004.html Buy Jupiter Short Stories /book/Isaac_Asimov Fri, 01 Jan 2010 13:45:00 GMT <table width=100%><tr><td valign=top><img src="/book/Isaac_Asimov/Buy_Jupiter_Short_Stories.cover.jpg"><br/><br/><br/>ISBN: 0575041994<br/>Gollancz (1988), Edition: New Ed, Paperback, 224 pages<br/><a href="http://www.librarything.com/isbn/0575041994">LibraryThing</a><br/><script type="text/javascript">GBS_insertPreviewButtonPopup('ISBN:0575041994');</script></td><td valign=top>This is another Asimov short story collection. The following stories appear in the book, although I have already read a couple as part of either the <a href="http://www.stillhq.com/book/Isaac_Asimov/Robot_Short_Stories.html">Robot short stories</a> or the <a href="http://www.stillhq.com/book/Isaac_Asimov/Nightfall_Short_Stories.html">Nightfall collection of short stories</a>. <br/><br/> To be honest these stories aren't Asimov's strongest. They entertaining, but they're not as amazing as some of his other stuff. I guess its hard to be a genius all the time. <br/><br/> The following stories appear in this collection: <br/><br/> <table width=100%> <tr><td></td> <td><div align=center>Buy Jupiter<br/>1975</div></td> <td><div align=center>The Complete Robot<br/>1982</div></td> <td><div align=center>Robot Dreams<br/>1986</div></td></tr> <tr><td>Darwinian Pool Room</td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td></td> <td></td></tr> <tr><td>Day of the Hunters</td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td></td> <td></td></tr> <tr><td>Shah Guido G.</td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td></td> <td></td></tr> <tr><td>Button, Button</td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td></td> <td></td></tr> <tr><td>The Monkey's Finger</td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td></td> <td></td></tr> <tr><td>Everest</td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td></td> <td></td></tr> <tr><td>The Pause</td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td></td> <td></td></tr> <tr><td>Let's Not</td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td></td> <td></td></tr> <tr><td>Each an Explorer</td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td></td> <td></td></tr> <tr><td>Blank!</td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td></td> <td></td></tr> <tr><td>Does a Bee Care?</td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td></td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td></tr> <tr><td>Silly Asses</td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td></td> <td></td></tr> <tr><td>Buy Jupiter</td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td></td> <td></td></tr> <tr><td>A Statue for Father</td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td></td> <td></td></tr> <tr><td>Rain, Rain, Go Away</td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td></td> <td></td></tr> <tr><td>Founding Father</td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td></td> <td></td></tr> <tr><td>Exile to Hell</td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td></td> <td></td></tr> <tr><td>Key Item</td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td></td> <td></td></tr> <tr><td>The Proper Study</td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td></td> <td></td></tr> <tr><td>2430 A.D.</td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td></td> <td></td></tr> <tr><td>The Greatest Asset</td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td></td> <td></td></tr> <tr><td>Take a Match</td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td></td> <td></td></tr> <tr><td>Thiotimoline to the Stars</td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td></td> <td></td></tr> <tr><td>Light Verse</td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td> <td><div align=center><img src="http://www.stillhq.com/mikalicons/star.gif"></div></td></tr> </table> <br/><br/><i>Tags for this post: book(<a href="http://www.stillhq.com/book"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/Isaac_Asimov/Buy_Jupiter_Short_Stories&tag=book&format=.png" border="0" alt="S"></a>) Isaac_Asimov(<a href="http://www.stillhq.com/Isaac_Asimov"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/Isaac_Asimov/Buy_Jupiter_Short_Stories&tag=Isaac_Asimov&format=.png" border="0" alt="S"></a>) </i><br/><i>Related posts: <a href="http://www.stillhq.com/book/Isaac_Asimov/Robot_Short_Stories.html">Isaac Asimov's Robot Short Stories</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Robot_Visions.html">Robot Visions</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Nightfall_Short_Stories.html">Isaac Asimov's Nightfall Short Stories</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/The_Complete_Robot.html">The Complete Robot</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Nightfall_Short_Stories_Review.html">Nightfall (short stories)</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/I_Robot.html">I, Robot</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/The_Rest_of_the_Robots.html">The Rest of the Robots</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Robot_Dreams.html">Robot Dreams</a>; <a href="http://www.stillhq.com/book/Anthology/Foundations_Friends.html">Foundation's Friends</a>; <a href="http://www.stillhq.com/book/William_F_Wu/Isaac_Asimovs_Robot_City_Cyborg.html">Isaac Asimov's Robot City: Cyborg</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Foundation_Series.html">Isaac Asimov's Foundation Series</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Caves_Of_Steel.html">Caves of Steel</a>; <a href="http://www.stillhq.com/book/William_F_Wu/Isaac_Asimovs_Robot_City_Perihelion.html">Isaac Asimov's Robot City: Perihelion</a>; <a href="http://www.stillhq.com/book/Harry_Harrison/Galatic_Dreams.html">Galactic Dreams</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Caliban_Series.html">Caliban Series</a>; <a href="http://www.stillhq.com/book/Roger_MacBride_Allen/Utopia.html">Isaac Asimov's Utopia</a>; <a href="http://www.stillhq.com/wanted/000003.html">For Christmas</a>; <a href="http://www.stillhq.com/book/David_Drake/The_Complete_Hammers_Slammers_Volume_1.html">The Complete Hammer's Slammers Volume 1</a>; <a href="http://www.stillhq.com/book/Anthology/Body_Armor_2000.html">Body Armor: 2000</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Foundation_and_Empire.html">Foundation and Empire</a>; <a href="http://www.stillhq.com/book/Roger_MacBride_Allen/Caliban.html">Isaac Asimov's Caliban</a></i></td></tr></table> <br/><br/> <a href="http://www.stillhq.com/book/Isaac_Asimov/Buy_Jupiter_Short_Stories.commentform.html">Comment</a> http://www.stillhq.com/book/Isaac_Asimov/Buy_Jupiter_Short_Stories.html http://www.stillhq.com/book/Isaac_Asimov/Buy_Jupiter_Short_Stories.html Books read in December 2009 /book/read Thu, 31 Dec 2009 21:59:00 GMT <ul> <li><a href="http://www.stillhq.com/book/Keith_Laumer/Bolo_Strike.html">Bolo Strike</a> <li><a href="http://www.stillhq.com/book/Anne_McCaffrey/Dragonsdawn.html">Dragonsdawn</a> <li><a href="http://www.stillhq.com/book/Anne_McCaffrey/The_Dragonlovers_Guide_to_Pern.html">The Dragonlover's Guide to Pern</a> <li><a href="http://www.stillhq.com/book/Doug_Naylor/Last_Human.html">Last Human</a> <li><a href="http://www.stillhq.com/book/Keith_Laumer/Bolo.html">Bolo!</a> <li><a href="http://www.stillhq.com/book/Charles_Stross/Saturns_Children.html">Saturn's Children</a> <li><a href="http://www.stillhq.com/book/Anthology/Foundations_Friends.html">Foundation's Friends</a> <li><a href="http://www.stillhq.com/book/Jerry_Oltion/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Humanity.html">Isaac Asimov's Robot City: Robots and Aliens: Humanity</a> <li><a href="http://www.stillhq.com/book/Rob_Grant/Colony.html">Colony</a> </ul> <br/><br/><i>Tags for this post: book(<a href="http://www.stillhq.com/book"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/read/200912&tag=book&format=.png" border="0" alt="S"></a>) read(<a href="http://www.stillhq.com/read"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/read/200912&tag=read&format=.png" border="0" alt="S"></a>) </i> <br/><br/> <a href="http://www.stillhq.com/book/read/200912.commentform.html">Comment</a> http://www.stillhq.com/book/read/200912.html http://www.stillhq.com/book/read/200912.html Thinking about arduino as a prototyping platform /arduino Tue, 29 Dec 2009 03:18:00 GMT So, I've mentioned in earlier <a href="http://www.stillhq.com/arduino/000003.html">posts about arduino projects</a> that I consider the arduino to be a prototyping platform, and a damn good one at that. <a href="http://hackaday.com/2009/12/26/replacement-refrigerator-controller/">Hack a day</a> seems to think of it in similar terms. It was really Doug who got be thinking in this direction with the initial PCB design for the fridge controller project, which includes space for an Atmega CPU right on the PCB, thus eliminating the need for a relatively expensive arduino board to be permanently consumed. <br/><br/> So I started to wonder how hard it would be to build a simple arduino replacement board. It wouldn't need the complicated USB hardware, as you could program the Atmega on a full arduino board before installation. It would just need a time source, perhaps a LED, and a voltage regulator. <br/><br/> <div align=center> <img src="/arduino/crapduino-001-smaller.jpg"> </div> <br/><br/> You can see in the picture above a version I quickly whipped up on a breadboard to prove this is possible. I didn't bother with a voltage regulator in this version, and the wires off on the right go off to a power source. This quickly turned into a <a href="http://www.dse.com.au/cgi-bin/dse.storefront/4b39e44b008dc308273fc0a87e010657/Product/View/H5608">PCB prototype board</a> design, which has a voltage regulator, and exposes all of the arduino digital pins except for pin 5 (which the 16MHz crystal gets in the way of). Pin 5 could be made to happen pretty easily though... <br/><br/> <div align=center> <img src="/arduino/crapduino-003-smaller.jpg"> </div> <br/><br/> I think this was about $10 worth of parts, including the Atmega CPU, which makes it a pretty attractive option compared with the real arduino development boards. I expect to be doing a lot of my future development on a full arduino board, and then moving the finished products off onto boards like this. I expect <a href="http://www.stillhq.com/arduino/000005.html">Matt's door bell</a> will be exiled to one of these soon in order to free up a board. Doug and I have talked about doing a custom PCB layout which is similar, but that is yet to happen. <br/><br/> The best bit of this is I am really surprised by how easy it was. I'm not a hardware person, and it took only an hour or so with a schematic to come up with a working version. I'm much pleased. <br/><br/><i>Tags for this post: arduino(<a href="http://www.stillhq.com/arduino"><img src="http://www.stillhq.com/tagicon.cgi?post=/arduino/000006&tag=arduino&format=.png" border="0" alt="S"></a>) </i><br/><i>Related posts: <a href="http://www.stillhq.com/arduino/000001.html">Beer fridge controller 0.1</a>; <a href="http://www.stillhq.com/arduino/000005.html">Arduino with the kids: Cricket Noise Door Bell</a>; <a href="http://www.stillhq.com/arduino/000004.html">The Beer Fridge saga continues</a>; <a href="http://www.stillhq.com/arduino/000003.html">Beer fridge controller 0.3</a>; <a href="http://www.stillhq.com/arduino/000002.html">Beer fridge controller 0.2</a>; <a href="http://www.stillhq.com/arduino/000007.html">Building a hygrometer with a HS1101</a></i> <br/><br/> <a href="http://www.stillhq.com/arduino/000006.commentform.html">Comment</a> http://www.stillhq.com/arduino/000006.html http://www.stillhq.com/arduino/000006.html Colony /book/Rob_Grant Mon, 28 Dec 2009 22:35:00 GMT <table width=100%><tr><td valign=top><img src="/book/Rob_Grant/Colony.cover.jpg"><br/><br/><br/>ISBN: 0140289755<br/>Penguin Books Ltd (2001), Paperback, 304 pages<br/><a href="http://www.librarything.com/isbn/0140289755">LibraryThing</a><br/><script type="text/javascript">GBS_insertPreviewButtonPopup('ISBN:0140289755');</script></td><td valign=top>The Times is wrong about this book. Its not "cruel, cynical and very funny", its cruel and cynical for sure, but it lacks hope and is overall just depressing. I certainly didn't feel it was funny. Its strange, I loved the Red Dwarf series, and this book is very similar. I think the problem is that this book lacks all the hope and charm of the Red Dwarf books and TV show. Its a book entirely comprised of Rimmers, and that's hard to take. <br/><br/><i>Tags for this post: book(<a href="http://www.stillhq.com/book"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/Rob_Grant/Colony&tag=book&format=.png" border="0" alt="S"></a>) Rob_Grant(<a href="http://www.stillhq.com/Rob_Grant"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/Rob_Grant/Colony&tag=Rob_Grant&format=.png" border="0" alt="S"></a>) </i><br/><i>Related posts: <a href="http://www.stillhq.com/book/Grant_Naylor/Better_Than_Life.html">Better Than Life</a>; <a href="http://www.stillhq.com/book/Harry_Harrison/Bill_The_Galactic_Hero_Series.html">Bill the Galactic Hero Series</a>; <a href="http://www.stillhq.com/book/Douglas_Adams/Life_the_Universe_and_Everything.html">Life, the Universe and Everything</a>; <a href="http://www.stillhq.com/book/Douglas_Adams/The_Restaurant_at_the_End_of_the_Universe.html">The Restaurant at the End of the Universe</a>; <a href="http://www.stillhq.com/book/Anthology/Body_Armor_2000.html">Body Armor: 2000</a>; <a href="http://www.stillhq.com/book/Douglas_Adams/So_Long_and_Thanks_For_All_The_Fish.html">So Long, and Thanks For All the Fish</a>; <a href="http://www.stillhq.com/book/Robert_Llewellyn/The_Man_In_The_Rubber_Mask.html">The Man in the Rubber Mask</a>; <a href="http://www.stillhq.com/book/Grant_Naylor/Red_Dwarf.html">Red Dwarf</a>; <a href="http://www.stillhq.com/book/Anne_McCaffrey/Dragonsdawn.html">Dragonsdawn</a>; <a href="http://www.stillhq.com/book/Doug_Naylor/Last_Human.html">Last Human</a>; <a href="http://www.stillhq.com/book/Robert_Sheckley/Bill_The_Galactic_Hero_On_The_Planet_of_the_Bottled_Brains.html">Bill the Galactic Hero on the Planet of Bottled Brains</a>; <a href="http://www.stillhq.com/book/Douglas_Adams/Mostly_Harmless.html">Mostly Harmless</a>; <a href="http://www.stillhq.com/book/Harry_Harrison/Bill_The_Galactic_Hero.html">Bill The Galactic Hero</a>; <a href="http://www.stillhq.com/book/Charles_Stross/Saturns_Children.html">Saturn's Children</a>; <a href="http://www.stillhq.com/book/Douglas_Adams/The_Hitchhikers_Guide_to_the_Galaxy.html">The Hitchhikers Guide to the Galaxy</a>; <a href="http://www.stillhq.com/book/Harry_Harrison/Bill_The_Galactic_Hero_The_Planet_of_the_Robot_Slaves.html">Bill the Galactic Hero: The Planet of the Robot Slaves</a></i></td></tr></table> <br/><br/> <a href="http://www.stillhq.com/book/Rob_Grant/Colony.commentform.html">Comment</a> http://www.stillhq.com/book/Rob_Grant/Colony.html http://www.stillhq.com/book/Rob_Grant/Colony.html Arduino with the kids: Cricket Noise Door Bell /arduino Mon, 28 Dec 2009 14:23:00 GMT When I was a child, I had a doorbell at my bedroom door to ward off uninvited guests. My six year old, Matthew, has always been pretty enthused about building things, and so he wanted to give an electronics project a try. I thought this would be a good project to start out with for the kids, because its relatively simple, and there is a tangible result at the end (you press a button and something happens). Matt liked the idea. Because this project involved a fair bit of soldering, it turns out that Matt spent most of his time taking photos of the work, although we talked about what was happening at each step. I need to think harder about how to get him involved in the construction process -- I think that will be easier once the bread boarding stuff from ebay arrives. <br/><br/> <div align=center> <img src="/arduino/doorbell-001-smaller.jpg"> </div> <br/><br/> The design is relatively simple. I took the sample debounce circuit (a button, 10k resistor) and software and ran that first. Then we put a peizo buzzer across pin 13 and ground. That meant that with the sample software we had both a light and a noise when you pressed the button. Unfortunately, the pin 13 LED also turns on when the arduino is booting, which means we got two beeps per boot, which was annoying. The peizo buzzer therefore got exiled to pin 12. <br/><br/> <div align=center> <img src="/arduino/doorbell-002-smaller.jpg"> </div> <br/><br/> Finally, the screech from the peizo buzzer was getting a bit much, so I implemented a simple on-off cycle instead of it staying completely on. This produces a noise a bit more like a cricket's chirp, which is much less annoying. Finally, we put the whole thing in a case, and I think it looks pretty good. At the same time as putting in the case, we also added a battery power supply and power switch, as Matthew is now keen to take his door bell to school for show and tell. <br/><br/> <div align=center> <img src="/arduino/doorbell-003-smaller.jpg"> </div> <br/><br/> <div align=center> <img src="/arduino/doorbell-004-smaller.jpg"> </div> <br/><Br/> The pictures in this post were mostly taken by Matthew. The source code (which includes a list of the wiring needed) is <a href="http://www.stillhq.com/svn/trunk/arduino/DoorBellWithMatt/">in my source repository</a>. <br/><br/><i>Tags for this post: arduino(<a href="http://www.stillhq.com/arduino"><img src="http://www.stillhq.com/tagicon.cgi?post=/arduino/000005&tag=arduino&format=.png" border="0" alt="S"></a>) </i><br/><i>Related posts: <a href="http://www.stillhq.com/arduino/000001.html">Beer fridge controller 0.1</a>; <a href="http://www.stillhq.com/arduino/000004.html">The Beer Fridge saga continues</a>; <a href="http://www.stillhq.com/arduino/000003.html">Beer fridge controller 0.3</a>; <a href="http://www.stillhq.com/arduino/000002.html">Beer fridge controller 0.2</a>; <a href="http://www.stillhq.com/arduino/000006.html">Thinking about arduino as a prototyping platform</a>; <a href="http://www.stillhq.com/arduino/000007.html">Building a hygrometer with a HS1101</a></i> <br/><br/> <a href="http://www.stillhq.com/arduino/000005.commentform.html">Comment</a> http://www.stillhq.com/arduino/000005.html http://www.stillhq.com/arduino/000005.html The Robot City, Robots and Aliens Series /book/Isaac_Asimov Sat, 26 Dec 2009 14:19:00 GMT This series follows on from <a href="http://www.stillhq.com/book/Isaac_Asimov/Robot_City_Series.html">the Robot City series</a> set in Asimov's <a href="http://www.stillhq.com/book/Isaac_Asimov/Foundation_Series.html">Foundation Universe</a> but written by other authors. Overall that first series was weak, and I think the same is true for this series as well. There are a few here that are better than the others, but I'd only recommend this series for those who are obsessed with Foundation universe completeness. <br/><br/> <ul> <li>1989: <a href="http://www.stillhq.com/book/Stephen_Leigh/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Changeling.html">Isaac Asimov's Robot City: Robots and Aliens: Changeling</a> by Stephen Leigh <li>1989: <a href="http://www.stillhq.com/book/Cordell_Scotten/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Renegade.html">Isaac Asimov's Robot City: Robots and Aliens: Renegade</a> by Cordell Scotten <li>1990: <a href="http://www.stillhq.com/book/Robert_Thurston/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Intruder.html">Isaac Asimov's Robot City: Robots and Aliens: Intruder</a> by Robert Thurston <li>1990: <a href="http://www.stillhq.com/book/Jerry_Oltion/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Alliance.html">Isaac Asimov's Robot City: Robots and Aliens: Alliance</a> by Jerry Oltion <li>1990: <a href="http://www.stillhq.com/book/Bruce_Bethke/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Maverick.html">Isaac Asimov's Robot City: Robots and Aliens: Maverick</a> by Bruce Bethke <li>1990: <a href="http://www.stillhq.com/book/Jerry_Oltion/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Humanity.html">Isaac Asimov's Robot City: Robots and Aliens: Humanity</a> by Jerry Oltion </ul> <br/><br/><i>Tags for this post: book(<a href="http://www.stillhq.com/book"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/Isaac_Asimov/Robots_and_Aliens_Series&tag=book&format=.png" border="0" alt="S"></a>) Isaac_Asimov(<a href="http://www.stillhq.com/Isaac_Asimov"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/Isaac_Asimov/Robots_and_Aliens_Series&tag=Isaac_Asimov&format=.png" border="0" alt="S"></a>) </i><br/><i>Related posts: <a href="http://www.stillhq.com/book/Jerry_Oltion/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Humanity.html">Isaac Asimov's Robot City: Robots and Aliens: Humanity</a>; <a href="http://www.stillhq.com/book/Bruce_Bethke/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Maverick.html">Isaac Asimov's Robot City: Robots and Aliens: Maverick</a>; <a href="http://www.stillhq.com/book/Jerry_Oltion/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Alliance.html">Isaac Asimov's Robot City: Robots and Aliens: Alliance</a>; <a href="http://www.stillhq.com/book/Robert_Thurston/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Intruder.html">Isaac Asimov's Robot City: Robots and Aliens: Intruder</a>; <a href="http://www.stillhq.com/book/Stephen_Leigh/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Changeling.html">Isaac Asimov's Robot City: Robots and Aliens: Changeling</a>; <a href="http://www.stillhq.com/book/Cordell_Scotten/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Renegade.html">Isaac Asimov's Robot City: Robots and Aliens: Renegade</a>; <a href="http://www.stillhq.com/book/Mark_W_Tiedemann/Mirage.html">Asimov's Mirage</a>; <a href="http://www.stillhq.com/book/William_F_Wu/Isaac_Asimovs_Robot_City_Cyborg.html">Isaac Asimov's Robot City: Cyborg</a>; <a href="http://www.stillhq.com/book/William_F_Wu/Isaac_Asimovs_Robot_City_Perihelion.html">Isaac Asimov's Robot City: Perihelion</a>; <a href="http://www.stillhq.com/book/Arthur_Byron_Cover/Isaac_Asimovs_Robot_City_Prodigy.html">Isaac Asimov's Robot City: Prodigy</a>; <a href="http://www.stillhq.com/book/Michael_P_Kube_McDowell/Isaac_Asimovs_Robot_City_Odyssey.html">Isaac Asimov's Robot City: Odyssey</a>; <a href="http://www.stillhq.com/book/Rob_Chilson/Isaac_Asimovs_Robot_City_Refuge.html">Isaac Asimov's Robot City: Refuge</a>; <a href="http://www.stillhq.com/book/Mike_McQuay/Isaac_Asimovs_Robot_City_Suspicion.html">Isaac Asimov's Robot City: Suspicion</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Robot_City_Series.html">The Robot City Series</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Robot_Short_Stories.html">Isaac Asimov's Robot Short Stories</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Foundation_Series.html">Isaac Asimov's Foundation Series</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Caves_Of_Steel.html">Caves of Steel</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Robot_Visions.html">Robot Visions</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Nightfall_Short_Stories.html">Isaac Asimov's Nightfall Short Stories</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Caliban_Series.html">Caliban Series</a>; <a href="http://www.stillhq.com/book/Roger_MacBride_Allen/Utopia.html">Isaac Asimov's Utopia</a></i> <br/><br/> <a href="http://www.stillhq.com/book/Isaac_Asimov/Robots_and_Aliens_Series.commentform.html">Comment</a> http://www.stillhq.com/book/Isaac_Asimov/Robots_and_Aliens_Series.html http://www.stillhq.com/book/Isaac_Asimov/Robots_and_Aliens_Series.html Isaac Asimov's Robot City: Robots and Aliens: Humanity /book/Jerry_Oltion Sat, 26 Dec 2009 14:14:00 GMT <table width=100%><tr><td valign=top><img src="/book/Jerry_Oltion/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Humanity.cover.jpg"><br/><br/><br/>ISBN: 0441373860<br/>Ace (1990), Paperback, 189 pages<br/><a href="http://www.librarything.com/isbn/0441373860">LibraryThing</a><br/><script type="text/javascript">GBS_insertPreviewButtonPopup('ISBN:0441373860');</script></td><td valign=top>This book is actually the best one of the two robot city series (<a href="http://www.stillhq.com/book/Isaac_Asimov/Robot_City_Series.html">Robot City</a> and <a href="http://www.stillhq.com/book/Isaac_Asimov/Robots_and_Aliens_Series.html">Robots and Aliens</a>). Unfortunately I had to wade through 12 not very good books to find it, and its still not stellar. I'd recommend giving both these series a miss unless you're obsessed with completeness in Asimov's Robot universe. <br/><br/><i>Tags for this post: book(<a href="http://www.stillhq.com/book"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/Jerry_Oltion/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Humanity&tag=book&format=.png" border="0" alt="S"></a>) Jerry_Oltion(<a href="http://www.stillhq.com/Jerry_Oltion"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/Jerry_Oltion/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Humanity&tag=Jerry_Oltion&format=.png" border="0" alt="S"></a>) </i><br/><i>Related posts: <a href="http://www.stillhq.com/book/Bruce_Bethke/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Maverick.html">Isaac Asimov's Robot City: Robots and Aliens: Maverick</a>; <a href="http://www.stillhq.com/book/Jerry_Oltion/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Alliance.html">Isaac Asimov's Robot City: Robots and Aliens: Alliance</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Robots_and_Aliens_Series.html">The Robot City, Robots and Aliens Series</a>; <a href="http://www.stillhq.com/book/Robert_Thurston/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Intruder.html">Isaac Asimov's Robot City: Robots and Aliens: Intruder</a>; <a href="http://www.stillhq.com/book/Stephen_Leigh/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Changeling.html">Isaac Asimov's Robot City: Robots and Aliens: Changeling</a>; <a href="http://www.stillhq.com/book/Cordell_Scotten/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Renegade.html">Isaac Asimov's Robot City: Robots and Aliens: Renegade</a>; <a href="http://www.stillhq.com/book/Mark_W_Tiedemann/Mirage.html">Asimov's Mirage</a>; <a href="http://www.stillhq.com/book/William_F_Wu/Isaac_Asimovs_Robot_City_Cyborg.html">Isaac Asimov's Robot City: Cyborg</a>; <a href="http://www.stillhq.com/book/William_F_Wu/Isaac_Asimovs_Robot_City_Perihelion.html">Isaac Asimov's Robot City: Perihelion</a>; <a href="http://www.stillhq.com/book/Arthur_Byron_Cover/Isaac_Asimovs_Robot_City_Prodigy.html">Isaac Asimov's Robot City: Prodigy</a>; <a href="http://www.stillhq.com/book/Michael_P_Kube_McDowell/Isaac_Asimovs_Robot_City_Odyssey.html">Isaac Asimov's Robot City: Odyssey</a>; <a href="http://www.stillhq.com/book/Rob_Chilson/Isaac_Asimovs_Robot_City_Refuge.html">Isaac Asimov's Robot City: Refuge</a>; <a href="http://www.stillhq.com/book/Mike_McQuay/Isaac_Asimovs_Robot_City_Suspicion.html">Isaac Asimov's Robot City: Suspicion</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Robot_City_Series.html">The Robot City Series</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Robot_Short_Stories.html">Isaac Asimov's Robot Short Stories</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Foundation_Series.html">Isaac Asimov's Foundation Series</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Caves_Of_Steel.html">Caves of Steel</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Robot_Visions.html">Robot Visions</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Nightfall_Short_Stories.html">Isaac Asimov's Nightfall Short Stories</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Caliban_Series.html">Caliban Series</a>; <a href="http://www.stillhq.com/book/Roger_MacBride_Allen/Utopia.html">Isaac Asimov's Utopia</a></i> </td></tr></table> <br/><br/> <a href="http://www.stillhq.com/book/Jerry_Oltion/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Humanity.commentform.html">Comment</a> http://www.stillhq.com/book/Jerry_Oltion/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Humanity.html http://www.stillhq.com/book/Jerry_Oltion/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Humanity.html Caliban Series /book/Isaac_Asimov Thu, 24 Dec 2009 20:40:00 GMT These are books written in Isaac Asimov's <a href="http://www.stillhq.com/book/Isaac_Asimov/Foundation_Series.html">Foundation Universe</a> by <a href="http://www.stillhq.com/book/Roger_MacBride_Allen/">Roger MacBride Allen</a>. These books are actually better than the <a href="http://www.stillhq.com/book/Isaac_Asimov/Robot_City_Series.html">Robot City Series</a>, in that they at least explore issues that Asimov himself touched upon. <br/><br/> <ul> <li>1997: <a href="http://www.stillhq.com/book/Roger_MacBride_Allen/Caliban.html">Caliban</a> <li>1998: <a href="http://www.stillhq.com/book/Roger_MacBride_Allen/Inferno.html">Inferno</a> <li>1999: <a href="http://www.stillhq.com/book/Roger_MacBride_Allen/Utopia.html">Utopia</a> </ul> <br/><br/> <br/><br/><i>Tags for this post: book(<a href="http://www.stillhq.com/book"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/Isaac_Asimov/Caliban_Series&tag=book&format=.png" border="0" alt="S"></a>) Isaac_Asimov(<a href="http://www.stillhq.com/Isaac_Asimov"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/Isaac_Asimov/Caliban_Series&tag=Isaac_Asimov&format=.png" border="0" alt="S"></a>) </i><br/><i>Related posts: <a href="http://www.stillhq.com/book/Roger_MacBride_Allen/Utopia.html">Isaac Asimov's Utopia</a>; <a href="http://www.stillhq.com/book/Roger_MacBride_Allen/Caliban.html">Isaac Asimov's Caliban</a>; <a href="http://www.stillhq.com/book/David_Brin/Foundations_Triumph.html">Foundation's Triumph</a>; <a href="http://www.stillhq.com/book/Mark_W_Tiedemann/Mirage.html">Asimov's Mirage</a>; <a href="http://www.stillhq.com/book/Roger_MacBride_Allen/Inferno.html">Isaac Asimov's Inferno</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Robot_Short_Stories.html">Isaac Asimov's Robot Short Stories</a>; <a href="http://www.stillhq.com/book/William_F_Wu/Isaac_Asimovs_Robot_City_Cyborg.html">Isaac Asimov's Robot City: Cyborg</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Foundation_Series.html">Isaac Asimov's Foundation Series</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Caves_Of_Steel.html">Caves of Steel</a>; <a href="http://www.stillhq.com/book/William_F_Wu/Isaac_Asimovs_Robot_City_Perihelion.html">Isaac Asimov's Robot City: Perihelion</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Robot_Visions.html">Robot Visions</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Nightfall_Short_Stories.html">Isaac Asimov's Nightfall Short Stories</a>; <a href="http://www.stillhq.com/wanted/000003.html">For Christmas</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/The_Complete_Robot.html">The Complete Robot</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Foundation_and_Empire.html">Foundation and Empire</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Nightfall_Short_Stories_Review.html">Nightfall (short stories)</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/I_Robot.html">I, Robot</a>; <a href="http://www.stillhq.com/book/Jerry_Oltion/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Humanity.html">Isaac Asimov's Robot City: Robots and Aliens: Humanity</a>; <a href="http://www.stillhq.com/book/Bruce_Bethke/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Maverick.html">Isaac Asimov's Robot City: Robots and Aliens: Maverick</a>; <a href="http://www.stillhq.com/book/Arthur_Byron_Cover/Isaac_Asimovs_Robot_City_Prodigy.html">Isaac Asimov's Robot City: Prodigy</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Robots_and_Empire.html">Robots and Empire</a></i> <br/><br/> <a href="http://www.stillhq.com/book/Isaac_Asimov/Caliban_Series.commentform.html">Comment</a> http://www.stillhq.com/book/Isaac_Asimov/Caliban_Series.html http://www.stillhq.com/book/Isaac_Asimov/Caliban_Series.html The Robot City Series /book/Isaac_Asimov Thu, 24 Dec 2009 20:24:00 GMT These are books written in Isaac Asimov's <a href="http://www.stillhq.com/book/Isaac_Asimov/Foundation_Series.html">Foundation Universe</a> by other authors. They don't progress the overall plot of the Foundation series, they just use some of the concepts and characters to tell similar stories. The books in the series are: <br/><br/> <ul> <li>1987: <a href="http://www.stillhq.com/book/Michael_P_Kube_McDowell/Isaac_Asimovs_Robot_City_Odyssey.html">Isaac Asimov's Robot City: Odyssey</a> by Michael P Kube-McDowell <li>1987: <a href="http://www.stillhq.com/book/Mike_McQuay/Isaac_Asimovs_Robot_City_Suspicion.html">Isaac Asimov's Robot City: Suspicion</a> by Mike McQuay <li>1987: <a href="http://www.stillhq.com/book/William_F_Wu/Isaac_Asimovs_Robot_City_Cyborg.html">Isaac Asimov's Robot City: Cyborg</a> by William F. Wu <li>1988: <a href="http://www.stillhq.com/book/Arthur_Byron_Cover/Isaac_Asimovs_Robot_City_Prodigy.html">Isaac Asimov's Robot City: Prodigy</a> by Arthur Byron Cover <li>1988: <a href="http://www.stillhq.com/book/Rob_Chilson/Isaac_Asimovs_Robot_City_Refuge.html">Isaac Asimov's Robot City: Refuge</a> by Rob Chilson <li>1988: <a href="http://www.stillhq.com/book/William_F_Wu/Isaac_Asimovs_Robot_City_Perihelion.html">Isaac Asimov's Robot City: Perihelion</a> by William F. Wu< </ul> <br/><br/> To be honest these books aren't fantastic and I wouldn't recommend them unless you're trying to get exhaustive coverage of Asimov's Foundation universe. <br/><br/><i>Tags for this post: book(<a href="http://www.stillhq.com/book"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/Isaac_Asimov/Robot_City_Series&tag=book&format=.png" border="0" alt="S"></a>) Isaac_Asimov(<a href="http://www.stillhq.com/Isaac_Asimov"><img src="http://www.stillhq.com/tagicon.cgi?post=/book/Isaac_Asimov/Robot_City_Series&tag=Isaac_Asimov&format=.png" border="0" alt="S"></a>) </i><br/><i>Related posts: <a href="http://www.stillhq.com/book/William_F_Wu/Isaac_Asimovs_Robot_City_Cyborg.html">Isaac Asimov's Robot City: Cyborg</a>; <a href="http://www.stillhq.com/book/William_F_Wu/Isaac_Asimovs_Robot_City_Perihelion.html">Isaac Asimov's Robot City: Perihelion</a>; <a href="http://www.stillhq.com/book/Jerry_Oltion/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Humanity.html">Isaac Asimov's Robot City: Robots and Aliens: Humanity</a>; <a href="http://www.stillhq.com/book/Bruce_Bethke/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Maverick.html">Isaac Asimov's Robot City: Robots and Aliens: Maverick</a>; <a href="http://www.stillhq.com/book/Arthur_Byron_Cover/Isaac_Asimovs_Robot_City_Prodigy.html">Isaac Asimov's Robot City: Prodigy</a>; <a href="http://www.stillhq.com/book/Michael_P_Kube_McDowell/Isaac_Asimovs_Robot_City_Odyssey.html">Isaac Asimov's Robot City: Odyssey</a>; <a href="http://www.stillhq.com/book/Mark_W_Tiedemann/Mirage.html">Asimov's Mirage</a>; <a href="http://www.stillhq.com/book/Rob_Chilson/Isaac_Asimovs_Robot_City_Refuge.html">Isaac Asimov's Robot City: Refuge</a>; <a href="http://www.stillhq.com/book/Jerry_Oltion/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Alliance.html">Isaac Asimov's Robot City: Robots and Aliens: Alliance</a>; <a href="http://www.stillhq.com/book/Mike_McQuay/Isaac_Asimovs_Robot_City_Suspicion.html">Isaac Asimov's Robot City: Suspicion</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Robots_and_Aliens_Series.html">The Robot City, Robots and Aliens Series</a>; <a href="http://www.stillhq.com/book/Robert_Thurston/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Intruder.html">Isaac Asimov's Robot City: Robots and Aliens: Intruder</a>; <a href="http://www.stillhq.com/book/Stephen_Leigh/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Changeling.html">Isaac Asimov's Robot City: Robots and Aliens: Changeling</a>; <a href="http://www.stillhq.com/book/Cordell_Scotten/Isaac_Asimovs_Robot_City_Robots_and_Aliens_Renegade.html">Isaac Asimov's Robot City: Robots and Aliens: Renegade</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Robot_Short_Stories.html">Isaac Asimov's Robot Short Stories</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Foundation_Series.html">Isaac Asimov's Foundation Series</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Caves_Of_Steel.html">Caves of Steel</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Robot_Visions.html">Robot Visions</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Nightfall_Short_Stories.html">Isaac Asimov's Nightfall Short Stories</a>; <a href="http://www.stillhq.com/book/Isaac_Asimov/Caliban_Series.html">Caliban Series</a>; <a href="http://www.stillhq.com/book/Roger_MacBride_Allen/Utopia.html">Isaac Asimov's Utopia</a></i> <br/><br/> <a href="http://www.stillhq.com/book/Isaac_Asimov/Robot_City_Series.commentform.html">Comment</a> http://www.stillhq.com/book/Isaac_Asimov/Robot_City_Series.html http://www.stillhq.com/book/Isaac_Asimov/Robot_City_Series.html