2 Year Anniversary Wormhole Prize Hunt Giveaway Bonanza

Two years ago a corpmate responded to my boredom comments in corp chat with an offer to come join him in the new frontier known as Wormhole space.  I dove in headfirst with nothing to my name but a Covetor, a Dominix, and some 50 M in ISK.

At this time there were a lot of mechanics and logistical challenges to be figured out. We started this blog to help share some of our discoveries, shenanigans, and encounters in the unknown land of Wormhole space with the Eve community. Though we are currently not active in Wormhole space, I still keep the original mission of openly sharing information and experiences with the community alive.

So cheers to you, the Eve community, for being readers of our discourse. We would like to offer up prizes to everyone that has helped us stay passionately involved over the past two years.

As in true k162space fashion, we’re not going to simply give away a prize to the best comment, worst fit, or hold a lottery (thanks to CCP_OhWell for the wonderful suggestion).

Anchored in J124654J212203, and J235219 around a planet is a can with a Bookmark. Comment on this post with the Bookmark codename as the comment will serve as your timestamp. Prizes will be given out based on discovery time.

1st Prize – PLEX [update] Found Sept 9 @ 17:01
2nd Prize – Pirate Frigate of your choice with T1 rigs and T2 modules
3rd Prize – Sisters Scanning Set

Fire up the scanning probes and get hunting!

Again, thanks everyone for the experiences so far and cheers to another two years!

Edit from miningzen: The cans are at 0 on planet III in all three systems and are called “k162space.com”, no password.


Capital Industry Calendar

The industry posts at Eve fail have inspired me to start producing Capitals and this has spawned some new requirements out of our Wallet Manager program.

Problem: Expensive Capital BPOs that are idle mean that they are not producing profitable items

Solution: Use the Corporation Industry Jobs API to display a visual aid of capital job production progress as to easily tell when BPOs will be idle

As always, James and I start off with a quick sketch on paper of what we think the final layout should look like. After some scribbling, debates about tables/CSS/javascript, and layout design we settled on a design.

Here is a shot of our paper sketch.

My knowledge of javascript is rather limited and James is usually the one spearheading new and innovative solutions when I present a design challenges.

Notes from James:

Blake often comes to me with a “I need this thing. Can you make this thing?”, to which I often pause and perform what I like to call shriveled programmer stare. This maneuver involves me scrunching my face as much as possible, raising one eyebrow, and giving a bit of a pained look. I’m quite sure I gave this look when the idea was first proposed. The basic idea actually is just a Gantt chart. I have x number of capital ships in production at any given time and I would like to know exactly, at a quick glance, when they come out of the oven so the next batch of parts will be ready. Simple enough, on paper. The real question is implementation.

A first idea was to use a table, and just change the background color if the job is still running on that day. However, we decided we would like to have the chart auto-scale, so that it would always display far enough out to have the end of the longest job on the chart. Doing this as a pure table would have been inelegant at best, with quite possibly a ludicrous amount of table columns needed for very long jobs. Instead, I took a more difficult, but ultimately more elegant approach; use a single row per job and utilize the margin-left and width css properties to control the positioning and length of each bar.

This, however, required that we have non-table-based vertical lines to delineate our days. For this I used Raphael. Raphael is a nifty little SVG canvas library with decent documentation and a good community base.


//Initialize our variables
var width = $this.width();
var height = $this.children('.industry-job-calendar-table').height();
var offset = globals.headerOffset;

var canvasDiv = $this.children('.industry-job-calendar-table').children('.industry-job-calendar-canvas')[0];

//Create the canvas
var paper = Raphael(canvasDiv, width, height + offset);

A lot of work went into getting our start and end dates, and anyone who’s worked with the JS Date object knows how painful operating in the non-native timezone (even if it is UTC) can be. After our fancy date math, we set the job bar properties, draw the canvas object behind the table rows, attach our tooltip hover() events to the bars, then do a pretty animation of the bars to their final widths.

All in all, a nice little idea that came in at around 325 lines of JS and 20 lines of PHP. And to use it is quite simple:

$('#industry-calendar').phdIndustryCalendar({url: './getCapitalJobs.php'});

And the final result is a clean looking display of our Capital production line.


Wallet Manager Security Issues

If you have been following this blog for a while, you know that my corpmate James and I have been working on a Wallet Manager site to help manage our Eve ventures. Over time it has grown into our all-encompassing-project-management-thing which now has a trading, manufacturing, invention, and cost analysis sections.

I wanted to disclose why this darn thing is not open to the public as the majority of the feedback that I have been hearing has been, “awesome, now when can I use it!?”

We have not made the site public because of security issues, specifically due to the numerous SQL injection abilities in our code.

Here is a common function that we use that takes the typeID of an item and returns its name. We use this so when we display a Cap Recharger II for example, you can see the name of the item and not just the ‘2032’ number identifier that is easier to work with from a programmability standpoint.

This PHP function retrieves the item name from an input of its typeID.

public function getName($typeID)
{
$sql = ‘SELECT typeName FROM invTypes WHERE typeID = ‘.$typeID.’‘;
$connection=Yii::app()->db;
$command=$connection->createCommand($sql);

//Run the query
$results = $command->query();
$itemName = $results->read();

return $itemName[‘typeName’];
}

The database query is highlighted in green and the terrible part has been highlighted in red.

What you are seeing is a database query that is fed a non-sanitized input. Good programmers will take the $typeID variable and sanitize it before putting it into the SQL query. A common check is to limit the variable to only have characters such as A-Z and 1-3 characters. This check will not allow any special characters such as  : ; ‘ ” $ that are used for SQL operations to be allowed in the query.

With our current function with the unsanitized input variable, you can plug in all sort of things into the query. You could inject code in place of the variable to read, drop, and modify the database,  something we obviously don’t want happening.

Sadly around half of our function were written in this fashion in order to get the pages up and working. Because it has been an internal project, the focus has been on the aesthetic result and not the security of the code behind it. If we were to release it to the public we would have to go over each function and check to make sure that it is secure.

Let me quote CCP and say Soon(tm) for the release.


Empire Research and POS Attack

In Empire space open Material Research slots are notoriously hard to find. To view Public slots in your area,  go to your Science & Industry section, Installations tab, filter by Material Research / Any / Current Region / Public. This will show you just how full the slots are.

The saturation of slots in Empire is true for Material Research and Copy job activities while Time Efficiency and Invention slots are generally easy to find.

Why are Time Efficiency (PE) and Invention slots generally open in empire?

Adding PE to a BPO reduces a small amount of time off of the construction job. For example here are the build times for a Noctis at differing PE levels (doesn’t account for character skill bonuses):

PE 5: 2 hours, 46 minutes
PE 10: 2 hours, 43 minutes
PE 20: 2 hours, 41 minutes
via games.chruker.dk

If getting it to PE 20 only save 5 minutes off of the build time, why even bother? A lot of small industrialists consider PE on a blueprint a bonus. The amount of time does scale with the job length so for long jobs such as capitals, PE can save a few hours and might be worth the investment. Also if you are planning on making 1,000 Noctii (?), then you will want to spend some research time adding PE to the BPO.

For invention, the jobs are quick. To invent a Cap Recharge II the job takes 2 hours and 30 minutes. I find that it is easier to run a batch of invention jobs and then spend a few weeks working on the invented T2 BPCs.

So what is the budding industrialist supposed to do when he or she wants access to a lot of ME and Copy slots? Why setup a POS of course! How exciting — hours of anchoring, fueling, and defense management! Can you tell I don’t like POS management?

I stupidly setup my research POS in a lowsec dead-end system that has a lot of cyno traffic. I picked this system due to my Highsec proximity.  Not to my surprise, a local pirate group had targeted the tower within two weeks.

One weeknight while I was out to dinner, I started to get frantic emails and text messages from corpmates who were seeing the in-game ‘Under Attack’ messages. When I got home I was able to cancel the research jobs, unanchor all of the labs, pull out the majority of the fuel, and online a bunch or hardeners just to make the job of taking the tower down more tedious; the amount of smack in local informed me that they were there to stay and finish what they had started.

Note to you pirates out there that think killing a POS with labs will get you billions of BPOs: you can run the jobs remotely. This means that the BPO is sitting in a Station in the corporation hangar. The research is done from the POS while the shiny BPO is locked up in the Station corporation hanger.

Second note to pirates: If you find a research tower in a system with NO station, then you have found something quite precious.

After the last hardener was setup, I logged off, watched some Netflix, and went to bed. After waking up and reviewing the Eve in-game alerts, it turns out that they did put the tower into Reinforced mode after 7 hours. I’m glad that the only POS bashing I have participated in on was with Supercarriers and Titans; subcapital POS bashing seems like a boring, boring task.

The lowsec pirates did camp the lowsec station that I was using as a base and stalked me into Empire while the tower was in Reinforced. I believe that they were gathering intel to see if I was going to mount a defense effort or possibly unanchor and save the tower. Having wrote off the costs of the POS project from the beginning, I wasn’t interested in either. Saving the 700 M worth of labs was all I really cared about.

Two weeks later the POS still stands anchored, offline, and with damaged guns that need repair in order to unanchor and save the tower. For now I have no interest in saving it and I need to find a different method or location for getting ME and Copy slots.


Building a Jump Freighter

*Warning* Eve Industry Speak Ahead!

I have always been a builder. Even as a young child I would construct elaborate towers of falling water in the kitchen sink with dirty dishes and cups. My parents told me that I would entertain myself for hours with a small stream of running water and some dirty dishes.

There is something satisfying about taking smaller components and arranging them in a way to serve a higher purpose and I have definitely channeled this passion into Eve. Though the T2 production chain is complicated, there is a beauty to it.

I spend a lot of time on the Sell Forum section of the Eve website. Some deals are in your favor, but you have to do your research. One evening I found a person selling some invented Jump Freighter Blueprints and that really interested me. For a while now, I have been looking to put my Capital BPOs to good use as they have been sitting idle in station for over a month now.

The contract was for 6x ME-1 Anshar BPCs for 700 M, so 116.67 M each. I looked at Jita contracts for ME-1 BPCs and they were selling for around 180-200 M.

Perhaps I stumbled upon a weary industrialist looking to sell his inventory? The offer seemed like a legitimate deal so I accepted it. He even threw in two Obelisk T1 BPCs for free which run about 35 M each. Nice.


Channel Name:    Private Chat (Seller)
Listener:        Blake
Session started: 2011.08.15 19:19:54
—————————————————————

[ 2011.08.15 19:19:56 ] Blake > hi
[ 2011.08.15 19:20:00 ] Seller > hey bud
[ 2011.08.15 19:20:04 ] Seller > you into those bpc?
[ 2011.08.15 19:20:17 ] Blake > nice price
[ 2011.08.15 19:20:19 ] Blake > I’ll take em
[ 2011.08.15 19:20:24 ] Seller > i’ll do all 6 for 700m
[ 2011.08.15 19:20:30 ] Seller > ok, contract to you? now?
[ 2011.08.15 19:20:36 ] Blake > yep
[ 2011.08.15 19:20:59 ] Seller > need those obelisk bpc as well?
[ 2011.08.15 19:21:21 ] Blake > not right now
[ 2011.08.15 19:21:35 ] Seller > foc
[ 2011.08.15 19:21:37 ] Seller > you can have them
[ 2011.08.15 19:22:33 ] Blake > foc?
[ 2011.08.15 19:22:39 ] Blake > oh oh free of charge?
[ 2011.08.15 19:22:40 ] Seller > free of charge
[ 2011.08.15 19:24:17 ] Blake > thanks man
[ 2011.08.15 19:24:24 ] Seller > my pleasure
[ 2011.08.15 19:24:26 ] Seller > enjoy :))
[ 2011.08.15 19:24:31 ] Blake > fly safe

Well now what do I do? I also needed to purchase the Gallente based Advanced Capital Ship Components which run 13.5 M each at NPC prices and get them to at least ME 10.

Right, now to build the things! Our T2 production page of the wallet manager is still taking shape, so I had to resort to using Excel to calculate the build costs.


Now before you rush out to get into Jump Freighter production, consider the large amount of time and capital involved.

First you need the T1 item for the T2 production job and building an Obelisk from BPCs kills the profits. If you build them from BPOs, there is about a 110 M profit at Jita mineral prices. Also, in order to timely produce a freighter, you need multiple copies of the BPOs. I found that you need 1:1:3:2 in order to build a freighter every 15 days.

Second, you need a freighter BPC for Invention, which take around a month copy or you can buy one on the market for around 35 M. Datacores for the Invention job cost about 18.4 M and are consumed during the job. For a ship of this cost level, you are going to also use a decryptor to affect ME output of the T2 BPC, which costs about 6 M and is also consumed.

Now stack up the odds of the Invention success chance with a 41.58 % theoretical max success rate, which means that a successful invention job costs around 61.7 M and takes 5 days for the result and you can see why this isn’t a common industry production chain.

Whew, now to put all the items together to make a fancy Jump Freighter!

If you like these type of Industry posts, let me know. I’m not sure if I should continue to write them or file them under ‘nobody cares’ like Eve Fail (a site which I personally enjoy).