<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-28293948</id><updated>2012-02-06T11:37:45.177-06:00</updated><category term='WebM'/><category term='visualization'/><category term='blah blah cloud'/><category term='Internet'/><category term='wireless'/><category term='encoding'/><category term='Linux'/><category term='BGP'/><category term='video'/><category term='IP'/><category term='windows'/><category term='ssim'/><category term='h.264'/><category term='graph'/><category term='ntp'/><category term='networking'/><category term='bufferbloat'/><category term='3G'/><category term='x264'/><category term='time'/><title type='text'>malayter.com</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.malayter.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blog.malayter.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>RPM</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-28293948.post-5209387144701431445</id><published>2012-02-06T10:58:00.000-06:00</published><updated>2012-02-06T11:37:45.185-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IP'/><category scheme='http://www.blogger.com/atom/ns#' term='bufferbloat'/><category scheme='http://www.blogger.com/atom/ns#' term='wireless'/><category scheme='http://www.blogger.com/atom/ns#' term='networking'/><category scheme='http://www.blogger.com/atom/ns#' term='3G'/><title type='text'>Bufferbloat on a 3G network</title><content type='html'>I've been experiencing terrible network performance lately on Sprint's 3G (&lt;a href="http://www.wisegeek.com/what-is-evdo.htm"&gt;EVDO&lt;/a&gt;) network in downtown Chicago. I have both a Sprint Mobile Broadband card for my laptop and an iPhone 4S on Sprint's network. Sprint&amp;nbsp;performance&amp;nbsp;used to be fantastic compared with AT&amp;amp;T and Verizon mobile data networks in Chicago, but the introduction of the iPhone on Sprint seems to have caused some capacity problems. The worst spot I've come across seems to be the &lt;a href="http://maps.google.com/maps?q=Ogilvie+Transportation+Center,+West+Madison+Street,+Chicago,+IL&amp;amp;hl=en&amp;amp;sll=37.0625,-95.677068&amp;amp;sspn=36.315864,72.070313&amp;amp;oq=ogilvie+transportation&amp;amp;hq=Ogilvie+Transportation+Center,&amp;amp;hnear=W+Madison+St,+Chicago,+Illinois&amp;amp;t=h&amp;amp;z=13"&gt;Ogilvie&lt;/a&gt; train station.&lt;br /&gt;&lt;br /&gt;I decided to run some diagnostics from my laptop in the area during a busy rush hour. I expected to see that the network was just hopelessly oversubscribed, with high packet loss. This is a very busy commuter train station, and there are probably tens of thousands of 3G smart-phones in the vicinity at rush hour. There's also lots of mirrored glass and steel in the high-rise buildings above - basically it's the worst "urban canyon" radio environment imaginable.&lt;br /&gt;&lt;br /&gt;However, some simple ping tests from my laptop broadband card showed &lt;i&gt;almost no packet loss&lt;/i&gt;. What these simple tests&amp;nbsp;revealed&amp;nbsp;instead was a problem I previously thought carriers knew to avoid and only really affected consumer devices: "&lt;a href="http://www.bufferbloat.net/projects/bloat/wiki/Introduction"&gt;buffer bloat&lt;/a&gt;".&lt;br /&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-4uf2qjcCz_A/Ty_cGuXdUMI/AAAAAAAAANw/O0lgGlDjEe4/s1600/BufferBloat.png" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="226" src="http://4.bp.blogspot.com/-4uf2qjcCz_A/Ty_cGuXdUMI/AAAAAAAAANw/O0lgGlDjEe4/s320/BufferBloat.png" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Click to embiggen&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;The data in this chart was collected on Friday, 3 February 2012 starting at 5:03 PM. I ran a simple ping test from my laptop to the first-hop router on the 3G connection, so I was essentially only testing the "wireless" part of the network. I presume that Sprint has fiber-based backhaul from their towers in downtown Chicago that have plenty of bandwidth.&lt;br /&gt;&lt;br /&gt;The&amp;nbsp;minimum&amp;nbsp;round-trip time observed was 92 ms, which is similar to what I see on 3G networks in uncongested locations. However, ping times varied wildly, and the worst&amp;nbsp;round&amp;nbsp;trip time was &lt;b&gt;&lt;i&gt;over 1.7 seconds.&lt;/i&gt;&lt;/b&gt;&amp;nbsp;&lt;facepalm&gt;. An RTT this long is disastrous from a user experience standpoint. It means, for example, that connecting to a HTTPS-enabled site takes nearly 7 seconds before the first bit of the HTML web page is transferred to the client.&lt;/facepalm&gt;&lt;br /&gt;&lt;br /&gt;There was no other network activity on my laptop at all, so this insane result seems to have come from the 3G network itself.&amp;nbsp;It looks to me as though Sprint has massively over-sized the buffers on their wireless towers. There is really no excuse for this at all given the recent attention buffer bloat has received in the networking community. I can't think of any circumstance beyond perhaps&amp;nbsp;satellite communications&amp;nbsp;where holding on to an IP packet for 1.5 seconds is at all reasonable.&lt;br /&gt;&lt;br /&gt;Now, I suppose the problem could be caused by&amp;nbsp;&lt;i&gt;upstream &lt;/i&gt;buffering on the laptop. But as I said there was no other activity, confirmed by the wireless card's byte counters. Even if a flow-control mechanism in EVDO was telling my laptop not to transmit, or even telling it to &lt;i&gt;re-transmit&lt;/i&gt; previous data, there should not be 1.5&amp;nbsp;seconds&amp;nbsp;of buffering in the card or its drivers. An IP packet 1.5 seconds old should just be dropped.&lt;br /&gt;&lt;br /&gt;I plan on doing more testing in the near future, but I have to ask the mobile networking experts out there: am I totally mis-interpreting the data from this admittedly simple test? Is this buffering something inherent in CDMA technology? Can anybody think of a test to see if it is the OS or driver buffers holding on to the packets for so long (I don' think Wireshark would work for this). Obviously I don't have access to hardware-based radio testing equipment, so software tests are all I can really do.&lt;br /&gt;&lt;br /&gt;Assuming the problem is actually the downstream buffers in the tower, Sprint really needs to adjust their buffer sizes and start dropping some packets to make their 3G network usable again.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Technical details of equipment used in the test: Dell D430 laptop, Windows 7&amp;nbsp;current&amp;nbsp;with all patches and service packs, Dell-Novatel Wireless 5720 Sprint Mobile Broadband (EVDO-Rev A) card with firmware version 145 and driver version 3.0.3.0.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28293948-5209387144701431445?l=blog.malayter.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.malayter.com/feeds/5209387144701431445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28293948&amp;postID=5209387144701431445' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/5209387144701431445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/5209387144701431445'/><link rel='alternate' type='text/html' href='http://blog.malayter.com/2012/02/bufferbloat-on-3g-network.html' title='Bufferbloat on a 3G network'/><author><name>RPM</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-4uf2qjcCz_A/Ty_cGuXdUMI/AAAAAAAAANw/O0lgGlDjEe4/s72-c/BufferBloat.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28293948.post-7039788944052140081</id><published>2012-01-06T13:42:00.000-06:00</published><updated>2012-01-06T22:27:55.221-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BGP'/><category scheme='http://www.blogger.com/atom/ns#' term='visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='graph'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><category scheme='http://www.blogger.com/atom/ns#' term='blah blah cloud'/><title type='text'>What the Internet looks like in 2012</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-SK5uodqrN88/TwdNlYnpRbI/AAAAAAAAANk/v7UFdIemteQ/s1600/Internet_20120101_large.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-SK5uodqrN88/TwdNlYnpRbI/AAAAAAAAANk/v7UFdIemteQ/s400/Internet_20120101_large.jpg" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;i&gt;Click to zoom&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;This is a graph of links between visible&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Autonomous_system_(Internet)"&gt;Autonomous Systems&lt;/a&gt; on the Internet generated from public &lt;a href="http://archive.routeviews.org/oix-route-views/2012.01/"&gt;BGP routing tables&lt;/a&gt; early on 1 Jan 2012. Each link of each AS path in the BGP data is represented as an edge, with duplicates removed. The data was then graphed using the &lt;i&gt;twopi&lt;/i&gt; layout tool from &lt;a href="http://www.graphviz.org/"&gt;Graphviz&lt;/a&gt;. Links to the top twelve most-connected service provider networks are highlighted in color, with all other AS links in white.&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;I'm struck by the sheer density of connectivity on the modern Internet. Each of the 94865 lines on this graph represents &lt;i&gt;at least one&lt;/i&gt; physical link between organizations. But in the case of larger networks that same thin line might represent &lt;i&gt;dozens &lt;/i&gt;of routers and 10 Gb/s fibers at many locations throughout the world.&lt;/div&gt;&lt;br /&gt;It&amp;nbsp;certainly&amp;nbsp;looks as&amp;nbsp;&lt;a href="http://www.rand.org/about/history/baran.html"&gt;robust&lt;/a&gt;&amp;nbsp;as originally intended, but also chaotic and disordered. Surely no government, organization, or evil genius bent on world domination could possibly control all those links. The sooner our politicians figure that out, the better.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28293948-7039788944052140081?l=blog.malayter.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.malayter.com/feeds/7039788944052140081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28293948&amp;postID=7039788944052140081' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/7039788944052140081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/7039788944052140081'/><link rel='alternate' type='text/html' href='http://blog.malayter.com/2012/01/what-internet-looks-like-in-2012.html' title='What the Internet looks like in 2012'/><author><name>RPM</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-SK5uodqrN88/TwdNlYnpRbI/AAAAAAAAANk/v7UFdIemteQ/s72-c/Internet_20120101_large.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28293948.post-9050166830646628163</id><published>2011-01-12T22:00:00.018-06:00</published><updated>2012-01-06T22:19:44.682-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='WebM'/><category scheme='http://www.blogger.com/atom/ns#' term='x264'/><category scheme='http://www.blogger.com/atom/ns#' term='h.264'/><title type='text'>H.264 versus WebM</title><content type='html'>There's been a lot of noise recently about Google's supposedly "free" &lt;a href="http://en.wikipedia.org/wiki/WebM"&gt;WebM&lt;/a&gt; video format versus the widely-used (but patent encumbered) &lt;a href="http://en.wikipedia.org/wiki/H.264"&gt;H.264&lt;/a&gt; video format used by Flash, Apple devices, Blu-Ray players, and just about everything else.&lt;br /&gt;The best &lt;a href="http://compression.ru/video/codec_comparison/h264_2010/vp8_vs_h264.html"&gt;H.264 encoders perform&amp;nbsp;better than WebM's VP8 codec&lt;/a&gt; based on the objective &lt;a href="http://en.wikipedia.org/wiki/SSIM"&gt;SSIM&lt;/a&gt; metric, and the consensus is that H.264 video in general looks "better" at the same bitrate than VP8. But how much better, at "web video" resolutions and bitrates?&lt;br /&gt;I took a number of widley-used HD test clips (which are designed to "stress" video codecs) and concatenated them into one test video. I then encoded the result at 640x360 resolution at 500 kbps.&lt;br /&gt;First, the H.264 sample. I used &lt;a href="http://www.videolan.org/developers/x264.html"&gt;x264&lt;/a&gt; as it seems to be the &lt;a href="http://compression.ru/video/codec_comparison/h264_2010/index.html"&gt;best H.264 encoder&lt;/a&gt; around.&lt;br /&gt;&lt;video controls="controls" height="360" poster="http://sites.google.com/site/malayter1/files/all_vids_360p_poster.jpg" preload="none" width="640"&gt;&lt;source src="http://sites.google.com/site/malayter1/files/all_vids_360p_500k_h264hi31.mp4?attredirects=0" type="video/mp4"&gt;&lt;/source&gt;&lt;b&gt;Your browser doesn't seem to support the HTML5 video tag for MP4 videos. Here is a link to the &lt;a href="http://sites.google.com/site/malayter1/files/all_vids_360p_500k_h264hi31.mp4?attredirects=0"&gt;H.264 sample video&lt;/a&gt;.&lt;/b&gt;&lt;/video&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: xx-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: xx-small;"&gt;x264 core:110 r1820 fdcf2ae&lt;br /&gt;&lt;br /&gt;x264 --preset veryslow --tune film -B 500 --threads 0 --pass 1 -o all_vids_360p_500k_h264hi31.mp4 all_vids_360p.y4m&lt;br /&gt;x264 --preset veryslow --tune film -B 500 --threads 0 --pass 2 -o all_vids_360p_500k_h264hi31.mp4 all_vids_360p.y4m&lt;br /&gt;&lt;br /&gt;pass 1: 62.66 fps,&amp;nbsp;pass 2: 32.48 fps,&amp;nbsp;total encode rate: 21.39 fps,&amp;nbsp;final bitrate: 502.10 kbps&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Next, the WebM sample, encoded with the vpxenc tool provided by the WebM project. &lt;video controls="controls" height="360" poster="http://sites.google.com/site/malayter1/files/all_vids_360p_poster.jpg" preload="none" width="640"&gt;&lt;source src="https://sites.google.com/site/malayter1/files/all_vids_360p_500k.webm?attredirects=0" type="video/webm"&gt;&lt;/source&gt;&lt;b&gt;Your browser doesn't seem to support the HTML5 video tag. Here is a link to the &lt;a href="http://sites.google.com/site/malayter1/files/all_vids_360p_500k.webm?attredirects=0"&gt;WebM sample video&lt;/a&gt;.&lt;/b&gt;&lt;/video&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: xx-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: xx-small;"&gt;vpxenc WebM Project VP8 Encoder v0.9.5&lt;br /&gt;&lt;br /&gt;vpxenc all_vids_360p.y4m -o all_vids_360p_500k.webm -p 2 -t 8 --best --target-bitrate=500 --end-usage=0 --auto-alt-ref=1 -v --minsection-pct=5 --maxsection-pct=800 --lag-in-frames=16 --kf-min-dist=0 --kf-max-dist=250 --static-thresh=0 --drop-frame=0 --min-q=0 --max-q=60&lt;br /&gt;&lt;br /&gt;pass 1: 71.36 fps,&amp;nbsp;pass 2: 8.88 fps,&amp;nbsp;total encode rate: 7.90 fps,&amp;nbsp;final bitrate: 508.298 kbps&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now, the WebM sample looks pretty good, except for the "tough spots" such as the flames, water, and fade transitions. It also seems "softer" overall than the H.264 video. Clearly, VP8 has improved with the latest 0.9.5 release, but it is still not close to H.264 at "web video" sizes and bitrates.&lt;br /&gt;Of course, if you throw enough bits at the problem, the differences between codecs start to disappear. I was unable to see much of a difference between H.264 and WebM using the same clips at triple the bitrate (1500 kbps). However, such a high bitrate for a low-res 640x360 video would be very uncommon. YouTube, for example, uses ~500 kbps for the 640x360 rendition of a video.&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;i&gt;&lt;a href="http://media.xiph.org/video/derf/"&gt;Source&lt;/a&gt; of lossless HD test clips used in this video, which were resized to 640x360 before encoding.&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28293948-9050166830646628163?l=blog.malayter.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.malayter.com/feeds/9050166830646628163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28293948&amp;postID=9050166830646628163' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/9050166830646628163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/9050166830646628163'/><link rel='alternate' type='text/html' href='http://blog.malayter.com/2011/01/h264-versus-webm.html' title='H.264 versus WebM'/><author><name>RPM</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28293948.post-187633502331544634</id><published>2010-12-14T20:44:00.029-06:00</published><updated>2010-12-15T16:38:06.237-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='ssim'/><category scheme='http://www.blogger.com/atom/ns#' term='encoding'/><category scheme='http://www.blogger.com/atom/ns#' term='x264'/><category scheme='http://www.blogger.com/atom/ns#' term='h.264'/><title type='text'>Presets versus quality in x264 encoding</title><content type='html'>&lt;p&gt;I'm scoping a project that will require re-encoding a large training video library into HTML5 and Flash-compatible formats. As of today, this means using H.264-based video for best compatability and quality (although &lt;a href="http://www.webmproject.org/"&gt;WebM&lt;/a&gt; might become an option in a year or two).&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The open source x264 is widely considered the &lt;a href="http://compression.ru/video/codec_comparison/h264_2010/"&gt;state of the art in H.264 encoders&lt;/a&gt;. Given the large amount of source video we need to convert as part of the project, finding the optimal trade-off between encoding speed and quality with x264-based encoders (&lt;a href="http://www.videolan.org/developers/x264.html"&gt;x264&lt;/a&gt; itself, &lt;a href="http://www.ffmpeg.org/"&gt;FFmpeg&lt;/a&gt;, &lt;a href="http://www.mplayerhq.hu/design7/news.html"&gt;MEencoder&lt;/a&gt;, &lt;a href="http://handbrake.fr/"&gt;HandBrake&lt;/a&gt;, etc.) is important.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;So I created a 720p video comprised of several popular video test sequences concatenated together. All of these sequences are from lossless original sources, so we are not re-compressing the artifacts of another video codec. The sequences are designed to torture video codecs: scenes include splashing water, flames, slow pans, detailed backgrounds and fast motion. I did several two-pass 2500 kbps encodings using the x264 presets distributed with the x264 command line encoder (version 0.110.1820 fdcf2ae). Excepting the "ultrafast" preset, which does not use B-frames and was dropped from the charts as an extreme outlier, all of the presets created files that varied by less than 0.2% in bitrate.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Here is the actual encoding command used in the test:&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;x264 --preset {presetname} -B 2500 --ssim --pass {1|2} -o {output}.mp4 input.y4m&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The mean luminance &lt;a href="http://en.wikipedia.org/wiki/SSIM"&gt;SSIM&lt;/a&gt; (as reported by x264) was used as the objective quality metric in my tests. Yes, I know about the weaknesses of using arithmetic means for video metrics, and the benefits of &lt;a href="http://en.wikipedia.org/wiki/Box_plot"&gt;box-and-whisker&lt;/a&gt; plots for showing variance between frames. However, a single number is quite illustrative, especially since we are testing the same basic codec at the same bitrate with marginally differing tunings. This was a quick-and-dirty test. If I find the time to get avisynth working correctly on my Windows 7 x64 machine I will update the plots to include variance information.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Here's a quick and dirty chart (click to enlarge):&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_kmp1khwwjgM/TQk9Aafv5mI/AAAAAAAAACA/Uhb_tgOKlgE/s1600/ssim_chart.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 288px;" src="http://4.bp.blogspot.com/_kmp1khwwjgM/TQk9Aafv5mI/AAAAAAAAACA/Uhb_tgOKlgE/s400/ssim_chart.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5551035093032625762" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;I was quite surprised that there was only a 0.75 dB difference in mean SSIM from the &lt;span style="font-style:italic;"&gt;veryfast &lt;/span&gt;to &lt;span style="font-style:italic;"&gt;placebo &lt;/span&gt;presets, despite placebo being &lt;span style="font-style:italic;"&gt;68 times slower&lt;/span&gt; than &lt;span style="font-style:italic;"&gt;veryfast &lt;/span&gt;mode. I would have expected much more quality improvement for the CPU effort expended, given that &lt;span style="font-style:italic;"&gt;placebo &lt;/span&gt;was producing just 1.5 fps on an eight-core machine. From a subjective standpoint, the results are indistinguishable to me, even going frame-by-frame through tough sections of the video.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Needless to say, all of my x264 encoding will now be done with &lt;span style="font-style:italic;"&gt;medium &lt;/span&gt; preset or faster. Decoding a lossless source video for re-encoding became the bottleneck with &lt;span style="font-style:italic;"&gt;medium&lt;/span&gt; presets or faster. If there is interest, please leave a comment, and I will find a hosting spot for the &lt;span style="font-style:italic;"&gt;lossless&lt;/span&gt;, &lt;span style="font-style:italic;"&gt;veryfast&lt;/span&gt;, and &lt;span style="font-style:italic;"&gt;placebo&lt;/span&gt; versions of the video so others can compare, reproduce, or extend this simple test.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28293948-187633502331544634?l=blog.malayter.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.malayter.com/feeds/187633502331544634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28293948&amp;postID=187633502331544634' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/187633502331544634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/187633502331544634'/><link rel='alternate' type='text/html' href='http://blog.malayter.com/2010/12/presets-versus-quality-in-x264-encoding.html' title='Presets versus quality in x264 encoding'/><author><name>RPM</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_kmp1khwwjgM/TQk9Aafv5mI/AAAAAAAAACA/Uhb_tgOKlgE/s72-c/ssim_chart.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28293948.post-690702598642326914</id><published>2008-12-11T09:31:00.024-06:00</published><updated>2008-12-11T10:36:42.388-06:00</updated><title type='text'>Did ND get any better in 2008?</title><content type='html'>With all the talk about the potential firing of Charlie Weis (which ultimately didn't happen) I thought I would ask this question: did the Irish improve substantially between 2007 and 2008?&lt;br /&gt;&lt;br /&gt;The most obvious way to answer this is to use the computer polls. I chose the &lt;A href="http://www.colleyrankings.com/foot2008/rank14.html"&gt;Colley Matrix&lt;/A&gt;, which is part of the BCS formula, since it has a characteristic that makes comparing teams year-to-year straightforward. All teams in this computer poll are inherently normalized to a rating of 0.5, which makes comparisons year-to-year much more valid.&lt;br /&gt;&lt;br /&gt;Here's what it looks like (pre-bowl games for both years):&lt;br /&gt;&lt;style type="text/css"&gt;.nobrtable br { display: none }&lt;/style&gt;&lt;br /&gt;&lt;div class="nobrtable"&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="1" border="1"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;Year&lt;/td&gt;&lt;br /&gt;&lt;td&gt;Ranking&lt;/td&gt;&lt;br /&gt;&lt;td&gt;Rating&lt;/td&gt;&lt;br /&gt;&lt;td&gt;Record&lt;/td&gt;&lt;br /&gt;&lt;td&gt;Strength of Schedule&lt;/td&gt;&lt;br /&gt;&lt;td&gt;Schedule Rank&lt;/td&gt;&lt;br /&gt;&lt;td&gt;Best win&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;2008&lt;/td&gt;&lt;br /&gt;&lt;td&gt;58&lt;/td&gt;&lt;br /&gt;&lt;td&gt;0.529&lt;/td&gt;&lt;br /&gt;&lt;td&gt;6-6&lt;/td&gt;&lt;br /&gt;&lt;td&gt;0.533&lt;/td&gt;&lt;br /&gt;&lt;td&gt;44&lt;/td&gt;&lt;br /&gt;&lt;td&gt;#45 NAVY&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;2007&lt;/td&gt;&lt;br /&gt;&lt;td&gt;90&lt;/td&gt;&lt;br /&gt;&lt;td&gt;0.375&lt;/td&gt;&lt;br /&gt;&lt;td&gt;3-9&lt;/td&gt;&lt;br /&gt;&lt;td&gt;0.604&lt;/td&gt;&lt;br /&gt;&lt;td&gt;10&lt;/td&gt;&lt;br /&gt;&lt;td&gt;#46 UCLA&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;First off, it is clear that the team was much better this year. The rating differential of 0.154 is the same as the differential between 2008 Ohio State and 2008 Cal - clearly a big step forward.&lt;br /&gt;&lt;br /&gt;Secondly, the "weak schedule" of 2008 turned out to be not-so-weak: it was a lot tougher than the 86th-ranked "mighty SEC" schedule played by Alabama, for example. Tougher than 6 of the top 10 teams in 2008 in fact.&lt;br /&gt;&lt;br /&gt;Yes, the team still looked inept at times. And the loss to Syracuse was frankly unforgivable. But there were also many bright spots in 2008 as well. Michael Floyd and Golden Tate are going to be one of the best WR tandems in the country next year. The defense improved. Claussen looked better. Special teams looked better, with even Brandon Walker finishing the year strong.&lt;br /&gt;&lt;br /&gt;In the end, I'm glad Charlie is staying for another year. The last thing ND needs is to hit the reset button on the program without having locked up a great successor. Willingham was fired because Urban Meyer was on the market, and ND failed to land him, so we have Weis. There is no Urban Meyer out there this year. Until there is a can't-miss candidate available, and it is clear that he will actually take the ND job, Weis is the better option.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28293948-690702598642326914?l=blog.malayter.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.malayter.com/feeds/690702598642326914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28293948&amp;postID=690702598642326914' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/690702598642326914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/690702598642326914'/><link rel='alternate' type='text/html' href='http://blog.malayter.com/2008/12/did-nd-get-any-better-in-2008.html' title='Did ND get any better in 2008?'/><author><name>RPM</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28293948.post-1193273320801707993</id><published>2008-03-10T12:18:00.013-05:00</published><updated>2008-03-10T14:44:15.888-05:00</updated><title type='text'>Network-focused analysis of the Windows Time Service</title><content type='html'>Due to some recent posts on the &lt;a href="http://groups.google.com/group/comp.protocols.time.ntp/browse_frm/thread/6f57d8a99d55122a/6a346d6c63481cc6#6a346d6c63481cc6"&gt;comp.protocols.time.ntp&lt;/a&gt; newsgroup, I took it upon myself to investigate the behavior of the Windows Time Service a bit further using the &lt;a href="http://www.wireshark.org/"&gt;Wireshark&lt;/a&gt; protocol analyzer.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;It appears that in Windows XP, 2003, and Vista, the Windows Time Service (w32time) will by default always try to form a "&lt;a href="http://http//www.cis.udel.edu/~mills/ntp/html/assoc.html#symact"&gt;symmetric active&lt;/a&gt;" association with configured NTP servers. This can be problematic with some time servers, violates the published &lt;a href="http://www.faqs.org/rfcs/rfc1305.html"&gt;RFC-1305&lt;/a&gt; specification, and is not necessary. I could find no explanation on Microsoft's site for this behavior; I suspect it has something to do with interoperability with older Windows 2000 domain controllers that had very broken NTP.&lt;br /&gt;&lt;br /&gt;However, there is a simple workaround. You can simply add ",0x8" to the end of any configured time server, and Windows will only use a client-mode association. For example, the command:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;"&gt;w32tm /configure /manualpeerlist:"0.pool.ntp.org,0x8 1.pool.ntp.org,0x8 2.pool.ntp.org,0x8" /syncfromflags:MANUAL /update&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;will configure your Windows machine to form client-mode associations with three different &lt;a href="http://www.pool.ntp.org/"&gt;NTP Pool&lt;/a&gt; servers.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The minimum polling interval on all Windows machines except domain controllers is set to 1024 seconds by default. Windows domain controllers have a minimum poll interval of 64s.&lt;br /&gt;&lt;br /&gt;This is reasonable as clients usually do not need extremely accurate time. However, quite a few servers that are &lt;em&gt;not&lt;/em&gt; domain controllers &lt;em&gt;do&lt;/em&gt; need to get accurate time offset and frequency synchonization quickly. You can configure "MinPollInterval" and "MaxPollInterval" through the registry or using Group Policy tools, &lt;a href="http://technet2.microsoft.com/windowsserver/en/library/b43a025f-cce2-4c82-b3ea-3b95d482db3a1033.mspx?mfr=true"&gt;as documented here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Important note: never set the minimum poll value to less than 6 (which is 2&lt;sup&gt;6&lt;/sup&gt; = 64 seconds). You won't get better time synchronization, and will be abusing the servers you have configured. Many time server administrators have automated tools that block clients that poll too frequently.&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;/li&gt;&lt;li&gt;Windows Time Service &lt;em&gt;does&lt;/em&gt; follow sensible rules for "backing off" the polling interval, and adjusting the interval to network conditions. In my testing, a Windows Server 2003 domain controller began polling at 64 seconds, and then backed off to one poll every 1024 seconds within about 30 minutes. This is the same behavior as the reference &lt;a href="http://www.ntp.org/"&gt;ntpd&lt;/a&gt; implementation.&lt;br /&gt;&lt;br /&gt;Also, in my tests, Windows Time Service did respond to unreachable servers sensibly, backing off the polling interval to 2&lt;sup&gt;15&lt;/sup&gt;s. However, when a server became unreachable, it did increase polling in steps down to 2&lt;sup&gt;4&lt;/sup&gt;s before reverting to 2&lt;sup&gt;15&lt;/sup&gt;s. This rather strange polling pattern (15-9-9-8-7-6-5-4) continued until the server became reachable again. There have been quite a few &lt;a href="http://en.wikipedia.org/wiki/NTP_vandalism"&gt;problems&lt;/a&gt; in the past caused by NTP implementations that polled too frequently. Fortunatley, the Windows Time Service should not cause problems in this area, as an unreachable server results in an average of one poll every 2&lt;sup&gt;12&lt;/sup&gt;s (about once an hour).&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28293948-1193273320801707993?l=blog.malayter.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.malayter.com/feeds/1193273320801707993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28293948&amp;postID=1193273320801707993' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/1193273320801707993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/1193273320801707993'/><link rel='alternate' type='text/html' href='http://blog.malayter.com/2008/03/configuring-windows-time-service.html' title='Network-focused analysis of the Windows Time Service'/><author><name>RPM</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28293948.post-1716735222993741578</id><published>2007-11-12T08:57:00.001-06:00</published><updated>2007-11-12T12:46:15.351-06:00</updated><title type='text'>A cynic's view on the Sun-Network Appliance lawsuit</title><content type='html'>I've been thinking about the &lt;a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;amp;articleId=9034562"&gt;Sun - &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;NetApp&lt;/span&gt;&lt;/span&gt; lawsuit&lt;/a&gt;, which is an interesting case that highlights what is wrong with the Patent Office in the US. I don't necessarily think that all software patents are bad, and that innovation &lt;em&gt;should&lt;/em&gt; be rewarded with temporary monopoly on a piece of technology.&lt;br /&gt;&lt;br /&gt;However, this lawsuit shouldn't have &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;happened&lt;/span&gt;, because at least one of the patents in question should probably not have been granted in the first place. David &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Hitz&lt;/span&gt;, founder of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Network Appliance&lt;/span&gt;, has a blog in which &lt;a href="http://blogs.netapp.com/dave/2007/09/netapp-sues-sun.html"&gt;he contends that Sun's &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;ZFS&lt;/span&gt;&lt;/span&gt; violates patents held by &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;NetApp&lt;/span&gt;&lt;/span&gt; for their &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;WAFL&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;. If that's truly the case, Sun should certainly be held liable, and should stop publishing &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;ZFS&lt;/span&gt; as open source code. You can't give away what isn't yours.&lt;br /&gt;&lt;br /&gt;The larger issue, in my opinion, is that it seems significant claims of the &lt;a href="http://patft.uspto.gov/netacgi/nph-Parser?u=%2Fnetahtml%2Fsrchnum.htm&amp;amp;Sect1=PTO1&amp;amp;Sect2=HITOFF&amp;amp;p=1&amp;amp;r=1&amp;amp;l=50&amp;amp;f=G&amp;amp;d=PALL&amp;amp;s1=5819292.PN.&amp;amp;OS=PN/5819292&amp;amp;RS=PN/5819292"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;WAFL&lt;/span&gt;&lt;/span&gt; patent&lt;/a&gt; should never have been granted. There exists a significant amount of prior art in the use of a "tree of block pointers" to maintain logical consistency in data storage. Relational database management systems (Oracle, Microsoft &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;SQL&lt;/span&gt; Server&lt;/span&gt;, IBM DB2, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Sybase&lt;/span&gt;&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;PostgreSQL&lt;/span&gt;&lt;/span&gt;, etc.) have been using the same techniques for decades to maintain transaction-consistent indexes and relational data inside databases. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;WAFL&lt;/span&gt;&lt;/span&gt; may indeed be the first &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_11"&gt;implementation&lt;/span&gt; of the idea where the "tree of blocks" points to files in a general-purpose &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_12"&gt;file system&lt;/span&gt;. But in an &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;RDBMS&lt;/span&gt;&lt;/span&gt;, the tree of blocks (tree of index pages) typically points to arbitrary row data in the database. What's the difference? Not much, bits are just bits. The application to a file system seems obvious to me (reasonably skilled in the art), meaning the patent should likely be challenged. Heck, not-so-innovative Microsoft was kicking the same ideas around back in the early 1990s as part of the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;WinFS&lt;/span&gt; file system for the "Chicago" project.&lt;br /&gt;&lt;br /&gt;In fact, I personally designed the database for a document management system that used a "tree of blocks" to store and organize arbitrary file data in Microsoft &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;SQL&lt;/span&gt;&lt;/span&gt; Server back in the late 1990s. This system had point-in-time recovery and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;look-up&lt;/span&gt; capability, based on &lt;a href="http://citeseer.ist.psu.edu/torp99effective.html"&gt;valid time-stamps&lt;/a&gt; in the block pointers (folder and file tables with their indexes). I suppose you could call this a "snapshot" capability. The database took care of transaction logging, &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_14"&gt;check-pointing&lt;/span&gt;, and referential integrity, all of which seem to be additional claims in the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;WAFL&lt;/span&gt; patent.&lt;br /&gt;&lt;br /&gt;I have passable programming skills, I am not an algorithm design guru, and I had certainly never read the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;WAFL&lt;/span&gt;&lt;/span&gt; patents before implementing this "file system on a database". The basic ideas were widely known and used frequently in the database arena. I am not an intellectual property lawyer, but experience leads me to believe there isn't much innovation in the "always-consistent tree of blocks" described in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;WAFL&lt;/span&gt;&lt;/span&gt; patent. They devil may be in the details, I suppose - I have only &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_18"&gt;reviewed&lt;/span&gt; the patent abstract at this point.&lt;br /&gt;&lt;br /&gt;Still, in my opinion, the U.S. Patent Office, as currently constituted, is incapable of identifying true innovation. It grants far too many patents on obvious or derivative technology, especially in the software arena. If they can't get it right, even with the enormous resources at their disposal, they should probably not grant any software patents at all.&lt;br /&gt;&lt;br /&gt;As a side note, this in-house document management system was never widely used, and the project was considered a failure. I believe this was largely the result of a cumbersome legacy ASP-based web front-end, though, not because of deficiencies in the storage engine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28293948-1716735222993741578?l=blog.malayter.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.malayter.com/feeds/1716735222993741578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28293948&amp;postID=1716735222993741578' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/1716735222993741578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/1716735222993741578'/><link rel='alternate' type='text/html' href='http://blog.malayter.com/2007/11/cynics-view-on-sun-network-appliance.html' title='A cynic&apos;s view on the Sun-Network Appliance lawsuit'/><author><name>RPM</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28293948.post-1109089475284700113</id><published>2007-04-23T16:28:00.000-05:00</published><updated>2007-04-23T16:54:10.990-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ntp'/><category scheme='http://www.blogger.com/atom/ns#' term='time'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>time.windows.com fixed</title><content type='html'>Well, it appears that time.windows.com is now fixed, after &lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=300216"&gt;a few weeks of serving up invalid time&lt;/a&gt;. Presumably, the clocks on millions of Windows machines worldwide are now slowly drifting back into synchronization with the rest of humanity.&lt;br /&gt;&lt;br /&gt;I find it rediculous that such a problem could go unnoticed and unfixed by Microsoft for so long, and that it took a Microsoft participant on a programmer's blog reading about it to track down and correct the issue.&lt;br /&gt;&lt;pre&gt;&lt;span style="font-size:85%;"&gt;U:\&gt;w32tm /monitor /computers:time.windows.com,us.pool.ntp.org&lt;br /&gt;time.windows.com [207.46.130.100]:&lt;br /&gt;    NTP: &lt;strong&gt;&lt;span style="color:#cc0000;"&gt;+0.0541156s offset from local clock&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;        RefID: time-nw.nist.gov [131.107.1.10]&lt;br /&gt;us.pool.ntp.org [66.91.129.70]:&lt;br /&gt;    NTP: +0.0293621s offset from local clock&lt;br /&gt;        RefID: bigben.ucsd.edu [132.239.1.6]&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28293948-1109089475284700113?l=blog.malayter.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://malayter.blogspot.com/2007/04/timewindowscom-is-broken-is-your-clock.html' title='time.windows.com fixed'/><link rel='replies' type='application/atom+xml' href='http://blog.malayter.com/feeds/1109089475284700113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28293948&amp;postID=1109089475284700113' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/1109089475284700113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/1109089475284700113'/><link rel='alternate' type='text/html' href='http://blog.malayter.com/2007/04/timewindowscom-fixed.html' title='time.windows.com fixed'/><author><name>RPM</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28293948.post-4128929586809409404</id><published>2007-04-13T15:08:00.000-05:00</published><updated>2007-04-13T15:28:56.436-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ntp'/><category scheme='http://www.blogger.com/atom/ns#' term='time'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>time.windows.com is broken... is your clock off too?</title><content type='html'>It seems that &lt;strong&gt;time.windows.com&lt;/strong&gt; is broken, reporting unsynchronized time off by two minutes or more. Why is this a big deal? Time.windows.com is the default Network Time Protocol server used by the Windows Time Service in Windows XP, 2003, and Vista systems. So there are literally &lt;em&gt;millions&lt;/em&gt; of systems out there without an accurate source of internet time.&lt;br /&gt;&lt;br /&gt;I have personally reported the issue to Microsoft, and Akamai as well (they seem to host the actual servers). But there has been no response from either for several days. Reports on the internet indicate that time.windows.com has been broken for at least a week!&lt;br /&gt;&lt;br /&gt;Fortunately, it is easy to switch to a different time server. If your computer is part of a Windows domain at your workplace, it will get time from your domain controller by default, so you don't need to do anything. If your system &lt;em&gt;is&lt;/em&gt; a domain controller, or is stand-alone, you should run these commands: &lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;C:\&gt;w32tm /config /manualpeerlist:"us.pool.ntp.org,0x8" /syncfromflags:MANUAL /update&lt;br /&gt;C:\&gt;w32tm /resync /rediscover&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Note these commands do not work on Windows 2000. For that the command would be:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;C:\&gt;net time /SETSNTP:us.pool.ntp.org&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;What is &lt;em&gt;us.pool.ntp.org&lt;/em&gt;? It is the United States address for the global &lt;a href="http://www.pool.ntp.org/"&gt;NTP Pool Project&lt;/a&gt;. You can substitute your own two-letter country code for the "us" portion if you are not in the continental United States. If you're in London, for example, use &lt;em&gt;uk.pool.ntp.org.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;The ",0x8" after the time server name tells Windows to use a client-mode association with the time server. This isn't strictly necessary, but the proper way to configure an NTP client talking to an NTP server. If you don't use it, Windows checks the time exactly once per hour, rather than adjusting its time-checking interval automatically based on clock performance and network conditions.&lt;br /&gt;&lt;br /&gt;One final note, do &lt;em&gt;not&lt;/em&gt; use popular "stratum-1" time servers to synchronize your client. These systems are typically run by national standards laboratories (an example would be &lt;em&gt;time-a.nist.gov&lt;/em&gt;). These time servers are quite overloaded, and Windows systems cannot use the increased accuracy they provide anyway (the Windows Time Service is only accurate to about 16ms). The NTP Pool Project was started for the specific purpose of reducing the load on the Internet's stratum-1 time-keepers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28293948-4128929586809409404?l=blog.malayter.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.malayter.com/feeds/4128929586809409404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28293948&amp;postID=4128929586809409404' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/4128929586809409404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/4128929586809409404'/><link rel='alternate' type='text/html' href='http://blog.malayter.com/2007/04/timewindowscom-is-broken-is-your-clock.html' title='time.windows.com is broken... is your clock off too?'/><author><name>RPM</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28293948.post-4354808660201304323</id><published>2007-04-01T15:31:00.000-05:00</published><updated>2007-04-13T15:53:11.857-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Linux plunge not working out so well</title><content type='html'>So I don't think Linux is ready for laptops. Well, &lt;em&gt;my&lt;/em&gt; laptop anyway.&lt;br /&gt;&lt;br /&gt;The first problem I encountered was with screen resolution. I didn't have an option for the "native" 1280x800 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;widescreen&lt;/span&gt; resolution of my Dell 700m. After digging through the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Ubuntu&lt;/span&gt; support forums, I discovered that I had to install a small utility called 915resolution. It was a minor pain to track this down, as there were several contradictory sets of instructions found with Google, but running this command:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;sudo&lt;/span&gt; apt-get install 915resolution&lt;/span&gt;&lt;br /&gt;and restarting seemed to fix things.&lt;br /&gt;&lt;br /&gt;My next problem was with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;WiFi&lt;/span&gt;. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Ubuntu's&lt;/span&gt; network management applet didn't show any available wireless networks, despite the fact that I know there are dozens nearby my home. Reboot into Windows, do some more browsing, and discover some diagnostic tests to run. Boot back into &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Ubunutu&lt;/span&gt;. It appears that command-line tools &lt;em&gt;can &lt;/em&gt;see wireless networks nearby, but &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Ubuntu's&lt;/span&gt; GUI is broken and doesn't list them. I could deal with having to run a few commands to connect, but...&lt;br /&gt;&lt;br /&gt;It also seems that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Ubuntu&lt;/span&gt; does not support &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Wifi&lt;/span&gt; Protected Access 2 (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;WPA&lt;/span&gt;2) wireless access points out of the box. This is a much bigger deal, as my home network is all &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;WPA&lt;/span&gt;2 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;WiFi&lt;/span&gt;, and I will not "downgrade" to any version of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;WEP&lt;/span&gt;, as it is woefully insecure.&lt;br /&gt;&lt;br /&gt;So I boot back into Windows, and do a few more hours of research. There are &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;WPA&lt;/span&gt; tools for Debian-derived Linux systems, and some folks have gotten them to work. But I was really unwilling to go down this route, as the documented procedures were pages long, and involved running a command line utility to generate a password hash for each new network I wanted to use. Not exactly useful for someone who needs to do work on the go.&lt;br /&gt;&lt;br /&gt;Finally, I looked into getting support for my Sprint Mobile Broadband Card, which provides about 1 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Mbps&lt;/span&gt; download speed just about anywhere. This little device is my lifeline for work. From what I read on the net (again scattered over dozens of contradictory sites), there is almost no driver support at all for these mobile Wireless cards in Linux. To get something working, I would have to modify some available driver for another device and compile it into my kernel.&lt;br /&gt;&lt;br /&gt;So I gave up. I have a family, and a job, and I just wanted to get some work done. Right now, at least, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;Ubuntu&lt;/span&gt; doesn't have enough mobile device support for my needs.&lt;br /&gt;&lt;br /&gt;And I know all the Linux &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;fanboys&lt;/span&gt; out there will call me an 1d10t n00b, and blame the hardware manufacturers for not releasing good open-source drivers. But you know what? I don't care. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;Ubuntu&lt;/span&gt; failed me. Going mobile with Windows &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;XP&lt;/span&gt; is light-years easier by comparison, and I'm not going to switch to something that requires so much manual configuration each time I want to work on the road.&lt;br /&gt;&lt;br /&gt;Maybe I'll try a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;MacBook&lt;/span&gt; instead.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28293948-4354808660201304323?l=blog.malayter.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.malayter.com/feeds/4354808660201304323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28293948&amp;postID=4354808660201304323' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/4354808660201304323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/4354808660201304323'/><link rel='alternate' type='text/html' href='http://blog.malayter.com/2007/04/linux-plunge-not-working-out-so-well.html' title='Linux plunge not working out so well'/><author><name>RPM</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28293948.post-4540244741961753884</id><published>2007-03-23T16:49:00.000-05:00</published><updated>2007-03-23T17:11:46.943-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Taking the Linux plunge</title><content type='html'>So I've got a decade or so of Windows-based &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;network&lt;/span&gt; administration experience. However, my formal computer science education was rooted in Unix back in the early 1990s. We used Sun workstations exclusively back then, and almost all programming was in C or Scheme. I even wrote a simple C compiler.&lt;br /&gt;&lt;br /&gt;But my first job was at a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Netware&lt;/span&gt;&lt;/span&gt; 3.X shop, which we transitioned to Windows NT 3.51, and I've been managing large, multi-site, but mostly-Windows networks ever since. (I've also done a lot of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;DBA&lt;/span&gt;&lt;/span&gt; and security work too). So I'm not a neophyte when it comes to IT, but I don't have much Linux experience, as none of the jobs or projects I've worked on used Linux.&lt;br /&gt;&lt;br /&gt;I finally decided to install Linux and actually try to use the thing regularly. I've done "toy installs" of various Linux and BSD flavors over the years, mostly in in Virtual machines. But this was my first real go at using Linux regularly.&lt;br /&gt;&lt;br /&gt;I picked &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Ubuntu&lt;/span&gt;&lt;/span&gt; 6.10 as my distribution, based mostly on reputation as the simplest Linux to get working.&lt;br /&gt;&lt;br /&gt;But first, I had to partition my hard disk on my Dell 700m so I could dual-boot. No problem; I've used &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;PartitionMagic&lt;/span&gt;&lt;/span&gt; before. But &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;QTpartEd&lt;/span&gt;&lt;/span&gt; from the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;bootable&lt;/span&gt;&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Knoppix&lt;/span&gt;&lt;/span&gt; CD can also shrink and existing &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;NTFS&lt;/span&gt;&lt;/span&gt; partition, so I used that, and it worked like a champ: 40 GB for my existing Windows &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;XP&lt;/span&gt;&lt;/span&gt; Pro installation, and 20 GB of empty space for Linux.&lt;br /&gt;&lt;br /&gt;Not exactly "my mom can do it" easy, but not the sort of thing that's necessary unless you want to dual-boot.&lt;br /&gt;&lt;br /&gt;After downloading &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Ubuntu&lt;/span&gt;&lt;/span&gt; 6.10 installer and burning it to CD, I fired it up in my road-weary Dell. A nice GUI installer comes up, and asks a few sensible questions. Then it asks where I want to install. But the default option is to erase the entire disk and devote it to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;Ubuntu&lt;/span&gt;&lt;/span&gt;!&lt;br /&gt;&lt;br /&gt;Now, not even Microsoft has the gall to default to "erase everything else" the Windows installer. But choosing the "use largest free space" option was easy enough. So I'll forgive this, and I'm sure there would have been lots of warnings to prevent me from killing my Windows partition if I had chosen the default option.&lt;br /&gt;&lt;br /&gt;Now click through a few more sensible screens, wait 20 minutes or so for files to copy, and then a reboot. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;Ubuntu&lt;/span&gt;&lt;/span&gt; comes up in all its earthy (that is, very very brown) glory.&lt;br /&gt;&lt;br /&gt;All in all, a simple install. Simpler than Windows &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;XP&lt;/span&gt;&lt;/span&gt;, in fact, and about the same as Vista.&lt;br /&gt;&lt;br /&gt;But now the real fun begins, as I try to use this thing regularly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28293948-4540244741961753884?l=blog.malayter.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.malayter.com/feeds/4540244741961753884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28293948&amp;postID=4540244741961753884' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/4540244741961753884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/4540244741961753884'/><link rel='alternate' type='text/html' href='http://blog.malayter.com/2007/03/taking-linux-plunge.html' title='Taking the Linux plunge'/><author><name>RPM</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28293948.post-115628776858461278</id><published>2006-08-22T17:57:00.001-05:00</published><updated>2006-08-23T08:56:32.110-05:00</updated><title type='text'>Cooperative backup and archiving</title><content type='html'>After testing my company's shiny, new 100 Mbps internet service from &lt;a href="http://www.cogentco.com"&gt;Cogent&lt;/a&gt;, I was struck with an idea. Plenty of companies out there offer internet-based backup service, but most of these are priced per-gigabyte-per-month and are prohibitively expensive. Especially when you consider that our full backup sets are typically 600 GB in compressed form, and we of course want to store daily incrementals for several months.&lt;br /&gt;&lt;br /&gt;My idea: find another Cogent subscriber, and enter into a mutual backup agreement. That is, we buy a storage server to sit on their site, and they buy one to sit on ours. We can then exchange backup traffic, eliminating the need to shuffle tapes and send them off-site. Many large enterprises already do this with SAN hardware replication; however this would be a budget "roll your own" solution.&lt;br /&gt;&lt;br /&gt;There exist several open-source distributed storage systems that might help, however, none seem ready for prime-time yet. I feel quite a lot could be accomplished with judicious use of native backup tools and open-source encryption software.&lt;br /&gt;&lt;br /&gt;Ideally, we could use something like &lt;a href="http://samba.anu.edu.au/rsync/"&gt;rsync&lt;/a&gt; or &lt;a href="http://www.nongnu.org/rdiff-backup/"&gt;rdiff-backup&lt;/a&gt; to send only the changed data each night. However, since the backup server will be at an untrusted site, all data must be encrypted &lt;span style="font-style: italic;"&gt;before&lt;/span&gt; it leaves our network, and no decryption keys can exist at the untrusted backup site. Since all good encryption methods produce entirely different byte streams with each encryption, tools like rsync won't gain us anything.&lt;br /&gt;&lt;br /&gt;My current thoughts are to use native backup tools to create a local file-based backup, and then use &lt;a href="http://www.gnupg.org"&gt;GnuPG&lt;/a&gt; or a similar tool to compress and encrypt full backup files for transmission via FTP.  With weekly full backups and daily incrementals, we'll be transmitting a lot more data than we would with rsync, but a 100 Mbps connection could make it workable (~20 hours for a full backup over the weekend, and much shorter incremental times).&lt;br /&gt;&lt;br /&gt;One thing that could drastically reduce the amount of data that needs transit is some form of single-instance storage. Using native tools, we'd be storing dozens of copies of many binary files (OS and application files). However, I can't see how this could be made to work when encryption has to happen &lt;span style="font-style: italic;"&gt;before&lt;/span&gt; file transmission.&lt;br /&gt;&lt;br /&gt;Any thoughts?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28293948-115628776858461278?l=blog.malayter.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.malayter.com/feeds/115628776858461278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28293948&amp;postID=115628776858461278' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/115628776858461278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/115628776858461278'/><link rel='alternate' type='text/html' href='http://blog.malayter.com/2006/08/cooperative-backup-and-archiving_22.html' title='Cooperative backup and archiving'/><author><name>RPM</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28293948.post-114790285075328755</id><published>2006-05-17T16:53:00.000-05:00</published><updated>2006-05-24T16:54:53.540-05:00</updated><title type='text'>Windows 2003 SP1 has a "real" NTP service</title><content type='html'>It appears Microsoft has finally gotten around to making the Windows Time service into a "real" implementation of the &lt;a href="http://technet2.microsoft.com/WindowsServer/en/Library/a0fcd250-e5f7-41b3-b0e8-240f8236e2101033.mspx"&gt;network time protocol in Windows 2003 SP1&lt;/a&gt; and later. The half-baked Simple NTP system of earlier Windows versions kept poor time (it would often drift by as much as a full second) and had troublesome interoperability characteristics, reporting the incorrect stratum amongst other issues.&lt;br /&gt;&lt;br /&gt;My week-long tests indicate the updated service keeps time to within about 15 ms of a "real" NTP server configured with the same set of Stratum-1 sources. This is about the resolution of the Windows system interrupt timer (1/64 second). The updated service also seems to report the correct stratum, which server it has selected for synchronization, and a seemingly correct resolution value of 2^(-6) seconds. Here is a &lt;a href="http://www.malayter.com/Win2003NTPperformance.gif"&gt;chart showing the performance&lt;/a&gt; relative to a server running ntpd.&lt;br /&gt;&lt;br /&gt;Of course, diagnostics are still terrible in this updated version, so my only recourse is to monitor the new Windows Time Service with the tools available on a system running the standard &lt;a href="http://www.ntp.org/"&gt;ntpd&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28293948-114790285075328755?l=blog.malayter.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.malayter.com/feeds/114790285075328755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28293948&amp;postID=114790285075328755' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/114790285075328755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/114790285075328755'/><link rel='alternate' type='text/html' href='http://blog.malayter.com/2006/05/windows-2003-sp1-has-real-ntp-service.html' title='Windows 2003 SP1 has a &quot;real&quot; NTP service'/><author><name>RPM</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-28293948.post-114796894093242731</id><published>2004-06-08T11:12:00.001-05:00</published><updated>2008-12-16T15:34:53.903-06:00</updated><title type='text'>Comparison of compression programs</title><content type='html'>&lt;p class="c20"&gt;&lt;span class="c19"&gt;&lt;span style="font-size:10;"&gt;I have done a reasonably detailed &lt;a href="http://www.malayter.com/compressiontest"&gt;test of popular compression programs&lt;/a&gt; for archiving files. The results were a bit surprising.&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/28293948-114796894093242731?l=blog.malayter.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.malayter.com/feeds/114796894093242731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=28293948&amp;postID=114796894093242731' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/114796894093242731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/28293948/posts/default/114796894093242731'/><link rel='alternate' type='text/html' href='http://blog.malayter.com/2004/06/comparison-of-compression-programs.html' title='Comparison of compression programs'/><author><name>RPM</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
