<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Talk Unafraid &#187; work in progress</title>
	<atom:link href="http://www.talkunafraid.co.uk/tag/work-in-progress/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.talkunafraid.co.uk</link>
	<description>The (occasionally coherent) ramblings of a geek</description>
	<lastBuildDate>Thu, 09 Feb 2012 02:27:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Architecture for the future</title>
		<link>http://www.talkunafraid.co.uk/2010/01/architecture-for-the-future/</link>
		<comments>http://www.talkunafraid.co.uk/2010/01/architecture-for-the-future/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 23:49:11 +0000</pubDate>
		<dc:creator>James Harrison</dc:creator>
				<category><![CDATA[EVE Metrics]]></category>
		<category><![CDATA[Odds and Ends]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[eve metrics]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[servers]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[stuffisawesome]]></category>
		<category><![CDATA[work in progress]]></category>

		<guid isPermaLink="false">http://www.talkunafraid.co.uk/?p=616</guid>
		<description><![CDATA[After that EVE-centric post on scalability (thanks to HighScalability.com for linking in, hope it was an interesting read), I figured it was time to return to EVE Metrics and other sites- accVIEW and ISKsense. In the next week we will be migrating to a new server. It&#8217;s in the same datacenter with the same host, [...]]]></description>
			<content:encoded><![CDATA[<p>After that EVE-centric post on scalability (thanks to HighScalability.com for linking in, hope it was an interesting read), I figured it was time to return to EVE Metrics and other sites- accVIEW and ISKsense.</p>
<p>In the next week we will be migrating to a new server. It&#8217;s in the same datacenter with the same host, is a slightly faster machine but has four times as much RAM (8GB) and an additional 10kRPM hard drive. As part of the migration to the new server we&#8217;ll be making some changes to the software architecture running the show.</p>
<p>The main difference is that we&#8217;re moving away from Passenger, also known as mod_rails. It has some advantages in low-memory conditions, but we&#8217;ve had more trouble than it&#8217;s worth, so we&#8217;ll be moving back to running application servers manually as daemons. For this we&#8217;ll be using the excellent Thin application server. For the sites running PHP on the server (this blog, for example), we&#8217;ll be using PHP FPM as we are currently; we&#8217;ve had no issues with that. Both of those will be sitting as reverse proxies behind nginx. Nginx has done very well as a web server and it&#8217;s very fast, as well as being easy to configure.</p>
<p>There is only one other major change; we&#8217;ll be sitting nginx itself behind Varnish, a high performance HTTP cache. This will let us more efficiently leverage HTTP caching in our applications and speed up requests dramatically. Right now we don&#8217;t use HTTP caching that much; we&#8217;d like to change this, particularly in EVE Metrics&#8217; API so we can let Varnish handle a good portion of the thousands of API calls we get asking for the price of trit or what have you. All in all it&#8217;ll mean reduced load on the application cluster, which means we can keep that smaller and lighter, which in turn means more room for the database in memory.</p>
<p>That translates to better performance on the more complex components in the site, ie market pages, your account page, corporate pages, and that better performance means we can build more- we&#8217;re waiting for the new capacity before we add asset support, one of the things we&#8217;re really looking forward to adding, since it will let us add a whole new level of functionality by giving lots more information to processes like our inferred trade detector and our planned fulfilled orders listings. Plus we&#8217;ll be adding asset valuation tools, of course.</p>
<p>The architecture I&#8217;ve described above will basically be &#8216;it&#8217; for now; we have more complication at the application and DB layer (We still use MySQL for a few legacy applications, so we have a tiny MySQL server running). The complication at the app layer mainly consists of things like background processing tools, and for EVE Metrics tasks that are actually executed on a VPS and the results uploaded back to the server (we now do all the major CSV dumps on Makurid&#8217;s VPS).</p>
<p>As the guy who ends up fixing all this when it goes wrong, simplicity is always my main priority, but the added complexity of Thin and Varnish should be well worth it in the long run.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.talkunafraid.co.uk/2010/01/architecture-for-the-future/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Dust 514, some EM2 teasers and statistics</title>
		<link>http://www.talkunafraid.co.uk/2009/08/dust-514-some-em2-teasers-and-statistics/</link>
		<comments>http://www.talkunafraid.co.uk/2009/08/dust-514-some-em2-teasers-and-statistics/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 22:57:53 +0000</pubDate>
		<dc:creator>James Harrison</dc:creator>
				<category><![CDATA[EVE]]></category>
		<category><![CDATA[EVE Metrics]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[dust514]]></category>
		<category><![CDATA[eve metrics]]></category>
		<category><![CDATA[market]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[stuffisawesome]]></category>
		<category><![CDATA[work in progress]]></category>

		<guid isPermaLink="false">http://www.talkunafraid.co.uk/?p=439</guid>
		<description><![CDATA[As you might have heard, CCP announced Dust 514, their console MMORPG. And then announced it was to be integrated with EVE, especially with alliances and corporations. I just don&#8217;t see how it can work, honestly. Half the point of EVE is the userbase is a very mature one and the sort of crowd who [...]]]></description>
			<content:encoded><![CDATA[<p>As you might have heard, CCP announced Dust 514, their console MMORPG. And then announced it was to be integrated with EVE, especially with alliances and corporations. I just don&#8217;t see how it can work, honestly.</p>
<p>Half the point of EVE is the userbase is a very mature one and the sort of crowd who sit in their room playing with internet spaceships. Does EVE really want to get the Halo players of the world contributing to the game? I honestly don&#8217;t think so. It&#8217;s a very snobbish view, I know, but the average console gamer probably doesn&#8217;t want to spend their time liasing with alliances and planning the takeover of space from other alliances with internet spaceships they can&#8217;t see. What&#8217;s in it for the Dust 514 players, anyway? A mission system that could easily be done with some clever AI, from what I hear. I remain highly sceptical and look forward to seeing what CCP has planned in further detail- if they make it work it&#8217;ll be fantastic. But it&#8217;s a big if.</p>
<p>On a much lighter note, I&#8217;ve got some snippets from EM2&#8242;s new API integration. We&#8217;re being really thorough with this so far; we have seperate workers to download and process the API, meaning we can get around the API-being-slow bottleneck by having 3-5 workers just downloading and a few doing the processing (which is quick). What we also wanted to do was give you, the user, tons of control over what information we load into EVE Metrics. Read on for detailed information.<span id="more-439"></span></p>
<p>Right now we don&#8217;t have the ability for you to set information as private. It&#8217;s either in the system or out. That applies only to market orders, of course; everything else is private anyway. We may well be using people&#8217;s transactions and asset data in an anonymous manner for statistics, but we&#8217;ll have a complete privacy policy drawn up before this goes live so that&#8217;s more concrete. What we haven&#8217;t added, though, is a way to have your orders show up in the system just for you and not for anyone else. It&#8217;s a technically huge hurdle, and so it&#8217;s unlikely to happen.</p>
<p><strong>Edit</strong>: Apologies for the odd yellow lines in the screenshots below. My computer is currently totally fubar with graphics card issues and software problems and I&#8217;m writing this blog in safe mode with graphics artefacts all over the damn monitor. They&#8217;re not there on the site, anyway.</p>
<p>What we do have is the aforementioned shedload of controls over everything we access. Here&#8217;s the API list view:</p>
<div id="attachment_442" class="wp-caption aligncenter" style="width: 310px"><a href="http://assets.talkunafraid.co.uk/2009/08/list.png" rel="lightbox[439]"><img class="size-medium wp-image-442" title="API Key List" src="http://assets.talkunafraid.co.uk/2009/08/list-300x69.png" alt="The EM2 API key list page, complete with permissions link" width="300" height="69" /></a><p class="wp-caption-text">The EM2 API key list page, complete with permissions link (Click image to expand)</p></div>
<p>This is exactly the same as on other websites I&#8217;ve produced, with one extra addition- the permissions button. Click on that and you&#8217;ll be taken to a page that looks something along the lines of this (BETA ALERT: The UI here is unfinished and the API methods are not representative of what EM2 will actually use. The character list method will reside in it&#8217;s own API-key-wide section instead of on each character, too, and you won&#8217;t be able to block character sheet calls):</p>
<div id="attachment_443" class="wp-caption aligncenter" style="width: 310px"><a href="http://assets.talkunafraid.co.uk/2009/08/permissions.png" rel="lightbox[439]"><img class="size-medium wp-image-443" title="API Permissions" src="http://assets.talkunafraid.co.uk/2009/08/permissions-300x280.png" alt="API Permissions example page with character sheets blocked on two characters" width="300" height="280" /></a><p class="wp-caption-text">API Permissions example page with character sheets blocked on two characters (Click image to expand)</p></div>
<p>Now, this is where things get interesting. EVE Metrics will only pull data for the methods enabled here. By default, everything that is not required for basic operation (Which will be Character List, Character Sheet and Corp Member Security for corp directors- more on that in a bit) will be turned off. As you browse EVE Metrics you might stumble across features that need data from the API; for example you might try and use an asset valuator. At that point you&#8217;d be prompted to enable that bit of the API. You can also go in and fiddle on a per-character basis at any time to keep things locked down to your heart&#8217;s content.</p>
<p>Of course, this means nothing. We could be pulling your asset APIs for your corps and selling them on eBay. Now, I&#8217;d like to think we&#8217;re quite well trusted in the EVE community, but of course the more paranoid amongst you will want to keep an eye on your API request logs. Our server&#8217;s IP is 77.74.196.169 and we&#8217;ll be maintaining a list of all IP addresses API requests could have come from if we ever expand to more than one server. We may also add our own API access list to log everything we do with your API, but that&#8217;s subject to performance constraints.</p>
<p>We do think this system will let even the most paranoid of players and CEOs of large corporations use EVE Metrics safely and securely, without compromising any data they don&#8217;t want shared with us. Of course, I&#8217;d be interested to hear feedback on the system, but that&#8217;s what comments and Twitter are for.</p>
<p>I promised some statistics up in that title, so here&#8217;s some juicy stats for you now the teasing is over.</p>
<ul>
<li>The Forge Market Coverage: 65% (Active Orders)</li>
<li>Active Orders: 480,734</li>
<li>Expired Orders for July and August: 1,608,408</li>
<li>Total Orders: 2,089,151</li>
<li>Historic Datapoints: 6,949,494</li>
<li>Computed Trades for August: 892,990</li>
</ul>
<p>And for the technical readers, some interesting statistics on our caching performance:</p>
<ul>
<li>Cache hits: 72% (438,140 of 609,386 gets)</li>
<li>Cache datastore size: 41 megabytes</li>
</ul>
<p>We&#8217;re quite proud of that cache hit rate. The vast majority of the time you look at a page on EVE Metrics, the database is barely involved; you&#8217;re looking at a pregenerated snippet of HTML. But there&#8217;s never stale data on the site; every time new data comes in the relevant caches are wiped and next time you look, the new data is there right away. It works really well, and is part of the reason why EM2 is so damn snappy compared to EM1.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.talkunafraid.co.uk/2009/08/dust-514-some-em2-teasers-and-statistics/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Too long, more on EM2</title>
		<link>http://www.talkunafraid.co.uk/2009/07/too-long-more-on-em2/</link>
		<comments>http://www.talkunafraid.co.uk/2009/07/too-long-more-on-em2/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 22:19:35 +0000</pubDate>
		<dc:creator>James Harrison</dc:creator>
				<category><![CDATA[EVE]]></category>
		<category><![CDATA[EVE Metrics]]></category>
		<category><![CDATA[MMMetrics]]></category>
		<category><![CDATA[eve metrics]]></category>
		<category><![CDATA[work in progress]]></category>

		<guid isPermaLink="false">http://www.talkunafraid.co.uk/?p=386</guid>
		<description><![CDATA[Blimey. Twitter has distracted me from actually keeping this blog up to date. Still, better late than never, eh? Since my last post a lot has happened. Temperatures have risen to record highs, reducing productivity as I persevered to build my own air conditioning on the cheap (which looks like a probable failure, pending a [...]]]></description>
			<content:encoded><![CDATA[<p>Blimey. Twitter has distracted me from actually keeping this blog up to date. Still, better late than never, eh?</p>
<p>Since my last post a lot has happened. Temperatures have risen to record highs, reducing productivity as I persevered to build my own air conditioning on the cheap (which looks like a probable failure, pending a cheap pump). Charactr has managed to produce all sorts of interesting bugs in my inbox, delayed_job has broken in some new and interesting ways, and EVE Metrics 2 development has steamed ahead.</p>
<p>Let&#8217;s look at the last one quickly.</p>
<p>So far we&#8217;ve gotten most of the basic backend for EM2 done in such a way as to avoid scalability issues as much as possible. We&#8217;re using PostgreSQL instead of MySQL, we&#8217;re using table partitioning, we&#8217;re using an upload processor that does most of the log parsing work with a custom C extension we&#8217;ve put together (0.06 seconds as opposed to nearly 2 doing it in Ruby natively), and we&#8217;ve added more features and tools for statistics like inferred trade tracking and per-upload statistics.</p>
<p>So, a few things we&#8217;re pretty sure will be in EM2 at release:</p>
<ul>
<li>Inferred trade statistics and display &#8211; We can basically make guesses based on what we see about how much of an item is being bought at what price by observing changing or vanishing orders. It&#8217;s not perfect but mostly accurate.</li>
<li>Performance. Pages will load quickly.</li>
<li>Better APIs for developers &#8211; Including movement, historic price data (same stuff as you can see ingame on the graph tab) and other oft-requested APIs.</li>
<li>Trade Finder. If you&#8217;ve got a hauler, some time, and want to make some ISK, this will tell you the optimal way to do so.</li>
<li>API integration. You&#8217;ll be able to put in your API key to have your market orders autoupdated on the site, optionally fed into the main market display for more accurate data overall, and so on.</li>
</ul>
<p>Stuff we&#8217;re looking to implement but we&#8217;re not sure if we&#8217;ll have it out in the first version includes Science and Industry integration, Location-based filtering, and so on. We&#8217;re also looking at a way to reward uploaders; after all, the site is made accurate by accurate and regularly updated data, and while uploading with EMU isn&#8217;t much of a chore we&#8217;d like to reward those uploaders who go and upload whole swathes of the market or bits that aren&#8217;t so regularly covered, and so on.</p>
<p>The team working on EM2 is more or less at it every day and with Makurid&#8217;s determination to make stuff fast, we&#8217;re getting scarily close to having a really, really nice framework on which to build some exceedingly powerful tools. So now we&#8217;re at the phase where we&#8217;re now working out the final feature list, and implementing them. Hopefully we&#8217;ll be looking at a release in a few weeks time, assuming nothing goes horribly wrong; watch this space!</p>
<p>Edit: This post was originally titled &#8216;Too long, new ideas&#8217;. Kinda drifted off from my original post and renamed it. Ho hum. New ideas can get talked about later.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.talkunafraid.co.uk/2009/07/too-long-more-on-em2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

