<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7137783108067327970</id><updated>2024-11-01T10:38:23.573+00:00</updated><category term="twitter"/><category term="nagios"/><category term="sysadmin"/><category term="yahoo pipes"/><category term="#nws08"/><category term="JaNET"/><category term="XMPP"/><category term="gmail"/><category term="imap"/><category term="jabber"/><category term="networkshop2008"/><category term="ITServices"/><category term="ITSupport"/><category term="access"/><category term="applications"/><category term="birmingham"/><category term="emergent game"/><category term="evolution"/><category term="facebook"/><category term="geocoding"/><category term="glasgow"/><category term="gps"/><category term="imapsync"/><category term="ipv6"/><category term="location"/><category term="monitoring"/><category term="moodle"/><category term="perl"/><category term="photos"/><category term="printing"/><category term="social"/><category term="ubuntu"/><title type='text'>Risking the business</title><subtitle type='html'>with every keystroke.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>37</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-3049405751146086739</id><published>2008-04-26T13:11:00.003+01:00</published><updated>2008-04-26T13:39:12.082+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="evolution"/><category scheme="http://www.blogger.com/atom/ns#" term="facebook"/><category scheme="http://www.blogger.com/atom/ns#" term="social"/><title type='text'>Facebook - bringing back the village shop</title><content type='html'>Leaving aside the &#39;serious&#39; side of social networking for the moment - journalism, marketing, education, research and all that stuff - I&#39;ve been thinking around what social networking is doing to/for people in general.&lt;br /&gt;&lt;br /&gt;And it&#39;s replacing the village shop.&lt;br /&gt;&lt;br /&gt;Now there&#39;s well publicised research and academic stuff which suggests that humans are evolved to live in relatively small groups, a couple of hundred individuals or so, and it&#39;s a pretty convincing story.&lt;br /&gt;&lt;br /&gt;It&#39;s not a big jump to suggest that our mobile society, in which friends move away and become less easily accessible, creates significant psychological stress as we try to deal with people we are emotionally attached to but never see. I know it stresses me. Because every contact, rather than being an informal two minutes as our paths cross in a common environment, becomes an event, which has to be got right, and I don&#39;t know what&#39;s going on with them right now, and maybe I&#39;ll have a think and do it tomorrow.&lt;br /&gt;&lt;br /&gt;And facebook (and bebo and myspace, I&#39;m sure, but I don&#39;t go there) is bringing it back. I have some idea what they&#39;re up to, so long as they do the status update thing. I know that they have similar info about me. And they seem less distant. Facebook is the new village shopkeeper, who tells you that Norma was in last week, and one of her kids has had chicken pox, and you tell him that you&#39;ve been busy with your new hobby...&lt;br /&gt;&lt;br /&gt;Now I&#39;m not suggesting social networking will fix everything, nor that it doesn&#39;t bring new problems. But it&#39;s here, it&#39;s staying, and it&#39;s a way to live our hectic diconnected modern lives that we&#39;re not really eveolved to cope with.&lt;br /&gt;&lt;br /&gt;Or maybe I should lay off the barley wine for a bit.</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/3049405751146086739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/3049405751146086739' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/3049405751146086739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/3049405751146086739'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/04/facebook-bringing-back-village-shop.html' title='Facebook - bringing back the village shop'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-3110671421094578490</id><published>2008-04-23T19:11:00.003+01:00</published><updated>2008-04-24T19:18:30.894+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="access"/><category scheme="http://www.blogger.com/atom/ns#" term="applications"/><category scheme="http://www.blogger.com/atom/ns#" term="printing"/><title type='text'>MS Access - the best of apps, the worst of apps.</title><content type='html'>Microsoft Access. It&#39;s possibly the most painful application our users run. It does some fundamentally stupid things:&lt;br /&gt;&lt;br /&gt;If your default printer is set to automatically select a paper tray, Access will fail with a deeply cryptic error when you try to preview a report. In fact, once you know what&#39;s going on, it sorta makes sense.&lt;br /&gt;&lt;br /&gt;The problem is that if Access is going to print preview a report, it needs to know what size of paper it&#39;s going to print on, what the printable area is, and probably other stuff. And so it checks to see what the default printer is set up to use. And if the printer is set to select the tray dependent on the paper size requested, then Access can&#39;t find out. As I say, it sorta makes sense. But surely &lt;blockquote&gt;&#39;Your default printer is set to select an output tray automatically, and so Access doesn&#39;t know what size to print this report. Please select a paper size....&#39;&lt;/blockquote&gt; wouldn&#39;t be that hard?&lt;br /&gt;&lt;br /&gt;There&#39;s others, but that&#39;s the one that bit us AGAIN today. I&#39;d happily advise my colleagues &#39;this MS Access? Yeah, it looks nice, but to be honest it&#39;s a piece of crap. Don&#39;t bother with it.&#39;&lt;br /&gt;&lt;br /&gt;But I can&#39;t. Why not? Because there&#39;s nothing else that does the same job. It&#39;s easy to build a moderately complex and sophisticated database application, with integrated reporting and stuff. And when I say easy, I mean easy for actual humans, who do actual jobs.&lt;br /&gt;&lt;br /&gt;The truth is, for all that it&#39;s buggy as hell, and doesn&#39;t scale well, and uses perversely tweaked SQL syntax, and on and on, Access is the killer application, competing in a field of one.&lt;br /&gt;&lt;br /&gt;There&#39;s nothing else out there which does &#39;desktop database application&#39; well enough most of the time to compete. Show me I&#39;m wrong.</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/3110671421094578490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/3110671421094578490' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/3110671421094578490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/3110671421094578490'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/04/ms-access-best-of-apps-worst-of-apps.html' title='MS Access - the best of apps, the worst of apps.'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-5359463640361957382</id><published>2008-04-13T17:44:00.001+01:00</published><updated>2008-04-13T17:44:52.807+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="glasgow"/><category scheme="http://www.blogger.com/atom/ns#" term="photos"/><title type='text'>Selected photos from a trip to Glasgow</title><content type='html'>&lt;a href=&quot;http://www.flickr.com/photos/10699385@N00/2405764159/&quot; title=&quot;00008.jpg&quot;&gt;&lt;img style=&quot;&quot; title=&quot;Mist rising from a hillside&quot; alt=&quot;Mist rising from a hillside&quot; src=&quot;http://static.flickr.com/2303/2405764159_6f0804ce96_m.jpg&quot; /&gt; &lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.flickr.com/photos/10699385@N00/2405742429/&quot; title=&quot;00034.jpg&quot;&gt;  &lt;img style=&quot;&quot; title=&quot;A 3d map on a pedestal&quot; alt=&quot;A 3d map on a pedestal&quot; src=&quot;http://static.flickr.com/3134/2405742429_0ca75a7b5c_m.jpg&quot; /&gt;&amp;nbsp;&lt;/a&gt;&lt;a href=&quot;http://www.flickr.com/photos/10699385@N00/2405764159/&quot; title=&quot;00008.jpg&quot;&gt; &lt;/a&gt;&lt;a href=&quot;http://www.flickr.com/photos/10699385@N00/2406590768/&quot; title=&quot;00014.jpg&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.flickr.com/photos/10699385@N00/2406590768/&quot; title=&quot;00014.jpg&quot;&gt;  &lt;img style=&quot;&quot; title=&quot;View by day&quot; alt=&quot;View by day&quot; src=&quot;http://static.flickr.com/2027/2406590768_7bbe61b738_m.jpg&quot; /&gt;&amp;nbsp;&lt;/a&gt;&lt;a href=&quot;http://www.flickr.com/photos/10699385@N00/2405742429/&quot; title=&quot;00034.jpg&quot;&gt; &lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.flickr.com/photos/10699385@N00/2405763089/&quot; title=&quot;00009.jpg&quot;&gt;  &lt;img style=&quot;&quot; title=&quot;View by night&quot; alt=&quot;View by night&quot; src=&quot;http://static.flickr.com/3143/2405763089_b909c0a1da_m.jpg&quot; /&gt;&amp;nbsp;&lt;/a&gt;&lt;a href=&quot;http://www.flickr.com/photos/10699385@N00/2406590768/&quot; title=&quot;00014.jpg&quot;&gt; &lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.flickr.com/photos/10699385@N00/2405732651/&quot; title=&quot;00045.jpg&quot;&gt;  &lt;img style=&quot;&quot; title=&quot;Nice lines&quot; alt=&quot;Nice lines&quot; src=&quot;http://static.flickr.com/2138/2405732651_9629bdbb55_m.jpg&quot; /&gt;&amp;nbsp;&lt;/a&gt;&lt;a href=&quot;http://www.flickr.com/photos/10699385@N00/2405763089/&quot; title=&quot;00009.jpg&quot;&gt; &lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.flickr.com/photos/10699385@N00/2406551166/&quot; title=&quot;00061.jpg&quot;&gt;  &lt;img style=&quot;&quot; title=&quot;Power and wealth&quot; alt=&quot;Power and wealth&quot; src=&quot;http://static.flickr.com/2182/2406551166_15845633eb_m.jpg&quot; /&gt; &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.flickr.com/photos/10699385@N00/2406590768/&quot; title=&quot;00014.jpg&quot;&gt;&lt;/a&gt;&lt;div class=&quot;flockcredit&quot; style=&quot;text-align: right; color: #CCC; font-size: x-small;&quot;&gt;Blogged with the &lt;a href=&quot;http://www.flock.com/blogged-with-flock&quot; style=&quot;color: #999; font-weight: bold;&quot; target=&quot;_new&quot; title=&quot;Flock Browser&quot;&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/5359463640361957382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/5359463640361957382' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/5359463640361957382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/5359463640361957382'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/04/selected-photos-from-trip-to-glasgow.html' title='Selected photos from a trip to Glasgow'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-6811361575204083287</id><published>2008-04-13T15:16:00.003+01:00</published><updated>2008-04-13T15:49:00.237+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ITServices"/><category scheme="http://www.blogger.com/atom/ns#" term="ITSupport"/><title type='text'>If you can fake sincerity.. more IT Support philosophy stuff</title><content type='html'>I&#39;d like you, my reader, to imagine yourself a user of IT Services. You&#39;re having trouble sending email to a particular institution, and there&#39;s a deadline approaching. So you pop into IT Services to see if anyone can help.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Scenario 1&lt;/span&gt;&lt;br /&gt;There are three technicians sitting at their desks. You can see one of their screens, and he seems to be shopping. The technicians ignore you. You wait. Eventually one of them turns away from the screen. You explain your problem. The technician replies &lt;span style=&quot;font-style: italic;&quot;&gt;&quot;We can&#39;t do anything about that, you&#39;ll have to put a job on the system, and the email team will have a look at it&quot;&lt;/span&gt;. You leave.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Scenario 2&lt;/span&gt;&lt;br /&gt;There are three technicians sitting at their desks. They all look up as soon as you walk in, and one asks if they can help you. You explain the problem, and the technician replies &quot;&lt;span style=&quot;font-style: italic;&quot;&gt;I&#39;m sorry, that&#39;s something the email team will need to look at. I&#39;ll help you put a job on our job system now. Have you used the job system before? Don&#39;t worry, I&#39;ll show you what to do. Here&#39;s a job reference number. You &#39;ve got a deadline? Don&#39;t worry, I&#39;ll call one of the email team now and ask them to treat it as urgent&lt;/span&gt;&quot;. You leave.&lt;br /&gt;&lt;br /&gt;Now I&#39;ll not insult your intelligence. Scenario 2 is the good one. Scenario 1 happens all too often. That&#39;s obvious, and it&#39;s not really the point.&lt;br /&gt;&lt;br /&gt;The point is that in neither scenario did your problem get solved. The people you approached couldn&#39;t help you themselves. But in scenario 2, I&#39;ll wager you&#39;d feel confident that someone would help, and probably in good time. And you&#39;d be more likely to come back for help again. And less likely to moan about IT Support.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Moral:&lt;/span&gt;&lt;br /&gt;Customer Service is a lot about serving the customer, and a lot about making the customer feel served. And it&#39;s easy and costs nothing to do the latter. And they&#39;ll love you for it.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Disclaimer: This is a hypothetical scenario, and in no way represents any situation that has actually happened, nor anyone who actually exists. Honest.</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/6811361575204083287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/6811361575204083287' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/6811361575204083287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/6811361575204083287'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/04/if-you-can-fake-sincerity-more-it.html' title='If you can fake sincerity.. more IT Support philosophy stuff'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-8351327219058281591</id><published>2008-04-11T16:18:00.005+01:00</published><updated>2008-04-11T17:03:39.403+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="#nws08"/><category scheme="http://www.blogger.com/atom/ns#" term="JaNET"/><category scheme="http://www.blogger.com/atom/ns#" term="networkshop2008"/><title type='text'>Post Networkshop</title><content type='html'>In my previous post, I expressed my intention to blog and twitter all the way through &lt;a href=&quot;http://www.ja.net/services/events/2008/networkshop-36.html&quot;&gt;networkshop 36&lt;/a&gt;. I so failed. For several reasons, I think.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Connectivity problems: at least initally, I couldn&#39;t get network access. There were technical dificulties with the installation, but there was wireless available. It&#39;s just that my eeepc hasn&#39;t been set up to do 802.1x, and that&#39;s what was available. This was resolved by the beginning of the first full day, but by then I&#39;d not started at the start. Just to be clear, there were initial technical difficulties, but I could have gotten around it. I didn&#39;t. Ah well.&lt;/li&gt;&lt;li&gt;What to say? When I was in a position to twitter live from the sessions, I sorta stalled, couldn&#39;t think of anything to say that would make any sense or give any value out of context.&lt;/li&gt;&lt;li&gt;More connectivity problems: I tried to make up for not twittering on Tuesday by writing up a blog post Tuesday night from the hotel. But the hotel&#39;s proxy server was broken.&lt;/li&gt;&lt;/ul&gt;Enough with the excuses. I took some pretty cryptic notes, and will be posting a distilled version of what I found interesting/insightful from those.&lt;br /&gt;&lt;br /&gt;For now, three highlights for me were;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;The network monitoring BOF.&lt;/span&gt;&lt;br /&gt;(Birds Of a Feather session. I don&#39;t know why). There seemed to be some agreement that we, the delegates, could benefit from trying to be a bit more of a community outside of networkshop, and share techniques, scripts etc related to monitoring and the configuration of monitoring systems.&lt;br /&gt;&lt;br /&gt;There&#39;s a mailing list (I don&#39;t know if I&#39;m supposed to advertise it&#39;s address, so I won&#39;t), and there was talk of a wiki. There seemed general agreement, so we&#39;ll have to see if we can make it happen. I&#39;ll give it a run, hopefully I won&#39;t be billy-no-mates.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;One thing that strikes me often, and struck me during networkshop several times, is the apparent expectation amongst the academic networking community that everyone runs cisco kit. And everyone&#39;s happy to build systems that rely on cisco specific services. Which doesn&#39;t help me very much. And doesn&#39;t it sorta help cisco perpetuate lock-in? Perhaps I&#39;m just feeling left out.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;Alan de Kok.&lt;/span&gt;&lt;br /&gt;The lead developer on the &lt;a href=&quot;http://www.freeradius.org/&quot;&gt;freeradius&lt;/a&gt; project, and by far the slickest speaker I saw. Sorry guys. More on this one later. Suffice to say that by the time he&#39;d finished, I was grinning like a fool.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;a href=&quot;http://www.celticmusicradio.net/&quot;&gt;Celtic Music Radio&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;Every year, there&#39;s a couple of sessions with a less narrow focus. This was one. There was a bit of networking involved, not much. But the speakers described building systems, with little money, and plenty of problems to work around. And a boat ferrying sewage and pensioners was involved.&lt;br /&gt;&lt;br /&gt;And if you noticed me drifting off while you were speaking, I&#39;m so very sorry. I&#39;m past 40 now, and the afternoon nap is becoming an inevitability. At least, that&#39;s my excuse.</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/8351327219058281591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/8351327219058281591' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/8351327219058281591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/8351327219058281591'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/04/post-networkshop.html' title='Post Networkshop'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-6425554755479623872</id><published>2008-04-07T19:10:00.006+01:00</published><updated>2008-04-07T20:01:56.894+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="#nws08"/><title type='text'>Getting ready for #nws08</title><content type='html'>&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;Tomorrow morning at stupid o&#39;clock&lt;/span&gt;, I&#39;ll be leaving sunny Birmingham, and will be off to Glasgow, to attend &lt;a href=&quot;http://www.ja.net/services/events/2008/networkshop-36.html&quot;&gt;Networkshop 36&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I&#39;ve attended several times now, and each time it&#39;s been way too late before I&#39;ve started to prepare, each time there&#39;s not seemed enough time whilst I&#39;ve been there (perhaps earlier bedtimes might help there), and each time I&#39;ve come home tired, inspired, and with suprisingly little in the way of details remembered.&lt;br /&gt;&lt;br /&gt;This year it&#39;s gonna be different. I have a plan. I&#39;m going to try to document what I gain. I&#39;ll try blogging here, and I&#39;ll try twittering.&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;#nws08&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It&#39;s my intention to tag all my posts #nws08 (I originally considered #networkshop2008, but it&#39;s a little long for twitter&#39;s 140 char limit, and it&#39;s a pain to type on a phone). I&#39;d encourage anyone attending who&#39;s blogging or twittering (or anything else-ing) to do likewise.&lt;br /&gt;&lt;br /&gt;Hopefully, my blogging/micro-blogging at networkshop will&lt;br /&gt;&lt;ul&gt;&lt;li&gt;help clarify any thoughts I have (unlikely, I know) during the conference, and&lt;/li&gt;&lt;li&gt;give me something semi-coherent to show for my attendance after the fact. Y&#39;know, to justify the expense of sending me to Glasgow. Although I get the impression that my employers consider the few hundred pounds a small price to pay to get me three hundred miles away.&lt;/li&gt;&lt;/ul&gt;Now it&#39;s time to go get the suit out from the dog&#39;s basket.</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/6425554755479623872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/6425554755479623872' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/6425554755479623872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/6425554755479623872'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/04/getting-ready-for-nws2008.html' title='Getting ready for #nws08'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-6125629355652791166</id><published>2008-04-06T20:33:00.004+01:00</published><updated>2008-04-06T22:02:22.534+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="emergent game"/><category scheme="http://www.blogger.com/atom/ns#" term="twitter"/><category scheme="http://www.blogger.com/atom/ns#" term="yahoo pipes"/><title type='text'>Emergent game on twitter</title><content type='html'>I&#39;ve been approached by a local artist working on &lt;a href=&quot;http://emergentgame.org.uk/&quot;&gt;emergent game «Σ»&lt;/a&gt;. I&#39;ve built another bot, which uses the twitter api to search for twitterers located in the emergent game, then uses the XMPP interface to make a private account follow them.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://emergentgame.org.uk&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFMWOkg5G_evBx8d7i-H2KRspqWxjbNma8v0EUFm4cg6QH2pshLqIBqHGomDAk3F9qBavcic7DmGlGX7fR2cEqAeJYM0ZPN9zrm_5TPF3mhvr1yHhxZd8dl2lBeEtTxnyTf4Xh7BWON2k/s320/output.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5186239317364891810&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Then we chuck the &#39;with friends&#39; feed through a yahoo pipe, for two reasons.&lt;br /&gt;&lt;br /&gt;I&#39;m pretty sure twitter needs you to be authenticated to see the &#39;with friends&#39; feed. Yahoo pipes has a &#39;private string&#39; object, so we can (safely?) embed a username and password in the feed url.&lt;br /&gt;&lt;br /&gt;If (when) there&#39;s a parsing error in the bot, the yahoo pipe can filter the private accounts own updates, so we effectively get a &#39;just friends&#39; feed.&lt;br /&gt;&lt;br /&gt;Which gets displayed on the game blog &lt;a href=&quot;http://emergentgame.org.uk/sapiens&quot;&gt;thus&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/6125629355652791166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/6125629355652791166' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/6125629355652791166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/6125629355652791166'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/04/emergent-game-on-twitter.html' title='Emergent game on twitter'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFMWOkg5G_evBx8d7i-H2KRspqWxjbNma8v0EUFm4cg6QH2pshLqIBqHGomDAk3F9qBavcic7DmGlGX7fR2cEqAeJYM0ZPN9zrm_5TPF3mhvr1yHhxZd8dl2lBeEtTxnyTf4Xh7BWON2k/s72-c/output.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-1800930047302087259</id><published>2008-04-06T19:59:00.002+01:00</published><updated>2008-04-06T20:04:18.650+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="sysadmin"/><title type='text'>Take your hands AWAY from the keyboard..</title><content type='html'>Just a tiny post to mention a personal rule.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;take your hands AWAY from the keyboard..&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;whenever I&#39;m doing something potentially risky ( you know what I mean, like running chmod whilst logged in as root ), I type the command, and lift both my hands theatrically up to my shoulders while I read what I typed and decide if it&#39;s gonna cause me pain.&lt;br /&gt;&lt;br /&gt;It&#39;s saved me innumerable times.</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/1800930047302087259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/1800930047302087259' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/1800930047302087259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/1800930047302087259'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/04/take-your-hands-away-from-keyboard.html' title='Take your hands AWAY from the keyboard..'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-3600999196314793661</id><published>2008-04-06T02:24:00.004+01:00</published><updated>2008-04-06T16:53:31.706+01:00</updated><title type='text'>My working environment</title><content type='html'>It&#39;s not a good title. But I can&#39;t think of a better one right now. Here&#39;s a first hack at a diagram of my day-to-day comms setup. It&#39;s only a start, and doesn&#39;t cover a bunch of stuff. I&#39;ll add to it soon.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdLikL7W3fK3IWydptw6nXQoxf06xZveAgXKtucWd5XpDNm36p04wulZZrcddCPXwTJuZyiOMnvhukd6rCf9vjNsT-CfKS6_tECMvVQA2b797GsiOmxjpdFMoK3Bfwvxjoi5GKVqbVDFk/s1600-h/PersonalCommsIntegration.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdLikL7W3fK3IWydptw6nXQoxf06xZveAgXKtucWd5XpDNm36p04wulZZrcddCPXwTJuZyiOMnvhukd6rCf9vjNsT-CfKS6_tECMvVQA2b797GsiOmxjpdFMoK3Bfwvxjoi5GKVqbVDFk/s320/PersonalCommsIntegration.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5186160878377164930&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;The green arrows represent places I input. The blue ones, places I (or others, more on that later) view stuff. Most data paths are labelled with the protocol or protocol families used.</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/3600999196314793661/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/3600999196314793661' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/3600999196314793661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/3600999196314793661'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/04/my-working-environment.html' title='My working environment'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdLikL7W3fK3IWydptw6nXQoxf06xZveAgXKtucWd5XpDNm36p04wulZZrcddCPXwTJuZyiOMnvhukd6rCf9vjNsT-CfKS6_tECMvVQA2b797GsiOmxjpdFMoK3Bfwvxjoi5GKVqbVDFk/s72-c/PersonalCommsIntegration.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-7125466817863897718</id><published>2008-04-03T00:18:00.003+01:00</published><updated>2008-04-03T00:41:40.707+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ipv6"/><category scheme="http://www.blogger.com/atom/ns#" term="moodle"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>I&#39;m very proud</title><content type='html'>to announce that IPv6 has affected me, in actual real life.&lt;br /&gt;&lt;br /&gt;We run a moodle server. It&#39;s pretty important. We run it in a DMZ, and it&#39;s protected by a commercial firewall product. It&#39;s running on Ubuntu Gutsy server, and we spent Monday and Tuesday upgrading all 30-odd instances from moodle 1.72 to moodle 1.9 . This went very well and proved very easy.&lt;br /&gt;&lt;br /&gt;We also did a whole bunch of ubuntu package upgrades, which cowardice had caused me to shy away from till now. I mean, how comfortable would you be if aptitude upgrade told you the kernel would be removed?&lt;br /&gt;&lt;br /&gt;Aaanyway, we did it, and it all worked. Except now, it was dog slow. Like 40 seconds to return a page. So, off I went on the now familiar hunt for the wotdidIdowrongthistime bird.&lt;br /&gt;&lt;br /&gt;I&#39;d noticed a long pause at the start of every aptitude download, and there was the clue. I ran a sniffer on the moodle box, and it&#39;s name server. And there was the problem.&lt;br /&gt;&lt;br /&gt;Each time the moodle box needed name service, it would send four DNS requests for AAAA records, which the nameserver just never saw. Then the moodle box gave up waiting, and tried for an A record, which the nameserver saw and responded to, and on we go.&lt;br /&gt;&lt;br /&gt;Turns out that our firewall didn&#39;t want to pass AAAA requests, or the ubuntu box was sending them up it&#39;s own bum or somewhere else sub-optimal. After a few minutes googling and wincing at the ubuntu forums, the answer turned out to be this:&lt;br /&gt;&lt;br /&gt;in /etc/modprobe.d/, create bad_file with the line alias net-pf-10 off.&lt;br /&gt;&lt;br /&gt;And all is happy again. S&#39;pose I ought to be talking to firewall vendors soon...</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/7125466817863897718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/7125466817863897718' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/7125466817863897718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/7125466817863897718'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/04/im-very-proud.html' title='I&#39;m very proud'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-5685880231558161684</id><published>2008-04-02T23:33:00.003+01:00</published><updated>2008-04-03T00:05:29.670+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="gmail"/><category scheme="http://www.blogger.com/atom/ns#" term="imap"/><title type='text'>Going google - progress report</title><content type='html'>After some months in internal debate (internal to me, that is), I&#39;ve decided to go google. And last weekend I shifted 6 year&#39;s worth of stored email up to gmail.&lt;br /&gt;&lt;br /&gt;And I have to say, it&#39;s looking good. It&#39;s quicker than IMAP (certainly when dealing with big chunks of messages), and the spam handling is at least an order of magnitude better than mine. And the interface is pretty nice.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;We don&#39;t need no goddam folders.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Previously, I&#39;d been using a middling complex procmail setup to auto-file everything I wanted to keep into auto-named folders, with the folder names generated from the from: address, and all actual mail folders grouped in folders according to initial letter. So all mails from bill.gates@microsoft.com were filed in the IMAP folder /b/bill-gates . This made it considerably easier to find old mail when I wanted it, without relying on me to manually file it correctly (which would have been a non-starter).&lt;br /&gt;&lt;br /&gt;So when I transferred to gmail, I kept the folders as labels. Big mistake. Because searching 12,000 messages via gmail is so quick, there&#39;s no need for filing. So I spent two hours removing labels from everything. Big win. Preceded by a coupla hours of big loss.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Instant Messaging.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I realised on Tuesday, once I was settling down to actually using the thing, that if you&#39;re using the chat widget which lives in gmail, the conversations are archived in with your email. Which is expletively neat. What&#39;s rubbish is that the chat I had with a person who clicked on the &#39;chat with&#39; button on the blog wasn&#39;t automatically archived. &#39;Cos actually I needed to keep that. Happily, I&#39;d not closed the window yet.&lt;br /&gt;&lt;br /&gt;Now part of the reason I&#39;m doing this is about changing the way I work. I&#39;ve had enough of relying on installed applications for run-of-the-mill stuff, and the work that goes into managing that.&lt;br /&gt;&lt;br /&gt;The other part is that I need to be better informed as to how well this can work. I&#39;m seriously swayed by suggestions that institutional IT support should let the likes of google focus on providing commodity applications like email, word processing and document sharing, and we focus on providing better and better access to those services. &#39;Cos google are just gonna do it better.&lt;br /&gt;&lt;br /&gt;It&#39;s important to me that I point out here that I&#39;m not outlining my employer&#39;s policy, nor speaking for my employer. These are my own versions of other&#39;s thoughts. Not my employer&#39;s. Is that clear enough?</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/5685880231558161684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/5685880231558161684' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/5685880231558161684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/5685880231558161684'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/04/going-google-progress-report.html' title='Going google - progress report'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-8738957135492808354</id><published>2008-04-01T02:00:00.003+01:00</published><updated>2008-04-01T08:42:22.695+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="geocoding"/><category scheme="http://www.blogger.com/atom/ns#" term="gps"/><category scheme="http://www.blogger.com/atom/ns#" term="yahoo pipes"/><title type='text'>motorway junction geocoder</title><content type='html'>&lt;a href=&quot;http://pipes.yahoo.com/martinwhinnery/PAaSQGb73BGKjNg5CB2yXQ&quot;&gt;It&#39;s a yahoo pipe, which for some major subset of UK motorways, takes the motorway and junction numbers, and returns a geo thing.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This came out of an idea I&#39;ve mentioned &lt;a href=&quot;http://mawhin.blogspot.com/2008/03/twitter-as-platform.html&quot;&gt;here&lt;/a&gt;, and which Ive since discovered is the basis of &lt;a href=&quot;http://dash.net&quot;&gt;this product&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;But while I was playing around, I realised that none of the big mapping providers do this - or at least I couldn&#39;t get them to. Perhaps you&#39;ll do better than me, &quot;M6 Junction 6&quot; always landed me in Manchester. Not where I wanted to be.&lt;br /&gt;&lt;br /&gt;So I searched, and searched, and found a couple of &lt;a href=&quot;http://www.geocities.com/TimesSquare/1350/#gps&quot;&gt;GPS waypoint files &lt;/a&gt;listing UK motoroway junctions. None of them in any kind of useful format. Still, where there&#39;s a will...&lt;br /&gt;&lt;br /&gt;So out comes &lt;a href=&quot;http://www.gpsbabel.org/&quot;&gt;gpsbabel&lt;/a&gt;, and a few &#39;tests&#39; later, I&#39;ve got a GPX file, which works. The rest of the pipe is about getting the XML structure to work.&lt;br /&gt;&lt;br /&gt;It doesn&#39;t do much, but as far as I know it&#39;s the only one of it&#39;s kind, and it does do what it&#39;s supposed to.&lt;br /&gt;&lt;br /&gt;I&#39;m pretty pleased with meself, me.</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/8738957135492808354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/8738957135492808354' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/8738957135492808354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/8738957135492808354'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/04/motorway-junction-geocoder.html' title='motorway junction geocoder'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-5328808336480818806</id><published>2008-03-29T15:37:00.004+00:00</published><updated>2008-03-29T15:55:54.676+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="gmail"/><category scheme="http://www.blogger.com/atom/ns#" term="imap"/><category scheme="http://www.blogger.com/atom/ns#" term="imapsync"/><title type='text'>going google part 2 - imapsync</title><content type='html'>I&#39;ve already mentioned that I&#39;m going google.&lt;br /&gt;&lt;br /&gt;The largest part of this is transferring my mail from my IMAP server up to gmail. That kept me up until 5 this morning, and is about half done. And let me tell you, it&#39;s been a pain.&lt;br /&gt;&lt;br /&gt;I started in Thunderbird. I knew it would take some time, but I&#39;d got all weekend, shift a thousand at a time, done before you know it. Nuh-uh. Thunderbird would only shift a couple of hundred at a time. Any more, and thunderbird grinds to a halt.&lt;br /&gt;&lt;br /&gt;So I did a little googling, and found imapsync, which as I write this is doing the job. It&#39;s a perl program, with lots of command-line switches. Here&#39;s mine (sanitised)..&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;imapsync --host1 10.1.2.3 --user1 myusername --password1 xxxxxx \&lt;br /&gt;--prefix1 /home/sites/site1/users/myusername/imapmail/ --authmech1 LOGIN \&lt;br /&gt;--host2 imap.gmail.com --user2 my.googleid --password2 xxxxxx \&lt;br /&gt;-ssl2 --skipsize --noauthmd5 --subscribed --delete --expunge \&lt;br /&gt;--exclude SPAM|HAM|Drafts --split1 200 --split2 200 \&lt;br /&gt;--nofoldersizes --regextrans2 s/[a-z]\/// --fast --syncinternaldates&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;--prefix1 /home/sites/site1/users/myusername/imapmail/&lt;/code&gt; is to strip off the full path to my IMAP folder tree.&lt;/li&gt;&lt;li&gt;&lt;code&gt;--regextrans2 s/[a-z]\///&lt;/code&gt;is because I&#39;ve got my IMAP organised like a/alan, a/andy, d/dave, etc. It whips the initial letter and forward slash out of the gmail label.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The command line&#39;s a bit gnarly, but it&#39;s getting the job done. So big up imapsync.</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/5328808336480818806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/5328808336480818806' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/5328808336480818806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/5328808336480818806'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/03/going-google-part-2-imapsync.html' title='going google part 2 - imapsync'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-8016099560553627469</id><published>2008-03-28T15:06:00.003+00:00</published><updated>2008-03-28T15:17:49.773+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="JaNET"/><category scheme="http://www.blogger.com/atom/ns#" term="networkshop2008"/><title type='text'>networkshop 2008 blog aggregator goes live!</title><content type='html'>JaNET hold an event every year, called networkshop, and it&#39;s a three day gathering of networking (fibre and routers, not facebook and twitter) professionals from UK academe.&lt;br /&gt;&lt;br /&gt;We get to talk dirty tech, and swap stories, and socialise with our peers. And betters. Mostly betters.&lt;br /&gt;&lt;br /&gt;This year, JaNET training are having a crack at supporting the conference with what I&#39;m interpreting as a VLE sort of approach. It&#39;s currently private to networkshop attendees, and I&#39;m sure there&#39;s plenty of room to debate whether that level of privacy is needed. We&#39;re a pretty paranoid bunch. Or &#39;reasonably careful&#39;.&lt;br /&gt;&lt;br /&gt;Not the point though, The point is, they&#39;ve built a blog aggregator in yahoo pipes. So for anyone who doubted it, I present this as evidence. JaNET training are getting with the program. They&#39;re drinking the kool-aid.</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/8016099560553627469/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/8016099560553627469' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/8016099560553627469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/8016099560553627469'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/03/networkshop-2008-blog-aggregator-goes.html' title='networkshop 2008 blog aggregator goes live!'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-6730556188700812707</id><published>2008-03-28T14:18:00.002+00:00</published><updated>2008-03-28T14:25:31.318+00:00</updated><title type='text'>going google</title><content type='html'>I&#39;m gonna take the red pill. As of now, I&#39;m shifting 6 years worth of email from my cobalt raq in the back bedroom up to gmail. I&#39;ve got to the point where I trust google&#39;s ability to look after my mail better than I trust my own.&lt;br /&gt;&lt;br /&gt;What&#39;s prompted me is the eeepc. It&#39;s got a tiny little solid state disk (I know it&#39;s not actually a disk, so sue me), and thunderbird&#39;s indexes would take a good chunk of that. So if I want to access all my email from the eeepc, gmail&#39;s the only way to fly.&lt;br /&gt;&lt;br /&gt;We&#39;ve also started looking at google docs, and I&#39;ve been using google calendar for a while. Not to mention google talk.&lt;br /&gt;&lt;br /&gt;So it&#39;s time to go the whole hog. Wish me luck.</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/6730556188700812707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/6730556188700812707' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/6730556188700812707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/6730556188700812707'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/03/going-google.html' title='going google'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-8868355622780841624</id><published>2008-03-28T10:18:00.004+00:00</published><updated>2008-03-28T18:07:42.822+00:00</updated><title type='text'>eeepc!</title><content type='html'>Delivered yesterday, by a nice man from DHL, a spanky new little eeepc. First impressions so far.&lt;br /&gt;&lt;br /&gt;This is, without a doubt, the most integrated Linux box I&#39;ve ever used. I&#39;ve opened it up, gone through the little quickstart guide, and was up a running in five minutes. Startup time is good, less than 30 seconds from power up to being able to use it. Nice.&lt;br /&gt;&lt;br /&gt;Nothing to write home about so far. I&#39;ve only browsed and run IM (for twitter, of course) yet, (I&#39;ve run aptitude update and aptitude upgrade, of course).&lt;br /&gt;&lt;br /&gt;It&#39;s a pretty happy circumstance when linux on a laptop just works without any, yknow, WORK. In my experience, at least.&lt;br /&gt;&lt;br /&gt;Plans:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;See about getting it to use the blackberry as a modem.&lt;/li&gt;&lt;li&gt;See if I can get it running as a VPN client. This will make the difference between a nice little toy and a machine I can realistically use for work.&lt;/li&gt;&lt;/ul&gt;Anyway, it&#39;s a sweet little thing.&lt;br /&gt;&lt;br /&gt;On another note entirely - me mother was round most of yesterday, and by the time she left I had no kitchen sink. There&#39;s a big hole where it used to be. H and Tornado Boy are coming home tomorrow afternoon. The man at the builder&#39;s merchant has apparently said it will arrive today. So, assuming all goes to plan, we&#39;ll have a new kitchen installed by the time they get home. D&#39;you see the potential problem there?</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/8868355622780841624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/8868355622780841624' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/8868355622780841624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/8868355622780841624'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/03/delivered-yesterday-by-nice-man-from.html' title='eeepc!'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-5480959446059572706</id><published>2008-03-26T22:40:00.003+00:00</published><updated>2008-03-26T23:06:36.525+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="jabber"/><category scheme="http://www.blogger.com/atom/ns#" term="location"/><category scheme="http://www.blogger.com/atom/ns#" term="twitter"/><category scheme="http://www.blogger.com/atom/ns#" term="XMPP"/><title type='text'>Twitter as platform</title><content type='html'>Here I really want to just jot thoughts.&lt;br /&gt;&lt;br /&gt;What excites me about twitter, and yahoo pipes, and jabber, and the way this stuff can be wrangled into working together, is that it starts to bring the network to life. In a science-fiction kinda way.&lt;br /&gt;&lt;br /&gt;One of sci-fi&#39;s signature technologies is the &#39;personal terminal&#39;. It&#39;s a small thing, with perhaps some intelligence, but it&#39;s key feature is a permanent, on-demand connection to &#39;the network&#39;. Iain M Banks in his culture world has terminals as a part of the hyper-powerful post-AI thang. Your terminal knows where you are, and you can contact society through it, both machine and organic.&lt;br /&gt;&lt;br /&gt;Wonderful sci-fi stuff. IMHO. But the truth is it&#39;s not far off. I&#39;ve a phone with GPS, it runs Java applications and can communicate over jabber with &#39;the network&#39;. I can listen to my online friends public voice. I can, in theory at least, access all sorts of user generated content from my phone, based on my location, which my phone knows.&lt;br /&gt;&lt;br /&gt;Next on the list is an exploration of location-based status reporting - the example is traffic conditions.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I&#39;m stuck on the motorway - I twitter &#39;@uktrafbot M5J3 Southbound stopped.&#39; Or better, software running on my phone does.&lt;/li&gt;&lt;li&gt;You&#39;re planning a journey. You&#39;re route planning software checks along the route and looks for (a) recent traffic twits along the route if you&#39;re leaving now, or (b) if you&#39;re leaving tomorrow morning it looks for patterns of twits during the time you&#39;ll be travelling. And lets you know if you&#39;re route might run into problems.&lt;/li&gt;&lt;li&gt;You&#39;re travelling. You&#39;re heading along the M5. Your phone knows where you are, and periodically checks for recent twits along your route, alerting you to problems ahead.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;I&#39;m looking for a collaborator, with mobile java dev skills.</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/5480959446059572706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/5480959446059572706' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/5480959446059572706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/5480959446059572706'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/03/twitter-as-platform.html' title='Twitter as platform'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-8394810619903357998</id><published>2008-03-26T21:36:00.004+00:00</published><updated>2008-03-26T22:18:03.143+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="birmingham"/><category scheme="http://www.blogger.com/atom/ns#" term="twitter"/><title type='text'>brummie twits part 3 - mawhin_bot1 settles down.</title><content type='html'>OK. That&#39;ll do for now. &lt;a href=&quot;http://twitter.com/mawhin_bot1&quot;&gt;@mawhin_bot1&lt;/a&gt; is pretty well complete in it&#39;s first incarnation.&lt;br /&gt;&lt;br /&gt;I&#39;ve posted before, &lt;a href=&quot;http://mawhin.blogspot.com/2008/03/brummie-twits-part-two.html&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://mawhin.blogspot.com/2008/03/brummie-twits.html&quot;&gt;here&lt;/a&gt;, but to save the clicking I&#39;ll describe it again.&lt;br /&gt;&lt;br /&gt;It&#39;s a twitter account, inspired by &lt;a href=&quot;http://twitter.com/peteashton&quot;&gt;@peteashton&lt;/a&gt; and &lt;a href=&quot;http://twitter.com/BhamPostJoanna&quot;&gt;@BhamPostJoanna&lt;/a&gt;, which follows people who claim their location to be in the West Midlands.&lt;br /&gt;&lt;br /&gt;It sits and watches some of the public twitter feed, and when it spots a tweet from a midlander, it tweets about it, and starts following the twitterer.&lt;br /&gt;&lt;br /&gt;A couple of issues have come up.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://twitter.com/kevin_rapley&quot;&gt;@kevin_rapley&lt;/a&gt; raised the issue I had feared, that not everyone located in Birmingham claims brummiehood. Some are, sad to say, even offended. And we&#39;d best not even mention the Black Country. So announcements are are lot more cagey these days.&lt;/li&gt;&lt;li&gt;Do you want to be followed like this? No? Block @mawhin_bot1. It won&#39;t try again. Unless it&#39;s broken, in which case, let me know and I&#39;ll (1) fix it, and (2) hard-code so it doesn&#39;t ever follow you again.&lt;/li&gt;&lt;/ul&gt;So far, mawhin_bot1 has collected 47 twitterers, ( actually 46 plus &lt;a href=&quot;http://twitter.com/bbcfooty&quot;&gt;@bbcfooty&lt;/a&gt;, who also ain&#39;t real ). There&#39;s a bunch of background work still going on, and I&#39;m hoping to extend this to handle several other cities/conurbations.&lt;br /&gt;&lt;br /&gt;On the subject of locality, I think, I suppose, at the public transport level. If you&#39;re within a city&#39;s regular public transport network, that&#39;s a level of locality that&#39;s interesting. I think.&lt;br /&gt;&lt;br /&gt;I&#39;m quite excited about twitter as an application delivery platform. Especially with location thrown into the mix. Onward and upward!</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/8394810619903357998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/8394810619903357998' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/8394810619903357998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/8394810619903357998'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/03/brummie-twits-part-3-mawhinbot1-settles.html' title='brummie twits part 3 - mawhin_bot1 settles down.'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-6053431869961914421</id><published>2008-03-23T16:08:00.003+00:00</published><updated>2008-03-23T16:24:45.184+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="jabber"/><category scheme="http://www.blogger.com/atom/ns#" term="twitter"/><category scheme="http://www.blogger.com/atom/ns#" term="XMPP"/><title type='text'>Brummie Twits part two</title><content type='html'>Well, &lt;a href=&quot;http://mawhin.blogspot.com/2008/03/brummie-twits.html&quot;&gt;that&lt;/a&gt; was a start. But a bit broke and it doesn&#39;t seem to update in a bloglines feed or anywhere.&lt;br /&gt;&lt;br /&gt;On to mark 2. This time it&#39;s a twitterbot, name of &lt;a href=&quot;http://twitter.com/mawhin_bot1&quot;&gt;@mawhin_bot1&lt;/a&gt;, whom I have chained to the computer and is searching for brummies. ( If by brummies you&#39;re prepared to accept anyone in the west midlands conurbation. Call us what you will ).&lt;br /&gt;&lt;br /&gt;It&#39;s doing a couple of things I thought were interesting.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;It&#39;s using XMPP. I can get a pretty decent feed of &#39;tracked&#39; terms over XMPP, something I just can&#39;t do using twitter&#39;s REST API.&lt;/li&gt;&lt;li&gt;It&#39;s using the &lt;a href=&quot;http://twittervision.com/api.html&quot;&gt;twittervision API&lt;/a&gt; for determining location.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;A coupla things to do:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Add support for &lt;a href=&quot;http://twitter.com/dangerday&quot;&gt;@dangerday&lt;/a&gt;, a twitter version of fireeagle.&lt;/li&gt;&lt;li&gt;perhaps add support for using &#39;whois&#39; over IM. But that&#39;s gonna be harder. And I don&#39;t know that it will add any further data that twittervision.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Build reflection, so &lt;a href=&quot;http://twitter.com/mawhin_bot1&quot;&gt;@mawhin_bot1&lt;/a&gt; reflects everything said by those it follows. Or possibly this could be another twitter user. Thoughts on this would be welcome.&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/6053431869961914421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/6053431869961914421' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/6053431869961914421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/6053431869961914421'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/03/brummie-twits-part-two.html' title='Brummie Twits part two'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-2892369331768339832</id><published>2008-03-21T01:22:00.006+00:00</published><updated>2008-03-21T03:11:42.954+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="twitter"/><category scheme="http://www.blogger.com/atom/ns#" term="yahoo pipes"/><title type='text'>Brummie Twits</title><content type='html'>@peteashton and @BhamPostJoanna wondered &quot;&lt;span class=&quot;entry-title entry-content&quot;&gt;      Is it possible to get a feed for twitters from a specific city?&quot;.&lt;br /&gt;&lt;br /&gt;@aeioux pointed out http://twittermap.com&lt;br /&gt;&lt;br /&gt;Twittermap, while it relies on twitterers twittering their location, gives results according to where twitterers &lt;span style=&quot;font-weight: bold;&quot;&gt;are / were recently&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;This yahoo pipe instead searches a twitterers&#39; friends (any twitterer whose friends you can view) for the location in their profile. So the result is not &#39;live&#39;, but reflects where the friends &lt;span style=&quot;font-weight: bold;&quot;&gt;are based&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://pipes.yahoo.com/pipes/pipe.info?_id=f482e8d3f86ebe695821c2bcc5b748db&quot;&gt;Here&#39;s a first hack using yahoo pipes&lt;/a&gt;. The page parameter is for when there&#39;s more than 100 friends to deal with.&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/2892369331768339832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/2892369331768339832' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/2892369331768339832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/2892369331768339832'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/03/brummie-twits.html' title='Brummie Twits'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-7388322314987894769</id><published>2008-03-16T10:00:00.005+00:00</published><updated>2008-03-16T11:07:17.258+00:00</updated><title type='text'>IT Support in a large environment.</title><content type='html'>I wanted to jot down a few guiding principles, that have worked (I think) well for me. They work in the environment I&#39;m in (Large FE college), very few &#39;special&#39; users.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Provide simple services.&lt;/span&gt; The question&#39;s not &quot;what&#39;ll it do?&quot;, but &quot;how well can I support it?&quot;. If it can do everything brilliantly, but it&#39;s broken often enough that it&#39;s not used, &lt;span style=&quot;font-weight: bold;&quot;&gt;you lost&lt;/span&gt;. There are exceptions. Keep them limited.&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Monitor everything that matters up the wazoo.&lt;/span&gt; Don&#39;t wait for your users to tell you it&#39;s broke. They won&#39;t. They&#39;d rather carve it on a siberian rock than tell you about it. And by the time someone does overcome their disdain for you and let you know there&#39;s a problem, it&#39;s been going on for ages, and &lt;span style=&quot;font-weight: bold;&quot;&gt;you lost&lt;/span&gt;. There are exceptions. They are your friends.&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Recognise, and hammer into your colleagues when they forget, that your users, by and large, don&#39;t care about computers.&lt;/span&gt; They&#39;re not interested. They use the computer &#39;cos they&#39;ve been told to. For work at least. And all they want to do is their job. And this is as it should be. When you wash your face, should you care about the details of water supply? No. All you want is water that&#39;s not brown. If you expect users to be interested in anything outside their job, &lt;span style=&quot;font-weight: bold;&quot;&gt;you lost&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Automate everything that&#39;s feasible.&lt;/span&gt; Once a script is right, it&#39;s right, and it will be tomorrow. If you&#39;re relying on users or tech support people to do task J the same today as they did yesterday, &lt;span style=&quot;font-weight: bold;&quot;&gt;you lost&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Document your recovery procedures.&lt;/span&gt; The last time you want to be trying to think is when it&#39;s all gone to hell and the phone&#39;s on fire. That&#39;s when you want to be following instructions blindly. If you&#39;re having to think what to do under pressure, &lt;span style=&quot;font-weight: bold;&quot;&gt;you lost&lt;/span&gt;. I lose pretty often here. But it&#39;s worth trying.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/7388322314987894769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/7388322314987894769' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/7388322314987894769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/7388322314987894769'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/03/it-support-in-large-environment.html' title='IT Support in a large environment.'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-7767584305165136754</id><published>2008-03-16T09:36:00.004+00:00</published><updated>2008-04-13T23:30:52.114+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="monitoring"/><category scheme="http://www.blogger.com/atom/ns#" term="nagios"/><category scheme="http://www.blogger.com/atom/ns#" term="perl"/><category scheme="http://www.blogger.com/atom/ns#" term="sysadmin"/><title type='text'>Using nagios to monitor print configuration</title><content type='html'>Now this isn&#39;t a copy a previous post, which was about &lt;a href=&quot;http://mawhin.blogspot.com/2008/03/automating-nagios-configurations.html&quot;&gt;monitoring print queues&lt;/a&gt;. This is about monitoring our quite complex printing configuration system.&lt;br /&gt;&lt;br /&gt;Again, a bit of background. We keep as much configuration info as we can in an LDAP directory. And we install printers on our windows desktops ( about 1,200 spread over several sites ) during either the startup scripts (for locally attached printer) or the login script (for network printers). We use the concept of a &#39;nearest printer&#39;, assigned to the workstation dependent on physical location.&lt;br /&gt;&lt;br /&gt;So, sticking to network printers, we have:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A CUPS queue per printer, served by Samba to windows desktops.&lt;/li&gt;&lt;li&gt;A &#39;nearest printer&#39; attribute in LDAP, attached to the workstation entry. This &#39;points to&#39;..&lt;/li&gt;&lt;li&gt;A printer entry per printer, with an &#39;installcommand&#39; attribute, which gives an appropriate command line to install that printer on a workstation. This gets run during the login script.&lt;/li&gt;&lt;/ul&gt;Perhaps it would be clearer to describe how a workstation gets a printer. I&#39;m focusing on network printing, so this happens in the login script.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Look up my (the workstation&#39;s) LDAP entry.&lt;/li&gt;&lt;li&gt;From my LDAP entry, get the nearest printers.&lt;/li&gt;&lt;li&gt;For each nearestprinter, get the installcommand from the printer&#39;s LDAP entry.&lt;/li&gt;&lt;li&gt;And run it.&lt;/li&gt;&lt;/ul&gt;Now we like this. We can have several printers associated with one workstation, and we could (though we don&#39;t) associate nearestprinters with user accounts as well as workstations. It&#39;s real easy to change a workstation&#39;s printer(s), and users need know nothing about it. When it works, it just works.&lt;br /&gt;&lt;br /&gt;But there&#39;s no referential integrity going on here. We can have orphans anywhere. A CUPS queue with no install commands. An installcommand referring to a non-existent CUPS queue. A workstation with a nearestprinter that doesn&#39;t exist. etc. Basically, config rot, caused by human failure to attend to detail.&lt;br /&gt;&lt;br /&gt;And here we get to the point of it all. We have a nagios check called &#39;check_print_config&#39;, which checks all this, and creates a warning state if something&#39;s out of whack. It&#39;s posted below. As with most code posted here, it&#39;s finished to the point where it works. It&#39;s not great code. It does, I&#39;d posit, do something interesting.&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;code-hs&quot;&gt;&lt;br /&gt;#!/usr/bin/perl -w&lt;br /&gt;use strict;&lt;br /&gt;&lt;br /&gt;my @nagiosCupsQueues;&lt;br /&gt;my @nearestPrinterQueues;&lt;br /&gt;my @installCommandQueues;&lt;br /&gt;my @output = ();&lt;br /&gt;&lt;br /&gt;#       print &quot;Getting monitored queues from nagios...\n&quot;;&lt;br /&gt;       @nagiosCupsQueues = (`grep check_cups_queue /etc/nagios2/conf.d/allPrintQueues.cfg | cut -f2 -d&#39;!&#39;`);&lt;br /&gt;       chop @nagiosCupsQueues;&lt;br /&gt;&lt;br /&gt;#       print &quot;Getting installCommand queues from LDAP...\n&quot;;&lt;br /&gt;       @installCommandQueues = (`ldapsearch -LLL -x -b &quot;ou=hosts,dc=example,dc=com&quot; &#39;(installcommand=*con2prt*)&#39; installcommand | grep &#39;/cd &#39; | grep -iv idcard | grep -iv tmu220 | grep -iv null | sort | uniq | cut -f4 -d&quot; &quot; | cut -f4&lt;br /&gt;-d&quot;\\\\&quot;`);&lt;br /&gt;       chop @installCommandQueues;&lt;br /&gt;&lt;br /&gt;#       print &quot;Getting nearestprinter queues from LDAP...\n&quot;;&lt;br /&gt;       @nearestPrinterQueues = (`ldapsearch -LLL -x -b &quot;ou=hosts,dc=example,dc=com&quot; &#39;(&amp;amp;(objectclass=computer)(nearestprinter=*))&#39; nearestprinter | grep nearestprinter | grep -iv lpt | grep -iv archicad | grep -iv tmu220 | grep -iv idcard | grep -iv null | sort | uniq | cut -f1 -d&quot;,&quot; | cut -f2 -d&quot;=&quot;`);&lt;br /&gt;       chop @nearestPrinterQueues;&lt;br /&gt;&lt;br /&gt;foreach my $icq ( @installCommandQueues ) {&lt;br /&gt;   next if $icq =~ /^$/;&lt;br /&gt;   push(@output, &quot;ICQ: $icq &quot;) if ! grep(/^$icq$/i, @nagiosCupsQueues);&lt;br /&gt;}&lt;br /&gt;foreach my $npq ( @nearestPrinterQueues ) {&lt;br /&gt;   next if $npq =~ /^$/;&lt;br /&gt;   my $npqNotInCups = 0;&lt;br /&gt;   my $npqNoInstallCommand = 0;&lt;br /&gt;   $npqNotInCups = 1 if ! grep(/^$npq$/i, @nagiosCupsQueues);&lt;br /&gt;   $npqNoInstallCommand = 1 if ! grep(/^$npq$/i, @installCommandQueues);&lt;br /&gt;#    push(@output, &quot;NPQ:$npq:&quot;) if ( $npqNoInstallCommand &amp;amp;&amp;amp; $npqNotInCups );&lt;br /&gt;   my @duffClients = `ldapsearch -LLL -x -b &quot;ou=hosts,dc=example,dc=com&quot; &quot;nearestprinter=cn=$npq,ou=hosts,dc=example,dc=com&quot; dn | grep dn: | cut -f1 -d&quot;,&quot; | cut -f2 -d&quot;=&quot;`;&lt;br /&gt;   chop @duffClients;&lt;br /&gt;   push(@output, &quot;NPQ:$npq: &quot; . join(&quot;,&quot;, @duffClients) . &quot; &quot;) if ( $npqNoInstallCommand &amp;amp;&amp;amp; $npqNotInCups );&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#print Dumper([ \@output, ]);&lt;br /&gt;if ( @output &gt; 0 ) {&lt;br /&gt;   print &quot;WARNING: &quot; . join(&quot; &quot;,@output) . &quot;\n&quot;;&lt;br /&gt;   exit 1;&lt;br /&gt;} else {&lt;br /&gt;   print &quot;OK\n&quot;;&lt;br /&gt;   exit 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/7767584305165136754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/7767584305165136754' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/7767584305165136754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/7767584305165136754'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/03/using-nagios-to-monitor-print.html' title='Using nagios to monitor print configuration'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-2873425530635357135</id><published>2008-03-14T13:07:00.006+00:00</published><updated>2008-03-16T10:42:12.155+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="nagios"/><title type='text'>Automating nagios configurations.</title><content type='html'>At the last count, we run something like 140 print queues, and as offices move, and printers get replaced, and &#39;stuff changes&#39;, queues are created and deleted and renamed. This post is about how I&#39;ve addressed ensuring that nagios is monitoring all our queues, and minimising the opportunity for operator error.&lt;br /&gt;&lt;br /&gt;A little background. We use CUPS to queue print jobs, and our technicians are free to create and delete queues as need be. They do not have access to the nagios configs.&lt;br /&gt;&lt;br /&gt;So, the basic idea is that we periodically run a script on the nagios server that:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Queries each of our print servers for a list of existing queues&lt;/li&gt;&lt;li&gt;Creates a nagios config file for all print queues in the list&lt;/li&gt;&lt;li&gt;signals nagios to restart, and re-read it&#39;s configuration&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;So we get a monitoring configuration that doesn&#39;t miss print queues out, nor alarms about print queues that no longer exist. And no-one has to remember.&lt;br /&gt;&lt;br /&gt;Which is nice.&lt;br /&gt;&lt;br /&gt;So, ( and I apologise in advance for the code. I&#39;m a sysadmin. Whaddya expect. ). The following is a perl script called from cron, once for each CUPS server. We pass the server address, and a human-readable site name, and we get nagios code out on stdout, which is piped into the appropriate nagios config directory. It depends on lpstat, which queries the CUPS server.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;code-hs&quot;&gt;&lt;br /&gt;#!/usr/bin/perl&lt;br /&gt;&lt;br /&gt;$cupsServer = $ARGV[0];&lt;br /&gt;$site = $ARGV[1];&lt;br /&gt;&lt;br /&gt;@queues = `lpstat -h $cupsServer -p | grep printer | grep -iv &quot;sent&quot; | grep -iv &quot;off-line&quot; | grep -iv &quot;unable&quot; | grep -iv &quot;attempt&quot; | cut -f2 -d&quot; &quot;`;&lt;br /&gt;chop @queues;&lt;br /&gt;&lt;br /&gt;foreach $queue ( @queues ) {&lt;br /&gt;   print &quot;define service{\n&quot;;&lt;br /&gt;   print &quot;\tuse                        generic-service\n&quot;;&lt;br /&gt;   print &quot;\thost_name                  $cupsServer\n&quot;;&lt;br /&gt;   print &quot;\tservice_description        CUPS_&quot; . $queue . &quot;\n&quot;;&lt;br /&gt;   print &quot;\tservicegroups              &quot; . $site . &quot;PrintQueues\n&quot;;&lt;br /&gt;   print &quot;\tcontact_groups             &quot; . $site . &quot;-printer-admins\n&quot;;&lt;br /&gt;   print &quot;\tcheck_command              check_cups_queue!&quot; . $queue . &quot;\n&quot;;&lt;br /&gt;   print &quot;\tregister                   1\n}\n\n&quot;;&lt;br /&gt;&lt;br /&gt;   print &quot;define serviceextinfo{\n&quot;;&lt;br /&gt;   print &quot;        host_name       &quot; . $cupsServer . &quot;\n&quot;;&lt;br /&gt;   print &quot;        service_description     CUPS_&quot; . $queue . &quot;\n&quot;;&lt;br /&gt;   print &quot;        notes_url       http://wiki.example.com/wiki/index.php?title=Nagios/&quot; . $queue . &quot;&amp;amp;action=edit&amp;amp;preload=Nagios/NewServiceTemplate\n&quot;;&lt;br /&gt;   print &quot;        action_url      http://&quot; . $cupsServer . &quot;.example.com:631/printers/&quot; . $queue . &quot;\n&quot;;&lt;br /&gt;   print &quot;        icon_image      HPlj4550p.gif\n}\n\n&quot;;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Coupla notes - the nagios action_url shows a clickable icon taking the user to the CUPS queue in question. The notes_url points to a wiki page. We use this to keep notes about the service.&lt;br /&gt;&lt;br /&gt;This is all very well, but nagios won&#39;t pick up the changes without a restart. So once cron has built the config file, it does this:&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;code-hs&quot;&gt;&lt;br /&gt;export now=$( /bin/date &quot;+\%s&quot; ); #get the current time into a format nagios understands&lt;br /&gt;export commandfile=&#39;/var/lib/nagios2/rw/nagios.cmd&#39;; #identify the file nagios reads for external commands&lt;br /&gt;/usr/bin/printf &quot;[\%lu] RESTART_PROGRAM\n&quot; $(( now + 30 )) &gt; $commandfile #tell nagios to restart in 30 seconds&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;And Bob&#39;s yer uncle. Monitoring our CUPS queues with nagios means we become aware of problems quicker, and respond quicker. And automating the config makes this practical.</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/2873425530635357135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/2873425530635357135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/2873425530635357135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/2873425530635357135'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/03/automating-nagios-configurations.html' title='Automating nagios configurations.'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-2793093046755493854</id><published>2008-03-09T23:16:00.007+00:00</published><updated>2008-03-10T23:33:21.663+00:00</updated><title type='text'>What&#39;s your guiding question?</title><content type='html'>I know mine&#39;s changing again, and just for once, I&#39;m aware of it happening.&lt;br /&gt;&lt;br /&gt;Maybe (almost certainly) it&#39;s been put better elsewhere, but I made this up all by my own self. Your guiding question is the one you always ask. The one you measure everything you do against. The first question. The last question.&lt;br /&gt;&lt;br /&gt;I&#39;ll try to explain.&lt;br /&gt;&lt;br /&gt;My official job title is &#39;network and systems manager&#39;. In practice, I&#39;m a significant chunk of a team who make all the technical calls, and do all the fixing. We&#39;re generalists, who specialise in whatever&#39;s the problem right now. Not an unusual situation.&lt;br /&gt;&lt;br /&gt;The pertinent part is where we &#39;make all the technical calls&#39;. And technical decisions aren&#39;t always simple. Interesting technical decisions always aren&#39;t simple. Security versus ease of use. Customisability versus maintainability. Everything versus budgets. And the technical decisions I make and influence are affected, I hope strongly, by my guiding question.&lt;br /&gt;&lt;br /&gt;The guiding question, for me, has evolved.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;What do I need to do to make this machine work?&lt;/li&gt;&lt;li&gt;What do I need to do to make this service work?&lt;/li&gt;&lt;li&gt;What do I need to do to make this service work well for my users?&lt;/li&gt;&lt;li&gt;What do I need to do to make this set of services work together well for my users?&lt;/li&gt;&lt;li&gt;How should these services work together to best support what my users are doing?&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;And today, it&#39;s&lt;br /&gt;&lt;ul&gt;&lt;li&gt;What service infrastructure should I be providing and supporting to equip my users to do what they do, but better?&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;What&#39;s your guiding question?</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/2793093046755493854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/2793093046755493854' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/2793093046755493854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/2793093046755493854'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/03/whats-your-guiding-question.html' title='What&#39;s your guiding question?'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7137783108067327970.post-8846851900655230712</id><published>2008-03-09T09:09:00.000+00:00</published><updated>2008-03-09T09:10:31.085+00:00</updated><title type='text'>I moved from bloglines for the comments</title><content type='html'>and then I forgot to turn comments on. Whoops. Sorted now.</content><link rel='replies' type='application/atom+xml' href='http://mawhin.blogspot.com/feeds/8846851900655230712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7137783108067327970/8846851900655230712' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/8846851900655230712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7137783108067327970/posts/default/8846851900655230712'/><link rel='alternate' type='text/html' href='http://mawhin.blogspot.com/2008/03/i-moved-from-bloglines-for-comments.html' title='I moved from bloglines for the comments'/><author><name>mawhin</name><uri>http://www.blogger.com/profile/11506884605159816172</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>