<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.2.1" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>Glop</title>
	<link>http://projectglop.com</link>
	<description>Unwanted Information</description>
	<pubDate>Tue, 15 May 2007 15:30:16 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.1</generator>
	<language>en</language>
			<item>
		<title>Fake USB Memory Keys</title>
		<link>http://projectglop.com/2007/05/14/fake-usb-memory-keys/</link>
		<comments>http://projectglop.com/2007/05/14/fake-usb-memory-keys/#comments</comments>
		<pubDate>Mon, 14 May 2007 19:28:20 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://projectglop.com/2007/05/14/fake-usb-memory-keys/</guid>
		<description><![CDATA[ 
I saw a deal on komplett.ie last week for 16GB memory keys. They were selling them for 150 euro. I thought to myself,
&#8220;Wow ! 16GB, I didn&#8217;t realise they had ones that big. I&#8217;ll have a gander at eBay and see how much they cost.&#8221;
And there were several on eBay, a good bit cheaper [...]]]></description>
			<content:encoded><![CDATA[<p> <a href="http://projectglop.com/wp-content/uploads/2007/05/dsc01759.JPG" title="Genuine Fake" ><img src="http://projectglop.com/wp-content/uploads/2007/05/dsc01759.JPG" alt="Genuine Fake" height="455" width="606" /></a></p>
<p>I saw a deal on komplett.ie last week for 16GB memory keys. They were selling them for 150 euro. I thought to myself,</p>
<p>&#8220;Wow ! 16GB, I didn&#8217;t realise they had ones that big. I&#8217;ll have a gander at eBay and see how much they cost.&#8221;</p>
<p>And there were several on eBay, a good bit cheaper than Kompletts 150 euro. In a moment of madness I decided to buy one. I found a <a href="http://myworld.ebay.com/icstaras/" onclick="javascript:urchinTracker ('/outbound/article/myworld.ebay.com');">gent</a> selling them from Korea.</p>
<p>Now. In the past, my brother had bought a 4GB memory key while travelling through China. The 4GB key in fact turned out to be a 64MB key.  Something of a disappointment for him (and for me because he gave it to me). So I was a bit wary of buying this 16GB key, as it looked very similar to the previous. However, the <a href="http://feedback.ebay.com/ws/eBayISAPI.dll?ViewFeedback&amp;userid=icstaras&amp;iid=320111392828&amp;ftab=FeedbackAsSeller&amp;ssPageName=VIP:feedback:2:us" onclick="javascript:urchinTracker ('/outbound/article/feedback.ebay.com');">gents feedback</a> was good, so I said right I&#8217;ll go for it. 79 euro, 21 of which was postage.</p>
<p>Around a week later, the USB key arrived in the Post.  (This is a miracle in itself, An Post has a habit of losing/delaying my post). I whipped out the key from the generic, no-name brand packaging and took off the cap to stick it into the computer. The cap remained where it was and the rest of the casing came off, exposing the PCB. I was rather surprised.</p>
<p>I put the casing back on, gently removed the cap and put it into the USB slot.  The drive popped up on my desktop. So I decided to test it properly. I used <em><a href="http://dcfldd.sourceforge.net/" onclick="javascript:urchinTracker ('/outbound/article/dcfldd.sourceforge.net');">dcfldd</a></em> to write a 14 GB file of text to my /tmp partition and then used <em>split</em> to break this file into 14 1GB files and then <em>md5sum</em> to get hashs for each file. I copied all the files onto the memory stick and then rehashed them. The last two files hashed correctly, none of the others. &#8220;Arse&#8221;. The stick was only around 2GB large.</p>
<p>I emailed the guy I bought it off, who promptly offered me a refund of my money (minus the postage costs). I said no thanks, I&#8217;d like a genuine 16GB key please. He said</p>
<p><em>Hello.</em></p>
<p><em>First of all, we truly apologize for this matter.<br />
Please understand the fact that we have actually never opened the package<br />
and therefore, did not know it has the problem.</em></p>
<p><em>Most of problems occur due to the incompetibility of motherboards and<br />
<strong>USB-HC</strong> technology<br />
since 16GB is the new model with completely new technology.<br />
</em></p>
<p>He also wanted me to send back an RMA form which listed the details of my motherboard.</p>
<p>So USB-HC ? What is USB-HC, I&#8217;ve never heard of this. I googled for this new USB protocol and of course found nothing. USB HC is Host Controller. It means nothing, it is not some new USB standard. I replied saying this and again that I would like a genuine 16GB memory stick.</p>
<p>The response to this was</p>
<p><em> Sorry once again for the terrible inconvenience.<br />
Can you please complete the RMA we sent you?</em></p>
<p><em>We will check with your motherboard first.</em></p>
<p><em>Thank you very much.</em></p>
<p>At this stage it seemed obvious that the guy was going to get my motherboard model and say &#8220;Oh ! Sorry, not compatible, can&#8217;t send you a new one, we&#8217;ll just refund you&#8221;. I needed something more than saying that USB-HC was nonsensical. I opened the memory stick and took a photo of the memory chip on it and sent it to another of my numerous  brothers.</p>
<p><a href="http://projectglop.com/wp-content/uploads/2007/05/dsc01758.JPG" title="Flash Chip" ><img src="http://projectglop.com/wp-content/uploads/2007/05/dsc01758.JPG" alt="Flash Chip" height="469" width="623" /></a></p>
<p>The chip was a Samsung flash NAND chip. He found <a href="http://www.samsung.com/Products/Semiconductor/Support/Label_CodeInfo/Nand_Flash.pdf" onclick="javascript:urchinTracker ('/outbound/article/www.samsung.com');">a sheet on the Samsung website</a> describing the serial number. This sheet told us that the solitary chip onboard was in fact a 2GB chip as I&#8217;d already thought.I emailed the guy back with this new information saying</p>
<p><em>According to the Samsung website, the details for that particular chip<br />
state it as being 2GB large.</em></p>
<p><em>I&#8217;m afraid it is not an issue of incompatability with my motherboard.</em></p>
<p><em>Could you please send me a genuine 16GB memory key.</em></p>
<p>He replied saying that the stick has multiple memory modules to make up the 16GB and that the rest must have failed, only one was still working. More crud. There is definitely only a single flash chip on that PCB. He then followed up with another email saying</p>
<p><em>You mean by Genuine which I believe is refering to normal USBs using one<br />
nand tech not the USB HC tech.</em></p>
<p><em>Sorry but we have HC technology ones only.<br />
I don&#8217;t think there is any one nand 16gb available yet. </em></p>
<p>So, it was obvious at this stage I wasn&#8217;t going to get my new USB key. I got the cost of the key refunded. If I post the key back, I will get the cost of delivery (21 Euro) refunded. I don&#8217;t think I will post it back, seeing as it will cost me money to post the key to Korea.  21 Euro for a 2GB USB key is not terribly unreasonable.</p>
<p>After some quick looking around I discovered that fake USB keys are actually a big problem, not just on eBay or dodgy Chinese back allys.  <a href="http://linuxrevolution.blogspot.com/2006/08/fake-usb-drives-sleuthing.html" onclick="javascript:urchinTracker ('/outbound/article/linuxrevolution.blogspot.com');">This is a good article</a> about someone buying one from a store in Canada. There is also <a href="http://reviews.ebay.ca/BEWARE-of-FAKE-1GB-2GB-4GB-8GB-USB-Flash-Drives-on-eBay_W0QQugidZ10000000001236200" onclick="javascript:urchinTracker ('/outbound/article/reviews.ebay.ca');">an eBay page</a> describing the problems with USB keys.</p>
<p>The seller of the USB key certainly sounded genuine and did refund me the money. He also does have a high rating for other items. It is possible he was fed the USB-HC and multiple module stuff from his wholesale seller. He did ask me to describe in detail the problem so as he could deal with the manufacturer. I did this and also suggested cancelling his current sale of the 16GB keys.</p>
<p>He has not done this as yet. My brother also pointed me at <a href="http://www.toolhaus.org/cgi-bin/negs?User=icstaras&amp;Dirn=Received+by" onclick="javascript:urchinTracker ('/outbound/article/www.toolhaus.org');">toolhaus.org</a>. As such I suspect he is well aware of the nature of the memory keys.</p>
<p><em>Addendum: I changed my mind and will post it back. 78 cent from AnPost and the guy will refund me as soon as I send a photo of the key in the envelope. This way I can use the 21 euro to buy a genuine 2GB key with a casing that doesn&#8217;t fall apart !</em></p>
<p><a href="http://projectglop.com/wp-content/uploads/2007/05/dsc01760.JPG" title="Posting the key" ><img src="http://projectglop.com/wp-content/uploads/2007/05/dsc01760.JPG" alt="Posting the key" height="502" width="666" /></a></p>
<p><em>Update 15/May/2007 As soon as I sent the above photo, my postage cost was refunded. Â </em></p>
]]></content:encoded>
			<wfw:commentRss>http://projectglop.com/2007/05/14/fake-usb-memory-keys/feed/</wfw:commentRss>
		</item>
		<item>
		<title>TiddlyWiki</title>
		<link>http://projectglop.com/2007/03/15/tiddlywiki/</link>
		<comments>http://projectglop.com/2007/03/15/tiddlywiki/#comments</comments>
		<pubDate>Thu, 15 Mar 2007 12:14:52 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
		
		<category><![CDATA[Productivity]]></category>

		<guid isPermaLink="false">http://projectglop.com/2007/03/15/tiddlywiki/</guid>
		<description><![CDATA[Tiddlywiki is a great tool I came across recently while looking for something to manage my data. I&#8217;d previously used hnb but found it slightly restrictive. I couldn&#8217;t easily check it when away from my machine. Checking it requires ssh&#8217;ing into my pc in college, which requires a sshkey that I don&#8217;t always carry around [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tiddlywiki.com/" onclick="javascript:urchinTracker ('/outbound/article/www.tiddlywiki.com');">Tiddlywiki</a> is a great tool I came across recently while looking for something to manage my data. I&#8217;d previously used <a href="http://hnb.sourceforge.net/" onclick="javascript:urchinTracker ('/outbound/article/hnb.sourceforge.net');">hnb</a> but found it slightly restrictive. I couldn&#8217;t easily check it when away from my machine. Checking it requires ssh&#8217;ing into my pc in college, which requires a sshkey that I don&#8217;t always carry around with me and also making sure I had Internet access !</p>
<p><a href="http://projectglop.com/wp-content/uploads/2007/03/wiki.png" title="TiddlyWiki" ></a></p>
<p style="text-align: center"><a href="http://projectglop.com/wp-content/uploads/2007/03/wiki.png" title="TiddlyWiki" ><img src="http://projectglop.com/wp-content/uploads/2007/03/wiki.png" alt="TiddlyWiki" height="526" width="657" /></a></p>
<p>I don&#8217;t recall exactly how I ended up encountering the TiddlyWiki tool, I think I was reading through a Nokia 770 email list and saw it mentioned. I was really impressed when I saw what it could do.</p>
<p>Tiddlywiki is a wiki, just like MediaWiki, TWiki etc. The difference with TiddlyWiki is that it is completely client side software. The wiki consists of a single file with a good deal of javascript in it. When a new entry is added to the wiki, that file itself is edited by the Javascipt and the new entry stored in a <em>div</em>. This means you only need to use your browser to manage and store your information, todo, notes, ideas, documentation etc.</p>
<p>There are <a href="http://www.tiddlywiki.com/#GettingStarted" onclick="javascript:urchinTracker ('/outbound/article/www.tiddlywiki.com');">several tutorials</a> linked from the tiddlywiki website which explain how to get going. It does take a bit of getting used to before one starts getting things done, but the learning curve is well worth it. Data is entered into constructs called Tiddlers. By typing in a wiki formatted word like <em>AnExampleOfAWikiWord</em>, this word becomes a link to a new Tiddler called <em>AnExampleOfAWikiWord</em>. Clicking on the link bring up the tiddler, you edit it and save your data, nice and simple.</p>
<p>Another great thing about TiddlyWiki is how extensible it is. Numerous plugins have been written for it, from simple things like adding timestamps by inserting a <em>{ts}</em> to comprehensive calendering and ToDo systems.  A neat thing about the plugins is how easy it is to install them. A plugin distributed with the default wiki file is an import plugin. If you see a tiddlywiki you like, point the import plugin at the url of the wiki page and it will list every Tiddler on the page. You can pick which ones you want to import and it will save them into the local file. A decent plugin website is <a href="http://www.tiddlytools.com/" onclick="javascript:urchinTracker ('/outbound/article/www.tiddlytools.com');">http://www.tiddlytools.com</a>. The trick is to keep your Tiddlywiki as simple as possible. There are an awful lot of plugins out there that are just useless and slow the system down.</p>
<p><a href="http://projectglop.com/wp-content/uploads/2007/03/wiki_calendar.png" title="Calendar Tool" ></a></p>
<p style="text-align: center"><a href="http://projectglop.com/wp-content/uploads/2007/03/wiki_calendar.png" title="Calendar Tool" ><img src="http://projectglop.com/wp-content/uploads/2007/03/wiki_calendar.png" alt="Calendar Tool" /></a></p>
<p>Along the same lines, there are also plenty of nice themes for TiddlyWiki. Check out <a href="http://tiddlythemes.com/" onclick="javascript:urchinTracker ('/outbound/article/tiddlythemes.com');">http://tiddlythemes.com/</a> for a very nice site with some decent themes.</p>
<p>Of course, there are serverside implementations of TiddlyWiki so as to write data back to a server, at the moment I carry mine around on a usb key and store it in a version control repository. I&#8217;ll probably move it onto a web server soon enough.</p>
]]></content:encoded>
			<wfw:commentRss>http://projectglop.com/2007/03/15/tiddlywiki/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SSFNet Tor tcpdump</title>
		<link>http://projectglop.com/2007/01/30/ssfnet-tor-tcpdump/</link>
		<comments>http://projectglop.com/2007/01/30/ssfnet-tor-tcpdump/#comments</comments>
		<pubDate>Tue, 30 Jan 2007 19:02:56 +0000</pubDate>
		<dc:creator>gavin</dc:creator>
		
		<category><![CDATA[Anonymity]]></category>

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

		<guid isPermaLink="false">http://projectglop.com/?p=31</guid>
		<description><![CDATA[I was having trouble figuring out if my simulation was working properly or not, so had to trace through the tcpdump output from it. I thought it was interesting enough, so decided to impose it on whatever poor soul happens onto my blog.
Topology
The topology is very simple, as is demonstrated in the image below. In [...]]]></description>
			<content:encoded><![CDATA[<p>I was having trouble figuring out if my simulation was working properly or not, so had to trace through the tcpdump output from it. I thought it was interesting enough, so decided to impose it on whatever poor soul happens onto my blog.</p>
<p><strong>Topology</strong></p>
<p>The topology is very simple, as is demonstrated in the image below. In my test simulation, I have one http client, 1 Tor proxy, 3 Tor routers, one Tor exit router and a http server.<br />
<a id="p30" rel="attachment" class="imagelink" title="Tor Topology" href="http://www.redbrick.dcu.ie/%7Egavin/?attachment_id=30" /></p>
<div style="text-align: center"><a href="http://www.redbrick.dcu.ie/%7Egavin/?attachment_id=30"id="p30" rel="attachment" class="imagelink" title="Tor Topology"  onclick="javascript:urchinTracker ('/outbound/article/www.redbrick.dcu.ie');"><img id="image30" alt="Tor Topology" src="http://www.redbrick.dcu.ie/%7Egavin/wp-content/uploads/2007/01/tor_internet.png" /></a></div>
<p>The real Tor implementation runs as a SOCKS proxy, typically on the local machine. This means that data leaving the client machine is encrypted and divided into 512 byte Tor cells before any attacker can view it. In the image above, the proxy is a seperate entity. This was the easiest way to implement it using the SSFNet simulation software. For my purposes it is essentially the same, I merely put my &#8216;tap&#8217; on the link from the Tor proxy to the first Tor router. I also &#8216;tap&#8217; the connection between the http server and the last Tor router, or exit router.<br />
This is one of many attacks surmised against Tor, basicly treating the Tor network as a blackbox and analysing traffic streamsÂ  entering and leaving the network.The traffic streams should have the same &#8216;fingerprint&#8217; throughout the network, thus identifying them a trivial task.</p>
<p>The below is a tcpdump output from the tor proxy interspersed with tcpdump from the http server:<br />
<font color="#0000a0"><br />
<em> 00:00:01.000132 0.0.0.9.10001 > 0.0.0.10.1070: S 0:0(0) win 0<br />
00:00:01.000132 0.0.0.10.1070 > 0.0.0.9.10001: S 0:0(0) ack 1 win 16384<br />
00:00:01.000396 0.0.0.9.10001 > 0.0.0.10.1070: . ack 1 win 16384</em></font><br />
<em>00:00:01.000396 0.0.0.10.10001 > 0.0.0.3.1080: S 0:0(0) win 0<br />
00:00:01.001072 0.0.0.3.1080 > 0.0.0.10.10001: S 0:0(0) ack 1 win 16384<br />
00:00:01.001072 0.0.0.10.10001 > 0.0.0.3.1080: . ack 1 win 16384<br />
<strong> 1) 00:00:01.001072 0.0.0.10.10001 > 0.0.0.3.1080: . 1:513(512) ack 1 win 16384</strong><br />
<font color="#0000a0"> 00:00:01.001228 0.0.0.9.10001 > 0.0.0.10.1070: . 1:1001(1000) ack 1 win 16384<br />
00:00:01.001228 0.0.0.10.1070 > 0.0.0.9.10001: . ack 1001 win 16384<br />
</font><strong>1) 00:00:01.002764 0.0.0.3.1080 > 0.0.0.10.10001: . 1:513(512) ack 513 win 15872</strong><br />
00:00:01.002764 0.0.0.10.10001 > 0.0.0.3.1080: . ack 513 win 16384<br />
<strong>2) 00:00:01.002764 0.0.0.10.10001 > 0.0.0.3.1080: . 513:1025(512) ack 513 win 16384</strong><br />
00:00:01.003996 0.0.0.3.1080 > 0.0.0.10.10001: . ack 1025 win 16384<br />
<strong> 2) 00:00:01.005867 0.0.0.3.1080 > 0.0.0.10.10001: . 513:1025(512) ack 1025 win 16384</strong><br />
<strong>3) [..]1.005867 0.0.0.10.10001 > 0.0.0.3.1080: . 1025:1537(512) ack 1025 win 15872</strong><br />
00:00:01.007036 0.0.0.3.1080 > 0.0.0.10.10001: . ack 1537 win 16384<br />
<strong> 3) [..]1.010053 0.0.0.3.1080 > 0.0.0.10.10001: . 1025:1537(512) ack 1537 win 16384<br />
4) [..]1.010053 0.0.0.10.10001 > 0.0.0.3.1080: . 1537:2049(512) ack 1537 win 15872</strong><br />
00:00:01.011222 0.0.0.3.1080 > 0.0.0.10.10001: . ack 2049 win 16384<br />
<strong> 4) [..]01.015323 0.0.0.3.1080 > 0.0.0.10.10001: . 1537:2049(512) ack 2049 win 16384<br />
5) [..]01.015323 0.0.0.10.10001 > 0.0.0.3.1080: . 2049:2561(512) ack 2049 win 15872</strong><br />
00:00:01.016491 0.0.0.3.1080 > 0.0.0.10.10001: . ack 2561 win 16384</em></p>
<p><em><font color="red">00:00:01.017942 0.0.0.5.10001 > 0.0.0.1.80: S 0:0(0) win 0<br />
00:00:01.017942 0.0.0.1.80 > 0.0.0.5.10001: S 0:0(0) ack 1 win 16384<br />
00:00:01.018177 0.0.0.5.10001 > 0.0.0.1.80: . ack 1 win 16384</font></em></p>
<p><em><strong>5) [..]01.020531 0.0.0.3.1080 > 0.0.0.10.10001: . 2049:2561(512) ack 2561 win 16384</strong><br />
00:00:01.020531 0.0.0.10.10001 > 0.0.0.3.1080: . 2561:3073(512) ack 2561 win 15872<br />
00:00:01.0217 0.0.0.3.1080 > 0.0.0.10.10001: . ack 3073 win 16384<br />
00:00:01.0217 0.0.0.10.10001 > 0.0.0.3.1080: . 3073:3585(512) ack 2561 win 16384<br />
00:00:01.02331 0.0.0.3.1080 > 0.0.0.10.10001: . ack 3585 win 16384</em></p>
<p><em><font color="red">00:00:01.026434 0.0.0.5.10001 > 0.0.0.1.80: . 1:1001(1000) ack 1 win 16384<br />
00:00:01.026434 0.0.0.1.80 > 0.0.0.5.10001: . 1:1001(1000) ack 1001 win 15384<br />
00:00:01.026749 0.0.0.5.10001 > 0.0.0.1.80: . ack 1001 win 16384<br />
00:00:01.026749 0.0.0.1.80 > 0.0.0.5.10001: . 1001:2025(1024) ack 1001 win 16384<br />
00:00:01.026749 0.0.0.1.80 > 0.0.0.5.10001: . 2025:3049(1024) ack 1001 win 16384<br />
00:00:01.027223 0.0.0.5.10001 > 0.0.0.1.80: . ack 2025 win 16384<br />
00:00:01.027223 0.0.0.1.80 > 0.0.0.5.10001: . 3049:3463(414) ack 1001 win 16384<br />
00:00:01.027255 0.0.0.5.10001 > 0.0.0.1.80: . ack 3049 win 16384<br />
00:00:01.027896 0.0.0.5.10001 > 0.0.0.1.80: . ack 3463 win 16384<br />
00:00:01.027896 0.0.0.1.80 > 0.0.0.5.10001: F 3463:3463(0) ack 1001 win 16384<br />
00:00:01.028131 0.0.0.5.10001 > 0.0.0.1.80: . ack 3464 win 16383</font></em></p>
<p><em>00:00:01.031124 0.0.0.3.1080 > 0.0.0.10.10001: . 2561:3073(512) ack 3585 win 16384<br />
00:00:01.031124 0.0.0.10.10001 > 0.0.0.3.1080: . ack 3073 win 16384<br />
00:00:01.032293 0.0.0.3.1080 > 0.0.0.10.10001: . 3073:3585(512) ack 3585 win 16384<br />
<font color="#0000a0"> 00:00:01.032293 0.0.0.10.1070 > 0.0.0.9.10001: . 1:1001(1000) ack 1001 win 16384<br />
</font> 00:00:01.032293 0.0.0.10.10001 > 0.0.0.3.1080: . ack 3585 win 16384<br />
<font color="#0000a0"> 00:00:01.033357 0.0.0.9.10001 > 0.0.0.10.1070: . ack 1001 win 16384<br />
</font> 00:00:01.034293 0.0.0.3.1080 > 0.0.0.10.10001: . 3585:4097(512) ack 3585 win 16384<br />
00:00:01.034293 0.0.0.10.10001 > 0.0.0.3.1080: . ack 4097 win 16384<br />
00:00:01.035461 0.0.0.3.1080 > 0.0.0.10.10001: . 4097:4609(512) ack 3585 win 16384<br />
<font color="#0000a0"> 00:00:01.035461 0.0.0.10.1070 > 0.0.0.9.10001: . 1001:2025(1024) ack 1001 win 16384<br />
</font> 00:00:01.035461 0.0.0.10.10001 > 0.0.0.3.1080: . ack 4609 win 16384<br />
<font color="#0000a0"> 00:00:01.036545 0.0.0.9.10001 > 0.0.0.10.1070: . ack 2025 win 16384<br />
</font> 00:00:01.037481 0.0.0.3.1080 > 0.0.0.10.10001: . 4609:5121(512) ack 3585 win 16384<br />
00:00:01.037481 0.0.0.10.10001 > 0.0.0.3.1080: . ack 5121 win 16384<br />
00:00:01.038649 0.0.0.3.1080 > 0.0.0.10.10001: . 5121:5633(512) ack 3585 win 16384<br />
<font color="#0000a0"> 00:00:01.038649 0.0.0.10.1070 > 0.0.0.9.10001: . 2025:3049(1024) ack 1001 win 16384<br />
</font> 00:00:01.038649 0.0.0.10.10001 > 0.0.0.3.1080: . ack 5633 win 16384<br />
<font color="#0000a0"> 00:00:01.039732 0.0.0.9.10001 > 0.0.0.10.1070: . ack 3049 win 16384<br />
</font> 00:00:01.040669 0.0.0.3.1080 > 0.0.0.10.10001: . 5633:6145(512) ack 3585 win 16384<br />
<font color="#0000a0"> 00:00:01.040669 0.0.0.10.1070 > 0.0.0.9.10001: . 3049:3463(414) ack 1001 win 16384<br />
</font> 00:00:01.040669 0.0.0.10.10001 > 0.0.0.3.1080: . ack 6145 win 16384<br />
<font color="#0000a0"> 00:00:01.041264 0.0.0.9.10001 > 0.0.0.10.1070: F 1001:1001(0) ack 3463 win 15970<br />
00:00:01.041264 0.0.0.10.1070 > 0.0.0.9.10001: . ack 1002 win 16383</font></em></p>
<p>The <font color="#0000a0">dark blue</font> lines are traffic between the HTTP client and the Tor proxy. <font color="red">Red</font> lines are the traffic from the HTTP server I added in manually. Some of the times were chopped slightly so as to fit onto the page nicely.<br />
We can see the steps all the way through. The initial blue lines show the syn, syn/ack, ack tcp conversation between the HTTP client and the Tor proxy. When this connection is established, the Tor proxy now creates a Tor circuit. The <strong>bold</strong> lines show the Tor packets being sent back and forth establishing the circuit.</p>
<p><strong>Circuit Creation</strong></p>
<ol>
<li>The first packet sent creates a circuit with the first router. This router respones with a connection succeeded packet</li>
<li>The next packet is an extension, it tells the Tor router we are already connected to, to extend the circuit onto another router. Again, a packet is sent in response to confirm the extension.</li>
<li>This is done once more to the third router</li>
<li>We extend again to the fourth router</li>
<li>The fifth communication sends the ip/port of the TCP (HTTP in this case) server we want to connect to. We can see the connection request being sent, and then the red lines of the server side. This is the exit router establishing a TCP connection to the http server.</li>
</ol>
<p><strong>Data transmission</strong></p>
<p>Now that the circuit has been established, the data can be sent  over the circuit between the client and the server. At time <em><font color="#0000a0"> 00:00:01.001228</font></em> we see that the HTTP client has sent a 1000 byte packet to the proxy. As the circuit is still being established at this time, this packet is left waiting. Eventually, immediately after the circuit has been established, at time <em> 00:00:01.020531,</em>we can see two 512 byte Tor cells being sent across the circuit. These contains the initial 1000 byte HTTP REQUEST packet. They arrive at the Tor exit router, are put back together and sent onto the HTTP server at time <em><font color="red">00:00:01.026434. </font></em>The HTTP server responds with a number of packets, rapidly sending the packets one after the other and then closes the TCP connection with the tor exit router.</p>
<p>These packets are recieved by the Tor exit router, are chopped into Tor cells and sent back over the circuit to the Tor proxy where they are put back together and delivered to the HTTP client.</p>
<p>One interesting thing that the block of red lines demonstrates is the slowness, or latency introduced by the Tor circuit. The server is able to send all its data and close the connection before even a single packet of that data stream reaches the Tor proxy.</p>
<p>You might notice some odd things in the tcp trace as well &#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://projectglop.com/2007/01/30/ssfnet-tor-tcpdump/feed/</wfw:commentRss>
		</item>
		<item>
		<title>K750i/W800i filesystem access</title>
		<link>http://projectglop.com/2006/12/16/k750iw800i-filesystem-access/</link>
		<comments>http://projectglop.com/2006/12/16/k750iw800i-filesystem-access/#comments</comments>
		<pubDate>Sat, 16 Dec 2006 02:02:00 +0000</pubDate>
		<dc:creator>gavin</dc:creator>
		
		<category><![CDATA[GPS]]></category>

		<guid isPermaLink="false">http://projectglop.com/?p=29</guid>
		<description><![CDATA[This was my pet peeve with my mobile phone and java software. Everytime a java application attempted to access the filesystem on the phone, a permission request dialog pops up. For a mapping application that uses tiles of around 256&#215;256 pixels, it needs to access the filesystem with great regularity and thus great annoyance ensues.
The [...]]]></description>
			<content:encoded><![CDATA[<p>This was my pet peeve with my mobile phone and java software. Everytime a java application attempted to access the filesystem on the phone, a permission request dialog pops up. For a mapping application that uses tiles of around 256&#215;256 pixels, it needs to access the filesystem with great regularity and thus great annoyance ensues.</p>
<p>The correct way to solve this problem is for the application writer to sign the java application with a certificate, obtained from the likes of Thawte or Verisign. The problem with this is:</p>
<ul>
<li>It costs money to get a certificate</li>
<li>It appears that only a commerical entity can purchase a cert. for signing j2me applications.</li>
</ul>
<p>There are alternatives to this that I spent most of the day investigating. The best way seemed to be to creates ones own private key and certificate. Upload the certificate to the root store on the mobile phone and sign the application with the private key. Tedious perhaps, especially seeing as I&#8217;d have to sign every application and every new version of the application I&#8217;d put on the phone, but I was happy enough to do that.</p>
<p>However. There is no support for adding ones own certificates to the K750i/W800i. No official support that is. After much googling and trawling through the forums at <a href="http://www.esato.com" onclick="javascript:urchinTracker ('/outbound/article/www.esato.com');">http://www.esato.com</a> I found software to do this. An application called <a href="http://farmanager.com/" onclick="javascript:urchinTracker ('/outbound/article/farmanager.com');">FAR Manager</a> in conjunction with plugin called <a href="http://forums.se-nse.net/index.php?showtopic=3666" onclick="javascript:urchinTracker ('/outbound/article/forums.se-nse.net');">SEFP</a>. The FAR Manager application is a generic file system manager, but it supports plugins for accessing various filesystem types other than a standard hard drive. Network filesystems, FTP, etc.</p>
<p>The SEFP, Sony Ericsson Flash Plugin, is able to connect to a K750i/W800i phone over the stock DCU-60 cable and offer access to the filesystem on the onboard flash memory.</p>
<p><img src="http://sephone.nm.ru/images/sefp/sefp_2.gif" /></p>
<p>There is a brief <a href="http://myforum.lasyk.net/showthread.php?t=25656" onclick="javascript:urchinTracker ('/outbound/article/myforum.lasyk.net');">guide</a> available showing the basics of using FAR Manager in conjunction with the SEFP.</p>
<p>Once this is up and running on the mobile phone (You&#8217;ll need to install the Sony Ericsson Update Manager first if you haven&#8217;t already. This contains the USB flash drivers the plugin uses to access the phone), it&#8217;s possible to copy files to/from the mobile phone flash memory. It&#8217;s then a simple matter of uploading a .cer file to the correct directory on the phone, modifying a <em>customize.xml </em>file on the phone to list the certificate, and reseting the phone using a master reset.</p>
<p>Supposedly. This doesn&#8217;t actually work. The certificate does not get added to the root repository as some import function needs to be run. I couldn&#8217;t figure out how to do this, it appears that the phones firmware needs to be completely flashed and the certificate copied over before the phone is started. This way, when it&#8217;s started for the first time with the new firmware, it initializes the certificate database.</p>
<p>So I returned to the forums and kept trawling. I found an easier method, but this is a real hack. The flash plugin has some extra features that allow one to edit the raw flash memory directly, at a bit level. (Extremely useful for obtaining a good forensic image of a Sony Ericsson mobile phone I&#8217;d imagine). The plugin also has support for small .vkp scripts that when run, will patch a location in the flash with certain values, so simple automation of memory editing. A number of these scripts have been created that perform a number of actions. And one of those actions is.. you&#8217;ve guessed it, to disable requests for file system access.</p>
<p>I downloaded the script from <a href="http://forums.se-nse.net/index.php?showtopic=5103&#038;hl=java&#038;st=0" onclick="javascript:urchinTracker ('/outbound/article/forums.se-nse.net');">this forum article</a> and installed it using the FAR Manager with plugin. (In the application, press enter on the flash link, press tab to select the other pane, browse to and select the .vkp file. Press F5 to copy and when prompted select the run .vkp file option.)</p>
<p>Success ! No more filesystem prompts. Now I just need to figure out where j2memap looks for map files on the memory card and I&#8217;m away in a hack.</p>
]]></content:encoded>
			<wfw:commentRss>http://projectglop.com/2006/12/16/k750iw800i-filesystem-access/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Dr. Clayton&#8217;s thesis</title>
		<link>http://projectglop.com/2006/11/23/dr-claytons-thesis/</link>
		<comments>http://projectglop.com/2006/11/23/dr-claytons-thesis/#comments</comments>
		<pubDate>Thu, 23 Nov 2006 16:08:09 +0000</pubDate>
		<dc:creator>gavin</dc:creator>
		
		<category><![CDATA[Security]]></category>

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

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

		<guid isPermaLink="false">http://projectglop.com/?p=28</guid>
		<description><![CDATA[As I mentioned in the last post, I&#8217;m working on a Tor simulation. I spend most of my time doing that and haven&#8217;t had much of a chance to do as much reading on current research as I should. One particular document I was quite interested in was Richard Clayton&#8217;s Ph.D. thesis. Dr. Clayton does [...]]]></description>
			<content:encoded><![CDATA[<p>As I mentioned in the <a href="http://www.redbrick.dcu.ie/~gavin/2006/11/13/utilising-stream-recording-in-ssfnet/" onclick="javascript:urchinTracker ('/outbound/article/www.redbrick.dcu.ie');">last post</a>, I&#8217;m working on a Tor simulation. I spend most of my time doing that and haven&#8217;t had much of a chance to do as much reading on current research as I should. One particular document I was quite interested in was Richard Clayton&#8217;s Ph.D. <a href="http://www.cl.cam.ac.uk/TechReports/UCAM-CL-TR-653.html" onclick="javascript:urchinTracker ('/outbound/article/www.cl.cam.ac.uk');">thesis</a>. <a href="http://www.cl.cam.ac.uk/~rnc1/" onclick="javascript:urchinTracker ('/outbound/article/www.cl.cam.ac.uk');">Dr. Clayton</a> does a lot of very practical security research, which can be a breath of fresh air compared to the standard academic papers on security. By that I mean his papers are extremely readable, practical and not overflowing with maths. (Along with <a href="http://www.redbrick.dcu.ie/~gavin/2006/11/13/getting-up-in-the-morning/" onclick="javascript:urchinTracker ('/outbound/article/www.redbrick.dcu.ie');">mornings</a>, me and maths don&#8217;t get on too well)<br />
I finished re-reading the Aubrey-Maturin series again the other day on my 770, so downloaded a copy of Clayton&#8217;s thesis as my bedtime reading! There are a number of very interesting tricks and techniques raised in the thesis, quite a lot of which I hadn&#8217;t encountered before. I thought that I would post up some of the more interesting ones. I&#8217;m sure a lot of these are common knowledge, but I was surprised by some.</p>
<p>The title of the thesis is &#8220;Anonymity and traceability in cyberspace&#8221; and mostly deals with the issue of traceability.</p>
<p><strong><strike>IP</strike> TCP Stream Spoofing</strong></p>
<p><strike>Ip</strike> TCP spoofing isn&#8217;t as impossible as it should be. The problem with spoofing a complete conversation is that the ACK numbers on each packet being sent out need to be correct. They need to be the same as the sequence numbers recieved. To prevent easy guessing of the sequence numbers, the initial sequence number is randomised. So the attacker must guess a 2^32 value correctly in order to spoof a conversation. This sounds great, the problem is that equipment vendors don&#8217;t follow this rule all the time. Alcatel equipment for example does not use a random value, instead a chosen value is incremented by 64,000 every millisecond. This is all detailed on pg27, and a <a href="http://www.cert.org/advisories/CA-2001-09.html" onclick="javascript:urchinTracker ('/outbound/article/www.cert.org');">CERT Advisory</a></p>
<p><strong>ADSL Authentication </strong></p>
<p>When authenticating a DSL connection, the users DSL modem connects to a DSLAM in the telephone exchange. The DSLAM creates a Permanent Virtual Circuit (PVC) to a &#8220;Home Gateway&#8221;. The authentication details are then offered to the Home Gateway by the DSL Modem which in turn will hand them onto the correct ISP RADIUS server. The ISP RADIUS server is  chosen based on the username of the authentication details. e.g gavin@eircom.net will go to Eircoms ISP, gavin@esatbt.ie will go to ESAT BTs RADIUS server etc. The RADIUS server will authenticate the user and then allocate them an IP using DHCP.</p>
<p>The issue with this is that I can borrow another persons authentication details and commit some nefarious act on the Internet. When the IP used in the nefarious act is traced back, it will lead to the owner, and not me. The only way to verify in fact I was the one using that IP is to check the logs of the Home Gateway. This will show what PVC was used to pass on the authentication details, back to the DSLAM and back to the physical socket connecting my telephone to the DSLAM.</p>
<p>The only problem is that apparently the Home Gateway may not actually log this information.  Pg43.</p>
<p><strong>Playing with reverse DNS</strong></p>
<p>Plenty of interesting things one can do with reverse DNS it seems. For example Apache logs use an IP address at the start, or can reverse resolve this IP and use the DNS instead. If the reverse DNS address looks like an IP, then effectively a fake IP can be substituted in the logs. <strike>There are options to disable this, or do full IP checking in Apache</strike>. Reverse DNS is disabled by default, and if enabled double DNS lookups can be performed. Indeed any sort of string could be inserted into the logs with this trick. Pg50 and <a href="http://www.infohacking.com/INFOHACKING%20RESEARCH/Our%20Advisories/" onclick="javascript:urchinTracker ('/outbound/article/www.infohacking.com');">this article</a></p>
<p>The same sort of trick can be performed on an IRC server. The server should log just the IP, but this isn&#8217;t always the case. Pg55.</p>
<p>And again, in e-mails, to fool someone that doesn&#8217;t thoroughly investigate the headers. In this case an ip was configured to resolve to <em>bay15-f8.bay15.hotmail.com</em> and extra hotmail specific information such as <em>X-Originating-IP: </em>added<em>. </em>The IP for x-originating of course was a false one. Pg59</p>
<p><strong>HopFake</strong></p>
<p>A simple trick for creating false traceroutes. When an ICMP echo packet arrives at the local machine and the TTL value is zero, don&#8217;t respond with an echo, respond with a TTL exceeded and a different IP address. The machine sending the traceroute packet assumes that your machine is a router and will send another ICMP echo packet with TTL+1. You can then respond to this new ICMP echo with either an echo and a different IP address, or send back another TTL and continue on the traceroute. Nice little trick. Pg54 and a copy of <a href="http://xenion.antifork.org/hopfake-2.0.BETA5.tgz">hopfake<br />
</a></p>
<p>That&#8217;s just small small knick knacky things from the thesis, I have yet to read the remaining two thirds.</p>
]]></content:encoded>
			<wfw:commentRss>http://projectglop.com/2006/11/23/dr-claytons-thesis/feed/</wfw:commentRss>
		</item>
		<item>
		<title>CounterStrike Source demo to video</title>
		<link>http://projectglop.com/2006/11/19/counterstrike-source-demo-to-video/</link>
		<comments>http://projectglop.com/2006/11/19/counterstrike-source-demo-to-video/#comments</comments>
		<pubDate>Sun, 19 Nov 2006 22:11:01 +0000</pubDate>
		<dc:creator>gavin</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://projectglop.com/?p=27</guid>
		<description><![CDATA[I was playing around with converting recorded CS:S demos to videos and came across the GameCam tool, in combination with the Windows Movie Maker application. Both are reasonably decent, movie maker is a bit buggy, so save regularly. Another GameCam equivalent tool is Fraps. Both have freeware/demo versions that cut down on the functionality, but [...]]]></description>
			<content:encoded><![CDATA[<p>I was playing around with converting recorded CS:S demos to videos and came across the <a href="http://www.planetgamecam.com/" onclick="javascript:urchinTracker ('/outbound/article/www.planetgamecam.com');">GameCam</a> tool, in combination with the Windows Movie Maker application. Both are reasonably decent, movie maker is a bit buggy, so save regularly. Another GameCam equivalent tool is <a href="http://www.fraps.com/" onclick="javascript:urchinTracker ('/outbound/article/www.fraps.com');">Fraps</a>. Both have freeware/demo versions that cut down on the functionality, but do work.<br />
One issue I encountered with CS:S demos is that when a map is changed, the  demo continues recording with a _X appended to the filename, where X is a increasing number for each map change. These demos won&#8217;t play correctly by default. The solution is to run the demoui cmd from the console and use that interface to load the demo. Once the demo is loaded, enter 50 into the frame box and press goto. This will jump to the start of the demo and start playing it correctly.</p>
<p>An example I uploaded to Youtube is below, music courtesy my eccentric eclectic flatmate.<br />
<center><br />
<object width="425" height="350">
<param name="movie" value="http://www.youtube.com/v/wnHtrVfvt5A"></param>
<param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/wnHtrVfvt5A" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object><br />
</center></p>
<p></br><br />
<strong>Update: Dec 4th, 2006. </strong></p>
<p>I finished creating the video I was hoping to create. That is, a mockery of my CounterStrike playing peers. The YouTube version below  is quite poor quality unfortunately. A full quality 720&#215;576 version is available though. <a href="http://gavin.redbrick.dcu.ie/BotSlaughter-720x576.wmv" onclick="javascript:urchinTracker ('/outbound/article/gavin.redbrick.dcu.ie');">BotSlaughter-720&#215;576 (95MB)</a>. </p>
<p><center><br />
<object width="425" height="350">
<param name="movie" value="http://www.youtube.com/v/6IAhurdYHKs"></param>
<param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/6IAhurdYHKs" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object><br />
</center></p>
]]></content:encoded>
			<wfw:commentRss>http://projectglop.com/2006/11/19/counterstrike-source-demo-to-video/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Utilising stream recording in SSFNet</title>
		<link>http://projectglop.com/2006/11/13/utilising-stream-recording-in-ssfnet/</link>
		<comments>http://projectglop.com/2006/11/13/utilising-stream-recording-in-ssfnet/#comments</comments>
		<pubDate>Mon, 13 Nov 2006 18:44:36 +0000</pubDate>
		<dc:creator>gavin</dc:creator>
		
		<category><![CDATA[Anonymity]]></category>

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

		<guid isPermaLink="false">http://projectglop.com/?p=26</guid>
		<description><![CDATA[My work at the moment is building a Tor based simulation. I&#8217;m using the java SSFNet simulation tool which is designed to be extremely scalable. Hopefully I&#8217;ll be able to implement thousands of nodes, with hundreds of thousands of connections. At this stage I have a rudimentary implementation of the Tor protocol, with a torProxy, [...]]]></description>
			<content:encoded><![CDATA[<p>My work at the moment is building a <a href="http://tor.eff.org" onclick="javascript:urchinTracker ('/outbound/article/tor.eff.org');">Tor</a> based simulation. I&#8217;m using the java <a href="http://www.ssfnet.org/homePage.html" onclick="javascript:urchinTracker ('/outbound/article/www.ssfnet.org');">SSFNet</a> simulation tool which is designed to be extremely scalable. Hopefully I&#8217;ll be able to implement thousands of nodes, with hundreds of thousands of connections. At this stage I have a rudimentary implementation of the Tor protocol, with a torProxy, torRouter and torExitRouter. I can connect a testTcpClient to a testTcpServer via the torProxy, 3 torRouters and a torExitRouter.</p>
<p><img alt="Simple Tor example" id="image23" src="http://www.redbrick.dcu.ie/%7Egavin/wp-content/uploads/2006/11/torSimple.gif" /></p>
<p>It&#8217;s very simple, the tcpClient sends a request for some data and the tcpServer sends data of that size back. When the tcpClient recieves the data, it disconnects and the established torCircuit is torn down. (Well it should be. At the moment, everything just dies when the connection closes)</p>
<p>Obviously the most important part of the simulation for me is getting results from it. At the moment what I&#8217;m interested in is obtaining packeting timing information which will allow me to compare streams on one part of the network with streams on another part.</p>
<p>There is a measurement infrastructure in place in SSFNet, however I got a tad confused with the documentation for it. It&#8217;s actually extremely straightforward though. I thought I&#8217;d document what I&#8217;ve done so far. The SSFNet community in general is quite small, the tool doesn&#8217;t appear to be actively developed, so I figured any spur to this might help. It&#8217;s also handy for me for logging what I&#8217;ve done.</p>
<p><strong>Utilising a BasicRecorder via a ProbeSession</strong></p>
<p>In the DML file for your simulation, add the following to the graph section</p>
<p><em>ProtocolSession [<br />
name probe use SSF.OS.ProbeSession<br />
file &#8220;/tmp/mystream.dat&#8221;<br />
stream &#8220;My Stream&#8221;<br />
</em> ]</p>
<p>This will create a <em>ProbeSession</em> &#8220;pseudo-protocol&#8221; within the graph. This can then be accessed like below</p>
<p><em>if(this.recorder == null)<br />
{<br />
ProbeSession probe = (ProbeSession)this.owner.inGraph().SessionForName(&#8221;probe&#8221;);<br />
this.recorder = (StreamInterface)probe.getRecorder();<br />
} </em></p>
<p>Where <em>this.owner</em> is a class extending the <em>ProtocolSession</em> class.  The <em>StreamInterface</em> returned is actually an object of type <em>BasicRecorder</em>, this isn&#8217;t mentioned anywhere in the documentation. I haven&#8217;t quite figured out how to get a different <em>StreamInterface</em> implementing class returned.</p>
<p>Once this recorder has been obtained, it can be written to quite easily using the <em>send()</em> method.</p>
<p><em>byte[] nothing = new byte[10] ;<br />
String writer = owner.localNHI;<br />
String type = VIRTUAL ;<br />
int nWriter = this.recorder.getRecordSourceCode(writer);<br />
int nType = this.recorder.getRecordTypeCode(type);<br />
this.recorder.send(nType,nWriter, owner.localHost.now()/(double)SSF.Net.Net.seconds(1.0),nothing,0,10);</em></p>
<p>It took me a while to figure out where the <em>BasicRecorder</em> class was getting the int values from for the Code strings. It just creates internal numbers, ints, to store the string the first time it&#8217;s called and subsequently uses that int for every other call. Everything is figured out by looking at the code of course, luckily most of SSFNet is opensource.<br />
To view the outputed log in <em>/tmp/mystream.dat, </em>you can use the <em>BasicPlayer</em> class. The stream identifier is as defined in the DML file, <em>&#8220;My Stream&#8221;. </em>with a 0 appended.</p>
<p><em>gavin@gavbot:~/workspace/ssfnet/bin$ java SSF.Util.Streams.BasicPlayer &#8220;My Stream.0&#8243; /tmp/mystream.dat.0 > output.tmp<br />
{Player processed 825 records, 8210 bytes, in 0.1 seconds (82 KB/s)}<br />
gavin@gavbot:~/workspace/ssfnet/bin$ head -5 output.tmp<br />
[type=3 (&#8221;Real&#8221;)  source=2 (&#8221;2&#8243;)  time=1.276107562  bytes=10]<br />
[type=3 (&#8221;Real&#8221;)  source=4 (&#8221;3&#8243;)  time=1.278110762  bytes=10]<br />
[type=3 (&#8221;Real&#8221;)  source=2 (&#8221;2&#8243;)  time=1.280161322  bytes=10]<br />
[type=3 (&#8221;Real&#8221;)  source=4 (&#8221;3&#8243;)  time=1.286252842  bytes=10]<br />
[type=3 (&#8221;Real&#8221;)  source=5 (&#8221;4&#8243;)  time=1.288256042  bytes=10]<br />
gavin@gavbot:~/workspace/ssfnet/bin$</em></p>
<p>My next step is to hook the stream recording and playback up to the RaceWayViewer tool, so as I can actually see what&#8217;s going on in the network. It&#8217;s not particularly important, or remarkably useful, but it is handy to demonstrate how the simulation works. Beyond that lies creating larger networks, testing the simulation in comparison with the real tool and then starting to analyse results if the simulation output approximates the Tor output.</p>
]]></content:encoded>
			<wfw:commentRss>http://projectglop.com/2006/11/13/utilising-stream-recording-in-ssfnet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Getting up in the morning</title>
		<link>http://projectglop.com/2006/11/13/getting-up-in-the-morning/</link>
		<comments>http://projectglop.com/2006/11/13/getting-up-in-the-morning/#comments</comments>
		<pubDate>Mon, 13 Nov 2006 10:19:29 +0000</pubDate>
		<dc:creator>gavin</dc:creator>
		
		<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://projectglop.com/?p=24</guid>
		<description><![CDATA[The morning time is my arch nemesis

]]></description>
			<content:encoded><![CDATA[<p>The morning time is my arch nemesis</p>
<p><img alt="Calvin and Hobbes morning" id="image20" src="http://www.redbrick.dcu.ie/%7Egavin/wp-content/uploads/2006/11/mornings.gif" /></p>
]]></content:encoded>
			<wfw:commentRss>http://projectglop.com/2006/11/13/getting-up-in-the-morning/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GPS Graphing</title>
		<link>http://projectglop.com/2006/11/07/gps-graphing/</link>
		<comments>http://projectglop.com/2006/11/07/gps-graphing/#comments</comments>
		<pubDate>Tue, 07 Nov 2006 23:16:02 +0000</pubDate>
		<dc:creator>gavin</dc:creator>
		
		<category><![CDATA[Cycling]]></category>

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

		<guid isPermaLink="false">http://projectglop.com/?p=21</guid>
		<description><![CDATA[I used TrekBuddy to record my cycle home this evening, spewing out NMEA data every second. GPSBabel can then convert this NMEA data into the slightly more common GPX XML format. I had planned on taking the data from the GPX file, using a shell script, then drawing graphs from it in Matlab. Being lazy [...]]]></description>
			<content:encoded><![CDATA[<p>I used <a href="http://linuxtechs.net/kruch/tb/" onclick="javascript:urchinTracker ('/outbound/article/linuxtechs.net');">TrekBuddy</a> to record my cycle home this evening, spewing out NMEA data every second. <a href="http://www.gpsbabel.org/" onclick="javascript:urchinTracker ('/outbound/article/www.gpsbabel.org');">GPSBabel</a> can then convert this NMEA data into the slightly more common GPX XML format. I had planned on taking the data from the GPX file, using a shell script, then drawing graphs from it in Matlab. Being lazy though, I googled first for alternative solutions and came across the excellent <a href="http://utrack.crempa.net/" onclick="javascript:urchinTracker ('/outbound/article/utrack.crempa.net');">uTrack website</a>. This site allows you to upload a GPX file, and then creates graphs and statistics about your route. It also plots your route on a Google Map.</p>
<p>There are one or two drawbacks with it though. It&#8217;s not very easy to then display this data on ones website. There is an export to PDF option, but the graph quality is not as good as the original output and it also does not include the Google Map route tracking.  The second problem seems to be with the script itself. It introduces spikes in the speed graph for some reason. Apparently I was cycling at 227km/h at one point. While this is certainly achievable for me on a flat stretch of road with my complete spandex outfit, and aerodynamic helmet, not to mention motorcycle, it&#8217;s not too feasible going through Dublin with its abundant traffic lights.</p>
<p>As a temporary solution, I have copied some of the graphs, and also have the original PDf available. Hopefully the author of the script will make it public or configure a nice way of including the HTML output on an external website.<br />
<img id="image14" alt="Distance v Time" src="http://www.redbrick.dcu.ie/%7Egavin/wp-content/uploads/2006/11/dist_time.png" /><img id="image15" alt="Elevation v Distance" src="http://www.redbrick.dcu.ie/%7Egavin/wp-content/uploads/2006/11/elev_dist.png" /><img id="image16" alt="Elevation v Time" src="http://www.redbrick.dcu.ie/%7Egavin/wp-content/uploads/2006/11/elev_time.png" /><img id="image17" alt="Speed v Distance" src="http://www.redbrick.dcu.ie/%7Egavin/wp-content/uploads/2006/11/speed_dist.png" /><img id="image18" alt="Speed v Time" src="http://www.redbrick.dcu.ie/%7Egavin/wp-content/uploads/2006/11/speed_time.png" /></p>
<p><a id="p12" onmousedown="selectLink(12);" href="http://www.redbrick.dcu.ie/%7Egavin/wp-content/uploads/2006/11/uTrack_.pdf">Route PDF File<br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://projectglop.com/2006/11/07/gps-graphing/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Preloading j2memap with google maps</title>
		<link>http://projectglop.com/2006/11/07/preloading-j2memap-with-google-maps/</link>
		<comments>http://projectglop.com/2006/11/07/preloading-j2memap-with-google-maps/#comments</comments>
		<pubDate>Tue, 07 Nov 2006 14:30:58 +0000</pubDate>
		<dc:creator>gavin</dc:creator>
		
		<category><![CDATA[GPS]]></category>

		<guid isPermaLink="false">http://projectglop.com/?p=14</guid>
		<description><![CDATA[I looked at a way of preloading the j2memap application with maps from Google Maps. Great! I can put the maps on the phone, no permission errors, no messing. Or so I thought, unfortunately it&#8217;s actually quite crap.
I found an application that given a particular URI will download maps from that source for a given [...]]]></description>
			<content:encoded><![CDATA[<p>I looked at a way of preloading the j2memap application with maps from Google Maps. Great! I can put the maps on the phone, no permission errors, no messing. Or so I thought, unfortunately it&#8217;s actually quite crap.</p>
<p>I found an <a href="http://www.barghis.com/winmapper.htm" onclick="javascript:urchinTracker ('/outbound/article/www.barghis.com');">application</a> that given a particular URI will download maps from that source for a given set of coordinates, longitude and latitude. You also choose the zoom level.</p>
<p>Now, I wanted a map of Dublin on my phone. For it to be of any use, it needs to have a reasonable level of zoom, which when downloaded with the above application spews out around 30 or so mb of map data. Grand job, no hassle, I&#8217;ve a 1GB memory card in the phone.  Of course I was being somewhat stupid about it.</p>
<p>By preloading a jar file, as described <a href="http://j2memap.landspurg.net/phpBB2/viewtopic.php?t=13&#038;p=456" onclick="javascript:urchinTracker ('/outbound/article/j2memap.landspurg.net');">here</a>, you take the maps, convert them to a certain filename and stored them in the cache directory in the jar. A Java jar file being in fact a zip file, so this is quite easy. The problem occurs when you want to load this jar onto the phone. My phone, a SE K750i, copies the jar file to the phone memory before it runs&#8230; So I am going to be always limited to the phone memory size, not the size of the memory card. <strong>*NNNNnnnnnngggghhhh*</strong></p>
<p>I am just going to have to wait for a signed midlet that loads the data from the  memory card filesystem.  I did also look at writing a small httpserver, which would have encountered the same problems as above, but in fact the phone can only run one java application at a time anyway !</p>
]]></content:encoded>
			<wfw:commentRss>http://projectglop.com/2006/11/07/preloading-j2memap-with-google-maps/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
