<?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; nexus</title>
	<atom:link href="http://www.talkunafraid.co.uk/tag/nexus/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.talkunafraid.co.uk</link>
	<description>EVE Online, Ruby on Rails and Security</description>
	<lastBuildDate>Wed, 01 Sep 2010 17:12:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Of OLAP and T3 (Plus more on projects)</title>
		<link>http://www.talkunafraid.co.uk/2009/02/of-olap-and-t3-plus-more-on-projects/</link>
		<comments>http://www.talkunafraid.co.uk/2009/02/of-olap-and-t3-plus-more-on-projects/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 20:29:55 +0000</pubDate>
		<dc:creator>James Harrison</dc:creator>
				<category><![CDATA[EVE Metrics]]></category>
		<category><![CDATA[ISKsense]]></category>
		<category><![CDATA[MMMetrics]]></category>
		<category><![CDATA[Nexus]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[accview]]></category>
		<category><![CDATA[activewarehouse]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[EVE]]></category>
		<category><![CDATA[eve metrics]]></category>
		<category><![CDATA[isksense]]></category>
		<category><![CDATA[nexus]]></category>
		<category><![CDATA[olap]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[t3]]></category>

		<guid isPermaLink="false">http://www.talkunafraid.co.uk/?p=213</guid>
		<description><![CDATA[Blimey, it&#8217;s been a while since my last post. I hasten to add that this delay comes only by virtue of the fact that I am exceptionall busy with various projects right now. I thought an update might be appropriate, in any case. I&#8217;ve spent most of my time working on EVE Metrics. There&#8217;s some [...]]]></description>
			<content:encoded><![CDATA[<p>Blimey, it&#8217;s been a while since my last post. I hasten to add that this delay comes only by virtue of the fact that I am exceptionall busy with various projects right now. I thought an update might be appropriate, in any case.</p>
<p>I&#8217;ve spent most of my time working on <a href="http://www.eve-metrics.com/">EVE Metrics</a>. There&#8217;s some very cool, very powerful changes coming up soon; early Feb saw the introduction of much more accurate prices and indexes, with a newly improved algorithm for calculating the average prices of items. But even better is some of the new stuff coming in the next few weeks- notably the implementation of a fully-fledged OLAP warehouse for EVE Metrics, which will open up some very awesome possibilities in the long run.</p>
<p>Also under the scalpel this month has been the API system. EVE Metrics will support full and limited keys when it comes to the API. However, there will be a quirk; if you want to make use of other people&#8217;s API data, for example to see more detailed market analysis with transactions hooked in and so on, then you&#8217;ll have to share your data. This means if you want to benefit from other people&#8217;s data, you must reciprocate and share your data for the benefit of others. Your data will, in all cases, be used for global averages, but entirely anonymously; for example, the number of transactions per day on a given item may include data from your API, but nobody would know it. This system will hopefully encourage users to share data more often than hide it. I&#8217;m planning to make this an opt-out system, with the choice to opt-out given on the API key page as part of the form. It&#8217;ll be really hard to miss, and those who are paranoid or wish to hide their activity completely can check the box to opt out.</p>
<p>I released <a href="http://accview.mmmetrics.co.uk/">accVIEW</a> a few days ago, and it&#8217;s had quite rapid takeup from corporations. It&#8217;s a service that lets you perform background checks on prospective new members to your corporation- the basic tool lets you view skills, characters on an account, and various bits of information like their corp details, CEO, and so on. The premium version (For the low cost of 150mISK) lets you see the applicant&#8217;s wallet journal (with tools to show suspcious transactions and filter the results), as well as their recent kills/losses.</p>
<p>EVE&#8217;s M10 expansion, Apocrypha, should be awesome. Tech 3 is going to be great- lots of people complain about the skill loss and the fact that it&#8217;ll make FCing a nightmare. Well, no. The skill loss makes sense, and provides an interesting new dynamic to EVE. FCing- well, those who complain about T3 making FCing impossible are evidently not up to scratch as FCs. It&#8217;ll give FCs a real change and challenge for the first time in years. The wormhole stuff will be an interesting thing to watch pan out- there&#8217;s lots ot potential there, and it could end up being a lot of fun&#8230;</p>
<p>Nexus is progressing slowly but surely; the large amount of data we&#8217;re gleaning via an API-scraping installation for Sc0rched Earth is helping no end with development, and we&#8217;re busy tidying things up behind the scenes and refining some of the interface to make more sense. Once I&#8217;ve gotten ActiveWarehouse&#8217;s ETL library working properly, my next step will be to break out Photoshop and my text editor- EVE Metrics, ISKsense, maybe accVIEW, and the new MMMetrics site (Which will be launched soon) are all going under the knife and getting a serious facelift. And then it&#8217;s on to even more awesome stuff for EVE Metrics!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.talkunafraid.co.uk/2009/02/of-olap-and-t3-plus-more-on-projects/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Killboards Questionnaire Results</title>
		<link>http://www.talkunafraid.co.uk/2009/01/killboards-questionnaire-results/</link>
		<comments>http://www.talkunafraid.co.uk/2009/01/killboards-questionnaire-results/#comments</comments>
		<pubDate>Sun, 11 Jan 2009 18:10:30 +0000</pubDate>
		<dc:creator>James Harrison</dc:creator>
				<category><![CDATA[MMMetrics]]></category>
		<category><![CDATA[Nexus]]></category>
		<category><![CDATA[nexus]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[work in progress]]></category>

		<guid isPermaLink="false">http://www.talkunafraid.co.uk/?p=183</guid>
		<description><![CDATA[Firstly, an apology- I&#8217;ve not been updating as often as I should perhaps do. This was mostly down to the mild concussion I suffered fairly early on Wednesday morning, which limited my capacity for clear thinking for quite a while. Now, onwards- with a summary of what we got from the killboard questionnaire. Most Wanted [...]]]></description>
			<content:encoded><![CDATA[<p>Firstly, an apology- I&#8217;ve not been updating as often as I should perhaps do. This was mostly down to the mild concussion I suffered fairly early on Wednesday morning, which limited my capacity for clear thinking for quite a while. Now, onwards- with a summary of what we got from the killboard questionnaire.</p>
<p><strong>Most Wanted Features</strong></p>
<ol>
<li>API import of losses and kills</li>
<li>In-detail fitting information/fitting database</li>
<li>Accurate price data</li>
<li>Scoring/points</li>
<li>Standings import</li>
</ol>
<p><strong>Most Wanted Fixes</strong></p>
<ol>
<li>Needs to be quick</li>
<li>Needs to be easily themed and styled</li>
<li>Needs good documentation</li>
<li>Needs a better admin panel than EDK</li>
<li>Needs easier installation</li>
</ol>
<p>Medals and ranks were a close runner up, as were better engagement summary tools.</p>
<p>So, let&#8217;s go into a little more detail and see how we&#8217;re covering each of these for Nexus.</p>
<p><span id="more-183"></span></p>
<p><em>API import of losses and kills</em></p>
<p>Already done! Works a treat. Does corporate feeds as well as personal.</p>
<p><em>In-detail fitting information/fitting database</em></p>
<p>This is built into the killboard. Instead of a kill having associated modules and a ship, we store that as a fitting and reference it from the kill. So we have a fitting database built on the side from the word &#8216;go&#8217;. Of course, kills aren&#8217;t the only way to load in fittings.</p>
<p><em>Accurate price data</em></p>
<p>We have a simple-to-extend framework implemented in Nexus for price sources. Here&#8217;s our EVE Central source.</p>
<div class="geshi no ruby">
<div class="head"># EVE Central Updater</div>
<ol>
<li class="li1">
<div class="de1"><span class="co1"># Author:: Ix Forres</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1"># Remote API Version:: 2.0</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1"># Example URI:: http://eve-central.com/api/marketstat?typeid={type_id}</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1"># Notes:</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">#   No key required for this service</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">class</span> <span class="re2">Nexus::PriceUpdaters::EVECentral</span> <span class="sy0">&amp;</span>lt; <span class="re2">Nexus::PriceUpdaters::Base</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">def</span> get_price</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; r = <span class="re2">Net::HTTP</span>.<span class="me1">get</span><span class="br0">&#40;</span><span class="kw4">URI</span>.<span class="me1">parse</span><span class="br0">&#40;</span>@source.<span class="me1">retrieval_url</span>.<span class="kw3">gsub</span><span class="br0">&#40;</span><span class="st0">&#39;{type_id}&#39;</span>,@type.<span class="me1">id</span>.<span class="me1">to_s</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; x = Hpricot<span class="br0">&#40;</span>r<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">return</span> <span class="br0">&#40;</span>x<span class="sy0">/</span><span class="st0">&quot;evec_api&quot;</span><span class="sy0">/</span><span class="st0">&quot;marketstat&quot;</span><span class="sy0">/</span><span class="st0">&quot;type&quot;</span><span class="sy0">/</span><span class="st0">&quot;sell&quot;</span><span class="sy0">/</span><span class="st0">&quot;median&quot;</span><span class="br0">&#41;</span>.<span class="me1">inner_html</span>.<span class="me1">to_f</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">end</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">end</span></div>
</li>
</ol>
</div>
<p>So, there you go. A simple updater. You get a web interface which lets you add sources which use these updaters- setting up the URL, priority, and what that source should be used for. We have this set up in a way which enables you to display different prices to corporation members, alliance members, and so on. If your corporation has in-house shops, those shops can be easily added and used for corporate members.</p>
<p><em>Scoring/points</em></p>
<p>Ooer. We&#8217;ve not gone near this, yet. It&#8217;s always a difficult subject, and plenty of people have plenty of different ideas about how you should do this. Whatever we end up doing, rest assured there will be plenty of flexibility about how the system is configured. Possibly a modular system, though that might be overcomplicating things.</p>
<p><em>Standings Import</em></p>
<p>Again, we&#8217;ve not gone near this yet. We&#8217;re currently using the restful_authentication plugin with some extra filters (fc_required, admin_required, and so on). This isn&#8217;t great. One of the things we need to do is to move over to a more flexible framework (we&#8217;re looking at Lockdown) for authentication, and set up a proper usergroup/permission system. For example, you might want everyone in certain alliances/corps to have access to reimbursement, but not everyone you&#8217;re blue to or your alliance is blue to. It&#8217;s a can of worms, programatically, and we&#8217;re leaving it till we&#8217;ve got the basics sorted.</p>
<p><em>Needs to be quick</em></p>
<p>Ok, no problems here. Not only is the system just faster in design, we&#8217;re also providing extensive support for action and fragment caching in pages, counter caches in the database, and so on. We&#8217;re experiencing great performance for a large number of users on an already overworked server, even without any caching enabled. Caching will support a variety of backends, notably memcached.</p>
<p>There&#8217;s no risk of servers being bogged down by large killmails taking ages to parse and be added as can sometimes occur- when a mail is submitted, it gets put on a queue, and a worker will pick it up in the background. It&#8217;ll appear on the site when the worker&#8217;s done building the kill, checking it&#8217;s sane, and retrieving prices/portraits/corp logos associated with the kill and attackers.</p>
<p><em>Needs to be easily themed/styled<br />
</em></p>
<p>Ok, again, not much work done here. We&#8217;re using Haml for our views by and large, but nothing is stopping you writing Erb templates or anything like that. Views are split into partials where it makes sense (the killboard is so far around 20 templates), and there&#8217;s a global layout which is easily adjusted. Stylesheets are authored with Sass, which gets automatically compiled into a minified .css file. Javascript extras can be done with the included script.aculo.us library, which comes with a lot of effects and handy tools.</p>
<p>Themes are certainly doable and we might add support for this later if there&#8217;s demand for it.</p>
<p>On the same topic of styling/theming, the whole system is written with internationalisation (I18n) support for every aspect of the interface. So if you&#8217;ve got a non-English corp or alliance, you&#8217;ll be able to have Nexus in French, Dutch, German&#8230; whatever people voluntarily translate Nexus into. There&#8217;s around the order of 450 strings to translate, though we&#8217;ve reused quite a few of those so they might need splitting up in places for other languages.</p>
<p><em>Needs good documentation</em></p>
<p>We document all the code inline, and build RDoc from that, so there&#8217;s a goodly starting point there. The official site (when it&#8217;s up) will include user documentation for all the features, as well as administrator guides and tutorials for installation.</p>
<p><em>Needs a better admin panel than EDK</em></p>
<p>Right now I&#8217;d say EDK is winning on this in some ways. We&#8217;re currently lacking a central admin panel. But it&#8217;s a few templates away, and I might get around to it this evening.</p>
<p><em>Needs easier installation</em></p>
<p>I can&#8217;t promise anything! It all depends on the host, really. If your host will let you install gems for your Ruby setup, and will let you run an always-running rake task in the background, and will let you set up a cronjob (Basically: Any VPS host, most shared hosts, any dedicated host) then it&#8217;s a piece of cake. But the always-running Rake task might be a problem for some people, notably those running on shared hosts.</p>
<p>Installation really hasn&#8217;t been looked at in any detail whatsoever. We have a &#8216;developer friendly&#8217; writeup on the Nexus development wiki, but it&#8217;s not for the shared hosters amongst us, and goes through building the Nexus database from the EVE database sources, a step which we want to avoid by providing prepackaged starting templates.</p>
<p>So, there you have it- what you want and what we&#8217;re doing to accomodate you. Of course, we&#8217;re now going to go away and work on what we&#8217;re not doing so well on. I&#8217;ll be pushing up the MMMetrics website in the next week or so, complete with some Nexus screenshots and so on.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.talkunafraid.co.uk/2009/01/killboards-questionnaire-results/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Workflows in Rails Development</title>
		<link>http://www.talkunafraid.co.uk/2009/01/workflows-in-rails-development/</link>
		<comments>http://www.talkunafraid.co.uk/2009/01/workflows-in-rails-development/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 19:20:01 +0000</pubDate>
		<dc:creator>James Harrison</dc:creator>
				<category><![CDATA[Nexus]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[nexus]]></category>
		<category><![CDATA[qa]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rspec]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://www.talkunafraid.co.uk/?p=178</guid>
		<description><![CDATA[What&#8217;s your workflow like for Rails development? For Nexus we&#8217;ve got a fairly good workflow set up, though we&#8217;re only using it with 2 developers. When I&#8217;m working on standalone projects (ISKsense, EVE Metrics, and other sites where there&#8217;s just me working on the code) then I use pretty much the same workflow. Here&#8217;s how [...]]]></description>
			<content:encoded><![CDATA[<p>What&#8217;s your workflow like for Rails development? For Nexus we&#8217;ve got a fairly good workflow set up, though we&#8217;re only using it with 2 developers. When I&#8217;m working on standalone projects (ISKsense, EVE Metrics, and other sites where there&#8217;s just me working on the code) then I use pretty much the same workflow. Here&#8217;s how it works.</p>
<p><a href="http://git-scm.com/">Git</a> (hosted at <a href="http://github.com">github.com</a>) stores the project source code. For a given problem, I fork, make changes, merge back in, and push. That results in the Git repository on Github having the most up-to-date version on the &#8216;master&#8217; branch.</p>
<p>At this point, <a href="http://cruisecontrolrb.thoughtworks.com/">CruiseControl.rb</a> (A great continuous integration tool) picks up the update, and tries to run the full <a href="http://rspec.info/">RSpec</a> test suite on the project. Emails are sent out to all developers when the tests pass or fail, with associated error information if it&#8217;s the latter, as well as a HTML report on our CCrb instance.</p>
<p>Assuming we&#8217;re ready to deploy, I fire up <a href="http://www.capify.org/">Capistrano</a> (an excellent pure-Ruby tool for deployment) on my development box, and run &#8216;cap deploy&#8217;. Capistrano connects to the server, makes a Git clone of the most recent master copy, copies in keys/database configs (So they&#8217;re kept out of Git), migrates the database, and then makes a symlink to the new project so Apache (running Passenger) is updated as to where it should be looking. And voila, we&#8217;re deployed!</p>
<p>I&#8217;d be interested to hear what workflows other people use for Rails development. This works fine, and Git means it scales fairly easily to accept more developers, as well as providing incredibly flexible distributed control (So I can work on my laptop away from the internet, committing, branching and so on as needed). But I&#8217;d be at a loss to make this work on a more complex deployment, say with <a href="http://aws.amazon.com/">EC2</a> or other virtualisation software. A continuous integration tool that played better with RSpec would be awesome, too.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.talkunafraid.co.uk/2009/01/workflows-in-rails-development/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Killboard Questionnaire</title>
		<link>http://www.talkunafraid.co.uk/2008/12/killboard-questionnaire/</link>
		<comments>http://www.talkunafraid.co.uk/2008/12/killboard-questionnaire/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 02:12:52 +0000</pubDate>
		<dc:creator>James Harrison</dc:creator>
				<category><![CDATA[Nexus]]></category>
		<category><![CDATA[EVE]]></category>
		<category><![CDATA[killboard]]></category>
		<category><![CDATA[nexus]]></category>
		<category><![CDATA[rfc]]></category>

		<guid isPermaLink="false">http://www.talkunafraid.co.uk/?p=168</guid>
		<description><![CDATA[This is a quick post to ask you to ask your friends, corp killboard guy, alliance API developer, and just about everyone who can lay their hands on a killboard to fill out a quick survey. All this info will go towards deciding our priorities going forward with Nexus. Internally we&#8217;re coming very close to [...]]]></description>
			<content:encoded><![CDATA[<p>This is a quick post to ask you to ask your friends, corp killboard guy, alliance API developer, and just about everyone who can lay their hands on a killboard to fill out a quick survey.</p>
<p>All this info will go towards deciding our priorities going forward with Nexus. Internally we&#8217;re coming very close to a complete working killboard (price loading is the only thing on the menu that still needs work, and that&#8217;s only for a few of our importers), and once we&#8217;ve done a few more milestones worth of work towards other bits of Nexus we&#8217;ll be returning to the killboard and forking out the open source, freely-available version when we&#8217;re done.</p>
<p>So, if you use killboards in any capacity, click through to answer this survey and let us know where we should be focusing our efforts, or tell us about a killer feature you think all KBs should have had from day one.</p>

		<div id="usermessagea" class="cf_info "></div>
		<form enctype="multipart/form-data" action="/tag/nexus/feed/#usermessagea" method="post" class="cform" id="cformsform">
		<fieldset class="cf-fs1">
		<legend>Killboard Features Questionnaire</legend>
		<ol class="cf-ol">
			<li id="li--2"><label for="cf_field_2"><span>Email</span></label><input type="text" name="cf_field_2" id="cf_field_2" class="single fldemail fldrequired" value=""/><span class="emailreqtxt">(valid email required)</span></li>
			<li id="li--3"><label for="cf_field_3"><span>Website (if you have a KB)</span></label><input type="text" name="cf_field_3" id="cf_field_3" class="single" value="http://"/></li>
			<li id="li--4"><label for="cf_field_4"><span>Your Role</span></label><select name="cf_field_4" id="cf_field_4" class="cformselect fldrequired" >
				<option value="User">User</option>
				<option value="Administrator (Self-hosted)">Administrator (Self-hosted)</option>
				<option value="Administrator (Griefwatch/EVE-Kill etc hosted)">Administrator (Griefwatch/EVE-Kill etc hosted)</option>
				<option value="Hosting Site Operator (10+ KBs)">Hosting Site Operator (10+ KBs)</option>
				<option value="Hosting Site Operator (100+ KBs)">Hosting Site Operator (100+ KBs)</option>
			</select><span class="reqtxt">(required)</span></li>
			<li id="li--5" class="cf-box-title">Features you'd like to see (Pick three)</li>
			<li id="li--5items" class="cf-box-group">
			</li>
			<li id="li--6"><label for="cf_field_6" class="cf-before"><span>Ingame Medal display/import</span></label><input type="checkbox" name="cf_field_6" id="cf_field_6" class="cf-box-b"/></li>
			<li id="li--7"><label for="cf_field_7" class="cf-before"><span>Ranks/Medals</span></label><input type="checkbox" name="cf_field_7" id="cf_field_7" class="cf-box-b"/></li>
			<li id="li--8"><label for="cf_field_8" class="cf-before"><span>Maps related to Kills</span></label><input type="checkbox" name="cf_field_8" id="cf_field_8" class="cf-box-b"/></li>
			<li id="li--9"><label for="cf_field_9" class="cf-before"><span>Scoring/points</span></label><input type="checkbox" name="cf_field_9" id="cf_field_9" class="cf-box-b"/></li>
			<li id="li--10"><label for="cf_field_10" class="cf-before"><span>In-Detail Fitting Statistics (EFT-esque)</span></label><input type="checkbox" name="cf_field_10" id="cf_field_10" class="cf-box-b"/></li>
			<li id="li--11"><label for="cf_field_11" class="cf-before"><span>API Importing of Kills/Losses</span></label><input type="checkbox" name="cf_field_11" id="cf_field_11" class="cf-box-b"/></li>
			<li id="li--12"><label for="cf_field_12" class="cf-before"><span>API Importing of standings</span></label><input type="checkbox" name="cf_field_12" id="cf_field_12" class="cf-box-b"/></li>
			<li id="li--13"><label for="cf_field_13" class="cf-before"><span>Comments</span></label><input type="checkbox" name="cf_field_13" id="cf_field_13" class="cf-box-b"/></li>
			<li id="li--14"><label for="cf_field_14"><span>Your Dream Feature</span></label><input type="text" name="cf_field_14" id="cf_field_14" class="single" value=""/></li>
			<li id="li--15"><label for="cf_field_15"><span>Other Features</span></label><textarea cols="30" rows="8" name="cf_field_15" id="cf_field_15" class="area"></textarea></li>
			<li id="li--16"><label for="cf_field_16"><span>Problems with killboards currently</span></label><textarea cols="30" rows="8" name="cf_field_16" id="cf_field_16" class="area"></textarea></li>
		</ol>
		</fieldset>
		<fieldset class="cf_hidden">
			<legend>&nbsp;</legend>
			<input type="hidden" name="cf_working" id="cf_working" value="One%20moment%20please..."/>
			<input type="hidden" name="cf_failure" id="cf_failure" value="Please%20fill%20in%20all%20the%20required%20fields."/>
			<input type="hidden" name="cf_codeerr" id="cf_codeerr" value="Please%20double-check%20your%20verification%20code."/>
			<input type="hidden" name="cf_customerr" id="cf_customerr" value="yyy"/>
			<input type="hidden" name="cf_popup" id="cf_popup" value="nn"/>
		</fieldset>
		<p class="cf-sb"><input type="submit" name="sendbutton" id="sendbutton" class="sendbutton" value="Submit" onclick="return cforms_validate('', false)"/></p>
		</form>
		<p class="linklove" id="ll"><a href="http://www.deliciousdays.com/cforms-plugin"><em>cforms</em> contact form by delicious:days</a></p>		<div id="usermessageb" class="cf_info " ></div>

<p>As always you can use the buttons below to submit this to Twitter or other social sites.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.talkunafraid.co.uk/2008/12/killboard-questionnaire/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nexus, Rails 2.2, I18n</title>
		<link>http://www.talkunafraid.co.uk/2008/10/nexus-rails-22-i18n/</link>
		<comments>http://www.talkunafraid.co.uk/2008/10/nexus-rails-22-i18n/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 01:39:30 +0000</pubDate>
		<dc:creator>James Harrison</dc:creator>
				<category><![CDATA[Nexus]]></category>
		<category><![CDATA[Odds and Ends]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[EVE]]></category>
		<category><![CDATA[frontend]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[nexus]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://www.talkunafraid.co.uk/?p=34</guid>
		<description><![CDATA[Now I&#8217;ve finished off EVE Metrics&#8217;s indexes (Performance tweaks are nearly done, just waiting on a few external patches for various bits and pieces) I&#8217;m cracking on with Nexus. I figured a good thing to do would be to rewrite all my views, partly to tidy them up a bit in places, partly to ensure [...]]]></description>
			<content:encoded><![CDATA[<p>Now I&#8217;ve finished off EVE Metrics&#8217;s indexes (Performance tweaks are nearly done, just waiting on a few external patches for various bits and pieces) I&#8217;m cracking on with Nexus. I figured a good thing to do would be to rewrite all my views, partly to tidy them up a bit in places, partly to ensure everything was written to W3C standards, and partly to implement Internationalisation (Otherwise known as I18n).</p>
<p>Rails 2.2 comes with I18n built in, so I&#8217;ve been using that. It&#8217;s a slow process, turning every string into it&#8217;s own categorised, indexed line. It&#8217;s all in YAML though, so I can easily work on it freehand without needing to worry about complex systems for storage. The one downside is I get to reload my development server to see changes to the pages, but that&#8217;s not too big an issue. It&#8217;s easy to use and works like a charm, so it fits the bill for my purposes.</p>
<p>Also, Rails 2.2 is thread safe! I&#8217;m interested to see what this does performance-wise on Passenger. Load on my server isn&#8217;t a problem but memory is my main concern- Passenger with Ruby Enterprise Edition works great by sharing common elements in memory to reduce usage, but thread safe Rails means I should be able to get away with running fewer servers in the first place. I&#8217;ll spend some time with JMeter and New Relic RPM at some point to see what the real-world gains are.</p>
<p>My next challenge is going to be creating a decent looking fittings/kill display interface. I&#8217;ve learned a lot working on the TacMap, and have some ideas for how I&#8217;m going to display fittings. I don&#8217;t think I&#8217;ll use the ingame fittings screen picture with overlays; it&#8217;s overly complex and imo there&#8217;s better ways to show fittings. Considering one of the main goals with Nexus is high performance and given the slashdot-effect style killboard spammings that occur whenever a big kill gets scored, I&#8217;d like to try and keep the SQL loading down to a minimum.</p>
<p>I&#8217;m also trying to work out what the best way of handling caching will be. My whole configuration system thus far is getting looked at sternly- I&#8217;m using Configatron, but think I need something a little beefier than that which supports some kind of webinterface for editing configuration values. Still, that&#8217;s a problem for another day.</p>
<p>On the EVE front, Shrike lost his titan. Again. In exactly the same way (cloaked off a gate). Yay.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.talkunafraid.co.uk/2008/10/nexus-rails-22-i18n/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
