<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Jon's Project Blog</title>
	
	<link>http://hawflakes.unoc.net</link>
	<description>Side Projects, Hobbies, Media, Fun</description>
	<lastBuildDate>Tue, 04 May 2010 18:16:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/JonsProjectBlog" /><feedburner:info uri="jonsprojectblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Tecplot’s avi use broken windows codecs</title>
		<link>http://feedproxy.google.com/~r/JonsProjectBlog/~3/bVj-TRlEKWU/</link>
		<comments>http://hawflakes.unoc.net/?p=182#comments</comments>
		<pubDate>Thu, 29 Apr 2010 19:48:55 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Useful Apps]]></category>
		<category><![CDATA[avi]]></category>
		<category><![CDATA[ffmpeg]]></category>
		<category><![CDATA[mpeg]]></category>
		<category><![CDATA[swf]]></category>
		<category><![CDATA[swftools]]></category>
		<category><![CDATA[tecplot]]></category>

		<guid isPermaLink="false">http://hawflakes.unoc.net/?p=182</guid>
		<description><![CDATA[For those of you that use tecplot, you know that while the interface is fairly straightforward and the resulting visuals look pretty good, tecplot has one major flaw. The animations are generated in with essentially the MSRLE codec from a decade ago. The codec&#8217;s color palette generally cannot handle continuous color flooding  in tecplot; if [...]]]></description>
			<content:encoded><![CDATA[<p>For those of you that use <a href="http://tecplot.com">tecplot</a>, you know that while the interface is fairly straightforward and the resulting visuals look pretty good, tecplot has one major flaw. The animations are generated in with essentially the MSRLE codec from a decade ago. The codec&#8217;s color palette generally cannot handle continuous color flooding  in tecplot; if you try to open it up on other machines or convert them to say flash video or mp4, you will find that the the colors are all messed up. Sometimes the frame size in tecplot causes the video to not display correctly.</p>
<p>So to fix this issue, I found out that the swf output actually works correctly. Modifying the previous pbox2avi script, I created a tecplot specific script to generate mpeg&#8217;s or whatever else ffmpeg can spit out. The script is pretty much a more rudimentary version of pbox2avi.py.</p>
<p>Requirements: swftools, ffmpeg</p>
<p>Download <a href="http://hawflakes.unoc.net/stuff/tecplot2mpeg.py">tecplot2mpeg.py</a>.</p>
<p>As usual the code for the script is below:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;"># Copyright 2010 Jonathan Wong</span>
<span style="color: #808080; font-style: italic;"># python script to convert SWF files generated from tecplot to mpeg</span>
&nbsp;
<span style="color: #808080; font-style: italic;">#requires swfextract</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">commands</span>,<span style="color: #dc143c;">sys</span>,<span style="color: #dc143c;">re</span>,<span style="color: #dc143c;">math</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> parse<span style="color: black;">&#40;</span>filename<span style="color: black;">&#41;</span>:
<span style="color: #808080; font-style: italic;">#check filename for .swf extension</span>
<span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #ff7700;font-weight:bold;">not</span> filename.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'.swf'</span><span style="color: black;">&#41;</span>: <span style="color: #808080; font-style: italic;"># not a comprehensive check</span>
<span style="color: #ff7700;font-weight:bold;">return</span>
&nbsp;
fileprefix = filename<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span>:filename.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'.swf'</span><span style="color: black;">&#41;</span><span style="color: black;">&#93;</span>
<span style="color: #dc143c;">commands</span>.<span style="color: black;">getstatusoutput</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;rm %s.mpeg&quot;</span> <span style="color: #66cc66;">%</span> <span style="color: black;">&#40;</span>fileprefix,<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">#open file</span>
status, output = <span style="color: #dc143c;">commands</span>.<span style="color: black;">getstatusoutput</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;swfextract %s&quot;</span> <span style="color: #66cc66;">%</span> <span style="color: black;">&#40;</span>filename,<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">print</span> output
&nbsp;
<span style="color: #808080; font-style: italic;">#find &quot;JPEGs: ID(s)&quot;</span>
slide_identifier = <span style="color: #483d8b;">&quot;PNGs: ID(s)&quot;</span>
start=output.<span style="color: black;">find</span><span style="color: black;">&#40;</span>slide_identifier<span style="color: black;">&#41;</span>
slide_extract=<span style="color: black;">&#91;</span><span style="color: black;">&#93;</span>
<span style="color: #ff7700;font-weight:bold;">if</span> start:
start += <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>slide_identifier<span style="color: black;">&#41;</span>+<span style="color: #ff4500;">1</span>
slide_end = output.<span style="color: black;">find</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;[-f]&quot;</span>,start<span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">print</span> start,slide_end
slide_extract=output<span style="color: black;">&#91;</span>start:slide_end-<span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span>.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot; &quot;</span>,<span style="color: #483d8b;">&quot;&quot;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># now extract all the data</span>
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;swfextract %s -P -p %s&quot;</span> <span style="color: #66cc66;">%</span> <span style="color: black;">&#40;</span>filename,slide_extract<span style="color: black;">&#41;</span>
&nbsp;
slides = slide_extract.<span style="color: black;">split</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;,&quot;</span><span style="color: black;">&#41;</span>
digits = <span style="color: #ff4500;">1</span> + <span style="color: #008000;">int</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">math</span>.<span style="color: black;">log10</span><span style="color: black;">&#40;</span><span style="color: #008000;">int</span><span style="color: black;">&#40;</span>slides<span style="color: black;">&#91;</span>-<span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">for</span> slide <span style="color: #ff7700;font-weight:bold;">in</span> slides:
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Processing frame: %d&quot;</span> <span style="color: #66cc66;">%</span> <span style="color: black;">&#40;</span><span style="color: #008000;">int</span><span style="color: black;">&#40;</span><span style="color: #008000;">int</span><span style="color: black;">&#40;</span>slide<span style="color: black;">&#41;</span>/<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>+<span style="color: #ff4500;">1</span>,<span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;swfextract %%s -p %%s &amp;amp; mv output.png %s%%0%dd.png&quot;</span> <span style="color: #66cc66;">%</span> <span style="color: black;">&#40;</span>fileprefix,digits,<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> <span style="color: #66cc66;">%</span> <span style="color: black;">&#40;</span>filename,slide,<span style="color: #008000;">int</span><span style="color: black;">&#40;</span><span style="color: #008000;">int</span><span style="color: black;">&#40;</span>slide<span style="color: black;">&#41;</span>/<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>+<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
status, output = <span style="color: #dc143c;">commands</span>.<span style="color: black;">getstatusoutput</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;swfextract %%s -p %%s &amp;amp;&amp;amp; mv output.png %s%%0%dd.png&quot;</span> <span style="color: #66cc66;">%</span> <span style="color: black;">&#40;</span>fileprefix,digits,<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span> <span style="color: #66cc66;">%</span> <span style="color: black;">&#40;</span>filename,slide,<span style="color: #008000;">int</span><span style="color: black;">&#40;</span><span style="color: #008000;">int</span><span style="color: black;">&#40;</span>slide<span style="color: black;">&#41;</span>/<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>+<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
&nbsp;
status, output = <span style="color: #dc143c;">commands</span>.<span style="color: black;">getstatusoutput</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;ffmpeg -f image2 -i %s%%04d.png -b 600k %s.mpeg &amp;amp;&amp;amp; rm %s*.png&quot;</span> <span style="color: #66cc66;">%</span> <span style="color: black;">&#40;</span>fileprefix,fileprefix,fileprefix<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">return</span> slide_extract
&nbsp;
<span style="color: #ff7700;font-weight:bold;">if</span> __name__==<span style="color: #483d8b;">&quot;__main__&quot;</span>:
slides=parse<span style="color: black;">&#40;</span><span style="color: #dc143c;">sys</span>.<span style="color: black;">argv</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span></pre></div></div>

<p><map name='google_ad_map_182_9360e9f4960b3be9'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/182?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_182_9360e9f4960b3be9' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=182&amp;url= http%3A%2F%2Fhawflakes.unoc.net%2F%3Fp%3D182' /></p>
<p><a href="http://feedads.g.doubleclick.net/~a/bnFxjxt6TMpNaFFbQwFPmZAMgIg/0/da"><img src="http://feedads.g.doubleclick.net/~a/bnFxjxt6TMpNaFFbQwFPmZAMgIg/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/bnFxjxt6TMpNaFFbQwFPmZAMgIg/1/da"><img src="http://feedads.g.doubleclick.net/~a/bnFxjxt6TMpNaFFbQwFPmZAMgIg/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/JonsProjectBlog/~4/bVj-TRlEKWU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://hawflakes.unoc.net/?feed=rss2&amp;p=182</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://hawflakes.unoc.net/?p=182</feedburner:origLink></item>
		<item>
		<title>Migrating old XP+ computers to virtual machines</title>
		<link>http://feedproxy.google.com/~r/JonsProjectBlog/~3/WigvlaUquiQ/</link>
		<comments>http://hawflakes.unoc.net/?p=173#comments</comments>
		<pubDate>Wed, 28 Oct 2009 12:34:56 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[0x0000007b bsod]]></category>
		<category><![CDATA[disk2vhd]]></category>
		<category><![CDATA[fix_hdc]]></category>
		<category><![CDATA[old windows pc migration]]></category>
		<category><![CDATA[supergrubdisk]]></category>
		<category><![CDATA[ubcd4win]]></category>
		<category><![CDATA[virtual machines]]></category>
		<category><![CDATA[virtualization]]></category>

		<guid isPermaLink="false">http://hawflakes.unoc.net/?p=173</guid>
		<description><![CDATA[Since my current laptop (2004) is pretty much on its last legs and I don&#8217;t feel like wasting or looking for my XP windows keys, I figured I would just migrate my laptop. Similarly, my desktop that was built in 1999 (Pentium 4 A &#8211; no hyperthreading) with 512 Mb of ram and non-functional USB [...]]]></description>
			<content:encoded><![CDATA[<p>Since my current laptop (2004) is pretty much on its last legs and I don&#8217;t feel like wasting or looking for my XP windows keys, I figured I would just migrate my laptop. Similarly, my desktop that was built in 1999 (Pentium 4 A &#8211; no hyperthreading) with 512 Mb of ram and non-functional USB ports and dead sound card, has some useful data on it I figured I might as well start with that and see how much of a hassle it would be to backup those systems. I figured the best way would be to some how &#8216;dd&#8217; a hard disk and then run it in VirtualBox. However, I remember reading something about problems with Windows &#8220;memorizing&#8221; hard disk information and in general &#8216;dd&#8217; is super slow.</p>
<p>Luckily I ran across this <a href="http://lifehacker.com/5377399/disk2vhd-turns-your-pc-into-a-virtual-machine">Lifehacker article</a> via a quick google search. It doesn&#8217;t contain much information, except that it mentions this new (Oct 9,2009?) SysInternals tool called &#8216;disk2vhd&#8217; which supposedly makes imaging windows drives a piece of cake. Some other Ubuntu googling searches resulted in similar recommendations but also noted that there could be some IDE/SATA driver issues and that you had to fix these driver issues &#8220;apriori&#8221;. I won&#8217;t go into the details since it seems all of this can be fixed in the image afterwards.</p>
<p>So I went about my way, running &#8216;<a href="http://technet.microsoft.com/en-us/sysinternals/ee656415.aspx">disk2vhd</a>&#8216; on 2 windows drives which totaled 50+ Gb. This went smoothely on my abandoned desktop and it took about an hour or two to create the VHD. I copy over the VHD, which took a few more hours (did it overnight). However, when I tried to run the VHD in virtualbox it said I had a grub error (error 21). I figure this has to do with the fact that the MBR points to grub, which lives on the hard disk I didn&#8217;t image. Anyways a <a href="http://ubuntuforums.org/showthread.php?t=62717">quick google</a> resulted in grabbing <a href="http://www.supergrubdisk.org/">SuperGrubDisk</a>. I just ran it, and selected the &#8220;Win&#8221; option as I had no intention of creating a dual boot VHD system. This fixed the grub problem.</p>
<p>Windows XP started booting up and then I ran into the infamous &#8220;0x0000007B&#8221; boot BSOD issue. It has something to do with windows not liking a difference in IDE hardware. At this point another quick google seemed to indicate I would <a href="http://ubuntuforums.org/showthread.php?t=62717">have to do the &#8220;apriori&#8221; fix step</a>. However, I wasn&#8217;t about to go spend another 8 hours trying to backup my computer as I already spent enough time trying to make it work. Luckily I ran across this <a href="http://forum.driverpacks.net/viewtopic.php?id=3906">confusing forum post</a>, which hinted that the Ultimate Boot Cd for Windows (UBCD4Win) had something called &#8220;Fix_hdc&#8221; that could possibly fix the drivers issue. Luckily I had a copy of a UBCD4Win iso lying around. So I load up UBCD4Win iso and find &#8216;fix_hdc&#8217; and just selected the &#8220;Usb option&#8221;.</p>
<p>Magically, it seemed to do the trick, and after a reboot of the virtual machine, everything worked flawlessly.</p>
<p><strong>Summary:</strong></p>
<ol>
<li>Run &#8220;<a href="http://technet.microsoft.com/en-us/sysinternals/ee656415.aspx">disk2vhd</a>&#8221; from SysInternals on the drives you want to image. (Optionally, run mergeIDE and so forth to possibly avoid step 3.</li>
<li>If you had some multi-boot grub setup and grub doesn&#8217;t live on the same partition (which it probably doesn&#8217;t), use a grubrecovery disk such as <a href="http://www.supergrubdisk.org/">SuperGrubDisk</a>.</li>
<li>If you get the &#8220;0x0000007B&#8221; BSOD error during boot, just grab UBCD4Win, boot it up, and then run Fix_hdc. It should be in <a href="http://www.raymond.cc/blog/archives/2008/07/09/move-windows-xp-hard-drive-or-change-motherboard-without-getting-blue-screen-of-death/">Start&gt;Programs&gt;Registry Tools&gt;FIX_hdc&gt;Fix Hard disk/USB</a></li>
</ol>
<p>Overall, the process was fairly painless. Mostly just clicking a few &#8220;auto&#8221; buttons. Virtualbox seems to run well, and so far the experimental 3D drivers seem to play relatively nicely. I&#8217;ve watched some movies through VM and played a few games (none of them super resource hungry). Music seems to work fine. Ironically, when I ran Windows 7 earlier this year, the audio did not play smoothely, and video clearly didn&#8217;t work. Seems that windows media player plays video much more jerky than VLC which is less noticeable. I don&#8217;t remember off-hand what my old vlc settings were though, so I can&#8217;t comment much.</p>
<p>I&#8217;d say the conversion was a definite success, and I will do the same with my old computers so I will have access to software that I can no longer fine that I had installed on my old machines. At any rate, I now have a &#8220;working&#8221; backup of my old system which can run in several VM packages (VirtualPC, VirtualBox, VMware). I&#8217;m fairly certain that such formats will continually be updated (virtualization seems to be the future of everything), and thus it should be possible to keep a copy of my old machines with me on my new computers in the future.</p>
<p><map name='google_ad_map_173_9360e9f4960b3be9'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/173?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_173_9360e9f4960b3be9' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=173&amp;url= http%3A%2F%2Fhawflakes.unoc.net%2F%3Fp%3D173' /></p>
<p><a href="http://feedads.g.doubleclick.net/~a/sUlqIyCOd5v0tjM0wbJUwcEQkZs/0/da"><img src="http://feedads.g.doubleclick.net/~a/sUlqIyCOd5v0tjM0wbJUwcEQkZs/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/sUlqIyCOd5v0tjM0wbJUwcEQkZs/1/da"><img src="http://feedads.g.doubleclick.net/~a/sUlqIyCOd5v0tjM0wbJUwcEQkZs/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/JonsProjectBlog/~4/WigvlaUquiQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://hawflakes.unoc.net/?feed=rss2&amp;p=173</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://hawflakes.unoc.net/?p=173</feedburner:origLink></item>
		<item>
		<title>General Update</title>
		<link>http://feedproxy.google.com/~r/JonsProjectBlog/~3/opljVqITqO0/</link>
		<comments>http://hawflakes.unoc.net/?p=170#comments</comments>
		<pubDate>Wed, 30 Sep 2009 06:26:24 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://hawflakes.unoc.net/?p=170</guid>
		<description><![CDATA[I haven&#8217;t updated for awhile because of qualifying exams and research. Now that is done and over with, I will try to make updates more frequently. Several packages I would like to write reviews for soon and make little demos for are: Meld (A Diff tool. So far I&#8217;ve been quite pleased with it&#8217;s unique [...]]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t updated for awhile because of qualifying exams and research. Now that is done and over with, I will try to make updates more frequently. Several packages I would like to write reviews for soon and make little demos for are:</p>
<ol>
<li>Meld (A Diff tool. So far I&#8217;ve been quite pleased with it&#8217;s unique way of displaying diffs.)</li>
<li>Paraview 3.6.1 &#8211; Now that I have more time I hope to take another stab at the new and improved version.</li>
<li>TurboVNC &#8211; Modified version of tightVNC that works very well for media over 54Mbps wifi and 100Mbit LANs. I&#8217;ve been able to watch videos, play tux racer, and starcraft over wine without noticing any differences. In fact, I&#8217;ve run several OS&#8217;s in virtualbox remotely using TurboVNC for some computer repair training sessions over G wifi and no one noticed any latency.</li>
</ol>
<p>I&#8217;ve updated some of the SCPD code, and I&#8217;m also working on some small short term projects.</p>
<p><map name='google_ad_map_170_9360e9f4960b3be9'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/170?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_170_9360e9f4960b3be9' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=170&amp;url= http%3A%2F%2Fhawflakes.unoc.net%2F%3Fp%3D170' /></p>
<p><a href="http://feedads.g.doubleclick.net/~a/gOC9r3-N3bkqCdNq45IAp2v-dhs/0/da"><img src="http://feedads.g.doubleclick.net/~a/gOC9r3-N3bkqCdNq45IAp2v-dhs/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/gOC9r3-N3bkqCdNq45IAp2v-dhs/1/da"><img src="http://feedads.g.doubleclick.net/~a/gOC9r3-N3bkqCdNq45IAp2v-dhs/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/JonsProjectBlog/~4/opljVqITqO0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://hawflakes.unoc.net/?feed=rss2&amp;p=170</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://hawflakes.unoc.net/?p=170</feedburner:origLink></item>
		<item>
		<title>Saving webpages for offline use using Firefox 3.0 + wget</title>
		<link>http://feedproxy.google.com/~r/JonsProjectBlog/~3/VubC7R68zQU/</link>
		<comments>http://hawflakes.unoc.net/?p=164#comments</comments>
		<pubDate>Sun, 19 Jul 2009 06:30:13 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[offline web]]></category>
		<category><![CDATA[wget]]></category>

		<guid isPermaLink="false">http://hawflakes.unoc.net/?p=164</guid>
		<description><![CDATA[Several times I&#8217;ve had to save authenticated wiki content to my phone to view it on long flights (across the US). I found wget + Firefox 3.0 (Export Cookies extension) to be quite sufficient. The extension page explains a bit about how to use wget. The basic strategy is: Login to website, and export cookies [...]]]></description>
			<content:encoded><![CDATA[<p>Several times I&#8217;ve had to save authenticated wiki content to my phone to view it on long flights (across the US). I found wget + Firefox 3.0 (<a href="https://addons.mozilla.org/en-US/firefox/addon/8154">Export Cookies</a> extension) to be quite sufficient. The extension page explains a bit about how to use wget.</p>
<p>The basic strategy is:</p>
<ol>
<li>Login to website, and export cookies and session information to a text file (&#8220;cookies.txt&#8221;).</li>
<li>Run wget and try to figure out what a reasonable download rate is. Some websites obviously don&#8217;t like bots, and so you may need to look through the wget options to slowly go throught the site. You may also need to periodically update your cookies or session info via the text file so don&#8217;t be too greedy.</li>
</ol>
<p>As usual, you may want to look into the following wget options:</p>
<p>-I,-r,-l,-p,-k,-np</p>
<p>You may need to play around with the timing as websites generally don&#8217;t like being spidered. It also may be be illegal should check the Terms of Service.</p>
<p>The following is a sample commandline used to save webpages and attachments to a directory for offline use. I&#8217;ve noticed that firefox on the mac has issues with lack of extensions from wiki sites.</p>
<p>Example:</p>
<pre><code>wget --random-wait --load-cookies=cookies.txt --save-cookies=cookies.txt --keep-session-cookies -r -l 2 -p -k -I /pages/ http://***:8080/pages/viewpage.action?pageId=xxxxxxx download/attachments</code></pre>
<p><map name='google_ad_map_164_9360e9f4960b3be9'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/164?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_164_9360e9f4960b3be9' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=164&amp;url= http%3A%2F%2Fhawflakes.unoc.net%2F%3Fp%3D164' /></p>
<p><a href="http://feedads.g.doubleclick.net/~a/fd8oLl3JoHv03ET2bE2Gx_SJIfI/0/da"><img src="http://feedads.g.doubleclick.net/~a/fd8oLl3JoHv03ET2bE2Gx_SJIfI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/fd8oLl3JoHv03ET2bE2Gx_SJIfI/1/da"><img src="http://feedads.g.doubleclick.net/~a/fd8oLl3JoHv03ET2bE2Gx_SJIfI/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/JonsProjectBlog/~4/VubC7R68zQU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://hawflakes.unoc.net/?feed=rss2&amp;p=164</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://hawflakes.unoc.net/?p=164</feedburner:origLink></item>
		<item>
		<title>Paraview. Can it be even considered “open”-source?</title>
		<link>http://feedproxy.google.com/~r/JonsProjectBlog/~3/cuKq3X1D1W8/</link>
		<comments>http://hawflakes.unoc.net/?p=155#comments</comments>
		<pubDate>Sat, 13 Jun 2009 10:54:23 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://hawflakes.unoc.net/?p=155</guid>
		<description><![CDATA[I&#8217;ve been working on a poster for a research conference, and decided to try my hand at generating nice plots using gnuplot, tecplot, and paraview. Paraview is &#8220;open-source&#8221; and can handle a variety of datasets. It touts itself as a great tool with tons of features. In reality, paraview is fairly difficult to use. It&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on a poster for a research conference, and decided to try my hand at generating nice plots using gnuplot, tecplot, and paraview. Paraview is &#8220;open-source&#8221; and can handle a variety of datasets. It touts itself as a great tool with tons of features.</p>
<p>In reality, paraview is fairly difficult to use. It&#8217;s not intuitive. You can&#8217;t import data easily (csv, text). Best of all, Kitware charges for documentation!</p>
<p>While paraview may technically give their source away, I argue that it is not &#8220;open&#8221;. First. if paraview was indeed &#8220;open&#8221; in spirit, why do they charge for documentation? Now I don&#8217;t care so much about all the nitty gritty details. I just want to be able to find a doc with information about it&#8217;s python classes and write a little filter to import 3D point data + faces. However, to my knowledge, no such document really exists. At least it&#8217;s not in the top 3 or 4 pages of google search, which means if it does exists, it&#8217;s been hidden.</p>
<p>Second, if paraview was &#8220;open&#8221;, why is CSV not properly supported? I just wanted to plot data from a spreadsheet/matrix/whatever. Why do I even need to use a python filter to read a file and import it?</p>
<p>Also, I will grip about how the doxygen docs are next to unusable. They aren&#8217;t even in alphabetical order!</p>
<p>In conclusion, while the features exist in paraview as Kitware hypes it up to be, paraview, at this point in time, can&#8217;t really be an open-source application and is entirely unusable for general purposes. Yes, there are nifty filters, which, after you spend a few hours trying to figure how to operate work spectacularly well. Yes, it does do a lot of nifty things, like create movies, extract surfaces, and points. There are a whole slew of things that are nice about paraview. However, the following &#8220;issues&#8221;, mar whatever Kitware claims paraview to be:</p>
<ul>
<li>Lack of any useful documentation, aside from learning how the interface works (Yes, the GUI and pipeline system are SO intuitive that you need to look at a manual to operate. I will say that it is more user friendly than blender, which doesn&#8217;t mean much.</li>
<li>Inflexibility in importing data. If I can&#8217;t import my data, how can I even render/plot/manipulate it?</li>
</ul>
<p>Therefore, Paraview is open-source, as in &#8220;I show you the source&#8221;, but it fails in being &#8220;open&#8221;-source, as they blatantly withold information from you. It is nothing less than intellectual blackmail. I think I will stop trying to use paraview for the time being. It&#8217;s a big waste-of-time/time sink. Five hours of messing around just to try to get a contour plot and I still haven&#8217;t gotten it to work. Although I think I figured out how to do it theoretically, ideally I would modify the python programmable source filters. However, as I mentioend before, there is no documentation on it that is useful. I just want to add mesh data via faces.</p>
<p><map name='google_ad_map_155_9360e9f4960b3be9'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/155?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_155_9360e9f4960b3be9' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=155&amp;url= http%3A%2F%2Fhawflakes.unoc.net%2F%3Fp%3D155' /></p>
<p><a href="http://feedads.g.doubleclick.net/~a/42nP1NqDnaBx-640UX6Rg6q7ZXc/0/da"><img src="http://feedads.g.doubleclick.net/~a/42nP1NqDnaBx-640UX6Rg6q7ZXc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/42nP1NqDnaBx-640UX6Rg6q7ZXc/1/da"><img src="http://feedads.g.doubleclick.net/~a/42nP1NqDnaBx-640UX6Rg6q7ZXc/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/JonsProjectBlog/~4/cuKq3X1D1W8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://hawflakes.unoc.net/?feed=rss2&amp;p=155</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://hawflakes.unoc.net/?p=155</feedburner:origLink></item>
		<item>
		<title>SCPD Class Link Extractor</title>
		<link>http://feedproxy.google.com/~r/JonsProjectBlog/~3/7LWE1Rz26RI/</link>
		<comments>http://hawflakes.unoc.net/?p=147#comments</comments>
		<pubDate>Sat, 09 May 2009 20:52:51 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[extractor]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[SCPD]]></category>

		<guid isPermaLink="false">http://hawflakes.unoc.net/?p=147</guid>
		<description><![CDATA[At the end of every quarter I use the following greasemonkey script to extract the links of each of the classes. Usage: Go to the current quarter SCPD page and click on each of the links. Extracting the links takes awhile, since it is based on the previous SCPD link extractor. The GM script simply [...]]]></description>
			<content:encoded><![CDATA[<p>At the end of every quarter I use the following greasemonkey script to extract the links of each of the classes.</p>
<p>Usage: Go to the current quarter SCPD page and click on each of the links. Extracting the links takes awhile, since it is based on the previous SCPD link extractor. The GM script simply goes to each lecture page and extracts the link. After extraction is finish a new tab will appear and will display all the links for you to copy and paste. (This uses the same idea as the Xanga2RSS extractor.)</p>
<p>It seems that the SCPD program keeps the lectures archived at these links for a pretty long time. At least for a quarter or two. (However I once googled for SCPD links and found an EE one from 07 and it still worked, so perhaps SCPD never really erases them.)</p>
<p>Here it is below:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">// ==UserScript==</span>
<span style="color: #006600; font-style: italic;">// @name           SCPD links</span>
<span style="color: #006600; font-style: italic;">// @namespace      hawflakes.unoc.net</span>
<span style="color: #006600; font-style: italic;">// @description    Strips video links off of SCPD</span>
<span style="color: #006600; font-style: italic;">// @include        https://myvideosu.stanford.edu/*</span>
<span style="color: #006600; font-style: italic;">// ==/UserScript==</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> vidurls<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> links<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// Main link page for a course</span>
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>window.<span style="color: #660066;">location</span>.<span style="color: #660066;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;GradCourseInfo.aspx?&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&gt;=</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
<span style="color: #006600; font-style: italic;">// Get links to video page</span>
links <span style="color: #339933;">=</span> findXPathNodes<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;/html/body/div[2]/div[3]/div/div/table/tbody/tr/td/a[text()='WMP']&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
i<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> href<span style="color: #339933;">=</span>links.<span style="color: #660066;">snapshotItem</span><span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;href&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> url <span style="color: #339933;">=</span> href.<span style="color: #660066;">substring</span><span style="color: #009900;">&#40;</span>href.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;'&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
url <span style="color: #339933;">=</span> url.<span style="color: #660066;">substring</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span>url.<span style="color: #660066;">length</span><span style="color: #339933;">-</span><span style="color: #CC0000;">4</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
get<span style="color: #009900;">&#40;</span>url<span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;&quot;</span><span style="color: #339933;">,</span>getlink<span style="color: #339933;">,</span>i<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// helper functions</span>
<span style="color: #003366; font-weight: bold;">function</span> findXPathNode<span style="color: #009900;">&#40;</span>xpath<span style="color: #339933;">,</span> start<span style="color: #339933;">,</span>doc<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> result <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>doc <span style="color: #339933;">==</span> <span style="color: #003366; font-weight: bold;">null</span> <span style="color: #339933;">?</span> document <span style="color: #339933;">:</span> doc<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">evaluate</span><span style="color: #009900;">&#40;</span>xpath<span style="color: #339933;">,</span><span style="color: #009900;">&#40;</span>start <span style="color: #339933;">==</span> <span style="color: #003366; font-weight: bold;">null</span> <span style="color: #339933;">?</span> document <span style="color: #339933;">:</span> start<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">,</span> XPathResult.<span style="color: #660066;">ORDERED_NODE_SNAPSHOT_TYPE</span> <span style="color: #339933;">,</span><span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #009900;">&#40;</span>result.<span style="color: #660066;">snapshotLength</span> <span style="color: #339933;">&gt;</span> <span style="color: #CC0000;">0</span> <span style="color: #339933;">?</span> result.<span style="color: #660066;">snapshotItem</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> findXPathNodes<span style="color: #009900;">&#40;</span>xpath<span style="color: #339933;">,</span> start<span style="color: #339933;">,</span>doc<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #009900;">&#40;</span>doc <span style="color: #339933;">==</span> <span style="color: #003366; font-weight: bold;">null</span> <span style="color: #339933;">?</span> document <span style="color: #339933;">:</span> doc<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">evaluate</span><span style="color: #009900;">&#40;</span>xpath<span style="color: #339933;">,</span><span style="color: #009900;">&#40;</span>start <span style="color: #339933;">==</span> <span style="color: #003366; font-weight: bold;">null</span> <span style="color: #339933;">?</span> document <span style="color: #339933;">:</span> start<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">,</span> XPathResult.<span style="color: #660066;">ORDERED_NODE_SNAPSHOT_TYPE</span> <span style="color: #339933;">,</span><span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> elem<span style="color: #009900;">&#40;</span>tagname<span style="color: #339933;">,</span>content<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> ret <span style="color: #339933;">=</span> document.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span>tagname<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	ret.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> content<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">return</span> ret<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> get<span style="color: #009900;">&#40;</span>url<span style="color: #339933;">,</span> data<span style="color: #339933;">,</span> cb<span style="color: #339933;">,</span>info<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> client <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> XMLHttpRequest<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	client.<span style="color: #000066;">open</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;GET&quot;</span><span style="color: #339933;">,</span>url<span style="color: #339933;">,</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	client.<span style="color: #660066;">onreadystatechange</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>client.<span style="color: #660066;">readyState</span><span style="color: #339933;">==</span><span style="color: #CC0000;">4</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>		
			cb<span style="color: #009900;">&#40;</span>client<span style="color: #339933;">,</span>info<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
	client.<span style="color: #660066;">send</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> getlink<span style="color: #009900;">&#40;</span>client<span style="color: #339933;">,</span>info<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> tempurl<span style="color: #339933;">=</span>client.<span style="color: #660066;">responseText</span>.<span style="color: #660066;">substring</span><span style="color: #009900;">&#40;</span>client.<span style="color: #660066;">responseText</span>.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;&lt;param name=<span style="color: #000099; font-weight: bold;">\&quot;</span>URL<span style="color: #000099; font-weight: bold;">\&quot;</span> value=<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;&lt;param name=<span style="color: #000099; font-weight: bold;">\&quot;</span>URL<span style="color: #000099; font-weight: bold;">\&quot;</span> value=<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span>.<span style="color: #660066;">length</span><span style="color: #339933;">,</span>client.<span style="color: #660066;">responseText</span>.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;.wmv<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #CC0000;">4</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	vidurls<span style="color: #339933;">=</span>vidurls<span style="color: #339933;">+</span>tempurl<span style="color: #339933;">;</span>
	GM_log<span style="color: #009900;">&#40;</span>tempurl<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>info<span style="color: #339933;">&lt;</span>links.<span style="color: #660066;">snapshotLength</span><span style="color: #339933;">-</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> href<span style="color: #339933;">=</span>links.<span style="color: #660066;">snapshotItem</span><span style="color: #009900;">&#40;</span>info<span style="color: #339933;">+</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;href&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> url <span style="color: #339933;">=</span> href.<span style="color: #660066;">substring</span><span style="color: #009900;">&#40;</span>href.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;'&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	url <span style="color: #339933;">=</span> url.<span style="color: #660066;">substring</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span>url.<span style="color: #660066;">length</span><span style="color: #339933;">-</span><span style="color: #CC0000;">4</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	get<span style="color: #009900;">&#40;</span>url<span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;&quot;</span><span style="color: #339933;">,</span>getlink<span style="color: #339933;">,</span>info<span style="color: #339933;">+</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000066; font-weight: bold;">else</span>
<span style="color: #009900;">&#123;</span>
 <span style="color: #006600; font-style: italic;">//Generate links page</span>
GM_openInTab<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;data:text;charset=UTF-8,&quot;</span> <span style="color: #339933;">+</span> <span style="color: #000066; font-weight: bold;">encodeURI</span><span style="color: #009900;">&#40;</span>vidurls<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

</param></pre>
<p><map name='google_ad_map_147_9360e9f4960b3be9'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/147?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_147_9360e9f4960b3be9' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=147&amp;url= http%3A%2F%2Fhawflakes.unoc.net%2F%3Fp%3D147' /></p>
<p><a href="http://feedads.g.doubleclick.net/~a/P6mxYDAXbKR1Exi-3QbwgLQu71w/0/da"><img src="http://feedads.g.doubleclick.net/~a/P6mxYDAXbKR1Exi-3QbwgLQu71w/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/P6mxYDAXbKR1Exi-3QbwgLQu71w/1/da"><img src="http://feedads.g.doubleclick.net/~a/P6mxYDAXbKR1Exi-3QbwgLQu71w/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/JonsProjectBlog/~4/7LWE1Rz26RI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://hawflakes.unoc.net/?feed=rss2&amp;p=147</wfw:commentRss>
		<slash:comments>12</slash:comments>
		<feedburner:origLink>http://hawflakes.unoc.net/?p=147</feedburner:origLink></item>
		<item>
		<title>Downtime…</title>
		<link>http://feedproxy.google.com/~r/JonsProjectBlog/~3/pdyf-sy9IsE/</link>
		<comments>http://hawflakes.unoc.net/?p=145#comments</comments>
		<pubDate>Sun, 26 Apr 2009 07:16:47 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[error estalishing database connection]]></category>
		<category><![CDATA[ipv6 problems]]></category>
		<category><![CDATA[localhost]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://hawflakes.unoc.net/?p=145</guid>
		<description><![CDATA[Just got this blog back up and running. My host migrated to a better server and I had to recompile php and the works, since this runs on fastcgi. Anyhow, apparently I had compiled php with ipv6 enabled and wordpress kept on farting out the error message &#8220;error establishing database connection&#8221;, even though I had [...]]]></description>
			<content:encoded><![CDATA[<p>Just got this blog back up and running. My host migrated to a better server and I had to recompile php and the works, since this runs on fastcgi. Anyhow, apparently I had compiled php with ipv6 enabled and wordpress kept on farting out the error message &#8220;error establishing database connection&#8221;, even though I had logged into the sql server via commandline multiple times and verified that everything was there.</p>
<p>After an hour of searching, I found the <a href="http://mu.wordpress.org/forums/topic.php?id=4451">answer on the wordpress forums</a>. The gist of it is, that the <em>DB_HOST</em> variable in <em>wp-config.php</em> had to be changed to 127.0.0.1. After this correction, the blog magically worked again.</p>
<p>Note, I am not leaving you dry. I&#8217;ve currently been working on a simple deluge plugin for personal use which I may release, as well as a simple MathML to latex converter using my MathML-in-gwt kit (GWT converter). Currently it can spit out a decent amount of latex, but I am still need to automate the compatibility of the symbols and such.</p>
<p><map name='google_ad_map_145_9360e9f4960b3be9'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/145?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_145_9360e9f4960b3be9' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=145&amp;url= http%3A%2F%2Fhawflakes.unoc.net%2F%3Fp%3D145' /></p>
<p><a href="http://feedads.g.doubleclick.net/~a/Y5N8gmZWcEZ-6NB67lxhxRVmi6w/0/da"><img src="http://feedads.g.doubleclick.net/~a/Y5N8gmZWcEZ-6NB67lxhxRVmi6w/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Y5N8gmZWcEZ-6NB67lxhxRVmi6w/1/da"><img src="http://feedads.g.doubleclick.net/~a/Y5N8gmZWcEZ-6NB67lxhxRVmi6w/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/JonsProjectBlog/~4/pdyf-sy9IsE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://hawflakes.unoc.net/?feed=rss2&amp;p=145</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://hawflakes.unoc.net/?p=145</feedburner:origLink></item>
		<item>
		<title>UCLA Bruincast greasemonkey link ripper</title>
		<link>http://feedproxy.google.com/~r/JonsProjectBlog/~3/6TrLBklIEkE/</link>
		<comments>http://hawflakes.unoc.net/?p=137#comments</comments>
		<pubDate>Thu, 26 Mar 2009 00:43:37 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Useful Apps]]></category>
		<category><![CDATA[greasemonkey]]></category>
		<category><![CDATA[UCLA]]></category>

		<guid isPermaLink="false">http://hawflakes.unoc.net/?p=137</guid>
		<description><![CDATA[Just a quick post on the simple greasemonkey script that rips UCLA Bruincast video links (obviously you need access). I made it for my brother, so he can download lectures for classes he would like to save. Here&#8217;s the short greasy script. (Remember, rename the urls from &#8220;http:&#8221; to &#8220;rtsp:&#8221;). To grab the DSL links [...]]]></description>
			<content:encoded><![CDATA[<p>Just a quick post on the simple greasemonkey script that rips UCLA Bruincast video links (obviously you need access). I made it for my brother, so he can download lectures for classes he would like to save. Here&#8217;s the short greasy script. (Remember, rename the urls from &#8220;http:&#8221; to &#8220;rtsp:&#8221;). To grab the DSL links simply replace &#8216;LAN&#8217; with the text of the link. Enjoy!</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">// ==UserScript==</span>
<span style="color: #006600; font-style: italic;">// @name           BruinCastPageLinks</span>
<span style="color: #006600; font-style: italic;">// @namespace      hawflakes.unoc.net</span>
<span style="color: #006600; font-style: italic;">// @description    Grabs Links on a page</span>
<span style="color: #006600; font-style: italic;">// @include        http://www.oid.ucla.edu/webcasts/courses/*</span>
<span style="color: #006600; font-style: italic;">// ==/UserScript==</span>
&nbsp;
<span style="color: #006600; font-style: italic;">// Greasemonkey Script written by Jonathan Wong, Copyright 2009</span>
<span style="color: #006600; font-style: italic;">// Script is freeware (Use at your own risk!).</span>
&nbsp;
Links <span style="color: #339933;">=</span> findXPathNodes<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;//a[text()='LAN']/@href&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
PrintString<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span>links .<span style="color: #660066;">snapshotLength</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	PrintString<span style="color: #339933;">=</span>PrintString<span style="color: #339933;">+</span>Links.<span style="color: #660066;">snapshotItem</span><span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">value</span><span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
GM_openInTab<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;data:text;charset=UTF-8,&quot;</span> <span style="color: #339933;">+</span> <span style="color: #000066; font-weight: bold;">encodeURI</span><span style="color: #009900;">&#40;</span>PrintString<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span><span style="color: #009966; font-style: italic;">/&amp;nbsp;/g</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;&amp;amp;nbsp;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> findXPathNode<span style="color: #009900;">&#40;</span>xpath<span style="color: #339933;">,</span> start<span style="color: #339933;">,</span>doc<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> result <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>doc <span style="color: #339933;">==</span> <span style="color: #003366; font-weight: bold;">null</span> <span style="color: #339933;">?</span> document <span style="color: #339933;">:</span> doc<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">evaluate</span><span style="color: #009900;">&#40;</span>xpath<span style="color: #339933;">,</span><span style="color: #009900;">&#40;</span>start <span style="color: #339933;">==</span> <span style="color: #003366; font-weight: bold;">null</span> <span style="color: #339933;">?</span> document <span style="color: #339933;">:</span> start<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">,</span> XPathResult.<span style="color: #660066;">ORDERED_NODE_SNAPSHOT_TYPE</span> <span style="color: #339933;">,</span><span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #009900;">&#40;</span>result.<span style="color: #660066;">snapshotLength</span> <span style="color: #339933;">&gt;</span> <span style="color: #CC0000;">0</span> <span style="color: #339933;">?</span> result.<span style="color: #660066;">snapshotItem</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> findXPathNodes<span style="color: #009900;">&#40;</span>xpath<span style="color: #339933;">,</span> start<span style="color: #339933;">,</span>doc<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">return</span> <span style="color: #009900;">&#40;</span>doc <span style="color: #339933;">==</span> <span style="color: #003366; font-weight: bold;">null</span> <span style="color: #339933;">?</span> document <span style="color: #339933;">:</span> doc<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">evaluate</span><span style="color: #009900;">&#40;</span>xpath<span style="color: #339933;">,</span><span style="color: #009900;">&#40;</span>start <span style="color: #339933;">==</span> <span style="color: #003366; font-weight: bold;">null</span> <span style="color: #339933;">?</span> document <span style="color: #339933;">:</span> start<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">,</span> XPathResult.<span style="color: #660066;">ORDERED_NODE_SNAPSHOT_TYPE</span> <span style="color: #339933;">,</span><span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> elem<span style="color: #009900;">&#40;</span>tagname<span style="color: #339933;">,</span>content<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> ret <span style="color: #339933;">=</span> document.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span>tagname<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	ret.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> content<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">return</span> ret<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #339933;">&lt;/</span>links<span style="color: #339933;">&gt;</span></pre></div></div>

<p><map name='google_ad_map_137_9360e9f4960b3be9'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/137?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_137_9360e9f4960b3be9' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=137&amp;url= http%3A%2F%2Fhawflakes.unoc.net%2F%3Fp%3D137' /></p>
<p><a href="http://feedads.g.doubleclick.net/~a/VZHzmKPmtLq5g4sYyexgAXLZ0xg/0/da"><img src="http://feedads.g.doubleclick.net/~a/VZHzmKPmtLq5g4sYyexgAXLZ0xg/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/VZHzmKPmtLq5g4sYyexgAXLZ0xg/1/da"><img src="http://feedads.g.doubleclick.net/~a/VZHzmKPmtLq5g4sYyexgAXLZ0xg/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/JonsProjectBlog/~4/6TrLBklIEkE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://hawflakes.unoc.net/?feed=rss2&amp;p=137</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://hawflakes.unoc.net/?p=137</feedburner:origLink></item>
		<item>
		<title>UCLA streams – Real Media (.rm)</title>
		<link>http://feedproxy.google.com/~r/JonsProjectBlog/~3/tL1bRZE-Cy8/</link>
		<comments>http://hawflakes.unoc.net/?p=132#comments</comments>
		<pubDate>Wed, 25 Mar 2009 08:59:23 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[.rm]]></category>
		<category><![CDATA[mencoder]]></category>
		<category><![CDATA[mplayer]]></category>
		<category><![CDATA[Real media]]></category>
		<category><![CDATA[rip]]></category>
		<category><![CDATA[stream]]></category>
		<category><![CDATA[UCLA]]></category>

		<guid isPermaLink="false">http://hawflakes.unoc.net/?p=132</guid>
		<description><![CDATA[So apparently mencoder only seems to work for asf,wmv,avi,mpeg streams, and does not like real media streams (I think this is purely due to the fact I do not have real media codecs on this machine and therefore -ovc/-oac options would not work anyway). So I&#8217;ve defaulted back to using mplayer for ripping the real [...]]]></description>
			<content:encoded><![CDATA[<p>So apparently mencoder only seems to work for asf,wmv,avi,mpeg streams, and does not like real media streams (I think this is purely due to the fact I do not have real media codecs on this machine and therefore -ovc/-oac options would not work anyway). So I&#8217;ve defaulted back to using mplayer for ripping the real media streams. Fortunately, I had remembered seeing <a href="http://thomer.com/howtos/capture_realstream.html">this</a>, which pretty much explains what one needs to do.</p>
<p>For UCLA, the linked .rm file is actually just plain text that gives you the actual url. However, in the case of UCLA (like stanford), one can simply replace &#8220;http&#8221; with &#8220;rtsp&#8221;.</p>
<p><code><br />
mplayer -noframedrop -dumpfile out.rm -dumpstream rtsp://url.rm<br />
</code></p>
<p>The most interesting piece of information is that on windows, it is possible for mplayer to rip streams even if it can&#8217;t actually play it. For example, my Windows machine (what I&#8217;m using atm) does not have real player or alternative/hacked rm codecs on it, and therefore I can&#8217;t actually play .rm. However, I was able to rip it and someone else was able to play it. This does make sense.</p>
<p><map name='google_ad_map_132_9360e9f4960b3be9'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/132?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_132_9360e9f4960b3be9' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=132&amp;url= http%3A%2F%2Fhawflakes.unoc.net%2F%3Fp%3D132' /></p>
<p><a href="http://feedads.g.doubleclick.net/~a/o5SkOC83gNzBgPDf5mmdzKnaPUU/0/da"><img src="http://feedads.g.doubleclick.net/~a/o5SkOC83gNzBgPDf5mmdzKnaPUU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/o5SkOC83gNzBgPDf5mmdzKnaPUU/1/da"><img src="http://feedads.g.doubleclick.net/~a/o5SkOC83gNzBgPDf5mmdzKnaPUU/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/JonsProjectBlog/~4/tL1bRZE-Cy8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://hawflakes.unoc.net/?feed=rss2&amp;p=132</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://hawflakes.unoc.net/?p=132</feedburner:origLink></item>
		<item>
		<title>Windows Productivity – #1</title>
		<link>http://feedproxy.google.com/~r/JonsProjectBlog/~3/_RR3Ou-p2hk/</link>
		<comments>http://hawflakes.unoc.net/?p=127#comments</comments>
		<pubDate>Sat, 14 Mar 2009 03:49:21 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://hawflakes.unoc.net/?p=127</guid>
		<description><![CDATA[I&#8217;ve been busy lately with research and academia, and so I haven&#8217;t had much time to hack up some interesting pieces of code. However, because of my student computing job (where I help people connect to the residential network) I decided to look up the Start&#62;Run command shortcuts to generally useful network troubleshooting tasks, as [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been busy lately with research and academia, and so I haven&#8217;t had much time to hack up some interesting pieces of code. However, because of my student computing job (where I help people connect to the residential network) I decided to look up the Start&gt;Run command shortcuts to generally useful network troubleshooting tasks, as well as a few others. (Note: These probably only work in NT-based systems: NT, 2000, XP, 2003, Vista, etc.)</p>
<ul>
<li>services.msc &#8211; Brings up the Services control window. I use this often because I don&#8217;t like running unnecessary services like Cisco VPN client, which I use only when I need to connect to certain school servers.</li>
<li>ncpa.cpl &#8211; Brings up Network Connections. This is probably useful for users who can&#8217;t don&#8217;t already have shortcuts on their computers for this.</li>
<li>appwiz.cpl &#8211; Brings up the &#8220;Add or Remove Programs&#8221; Window. Obviously great for installing and removing software.</li>
</ul>
<p>Last of all, a tip I mentioned before for taking screenshots of applications/windows with PrintScreen is to press Alt + Printscreen on the selected window. The screenshot as usual is sent to the clipboard as usual. (I learned this trick while working as an intern while writing sample api docs.)</p>
<p><map name='google_ad_map_127_9360e9f4960b3be9'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/127?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_127_9360e9f4960b3be9' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=127&amp;url= http%3A%2F%2Fhawflakes.unoc.net%2F%3Fp%3D127' /></p>
<p><a href="http://feedads.g.doubleclick.net/~a/1pCV2y3pMekhvb1UJjq89bgKr8s/0/da"><img src="http://feedads.g.doubleclick.net/~a/1pCV2y3pMekhvb1UJjq89bgKr8s/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/1pCV2y3pMekhvb1UJjq89bgKr8s/1/da"><img src="http://feedads.g.doubleclick.net/~a/1pCV2y3pMekhvb1UJjq89bgKr8s/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/JonsProjectBlog/~4/_RR3Ou-p2hk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://hawflakes.unoc.net/?feed=rss2&amp;p=127</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://hawflakes.unoc.net/?p=127</feedburner:origLink></item>
	</channel>
</rss>
