<?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/"
	>

<channel>
	<title>Pants Full of Unix</title>
	<atom:link href="http://pantsfullofunix.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://pantsfullofunix.com</link>
	<description></description>
	<pubDate>Sun, 29 Jan 2012 03:27:17 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Facebook, I have some humble post-timeline dev project suggestions.</title>
		<link>http://pantsfullofunix.com/2012/01/facebook-i-have-some-humble-post-timeline-dev-project-suggestions/</link>
		<comments>http://pantsfullofunix.com/2012/01/facebook-i-have-some-humble-post-timeline-dev-project-suggestions/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 01:20:59 +0000</pubDate>
		<dc:creator>gr</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pantsfullofunix.com/?p=1079</guid>
		<description><![CDATA[There are a couple of current behaviors on the site that I believe you should address.
They are:

Currently, on the default feed page we all see when we log in, the DHTML has been progressively more auto-updating. There are some good reasons for this, and in general I support it, however, when I&#8217;ve got a text [...]]]></description>
			<content:encoded><![CDATA[<p>There are a couple of current behaviors on the site that I believe you should address.</p>
<p>They are:</p>
<ol>
<li>Currently, on the default feed page we all see when we log in, the DHTML has been progressively more auto-updating. There are some good reasons for this, and in general I support it, however, when I&#8217;ve got a text input field active the very last thing I want you to do is cause that text field to scroll off the bottom of my browser window, especially in the middle of my typing. Currently, that happens a couple of times a day.</li>
<li>Similarly, someone came up with the idea (about which I&#8217;m ambivalent, in the truest sense of the word) to slim down the comment entry fields. First, the comment button was removed, forcing us to all shift-return in order to enter line breaks rather than post the comment (which infuriated a lot of people, but that isn&#8217;t what I&#8217;m going to complain about here). Then the whole area was slimmed down by removing the thumbnail version of our profile picture to the left of the text entry box. So far, not really a problem.But: when I click in one of those boxes, then decide I don&#8217;t have a comment and continue scrolling, then find a hyperlink that I would like to click on, here&#8217;s what happens:
<ol type="a">
<li>I click where the hyperlink is;</li>
<li>the focus is removed from the text box where I had placed it previously;</li>
<li>that triggers the DHTML to unmap the thumbnail of my profile photo that it added when I clicked in the text box;</li>
<li>the page is pulled about 5 pixels either up or down to account for the change in size of the iframe containing the text box;</li>
<li>the mouse-down event that I had sent back in step a is finally delivered.</li>
</ol>
<p>What&#8217;s the problem here? Well, because of step d, my pointer is no longer above the hyperlink I clicked in step a. So the result is that a whole bunch of crap I don&#8217;t care about happens, but the one thing my gesture indicated I wanted to do (follow the hyperlink) does not.</li>
</ol>
<p>Here are my suggested resolutions:</p>
<ol>
<li>FUCKING KNOCK THAT SHIT OFF!
<p>This isn&#8217;t complicated: if a text-entry field is active, which the DHTML <strong>can</strong> query, hold off on the addition of new events until it isn&#8217;t. I know you&#8217;re all 23 years old, but think really hard to that CS 101 class you took 6 years ago. Remember semaphores? Fucking USE them.</li>
<li>FUCKING KNOCK THAT SHIT OFF!
<p>This one&#8217;s a bit trickier, but how about you don&#8217;t bother unmapping the thumbnail just because I clicked out of the text box? Even just clicking in/out/in a text box causes this, which makes the whole layout visually herky-jerky. Just queue those mapped thumbnails for the next time you feed in new events, making the whole page jump around anyway (about which, see item 1), and process them then. You remember &#8220;queues&#8221; right? That might not have come up until CS 201, but this is a pretty trivial linked-list implementation. Hell, it doesn&#8217;t even have to be a queue, it can be a stack: nobody cares what order you process them in.</li>
</ol>
<p>Yeah, sure, this&#8217;ll never happen, because Facebook engineers are of the Linux generation / CADT model (<a href="http://www.jwz.org/blog/2011/10/has-gnome-3-decided-that-people-shouldnt-want-screen-savers/">see</a> <a href="http://www.jwz.org/doc/cadt.html">also</a>, for wise words on the &#8220;fixing bugs isn&#8217;t fun, let&#8217;s rewrite from scratch&#8221; attitude employed by these bottom-feeders), but it&#8217;s good to want things.</p>
]]></content:encoded>
			<wfw:commentRss>http://pantsfullofunix.com/2012/01/facebook-i-have-some-humble-post-timeline-dev-project-suggestions/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Listen, pig-fuckers. + is a valid character in the local-part of an email address.</title>
		<link>http://pantsfullofunix.com/2011/11/listen-pig-fuckers-is-a-valid-character-in-the-local-part-of-an-email-address/</link>
		<comments>http://pantsfullofunix.com/2011/11/listen-pig-fuckers-is-a-valid-character-in-the-local-part-of-an-email-address/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 23:35:29 +0000</pubDate>
		<dc:creator>gr</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pantsfullofunix.com/?p=1073</guid>
		<description><![CDATA[I&#8217;m beyond fed up with this shit:
If you&#8217;re involved with OpenOffice.org, this is why I haven&#8217;t registered your product, even though I recognize that doing so would benefit you by demonstrating the volume of users. I put up with this horse hockey for registrations for something I actually need, but I don&#8217;t need to register [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m beyond fed up with this shit:</p>
<div id="attachment_1068" class="wp-caption alignnone" style="width: 566px"><img class="size-full wp-image-1068" title="Oracle Registration violates RFC 5321" src="http://pantsfullofunix.com/wp-content/uploads/2011/11/screen-shot-2011-11-18-at-172338.png" alt="Oracle Registration violates RFC 5321" width="556" height="455" /><p class="wp-caption-text">Oracle Registration violates RFC 5321</p></div>
<p>If you&#8217;re involved with <a href="http://www.openoffice.org/">OpenOffice.org</a>, this is why I haven&#8217;t registered your product, even though I recognize that doing so would benefit you by demonstrating the volume of users. I put up with this horse hockey for registrations for something I actually need, but I don&#8217;t need to register an Oracle web account: you need me to. So get this fixed or fuck off.</p>
<p>And, just to be clear, <a href="http://tools.ietf.org/html/rfc5321#section-2.3.11">RFC 5321 §2.3.11</a> clearly states:</p>
<blockquote><p>The standard mailbox naming convention is defined to be &#8220;local-part@domain&#8221;; contemporary usage permits a much broader set of applications than simple &#8220;user names&#8221;.  Consequently, and due to a long history of problems when intermediate hosts have attempted to optimize transport by modifying them, the local-part MUST be interpreted and assigned semantics only by the host specified in the domain part of the address.</p></blockquote>
<p>By &#8220;intermediate hosts&#8221; we <b>mean you</b>, web form &#8220;developers&#8221;.</p>
<p>Knock it the fuck off!</p>
]]></content:encoded>
			<wfw:commentRss>http://pantsfullofunix.com/2011/11/listen-pig-fuckers-is-a-valid-character-in-the-local-part-of-an-email-address/feed/</wfw:commentRss>
		</item>
		<item>
		<title>NetBackup Storage Lifecycle Policies and why you should use them</title>
		<link>http://pantsfullofunix.com/2011/11/netbackup-storage-lifecycle-policies-and-why-you-should-use-them/</link>
		<comments>http://pantsfullofunix.com/2011/11/netbackup-storage-lifecycle-policies-and-why-you-should-use-them/#comments</comments>
		<pubDate>Thu, 03 Nov 2011 14:40:55 +0000</pubDate>
		<dc:creator>gr</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[netbackup]]></category>

		<guid isPermaLink="false">http://pantsfullofunix.com/?p=1055</guid>
		<description><![CDATA[Recently, I was asked to provide the justification for moving an existing NetBackup environment from performing duplication jobs within Vault to performing them with Storage Lifecycle Policies (newly available with NetBackup 6.5, which is already rather dated). These are also the reasons that you should use SLPs for duplication in any new environment. Please, never, [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I was asked to provide the justification for moving an existing NetBackup environment from performing duplication jobs within Vault to performing them with Storage Lifecycle Policies (newly available with NetBackup 6.5, which is already rather dated). These are also the reasons that you should use SLPs for duplication in any new environment. Please, never, ever configure duplication in Vault again. If you hire me (directly or through my employer) to come fix your NetBackup environment, this <strong>will</strong> be in my top 5 recommendations, right up there with &#8220;write to disk first&#8221;, &#8220;use MPX if you must write to tape&#8221;, &#8220;use multistreaming always&#8221;, and &#8220;increase media server bandwidth, reduce client backup network bandwidth&#8221;.</p>
<p>Before Storage Lifecycle Policies (SLPs), the only way to automate duplication of backup images in NetBackup was the duplication step of a Vault profile. While that does function, it was only ever clumsy at best. In the old (pre 6.5) NBU environment, there were two logical constructs, controlling the who/what/where/when/how of backup images through their lifetime. These were:</p>
<p>Backup Policy
<ul>
<li>who - which clients to back up</li>
<li>what - which files to back up</li>
<li>where - storage location for FIRST* copy of the backup</li>
<li>when - backup start windows but, more importantly here, how long to keep that first image copy</li>
<li>how - details about client communication/snapshots/so forth</li>
</ul>
<p>Vault Profile duplication
<ul>
<li>who &amp; what - which backup images to work on (including for duplication)
<ul>
<li>limitation: vault must be constrained to only look for backups whose primary copy was written between the last N days ago and M hours ago</li>
</ul>
</li>
<li>where - storage location for SECOND copy of the backup</li>
<li>when - how long to keep the duplicated copies</li>
</ul>
<p>* &#8230; unless inline tape copy is in use. But nobody actually uses ITC.</p>
<p>And then Vault also does things like catalog backups and ejecting tapes to go off-site, but it does those things well, so I&#8217;m not considering them here.</p>
<p>SLPs are inserted as a configuration tier between the above two tiers, allowing one to specify in a single place how a given set of backup images are treated throughout their entire life time, including all copies of the image, regardless of logical or geographical location. In a post-6.5 world, with SLPs in use, the sections look like this:</p>
<p>Backup Policy
<ul>
<li>who - which clients to back up</li>
<li>what - which files to back up</li>
<li>where - explicit reference to an SLP</li>
<li>when - backup start windows only (retention managed by SLP)</li>
<li>how - details about client communication/snapshots/so forth</li>
</ul>
<p>Storage Lifecycle Policy
<ul>
<li>where - list of all copies that will be created for a given backup image whose policy/schedule targets this SLP
<ul>
<li>permits hierarchical definitions (duplication Y should come from backup image X, duplication Z should come from duped image Y is a common use)</li>
</ul>
</li>
<li>when - retention period for each hierarchical tier</li>
</ul>
<p>Vault Profile duplication
<ul>
<li>responsible only for catalog backups and tape ejects</li>
</ul>
<p>So, what SLPs buy us is a single location (or just a couple of locations; most environments end up needing more than two, fewer than five) to manage where all copies of a backup image are kept and how long they&#8217;re kept. This fixes two major flaws in the old method:</p>
<ol type="1">
<li>Should business policy change and retention periods change, in the old model, every single backup policy would have to be changed. In the new model, only the SLPs need to be modified.</li>
<li>In the old model, if backup images aren&#8217;t successfully duplicated before they age out beyond Vault&#8217;s look-back window, they will never be duplicated unless the vault profile is modified and a one-off job run, which is precisely the tangle that Guy&#8217;s in now. In the new model, the SLP engine will begin attempting to duplicate backup images as soon as the first copy is successfully written and will not give up on a given image unless explicitly told to do so; Vault&#8217;s only job is ejecting the tapes that the SLP duplications produce.</li>
</ol>
<p>So, there you have it. Go forth, shun Vault duplications, and sin no more.</p>
]]></content:encoded>
			<wfw:commentRss>http://pantsfullofunix.com/2011/11/netbackup-storage-lifecycle-policies-and-why-you-should-use-them/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The top-posting rant, without once using &#8220;top-posting&#8221;.</title>
		<link>http://pantsfullofunix.com/2011/08/the-top-posting-rant-without-once-using-top-posting/</link>
		<comments>http://pantsfullofunix.com/2011/08/the-top-posting-rant-without-once-using-top-posting/#comments</comments>
		<pubDate>Sat, 20 Aug 2011 23:34:00 +0000</pubDate>
		<dc:creator>gr</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pantsfullofunix.com/?p=1029</guid>
		<description><![CDATA[Today, in regular email conversation (on several unrelated topics), a very good friend (left anonymous unless they ask differently, but I can&#8217;t imagine why they&#8217;d care, as they&#8217;ve several blogs that are better-read than mine) expressed frustration with their webmail provider (which I&#8217;ll just leave nameless here, less because of privacy or respect than because [...]]]></description>
			<content:encoded><![CDATA[<p>Today, in regular email conversation (on several unrelated topics), a very good friend (left anonymous unless they ask differently, but I can&#8217;t imagine why they&#8217;d care, as they&#8217;ve several blogs that are better-read than mine) expressed frustration with their webmail provider (which I&#8217;ll just leave nameless here, less because of privacy or respect than because ALL ARE GUILTY). This frustration triggered a knee-jerk response for me about the ways in which computer software sucks&#8230; definitely a top-five knee-jerk response on that topic, although I&#8217;ve never enumerated that list, even for myself. There may be another post in that.</p>
<p>Anyhow, a portion of my response to them, edited only mildly (mostly to fill in a detail here or there that anyone who knows me in person, such as the recipient, already knows; also to make efficient use of HTTP for footnotes, because I don&#8217;t strictly hate the format, just its misuse, the deeper humor of which you may appreciate shortly) follows.</p>
<p>At 2011-08-20 14:19 -0700, [REDACTED] wrote:<br />
&gt;    You know, my Email doesn&#8217;t do that<br />
&gt;    &gt;<br />
&gt;    &gt;<br />
&gt;    &gt;<br />
&gt;    thing anymore, which is inconvenient, because I do like to respond to Emails in chunks.</p>
<p>OH BOY have you touched a nerve with me there. None of the following is directed at you, so you can skip it entirely, but if you&#8217;re curious&#8230;</p>
<p>Once upon an apparently more gentle and simple time on the Internet, before, if you can believe this, the hyper-text transfer protocol (HTTP) and, thus, the world-wide web, we all just sent email as plain, goddamn text<a name="backfn1" href="#fn1">[1]</a>. In order to reference material that someone else had sent, there was a de-facto standard of progressive indentation with a single character (and, for readability, a space), and a single quote line (often repeated on later quotation for simplicity) so that the conversation read like a mother-fucking conversation, should it be referred to later or any third party brought into the conversation. And the world was Good.</p>
<p>Then, along came the web, graphics, HTML email and, especially, Microsoft Outlook<a name="backfn2" href="#fn2">[2]</a>. For reasons I&#8217;ll never, ever understand (it was simpler to code it that way? Maybe? But even that doesn&#8217;t make sense) the default behavior in Outlook (and, in fairness, Lotus Notes, which is a really great application environment with a really terrible mail reader UI) was to quote the entire previous email thread, including all kinds of crap that was no longer relevant, and put the user&#8217;s insertion cursor, upon reply, at the very *top*.</p>
<p>That simple decision had two major, I have to believe, unforseen implications, both of which I find to be undesirable.  You see, people in a hurry just replied where the cursor landed.  While that&#8217;s an understandable impulse (and even one that makes sense: quick messages should just be quick messages, skip the editing), there are two significant side effects.</p>
<p>First, in order to review the full conversation in context, the *reader* must scroll all the way to the bottom and then read not precisely upwards but down, then up, then down in spurts which are a stupid waste of time.</p>
<p>Second, *all* of the messaging history is retained, not just the parts that remain relevant to the continuing conversation, which is just a waste of message transfer resources (in the modern day, this is statistically irrelevant as compared with unsolicited commercial email, but the fact that your neighbors throw all of their refuse out the window onto the street is not a justification for you to litter).</p>
<p>Part of the reason that this *really* chaps my hide is that back at my first job out of college, back when I actually thought it was worth my while to swim upstream against the significant torrent and install an operating system other than Windows on the computer I used day-to-day for work on the basis that it&#8217;d make me slightly more efficient at my job, I was happily emailing away when my boss&#8217;s boss, the CTO, upbraided me (for bonus points, through a co-worker, my peer) for not adhering to the &#8220;quote fucking everything&#8221; format. His basis for this was that he, an adult male working in the IT industry at least since 1990, had grown used to the ass-backwards way Microsoft thought he should read email, and trying to read my emails (in which I quoted ONLY the relevant portions of emails, in an effort to *save* the reader time) irritated him. There were a lot of reasons I got fired from that job, but that&#8217;s definitely one of them. (In the end, my solution was to quote everything attached to the end of my edited-for-reading email, and I never heard anything more about it, but I&#8217;m pretty sure he caught my implied bird as flown.)</p>
<p>Now (as in &#8220;these days&#8221;, not just a convenient linguistic interjection), not only does Outlook work this way: Apple&#8217;s Mail.app works this way; Lotus Notes (for the forlorn few who still maintain it) works this way; Yahoo mail works this way; the insanely-popular-in-German-speaking-nations GMX.net works this way; inumerable web-based mail readers work this way; G-fucking-Mail works this way.</p>
<p>I&#8217;ve lost this fight, and I know it, but there are certain offenses up with which I will not put.</p>
<p>How is my mail reader different? My mail reader is <a href="http://www.mutt.org/">Mutt</a>. It is entirely text-based, and it runs only in a text-based interface (I believe that there&#8217;s a version that runs under Windows in the command terminal, but I wouldn&#8217;t know, since I no longer swim against that particular stream, so I just use Outlook for work, although I do use Mutt, through a screen(1)-maintained SSH session, in Terminal.app, on my home computer; you know, rather than using Mail.app). The interface to move through messages is obtuse if you&#8217;re used to pointy-clicking everything (although, if you enable keyboard shortcuts, gmail actually uses the same ones that Mutt does), but it&#8217;s familiar and efficient to me (you may recall, if you know me, that I generally advise people to keep using whatever computer interface they&#8217;re used to using), and you, my reader, don&#8217;t have to give a shit about that&#8230; because the messages that it produces are FUCKING LEGIBLE. Should I like to read email from an outside mail provider (rather than the mail server I take care of myself), I can do that, because I can use extablished protocols (IMAP and POP) to retrieve those messages and another (SMTP) to send messages back to it.</p>
<p>More relevantly, Mutt quotes the entirety of the message to which I&#8217;m responding, noting from whom it&#8217;s quoting that message in a single line at the top, indenting the quoted material with &#8220;> &#8221; on each line. It puts my editing cursor at the top of that file to add my response&#8230; which line begins, &#8220;At 20&#8230;&#8221;. And then I insert my responses, in context, as appropriate, and elide the portions of the message to which I&#8217;m responding that are no longer relevant. Except for that one ex-boss, I haven&#8217;t had any complaints.</p>
<p>So&#8230; if your mail reader is not working for you, perhaps it&#8217;s time to consider a change? I&#8217;m not suggesting you install Linux on that Windows laptop, not even that you buy a Mac, but you really aren&#8217;t locked into what they think is a good idea. Given that they&#8217;re giving you the service for free, you probably can&#8217;t force them to change back as a customer, but you maybe don&#8217;t even have to change email addresses to do it. Just a thought.</p>
<p><a name="fn1" href="#backfn1">[1]</a> We also posted to a shared-resource &#8220;news&#8221; protocol, called Usenet using the Network News Transfer Protocol (NNTP), using whatever software we chose to use, rather than posting to isolated and radically different web forums and blogs using whatever crackpot webform whoever owns the server where it&#8217;s running decided was a good idea. But that&#8217;s a whole separate rant.</p>
<p><a name="fn2" href="#backfn2">[2]</a> Actually, not Microsoft, but NeXT, the short-lived computer company Steve Jobs left Apple in a huff to found in the early 1980s, was the first primary offender here, but NeXT users were also Unix people, and they generally eschewed the crappy email format, so MS is really to blame for forcing this crap on the world. Also, NeXT failed, and NeXTStep, the OS they built, became Mac OS X, after Apple bought the scraps, after Steve went back. NeXTMail is, thankfully, totally dead, not that Apple&#8217;s Mail.app mail reader is all that great, really. But, again, that&#8217;s a separate rant.</p>
]]></content:encoded>
			<wfw:commentRss>http://pantsfullofunix.com/2011/08/the-top-posting-rant-without-once-using-top-posting/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Stamps.com: the new AOL</title>
		<link>http://pantsfullofunix.com/2010/10/stampscom-the-new-aol/</link>
		<comments>http://pantsfullofunix.com/2010/10/stampscom-the-new-aol/#comments</comments>
		<pubDate>Sat, 23 Oct 2010 22:08:13 +0000</pubDate>
		<dc:creator>gr</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pantsfullofunix.com/?p=1023</guid>
		<description><![CDATA[Oh good grief. Why would anybody ever think it was a good idea to start doing this again?

Okay, let&#8217;s see here:
[0] % ls /Volumes/873-SDM-CD001
AUTORUN.INF                   browser_printPackages.exe
STAMPS.ico                    browser_printPackages.opt
browser_getStarted.exe        browser_printStamps.exe
browser_getStarted.opt        browser_printStamps.opt
browser_learnMore.exe         demo.swf
browser_learnMore.opt         setup.exe
browser_printEnvelopes.exe    stamps.exe
browser_printEnvelopes.opt
[0] % diskutil list disk2s0
/dev/disk2
#:                     [...]]]></description>
			<content:encoded><![CDATA[<p>Oh good grief. Why would anybody ever think it was a good idea to start doing this again?</p>
<p style="text-align: center;">
<div id="attachment_1024" class="wp-caption aligncenter" style="width: 235px"><img class="size-medium wp-image-1024 " title="Stamps.com's Physical Spam" src="http://pantsfullofunix.com/wp-content/uploads/2010/10/img_0092-225x300.jpg" alt="Stamps.com's Physical Spam" width="225" height="300" /><p class="wp-caption-text">Stamps.com&#39;s Physical Spam</p></div>
<p style="text-align: left;"><span>Okay, let&#8217;s see here:</span></p>
<pre>[0] % ls /Volumes/873-SDM-CD001
AUTORUN.INF                   browser_printPackages.exe
STAMPS.ico                    browser_printPackages.opt
browser_getStarted.exe        browser_printStamps.exe
browser_getStarted.opt        browser_printStamps.opt
browser_learnMore.exe         demo.swf
browser_learnMore.opt         setup.exe
browser_printEnvelopes.exe    stamps.exe
browser_printEnvelopes.opt
[0] % diskutil list disk2s0
/dev/disk2
#:                       TYPE NAME                    SIZE       IDENTIFIER
0:        CD_partition_scheme                        *39.0 Mi    disk2
1:       CD_ROM_Mode_2_Form_1 873-SDM-CD001           32.6 Mi    disk2s0</pre>
<p style="text-align: left;"><span><span class="text_exposed_show"> So,  stamps.com spent 19 cents to create 1.125 oz of trash, only 0.675 oz (the  cardboard) of which is recyclable to get 32.6 MB of data to me&#8230; that I  can&#8217;t use anyway, because it&#8217;s Windows-only. Super fail.</span></span></p>
<p style="text-align: left;"><span>Incidentally, measured those weights using my perfectly functional analog kitchen scale, without the need either for digital readout, let alone USB connectivity.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://pantsfullofunix.com/2010/10/stampscom-the-new-aol/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SecurAssist.com found to be risky, if not harmful. Also: PCI DSS</title>
		<link>http://pantsfullofunix.com/2010/09/securassistcom-found-to-be-risky-if-not-harmful-also-pci-dss/</link>
		<comments>http://pantsfullofunix.com/2010/09/securassistcom-found-to-be-risky-if-not-harmful-also-pci-dss/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 14:33:46 +0000</pubDate>
		<dc:creator>gr</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[PCI DSS]]></category>

		<category><![CDATA[security]]></category>

		<category><![CDATA[splunk]]></category>

		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://pantsfullofunix.com/?p=1016</guid>
		<description><![CDATA[It&#8217;s not impossible that I&#8217;m paranoid, but my employer&#8217;s life insurance company is now offering &#8220;Identity Theft Protection&#8221; through SecurAssist, a feature of which is that I can plug &#8220;up to 10&#8243; credit card numbers into their website, which they will then search for across &#8220;underground chat rooms where thieves sell and trade stolen personal [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s not impossible that I&#8217;m paranoid, but my employer&#8217;s life insurance company is now offering &#8220;Identity Theft Protection&#8221; through <a href="http://www.securassist.com/">SecurAssist</a>, a feature of which is that I can plug &#8220;up to 10&#8243; credit card numbers into their website, which they will then search for across &#8220;underground chat rooms where thieves sell and trade stolen personal information&#8221;.</p>
<p>This leads to the question: whence were those credit cards often stolen? Right, from businesses who did store customers&#8217; credit card numbers and did not maintain security sufficiently. So, sure, I&#8217;ll totally put all of my credit cards in the same place: that sounds like a great idea!</p>
<p>Incidentally, a component of my job right now is to set up software on top of <a href="http://www.splunk.com/">Splunk</a> to help companies that do store credit cards (and other personal consumer information) demonstrate compliance with the <a href="https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml">PCI DSS Standard</a>. No part of the current state of affairs makes me happy:</p>
<ol>
<li>The standard is not written very well. There are obvious gaps and, as with SOX and HIPAA before it, expectations made of technology that are simply unrealistic, if not functionally impossible to implement algorithmically. (My favorite easy-to-grasp example of this kind of flawed thinking remains an off-handed item in HIPAA: in theory, you are required to destroy all records of a deceased party <strong>exactly</strong> two years after their date of death, including all backups of that data. Yes, really.)</li>
<li>Comprehension of the standard is worse than SOX and HIPAA, in several ways.
<ul>
<li>It is up to a given business, in cooperation with their auditor, to determine which of their systems fall into the several categories defined in the standard (PCI scope, systems that transfer consumer information and CCNs; cardholder, systems that store not just consumer information but actual CCNs; everything else). The standard presumes that it defines these classes clearly, but it is demonstrably not clear enough, given that ostensibly similar businesses have made different determinations about which systems fall where.</li>
<li>Different auditors demand disparate degrees of compliance with the standard and ding businesses for various miniscule details while, apparently (based on a game of telephone, of course: I just know what our customers tell me their auditors are demanding of them) disregarding whole swaths of the other requirements. The first part is theoretically okay (on the principle that a business is moving into compliance, but acknowledges that they aren&#8217;t there yet), but the second part is absurd: if the various private auditors are not holding all businesses to the same set of rules, then it&#8217;s not a &#8220;standard&#8221;.</li>
</ul>
</li>
<li>Compliance with the standard is awful. (Before you panic, see also point 4.) The software I work with <em>can</em> help businesses comply, but because it is necessary to ensure that log data from all systems within PCI scope go into Splunk, and necessary to understand the inner workings of Splunk fairly well to know whether &#8220;no results&#8221; for a given dashboard (specific to a PCI DSS Requirement) means &#8220;no violations&#8221; or &#8220;something changed and the data&#8217;s not coming in properly&#8221;. I&#8217;m less than confident that some of the customers I&#8217;ve worked with will actually maintain this well, which doesn&#8217;t need to be a judgment of those with whom I&#8217;ve worked: it&#8217;s often just the rate of turnover at the customer.</li>
<li>Actual data security is very mixed. Some customers are doing better than the PCI DSS Standard would require them to do (and, in some cases, actually need to compromise their security standards just to make use of the software I set up with them), some are positively atrocious (minor nit: it&#8217;s 2010, people; if you&#8217;re even still cutting backups to tape, you simply have no excuse for lacking encryption). For obvious reasons, I won&#8217;t mention any names here, but if you know me personally and you&#8217;re considering giving your credit card to a business for recurring payments on anything (like, say, your phone bill), maybe you should run it past me first.</li>
</ol>
<p>Well. That one kinda got away from me&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://pantsfullofunix.com/2010/09/securassistcom-found-to-be-risky-if-not-harmful-also-pci-dss/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Anybody else notice broken saved state across the iOS 4.0.x to 4.1 update?</title>
		<link>http://pantsfullofunix.com/2010/09/anybody-else-notice-broken-saved-state-across-the-ios-40x-to-41-update/</link>
		<comments>http://pantsfullofunix.com/2010/09/anybody-else-notice-broken-saved-state-across-the-ios-40x-to-41-update/#comments</comments>
		<pubDate>Mon, 13 Sep 2010 23:51:46 +0000</pubDate>
		<dc:creator>gr</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pantsfullofunix.com/2010/09/anybody-else-notice-broken-saved-state-across-the-ios-40x-to-41-update/</guid>
		<description><![CDATA[I applied the 4.1 update yesterday, and I found that many apps that were in the &#8220;background&#8221; (essentially, saved memory state) were hung the next time I switched to them. Stopping and starting the app fixed it no problem, but it happened at least with Facebook and Apple&#8217;s iTunes Remote.
I guess a shared lib was [...]]]></description>
			<content:encoded><![CDATA[<p>I applied the 4.1 update yesterday, and I found that many apps that were in the &#8220;background&#8221; (essentially, saved memory state) were hung the next time I switched to them. Stopping and starting the app fixed it no problem, but it happened at least with Facebook and Apple&#8217;s iTunes Remote.</p>
<p>I guess a shared lib was swapped out under them?</p>
]]></content:encoded>
			<wfw:commentRss>http://pantsfullofunix.com/2010/09/anybody-else-notice-broken-saved-state-across-the-ios-40x-to-41-update/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Changing a NetBackup 6+ master server name</title>
		<link>http://pantsfullofunix.com/2010/07/changing-a-netbackup-6-master-server-name/</link>
		<comments>http://pantsfullofunix.com/2010/07/changing-a-netbackup-6-master-server-name/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 04:53:21 +0000</pubDate>
		<dc:creator>gr</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pantsfullofunix.com/?p=1007</guid>
		<description><![CDATA[In contrast with Symantas&#8217;s recommendation, this is entirely possible without paying their managed services (which are a bit short of staff at the moment, so you may end up with someone from my current employer if you ask for that anyway), but it is kind of a pain in the ass.
I&#8217;m in the process (this [...]]]></description>
			<content:encoded><![CDATA[<p>In contrast with <a href="http://seer.entsupport.symantec.com/docs/268696.htm">Symantas&#8217;s recommendation</a>, this is entirely possible without paying their managed services (which are a bit short of staff at the moment, so you may end up with someone from my current employer if you ask for that anyway), but it is kind of a pain in the ass.</p>
<p>I&#8217;m in the process (this is the first step) of writing up a white paper on this, so this is very much the DIY version. I make no guarantees: don&#8217;t be stupid. Take a catalog backup before you start on any of this, don&#8217;t permit any backups to run until you&#8217;re sure the system is functional again (bppllist -allpolicies | awk [details elided, as I'm not on an active NBU system at the moment] to note the active policies, then deactivate them all before you start), so forth.</p>
<p>This is tested, through some serious trial and error, in the migration of a 6.0MP7 environment, running on Windows 2003sp2 ia32, to a replacement master server, on Windows 2003sp2 x64, subsequently upgraded to 6.5.6. This is a process, not a magical bullet script that you can go run. Do not even dream of doing this if you don&#8217;t understand what all the commands listed here do without my explanation.</p>
<p>I&#8217;m also going to go ahead and just post a transcription of my notes, which I do intend to come back and wrap words around later (since I plan to write this up, at least for internal consumption at my employer), but at least this&#8217;ll be something if it takes me a while to come back to it.</p>
<ul>
<li>dump to files bppllist for all policies, bpstulist for all STUs, nbstl for all SLPs, so forth on the old master before you start; it&#8217;ll make rebuilding shorter (and you will need to rebuild; policies go across, but STUs will need to be rebuilt, and if you do the wrong thing at the wrong time, you&#8217;ll cause a policy to forget what STU / SLP it used to use)</li>
<li>fresh 6.0MP7 on new master (nbmaster) and migration media server (nbmedia4)</li>
<li>add nbmedia4 to old env</li>
<li>configure DSU</li>
<li>catalog backup to DSU</li>
<li>nbemmcmd -deletehost -machinetype media -machinename nbmedia4</li>
<li>remove nbmedia4 from SERVERs</li>
<li>shut down svcs on nbmedia4</li>
<li>add new master and swap in as master in BAR</li>
<li>regedit to remove old master and replace new master in EMMSERVER
<ul>
<li>HKLM\SOFTWARE\VERITAS\NetBackup\CurrentVersion\Config</li>
</ul>
</li>
<li>start svcs on nbmedia4</li>
<li>add nbmedia4 as a media server on nbmaster</li>
<li>add DSU STU for nbmedia4 on nbmaster referencing same directory</li>
<li>copy catalog BU file across to nbmaster (either straight from netbackup/db/images/&lt;old master&gt;/&lt;date spec&gt;/&#8230; or because you had the common sense to configure the DR tab in the catalog backup policy config)</li>
<li>run the catalog backup recovery wizard (GUI or bprecover -wizard), referencing that file</li>
<li>push nbmaster as a server to all media servers and clients through the old master while that&#8217;s running</li>
<li>after catalog restore completes, on each media server:
<ul>
<li>stop svcs (netbackup stop / bpdown -f -v)</li>
<li>swap nbmaster in as the master and EMMSERVER (either bp.conf or regedit; remember to double-check vm.conf, regardless of OS, for stray references to the old master)</li>
<li>start svcs (netbackup start / bpup -f -v)</li>
</ul>
</li>
<li>at this point, master will start, but be inconsistent
<ul>
<li>nbemmcmd -listhosts will show all media servers</li>
<li>nbemmcmd -getemmserver will only show nbmaster and nbmedia4 as being &#8220;in domain&#8221;</li>
</ul>
</li>
<li>preferably, upgrade nbmaster to 6.5.3 or later here (or the second substep in the next step is way more time-intensive/scripted)</li>
<li>for each media server, running commands on nbmaster:
<ul>
<li>bpmedialist -mlist -l -h &lt;media server&gt;</li>
<li>bpmedia -movedb -allvolumes -newserver nbmaster -oldserver &lt;media server&gt;
<ul>
<li>(-allvolumes is a 6.5.x addition; you can just loop around the output from the bpmedialist, and you&#8217;ll have to do that to put the media DB entries back on the media server where they came from, but&#8230;)</li>
</ul>
</li>
<li>nbemmcmd -deletehost -machinetype media -machinename &lt;media server&gt;</li>
<li>nbemmcmd -addhost -machinetype media -masterserver nbmaster -netbackupversion 6 [or 6.5, or whatever; untested below 6.0MP5] -operatingsystem &lt;whatever&gt; -machinename &lt;media server&gt;</li>
</ul>
</li>
<li>at this point, the media servers should be back, but their devices won&#8217;t show up and their STUs, while still present, won&#8217;t work (and if you start poking at them, you&#8217;ll break them entirely)</li>
<li>redo device config (through the GUI wizard or through tpconfig, whatever grabs ya)</li>
<li>bpstulist at this point should claim that there are no STUs configured, but the GUI should still show them (because it&#8217;s picking them up from the policy config, but it doesn&#8217;t know what goes in them)</li>
<li>for each STU configured on the old master:
<ul>
<li>bpstudel</li>
<li>bpstuadd (with the appropriate config)</li>
</ul>
</li>
<li>go back and loop bpmedia -movedb around your output from bpmedialist to put the various media DB entries back to referencing the media servers that created them, rather than nbmaster</li>
<li>TEST!!! with new policies</li>
<li>activate your old polices, strategically testing as you go</li>
<li>if you run into 23/24/25 errors, then you&#8217;ve got your new master in a different DNS zone than your old one, or DNS was broken on some of your old media servers and clients, and you either weren&#8217;t noticing or had forgotten /etc/hosts entries you&#8217;d made&#8230; this is an excellent time to atone for that sin, for which proper use of bpclntcmd -pn is your friend</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://pantsfullofunix.com/2010/07/changing-a-netbackup-6-master-server-name/feed/</wfw:commentRss>
		</item>
		<item>
		<title>This bloat is recommended for all users.</title>
		<link>http://pantsfullofunix.com/2009/08/this-bloat-is-recommended-for-all-users/</link>
		<comments>http://pantsfullofunix.com/2009/08/this-bloat-is-recommended-for-all-users/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 13:16:09 +0000</pubDate>
		<dc:creator>gr</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pantsfullofunix.com/?p=1001</guid>
		<description><![CDATA[Apple would like me to update iPhoto (thankfully, not requiring a reboot, which updating their web browser does&#8230; because they want to be more like Microsoft, I guess). Here&#8217;s what I&#8217;ll get for it:
This update adds several new print product options to iPhoto ’09:

Hardcover books can now be ordered in a new extra-large (13ʺx10ʺ) size
Includes [...]]]></description>
			<content:encoded><![CDATA[<p>Apple would like me to update iPhoto (thankfully, not requiring a reboot, which updating their web browser does&#8230; because they want to be more like Microsoft, I guess). Here&#8217;s what I&#8217;ll get for it:</p>
<blockquote><p>This update adds several new print product options to iPhoto ’09:</p>
<ul>
<li>Hardcover books can now be ordered in a new extra-large (13ʺx10ʺ) size</li>
<li>Includes three new book themes with travel-oriented designs: Tropical, Asian, Old World</li>
<li>A variety of new holiday greeting cards themes are now available</li>
</ul>
<p>The update is recommended for all users of iPhoto ’09.</p></blockquote>
<p>Really guys? You&#8217;re pushing a software update that will store extra binary data (161 MBs!) on my computer for a feature I will personally never use that includes content that you could have delivered by way of HTTP request within the app (especially given that it&#8217;s not possible to use those ordering features without an Internet connection to complete the purchase). Are you <strong>really</strong> sure you want to do that?</p>
]]></content:encoded>
			<wfw:commentRss>http://pantsfullofunix.com/2009/08/this-bloat-is-recommended-for-all-users/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Hotel Monteleone&#8217;s Internet connection is completely defeated&#8230;</title>
		<link>http://pantsfullofunix.com/2009/07/the-hotel-monteleones-internet-connection-is-completely-defeated/</link>
		<comments>http://pantsfullofunix.com/2009/07/the-hotel-monteleones-internet-connection-is-completely-defeated/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 03:14:10 +0000</pubDate>
		<dc:creator>gr</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pantsfullofunix.com/?p=994</guid>
		<description><![CDATA[&#8230; by cocktail bloggers at Tales of the Cocktail 2009.
Just look:
% ping -c 5 google.com
PING google.com (74.125.67.100): 56 data bytes
64 bytes from 74.125.67.100: icmp_seq=0 ttl=55 time=1218.912 ms
64 bytes from 74.125.67.100: icmp_seq=3 ttl=55 time=731.904 ms
64 bytes from 74.125.67.100: icmp_seq=4 ttl=55 time=968.861 ms
&#8212; google.com ping statistics &#8212;
5 packets transmitted, 3 packets received, 40% packet loss
round-trip min/avg/max/stddev = [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230; by cocktail bloggers at <a href="http://www.talesofthecocktail.com/">Tales of the Cocktail</a> 2009.</p>
<p>Just look:</p>
<p><tt>% ping -c 5 google.com<br />
PING google.com (74.125.67.100): 56 data bytes<br />
64 bytes from 74.125.67.100: icmp_seq=0 ttl=55 time=1218.912 ms<br />
64 bytes from 74.125.67.100: icmp_seq=3 ttl=55 time=731.904 ms<br />
64 bytes from 74.125.67.100: icmp_seq=4 ttl=55 time=968.861 ms</p>
<p>&#8212; google.com ping statistics &#8212;<br />
5 packets transmitted, 3 packets received, 40% packet loss<br />
round-trip min/avg/max/stddev = 731.904/973.226/1218.912/198.844 ms</tt></p>
<p>(<a href="http://alcoholi.st/2009/07/tales-of-the-cocktail-2009-begins/">See also</a>.)</p>
]]></content:encoded>
			<wfw:commentRss>http://pantsfullofunix.com/2009/07/the-hotel-monteleones-internet-connection-is-completely-defeated/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

