Author Archives: Steve Ronuken

Memoirs – Flying

(Fiction! Yay!)

I guess this is the key feature of being a capsuleer. Piloting a ship, flying with just your mind.

I’ve been told the experience is different for everyone, so I can only speak for myself. It’s a hard thing to put into words, but I’ll try.

Have you ever driven? Where you don’t think about steering, you just do it? Where you’re one with the vehicle? And if you start thinking about it, everything goes to hell? That’s what flying is like for me. Achieving that state of mind where you just act, rather than thinking. There’s probably a word for it, but not one I know. I don’t think about going faster, or think “I should set speed to a hundred meters per second”; instead I just travel at the right feeling speed. Sure, it isn’t as precise, but it works for me. You get used to it, knowing how far away things are, and travelling there. Or twisting away from danger.

Some ships make me feel sluggish, others fast and nimble. I know some people find it hard to work with camera drones, your viewpoint no longer connected to your body, but it feels natural to me. When I want to look at something, I just do. While also knowing where I am, and what’s around me.

If I’m flying a long time, it takes a while to get used to my body again. I’ve seen some people who’ve spent long times in micro gravity have trouble getting used to the idea that things don’t stay where they put them. It’s similar, but on a bigger scale. Walking is harder than most people realise. And having to move yourself, to get a better view of something. Bit of a mind fuck, really. And kind of limiting.

Actually flying? There’s nothing like it. That feeling of power. Sure, there’s pain, when your ship gets shot to pieces around you. From an itch, to a deep burning pain. But you learn to wall it off. Keep thinking clearly, while your body is falling to pieces around you. The feeling of weakness, as someone drains your energy. Being stuck in molasses when you’re webbed. Explaining it is hard. There aren’t words for it. I guess, eventually, there may be. But when you’re a capsuleer, you just know. Though it makes some conversations hard to have. Imagine having to explain taste, to someone who’s only ever eaten the one food? It’s an overwhelming experience. But one I wouldn’t give up for anything.

Memoirs – Humanity

(Fiction, yay πŸ˜€ )

Am I still human? That’s an interesting question. I guess the technically correct answer is no. I’m not. This body isn’t born, it’s made. My brain isn’t grown, it’s forced into a state when my last body died. While it’s probably now a match for my original genetic structure, it didn’t use to be.

Technically, I’m an infomorph. A being of mind, that inhabits various bodies. That’s hardly human.

But I still think of myself as human. Not post human, as some capsuleers believe. Not better than the baseliners who surround me. Just different. Sure, I have plastic bones, plugs in my back and more metal in my head, but I still feel. I still bleed red blood.

 

Maybe if I spent more time in my capsule, I’d think differently. Maybe I’m wrong. But surely it’s how you feel, that determines your humanity?

Memoirs – Becoming

Calling me a loyal son of Matar would be a stretch. If I was, I’d probably be in the Military, exercising my talents there, and furthering the goals of the Tribes.

Instead, I broke off, shortly after graduating; going my own way, forming my own corporation, and setting up business in Gallente space. I mean, I employ a bunch of ethnic Matar, sourced from all over New Eden, from former slaves, to those like myself, raised on a Gallente world.

There’s some guilt from that. They put a lot of time and effort into training me, and how do I repay them? I run off to do my own thing. That’s not exactly showing gratitude. But I just couldn’t hack the military life, far too many rules and regulations, people telling me what to do, and what to think.

I was raised by a family, proud of our Matari heritage, even if we didn’t live in our own Republic. No Clan, as such, just a Circle. I’m not going to go into exactly what we did. Skirting on the edge of legality at times. But they were good people. I don’t stay in contact as much as I should, but I helped them with repatriation. They didn’t want to go back, to be a drain on the Republic. I helped them get set up when they returned, transporting them myself, and arranging purchases on planet. They also help out with some of the slaves I’ve emancipated, getting them back into decent society, helping them with the side effects of their treatment.

What I wasn’t a fan of, at the time, was the fact they made me go to school. I mean, I learnt everything I needed for the family business from them, but they wanted a well-rounded education, and not to have “the Authorities” looking too closely at the clan, as to why I didn’t go. It’s not a stretch to say I did well. Top of my class, for the majority of the time. But I’m a capsuleer. I’m exceptional for a baseliner, but middle of the road, with my current peers.

I had some corporations come sniffing round, some pre-testing done, and some offers for scholarships made. I turned them down. Prideful, I wanted to help my people, so I travelled to the Republic, and tested there. Again, the offers came in, and I took one. That was a hard time. I almost quit on several occasions. University took work. Capsuleer training took willpower. Watching people ring out, walking away from everything they’d worked towards. But I hit that wall, and fought through it. Shame I couldn’t do the same, when it came to following orders, especially from a baseliner.

Egotistical? Yeah, sure. It’s hard not to be, when you’re part of that elite group that got through. Less than one percent of those who try, make it through to the end. And you need that ego, that feeling of self-importance, to carry you through the final test. Th unshakable knowledge that you will survive, even if the body you were born in doesn’t. I try not to let it out too much, but it’s always there.

You may have noticed I don’t have any tattoos. I used to. I shed them when I cut my ties with the Republic. My parents still argue with me about that. When I see them. I’m not the person I used to be. Those Tattoos weren’t mine any more. And how can I wear them, when I’ve abandoned my people? It just didn’t seem right.

 

Memoirs – Self Image

(It may not be good, but I don’t care. You don’t need to read it πŸ˜‰ )

Self Image

I’ve been asked before, why capsuleers aren’t all perfect specimens. Why some of us are scarred. Why some bear the legacy of the human endurance program. Why, when we can shape ourselves in pretty much any way we please, most of us chose to stay close to how we were, when we were baseliners.

I can’t speak for the others. One thing I’m not is a mind reader. And I guess I’m more unusual than most. I mean, every time I die, I wake up in a body which has had an eye and its arms replaced. There’s discomfort. There’s some relearning of how everything fits together, that I never had with a more natural body. [A snort of laughter] If you can call anything about these so-called clones natural.

But I think it’s all down to seeing a familiar face in the mirror when we wake up. I mean, we spend hours, days, sometimes weeks without being able to see ourselves. Where our bodies are the ships we pilot. Where our eyes are the drones we can send to see anything which we wish to. It’s a heady sensation, which can leave you feeling very small when you unplug. Limited. Vulnerable.

So, for me, I want to see myself in the mirror. Something to anchor myself, when I come down. Scars give you something to focus on. Something to say, “Yes, this is me.” Something to fool the mind into forgetting that this isn’t the same body as you were born in. Or even the one you woke up in that day. That might be half way across the cluster. Little tricks to ground you. Stop you forgetting who you are.

It’s one of the reasons I unplug when I can. Sure, there are risks to it. This me may die, because I’m not in my capsule, ready to be whisked away at a moment’s notice. But you can’t let that rule you. Even if this me may die, another can go on, branching from when I last got backed up. That won’t be me, but it’s a legacy, of sorts.

So that’s why we’re not all perfect. Because no-one wants to see a stranger in the mirror.

EULA Changes – Gambling

I’m not going to talk in detail about the EULA changes wrt the alpha clones. Which is the rest of them. There’s nothing substantial in there. Even the 90 days thing isn’t. (before, it was ‘account expired; we can delete it now’)

What I am going to do is talk about the other change. That to gambling with EVE Online currency and assets. This is a pretty big change. It won’t directly affect a lot of people, who just play EVE and wouldn’t think about giving their money to another player to gamble with. But it will affect people more than some will think. I’ll explain that a bit further down.

Reaction

When I saw the devblog (Same time as the rest of you. The CSM didn’t get advance notice.), I was a little surprised. But not as much as I would have been a year ago. Over the last few months, there has been much more coverage in relation to gambling in video games, with some high-profile (in the industry) court cases. I was surprised, not because of the content, but only because of the timing. On reflection, with Alpha clones entering the scene, I shouldn’t have been surprised at that either.

CCP have a very big incentive to clean house. The removal of a subscription fee being required to play means that we’ll probably have a number of younger players joining us; younger players leading to greater scrutiny in this time of elevated concern about gambling in video games. CCP seriously don’t need that attention. It could prove very expensive for them, especially as it’s not something that they control.

While it’s unfortunate that some sites, such as EVE-Bet, are being hit by this, I fully understand why CCP are taking this tack. Unless you take the stance that all gambling sites are banned, you have to ban them one by one. White listing isn’t possible. Only black listing. So the ‘well behaved’ sites go down with the ones with a shadier reputation, instead of CCP opening their selves up to

Side Effects

This is where I have my only real problems with what is happening. Regardless of how you feel about them, some of the sites being forced to close did a lot of good for the EVE community, funding a variety of projects, and allowing for a richness of content which it will take time to recover. The common example is EVE-Bet. They’ve stayed above getting involved in the meta-game of EVE, instead funding a variety of streamers and other community content providers, such as EN24, Crossing Zebras and Eve-NT.

That’s something I’ll miss. I seriously doubt that donations will match that income. Even when you have something like Patreon, the number of people who will kick in real money is low. Probably because itΒ is real money. The number of people who will donate ISK is similar. I’m lucky. I don’t run up much in the way of EVE expenses. Some of the other sites, well, they’re going to have to seriously change how they do things.

 

Long story short, this is a positive change for the game. But not one without collateral damage.

market.fuzzwork.co.uk

With the introduction (a wee while ago) of the new eve market data endpoint, and the problems which surfaced at Eve Central while that was happening, I decided to create my own market data website. And so, I present market.fuzzwork.co.uk

I posted it was out a few days ago, but thought I should write a little more about it, and the process of creating it.

Background

At fanfest, in one of the round tables, I brought up (again) the idea of an endpoint to get the order book for an entire region at once. While most people just want aggregates, that’s not something that would be easy for CCP to provide for multiple items, at the same time. In part because the aggregation takes time, and because the multiple items makes caching that data a lot harder (different people asking for different lists of things). Lo and behold, a short time later, such an endpoint came into being. It’s paginated into batches of 30,000 items, which is enough for most regions, though The Forge has 9 pages.

Details

So I rented a new server (with an offshoot of OVH called kimsufi) and set about building one. It’s a PHP site, running on an NGINX server, with a PostgreSQL database, and Redis for caching the aggregates.

The downloading script I wrote in python, and after an abortive attempts at aggregating the data, first in the database itself, then breaking it out into the script to process, I settled on using Pandas to do the aggregation. The script version would have taken over an hour to process. The Pandas version runs in a few minutes. This lets me do the grabbing of data once every 30 minutes, retaining it for a couple of days; that means you can look at snapshots of an order over that timeframe, to see how it changes.

That retention brought problems of its own. Not so much in keeping the data (each grab adds a couple of hundred meg of data and indexes.) but cleaning it up. Or being specific, the effects on the import, of having deleted it. Turns out the database doesn’t like it when you’re inserting and deleting 1.7 million rows every thirty minutes. It’s down to how it stores it. I won’t get into technical details, but it went from a couple of minutes, to over 15. which impacted kind of negatively on the performance of the site. The process wasn’t taking much CPU time, but it completely pegged the disk activity at 100%, and led to the site timing out. Not good.

How to solve this issue? One way would be to get a server with SSDs. Unfortunately, these are kind of expensive, relative to the one I’m using. I’m not made of money, after all. So I put together a Patreon campaign. If you want to contribute to the upkeep of the servers, I’d appreciate a pledge, however small it is. (Small is good in fact. My expenses aren’t that high. I’d feel bad about offloading everything to someone else)

However, a thought came to me recently. I’m using Postgres, and it can partition data, based on specific conditions. So I can have the data being stored in a partition based on the order set, and just truncate out partitions as they age out. This is far more efficient than deletion, and shouldn’t impact on the import speed. It’s not fully tested yet, but it’s looking somewhat better already. It’ll increase my data retention a bit (up to 200 samples (4 days ish), rather than the 96Β  (2 days) I was planning) but space isn’t too much of a concern that way. And partitions allow for more efficient queries.

Future

I still need to write the API interface for it, so you can request an arbitrary number of aggregate/region combinations, but that isn’t too far out. And I’ll provide a sample method for importing into google. In addition, I’m providing the downloaded orderbook as a gzipped csv, for an undetermined period of time (it’s all dependant on space, tbh. and zipped they’re not huge)

I also need to decide how I’m going to winnow the aggregates. The API will only allow for ‘live’ data, as that’s all I’m keeping in redis, but all the data is also being kept in a database table. I’ll likely add a page so you can see how they change over time. To keep the table from becoming an absolute monster, I’m thinking I’ll keep only a week at 30 minute intervals, then averages for the day, if you want to see over a longer time frame.

In case you’re interested, I’m generating a weighted average (price* volume summed up, then divided by the total volume), the max, the min, and a weighted average of the lowest/highest 5% of the orders (lowest for sell, highest for buy) ignoring any price more than 100 times the lowest/highest price. It’ll help when someone puts in a buy order for a million Gilas, at 0.01 isk. Which otherwise completely screws with the average prices.

Other

Oh, and I put together a very simple fleet tracker. Doesn’t do anything other than show you where fleet members are, and what they’re flying. Needs a CREST privilege, and a link you get from the fleet window. And for you to be fleet boss. I may expand it a little in the future. Maybe for invites too. Though that would require me to store the access and refresh token somewhere other than the user’s session.

As normal, all my code is on my github. Might be a little behind the release, but that’s purely down to me not committing it yet.

I’m open to suggestions, if you have them.

Anyway, Steve signing out.

New SDE Migration process

CCP Tellus is a wonderful person.

Until recently, the SDE (Static Data Extract) was a mix of YAML, an MS SQL server backup, and an SQLite Database for universe data. This was a bit of a pain to convert, with a whole bunch of steps.

Now, the SDE is being provided as a bunch of YAML files. Now, these, by themselves, aren’t a hugely useful format. But a single format makes it easier to write a conversion routine. I can convert into several formats, by running a single script (now that I’ve written it) This makes me a very happy man.

https://github.com/fuzzysteve/yamlloader is the repository for the new script. It’s written to convert into mysql, sqlite, postgres, and postgres in a specific schema. And it’s pretty simple to extend to other formats (MS SQL is a possibility, but as I can’t run that on my linux server, I’m not doing it at the moment)

In addition, with the SDE being in YAML, it’s a lot easier to generate the differences between versions. I’ve loaded it into a git repository. This is publicly available. git://www.fuzzwork.co.uk/sde-tq.git

Feel free to look into it πŸ™‚

 

So, short version: I have a new SDE migration process. It may lead to slight differences in output, but the process is a lot easier for me. And if I get hit by a bus, it’s a lot easier for someone else to take over.