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!
/dev/justinian
Code. Spaceships. Games. Bikes. Blinky things.
January 19, 2012
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.
Labels:
networking,
programming,
tools,
torchlight
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
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.
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.
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.
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.
Labels:
griping,
networking
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...
Labels:
griping,
networking
June 24, 2011
An addendum to my last post
Labels:
eve
Breaking up is hard to do
EVE Online has long been my favorite game. I buy new games, play them for a while, and then go back to EVE. The gameplay speaks to me on a very deep level. I'm not in a large alliance fighting to control large areas of space, with billions and billions of ISK to my name (though, I'm sure the people that are feel the same way about how they play). I've just got my own little corner of space carved out, working it and maintaining it with my small corporation. We were recently involved in several large battles (and a war which involved spending 3 billion ISK on mercenary assistance) to defend our home. And that makes this game mean something to me. I'm not grinding for XP, or for a new mount.. I've built something, and I'm defending it. There's a reason for me to fight.
Now, as a game developer myself, I usually roll my eyes at forum rage and take the side of the developer. Like it or not, there's usually a very good reason for the choices a developer makes to your favorite game. But I can't help but think that CCP has made a few bad choices about EVE lately:
The $99 API access issue
One of the greatest strengths of EVE that we tried to emulate a bit on PotBS, was the out-of-game access to in-game information via their web API. This has been a huge boon for them - tools such as EveMon, EFT, and countless others make the game much more accessible to players. Earlier this month, CCP announced that any applications or websites using this data or the EVE IP would need a license. Any of these services that asked for ISK, received ISK donations, or ran web ads would require a $99/year commercial license. Previously, these services were not allowed to receive real-world money, so CCP pitched this as a way for developers to do so. However, there was some confusion on this issue, as their FAQ also stated "No, the commercial license does not allow you to charge real life money for any in-game services."
I was absolutely astounded at this. When I was working on PotBS, I was always amazed at people like ArmEagle, who wanted to set up applications using our data for us. For free. This not only gives you more cool tools to play with, it builds your community and increases player retention. Charging people to build these tools for you is absurd, and would likely mean that most would close down.
Fortunately, CCP has backed down from their position, but not without angering many of the devoted customers who build such tools.
The $70 monocle issue
The most recent expansion for EVE, Incarna, gave players the (limited) ability to walk around in space stations as their characters. This is a huge change for EVE, as previously, a player's only view of their character was of their spaceship. Incarna also added an RMT shop in which players could purchase vanity appearance upgrades for their characters for real money. (Or at least, a currency derived from a currency derived from real money.) EVE players were annoyed by this, since CCP had previously stated that RMT would never be a part of EVE. (Even going so far as to mock RMT in their 2008 april fools' joke.)
I have personally added an RMT shop to an MMO before. Trust me, I understand here. And I wouldn't really care about EVE doing it, were it just vanity items for real money. But EVE's in-game economy is one of the most important aspects of the game.. it balances the entire game world, even for those who never get into the economic gameplay. Not only can these RMT items cross over into the regular in-game economy (which we did on PotBS as well, and I'm still not sure if it was a good idea or not), but someone at CCP leaked an internal newsletter which listed ideas for more direct economic crossover, like buying ships with RMT.
On top of that, CCP has set the prices for these items (that other people can't even see yet) comically high. $70 for a monocle, $20 for a shirt. (Note that real-life shirts are also $20 in EVE's web store.) For comparison, a full costume pack that's usable by any character on your Star Trek Online account will set you back about $6. They're getting a lot of bad press for it, and of course have a forum full of 40-page threads of complaints. I wonder what the fallout here will be.
So despite the title of this post, I'm not leaving EVE yet. But I've become very wary. I'm hoping that the trends I see don't continue. I'm not going to ragequit, I'm not going to flame in the EVE forums about how CCP just lost my two accounts. I've been on the other side. My two subscription fees don't make a dent in their numbers, I can assure you. But it just might not be a game I'm interested in fairly soon.
Labels:
eve
Subscribe to:
Posts (Atom)


