<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	
	>
<channel>
	<title>
	Comments on: Wanted	</title>
	<atom:link href="https://gregladen.com/blog/2010/08/06/wanted-3/feed/" rel="self" type="application/rss+xml" />
	<link>https://gregladen.com/blog/2010/08/06/wanted-3/</link>
	<description></description>
	<lastBuildDate>Sun, 08 Aug 2010 19:47:25 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.6</generator>
	<item>
		<title>
		By: Greg Laden		</title>
		<link>https://gregladen.com/blog/2010/08/06/wanted-3/#comment-521427</link>

		<dc:creator><![CDATA[Greg Laden]]></dc:creator>
		<pubDate>Sun, 08 Aug 2010 19:47:25 +0000</pubDate>
		<guid isPermaLink="false">http://scienceblogs.com/gregladen/2010/08/06/wanted-3/#comment-521427</guid>

					<description><![CDATA[Ok, folks, we can do better.  Really.

A well written bash command will return 0 on completion, a different number on an error, will send output to standard output and take date in from standard input.  And so on.

These things do not happen because the pink unicorn declares it so.  These things happen becasue a well written bash command includes these things in the code.  

All &quot;oops&quot; has to do is to invoke the opps parameter of the previously called bash command.  The oops stack is where well behaved bash commands store pointers to the necessary data to undo a command. Thus, oops can use the stack to undo multiple previous commands.   Not all command can be undone, just as in today&#039;s world not all things that can be undone in word processors or file management gui&#039;s and so on can be undone.  

Certain commans, obviously, make no sense to undo.  How would one undo an LS.

sort foo &gt; bar is easy.  oops deletes bar.  sort foo &gt;&gt; bar is esy.  Oops buffer stores a pointer to the last lin in bar before the command. Ooops, then, would delete the contents of the file following the pointer.  

Ooops can be limited to a maximum amount of record keeping except when certain command switches are in place, which would force the command to use the overhead necessary.  

 ]]></description>
			<content:encoded><![CDATA[<p>Ok, folks, we can do better.  Really.</p>
<p>A well written bash command will return 0 on completion, a different number on an error, will send output to standard output and take date in from standard input.  And so on.</p>
<p>These things do not happen because the pink unicorn declares it so.  These things happen becasue a well written bash command includes these things in the code.  </p>
<p>All &#8220;oops&#8221; has to do is to invoke the opps parameter of the previously called bash command.  The oops stack is where well behaved bash commands store pointers to the necessary data to undo a command. Thus, oops can use the stack to undo multiple previous commands.   Not all command can be undone, just as in today&#8217;s world not all things that can be undone in word processors or file management gui&#8217;s and so on can be undone.  </p>
<p>Certain commans, obviously, make no sense to undo.  How would one undo an LS.</p>
<p>sort foo > bar is easy.  oops deletes bar.  sort foo >> bar is esy.  Oops buffer stores a pointer to the last lin in bar before the command. Ooops, then, would delete the contents of the file following the pointer.  </p>
<p>Ooops can be limited to a maximum amount of record keeping except when certain command switches are in place, which would force the command to use the overhead necessary.  </p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: James McCann		</title>
		<link>https://gregladen.com/blog/2010/08/06/wanted-3/#comment-521426</link>

		<dc:creator><![CDATA[James McCann]]></dc:creator>
		<pubDate>Sun, 08 Aug 2010 18:03:15 +0000</pubDate>
		<guid isPermaLink="false">http://scienceblogs.com/gregladen/2010/08/06/wanted-3/#comment-521426</guid>

					<description><![CDATA[The best solution I can think of is to run everything on a virt and take a snapshot of the virt after every shell command, then oops just restores the previous virt state.

I am pretty sure it would suck.]]></description>
			<content:encoded><![CDATA[<p>The best solution I can think of is to run everything on a virt and take a snapshot of the virt after every shell command, then oops just restores the previous virt state.</p>
<p>I am pretty sure it would suck.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Marion Delgado		</title>
		<link>https://gregladen.com/blog/2010/08/06/wanted-3/#comment-521425</link>

		<dc:creator><![CDATA[Marion Delgado]]></dc:creator>
		<pubDate>Sat, 07 Aug 2010 00:26:45 +0000</pubDate>
		<guid isPermaLink="false">http://scienceblogs.com/gregladen/2010/08/06/wanted-3/#comment-521425</guid>

					<description><![CDATA[Looking at the WANTED list, I think AdBlock for a site you&#039;re trying to help is not good. &quot;curtains&quot; seems reasonable. I&#039;d guess a greasemonkey script would be the easiest way? for all pages in the greasemonkey list,

e.g.
scienceblogs.com 
scientopia.org
blogs.discovermag.com

You run:

window.scrollBy(0,50);  // Zero Right, 50 down

Or whatever.]]></description>
			<content:encoded><![CDATA[<p>Looking at the WANTED list, I think AdBlock for a site you&#8217;re trying to help is not good. &#8220;curtains&#8221; seems reasonable. I&#8217;d guess a greasemonkey script would be the easiest way? for all pages in the greasemonkey list,</p>
<p>e.g.<br />
scienceblogs.com<br />
scientopia.org<br />
blogs.discovermag.com</p>
<p>You run:</p>
<p>window.scrollBy(0,50);  // Zero Right, 50 down</p>
<p>Or whatever.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Marion Delgado		</title>
		<link>https://gregladen.com/blog/2010/08/06/wanted-3/#comment-521424</link>

		<dc:creator><![CDATA[Marion Delgado]]></dc:creator>
		<pubDate>Sat, 07 Aug 2010 00:20:08 +0000</pubDate>
		<guid isPermaLink="false">http://scienceblogs.com/gregladen/2010/08/06/wanted-3/#comment-521424</guid>

					<description><![CDATA[Rob and Ange, it actually made me think of Nethack - from, I think, the same place Python came from. Unlike the other roguelike branch, the *hacks tried to think of every possible combination of the person, taking action Y, sometimes with object X, on object or creature Z. An undo might even be possible there.]]></description>
			<content:encoded><![CDATA[<p>Rob and Ange, it actually made me think of Nethack &#8211; from, I think, the same place Python came from. Unlike the other roguelike branch, the *hacks tried to think of every possible combination of the person, taking action Y, sometimes with object X, on object or creature Z. An undo might even be possible there.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Rob		</title>
		<link>https://gregladen.com/blog/2010/08/06/wanted-3/#comment-521423</link>

		<dc:creator><![CDATA[Rob]]></dc:creator>
		<pubDate>Fri, 06 Aug 2010 22:33:06 +0000</pubDate>
		<guid isPermaLink="false">http://scienceblogs.com/gregladen/2010/08/06/wanted-3/#comment-521423</guid>

					<description><![CDATA[&lt;blockquote&gt;QED, the requirement for it being an object oriented language is foolish.&lt;/blockquote&gt;

yeah, oops in an &lt;b&gt;o&lt;/b&gt;bject &lt;b&gt;o&lt;/b&gt;riented &lt;b&gt;p&lt;/b&gt;rogramming language is foolish
]]></description>
			<content:encoded><![CDATA[<blockquote><p>QED, the requirement for it being an object oriented language is foolish.</p></blockquote>
<p>yeah, oops in an <b>o</b>bject <b>o</b>riented <b>p</b>rogramming language is foolish</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: gruebait		</title>
		<link>https://gregladen.com/blog/2010/08/06/wanted-3/#comment-521422</link>

		<dc:creator><![CDATA[gruebait]]></dc:creator>
		<pubDate>Fri, 06 Aug 2010 22:24:22 +0000</pubDate>
		<guid isPermaLink="false">http://scienceblogs.com/gregladen/2010/08/06/wanted-3/#comment-521422</guid>

					<description><![CDATA[I want a toe un-stubber.]]></description>
			<content:encoded><![CDATA[<p>I want a toe un-stubber.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Marion Delgado		</title>
		<link>https://gregladen.com/blog/2010/08/06/wanted-3/#comment-521421</link>

		<dc:creator><![CDATA[Marion Delgado]]></dc:creator>
		<pubDate>Fri, 06 Aug 2010 21:11:08 +0000</pubDate>
		<guid isPermaLink="false">http://scienceblogs.com/gregladen/2010/08/06/wanted-3/#comment-521421</guid>

					<description><![CDATA[IT&#039;s worse - much worse - than Greg thinks, Ange. 

I believe someone DID write oops ...

all in one take ...


... then immediately tried it out.]]></description>
			<content:encoded><![CDATA[<p>IT&#8217;s worse &#8211; much worse &#8211; than Greg thinks, Ange. </p>
<p>I believe someone DID write oops &#8230;</p>
<p>all in one take &#8230;</p>
<p>&#8230; then immediately tried it out.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Gray Gaffer		</title>
		<link>https://gregladen.com/blog/2010/08/06/wanted-3/#comment-521420</link>

		<dc:creator><![CDATA[Gray Gaffer]]></dc:creator>
		<pubDate>Fri, 06 Aug 2010 19:42:50 +0000</pubDate>
		<guid isPermaLink="false">http://scienceblogs.com/gregladen/2010/08/06/wanted-3/#comment-521420</guid>

					<description><![CDATA[You could always switch to the Pick OS. Everything is journaled with rewind.

$ post blog &quot;need bash undo&quot; -v
$ oops -1
  oops: ERROR:  cannot undo reality. Deal with it.]]></description>
			<content:encoded><![CDATA[<p>You could always switch to the Pick OS. Everything is journaled with rewind.</p>
<p>$ post blog &#8220;need bash undo&#8221; -v<br />
$ oops -1<br />
  oops: ERROR:  cannot undo reality. Deal with it.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Virgil Samms		</title>
		<link>https://gregladen.com/blog/2010/08/06/wanted-3/#comment-521419</link>

		<dc:creator><![CDATA[Virgil Samms]]></dc:creator>
		<pubDate>Fri, 06 Aug 2010 15:46:23 +0000</pubDate>
		<guid isPermaLink="false">http://scienceblogs.com/gregladen/2010/08/06/wanted-3/#comment-521419</guid>

					<description><![CDATA[It appears someone has already written the program oops:&lt;br&gt;&lt;a href=&quot;http://xray.bmc.uu.se/usf/oops_man.html&quot; rel=&quot;nofollow&quot;&gt;Uppsala Software Factory - OOPS Manual&lt;/a&gt;
]]></description>
			<content:encoded><![CDATA[<p>It appears someone has already written the program oops:<br /><a href="http://xray.bmc.uu.se/usf/oops_man.html" rel="nofollow">Uppsala Software Factory &#8211; OOPS Manual</a></p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: AnonymousCoward		</title>
		<link>https://gregladen.com/blog/2010/08/06/wanted-3/#comment-521418</link>

		<dc:creator><![CDATA[AnonymousCoward]]></dc:creator>
		<pubDate>Fri, 06 Aug 2010 15:42:48 +0000</pubDate>
		<guid isPermaLink="false">http://scienceblogs.com/gregladen/2010/08/06/wanted-3/#comment-521418</guid>

					<description><![CDATA[&lt;b&gt;$ oops 
sh: oops: command not found&lt;/b&gt;
]]></description>
			<content:encoded><![CDATA[<p><b>$ oops<br />
sh: oops: command not found</b></p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
