<?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-9171193319311712841</id><updated>2011-09-08T11:01:57.738-04:00</updated><category term='viz adm'/><category term='zfs dtrace benchmark amd'/><title type='text'>whenpbmetj</title><subtitle type='html'>a love story</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://whenpbmetj.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9171193319311712841/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://whenpbmetj.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Anthony J Burton</name><uri>http://www.blogger.com/profile/01301820585601203477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_z6xgJLrLpRk/Sitarj3WRoI/AAAAAAAAAPw/XM2kAEXvAg0/S220/profile.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9171193319311712841.post-1787783437625041044</id><published>2010-02-17T11:55:00.000-05:00</published><updated>2010-02-17T11:57:10.083-05:00</updated><title type='text'></title><content type='html'>## tim o'reilly&lt;br /&gt;&lt;a href="http://tim.oreilly.com/articles/favebooks_0705.html"&gt;Always like a good reading list...&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;## opensolaris update&lt;br /&gt;&lt;a href="http://mail.opensolaris.org/pipermail/indiana-discuss/2010-February/017516.html"&gt;build 132&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;## and cifs&lt;br /&gt;&lt;a href="http://mail.opensolaris.org/pipermail/opensolaris-arc/2009-December/019604.html"&gt;CIFS Service Kerberos user authentication for AD users&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9171193319311712841-1787783437625041044?l=whenpbmetj.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whenpbmetj.blogspot.com/feeds/1787783437625041044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://whenpbmetj.blogspot.com/2010/02/tim-oreilly-always-like-good-reading.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9171193319311712841/posts/default/1787783437625041044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9171193319311712841/posts/default/1787783437625041044'/><link rel='alternate' type='text/html' href='http://whenpbmetj.blogspot.com/2010/02/tim-oreilly-always-like-good-reading.html' title=''/><author><name>Anthony J Burton</name><uri>http://www.blogger.com/profile/01301820585601203477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_z6xgJLrLpRk/Sitarj3WRoI/AAAAAAAAAPw/XM2kAEXvAg0/S220/profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9171193319311712841.post-8568841858656952126</id><published>2010-02-15T11:22:00.000-05:00</published><updated>2010-02-15T11:31:24.634-05:00</updated><title type='text'>links -- nfs</title><content type='html'>## from evan&lt;br /&gt;&lt;a href="http://blog.laspina.ca/ubiquitous/running-zfs-over-nfs-as-a-vmware-store"&gt;Running ZFS over NFS as a VMware Store&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;## classic&lt;br /&gt;&lt;a href="http://blogs.sun.com/roch/entry/nfs_and_zfs_a_fine"&gt;NFS and ZFS, a fine combination&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;## nfstrace&lt;br /&gt;&lt;a href="http://prefetch.net/code/nfstrace"&gt;nfstrace&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;## from scott lowe&lt;br /&gt;&lt;a href="http://blogs.smugmug.com/don/2007/10/08/hdd-iops-limiting-factor-seek-or-rpm/"&gt;HDD IOPS limiting factor – seek or rpm?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.techrepublic.com.com/datacenter/?p=2182&amp;tag=nl.e040"&gt;Calculate IOPS in a storage array&lt;/a&gt;&lt;br /&gt; --&lt;a href="http://partners.netapp.com/go/techontap/avanade.html"&gt;NetApp Case Study&lt;/a&gt;&lt;br /&gt; ---&lt;a href="http://www.computerworld.com/s/article/9017579/When_and_why_you_should_roll_out_10Gbit_Ethernet?pageNumber=1"&gt;10G Ethernet -- When and Why&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;## tim o'reilly?&lt;br /&gt;&lt;a href="http://scott.heiferman.com/notes/"&gt;scott.heiferman&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9171193319311712841-8568841858656952126?l=whenpbmetj.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whenpbmetj.blogspot.com/feeds/8568841858656952126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://whenpbmetj.blogspot.com/2010/02/links-nfs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9171193319311712841/posts/default/8568841858656952126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9171193319311712841/posts/default/8568841858656952126'/><link rel='alternate' type='text/html' href='http://whenpbmetj.blogspot.com/2010/02/links-nfs.html' title='links -- nfs'/><author><name>Anthony J Burton</name><uri>http://www.blogger.com/profile/01301820585601203477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_z6xgJLrLpRk/Sitarj3WRoI/AAAAAAAAAPw/XM2kAEXvAg0/S220/profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9171193319311712841.post-1821634109672483426</id><published>2010-02-13T17:14:00.000-05:00</published><updated>2010-02-13T17:19:50.191-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='zfs dtrace benchmark amd'/><title type='text'>links -- zfs, dtrace, benchmark work...</title><content type='html'>## amd; learning about AMD architecture&lt;br /&gt;http://en.wikipedia.org/wiki/Comparison_of_AMD_processors&lt;br /&gt;http://en.wikipedia.org/wiki/Socket_AM2%2B&lt;br /&gt;http://www.tomshardware.com/reviews/socket-am3-phenom,2148-4.html&lt;br /&gt;&lt;br /&gt;## benchmarking&lt;br /&gt;http://en.wikipedia.org/wiki/Benchmark_(computing)&lt;br /&gt;&lt;br /&gt;## love dtrace; want more&lt;br /&gt;http://www.brendangregg.com/dtrace.html&lt;br /&gt;&lt;br /&gt;## from scott lowe twitter post&lt;br /&gt;http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=1007909&lt;br /&gt;&lt;br /&gt;## from stupid HTML5 twitter post&lt;br /&gt;http://en.wikipedia.org/wiki/Tragedy_of_the_commons&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9171193319311712841-1821634109672483426?l=whenpbmetj.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whenpbmetj.blogspot.com/feeds/1821634109672483426/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://whenpbmetj.blogspot.com/2010/02/links-zfs-dtrace-benchmark-work.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9171193319311712841/posts/default/1821634109672483426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9171193319311712841/posts/default/1821634109672483426'/><link rel='alternate' type='text/html' href='http://whenpbmetj.blogspot.com/2010/02/links-zfs-dtrace-benchmark-work.html' title='links -- zfs, dtrace, benchmark work...'/><author><name>Anthony J Burton</name><uri>http://www.blogger.com/profile/01301820585601203477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_z6xgJLrLpRk/Sitarj3WRoI/AAAAAAAAAPw/XM2kAEXvAg0/S220/profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9171193319311712841.post-8385089131589979828</id><published>2009-06-07T14:22:00.000-04:00</published><updated>2009-06-07T22:30:36.479-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='viz adm'/><title type='text'>security visualization</title><content type='html'>This weekend I decided to work through &lt;a href="http://www.networkworld.com/community/node/42024"&gt;this tutorial&lt;/a&gt; on visualizing firewall logs, and wanted to capture my notes on how I got it done. Turns out that the example is pretty simplistic, and the &lt;a href="http://www.cs.umd.edu/hcil/treemap/"&gt;Treemap tool&lt;/a&gt; starts to need some tickling to get it to ingest larger files.&lt;br /&gt;&lt;br /&gt;I've been wanting to work on this for a long time, as my introduction to computing in a professional context was as a fledgling graphic designer, and I'm interested in the many possibilities associated with visualizing this kind of data. I've had &lt;a href="http://treyford.wordpress.com/"&gt;this guy's&lt;/a&gt; copy of &lt;a href="http://www.amazon.com/Applied-Security-Visualization-Raffael-Marty/dp/0321510100"&gt;Applied Security Visualization&lt;/a&gt; for some time (I'll get it back to you soon, Trey) but had not yet had the time to crack it open. Mr. Marty's easy-to-use tutorial changed that though.&lt;br /&gt;&lt;br /&gt;So, in my case I am using an old Netscreen 25 firewall that is used in a somewhat sequestered portion of my network. Despite that fact, it does generate around two hundred to three hundred thousand lines of log entries a day. A great thing about this project is that it's a chance to tune the firewall to ensure that the rules are blocking the traffic they should be and also ensure that it's not capturing unnecessary log info. I quickly identified some misconfiguration of the firewall going through this process and also identified a couple situations where I could turn off logging for a particular policy.&lt;br /&gt;&lt;br /&gt;Step one is to run the log files through a process that will extract only the information necessary for viewing in Treemap. I started this process with some simple bash/awk/sed work, but quickly found that due to the naming of network address ranges in the Netscreen that included spaces, I would have to use some more advanced regular expressions and so, to my mind, perl/python/etc.&lt;br /&gt;&lt;br /&gt;N.B. I did my best to "randomize" the IP addresses following and I hope I did it in a way that doesn't mess up the flow of things. Ultimately, the addresses and port numbers are not important.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;## define a variable for the log file I want to work with&lt;br /&gt;logfile=/var/log/firewall/20090601.log&lt;br /&gt;&lt;br /&gt;## after I looked at a log file line, I found that the fields I wanted were&lt;br /&gt;## the 22nd, 23th, 24th 25th, and 19th, so I grab those with awk, and write&lt;br /&gt;## it out to a file; these fields correspond to source IP, destination IP,&lt;br /&gt;## source port, destination port, and action (permit or deny)&lt;br /&gt;awk '{ print $22, $23, $24, $25, $19 }' $logfile &gt; /tmp/viz_output&lt;br /&gt;&lt;br /&gt;## what'd we get?&lt;br /&gt;head -n2 /tmp/viz_output&lt;br /&gt;src=172.30.200.14 dst=10.4.39.8 src_port=2241 dst_port=445 action=Permit&lt;br /&gt;src=172.30.200.14 dst=10.4.39.8 src_port=2211 dst_port=445 action=Permit&lt;br /&gt;&lt;br /&gt;## then, just to stick with Rafael's process of using CSV files, I remove the&lt;br /&gt;## labels from the fields ("src=", "dst=", etc.) and replace those with commas&lt;br /&gt;##&lt;br /&gt;## btw, yes, there are different and better ways to use sed, I know&lt;br /&gt;cat /tmp/viz_output | \&lt;br /&gt;sed 's/src=//' | \&lt;br /&gt;sed 's/ dst=/,/' | \&lt;br /&gt;sed 's/ src_port=/,/' | \&lt;br /&gt;sed 's/ dst_port=/,/' | \&lt;br /&gt;sed 's/ action=/,/' &gt; /tmp/viz_output.csv&lt;br /&gt;&lt;br /&gt;## look at what we've got so far&lt;br /&gt;head -n2 /tmp/viz_output.csv&lt;br /&gt;172.30.200.14,10.4.39.8,2241,445,Permit&lt;br /&gt;172.30.200.14,10.4.39.8,2211,445,Permit&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This looked fine for me when I started, but I quickly found that of the two hundred and fifty thousand lines I got from this process, not surprisingly there were some lines where fields contained a space and threw the simplistic use of awk off. I needed to use some regular expressions to add some intelligence so that I was keeping the fields aligned better.&lt;br /&gt;&lt;br /&gt;I have some perl programming experience, but I do not code every day right now so I wasn't entirely comfortable coming up with a perl script to try to solve this problem. I decided to search for a parser for the Netscreen log files. There wasn't one on the sparsely populated secviz.org "parser-exchange", but I did find &lt;a href="http://www.optekconsulting.com/tools/ScreenOS.html"&gt;this one&lt;/a&gt; from Optek consulting. After downloading and reading through the code, I attempted a quick run using my sample log file. It worked fantastically.&lt;br /&gt;&lt;br /&gt;I ended up using the following command line to get the output as close as possible to what Rafael specifies in the article:&lt;br /&gt;&lt;pre&gt;## cleaned up for blog post&lt;br /&gt;./nstf.pl --noDevice \&lt;br /&gt; --novSys   \&lt;br /&gt; --nosTime  \&lt;br /&gt; --noPolId  \&lt;br /&gt; --nosZone  \&lt;br /&gt; --nodZone  \&lt;br /&gt; --noProto  \&lt;br /&gt; --noElap &lt; $logfile &gt; /tmp/viz_nstf_output&lt;br /&gt;&lt;br /&gt;## and the output&lt;br /&gt;head -n3 /tmp/viz_nstf_output&lt;br /&gt;     sAddr      dAddr sPort dPort  Action&lt;br /&gt;172.30.200.14  10.4.39.8  2241   445  Permit&lt;br /&gt;172.30.200.14  10.4.39.8  2221   445  Permit&lt;br /&gt;&lt;br /&gt;## and, again to stick with the example, make it CSV&lt;br /&gt;awk '{print $1","$2","$3","$4","$5}' &lt; /tmp/viz_nstf_output &gt; /tmp/viz_nstf_output.csv&lt;br /&gt;&lt;br /&gt;## and the output&lt;br /&gt;head -n3 /tmp/viz_nstf_output.csv&lt;br /&gt;sAddr,dAddr,sPort,dPort,Action&lt;br /&gt;172.30.200.14,10.4.39.8,2241,445,Permit&lt;br /&gt;172.30.200.14,10.4.39.8,2211,445,Permit&lt;br /&gt;&lt;br /&gt;## awesome, now to get it into shape for the article, remove the current header&lt;br /&gt;## (sAddr,dAddr,etc) and replace commas with tabs, as well as sort and use the&lt;br /&gt;## command uniq to pare the file down and provide a count of unique lines&lt;br /&gt;##&lt;br /&gt;## this is where things seem to fall apart, in terms of needing to massage the&lt;br /&gt;## file to get it to work with Treemap; the command in the article did not work&lt;br /&gt;## for me, but this one did&lt;br /&gt;perl -pe 's/,/\t/g' &lt; /tmp/viz_nstf_output.csv |  \&lt;br /&gt;    sort | uniq -c | perl -pe 's/^\s*//, s/ /\t/' \&lt;br /&gt;    &gt; /tmp/viz_nstf_output.tm3&lt;br /&gt;&lt;br /&gt;## and the output&lt;br /&gt;head -n2 /tmp/viz_nstf_output.tm3&lt;br /&gt;2       172.30.200.14   10.4.39.8       49755   4196    Permit&lt;br /&gt;170     10.39.208.12    63.240.161.99   123     123     Permit&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;At this point, I need to add a header to the top of the file to make sure that it's as specified in the tutorial.&lt;br /&gt;&lt;pre&gt;cat header&lt;br /&gt;count   sip     dip     sport   dport   action&lt;br /&gt;INTEGER STRING  STRING  STRING  STRING  STRING&lt;br /&gt;&lt;/pre&gt;Once I added that to the top of my .tm3 file, I'm ready to bring it into Treemap. To do that, I downloaded the &lt;a href="http://www.secviz.org/node/89"&gt;DAVIX ISO&lt;/a&gt;, and loaded it up in VMware Workstation. I created some disk space to use with DAVIX and once booted up, I formatted the partition and got it ready for use (I believe this is explained in the documentation for DAVIX):&lt;br /&gt;&lt;pre&gt;root@slax:~# fdisk /dev/sda&lt;br /&gt;##&lt;br /&gt;## hit n for new partition, and w to write out the changes&lt;br /&gt;##&lt;br /&gt;## then format the partition, and mount it in the mount point provided&lt;br /&gt;root@slax:~# mkfs.ext3 /dev/sda1&lt;br /&gt;root@slax:~# mount /dev/sda1 /mnt/hdc&lt;br /&gt;root@slax:~# mount&lt;br /&gt;aufs on / type aufs (rw)&lt;br /&gt;proc on /proc type proc (rw)&lt;br /&gt;sysfs on /sys type sysfs (rw)&lt;br /&gt;usbfs on /proc/bus/usb type usbfs (rw)&lt;br /&gt;/dev/sda1 on /mnt/hdc type ext3 (rw)&lt;br /&gt;&lt;br /&gt;## now I can scp the formatted log file from the syslog box, and work on it&lt;br /&gt;root@slax:~# cd /mnt/hdc&lt;br /&gt;root@slax:~# scp ant@logger:/tmp/viz_nstf_output.tm3 .&lt;br /&gt;&lt;/pre&gt;I'll say here that while I very much appreciate the work that's clearly gone into Treemap, and the fact that it's available for free, the first bunch of times I tried to get a file loaded into it, it barfed. In writing up this post, I went back through the process and tested each command to ensure that it would work, and even after going through the process many times, Treemap was still bitching about the file not being formatted properly for one reason or another. I tend to agree with criticism I've seen Rafael give elsewhere: just make the tool accept CSV, it's easy to create and work with. If you do this type of thing all the time it probably won't be a big deal.&lt;br /&gt;&lt;br /&gt;Anyway, loading the file into Treemap worked successfully with the first file I tried, which had around fifty thousand lines. After spending some time with the first map, I was excited to see the results from different days, so I went back through the process for two additional days. That's where I ran into issues with Treemap not having enough memory to open larger files. The second file I tried to load had around eighty thousand lines (which to me is not that much more, but clearly just enough) and it would not load.&lt;br /&gt;&lt;br /&gt;Unfortunately the Treemap GUI doesn't produce any error that it's out of memory, it just doesn't load the file. I had Treemap installed on another machine and was running it from the command line with the same log files (one a winders machine, the other Linux/DAVIX, just for comparison). Running it from the command line and attempting to load the larger log file produced the following error output:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;java -jar treemap.jar&lt;br /&gt;readTM3: java.lang.OutOfMemoryError: Java heap space&lt;br /&gt;Exception in thread "main" java.lang.OutOfMemoryError: Java heap space&lt;br /&gt;       at java.io.BufferedInputStream.&lt;init&gt;(BufferedInputStream.java:178)&lt;br /&gt;       at java.io.BufferedInputStream.&lt;init&gt;(BufferedInputStream.java:158)&lt;br /&gt;       at sun.swing.SwingUtilities2$2$1.run(SwingUtilities2.java:1319)&lt;br /&gt;       at java.security.AccessController.doPrivileged(Native Method)&lt;br /&gt;...&lt;br /&gt;more java spew...&lt;br /&gt;&lt;/pre&gt;The line beginning with readTM3 makes it clear what's happening. To remedy, I gave Treemap more memory to work with, thus:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;root@slax:/usr/local/lib/treemap# java -Xms512m -Xmx512m -jar treemap.jar&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;And everything went according to plan:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_z6xgJLrLpRk/SixgRxy51_I/AAAAAAAAAQU/YnkLIFwqcCI/s1600-h/viz_nstf_output_fail.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 243px;" src="http://3.bp.blogspot.com/_z6xgJLrLpRk/SixgRxy51_I/AAAAAAAAAQU/YnkLIFwqcCI/s320/viz_nstf_output_fail.png" alt="" id="BLOGGER_PHOTO_ID_5344752716322822130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Using this view, it was very clear, very quickly that there was a misconfiguration that was blocking DNS traffic (the top right red block). Easily fixed. I also found that there were two machines on this subnet that apparently have either a virus, or are very persistently trying to contact machines all over the world every few seconds for a good cause. I choose the former.&lt;br /&gt;&lt;br /&gt;So from this point it's time to learn more about Treemap as there are clearly many things it will do that I'm not aware of yet. The issue I had with larger files not loading, and with the potential for wanting to see a very large amount of information (from say a production firewall with many more events in the log) under investigation got me thinking too about how to filter in the first step so that the data set was smaller. The nstf script from Optek has some interesting options that I look forward to trying.&lt;br /&gt;&lt;br /&gt;Thanks Rafael for the tutorial and all your work promoting visualization. Thanks too for DAVIX, what an awesome tool. I look forward to learning more and investigating further.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9171193319311712841-8385089131589979828?l=whenpbmetj.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://whenpbmetj.blogspot.com/feeds/8385089131589979828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://whenpbmetj.blogspot.com/2009/06/security-visualization.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9171193319311712841/posts/default/8385089131589979828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9171193319311712841/posts/default/8385089131589979828'/><link rel='alternate' type='text/html' href='http://whenpbmetj.blogspot.com/2009/06/security-visualization.html' title='security visualization'/><author><name>Anthony J Burton</name><uri>http://www.blogger.com/profile/01301820585601203477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_z6xgJLrLpRk/Sitarj3WRoI/AAAAAAAAAPw/XM2kAEXvAg0/S220/profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_z6xgJLrLpRk/SixgRxy51_I/AAAAAAAAAQU/YnkLIFwqcCI/s72-c/viz_nstf_output_fail.png' height='72' width='72'/><thr:total>1</thr:total></entry></feed>
