tag:blogger.com,1999:blog-104077712024-03-14T05:10:39.459+11:00A stumble through the left-side of the webJon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.comBlogger180125tag:blogger.com,1999:blog-10407771.post-1008068797692704812019-05-04T22:12:00.000+10:002019-05-04T22:31:47.857+10:00a certain detachment<div dir="ltr" style="text-align: left;" trbidi="on"><div style="text-align: center;"><i>all that remains</i><br />
<i>is a faded memory</i><br />
<i>of an imperfect projection</i><br />
<i>of a person</i><br />
<i>whose path</i><br />
<i>was briefly entangled</i><br />
<i>with mine</i><br />
<i>a long time ago</i></div></div>Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com0tag:blogger.com,1999:blog-10407771.post-27507729112918058942017-02-27T21:00:00.000+11:002017-03-02T08:00:30.159+11:00The very best thing ...<div dir="ltr" style="text-align: left;" trbidi="on">
<i>The very best thing I can do is nothing at all.</i><br />
<br />
Writing is not "nothing at all", of course. However, these words will not be inflicted upon you. Not by me, anyway.<br />
<br />
I am guessing that you have stumbled across this post because you are curious to know how I am. If so, then I thank you for your curiousity - I am fine, really.<br />
<br />
There are no words that I could write that would convince you that I am over you, so I will not try. In any case, it is not true.<br />
<br />
I once said to you that I thought you were the most wonderful person in the world. I never did get to know you well enough to be convinced otherwise.<br />
<br />
It comes down to this: I hope that one day you will decide to contact me to say hello.<br />
<br />
Unlikely, I know, but there is little harm whispering a wish into the breeze.</div>
Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com4tag:blogger.com,1999:blog-10407771.post-65511147416759200582015-06-11T18:11:00.001+10:002015-06-11T19:45:44.058+10:00The Bunch In Charge<div dir="ltr" style="text-align: left;" trbidi="on">The reality is a large party of Australia's current economic circumstances are as they are because of reasons that are way beyond the control of the Government in charge - slowing of China's economy being the foremost amongst these. Most people know this. The LNP carries on as if the problems were created solely by Labor and that they, and they alone, hold the magic keys that will ensure Australia's future prosperity.<br />
<br />
That is rubbish. They are deluding themselves if they think they have much influence on these questions.<br />
<br />
Yet, in policy areas where they do exhibit any control at all, they are either inactive (Negative Gearing, Superannuation) or wilfully destructive (NBN, Carbon Tax, Science Funding, Medicare, Media Freedom, Security Laws, Transparency, Accountability, Mental Health, Foreign Aid, Halal Certification, University Fees, Arts Funding, Renewable Energy, Energy in General, Climate Change, Opaque Trade Pacific Partnership Negotiations, Meddling with the Islamic Schism, The Plight of Regional Asylum Seekers, Meta Data Retention, Internet Filtering, Racial Vilification Laws, ABC Funding, ...). <br />
<br />
With the exception of the changes to when startup options become taxable, they don't have a single other progressive policy reform to offer the electorate. All the items that are actually on their reform agenda are so politically toxic that they will not get elected again if they even admit to their existence.<br />
<br />
This bunch are beyond useless.<br />
</div>Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com0tag:blogger.com,1999:blog-10407771.post-74985925401542826162014-05-16T19:23:00.002+10:002014-06-03T14:13:22.989+10:00The Langham Hotel, Melbourne: how to destroy a customer relationship by devaluing trust<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://fbcdn-sphotos-f-a.akamaihd.net/hphotos-ak-prn1/t1.0-9/10277877_10154134556265481_3441661545100826292_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://fbcdn-sphotos-f-a.akamaihd.net/hphotos-ak-prn1/t1.0-9/10277877_10154134556265481_3441661545100826292_n.jpg" width="253" /></a></div>
<br />
<br />
Here is the thing.<br />
<br />
I can choose to stay in a 5 star hotel and pay good $$$ for the privilege. Or I can choose to stay at AirBNB and pay half as many $$$.<br />
<br />
If I stay at AirBNB I get to experience the hospitality of real people who extend their trust to complete strangers for a short period of time. If I stay at a 5 star hotel, I pay twice as much and my interactions with the hotel are reduced to a series of trust-free transactions.<br />
<br />
A case in point: a stay at the Langham Hotel Melbourne - 12 May, 2014 - 16 May 2014.<br />
<br />
Since April 2012, I have stayed at The Langham Hotel on multiple occasions. I prefer to stay elsewhere, but in the last 2 weeks availability of the other hotels has forced me to stay at The Langham.<br />
I don't mind The Langham. Its Internet could do with some help, but I have other ways to access the Internet so that doesn't matter too much.<br />
<br />
Last week, I took advantage of the express checkout courtesy of the envelope slipped under my door. On the back of this envelope, I declared the tube of Pringles I consumed on Thursday night. I dropped the envelope in the box and shortly thereafter received a copy of the invoice in my mail box.<br />
<br />
All good.<br />
<br />
This week, I was expecting the same convenience - no such luck.<br />
<br />
No problem, I'll checkout in person.<br />
<br />
So, I do this. When I checkout, I declare the 50ml Hennesy Cognac and Pringles I consumed on Thursday night ($19). The cashier informs me that because I had already paid for the accommodation ($796) and bond ($400) in advance it will be necessary for me to take a seat and wait while "the refund is processed".<br />
<br />
I have been travelling to Melbourne, weekly, for 2 years. There have never been any delays in processing my checkout. Other hotels have repeatedly applied (fictitious) $50 parking charges to my bill and I occasionally have been post-billed for mini-bar charges from previous nights that didn't make it onto the final bill. Not once have I been asked to wait.<br />
<br />
So, unusual, but I wait.<br />
<br />
While I wait, I notice that the cashiers are busily processing other customers. They specifically do nothing to "process my refund".<br />
<br />
There is a man in a nice suit, walking down the line of waiting customers offering express checkout envelopes to each in turn so that they needn't be bothered unnecessarily by the delays in the checkout queue.<br />
<br />
This starts to tick me off. Why isn't one of the cashiers "processing my refund"? Why am I waiting for these other people, who arrived after me, to be serviced?<br />
<br />
So, I naturally ask: why are these people being serviced while I am being forced to wait?<br />
<br />
The answer I get is this: "Last night you posted a Do Not Disturb sign on your door. It is hotel policy that in such circumstances we must perform an audit of the contents of the minibar before issuing a refund".<br />
<br />
Are you serious?<br />
<br />
I have stayed at this hotel many times in the past. I am due to stay at this hotel again in the week of May 19 to May 23, 2014. You are forcing me to wait so that you can perform a physical audit of the honesty of my declaration to you that I had consumed $19 from the minibar the previous night.<br />
<br />
Are you f*cking serious?<br />
<br />
You have already charged my card $400 to cover expenses that cost $76. You can take your sweet merry time to issue the refund to me of $324 at your leisure. But you expect me to wait.<br />
<br />
Are you, really, f*cking serious?<br />
<br />
Apparently so.<br />
<br />
So, I did what every pissed off customer does. I file a "customer comment" on the website form allocated for the purpose.<br />
<br />
As of 19:15 on Friday, 16 May 2014 I had not received a response.<br />
<br />
So, Langham you fully deserve all the opprobrium that is rightfully coming your way.<br />
<br />
I will be staying at The Langham again next week. All I expect is that they take account of my note, and issue a suitably contrite apology on their FaceBook page.<br />
<br />
If they do this, I will publish a link to the apology <a href="http://orwelliantremors.blogspot.com.au/2014/05/the-langham-hotel-melbourne-how-to.html">here</a>.<br />
<br />
And, lest there be any confusion, I will not be consuming any items from the mini-bar next week.<br />
<br />
I will, however, post a "Do Not Disturb" notice on my door which says something to the effect of:<br />
<br />
"Please do not disturb. Customer integrity officers may, of course, enter at any time".<br />
<br />
jon.<br />
<br />
<b>update</b>: On June 3, The Langham posted<a href="https://www.facebook.com/jon.seymour.au/activity/10154131338905481?comment_id=10154199849230481&offset=0&total_comments=1"> this response</a> to Facebook<br />
<br />
<span data-reactid=".1ft.1:3:1:$comment10154131338905481_10154199849230481:0.0.$right.0.$left.0.0.1:$comment-body.0.$end:0:$4:0" style="background-color: #f6f7f8; color: #141823; font-family: Helvetica, Arial, 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 12px; line-height: 12.288000106811523px;">We’re delighted that you found our express check out helpful on previous visits and disappointed to learn that our procedures and policies ended your experience on a bad note. I understand that you met the Front Office Duty Manager upon your return on May 19 in order to resolve the issues from your previous stay. Thank you for bringing this to our attention. </span><br />
<br data-reactid=".1ft.1:3:1:$comment10154131338905481_10154199849230481:0.0.$right.0.$left.0.0.1:$comment-body.0.$end:0:$7:0" style="background-color: #f6f7f8; color: #141823; font-family: Helvetica, Arial, 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 12px; line-height: 12.288000106811523px;" />
<span data-reactid=".1ft.1:3:1:$comment10154131338905481_10154199849230481:0.0.$right.0.$left.0.0.1:$comment-body.0.$end:0:$8:0" style="background-color: #f6f7f8; color: #141823; font-family: Helvetica, Arial, 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 12px; line-height: 12.288000106811523px;">We pride ourselves in delivering high standards of hospitality, which has made this hotel very popular. We will make every effort to know your preferences as a valued guest and to meet them on your future visits to The Langham Melbourne.</span><br />
<span data-reactid=".1ft.1:3:1:$comment10154131338905481_10154199849230481:0.0.$right.0.$left.0.0.1:$comment-body.0.$end:0:$8:0" style="background-color: #f6f7f8; color: #141823; font-family: Helvetica, Arial, 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 12px; line-height: 12.288000106811523px;"><br /></span></div>
Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com0tag:blogger.com,1999:blog-10407771.post-648055332854839312013-12-03T11:19:00.002+11:002013-12-03T17:22:05.280+11:00A misunderstanding<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="p1">
<br /></div>
<div class="p1">
<b><br /></b></div>
<div class="p2">
This post documents my view of a misunderstanding that caused another person to block me from Twitter. I would have liked to explain this to the person concerned, however, all attempts to do so have been aggressively rebuffed with insults and threats of public humiliation for my alleged shameful deeds.<br />
<br /></div>
<div class="p2">
I don't plan to identify the correspondent, since I am not interested in embarrassing that person. I don't plan to reproduce the discussion in detail since the topic being discussed was somewhat sensitive and not appropriate for public discussion. So, in the text that follows I will redact some details of the conversation and replace them with salient abstractions.<br />
<br /></div>
<div class="p2">
The situation arose a few days ago when I retweeted a tweet by a correspondent I have corresponded with in the past. The tweet was about a possible political event that might occur in the future. I was concerned about how this event may unfold in light of allegations that had recently been reported in the media. </div>
<div class="p2">
<br /></div>
<div class="p2">
When it became apparent that my correspondent was unaware of the allegation, I tried to provide him with a link to the report of the allegation in a newspaper. Again, the purpose of doing this was not to assert the truth of the allegation but to provide some context for my opening remark.<br />
<br /></div>
<div class="p2">
Unfortunately, my correspondent misinterpreted the intent of my DM and apparently concluded that I was trying to enlist him in peddling the allegation itself, something I have no interest in doing. The conversation went something like this.</div>
<div class="p2">
<br /></div>
<div class="p3">
<blockquote class="tr_bq">
me: {Y} is no doubt looking to use the {allegation against X} because otherwise he has no fucking hope {of winning a potential political battle) </blockquote>
<blockquote class="tr_bq">
correspondent: {i have heard something about X, but no other accusations} </blockquote>
<blockquote class="tr_bq">
me: {I tried to provide references to an existing public record of the allegation in order to provide context to my opening remark} </blockquote>
<blockquote class="tr_bq">
correspondent: anyway i don't really care you keep your dirty laundry or post it to the public feed<br />correspondent: but leave me well out of it if you please </blockquote>
<blockquote class="tr_bq">
me: hey, I am not saying there is any veracity - I hope there isn't<br />me: all I am saying is the allegations are out there, potentially {compromising X} </blockquote>
<blockquote class="tr_bq">
correspondent: what did i just say? </blockquote>
<blockquote class="tr_bq">
me: sorry, {correspondent}, I am not asserting the veracity of the allegations, just pointing out that people are making them<br />me: please understand the difference </blockquote>
<blockquote class="tr_bq">
correspondent: WOW. YOU JUST WON'T STOP WILL YOU. I'M GOING TO BLOCK YOU NOW.</blockquote>
</div>
<div class="p4">
</div>
<div class="p2">
And so I was blocked without any adequate opportunity to correct what I believed to be a misunderstanding of my intent. This was literally the extent of the conversation.</div>
<div class="p2">
<br /></div>
<div class="p2">
Having felt slighted by what I felt was his misjudgement of my character I naturally wanted an opportunity to correct what I thought was a misunderstanding on his part. However, having made his snap decision to dismiss me, he rather hotly and angrily decided that any further utterance from me was necessarily a hostile act for which blocking was the only suitable punishment.</div>
<div class="p2">
<br />
He didn't ask me to stop DM'ing, he rudely demanded it without giving me the slightest opportunity to clear up the obvious misunderstanding on his part. The possibility that he may have erred did not cross his mind then, or apparently, since.</div>
<div class="p2">
<br /></div>
<div class="p2">
Attempting to rectify the situation in public wasn't an option because I didn't want to air the sensitive nature of the allegations about X publicly and he had, in any case, blocked me. </div>
<div class="p2">
<br /></div>
<div class="p2">
I thought a better option would be to engage a distant acquaintance of mine (and a close friend of his) with a view to asking her to pass on a message to my correspondent and therefore hopefully help my correspondent view our conversation in the light I had intended it. I DM'd her and she agreed to review a transcript of the conversation and my explanation of what I thought had occurred and if she thought it appropriate, forward it onto to my correspondent. I did not ask her to argue my case, merely to act as a go-between.<br />
<br /></div>
<div class="p2">
After reflection, she did do as I requested.</div>
<div class="p2">
<br /></div>
<div class="p2">
I seriously thought this was a mature, adult way to resolve the misunderstanding. Unfortunately my correspondent interpreted my actions as an attempt to harass his friend. In response he threatened to publicly humiliate me if I continued such 'harassment'. <br />
<div class="p2" style="-webkit-text-stroke-width: 0px; color: black; font-family: Times; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">
</div>
<br />
<div class="p2" style="-webkit-text-stroke-width: 0px; color: black; font-family: Times; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">
<div style="margin: 0px;">
Having exhausted every possible, adult way of dealing with the situation, I am left to document it here.<br />
<br /></div>
</div>
</div>
<div class="p2" style="-webkit-text-stroke-width: 0px; color: black; font-family: Times; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;">
<div style="margin: 0px;">
I feel I have been unfairly misjudged by this person who, having made the misjudgment in error, left me with no possible way to defend myself. </div>
</div>
<br />
<div class="p2">
I do not accept that I have done anything in this episode about which I should be ashamed. I never asserted or assumed the truth of the allegations, merely their existence. It is not wrong to (privately) speculate about the potential for political blackmail given such circumstances exist. It is not wrong for me to respond to my correspondents rude and immediate demand that "I leave him out of it", by trying to correct his misunderstanding of my intent. Having so abruptly denied me the possibility to communicate directly with him, it is not wrong for me to try to find another avenue to calmly try to correct his misunderstanding by approaching a disinterested third party who he trusts to act as a mediator.<br />
<br />
Admittedly, I do not know this person well, and my attempt to converse with him (in private) about this subject was uninvited. On reflection, it was unwise to have opened the conversation with a supposition about how one party in the political events may have used an allegation about another party for political advantage. Coming out of the blue, it may have looked like I was asserting the truth of the allegation when all I meant to do was assert the existence of the allegation and my opinion of the likelihood of that allegation being used to influence the unfolding of subsequent political events. I can see how this lead to the misunderstanding and I can only apologise for my clumsiness.<br />
<br />
My thanks to his friend for agreeing to mediate, and my apologies to her for any embarrassment I may have caused her.</div>
</div>
Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com0tag:blogger.com,1999:blog-10407771.post-8384412144378965032011-09-03T15:50:00.009+10:002011-09-04T00:17:48.793+10:00The statements of fact in Ewin Hannan's report about Gillard, Hartigan and Mitchell<h3 style="text-align: right">... and making a cameo appearance for added rhetorical flourish, Andrew Bolt</h3>
<hr/>
<p>
The following is a presentation of the facts reported by Ewin Hannan's article in September 3 edition of the Australian: <a href="http://www.theaustralian.com.au/national-affairs/am-call-that-put-pms-old-news-on-front-page/story-fn59niix-1226128513341">"8am call that put Julia Gillard's old news on front page"</a>.
</p><p>
The presentation here is given in the dry chronological order of the events as they occurred, rather than in an order better suited to The Australian's rhetorical purposes.
</p><p>
Hannan's article does include several assertions by Mitchell about Gillard being "apoplectic" and "furious". </p><p>
It also contains a denial by Andrew Bolt that he had any contact with Glenn Milne and his assertion that there "is no vast right-wing conspiracy against the Prime Minister". Interestingly, on the same day this article was published, Bolt claimed -- with zero evidence -- that the ABC's dropping of Glenn Milne from this week's "The Insiders" was evidence of <a href="http://blogs.news.com.au/heraldsun/andrewbolt/index.php/heraldsun/comments/protecting_gillard_abc_sacks_milne">a conspiracy to "protect Gillard".</a>. He also stated in that article that this conspiracy was so "sinister and shameful" that there "should be a riot". To which I say: #nochaffbags.</p>
<p>The rhetorical point of The Australian's article -- from its title through to its conclusion --seems to be that Gillard has only her self to blame that "old" allegations "hit the front page". Presumably, in News Limited's universe Prime Ministers are not entitled to seek to protect themselves from libel.
<p>
These elements are not further discussed here; the interested reader is referred to the original article.
</p><p>
In the remainder of this presentation, I have tried to refrain from making any statements of my own opinion. Perhaps that is not how one is meant to present facts. But then what would I know about journalism? I am merely a software developer.
<hr/>
<p>
On Saturday, September 3, The Australian published <a href="http://www.theaustralian.com.au/national-affairs/am-call-that-put-pms-old-news-on-front-page/story-fn59niix-1226128513341">an account</a> by Ewin Hannan of conversations between the Prime Minister Julia Gillard, the chief executive of News Limited John Hartigan and The Australian's editor-in-chief, Chris Mitchell that took place on Monday 29th August. The report also referred to earlier conversations that took place between Gillard and Hartigan two days earlier, on Saturday 27th of August.
</p><p>
According to Hannan, Gillard rang Hartigan on Saturday. Hartigan stated that:
<blockquote>
"She brought to my notice that she had information that Andrew Bolt or Steve Price or both were likely to publish assertions that were first made public in 2007 and she was very concerned by this because she said, when they were raised at that time, they were wrong and inaccurate and damaging,"
</blockquote>
</p></p>
Hartigan made inquiries of Price and Bolt and then called Gillard back. Hannan reported:
</p>
<blockquote>
<p>"I gave her an assurance that, were something to be published, we would give her an opportunity to respond before it was published", he said.
</p>
<p>
Hartigan had made inquiries at the Herald Sun and Daily Telegraph. He made no inquiries to The Australian because he said Gillard had not nominated the newspaper.
</p>
</blockquote>
<p>
On Monday, August 29, The Australian published an opinion piece by Glenn Milne in which Milne stated: "What the lawyers would not allow to be reported was the fact that Gillard shared a home in Fitzroy bought by Wilson using the embezzled funds.". Note that Hannan's report of September 3 did not include full text of this statement, presumably in deferrence to accepted journalistic practice &/or an understanding between News Limited and Gillard. Hannan's report states "The unproven allegations, in political terms, are ancient, and have been rehashed numerous times by critics of Labor and Gillard over the past 16 years." and outlines the circumstances in which the allegations had been raised publicly in the past.
</p>
<p>
As a consequence of this publication, Gillard rang Hartigan around 8am on Monday. According to Hartigan, Gillard said on Monday: "This has broken the deal we had.". Hannan reports that "Hartigan rejected the claim, insisting The Australian did not cover his original undertaking. (sic)"
</p>
<p>
When Gillard called Hartigan on Monday morning, Hannan reports:
<blockquote>
<p>According to Hartigan, Gillard put a series of demands that she wanted addressed in 15 minutes. The deadline was later pushed back to 9am.</p>
<p>As well as a public apology and the Milne article being taken offline, she wanted a commitment that the allegations never be repeated again in The Australian. This demand was later extended to all News Limited newspapers and their websites.</p><p>
"She said they were very damaging accusations," Hartigan said. "She wanted some action and she wanted it quickly."
</p><p>
Hartigan told Gillard he would speak to Chris Mitchell, The Australian's editor-in chief.
</p>
</blockquote>
Hannan reports that Mitchell then rang Gillard but does not report the substance of any conversation between the two. He then reports:
<blockquote>
Asked yesterday for comment regarding the accounts given by Hartigan and Mitchell, a spokesman for the Prime Minister released a one-paragraph statement last night that read: "Those accounts of the conversations are false and inaccurate. Considering what The Australian has already published this week, that's hardly surprising."
</p><p>
According to Hartigan and Mitchell, for an hour on Monday morning there was a flurry of phone calls, emails and texts between them, Gillard and lawyers, including News Limited's chief general counsel, Ian Philip.
</p><p>
Hartigan said he had six conversations with Gillard during this period, as well as exchanges of text messages and emails.
</p>
</blockquote>
</p>
<p>
Hannan also reports that:
</p>
<blockquote>
<p>Mitchell, who was not working on the Sunday, said the column was not sent to lawyers before publication.</p>
<p>He said the column should have been legalled, particularly given it contained the above-mentioned paragraph.</p>
</blockquote>
Given this admission by the editor-in-chief, it is perhaps not surprising that:
<blockquote>
<p>By 9am on Monday, Mitchell had emailed a suggested form of apology to the Prime Minister, which Gillard agreed upon. Her demand that the allegations never be repeated in any News Limited publication was rejected.</p>
<p>
Milne's column was removed from The Australian's website and replaced with an apology.
</p>
<p>
"The Australian published today an opinion piece by Glenn Milne which includes assertions about the conduct of the Prime Minister," it read.
</p>
<p>
"The Australian acknowledges these assertions are untrue. The Australian also acknowledges no attempt was made by anyone employed by, or associated with, The Australian to contact the Prime Minister in relation to this matter. The Australian unreservedly apologises to the Prime Minister and to its readers for the publication of these claims."
</p>
</blockquote>
Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com0tag:blogger.com,1999:blog-10407771.post-53296674939598202812011-09-02T08:50:00.014+10:002011-09-03T11:51:58.726+10:00#notruckwits - a call for #CalmerDiscourseSent as a letter to the SMH, Friday September 2.
<hr/>
<p>
<iframe width="280" height="172" src="http://www.youtube.com/embed/-EzBz8Oc5uw" frameborder="0" allowfullscreen></iframe>
</p>
<p>
On Thursday, we yet again saw an angry crowd of anti-carbon tax
protesters waving placards that depicted a dog with the words "Ditch
Gillard" and another that said "Tolerance is our demise". Some of
these protesters screamed "maggots" at Anthony Albanese who addressed
the rally.
</p>
<p>
Marching in solidarity with these protesters was the Liberal Party MP, Sophie Mirabella. In her speech, she reportedly called on protesters "not to be intimidated". By what, it is not clear . Perhaps it was the crowd of smiling carbon tax supporters up the road who chose to avoid an angry confrontation by staying away from the protest rally.
</p><p>
I call on Sophie Mirabella, MP to publicly and strongly repudiate the uglier sections of the crowd that she chose to support yesterday.
</p><p>
I also call on supporters of the Liberal Party who oppose the carbon tax, but are appalled by the angry mobs who turn up at such rallies to urge their MPs to issue similar public repudiations. Liberal Party MPs should refuse to attend such rallies until the organisers do something concrete about defusing the heat from the crowds they attract.
</p><p>
Finally, the Liberal Party should be strongly repudiating its
supporters in the media, such as Alan Jones, who repeatedly foster
such disturbing, anti-democratic tendencies with incendiary rhetoric
such as his call for elected politicians to be dragged out to sea in
"chaff bags".
</p>
<hr/>
<b>Updated</b> 16:10, 2 September: On reflection, the call for Sophie Mirabella to repudiate the entire crowd is, of course, quite wrong so I have amended my call. However, she should be asked to repudiate the uglier elements of the crowd in the interests of encouraging calmer discourse.
Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com0tag:blogger.com,1999:blog-10407771.post-79267764536028750352011-09-02T06:56:00.005+10:002011-09-02T07:18:59.413+10:00Open Letter To Sophie Mirabella, MP to repudiate degradation of the political discourse<p>Today I wrote an open letter to <a href="mailto:Sophie.Mirabella.MP@aph.gov.au">Sophie Mirabella, MP</a> calling for her to repudiate the disgusting tactics used by the people she marched in solidarity with during Thursday's anti-carbon tax rallies.</p>
<p>Australians, particularly Australian voters, deserve better from their politicians.</p>
<p>Copies were also sent to <a href="mailto:A.Albanese.MP@aph.gov.au">Anthony Albanerse</a>, <a href="mailto:Tanya.Plibersek.MP@aph.gov.au">Tanya Plibersek</a> and <a href="mailto:Malcolm.Turnbull.MP@aph.gov.au">Malcolm Turnbull</a>.
<hr/>
<p>Dear Ms Mirabella,
</p><p>
In the press today, it was reported that yesterday you marched along side and in solidarity with an angry mob of protesters against the Government's carbon tax policy.
</p><p>
The fact that Liberal Party MPs voluntarily associate themselves with angry mobs that carry signs such as <a href="https://twitter.com/#!/AlboMP/status/109110653293297664">"ditch the bitch"</a> and <a href="https://twitter.com/#!/AlboMP/status/109097243042250752">"tolerance is our demise"</a> astonishes me.
</p><p>
This is extremely degrading to the political discourse in this country.
</p><p>
I call on you to strongly and publicly repudiate protests of this kind and also statements from your supporters in the media like Alan Jones who have called for Gillard and Brown to be dragged out to sea in "chaff bags".
</p><p>
How the Liberal Party expects to survive the next election campaign with ads that portray the compatriots of the Liberal Party as a blood thirsty, irrational mob is beyond me.
</p><p>
As a courtesy to you, I point to a <a href="/2011/09/pro-and-anti-climate-rallies-newtown.html">blog posting</a> I have written about this issue.
</p><p>
If you feel "intimidated" by this post, please act.
</p><p>
jon seymour.Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com0tag:blogger.com,1999:blog-10407771.post-62924845445610789552011-09-01T18:58:00.013+10:002011-09-02T07:54:19.182+10:00Pro- and Anti- Carbon Tax Rallies - Marrickville 2011/09/01<p>In Marrickville today there were two rallies. </p>
<p>One for the carbon tax </p>
<a href="http://s1.proxy03.twitpic.com/photos/large/386700788.jpg"><img src="http://s1.proxy03.twitpic.com/photos/large/386700788.jpg" width="50%"/></a>
<p>One against.</p>
<a href="http://desmond.yfrog.com/Himg859/scaled.php?tn=0&server=859&filename=r2k.jpg&xsize=640&ysize=640"><img src="http://desmond.yfrog.com/Himg859/scaled.php?tn=0&server=859&filename=r2k.jpg&xsize=640&ysize=640" width="50%"/></a>
<p>Which group of protesters listens to the likes of Alan Jones and reads the commentaries of Andrew Bolt?</p>
<p>Which group of protesters looks happy? Which looks angry and hateful?</p>
<p>How can the Liberal Party, and <a href="https://twitter.com/#!/SMirabellaMP">@SMirabella</a> in particular, associate themselves with an irrational mob that carries signs such as "ditch the bitch" and "tolerance is our demise"? </p>
<p>Is this "decent" political discourse or is it cynical hate mongering by an Opposition party that has never relinquished the conceit that they are the natural party of Government?</p>
<p>Where are Ms Mirabella's repudiations of the disgusting, "intimidating" behaviours from the ranks of her anti-carbontax peers? Where is her repudiation of the call by Alan Jones to drag Gillard and Brown out to sea in "chaff bags"?</p>
<p>An MP of any political party claiming any legitimacy to rule, any concept of decency would loudly decry these outrages against the democratic discourse before slandering her opposition with false claims of "intimidation".</p>
<p>If, as <a href="http://newmatilda.com/2011/09/01/when-did-prime-ministers-get-so-precious">Andrew Bolt outageously claims</a>, Julia Gillard should be judged by the company she once kept 16 years ago, the Liberal Party MPs should be judged by the company they keep today.</p>
<p>How could any thinking, rational voter entrust the reins of Government to politicians who use irrational denial of science and hate as a political tactic? Or don't such voters matter to the Liberal Party, any more?</p>Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com2tag:blogger.com,1999:blog-10407771.post-86005977630851760242011-08-31T01:52:00.027+10:002011-09-03T12:11:04.732+10:00Pantomime of the oppressed, starring Andrew Bolt<p>On Friday 26th August, 2UE presenter Michael Smith read out on air parts of a statutory declaration sent to him by Bob Kernohan, a former state AWU president.
</p><p>
On Saturday, 27th August in a blog post timestamped 09:46am (since removed), Andrew Bolt included excerpts of this statutory declaration that had already "been read out or paraphrased" by Smith.
</p><p>
According to <a href="http://www.heraldsun.com.au/opinion/prime-ministers-hand-overplayed/story-e6frfifx-1226125924173">Bolt</a>, Gillard rang John Hartigan on Saturday "to check whether I or another News Limited journalist would be pursuing the story." Bolt states that "after calls were made to me and papers I write for, she was assured I was not."
</p><p>
Bolt does not say whether or not Gillard was given any assurances about whether any journalist from any other News Limited publication would be writing such a story. However, given that Gillard asked a News Limited executive about News Limited journalists in general, it is unclear why such an executive would attempt to evade such a direct question from a Prime Minister by responding with a half truth.
</p><p>
In any case, on Monday 29th of August, the Australian did publish a copy of an article by Glenn Milne which contained the words:
</p><p>
"What the lawyers would not allow to be reported was the fact that Gillard shared a home in Fitzroy bought by Wilson using the embezzled funds. There is or was no suggestion Gillard knew about the origin of the money."
</p><p align="right">
As quoted by: <a href="http://www.theage.com.au/national/gillard-calls-murdoch-paper-sorry-20110829-1jig6.html">Tony Wright, The Age, August 30</a>.
</p><p>
Some time on Monday morning, Bolt reports that Gillard went "ballistic", called both Hartigan and the Australian editor-in-chief, Chris Mitchell with "multiple" calls (emphasis Bolt's) and "demanded an immediate retraction". </p>
<p>
Again, according to Tony Wright of the Age:
</p>
<p>
<i>
"Shortly after 9.30am, Milne's column disappeared from The Australian's website and was replaced by a short and sharp apology, headlined ''Correction''.
</i></p><p><i>
"''The Australian published today an opinion piece by Glenn Milne which includes assertions about the conduct of the Prime Minister,'' it read. ''The Australian acknowledges these assertions are untrue. The Australian also acknowledges no attempt was made by anyone employed by, or associated with, The Australian to contact the Prime Minister in relation to this matter. The Australian unreservedly apologises to the Prime Minister and to its readers for the publication of these claims.''"
</i>
</p>
<p>
Tony Wright goes on to state:
</p>
<p><i>
"The Age understands Ms Gillard was furious not only because the column included a false claim, but because she had been led to believe by Mr Hartigan that News Ltd newspapers were not intending to pursue the decades-old story of her former conman lover."</i>
</p>
<p>
Over on Andrew Bolt's blog, in an update to a new post originally dated Monday 29th August, 05:44 am Bolt had quoted extensively from Milne's article, including Milne's assertion of fact about Gillard sharing a house with Bruce Morton Wilson. The quotation was accompanied by Bolt's own rider which stated that:
</p>
<p><i>
"(I am not sure that Gillard did share a home with Wilson. My own understanding is that she maintained her own house.)"
</i>
</p>
<p>
This post remained published on Bolt's blog until after 7pm Monday. Neither News Limited or Bolt appeared to be in any hurry to remove the post even though it quoted extensively from the very article that The Australian had already retracted and issued an apology for.
</p>
<p>
On first glance this failure to remove Bolt's post, given the real threat of legal action (or, if you believe Bolt, worse) might seem strange. Yet, on second glance, not. Bolt, unlike Milne, was not asserting the truth of the allegation merely reporting the allegation that Milne had made. This is no different to the quotes of Milne's allegation that Tony Wright included in his Age and SMH reports about the furore, reports that remain published to this day.
</p>
<p>
It is not clear when Bolt's blog posts of Saturday 27th and Monday 29th were removed from the Herald Sun website although the Monday post was still available as of 7pm Monday. Neither Bolt, nor News Limited have explained why these posts were removed.
News Limited has not apologised for these posts nor has it issued any statement to indicate that these posts were removed at Gillard's behest. Neither Bolt nor News Limited have explained the timing of the removal of Bolt's blog posts, particularly the long delay between the removal of the Australian article and the removal of Bolt's extensive quotations from the same article.
</p>
<p>
It seems unlikely that the posts were removed at "Gillard's insistence" since if she objected to the posts she would have requested that these posts be removed on Saturday when she first learnt of their existence or at the very latest Monday morning at the same time she contacted both Mitchell and Hartigan about the article in The Australian. The fact that at least some of Bolt's posts were not removed until late on Monday night indicates that no such request was made. That being the case, and in absence of evidence to the contrary, one is entitled to assume that the decision to remove Bolt's posts was an internal decision made by News Limited for their own reasons. Until and unless these reasons are explained, we can only speculate what they might be.
</p>
<p>
Bolt himself only claims that the retraction of The Australian article was at "Gillard's insistence". He does not claim that Gillard insisted that his own blog posts be removed, although he does state that he believes that the fact that they were was an "overreaction", presumably by News Limited management.
</p>
<p>
Roll on, Tuesday. In a post timestamped, 12:01am Tuesday 30th of August, Bolt stated mysteriously:
</p>
<p>
<i>
No politics until further notice. Principles to weigh up. Faith to keep. Sorry.</i>
</p>
Bolt then went on 2GB radio and stated:
<p>
<i>"I'd like people to check what was said before and what the prime minister responded to. It would be nice if they could check with what was said now and has been withdrawn completely and see what difference there is, but you can't do that. There is to be no debate and maybe that's fantastic, maybe that's great and what people want."</i>
</p>
<p>In this statement, Bolt claims that people cannot "check ... what the prime minister responded to".</p>
<p>
This is a very strange claim to make. After all, Bolt's own readers had been able to read the text of the retracted allegation on Bolt's own blog for the whole of Monday, August 29 - a period of at least 11 hours after News Limited retracted and apologised for the original article. Everyone else could read the "startling" claim in Milne's article simply by reading the Fairfax reports about the article that remain published to this day.
</p>
<p>
If anyone is to blame for the inability of Bolt's readers to "check ... what the Prime Minister responded to", then it is News Limited.
</p>
<p>
In any case, if there is any doubt about exactly who said what, when, Stephen Mayne has provided a handy little <a href="http://www.maynereport.com/articles/2011/08/29-1202-7942.html">compendium</a>.
</p><p>
One really can't help but wonder if the removal of Bolt's blog posts, his subsequent dummy spit, and then his groveling thank you to News Limited management on August 31 that - "I thank News Limited for defying the Prime Minister and letting me write as I have above." - was part of an elaborate pantomine to make it appear that Gillard "pulled strings ... to shutdown a debate".
</p><p>
The facts seem clear.
</p><p>
On Saturday, Gillard sought from and was apparently given assurance by News Limited that it was not planning to pursue the story further. On Monday, contradicting this assurance, The Australian published an assertion of fact that Gillard believed was clearly false. Gillard, as is her right, demanded a retraction. News Limited promptly retracted the article and issued an apology in which it acknowledged that some of Milne's assertions were untrue. At some much later time, News Limited decided to remove Bolt's blog posts and he apparently spat the dummy and went on strike for a day. After claiming News Limited's own, apparently unprompted, removal of his own blog posts as evidence of the "Prime Minister's" desire to "shutdown debate" he put pen to paper again to <a href="http://www.heraldsun.com.au/opinion/prime-ministers-hand-overplayed/story-e6frfifx-1226125924173">write up</a> his version of his brave and troubled struggle for our freedom.
</p><p>
Pantomime. Pure pantomime.</p><p><b>Update:</b> 10:04 31/8 - Sorry, forgot what month we are in, so amended June -> August. I can't be certain that Michael Smith read parts of the statutory declaration on air Friday, August 26. However, if what Bolt wrote is accurate, Smith must have done so at some point before Bolt updated the 8/27 09:46 post. Again, it is not clear when that was.</p><p>11:43 31/8 - Clarified, by adding context, that Tony Wright's article quoted a contentious line from the Milne piece.</p>
<p>23:37 31/8 It appears I was overly cautious in my 10:04 update. It appears that Michael Smith did read from the statutory declaration on Friday August 26 as stated above. This is confirmed in numerous places, not least of which was Bolt's article of 31/8.</p>
<p><hr/></p>
<p>Readers of this article may be amused/bemused/confused to learn that the full text of Milne's article was rescued from the weak knees and trembling hands of News Limited management by one John Winston Howard. Apparently he has been displaying it, unedited and unannotated, since 12pm on Monday 29th August on his <a href="http://goo.gl/OyxQC">facebook</a> page.
</p>
<p>Readers will note that there is not a single controversial assertion or allegation in the full article that has not been highly visible in the public domain since Monday.
</p><p>
This fact continues to make a mockery of Bolt's claim that the intent of Gillard's demands was to "shutdown debate". There is nothing else in the retracted article that is contentious.
</p><p>
It seems clear as day to this author that Gillard's primary intent was, as she stated, to demand the repudiation, by The Australian, of a single allegation that she has long insisted was false.
</p><p>
To let it stand unchallenged would have been to concede its truth. And why should she do that?
</p>
<hr/>
<p>
3 Sep, 11:58 The Australian has now <a href="http://www.theaustralian.com.au/national-affairs/am-call-that-put-pms-old-news-on-front-page/story-fn59niix-1226128513341">published</a> an account of the conversations that occurred between Gillard, Hartigan and Milne on Saturday last week and Monday this week. I may write a separate post about this at some point.</p>
<p>In the meantime, and since comments on the "The Drum" <a href="http://goo.gl/vqW8x">copy</a> of this article are now closed, feel free to comment here if you believe there are any significant errors of fact or speculation in this post.
</p>
<p>Please keep it calm. Stick to the facts and critique my statements and speculations, if you must. Attack me personally and you <b>will</b> be ignored for being a #truckwit. I don't expect I will have to remove any comments, but if I do, I will document the nature of the comments that I remove and why. I reserve the right to alter this moderation policy if circumstances warrant it. If I do that, I will explain why.</p>Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com1tag:blogger.com,1999:blog-10407771.post-4285918603546830492011-08-14T14:57:00.004+10:002011-08-14T14:59:06.711+10:00Romak Suction CupsJust in case I ever need to find these again:
<pre>
Gromet Suction Cups (794110, 22m, Qty 3)
Romak Hardware Distributors (03) 9795 6789
</pre>Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com0tag:blogger.com,1999:blog-10407771.post-42358170866294402652011-04-28T15:09:00.008+10:002011-04-29T00:04:36.540+10:00On Applications, Plugins and Packages<p>I am having a bizarre discussion on the git mailing list about whether it is ok for an application (git, say) to provide its own plugin installation command.</p>
<p>
E.g.:
</p>
<pre> git install gitwork.
</pre>
<p>
The idea has been described as 'horrid', 'utterly horrid' and 'crap'.
</p>
<p>
Bizarre.
</p>
<p>
The concept of a division of responsibilities between 3 roles seems to
be misunderstood.
</p>
<p>
There are 3 roles:
</p>
<p>
application, plugin and package.
</p>
<ul>
<li>The application provides the plugin manager.</li>
<li>The distribution provides the package manager.</li>
<li>The package manager packages the plugin as a OS-specific package.</li>
<li>The package manager installs the package, containing the plugin.</li>
<li>The package manager calls the application's plugin manager to activate
the plugin</li>
</ul>
<p>
Optionally, the application delegates plugin installation request to
one or more package managers.
</p>
Simple, isn't it? <p>
</p><p>Yes, Ruby got it wrong. Why did it get it wrong?
</p>
<p>
ruby got it wrong because ruby has a plugin manager (gem) that wants to be a package manager.</p><p>
</p><p>Just because Ruby got it wrong, doesn't mean git can't get it right and be a better platform for it.</p><p>
</p><p>
</p><p>
</p>Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com2tag:blogger.com,1999:blog-10407771.post-39782377408280206262011-01-01T02:54:00.012+11:002011-01-01T03:23:52.729+11:00Read 1st - http://goo.gl/6KKwJ<p>
One reason you may be reading this is that your WiFi client let you know that there was an Open or WEP-encrypted WiFi network with the name "Read 1st - http://goo.gl/6KKwJ".
</p>
<p>
If so, you need to be aware that the WiFi network so described is quite insecure and anyone connected to it can intercept all unencrypted traffic passing across it.
</p>
<p>
You also need to understand <a href="http://en.wikipedia.org/wiki/Firesheep">Firesheep</a>. In particular, you need to understand the vulnerability Firesheep exploits, and why it is in your interests to protect yourself against the techniques it exploits.
</p>
<p>
If you have any questions, send me an e-mail: jon.seymour@gmail.com.
</p>Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com0tag:blogger.com,1999:blog-10407771.post-75759094928920603752010-12-30T18:26:00.007+11:002010-12-31T01:46:12.188+11:00Introducing geoloc<p>
I've created a tool called geoloc which uses publicly available information in the form of WiFi packet headers and Google API lookups to build Google maps of WiFi access points.
</p>
<p>
Here are two examples from <a href="http://goo.gl/YwV2J">Stanley St, East Sydney</a> and outside <a href="http://goo.gl/wMq1f">QVB Jet</a> also in Sydney.
</p>
<p>
Anyone who has Unix knowledge can download, install, and run the tool and build their own maps using kismet or airodump-ng outputs. For more information about this, see the <a href="http://goo.gl/QPsL6">HOWTO</a>.
</p>
<p>
Please note that I have only plotted locations of MAC addresses as reported by Google for WiFi access points I observed when I was at these two locations. If the locations are inaccurate, this is because the data in the Google database for this MAC address is stale. I also collected client device MAC addresses (e.g. iPhones, iPads, other kinds of smart phones, laptops, etc), but I have not plotted this information nor have I published it any other form (nor do I have plans to).
</p>
<p>
Please also note that I have not hacked into any systems to collect this information. This information was obtained merely by listening to broadcast WiFi traffic and by using this information to drive calls to the Google location APIs. This is exactly the technique that Google (and others) use to build their database of WiFi MAC address locations and to provide location information to mobile applications.
</p>
<p>
I am aware that publishing this page and associated tool may scare the willies out of some people. Perhaps it should. I have discussed the implications of these kinds of technological capabilities in other recent posts on this blog. In future posts, I will discuss what options might be needed to prevent potential gross violations of privacy implied by these capabilities.
</p>Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com0tag:blogger.com,1999:blog-10407771.post-1845806923148645132010-12-29T19:33:00.006+11:002010-12-30T00:13:23.183+11:00Using Location Based Services To Plot Locations Of A Given Device Type<p>One property of MAC addresses is that they are allocated in sequence. So, if you know the MAC address of one device, you can easily derive the MAC address of similar devices.</p>
<p>And, once you know the MAC address of a device, courtesy of Google, you also probably know its physical location.</p>
<p>
Here are two examples - the locations, around Sydney of up to 83 different Pocket WiFi devices that I discovered by probing a total of 256 MAC addresses.
</p>
<a href="http://keepingthebastardshonest.net/images/vodafone.png"><img src="http://keepingthebastardshonest.net/images/vodafone.png" width="80%"/></a>
<p>
Or, further a field, the locations around the world of 176 Apple TimeCapsule devices I discovered, once again, by probing a total of 256 MAC addresses.
</p>
<a href="http://keepingthebastardshonest.net/images/time-capsules.png" ><img src="http://keepingthebastardshonest.net/images/time-capsules.png" width="80%"/></a>Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com1tag:blogger.com,1999:blog-10407771.post-26561149112520620662010-12-29T10:55:00.003+11:002010-12-29T11:21:15.240+11:00The urge to cleanse<p>
This post builds on my other posts and explains the commercial reasons why access point location databases maintainers will be forced, by their own commercial interests, to start identifying mobile access points.
</p>
<p>
Providers of access point location databases have two motivations - to extend their coverage until it is complete and to ensure that their coverage maps are and remain accurate.
</p>
<p>
Initially, providers attained coverage by paying people to drive around in cars with WiFi and GPS gear attached. One way to maintain the maps is to repeat the journeys with new drivers (or old drivers who don't bore easily).Another way would be to make use of the millions of GPS and WiFi capable receuvers in the hands of people that are using their location based service APIs.
</p>
<p>
New WiFi access points can be added using location information from the consumer's device (eithe GPS, or other WiFi location fixes). Existing WiFi access points that give unstable location data can be removed from the database. All of this will happen auto-nomically, indeed, perhaps what Skyhook Wireless refers to as <a href="http://www.skyhookwireless.com/howitworks/coverage.php">"Automated Self-Healing Network"</a>.
</p>
<p>
So, the drive to improve coverage could lead to mobile wifi access points being included in the database. The drive to improve accuracy of existing coverage could lead to "unstable" mobile access points being removed from the database.
</p>
<p>
In an ideal world, the access points with variable location functions would not be searchable. However, the information about the unstable (e.g. mobile) access points will have to be accumulated in order to preserve the integrity of the static parts of the mobile access point database.
</p>
<p>
The question is: what forces prevent the collected information being exploited? Are existing privacy laws sufficient and what evidence is there that they are?
</p>Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com0tag:blogger.com,1999:blog-10407771.post-16619335198484331302010-12-29T10:35:00.002+11:002010-12-29T10:40:03.157+11:00In response to G.| Oops, my replay was too long for a comment, so it gets its own post.
<p>
G'day G,
</p><p>
You are quite correct that the mobile phone networks already have a wealth of this kind of data available to them.
</p></p>
I am not exactly sure why it hasn't proved such a problem but I think it is partly because they are not at liberty to sell the information at will, they are easily subject to regulation (being rather large and few in number) and they have never been in a position to convince the consumer that it is in the consumers' interests to let the telcos commercially exploit the information. I am also reasonably sure that law enforcement officials don't have carte blanche access to the data, although I don't claim to understand this area very well.
</p><p>
WiFi data is a little different because it is, by its nature in the public domain and there is not necessarily any direct contract in place between the consumer and harvester of the consumer's location data. There will no doubt be indirect relationships at some point, but it may be via chain of third parties.
</p><p>
With the advent of technologies like Four Square, consumers can now see direct benefits for themselves in location based services and are willingly using them for the direct benefits they derive from those services. Platform providers, such as Google, have taken advantage of this and implemented relatively open APIs because if they didn't, their competitors would.
</p><p>
One can hope that ethics will prevent Google taking the next step to client-level tracking APIs but such hopes have been misplaced in the past (e.g. w.r.t. FaceBooks continually slipping privacy standards).
</p><p>
I was quite frankly surprised how easy it was to reverse engineer my location from my access point's MAC address. It's not such a big deal when the MAC address is fixed because at the end of the day, so is my home address.
</p><p>
It starts to become a very big deal when my MAC address starts following me about since everyone from my nearest and dearest to complete strangers could use that information to reverse engineer my travels simply by firing up a WiFi device in my vicinity at some point in time and then getting access to the relevant database.
</p><p>
With regard to your second point, the problem is that if you use WiFi you can't prevent your MAC address leaking to any co-located WiFi device - even those that you are not communicating with. If you communicate, your MAC address will be exposed to anyone pre-disposed to collect it. If commercial entities start paying people to collect this information, it will be collected. Other people will be paid to correlate MAC addresses with your identity and then the picture is complete.
</p><p>
Now, I guess one defence against this might be pervasive deployment of MAC address randomisers on mobile WiFi devices. Geeks with a sufficiently open platform can do this for themselves. The average iPhone user won't be able to protect themselves like that unless the Government tells Apple they have to enable it.
</p><p>
jon.
</p>Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com0tag:blogger.com,1999:blog-10407771.post-67694182796633348082010-12-29T05:50:00.022+11:002010-12-29T23:10:04.587+11:00mobile 802.11 - the parole bracelet for the man in the street<p>I recently installed the "Find my iPhone" app on my iPhone.</p>
<p>I happened to notice that the position fix it gave on my iPhone was more accurate when WiFi was enabled than when only 3G was enabled.</p>
<p>This intrigued me, because I had not realised that WiFi networks are routinely used for location fixing purposes.</p>
<p>So, I did some more digging. It appears Apple uses WiFi location services provided by <a href="http://skyhookwireless.com">skyhookwireless.com</a>. This company has a database of the MAC addresses of WiFi access points and their approximate locations. Applications deployed on devices equipped with a 802.11 wireless radio can scan the local environment for WiFi access points, take a note of the MAC address and signal strengths thus found and then exchange this information with the skyhookwireless API for an estimate of the device's current location.</p>
<p>It didn't take long to discover, using a few Google searches, that the Skyhook API can be <a href="http://coderrr.wordpress.com/2008/09/10/get-the-physical-location-of-wireless-router-from-its-mac-address-bssid/">exercised</a> by anyone with rudimentary programming skills. The information returned by this API is the latitude and longitude of the MAC address, as known to Skyhook Wireless.</p>
<p>It then dawned on me, that I could use the same technique that Skyhook Wireless uses to collect MAC addresses and discover all the MAC addresses in my local neighbourhood. I could then use this information with the Skyhook Wireless API, to derive the corresponding physical locations of each MAC address. I could then use this information, together with the Google Maps API, to make create a map showing the location of each WiFi access point in my neighbourhood.</p>
<p>And so this I did, and here is the result.</p>
<p><img src="http://keepingthebastardshonest.net/images/local-wifi.png" scale="80%"/></p>
<p>The interactive version of the map (not shown) shows the MAC address and human friendly network name of each WiFi network in the immediate neighbourhood of my home.</p>
<p>This was a cool hack for an afternoon and I wrote it up on Facebook. A friend then showed me a feature of current versions of Firefox that allows web applications to work out your current location and, with your permission, exchange that information with the application provider.</p>
<p>To see how this works for your self, point your Firefox browser at: <a href="http://www.mozilla.com/en-US/firefox/geolocation/">http://www.mozilla.com/en-US/firefox/geolocation/</a> and then click the link entitled "Give it a try!". You will need to respond in the affirmative to a security warning that will appear at the top of the page. If you do this, the a Google map will be displayed showing your approximate location. The results will be more accurate if you are connected to a WiFi network when you do this. Try zooming in to the maximum resolution - you might be surprised how close it gets to where you are.</p>
<p>Fortunately, this feature of Firefox is optional and they have taken some care to ensure that a Firefox user does not unwittingly disclose their location without their own consent. Furthermore, there is an option available to disable the feature completely.</p>
<p>It was while researching this option that I noticed that theURI used for resolving physical locations pointed at a Google server. Sure enough Google has its own location services API, apparently independent of the services provided by Skyhook Wireless.</p>
<p>With a little bit of playing, I worked out how to expose the Google API to a command line shell, and this allowed me to probe the location of arbitrary MAC addresses.
<code>
expanded_mac="00-11-22-33-44-55" && \
ssid="YourNetworkSSID" && \
curl -s --header "Content-Type: text/plain;" --data "{\"version\":\"1.1.0\",\"request_address\":true,\"wifi_towers\":[{\"mac_address\":\"$expanded_mac\",\"ssid\":\"$ssid\",\"signal_strength\":-50}]}" https://www.google.com:443/loc/json</code>
<p>I discovered two interesting differences between the Google API and the Skyhook Wireless API. The first is that Google Wireless API was able to resolve the MAC address of my Vodafone Pocket WiFi device (more on the implications of that, below). The second is that if Google doesn't recognize the MAC address it will fall back to using the source IP address of the request to provide a less accurate estimate of client's location. In my case, this means that Google defaults the location to a location near the Sydney GPO.</p>
<p>I also tried using the MAC addresses of client devices, such as my iPhone and iPad to see whether Google could resolve these. At first, I got a fright when I thought it was resolving a location for these devices, but then realised it had actually fallen back to use the source IP address of my ADSL gateway and not the MAC address of my individual devices.</p>
<p>So, it is good news that neither Skyhook Wireless or Google appear to be tracking client MAC addresses at present. On the otherhand, the other thing I learnt today is that there is no technical reason why they aren't doing it - the information about client MAC addresses is just as exposed as information about access points, although, because client MAC addresses tend to move about more than access points it is perhaps not as valuable for location fixing purposes which is apparently the market that both Skyhook Wireless and Google are pursuing at this point in time.</p>
<p>However, it seems inevitable that someone, somewhere, will find the temptation of capturing client-level MAC address/location/time-of-day triples to be an opportunity too hard to resist. One can certainly imagine security services looking at such a gold mine of information with large eyes, wet lips and hungry stomachs.</p>
<p>And this is where the issue of pocket WiFi becomes interesting. The current infrastructure that Skyhook Wireless and Google have built is designed to track access points, not clients. However, the rise of the iPad has started to create a demand for a technology that Vodafone, for example, is selling as the Pocket Wifi. These nifty little devices package a 3G modem and 802.11 WiFi router in a unit that is smaller than a slim mobile phone (you know, the form factor that everyone coveted before before the iPhone created the demand for large touch surfaces). The chief advantage of such a device is that the consumer can purchase a single 3G modem and share its wireless connection between gadgets such as the iPad and other devices like netbooks or laptops and thereby avoid having to purchase a separate 3G plan for each device.</p>
<p>The end result of this consumer convenience, however, is that a lot of people are going to be walking around the streets carrying with portable wireless access points in their pockets. And their MAC addresses will end up in the access point databases of Skyhook Wireless and Google. Eventually, someone will work out how to make a buck from this information and the pressure will be on to keep it up to date. For example: Google's record of my Pocket WiFi device was at least a week out of date, perhaps more.</p>
<p>And once they have done that, the pressure to collect location information from normal WiFi clients will increase and then suddenly, everyone carrying a WiFi-enabled smartphone (e.g., almost everyone) will be locatable, with exquisite precision, 24x7.</p>
<p>Scary, huh?</p>
<p><b>Update:</b>Just because I could, I decided to plot some MAC addresses I found by doing a google search for the phrase "Mode:Managed Frequency:2.437 GHz Access Point:". Here's what I found:
<a href="http://keepingthebastardshonest.net/images/wifi-global.png">
<img src="http://keepingthebastardshonest.net/images/wifi-global.png" width="80%"/>
</a>
</p>Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com4tag:blogger.com,1999:blog-10407771.post-42475388616869337132010-12-09T12:06:00.003+11:002010-12-09T15:18:40.706+11:00MasterCard and Visa want to play politics, then game on...<p>
I have a concrete suggestion for a campaign idea.
</p><p>
The Australian Parliament, for example, could reserve for itself the right to impose a “freedom tax” on payment services like PayPal, MasterCard and Visa.
</p><p>
The tax rate would be set at 0% as a gesture of good will. However, if they fail to reverse their decision or ever act in this way again, the Parliament could choose to alter the rate to some non-zero percentage.
</p><p>
The collected tax would be either returned to the consumer or to a media organisation of the consumers &/or the Parliament’s choice.
</p><p>
This would serve to take payment services out of the political arena or provide a useful source of revenue to fund investigative journalism and other freedom preserving projects.
</p><p>
Once the idea of taxing payment services is accepted, payment services will rue they day they abandoned the rule of law to exercise political muscle.
</p>
</p><p>
ps: if any security services would care to entrap me with a femme fatale, I prefer brunettes.
</p>Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com1tag:blogger.com,1999:blog-10407771.post-19525567527351605362010-12-03T09:44:00.003+11:002010-12-03T09:47:59.103+11:00Canadian Idiot advocates tyranny.<a href="http://www.telegraph.co.uk/news/worldnews/northamerica/canada/8172920/Julian-Assange-should-be-assassinated-Canadian-official-claims.html">Professor Tom Flanagan</a> has advocated assassination of Julian Assange.
What part of the Rule Of Law do you not understand, you freaking idiot.Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com1tag:blogger.com,1999:blog-10407771.post-6279792406009651852010-07-25T12:44:00.004+10:002010-07-25T12:55:46.202+10:00Building git documentation on cygwinI had some trouble building the git documentation under cygwin.
The issue is apparently that on cygwin the xmlcatalog is not set up to allow offline builds.
In my case, my cygwin install was missing an /etc/xml/catalog file.
The simplest fix in this case is to create a this file manually:
<pre>
<?xml version="1.0"?>
<!DOCTYPE catalog PUBLIC
"-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
"http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd"
>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<rewriteURI
uriStartString = "http://docbook.sourceforge.net/release/xsl/current"
rewritePrefix = "/usr/share/sgml/docbook/xsl-stylesheets"
/>
<rewriteURI
uriStartString="http://www.oasis-open.org/docbook/xml/4.5"
rewritePrefix="/usr/share/sgml/docbook/xml-dtd-4.5"
/>
</catalog></pre>
Alternatively, you can update an existing file with:
<pre>
xmlcatalog --noout \
--add rewriteURI \
http://docbook.sourceforge.net/release/xsl/current \
/usr/share/sgml/docbook/xsl-stylesheets \
/etc/xml/catalog
xmlcatalog --noout \
--add rewriteURI \
http://www.oasis-open.org/docbook/xml/4.5/xsl/current \
/usr/share/sgml/docbook/xml-dtd-4.5 \
/etc/xml/catalog
</pre>Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com0tag:blogger.com,1999:blog-10407771.post-46629686266884869382010-07-25T00:25:00.004+10:002010-07-27T01:16:34.556+10:00Greenberg<p>After work this evening I decided to head up to the Cricketers' Arms to get some dinner and play some pool. Unfortunately the pool table was out of order, so I settled for dinner, some free AC power and some diddling with my git wrappers.</p>
<p>Then it occurred to me that it might fun to go to the Verona and see a film. Inception looked like the kind of film I like, but it was sold out so instead I elected to see Greenberg, a film I knew nothing about other than the poster I had seen on Friday which told me that it starred Ben Stiller. So, I thought it would be a light-hearted comedy.</p>
<p>Boy, was I wrong. It turned out to be about a narcissistic (tick) 40-something (tick) single guy (tick) with anger control issues (tick). The character doesn't drive (tick), takes pleasure in writing letters of complaint (tick) and is not troubled by the conventional pressure to succeed (tick).</p>
<p>It almost could have been about me, except for one thing (did I say the guy was narcissistic?) - the guy couldn't swim to save his life.</p>Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com0tag:blogger.com,1999:blog-10407771.post-69231831705211789082010-06-23T16:06:00.008+10:002010-06-23T16:11:38.511+10:00Fire truck with your mind<p>As of Wednesday 23rd June, 2010, Google reported no exact matches for the phrase:</p>
<p><a href="http://www.google.com.au/search?q=%22fire+truck+with+your+mind%22">"Fire truck with your mind"</a>.</p>
<p>This page is an attempt to change that.</p>
<p>
jon.
</p>
<p>
<b>update</b> mmmm: indexed (for me, at least) almost immediately. One advantage of using Blogger, I guess!
</p>Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com0tag:blogger.com,1999:blog-10407771.post-86284606013804134142010-02-06T09:50:00.003+11:002010-02-06T09:55:51.976+11:00Some words, some progress<p style="margin: 4em">
<i>
She is not my friend<br/>
She is not my enemy<br/>
She is <a href="/2007/10/some-simple-words.html">just someone</a>.<br/>
<br/>
</i>
</p>Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com1tag:blogger.com,1999:blog-10407771.post-13268244280526323232009-11-30T23:56:00.010+11:002009-12-01T22:27:01.250+11:00On Values And OptionsFurther thinking about the relationship between a Value and its related Option interface (what I was calling Ops) lead to the following construction rules:
<ul>
<li>A Value interface contains no methods</li>
<li>Storing a reference to an Option is fine, provided you can guarantee the reference is always non-null. If you can't guarantee this for some reason, declare a Value instead.</li>
<li>methods which return a reference to the Option interface must always return a non-null Option reference</li>
<li>Care should be taken not to store Options in ADT that have methods that can, under some circumstances, return null. For example, a map of type Map< ? , Value.Option> would not be safe since its get() method could return a null Value.Option reference under certain conditions.</li>
<li>Option references should never be declared as parameter types in method signatures </li>
<li>The methods on the Value interface inherited from java.lang.Object are @deprecated to warn the user they are calling the wrong interface</li>
</ul>
If an object stores a value object as a property of some container object, then one might expect to see a declaration like this:
<pre>
<code>
class Container
{
private Value.Option aProperty = Value.UNSPECIFIED;
public Value.Option getProperty()
{
return aProperty;
}
public void setProperty(Value aValue)
{
aProperty = Value.WITH.value(aValue);
}
}
</code>
</pre>
Where Value.WITH.value implements the catamorphism between Value and Value.Option.
<p>
The reasons for the asymmetry between the parameter type of the setter and the return type of the method are as follows:
<ul>
<li>As the consumer of a property, you don't want the hassle of applying a catamorphism to a return value before you can use it. It is reasonable for the method implementor to do this for you, and if the Option reference is the reference that is stored, it will, in any case, be trivial to do so</li>
<li>Given these construction rules, the only way to obtain a reference to an Option is to receive one from a method return or load one from a variable. If the Value -> Value.Option catamorphism and all other methods are guaranteed to never return null and you never initialize a Value.Option reference with null, there is no way you can receive a null Value.Option.</li>
<li>As the implementor of a class, you can guarantee by inspection that you never store or return a null Option. It is not possible for you, as an implementor, to guarantee that you will never receive a null Option-typed parameter from a caller. Type-safety will guarantee that you receive at least a Value. You can guarantee by construction that any Option reference derived from that value is not null. If you accept Option-typed parameters then you either have to assume that a caller will not make a mistake and pass a null or you have to apply a catamorphism to the parameter in order to restablish your certainity that it is not null. It seems simpler to re-use the Value -> Value.Option catamorphism in the setter method than to apply a second catamorphism to guard against the unlikely case that a caller has violated your method's contract.</li>
<li>Since the parameter type (Value) is different to the property declaration (Value.Option), type safety ensures that some kind of conversion will be applied to the parameter prior to it being stored. This prevents a lazy implementor of a setter method passing through a null reference to be stored in an Option-typed member variable.</li>
<li>Since returns typed with Value.Option are guaranteed by construction to be never null, even if the related value was null, there is no need for null checks in consuming code</li>
<li>The rules are simple to follow and unconditional in nature - any violations of these rules is a serious error and should be treated as such. There is no case for a storing or returning a null Option. Any such case is actually a case for passing or storing a null Value, which are the only safe types of reference to pass in this way. </li>
</ul>Jon Seymourhttp://www.blogger.com/profile/10532362449090377707noreply@blogger.com0