<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>notes from Ken</title>
	<atom:link href="http://www.notes.xythian.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.notes.xythian.net</link>
	<description>Links, technical notes, whatnot.</description>
	<lastBuildDate>Thu, 28 Jan 2010 03:09:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Banks and S/MIME (and other public key encrypted mail options)</title>
		<link>http://www.notes.xythian.net/2010/01/18/banks-and-smime-and-other-public-key-encrypted-mail-options/</link>
		<comments>http://www.notes.xythian.net/2010/01/18/banks-and-smime-and-other-public-key-encrypted-mail-options/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 14:13:11 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[Experience]]></category>
		<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://www.notes.xythian.net/?p=752</guid>
		<description><![CDATA[Many widely deployed mail client apps support S/MIME.  Banks worry about phishing and security since generally they are either liable for losses due to unauthorized online account access or act as though they are to encourage use of the online tools rather than expensive agents.
I really wish a bank supported me giving them a [...]]]></description>
			<content:encoded><![CDATA[<p>Many widely deployed mail client apps support S/MIME.  Banks worry about phishing and security since generally they are either liable for losses due to unauthorized online account access or act as though they are to encourage use of the online tools rather than expensive agents.</p>
<p>I really wish a bank supported me giving them a public cert to encrypt use for all communications to me &#8212; and published a public cert that I could use to validate all communications from them.</p>
<p>They all handle SSL in the browser and they all support some kind of email-based notifications.</p>
<p>Then, ideally, I could configure my mail client to binfile anything from their domain that isn&#8217;t signed with the right key and encrypted to me.</p>
<p>On the other hand, it may be dangerous to stop training people that clicking on a link in email is never a good idea.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.notes.xythian.net/2010/01/18/banks-and-smime-and-other-public-key-encrypted-mail-options/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Robustness Principal and internal APIs</title>
		<link>http://www.notes.xythian.net/2010/01/15/robustness/</link>
		<comments>http://www.notes.xythian.net/2010/01/15/robustness/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 04:48:40 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.notes.xythian.net/?p=749</guid>
		<description><![CDATA[RFC 761 section 1.2.2.

2.10. Robustness Principle
  TCP implementations should follow a general principle of robustness:
  be conservative in what you do, be liberal in what you accept from
  others.

RFC 1122 elaborates with section 1.2.2.:

  1.2.2  Robustness Principle
         At every layer of the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://tools.ietf.org/html/rfc761#section-1.2.2">RFC 761</a> section 1.2.2.</p>
<blockquote><p>
2.10. Robustness Principle</p>
<p>  TCP implementations should follow a general principle of robustness:<br />
  be conservative in what you do, be liberal in what you accept from<br />
  others.
</p></blockquote>
<p><a href="http://tools.ietf.org/html/rfc1122#section-1.2.2">RFC 1122</a> elaborates with section 1.2.2.:</p>
<blockquote><p>
  1.2.2  Robustness Principle</p>
<p>         At every layer of the protocols, there is a general rule whose<br />
         application can lead to enormous benefits in robustness and<br />
         interoperability [IP:1]:</p>
<p>                &#8220;Be liberal in what you accept, and<br />
                 conservative in what you send&#8221;</p>
<p>         Software should be written to deal with every conceivable<br />
         error, no matter how unlikely; sooner or later a packet will<br />
         come in with that particular combination of errors and<br />
         attributes, and unless the software is prepared, chaos can<br />
         ensue.<br />
[...]
</p></blockquote>
<p>For anything expected to inter-operate &#8220;in the wild&#8221; with other implementations of a given standard or API this approach is optimal as both competitive advantage (how successful would a browser that only accepted valid HTML have been in a world with Netscape 1.0?) and user experience (always working as best as possible increases the chance of something working).</p>
<p>However, when an API is internal to a component, department, or a company it might well be better for implementations to <b>reject fast</b> invalid or malformed requests with informative error messages rather than attempting to proceed.  </p>
<p>Within an organization the chances of integration testing catching an error before it affects user experience is much higher and failing immediately helps reduce the chances of future revisions of software needing to be &#8220;bug compatible&#8221; with easily avoided problems.  It&#8217;s not a competitive advantage to try to muddle along with bad input in a world where there are no competitors. The entire system is more robust if each side of every API is careful that they are producing only valid requests and responses.</p>
<p>For example, if a company has standardized on UTF-8 as a wire format for text it is probably best if all new implementations of services validate that their input is correct UTF-8 at every edge and refuse to process anything that is invalid.   Otherwise eventually some system is going to end up having to try and guess the correct encoding in order to proceed and serve valid data that came in an API that didn&#8217;t validate and has to go out an API that must be valid.</p>
<p>This only applies, of course, when both sides of an integration are new enough to be tested together but this applies to a lot of new development within an organization &#8212; a new capability is being added to an entire &#8220;stack&#8221; resulting in API revisions at each layer.</p>
<p>It&#8217;s dramatically easier to catch problems at the first opportunity and requiring the source of the incorrectness to correct it before proceeding than ending up years later with tons of special compatibility hacks where an API is versioned based on the different clients foibles rather than by design.</p>
<p>Internal APIs should be designed to be as easy as possible to use correctly &#8212; but once designed they should <b>only</b> work when used correctly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.notes.xythian.net/2010/01/15/robustness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thunderbird 3</title>
		<link>http://www.notes.xythian.net/2009/12/08/thunderbird-3/</link>
		<comments>http://www.notes.xythian.net/2009/12/08/thunderbird-3/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 07:55:37 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[Experience]]></category>

		<guid isPermaLink="false">http://www.notes.xythian.net/?p=277</guid>
		<description><![CDATA[Not perfect.
A clear improvement, however.  I particularly dig the new search.  Once I figured out I could configure the Archive function to put archives from all my accounts into my local Linux box&#8217;s IMAP server I also liked the new Archive function.   It nearly matches the system I maintained by hand [...]]]></description>
			<content:encoded><![CDATA[<p>Not perfect.</p>
<p>A clear improvement, however.  I particularly dig the new search.  Once I figured out I could configure the Archive function to put archives from all my accounts into my local Linux box&#8217;s IMAP server I also liked the new Archive function.   It nearly matches the system I maintained by hand anyway (manually periodically moving a bunch of mail into suitably named folders on my local Linux box).</p>
<p>Also nice is the &#8220;smart&#8221; Inbox &#8212; a feature I&#8217;ve liked in Mail.app and kind of missed in Thunderbird.</p>
<p>I&#8217;m not yet sure if I like the rest of the UI changes but I&#8217;m going to try them out for a bit before trying to reconfigure them back from whence they came.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.notes.xythian.net/2009/12/08/thunderbird-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cineform NeoScene, Adobe Premiere Pro CS4, 5D mark II, and Timecode.cpp</title>
		<link>http://www.notes.xythian.net/2009/11/19/cineform-neoscene-adobe-premiere-pro-cs4-5d-mark-ii-and-timecode-cpp/</link>
		<comments>http://www.notes.xythian.net/2009/11/19/cineform-neoscene-adobe-premiere-pro-cs4-5d-mark-ii-and-timecode-cpp/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 02:10:14 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[Experience]]></category>

		<guid isPermaLink="false">http://www.notes.xythian.net/?p=274</guid>
		<description><![CDATA[Suppose you&#8217;ve recorded some video with your Canon 5D mark II.  It is in a format that is annoying to edit using Adobe Premiere Pro CS4.
Suppose further that you have purchased Cineform Neoscene to transcode that video into a nice-to-edit format.
Further suppose that this workflow was working fine on your old Vista 64-bit machine.
Now, [...]]]></description>
			<content:encoded><![CDATA[<p>Suppose you&#8217;ve recorded some video with your Canon 5D mark II.  It is in a format that is annoying to edit using Adobe Premiere Pro CS4.</p>
<p>Suppose further that you have purchased Cineform Neoscene to transcode that video into a nice-to-edit format.</p>
<p>Further suppose that this workflow was working fine on your old Vista 64-bit machine.</p>
<p>Now, you&#8217;ve installed CS4, Cineform, and transcoded some video.  Then you import it into Adobe Premiere Pro CS4 and prepare to edit!</p>
<p>And PPro crashes.  With an error referring to Timecode.cpp.  Around line 930.</p>
<p>You are sad.  You scour the entire internet in tens of milliseconds and find several posts talking about crashes in that location, but they have nothing to do with importing files created by NeoScene.</p>
<p>You try to play the files in Windows Media Player and they do not crash but they also are not playing at the right speed.  Ah ha!  That does rather smell timecode related.</p>
<p>Cutting this story short, install Quicktime 7.  This workflow requires Quicktime to be installed or crazy broken things will happen.  The requirements page for NeoScene does not talk about needing Quicktime on Windows.</p>
<p>With Quicktime installed, you re-run NeoScene and birds burst into song.  Or rather, the output files are right and can play back in Quicktime and WMP.  They can also be imported into PPro without mysterious crashing.</p>
<p>The day is saved.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.notes.xythian.net/2009/11/19/cineform-neoscene-adobe-premiere-pro-cs4-5d-mark-ii-and-timecode-cpp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 7 might be cool if the upgrade worked</title>
		<link>http://www.notes.xythian.net/2009/10/24/windows-7-might-be-cool-if-the-install-worked/</link>
		<comments>http://www.notes.xythian.net/2009/10/24/windows-7-might-be-cool-if-the-install-worked/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 01:39:56 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[Experience]]></category>
		<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://www.notes.xythian.net/2009/10/24/windows-7-might-be-cool-if-the-install-worked/</guid>
		<description><![CDATA[I preordered Win7 Pro from Amazon.  I&#8217;ve been using 64-bit Vista for almost a year now and it&#8217;s been nice enough.
I decide to do a clean install.  The Windows 7 installer works great right up until it won&#8217;t accept the product key that came in the package.  The &#8220;Upgrade&#8221; Win7 cannot install [...]]]></description>
			<content:encoded><![CDATA[<p>I preordered Win7 Pro from Amazon.  I&#8217;ve been using 64-bit Vista for almost a year now and it&#8217;s been nice enough.</p>
<p>I decide to do a clean install.  The Windows 7 installer works great right up until it won&#8217;t accept the product key that came in the package.  The &#8220;Upgrade&#8221; Win7 cannot install to a clean disk and then take the Vista product key to satisfy the upgrade.    It&#8217;s not even clear how to get a clean install of Win7 now, since it seems the ONLY valid path is to have a copy of Vista installed already.  Furthermore, it puzzles me why Win7 Pro Upgrade can&#8217;t tell me this instead of offering to do a clean install and then failing 45 minutes in.</p>
<p>It does work with a clean, unactivated Vista install immediately followed by a Win7 Pro upgrade.  This was a needlessly frustrating introduction to Windows 7.</p>
<p>Once it is installed Win7 seems nice enough &#8212; an incremental upgrade from Vista.   It&#8217;s not at all clear why Microsoft decided to inconvenience such a small population of people.  The vast majority of users will get Win 7 with a new machine purchase.  Very few, relatively, will buy Win 7 as an upgrade, but those are exactly the users Microsoft can least afford to make frustrated.  These are the users most likely to be the people advising their friends and family about what to buy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.notes.xythian.net/2009/10/24/windows-7-might-be-cool-if-the-install-worked/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Credit card security</title>
		<link>http://www.notes.xythian.net/2009/09/13/credit-card-security/</link>
		<comments>http://www.notes.xythian.net/2009/09/13/credit-card-security/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 01:52:16 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[Experience]]></category>
		<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://www.notes.xythian.net/?p=266</guid>
		<description><![CDATA[I received a letter from &#8220;Network Solutions LLC&#8221; claiming they had a security breach and some transactions made via &#8220;a web merchant&#8221; &#8220;may&#8221; have been compromised on a particular date.   I only had one transaction with a &#8220;web merchant&#8221; on the date they list with that card.
I wonder if this letter is entirely [...]]]></description>
			<content:encoded><![CDATA[<p>I received a letter from &#8220;Network Solutions LLC&#8221; claiming they had a security breach and some transactions made via &#8220;a web merchant&#8221; &#8220;may&#8221; have been compromised on a particular date.   I only had one transaction with a &#8220;web merchant&#8221; on the date they list with that card.</p>
<p>I wonder if this letter is entirely legitimate since it seems pretty desperate to convince me to sign up for a &#8220;free credit monitoring&#8221; period &#8212; but that doesn&#8217;t seem like a useful response to a single card number being compromised.  Furthermore, I&#8217;d expect that the credit card issuer was also notified and their usual response to this kind of thing is &#8220;cancel all the cards and issue new ones&#8221; and that didn&#8217;t happen.  Though maybe they didn&#8217;t bother because that card had already expired by the time &#8220;Network Solutions LLC&#8221; reported the breach.</p>
<p>Nevertheless I&#8217;m looking over statements since that date more carefully than usual to see if there&#8217;s any fishy transactions.</p>
<p>It&#8217;s not the same card as the one a credit card provider recently replaced mysteriously due to &#8220;a security breach with a merchant&#8221; that they naturally didn&#8217;t explain.  <b>That</b> is the kind of behavior I expect from a bank.</p>
<p>I suspect that credit card companies aren&#8217;t interested in increasing the security of cards because paying for the fraud is cheaper than the lost sales due to lower convenience.  </p>
<p>Of course, every time I get a new card number I would have to go change the umpty-jillion places that have the card number for automatic billing if most of those places didn&#8217;t have single-merchant numbers.  This is a case where the issuer with the capability to issue single-merchant card numbers wins.  I&#8217;ll probably switch the rest of them over next time the card number from the company that doesn&#8217;t support single-merchant numbers gets compromised.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.notes.xythian.net/2009/09/13/credit-card-security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Audition 3, Windows Vista 64, and running as Administrator</title>
		<link>http://www.notes.xythian.net/2009/08/23/adobe-audition-3-windows-vista-64-and-running-as-administrator/</link>
		<comments>http://www.notes.xythian.net/2009/08/23/adobe-audition-3-windows-vista-64-and-running-as-administrator/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 00:27:17 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.notes.xythian.net/2009/08/23/adobe-audition-3-windows-vista-64-and-running-as-administrator/</guid>
		<description><![CDATA[Adobe Audition 3 (or at least the trial version) really wants to run as an administrator on Windows Vista 64-bit.  Several hours groveling through possible resolutions from the Internets (including searching Adobe support) to diagnose the &#8220;exit on startup with the modal dialog box &#8216;Adobe Audition cannot find any supported audio devices.  Check [...]]]></description>
			<content:encoded><![CDATA[<p>Adobe Audition 3 (or at least the trial version) really wants to run as an administrator on Windows Vista 64-bit.  Several hours groveling through possible resolutions from the Internets (including searching Adobe support) to diagnose the &#8220;exit on startup with the modal dialog box &#8216;Adobe Audition cannot find any supported audio devices.  Check your device settings.  [OK]&#8221; led to repeated failure.</p>
<p>Finally just before giving up and working on something else for a while, I try to run it as an admin on a whim.  It starts.  !!!</p>
<p>So I go and check &#8220;this program wants to run as an administrator&#8221; in the properties of the start menu shortcut.  Perhaps now it will actually work.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.notes.xythian.net/2009/08/23/adobe-audition-3-windows-vista-64-and-running-as-administrator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Asterisk (Still)</title>
		<link>http://www.notes.xythian.net/2009/08/20/asterisk-still/</link>
		<comments>http://www.notes.xythian.net/2009/08/20/asterisk-still/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 06:05:53 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.notes.xythian.net/2009/08/20/asterisk-still/</guid>
		<description><![CDATA[I finally disconnected the phone&#160; that was directly connected to the landline, which means Asterisk now decides when the phone rings at all and any voicemails get mailed to me as WAV files.&#160; This is much better.
I did have to tweak the voicemail settings so the WAV files were actually audible without turning the PC [...]]]></description>
			<content:encoded><![CDATA[<p>I finally disconnected the phone&#160; that was directly connected to the landline, which means Asterisk now decides when the phone rings at all and any voicemails get mailed to me as WAV files.&#160; This is much better.</p>
<p>I did have to tweak the voicemail settings so the WAV files were actually audible without turning the PC speakers waaay up.&#160; In /etc/asterisk/voicemail.conf, I set volgain to 8.0 (and installed sox).</p>
<p>Asterisk has “taken care of” 358 calls (callers with no CID or CID identifying them as toll free numbers) since I set it up early last month.&#160; They went straight to voice mail without ever ringing my phone.&#160; Very few of them left messages.</p>
<p>(Yes, I still plan to post something more descriptive with configs describing as much of my setup as seems reasonable.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.notes.xythian.net/2009/08/20/asterisk-still/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Asterisk, again</title>
		<link>http://www.notes.xythian.net/2009/07/03/asterisk-again/</link>
		<comments>http://www.notes.xythian.net/2009/07/03/asterisk-again/#comments</comments>
		<pubDate>Sat, 04 Jul 2009 05:18:34 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.notes.xythian.net/2009/07/03/asterisk-again/</guid>
		<description><![CDATA[I dragged out a Cisco (Linksys) SPA3102 and finally got around to setting up Asterisk at home.   The final motivation?  Easy &#8220;routing&#8221; of annoying (800&#124;866&#124;877&#124;etc&#124;no caller id) callers straight to voicemail.   
Despite being on all the &#8220;do not call&#8221; lists I still get too many (= some) unsolicited calls representing [...]]]></description>
			<content:encoded><![CDATA[<p>I dragged out a Cisco (Linksys) SPA3102 and finally got around to setting up Asterisk at home.   The final motivation?  Easy &#8220;routing&#8221; of annoying (800|866|877|etc|no caller id) callers straight to voicemail.   </p>
<p>Despite being on all the &#8220;do not call&#8221; lists I still get too many (= some) unsolicited calls representing entities rather than people I know.  My new crazy complicated answering machine can now route them straight to voicemail where they will not leave a message but also not ever ring my actual phone.</p>
<p>I don&#8217;t just blacklist them outright because once and a while one of those suspicious looking numbers is actually a call I want (&#8220;Dear Ken, Is it really you buying all this shiny?  &#8211;your credit card&#8221;) but all of those DO leave messages.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.notes.xythian.net/2009/07/03/asterisk-again/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Python and libyahoo2, take 2</title>
		<link>http://www.notes.xythian.net/2009/06/01/python-and-libyahoo2-take-2/</link>
		<comments>http://www.notes.xythian.net/2009/06/01/python-and-libyahoo2-take-2/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 04:48:08 +0000</pubDate>
		<dc:creator>Ken</dc:creator>
				<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.notes.xythian.net/?p=247</guid>
		<description><![CDATA[Last October I worked on a libyahoo2 binding using Pyrex and got it far enough along to discover the version of libyahoo2 I was using couldn&#8217;t log into YIM.
Several Ubuntu updates later I noticed libyahoo2 had been upgraded and, sure enough, this version worked.
I updated the Git repository mentioned in that post but it is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.notes.xythian.net/2008/10/27/pyrex-and-libyahoo2-or-not/">Last October</a> I worked on a libyahoo2 binding using Pyrex and got it far enough along to discover the version of libyahoo2 I was using couldn&#8217;t log into YIM.</p>
<p>Several Ubuntu updates later I noticed libyahoo2 had been upgraded and, sure enough, this version worked.</p>
<p>I updated the Git repository mentioned in that post but it is likely if I continue to work on it it will go to <a href="http://github.com/xythian/python-yahoo2/tree/master">python-yahoo2 on GitHub</a>.</p>
<p>Pyrex&#8217;s blindness where &#8220;const&#8221; is concerned is pretty annoying.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.notes.xythian.net/2009/06/01/python-and-libyahoo2-take-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
