Pages

February 11, 2012

Now playing: Neptune's Pride


It's been a while since I've done a "Now Playing" post. I haven't had much time to actually play games lately, but one game I do have time to fit in is Neptune's Pride. It's a 4X strategy game of galactic conquest written in flash, and played in "real time". Turns are generally a day long, but ships move and combat happens between turns as well. I've been quite enjoying it, and it only takes a couple minutes of my time here and there. Worth checking out!

January 19, 2012

Multi-processor compilation in older Visual Studios

I'm working from home today due to Seattle's OMGSNOWPOCALYPSE2012. Lamenting the lack of IncrediBuild here at home, I decided to parallelize my builds - if only across four cores instead of across the entire office.

Visual Studio 2010 has an option for parallelizing C++ builds within a single project (as opposed to parallelizing the building of multiple projects, which has long been supported) in the project configuration properties under C/C++ → General → Multi-processor Compilation. This is similar to the old make -j, in that it spawns multiple child processes to carry out compilation. Unlike make -j, though, it's smart enough to spawn an appropriate amount of processes for the number of processor cores on your machine. (So you won't end up with any hilarious anecdotes about how you brought your machine to a standstill by forgetting to type a number, like with make -j. Kind of sad, really.)

While it's not exposed in the project properties dialog, the compilers that ship with VS2005 and VS2008 also supported this option via the /MP command line option. Yes, I realize that the MSDN article I linked to only lists 2010 and 2008, but it does work on 2005 as well; we used it on Pirates of the Burning Sea without trouble.

So go forth, and use those extra cores for something besides YouTube while you're waiting on a build!

January 16, 2012

NetMon!


I've been a Wireshark devotee for probably a decade. I'm sure I'll continue to be a huge fan for everyday use. I had heard stories about Microsoft's Network Monitor being awesome a few years ago at GDC, but hadn't actually tried it out until now.

I have to say, for developing custom protocol parsers (for debugging the mutliplayer game you're working on, for example), it wins hands down. I might never write another Wireshark dissector again.

November 8, 2011

I Know Where You are and What You are Sharing

I Know Where You are and What You are Sharing: Exploiting P2P Communications to Invade Users' Privacy
Abstract: In this paper, we show how to exploit real-time communication applications to determine the IP address of a targeted user. We focus our study on Skype, although other real-time communication applications may have similar privacy issues. We first design a scheme that calls an identified-targeted user inconspicuously to find his IP address, which can be done even if he is behind a NAT. By calling the user periodically, we can then observe the mobility of the user. We show how to scale the scheme to observe the mobility patterns of tens of thousands of users. We also consider the linkability threat, in which the identified user is linked to his Internet usage. We illustrate this threat by combining Skype and BitTorrent to show that it is possible to determine the filesharing usage of identified users. We devise a scheme based on the identification field of the IP datagrams to verify with high accuracy whether the identified user is participating in specific torrents. We conclude that any Internet user can leverage Skype, and potentially other real-time communication systems, to observe the mobility and filesharing usage of tens of millions of identified users.

None of the core concepts in this paper seem particularly surprising: If you establish a connection with someone over the internet, you know their IP address. If you know an IP address, you can check whether that address is participating in a specific BitTorrent download.

The interesting part of this paper is that the authors are able to use Skype to inconspicuously gain a targeted users’ IP address. By basically dropping all TCP SYN packets during call initiation, UDP packets get through but TCP connections fail -the attacker gets the remote IP address, but the user is never notified of the “call”. The authors combine this method of tracking Skype users’ IP addresses with crawling of common BitTorrent trackers to link Skype users with what they are sharing over BitTorrent. Finally, they filter out false positives from users behind NAT devices by initiating a Skype call and a BitTorrent handshake simultaneously and analyzing the IP ID fields of the response packets.

This paper serves as yet another reminder that without special precautions such as using Tor (and even then..), your actions are not anonymous online. But not only does your ISP and your mobile carrier now have all this information about you, this attack can be carried out by anyone.

September 12, 2011

Bandwidth Data

http://nilretain.org/~justin/bandwidth_tests.html

Here's a link to the test data I mentioned in my previous post. It took me a little longer than expected to set up the Qwest/CenturyLink side of things. (Through no fault of theirs, though.. I just was lazy and didn't want to move the bookshelf to get to the phone jack.) Data is just starting to come in now, but so far neither side looks that great. Only time will tell.

September 7, 2011

Bandwidth Woes


Today at 17:00, I will be the proud owner of not one, but two internet connections. I've been a Broadstripe customer for the last few years, and the service has been absolutely terrible. Sadly, because cable companies refuse to compete with each other, Broadstripe was my only option for DOCSIS broadband. When we moved in to our house, we had Qwest DSL (now CenturyLink), but it was also terrible: at the time, we were paying for 7mbps, their highest speed, and getting maybe 3mbps on a good day despite several service calls. CenturyLink has supposedly been upgrading their COs and now offers 12mbps in our area. Broadstripe continues to offer 15mbps, but has obviously heavily over-sold their service without upgrading their network, as my throughput during peak hours has decreased over the years, and has really tanked recently.

So now I have both for a couple weeks, and I'm going to compare. Of course, no one should have to make such a decision based on how slow the connection feels, so I've been collecting data for a while now. Once I have the DSL service up and running tonight, I'll put up a page with running comparisons, but here's a look at the kind of graphing I've been doing with this data:


This graph shows the average bandwidth and latency (to my hosted server) for a given hour of the day over the last two weeks. That entire red line in the top graph has been sliding downwards lately. My comparisons page will also have a non-averaged graph of the last two weeks of data, which shows not only a downward trend, but a number of canyons where my throughput drops to around 2mbps. I'm very curious to see how CenturyLink does in comparison...

June 24, 2011

An addendum to my last post



EVE players have started rioting in-game in Jita, the biggest trade hub in EVE. This screenshot was taken by one of my corpmates, he reports that the population in Jita spiked to 2100 for the riot, and that spill-over riots were happening in the next system, and in other trade hubs like Rens.