<?xml version="1.0" encoding="ISO-8859-1"?>
<opml xmlns:so="http://rdf.opiumfield.com/so/blog/" version="2.0">
<head>
<title>22.opml</title>
<dateCreated>Fri, 23 Jan 2009 00:11:41 GMT</dateCreated>
<dateModified>Fri, 23 Jan 2009 16:09:38 GMT</dateModified>
<ownerName>Tom Morris</ownerName>
</head>
<body><outline text="&lt;a href= &quot;http://normblog.typepad.com/normblog/2009/01/philosophy-of-law-law-of-philosophy.html&quot;&gt; Norman Geras&lt;/a&gt;: &lt;q&gt;Here's my advice to the new president. Get yourself a team of philosophers. Philosophers would have been able to tell you, providing as much backup as you could want, that even with 'faithfully' out of place in that word string, the oath remained the same. For the oath resideth not in the precise order of the words (although that doesn't mean any old order would do) but in the meaning of what the words that are uttered express. There may well be philosophers somewhere out there right now explaining why to take the oath of office twice renders each occurrence nugatory from a legal point of view: for the second occasion negates the validity of the first by superseding it, and the first occasion renders the second one superfluous, so ensuring that it can't count for anything. Come to think of it, Obama should make sure that the philosophers he gets are up to scratch.&lt;/q&gt; If philosophers were kings, the Oath would be in predicate logic." created="Fri, 23 Jan 2009 14:35:48 GMT"/><outline text="&lt;a href= &quot;http://www.independent.co.uk/news/uk/home-news/big-brother-database-a-terrifying-assault-on-traditional-freedoms-1366716.html&quot;&gt; Ben Russell&lt;/a&gt; in &lt;cite&gt;The Independent&lt;/cite&gt;: &lt;q&gt;Proposals in the Coroners and Justice Bill include measures to authorise ministers to move huge amounts of data between government departments and other agencies and public bodies. Bodies that hold personal information include local councils, the DVLA, benefits offices and HM Revenue and Customs.&lt;/q&gt; &lt;q&gt;The Bill will allow ministers to use data-sharing orders to overturn strict rules that require information to be used only for the purpose it was taken. But it places no limit on the information that could eventually be shared between public bodies, potentially allowing vast amounts of personal data to be shared by officials across Whitehall, agencies or other public bodies.&lt;/q&gt;" created="Fri, 23 Jan 2009 14:33:48 GMT"/>
<outline text="Coroners and Justice Bill will eat your hard-won Data Protection freedoms" created="Thu, 22 Jan 2009 23:11:41 GMT"><outline text="I have just sent an e-mail to my MP regarding the &lt;a href= &quot;http://services.parliament.uk/bills/2008-09/coronersandjustice.html&quot;&gt; Coroners and Justice Bill&lt;/a&gt; 2008-09, which gets it's Second Reading next week. My objections are rather sketchy and rough - I'm not a legal scholar, and I haven't really studied it in as much detail as I possibly could have done. I've read enough to know I don't like what it represents. If you are concerned about it - and if you care about data protection and liberty, you probably &lt;em&gt;should&lt;/em&gt; care about it - then you ought to &lt;a href= &quot;http://writetothem.com/&quot;&gt;write to your MP&lt;/a&gt;. (Note: don't just copy and paste my post - you should read the Bill and write your own objections.) I think the Coroners and Justice Bill raises another major concern which I will address soon. Anyway, without further ado, this is what I sent to my MP..." created="Thu, 22 Jan 2009 23:11:41 GMT"/><outline text="I urge you to please consider your position on the Coroners and Justice Bill that is currently in front of the House. Most of the act concerns changes to the functioning of the coroner. Tacked on to these reforms is Part 8 (sections 151-154) which amends the Data Protection Act 1998. The result of these amendments is to allow the Government - specifically cabinet Ministers and Ministers of the devolved Scottish Parliament, Welsh Assembly and the Northern Irish authorities - to make an &quot;information-sharing order&quot;." created="Thu, 22 Jan 2009 23:11:41 GMT"/><outline text="Use of data issued to Ministers under the information-sharing order does not seem subject to oversight either by judicial means or by Parliament. The Bill specifies that information-sharing orders will be subject to a Code of Practice that will be prepared by the Information Commissioner, which must be approved by both the Secretary of State and Parliament. I'm afraid that I do not consider this enough oversight. The government have added these amendments to the fundamental nature of our laws on data protection and privacy without making the case to the public showing why these changes are necessary. If these modifications are necessary, the Government should make a public case for them, and then make the changes to the Data Protection Act in a new Bill specifically for that purpose, rather than rolling them into a law on the role of the Coroner." created="Thu, 22 Jan 2009 23:11:41 GMT"/><outline text="There are further objections that I think it vital to make. In section 152(1)(50B)(2), it states that an &lt;q&gt;information-sharing order may provide for the creation of offences triable either way&lt;/q&gt;. The purpose of the creation of these criminal offences is not specified. Is it to regulate the use of information by Government? Will these offences proscribe the behaviour of the general public? Might these offences be used to silence those whose information is being shared? I would have no problem in the first of these scenarios - to provide a criminal sanction to prevent a corrupt Minister from using the information gleaned from the sharing order for illicit ends. But section 152(1)(50B)(2) does not tell me the nature of the class of offences it creates. What would prevent, say, a Minister from using the powers given to him by the amended Data Protection Act to create a new criminal offence totally unrelated to a piece of information he requests? He could send a request to the Department of Work and Pensions to get some figures on unemployment, and in the same order recriminalize sodomy. It may seem rather implausible that a Minister either in the current Government or a future Government of any of the major political parties would do that, but the law does not seem to specify any reason why they cannot. Being only a mere philosophy student and not a lawyer, I may be reading this wrong." created="Thu, 22 Jan 2009 23:11:41 GMT"/><outline text="The spirit of the Data Protection Act is to allow citizens of this country to have assurances that the personal data collected by both government and business as a routine part of living in a modern society is protected from abuse. The Government have made not a squeak about the need for these fundamental changes to the laws regarding the privacy of our personal information. Why should Parliament grant the Government these new powers after the frankly colossal blunders they have made with the personal data entrusted to them? Why is this law even necessary? Why not just conveniently 'lose' a USB drive with the data on when walking past the Minister's office?" created="Thu, 22 Jan 2009 23:11:41 GMT"/><outline text="I would like to know your position on the above-mentioned sections of the Coroners and Justice Bill, and I'd like to humbly request you to reconsider your position if it differs from anything other than solid opposition to these ill-considered intrusions into the civil liberties of the British citizen." created="Thu, 22 Jan 2009 23:11:41 GMT"/></outline><outline text="Using XML-RPC encoding to avoid messy XML-to-JSON transformations" created="Fri, 23 Jan 2009 00:34:08 GMT"><outline text="There is a big mismatch in programming between the structure of XML and the tools used to parse it programatically. In XML, you have elements, attributes, CDATA sections, processing instructions, namespaces and text nodes - often in a rather spaghetti-like construction (and sometimes vaguely resembling something like a schema). There isn't a simple mapping from this to the common types in programming languages: booleans, number primitives, strings, tuples/lists, key-value structures, classes, objects and functions. And so we get rather clumsy XML interfaces like the XML Document Object Model, with all those lovely method names like &quot;getElementByTagName&quot;, &quot;getAttribute&quot; and so on. Or, even more fun, one can use a SAX-based parser - well-known to be about as much fun as getting raped by a javelin." created="Fri, 23 Jan 2009 00:34:08 GMT"/><outline text="Today, &lt;a href=&quot;http://adactio.com/journal/1547&quot;&gt;Jeremy Keith&lt;/a&gt; posted a blog entry about how he added a feature to the excellent &lt;a href=&quot;http://www.huffduffer.com&quot;&gt;Huffduffer&lt;/a&gt; using Amazon's product information API and machine tags, but had to handle XML coming out of Amazon. Jeremy then wrote an XSLT to turn the XML into JSON. You can have a look at the XSLT &lt;a href= &quot;http://huffduffer.com/xsl/amazonItemSearch.xsl&quot;&gt;here&lt;/a&gt;. It's pretty good. I'd have added some xsl:text elements, and maybe explicitly added an xsl:output element with a 'text' method. Not the best XSLT I've ever seen, but not at all shabby." created="Fri, 23 Jan 2009 00:34:08 GMT"/><outline text="There is a problem with this approach - character encoding. If you were to get a text node that contained some encoded ampersand or something, that wouldn't be properly transformed - JSON uses UTF-8 text, wheras XML uses character encoding as per the processing instruction. How to solve this problem? Easy, don't turn it into JSON. Turn it into XML-RPC instead. XML-RPC gives you pretty much the same data model as JSON, except that you don't get a nil (a glaring error in XML-RPC). So, you take the XML from Amazon, turn it into an XML-RPC message, then use an XML-RPC library to turn that into language-native data. For PHP users (as Jeremy is), you then use &lt;a href=&quot;http://scripts.incutio.com/xmlrpc/&quot;&gt;Simon WIllison's XML-RPC library&lt;/a&gt; (Python and Ruby both have built-in XML-RPC libraries - be aware that Ruby's XML-RPC server has had/may still have a notorious security hole, so watch yourself). You should be able to parse the XML-RPC message with Simon's XML-RPC class by just instantiating an IXR_Message object, running the parse() method on that object and then getting the data out of the object's 'params' property. For super-laziness, just wrap those three lines up in a method called xmlrpc_parse(), and you can use it just like the json_parse() method in PHP." created="Fri, 23 Jan 2009 00:34:08 GMT"/><outline text="It's not much of a difference (unless, of course, you are transmitting lots of nullness around) - but does mean that you can neatly side-step around character encoding issues going between XML and JSON - something that XSLT 1.0 won't just fix for you by magic." created="Fri, 23 Jan 2009 00:34:08 GMT"/><outline text="As for XML-RPC not having nil? &lt;a href= &quot;http://en.wikipedia.org/wiki/XML-RPC&quot;&gt;Wikipedia&lt;/a&gt; says there's an unofficial extension to XML-RPC that allows one to use a nil element - &lt;a href=&quot;http://ontosys.com/xml-rpc/extensions.php&quot;&gt;here it is&lt;/a&gt;. It's so common sense to have a nil element. In Jeremy's case, this is not a problem. It's not likely that a book on Amazon is going to, say, not be a string but be a nil value. (The other approach to this is to use &lt;a href= &quot;http://en.wikipedia.org/wiki/SOAP&quot;&gt;SOAP&lt;/a&gt;, but that's too heavyweight - or to use something like &lt;a href= &quot;http://www.openwddx.org/&quot;&gt;WDDX&lt;/a&gt;, which does have a nil value, but doesn't have the tool support that XML-RPC does - the PHP WDDX parser is a compile-in extension, which is notoriously unpossible on shared hosting sites. As for me, I'd turn it into RDF, but I'm not even going to go there.)" created="Fri, 23 Jan 2009 00:34:08 GMT"/><outline text="Right, having suggested that people stop using JSON and start using XML-RPC - in PHP no less - I shall retire to my bed in disgrace." created="Fri, 23 Jan 2009 00:34:08 GMT"/></outline><outline text="Obama White House should use public-key encryption" created="Fri, 23 Jan 2009 16:09:39 GMT"><outline text="&lt;a href=&quot;http://www.msnbc.msn.com/id/28780205/&quot;&gt;MSNBC&lt;/a&gt; quotes John Pescatore from Gartner on Barack Obama's electronic security: &lt;q&gt;Take an innocuous example. If (Obama) were to sit down at his personal PC, log into his (presidential) e-mail account and send a congratulatory e-mail to the pilot of the US Airways jet [...] how would the pilot know it was really Obama? If someone else sent out a doctored e-mail pretending to be Obama, how would we know it wasn't really him?&lt;/q&gt;" created="Fri, 23 Jan 2009 16:09:39 GMT"/><outline text="Well, the White House could use &lt;a href= &quot;http://www.gnupg.org/&quot;&gt;GnuPG&lt;/a&gt;. It's strong enough that PGP, the software that GnuPG is an open source clone of, used algorithms strong enough that a previous U.S. government determined them to be military strength and subjected them to a totally futile and rather laughable attempt at export control (something which Vice-President Biden presided over - see &lt;a href= &quot;http://www.theinquirer.net/inquirer/news/050/1040050/pgp-bloke-forgives-joe-biden&quot;&gt; PGP creator forgives Biden&lt;/a&gt;)." created="Fri, 23 Jan 2009 16:09:39 GMT"/><outline text="Just imagine. You turn on your TV for a message from President Obama, and he says something like: &quot;in the interest of national security, I have decided to use the GNU Privacy Guard on all my e-mails, and I humbly request citizens to adopt similar technology to provide for themselves the guarantees of liberty and freedom through code as the Bill of Rights attempts to provide through law. All e-mail communication from the U.S. federal government will be digitally signed. My public key is (whatever it is), and the keys of all the members of the cabinet are cross-signed.&quot;" created="Fri, 23 Jan 2009 16:09:39 GMT"/><outline text="Diffie and Hellman have solved this problem. There's no reason not to start using their solution in government. Perhaps the Obama administration could put an open source bounty out there for someone to port GPG to the BlackBerry." created="Fri, 23 Jan 2009 16:09:39 GMT"/></outline></body>
</opml>
