#tooldev-general

1 messages ยท Page 31 of 1

drifting holly
#

I made a good bit of chaos off Alpha's Howls like that the first couple days of Perandus

desert needle
#

oh, interesting

#

if all you want is the prices of divination cards, then instead of iterating that is a perfect use case for aggregations

#

Here is an example:

#
"query": {
  "bool": {
    "must": [
      { "term" : { "attributes.league" : "Perandus" } },
      { "term" : { "attributes.baseItemType": "Card" } },
      { "term" : { "shop.verified" : "YES" } },      
      { "term" : { "shop.hasPrice" : true } }      
    ]
  }
},
"aggs": {
  "cardName": {
    "terms": {
      "field": "info.fullName",
      "size": 1000
    },
    "aggs": {
      "price": {
        "percentiles": {
          "field": "shop.chaosEquiv",
          "percents": [
            25,
            50,
            75
          ]
        }
      }
    }
  }
},
size:0
}```
#

That will give you a list of every divination card with a price that is verified, and return the 25, 50, and 75 percentile prices for each card

#

you get back data like: { "key": "The Chains that Bind", "doc_count": 901, "price": { "values": { "25.0": 6, "50.0": 8, "75.0": 10 } } },

drifting holly
#

that's interesting

#

I'll have to look more into that

desert needle
#

aggregations are very very powerful

#

for any situation where I'm not just looking for specific item information, I almost always end up using aggregations

#

i.e. instead of requesting 1000 items and parsing when they were added, you can just do a histogram aggregation that will return when items are added over time, etc., there are a ton

#

and they can be nested, like the one above

drifting holly
#

alright that would definitely be useful

#

can I compare values within the query?

#

so if I wanted to do updated-added time and query based on that

desert needle
#

you can't do active scripting because I have that disabled for security reasons (that will hopefully change in ElasticSearch 5) but you do some of that

#

um, updated-added time should be shop.shelfLife but I think that field is broken atm

drifting holly
#

what's the difference between updated and modified btw?

desert needle
#

yeah it's still broken wtf

#

it's in the api docs, updated means I saw it in a stash tab update, modified means something was actually modified on it

#

modified includes a price change, note change, or a verified status change

#

or a stash location change

drifting holly
#

ok I see

desert needle
#

every item gets updated ina stash tab when anything changes in that stash tab

#

(cuz the API sends the full tab)

drifting holly
#

so either would work as removal time if I'm searching for unverified items

desert needle
#

yes, in theory, the last modified time will be the time the item was changed to verified=GONE

#

though there was a bug with the GONE code that I think I fixed the other day on the v4 pipeline, so all the data on items fromthe past week won't have accurate times for that

drifting holly
#

haha ok thanks

mortal bone
frail sparrow
#

Does it do cool stuff?

daring notch
#

It does cool stuff like: Plans stuff offline, Planning skills not connected to the internet and saving builds offline using the planner.

mortal bone
#

Idk it does a lot of cool shit

#

like build and stuff

#

offline

#

skill tree

wraith sparrow
#

it steals hours away from me as i make builds i already know wont work

#

good stuff ๐Ÿ‘

stoic onyx
#

meticulously plans out Ancestral Warchief build

hasty crown
#

i really want a mobile skill tree

mortal bone
#

I think there are a couple

#

The android one has you pay for some of the more advanced features but it works well

hasty crown
#

paying for something freely available though

mortal bone
#

It can do jewels

#

which nothing else can do currently

hasty crown
#

i stand correctino

mortal bone
#

I think that is it though

frail sparrow
#

thats all pretty cool stuff

buoyant socket
#

@mortal bone Found a bug. 25% increased Critical Strike Chance with Claws is listed under Weapon, not Critical Strike

pulsar moat
#

on what service?

buoyant socket
#

From the node "Claw, Sword, and Dagger Critical Strike Chance" that leads to Deadly Dilettante

#

On the offline skill tree.

mortal bone
#

@pulsar moat the only app I develop

pulsar moat
#

I am not mull gubben
But I see you

mortal bone
#

@buoyant socket It isn't really a bug, but I will fix its classification

buoyant socket
#

Alright

#

Didn't really know what else to call it

mortal bone
#

It just isn't classified right

#

It doesn't break the program ๐Ÿ˜ƒ

#

Will be fixed in the next release

desert needle
#

hrm, @mortal bone there's something a little weird going on with the skilltree link in the last couple versions

#

if I create a skilltree then open the link in the official site, it displays the tree but the information isn't parsed properly

#

as soon as I change one node on the official thing everything resets properly

mortal bone
#

Does this happen when you reload one of the official links?

#

The link you sent loads and parses fine for me

bitter wave
#

What browsers? I'm getting the same result as Pete in Chrome. If I load it the "Link to this build" is empty, even though the nodes are selected.

desert needle
#

emmit - does it show you x of x points used properly?

#

if I click that link it shows 0 of 123 points and has no "link to this build" url, even though the tree shows ok

#

as zinsho indicated

#

it happens with anything I load out of the skilltree planner, but clicking any node fixes it on the on-line thing

#

looks like they are doing padding slightly differently

#

yeah any time I hit load tree it seems to change == to AAAAA= for this duelist tree I'm messing with at least

bitter wave
#

Your AA, does that include an ascendancy class?

desert needle
#

ascendancy is at the beginning of the string

bitter wave
#

So where's the difference between AAAAA (5) and AA (2)

desert needle
#

with an ascendancy class chosen or not, with points allocated or not, the official site is changing the padding at the end just slightly

bitter wave
#

Yeah, stripping even a few of those A's leads to an "invalid build"

desert needle
#

it's something to do with the way the encoded string is padded, that subroutine was a bit beyond me but I think it has to pad out the binary encoded data and that's what the last few strings are

#

unless I'm totally wrong ;x but it definitely draws the tree ok, just doesn't process it properly

bitter wave
#

So if I'm reading that right, it's padding out to reach some arbitrary multiple to ensure consistent string length?

desert needle
#

something like that, though again my understanding of that is a bit weak

#

1197 is the code that creates the new url

woeful sphinx
#

Looks like the official site strips 'A's at the end. The '='s that change are some kind of padding to a multiple I don't know.

mortal bone
#

The == is padding for base64

#

The beginning is a 7 byte array that holds skill tree version (first 4), char type, ascendancy type, and a padding

woeful sphinx
#

Yeah, just read the base64 Wikipedia article. Seems like either our and the official base64 function behaves differently at the end or we somehow have nodes with the index 0 at the end..

mortal bone
#

I am not sure. What is happening, but they were the same when I updated how the tree gets saved.

#

I was on chrome mobile when I loaded the tree

mortal bone
#

@desert needle I guess I can explain it a bit more in depth now. I was on mobile before. The url is as follows:
An int (4 bit), Char Type (1 bit) , Ascendancy Type (1 bit) , and a padding bit. This makes up the first 7 bytes of the entire string. Then for each node (int16) you will convert that into a byte array which will give you 2 bits. These are the adding to the end of the initial array of bytes and converted into a base64 string. In all it is basically a stack of bytes that is converted to base64. You exclude the starting node for the character and ascendancy types

#

It looks like I may not be generating links correctly. I will double check that this method is still used

mortal bone
#

My bad, the padding bit I refered to is whether or not the skill tree is full screen........

mortal bone
#

So, there was a problem causing the 0 out of x points bug. This has been fixed, but it will still generate different URLs than the offcial site. This is because the site sorts the nodes in ascending order, while the planner will just generate the URL from whatever order they were put into the HashSet in.

#

Do you guys think it would be better to generate the exact same URL? or just leave it?

hollow oar
#

@desert needle thank you for the skilltree renderer, that's amazing

bitter wave
#

I'd be fine with it as-is as long as it generates fine. Although ordering them would reduce the odds of anyone thinking the link is wrong because it doesn't match exactly.

desert needle
#

In theory if it all works it shouldn't matter if the URL is different, but at the same time that seems a little strange. But again, if everything works I'd say it's probably not too important.

mortal bone
#

It is kind of annoying to sort them since we use a data type that isn't sortable as it has never been a problem. It does seem strange that the exact same tree can have n! ways of being encoded

bitter wave
#

It probably doesn't sort. It probably iterates through the hash on every tree update to identify active nodes (rather than append it recalculates). That would at least explain why it does what it does

mortal bone
#

The offcial tree, on loading will put all allocated nodes in a dictionary with the key being the node id and the value being the node data. This basically force sorts how trees are generated

desert needle
#

watching a real time stream of items being added/modified in the Stash Tab API is kinda cool

#

now I just need to figure out htf to use node

mortal bone
#

node.js?

desert needle
#

ya, first time using it

mortal bone
#

Ah, I like it.

desert needle
#

I've progressed to connection to the service (using socket.io) and getting a streaming realtime list of items over web sockets

mortal bone
#

nice

desert needle
#

I expect that turning that into proper JSON won't be too hard, but the thing that is really going to beat me up is allowing users to specify filters

mortal bone
#

You just use JSON to turn it into JSON

#

The js library is pretty nice

desert needle
#

oh, yeah, it's just that I'm sending back an html page

mortal bone
#

why?

desert needle
#

I'm in such an early phase where I'm just going through tutorials and that's what they say for socket.io to get started

mortal bone
#

oh I see

desert needle
#

gotta keep hitting the books (googs) ;x

mortal bone
#

Do you have any experience in js previously?

desert needle
#

I'm hoping I can get to the point where I have a functional framework that makes sense then get some community folks involved on cleaning it up into a workable service

mortal bone
#

modules will be your best friend then

#

make each part of your project a JS module

#

similiar to a Class in C#/C++/Java

desert needle
#

yeah that's 90% of what I'm googling ๐Ÿ˜‰ it looks like I can use restify + socket.io, then the question is does restify do what I need/etc.

mortal bone
#

Create, Read, Update, and Delete

#

all the makings of a REST api

desert needle
#

yep

mortal bone
#

Although external users should only have access to Read

#

unless you want all hell to break loose

desert needle
#

oh yeah there won't be any ability to do anything else

#

it's pulling data from a read only kafka topic anyway

mortal bone
#

Ah ok

#

makes sense

desert needle
#

restify may even be too full featured for what I need, it's interesting because I'm not an experienced js developer I kinda end up spending a lot of time just trying out various modules to see how they work because I can't just read example code to figure it out ๐Ÿ˜‰

mortal bone
#

Yeah, you really won't need a full module to do what you want

#

You just need to serve data to people that request it

#

there is no need for a full RESTful api

desert needle
#

Yeah, now that I'm thinking more about it, probably would make sense to have the filter page outside of node.js / just some static thing, then just have the node server sending a matching JSON stream

mortal bone
#

Yep pretty much. I haven't really used Node as a backend before. I just made some modules for an open source project. I normally use python for my apis

desert needle
#

lmfao

#

suddenly I thought my proof of concept was broken

#

it stopped streaming in new items

#

couldn't figure out what I had messed up

#

finally added back some console debugging and noticed kafka wasn't updating, oh crap, must be something wrong with my indexer

#

Thu May 19 16:55:59 2016 Web Server Error: Failed: 503 Service Temporarily Unavailable | Sleeping for 2 minutes! QQ

#

I need to have it send me e-mails or something when that happens, guess they are patching something

loud umbra
#

Yeah there is patch 2.2.2d atm

desert needle
#

or not

#

well it works internally, just need to fix my fe proxy for web sockets I guess ๐Ÿ˜‰

#

now it's working, exciting

pseudo ocean
#

\o/

#

price of undefined undefined

#

burn the scammers

wind garden
#

@desert needle does that compare against a database to see if the item was modified, or is it printing every single item in each stash update regardless of whether it's new or not?

mortal bone
#

@desert needle works for me

#

ish

#

lots of undefined haha

desert needle
#

it's tomorrow but if anyone's still wondering... the undefined just means it didn't have a price set (I did no filtering at all)

#

Retik - the pipeline processor checks to see if an item is added or modified (price change/different stash location/etc.), only those items are sent to the kafka topic for the eventual live stream.

mortal bone
#

This is your data being streamed live correct?

desert needle
#

yep

mortal bone
#

Very cool :)

desert needle
#

hopefully this weekend I'll get a proof of concept up that will allow tool makers to send filters to it, because I don't want every person using it to have a full copy of the stream that they're mostly ignoring ๐Ÿ˜‰

mortal bone
#

Yeah, that would be annoying as a developer, but I haven't gotten into items and such yet. I can't really have a say

desert needle
mortal bone
#

It will only be an item if it is there

desert needle
#

I was hoping for a prophecyUpgrade=true or something tag

mortal bone
#

They are adding to a prophecy menu then you can convert those to an item

desert needle
#

I mean, you can't tell a normal Bramblejack from an upgraded one short of comparing the explicit mods

#

in the JSON data

mortal bone
#

Oh, yeah. You can only tell by name

desert needle
#

oh wait

#

yeah just by name

#

blech

mortal bone
#

Yes

desert needle
#

so those are going to get detected as new unique items

#

I guess that's ok

mortal bone
#

They are technically

#

But they are related.

desert needle
#

uses a different icon too

#

so there's no obvious / simple way to tell what it comes from

mortal bone
#

Base?

#

and stats

#

They contain the same stats just higher numbers

desert needle
#

I guess you could compare it to all uniques with the same base, ugly though

#

it would be awesome if they just added a line like "upgraded from X" or something

mortal bone
#

Same base and same set of stats, or close set of stats

desert needle
#

we'll have to add support for the prophecy items for various bits it looks like

#

"frameType" : 8, woo they added it at the end this time!!

#

heh the tier 14 plaza map on the demo page is ilvl 45.

#

early map drops confirmed!

mortal bone
#

What the hell is frameType

frozen coral
#

internal testing server commands confirmed @desert needle ๐Ÿ˜„

desert needle
#

frametype specifies what type of item it is

#

normal/magic/unique/quest/etc.

mortal bone
#

Oh yeah

#

I see

desert needle
#

when they added divination cards, 6 was quest, but for some reason they added divs as 6

#

and bumped quest to 7

mortal bone
#

Prophecy is 8

desert needle
#

which was very annoying

desert needle
desert needle
#

yay it works

#

wait no it doesn't

#

shit

#

the latest one you click takes over the first one you click

#

back to the google books

pseudo ocean
desert needle
#

depends on a lot of things, but there are various free and cheap services out there, like static github, t2.micro's on AWS, etc.

#

for most small services you should be able to find a way to host it for free or very cheap, it's only when you scale up that it's $$$

#

(my elasticsearch index would cost a couple grand a month to run on AWS for example)

pseudo ocean
#

yeh

#

thank you. that helped a lot. looking at the various AWS instance types now

robust heart
#

so not sure where to put this but my brother and I were encountering a bug in the harvest boss fight on cruel where piety wouldn't attack when transformed and you would have to leave and come back for her to transform back once killed, not sure if this is a random bug or a known one, just thought I'd bring it up.

loud umbra
#

Would probably be good to post to the bug report forum. The devs usually check there even if they don't always respond.

#

@desert needle Was curious: can we query your index for personal use? Or is it only intended for creating tools?

robust heart
#

yeah I'll put it up in there, kind of a nice bug since Piety wouldn't attack but annoying to have to leave and come back to reset her.

desert needle
#

Nuro - feel free to query it for personal use.

#

Just don't blow shit up ;D

#

(there are API limits at the moment but they're pretty high, try to avoid more than 20-30 queries per minute though in general, i.e. don't go blasting 10 queries every 2s repeatedly or you might get blocked)

loud umbra
#

Yeah I wouldn't be hitting it that much :P

#

Just wanted to check since it feels like mooching

desert needle
#

that's exactly what it's there for!

loud umbra
#

You need a button to buy you a coffee or something then. :P

jade kayak
#

pete, eli5 elastisearch indices please

desert needle
#

that's hard to eli5. ๐Ÿ˜‰

#

it is similar to a database, designed to index information in a text format, but is highly optimized for rapid search, statistics, and calculations

#

not only can you search for text records (very fast, much faster than many databases), but you can actually run reports and analysis on them very quickly

#

for example, you can run a simple query to give you percentile price statistics on all items matching certain parameters, or draw histograms of average values over time, etc.

#

one of the big benefits of elasticsearch (which is a front end for lucene indexes) is that it supports dynamic mapping, which means you can add "columns" of data linked to specific items on the fly

jade kayak
#

So index is kinda like a db table?

desert needle
#

yep, at the simplest level

#

with (effectively) infinite rows and columns

near gate
#

I've been thinking about adding the ability to save multiple builds to ExileCraft. It would be useful for people creating build guides to be able to have one link to the level-specific trees with notes.

#

I'd like it for myself so I don't need a million bookmarks in my browser too

#

My thought is I could incorporate a similar sharing model that code playgrounds use (e.g. pklnkr)

#

Of course this means that I'll need to develop a server-side API of some sort but that shouldn't be a problem.

#

What do you guys think?

mortal bone
#

You may even be able to get an out-of-the-box sharing tool like plunker

#

I am pretty sure all of plnkr.co source is open

frozen coral
#

@robust heart better do that on the official forums, these guys here only dev 3rd party software ๐Ÿ˜„

jade kayak
#

trackpete the mimetype for your errors is wrong afaik

desert needle
#

Real Time Stash API - filtered web socket based push notifications within 5s of items updating now available for anyone who wants to work on a client

red wing
#

w00t!

mortal bone
#

Nice

desert needle
#

Tue May 24 2016 14:58:57 GMT-0400 (EDT) 1 Items Emitted to Clients in this interval woo someone's using it \o/

loud umbra
#

Any idea if they've mentioned when online status api will be public

desert needle
#

I think that plan has died

#

๐Ÿ˜

#

the last official mention I saw of it anywhere was "it's almost ready" 3mo ago

loud umbra
#

Ugggh, that's the one thing I need still. :/

woeful sphinx
#

There has to be a private online status api. Maybe they give it out to tool developers if asked.

desert needle
#

there is, yep, afaik only poe.trade has access to it. I was offered access but turned it down initially because they indicated the public one would be up soon and I didn't want to deal with the hassle of hosting another api for them.

#

and they're very worried about people using it nefariously and I didn't want to deal with enforcing that

#

I heard from xyz that the public one they were working on was terrible and broken, it's possible they abandoned it

loud umbra
#

Ugggh.

mortal bone
#

They abandon a lot of api's that they say they are working on or have produced.

#

The league api went from working perfectly to broken, so they release another api instead of fixing the old one

frail sparrow
#

Any of you happen to know which ports are actually being used ingame for latentcy sensitive stuff?

#

the list of ports they give on the website is pretty not useful for qos

desert needle
#

um, if you check your client.txt log it shows connection information for instances

#

I can't remember offhand, something like 24200

tropic breach
#

yep, there is a private online status api.
You can get access to it if you ask.

tropic breach
#

any1 tried the new api? I'm getting this error:

WebSocket connection to 'ws://rtstashapi.exiletools.com/socket.io/?pwxid=5a0658c3-95d4-439b-9635-d926168136a6&EIO=3&transport=websocket&sid=jJseTXSIsrcjN09uAAAb' failed: Error during WebSocket handshake: Unexpected response code: 400

But it works still

desert needle
#

hrm, dunno, maybe that's a side effect of not using the socket.io client or something

desert needle
#

(apparently that 400 means it will fall back to long polling, which isn't ideal) maybe that's the way socket.io handles non-socketio connections?

#

(I double checked everything in my load balancer and it should be all good)

#

one random suggest I see is to try specifying the port, who knows: 'ws://rtstashapi.exiletools.com:80'

wind garden
#

@mortal bone did you only post the data and not an update to the skill tree?

mortal bone
#

The tree is updated

wind garden
#

ya i see that

#

not seeing any change in ascendencies

mortal bone
#

Erm, there is a ton of nodes

wind garden
#

maybe i'm blind

#

how many is a ton?

#

sabateur looks the same as 2.2

#

occultist looks the same

mortal bone
#

Erm yeah

#

The data was overwritten when making release

#

It was fine

wind garden
#

what do you mean?

#

i see the max 8 ascendency points now

#

but the tree itself is the same

#

seems you're on it ๐Ÿ˜ƒ

mortal bone
#

Yeah I am on it sorry

#

should be updated

pseudo ocean
#

ty based Emmitt, can i have my energy back

wind garden
#

do i just download 2.2.8 again?

#

nevermind

#

answered my own question

pulsar moat
#

the 2.3.0 tree data is patch 2.2.9 of the poe skill tree

#

we need one more patch so they're synchronzied

wraith sparrow
#

are we sure this is the final tree?

old beacon
#

no

#

so theres your extra patch

near gate
#

Hey Emmitt, how are you loading the new passive tree? Their CDN is missing two sprites.

mortal bone
#

They gave me the asset package

near gate
#

D:

#

Do you have it somewhere I can grab it?

mortal bone
#

does the post not include that?

near gate
#

The post just has the JSON

mortal bone
#

Alright, I will double check that it is alright to release the skill icons.

near gate
#

Thanks

mortal bone
#

I have the all clear to share the assets

near gate
#

Thanks

mortal bone
#

Yep

near gate
#

exilecraft.org updated with the new skill tree. You may need to refresh your browser.

mortal bone
#

sweet deal

jade kayak
#

@mortal bone are jewels a thing in your tree planner?

mortal bone
#

...you can craft them xD

#

you cannot slot them

jade kayak
#

flawless ๐Ÿ˜›

near gate
#

It would be kind of cool to have a tool to craft items and then export it as JSON for skill trees to use

mortal bone
#

The offline planner does

#

sorta

jade kayak
#

Emmitt, your parsing breaks on the CHieftain's Ramako node

#

the end charge text gets split into 2 lines

#

in 2 different sections

mortal bone
#

"When you or your Totems Kill a Burning Enemy, 20% chance for you\nand your Totems to each gain an Endurance Charge"

#

That is the node description

#

\n means new line

#

GGG put that in there on purpose ๐Ÿ˜ƒ

#

Whenever you see breaks that is because the data says that it is broken up

hollow oar
#

I see " A Module Error: Too many results. Consider using page parameter instead. gem with at least 1% quality"

#

in the recipe

misty sparrow
#

Hey @mortal bone i think there is a bug in passive skill tree planner
For the Malediction notable from occultist ascendancy, "When you kill an enemy for each Curse on that Enemy gain %4" shown in Everything Else while rest shown in general

jade kayak
#

Emmitt pls fix bad ggg formatting

mortal bone
#

@misty sparrow not really a bug. It is just misclassified ๐Ÿ˜›

#

I think most of the ascendancy stats go into the 'everything else' category

#

I normally fix tthose types of problems once GGG releases the final wording on nodes and such

torpid mesa
#

@mortal bone small request, in the poe skill tree i find the new graphical 'group manager' to be much harder to use. especially since it cant import my old settings file

#

also i dont think i can modify the default groups

#

prob the 1 guy that actually used that feature

mortal bone
#

Yep

#

everyone else wanted the new way...

#

.>

torpid mesa
#

):

loud umbra
#

@hollow oar Looks like someone started changing the support pages' names, which breaks the links.

frail knot
#

does thirdy still work on durian?

misty sparrow
#

@mortal bone i am not sure if you understood me, sorry if so but what i am saying is half of the same stat sentence is in another section

tropic breach
#

when running single alter table in SQL.
is network overhead gonna affect it significantly peformance wise?

mortal bone
#

@misty sparrow screenshot? because I think I described what you are seeing

misty sparrow
#

@mortal bone

mortal bone
#

lmfao

#

I'll have to fix that

hollow oar
#

@loud umbra ok thanks, i'll fix the link

pseudo ocean
#

is poebuilder.com just broken for me or anyone else? no matter what build i import, it shows that X/123 points are used but the tree doesnt show up

keen hull
#

I think it was bugged for me as well. it was also using an old tree if I remember correctly

loud umbra
#

The site has an old tree; not sure if it's still updated. poeplanner.com should work however.

pseudo ocean
#

thanks, that site works

grand pawn
#

skill tree giving some errors.

#

its in finnish so I really cant give you more info

woeful sphinx
#

What is the skill tree url you are trying to load?

dense pawn
#

it says the input is not a valid base64 string because it contains a non base64 char or more than two filler(?) chars or contains an invalid char among filler chars

woeful sphinx
#

Yeah, I recognized the error message because it has Base64 in it. That one is pretty generic so the skill tree url causing it would be helpful.

mortal bone
#

Yeah, we need the URL you are trying to load

grand pawn
#

Skilltree URL?

#

what do you mean

#

that error pops up on every startup

#

but after that the skill tree works just fine

mortal bone
grand pawn
#

I dont get the error anymore >:o

#

what ever for some reason the error is gone

mortal bone
#

That is alright, next time you know ๐Ÿ˜›

haughty stone
#

Hey guys a question, even though not directly linked to the dev tools, when i open the skill tree on the path of exile website it buggs and shows no connections between the nodes (so all skill trees i get linked show as empty) - firefox works fine but anyone knows how i fix this in chrome?

loud umbra
#

You have to turn off hardware acceleration in Chrome's settings

#

Should be Settings > Advanced Settings > uncheck "Use hardware acceleration"

haughty stone
#

cant test it right now because im working on something but will try later, thanks a lot! :)

jade kayak
#

you should have it turned off anyways if you're using an amd card

trim scroll
#

@mortal bone I've had the same problem as Wyrelade had, it's obviously just because I tried to load an old build. Easy fix, I edited the xml. But for people that don't know that, maybe the program should clear <CurrentBuild> if it crashes that way?

mortal bone
#

There shouldn't be a crash occuring there

#

It displays the warning and moves on

mortal bone
#

doesn't cause a crash for me

#

loads up perfectly

trim scroll
#

huh, no idea why mine crashes then

desert needle
#

$item{attributes}{itemType} = "Propchey"; woops

desert needle
#

man I can't tell if a bunch of people are un-public'ing their stash tags or if GGG did something super wonky with the API

#

I'm getting hundreds of stash tab updates where all the items are verified:false

pseudo ocean
#

there was a post on Reddit saying poe.trade hasn't been updating correctly, as well

pulsar moat
#

I just now changed the names/buyouts of 163 stash tabs, finished a minute ago, changed them all from tab names as ~b/o x chaos to ~b/o x chaos (randomID), which changed the tab from set price on all items to each item individually priced

#

that's like 14k items, dunno

desert needle
#

weird, I just tested it on my own account and I see updates in seconds via my real time stash api

#

maybe it really is just hundreds of people preparing for the new league by un-public'ing tabs

pulsar moat
#

Possible.
I did have 3-5 cases of people messaging me for items I sold, using public tabs, hours back over the past 2 days, as did a friend of mine.

desert needle
#

I think poe.trade might be having some separate problems

#

I seem to recall he had some issues with the last merge too

#

3.2mil items available in standard/hardcore with a fresh api pull

pulsar moat
#

How many items in just hardcore? Curious about the ratio w/ std.

chrome topaz
#

I think verified is always false for stash api

compact isle
#

@mortal bone I think there's been a change or two to the passive tree, preparing an update for you now

#

would you like it in JSON form or just the normal JS snippet?

mortal bone
#

JS Snipper is good, could we get the hash values for the icon images?

#

or just the hashed images

compact isle
#

not sure I understand what you mean, sorry

#

do you mean the skill spritesheets?

mortal bone
#

Yeah, sorry

eager kettle
#

is PoEMate developer here?

mortal bone
#

@near gate which planner do you develop?

#

@eager kettle we shall see

haughty stone
#

is there a way i can write a message to another member on the poe wiki?

haughty stone
#

I think someone just replied to me to this question but i cant find the answer anymore?

chrome topaz
pseudo ocean
#

isn't it that ppl can choose to share after they are done downloading, so anyone can share the torrent including wareztorrent and the likes?

inner field
#

They're just trackers. It provides us with a wider audience of seeders. If a file has a virus in it it wouldn't pass the checksum so it wouldn't be allowed to be downloaded. There's nothing to worry about.

pseudo ocean
#

its navali porn

desert needle
chrome topaz
#

my point was more about how I don't want my PC to connect to xxx-tracker&co while downloading the official torrent

mortal bone
#

Most any torrent client worth its salt should allow you to disallow connections to/from a tracker/seeder

#

Also, I have gotten a couple words that the offline planner is working in wine-1.9.11 with POL. You install msxml via POL and then run winetricks for the dotnet45 install. You then need to install msvc100

wind garden
#

@desert needle do you have a page on your site that lists the count for number of new items coming in?

#

i get the feeling i'm not processing very many items

compact isle
wind garden
#

sorta but not what i had in mind

wind garden
#

@chrome topaz is Kaom's Way showing up wrong on poe.trade? I don't see any life regen/endurance charge on it

hexed wasp
#

Strange, poe.trade seems to be broken a little, when i search for rares I can put one mod to search for and it works fine, as soon as i put a second i get an internal server error.
e: can search for multiple mods as long as you don't specify a value.

chrome topaz
#

@hexed wasp can you give an example of such search?

#

@wind garden yes

hexed wasp
#

@chrome topaz Hmm must have been a temporary thing, all is working now.

chrome topaz
#

okay, good

desert needle
#

@wind garden not anymore, because I split up the processing into different threads and don't have a central log. What you can do is run a very simple ES query every few minutes to count the number of items updated in the last X minutes

#
  "query": {
    "range": {
      "shop.updated": {
        "gte": "now-5m/m"
      }
    }
  },
  size:0
}``` that will show you how many items total were updated in the last 5m
#

(it looks like I need to update some stats stuff to point at the new index, woops)

#

(but directly querying the main one will work)

chrome topaz
#

@desert needle did you wipe your index before prophecy?

wind garden
#

@desert needle I was noticing way more items on poe.trade than what I was seeing in the stash api stream. I can only assume there's still quite a few using the forums

#

I just hope I'm getting all the items from the stash stream

desert needle
#

@chrome topaz - yeah, I started from scratch about 2 days before

#

after the league merge

#

I wasn't sure if they would hose up things during the merge, so I just wiped and reset after it - last time I recall the merge was a bit painful

chrome topaz
#

okay, thanks, that clears up some things

desert needle
#

I was hoping they would do a one-time un-public of everything just to clear up idle accounts but alas

chrome topaz
#

why?

#

it seems they broke the api by changing stash tab unique IDs, so now I'm getting dupes of items in standard and very angry users

desert needle
#

oh, nice. I haven't looked, wonder if that happened with the latest patch or during the perandus merge. I might have to reset anyway if it happened at the patch.

#

I was hoping they'd get rid of idle stuff because they don't timestamp updates so when you start the stream from 0 you get tens of thousands of stash tabs for people in standard that haven't logged in for weeks

#

doesn't affect anyone who is consuming live but it's super annoying for anyone starting from scratch

desert needle
#

parsing item clipboard text is so annoying >_<

loud umbra
#

Anyone know the best way to contact xyz? Seems like there is a bug with the currency market parsing the newly added types for Prophecy.

chrome topaz
#

I've fixed it

#

best way is through forums

loud umbra
#

Thanks! <3

wind garden
#

poe.trade being updated or something?

#

down right now

compact isle
#

we managed to break the IDs that it uses to keep track of tabs, so it has to re-index public tabs from the API

wind garden
#

dang

#

that could take a long time

#

does it have to start from the beginning of the chain?

#

assuming so

compact isle
#

shouldn't be too crazy, but yeah it won't be up for a little while

#

yes, but the chain only has current data

wind garden
#

what do you mean only current data?

#

i thought the chain contains every stash update

compact isle
#

when you follow the river, it will give you updates

wind garden
#

right

compact isle
#

when you start from the beginning, it will only give you current data

wind garden
#

ah i see

compact isle
#

there is no historical information stored

wind garden
#

i remember when i first started it took an hour or so to get from the start of the river to the tip

compact isle
#

yeah, there's so many tabs and items it's insane

wind garden
#

to save time I use one of trackpete's APIs to query the last next_change_id processed if it's been more than 24hrs since my last update

#

i only process new data, i don't store/index it

#

so i don't care about missing old pages

compact isle
#

you may miss out on "current" data that way

wind garden
#

oh?

#

how so?

compact isle
#

the ID acts as you saying "I have all the information up to this point"

#

so by using someone elses, you're saying you have more data than you actually have

#

so some stashes will not be included

wind garden
#

right

#

but i only care about new data

#

cause i'm looking for new deals

compact isle
#

ah, then I suppose it doesn't matter so much for you

wind garden
#

yep ๐Ÿ˜ƒ

compact isle
#

I see

#

lucky ๐Ÿ˜›

wind garden
#

it's an sniping/flipping app

#

what's interesting is indexers like xyz's and trackpete's have to take time to process

#

and so during busy hours, they can get behind

#

sometimes 5-15minutes

#

so i wrote my app to make it as fast as possible to find new items

#

and then i can specify criteria for whether or not i want to display an item

chrome topaz
#

it doesn't get behind 5-15 minutes

#

with live search it's a few seconds from when an item gets to stash api and when it gets displayed on the live search results page

wind garden
#

I've tested it to compare

#

Updated an item in my stash

#

Usually live search is fast

#

But I've seen it slow

#

So idk

#

@chrome topaz do you know what percentage of items are still on the forums?

chrome topaz
#

I don't track this

wind garden
#

Hmm unfortunate

#

@compact isle does the id change require me to pull the river again as well?

compact isle
#

if you're just tracking things live then no

wind garden
#

k

wind garden
#

@desert needle i know your tools have a way you can see price reports on unique items. is there a way to browse by average price?

#

i'm looking for a way to see unique with prices ~1ex

mortal bone
#

I am glad I don't mess with item tracking...

#

The most I do is a mtx finder

storm crescent
#

What are those?

pseudo ocean
ebon oasis
#

i got a noob question, since i see it often and have no clue

#

what is MTX ?

#

:D

pseudo ocean
#

Microtransaction. Press M in game to see a few. There are MTXs such as alternate art for items and effects, hideout decorations, and the like

ebon oasis
#

ah

desert needle
#

@wind garden - I don't have a browser for it, but you can run an aggregation query for average price

#

you probably really don't want to use average price though, since it sucks

#

there are way too many random insanely priced items to ever use an average, better off using percentiles

#

I updated that gist to include a 50% price, which is way more accurate

wind garden
#

thanks @desert needle i think this will be helpful

desert needle
#

np! If you get bored and want to make a web tool to output stats like that, feel free - I used to have one that showed a list of all uniques with a bunch of stats for general browsing but I never updated it when I moved to elasticsearch

#

hrm, looks like I'm going to have to re-index after the stash tab uuid thing after all.

wind garden
#

i'm not super familiar with elastic search actually. Do you have any good resource you'd recommend for reading up on it?

desert needle
#

my gist gives a lot of starting examples, but the official documentation is actually quite good, I pretty much have it up all the time when writing queries

wind garden
#

i get the feeling a lot fewer people are playing prophecy than perandus

#

stuff just isn't selling like it was

desert needle
#

I've seen a lot more general complaints about trade this league, I think people are less interested in making small trades now

#

it reminds me of zana rotas - they started at full clears, then the next league it was "full clear 75+" then the next league it was "mission only" then it finally became "rush mission screw party play"

#

people just seem to be jaded with the trade system more and more

wind garden
#

or maybe there's just fewer people playing to trade with ๐Ÿ˜ƒ

#

i wanted to compare the number of people still using forums to post items vs stash api

#

but xyz doesn't keep statistics like that

#

so i don't know how to get that info

desert needle
#

27119 accounts with stash tabs in Prophecy

#

10866 in HC Prophecy

wind garden
#

that's really not that many

desert needle
#

it's higher than Perandus

#

at this time int he league

#

I think that graphic was a week in so into Perandus?

wind garden
#

741k stash tabs?

#

compared to 27119 right now?

desert needle
#

Mar 7 I posted that, Perandus started on Mar 4, so it's about the same

#

that's 27119 unique seller accounts

wind garden
#

hmm

#

no way to know how many unique accounts in perandus?

#

i imagine we'll have to wait to get some numbers from chris

desert needle
#

922516 total items verified YES right now in Prophecy, 200k more than this time in Perandus

#

looks like prophecy is crushing perandus

wind garden
#

hmm

#

another possibility

#

i'm justing based on the rate at which mortal hopes are selling

#

could be that at this time in prophecy there are a lot fewer people doing uber

desert needle
#

I bet the new labyrinth means more people focusing on that instead of uber

wind garden
#

will probably accelerate over the next week or so

#

mm true too

desert needle
#

and the prices of those mortal pieces in perandus was so much cheaper/more available

wind garden
#

prices are actually almost the same right now

#

74-80c

#

a bit surprising

desert needle
#

weird

wind garden
#

but i imagine reduce demand coupled with reduced supply

desert needle
#

yeah, the whole "what are top tier players doing" is probably different now

wind garden
#

ya

desert needle
#

less people running normal atziri too I bet

wind garden
#

i got merc izaro to 1% last night and died :/

#

not ready for uber izaro yet heh

#

and that was with 5k hp and 9 endurance charges

#

ridiculous to get 1shot

desert needle
#

I've played fb w/ shield charge as a main for the last couple of leagues and decided to run it again to start this league with the shield charge change, figured it'd be exciting

#

fuck me I might re-roll because gear for it is SO much more expensive now

#

thx Mathil

#

Abyssus going from 10c to 1+ex... ergh

#

and forget about decent life + flat phys gear + resist jewelry

#

Sacrifice at Midnight of Weaponcraft wtf?

#

Mortal Grief of Weaponcraft Mortal Hope of Weaponcraft wtf are these

#
            "Map Fragment": {
              "crafted": {
                "Cannot roll Caster Mods": true
              }
            }
          },```
#

"rarity": "Magic",

loud umbra
#

Is that in Standard?

desert needle
#

huh, yeah

#

I guess you can Vagan mod them

#

lol

loud umbra
#

There was a bug a year ago where you could mod them.

desert needle
#

"sellerAccount": "H4xolotl"

#

heh

#

I just noticed those showing up as Map Fragments resulting from the code I wrote to trigger for end game labyrinth fragments

#

guess I can leave 'em in

mortal bone
#

Pretty sure you can still craft stuff onto them

#

Most of the meta mods can be applied

desert needle
#

I'm removing and rebuilding the exiletools index now if anyone cares, don't want to risk having any leftover items from the weird stash uuid thing

desert needle
#

my favorite part of reindexing is that sweet sweet .5ms search latency when there's only 100k items in the index

lime geyser
#

Hey, is there a more up to date filter editor than filtration right now?

desert needle
#

last I read I think the thought was that filtration should still work

lime geyser
#

Filtration works but it doesn't have some new things which you have to add manually

#

The poedit is nice cause I can see what items I might want to customize

#

But it hasn't been updated

mortal bone
#

was updated like 3 days ago

lime geyser
#

Poedit?

mortal bone
#

Yep

#

It is there to show what a script will do to items

#

you can write a filter there, but you have to know what you want your filter to do exactly

lime geyser
#

I usually just modify one that I made myself

#

But it's hard to keep up with the new item additions so I was just hoping there was someone out there that updated their files with the coins and prophecy stuff

mortal bone
#

I use the 'Classy' filter if you are looking for an updated, but non-intrusive, filter

lime geyser
#

Yeah I started with it but I modify it slightly to suit mapping

#

And every league the things that are good changes

#

It's not a big deal though, I was just hoping to save an hour or so of editing my filter

wind garden
#

what do you guys think about the trade system in PoE? Do you like GGG relying on devs like @desert needle and @chrome topaz ? Seems there's been above average amounts of complains on reddit about the indexers going down yesterday and how it's "not acceptable". But personally, I like how things are and wouldn't change a thing.

desert needle
#

jesus GGG WTF

#

look at this shit

wind garden
#

empty?

mortal bone
#

Lmfao

desert needle
#

hundreds of pages of notifications that stash tabs are empty

#

that's all I've been downloading for the last 5min

#

1275 empty stash tabs per update

wind garden
#

is that something @compact isle could look into?

#

seems like a bug

mortal bone
#

Was just about to do that

#

That is awesome, empty data. Why is that even posted to the stream?

desert needle
#

Poor Novynn.

#

So, that is posted to the stream during normal operation because it's how you get told someone took a stash tab from public to private

#

but I can't think of any reason for those to be in the stream when starting at 0

mortal bone
#

Ah

desert needle
#

it's still going on these, holy crap

mortal bone
#

The id changes?

wind garden
#

there's so many in a row though

#

there's no way that's not a bug

desert needle
#

looks like 50k+ stashes that are set to private so far

mortal bone
#

'Closing' shops

desert needle
#

I wonder if it's giving me the entire history of every stash tab that has ever been closed

mortal bone
#

You're going to be at that awhile

desert needle
#

Tue Jun 7 14:42:25 2016 * Consumed 9400 stashtabs (0 items) in 24.51s (383.46 tab/s, 0.00 items/s) (5.2462s kafka production time).

#

I like to see stats like that though

#

heh

wind garden
#

now i'm wondering what mine is doing

#

goes and checks his monitor service

desert needle
#

they've never really had a good system for starting from scratch, but it's definitely not scaling at this point

wind garden
#

loll

#

gg

desert needle
#

oh shit is that happening at the end of the stream too?

mortal bone
#

It was a good start, but I don't think the implementation is there

desert needle
#

I thought it was happening to me because I hadn't caught up yet

wind garden
#

eh i just turned it on

#

i'm not caught up yet

desert needle
#

ah, ok, yeah

wind garden
#

and since it was off, i pulled my chunk_id from you

desert needle
#

I'm finally getting some data again now

wind garden
#

so i'm getting the same data as you

mortal bone
#

It may have been throwing tabs to private in an attempt to not duplicate tabs again

desert needle
#

to answer your earlier question though: I have two separate thoughts on it. My main thought is: If GGG wants to rely on third party developers, they still need to really support those developers with API's and tools. They don't do a very good job of this - actually they do a very poor job. It's a real bummer.

#

My other main thought is that I really really think we should have a way to actually force transactions. The majority of complaints are "seller is AFK" "seller is a dick" "seller is not on-line"

#

those three things can never be solved by a third party

mortal bone
#

They can if an online api reports afk

wind garden
#

the problem with forced transactions is you're essentially making an actuion house at that point

desert needle
#

well, "seller is AFK" I mean more "seller is not responding for whatever reason"

mortal bone
#

You have three states online (active), online (afk), offline

wind garden
#

ya, status reporting is a big issue

#

especially with programs that can report you being online when you're not

desert needle
#

I don't think an auction house and forced transactions have anything to do with each other, and I don't think bots and flippers are automatically a problem in controlled transactions

#

the biggest thing I see when people talk about trading is going immediately to "that's an unsolvable problem because Auction House"

wind garden
#

maybe i'm not understanding what you're suggesting

#

i'm just thinking, if you set it up so i can click a button on poe.trade and it instantly completes a purchase

#

isn't that an ah?

desert needle
#

I think they could break it down and solve it - like, starting with AFK, as you said - start by giving us a clear way to 1) tell if a person is AFK via API 2) allow people to say they don't want to sell in league X or for X time

mortal bone
#

Isn't what we have now an interactive ah?

wind garden
#

the user still has the ability to decline to trade

mortal bone
#

You basically click 'buy' when whispering

wind garden
#

for whatever reason

#

yes we use it like an ah a lot of the time

#

but not all the time

desert needle
#

seller is not on-line problems could be potentially solved with some sort of escrow service, or offline messaging, or various other weird ways without going full AH

mortal bone
#

They do in an Auction House as well with a buyout and bid system

desert needle
#

I personally like the "vending machine" idea for a marketplace

#

You can put up to X items a day into your vending machine, then people can buy up to X items a day from vending machines

wind garden
#

the problem i have with an AH with bid/buyout is that it equalizes the bid/ask

#

which makes it much harder to make a profit flipping

desert needle
#

the trick for POE IMO is to not have all or nothing

wind garden
#

agreed

desert needle
#

I on average buy or sell less than 5 items a day

wind garden
#

GGG working together with 3rd party devs would be a good way to go

#

better APIs

desert needle
#

I would really like to see an OAUTH or similar API, I think that would open up a lot of possibilities.

mortal bone
#

They try, but the apis get left in the dust

desert needle
#

Verified buyer/seller reviews for one thing

mortal bone
#

When making changes no one checks the apis

desert needle
#

but yeah the lack of actual API support... it's crazy

mortal bone
#

They just assume it will work and they blow them up

wind garden
#

man

#

with OAUTH you could enable 3rd party auction house

desert needle
#

I got excited about the stash tab API, and Jonathan really listened to some initial feedback

#

now it's le crickets

#

you can't have a 3rd party AH as long as trading is required in game

#

but seller reputation could actually be a thing

#

since you'd have to have a verified account to be able to review sellers

mortal bone
#

OAUTH just means we don't need username and password

wind garden
#

ok ya

mortal bone
#

Well, it could

desert needle
#

I could do a community tool site for tool reviews/etc.

wind garden
#

but we don't even have any authorization

#

we don't have private APIs afaik

mortal bone
#

Right

#

Well, they have private apis

wind garden
#

i was thinking of being able to put an item in escrow and then authorize its sale to a character via API

desert needle
#

there's no way for someone to tie their Path of Exile identity into any other service officially, which is a big oversight I think

mortal bone
#

But they aren't meant for third party use. We just use them

loud umbra
#

Why are those private?

wind garden
#

ya

#

there should be API keys that people can create

mortal bone
#

They are to make front end development easier

wind garden
#

and tie to a 3rd party app

mortal bone
#

I do it all the time

#

You make a back-end that servers data, and your front-end queries and displays it

#

They are private in the sense that you have to be logged into a browser to get the data

wind garden
#

i think stash api is broken

#

i was caught up and still getting 0 items

#

and it's just spitting out sooooo many updates so quickly

#

all empty

desert needle
#

what url are you at?

desert needle
wind garden
#

that has items in it

#

lol

#

maybe i'm the one who's broken

desert needle
#

wierd I don't even see 7337* in my history

mortal bone
desert needle
#

the way that API works at the back end is really really weird

wind garden
#

ya

#

you're not guaranteed to get the same IDs in the chain

#

even if you start at the same place

#

depends largely on how fast you're updating

mortal bone
#

Everyone still need all the same updates so wouldn't you have to hit all the same ids?

desert needle
#

hrm, they added this sort by bump-time to the shop forums but it doesn't seem to work

#

wish they would just add sort by last-edit

mortal bone
#

Yeah, I don't know what a bump key is, but I am hoping it is a oauth type key

desert needle
#

I think the idea of the bump key was that Acquisition/Procurement would get a bump key

#

then instead of "bumping" a forum post with a new post, you would use this bump API they made available

mortal bone
#

You should be able to generate a key with preferences like read only characters or something

desert needle
#

except Acquisition doesn't need to do that because who cares

#

thus making the API pointless

mortal bone
#

Yep

#

At this point I don't think there is a way to compete with xyz

#

Every api they try just makes the gap that much bigger

wind garden
#

@desert needle all the updates i'm seeing are for standard, not a single Prophecy item

desert needle
#

might not be fully caught up yet then

wind garden
#

hmm

desert needle
#

last I checked you need something like 4-5mil items from Standard

#

it's bonkers

wind garden
#

wow

mortal bone
#

Wtf

desert needle
#

it's like 5-6 hours to catch up if you start from scratch

mortal bone
#

You can't sort this by league

#

?

wind garden
#

no ๐Ÿ˜ฆ

mortal bone
#

...

wind garden
#

get this

#

what's even weirder

#

the "league" field is part of the item object

desert needle
#

the stash tab api is literally a bizarre river of data, but it's somehow generated randomly on the fly as well

wind garden
#

not part of the stash object

#

so for a single stash that has 400 items, you have 400 tags all saying the same thing

desert needle
#

so let's say it has 1000 stashes that it wants to send you

#

it sends you a random 10, then another random 10, then another random 10

#

but say 50 of those 1000 get updated while you're getting the initial ones

#

that means in the third random 10, you could randomly get some of the ones from the first 10 again

#

there's no sense of FIFO or streaming or anything

mortal bone
#

How...

#

Like...what?

loud umbra
#

Any idea how it does this?

desert needle
#

I would love to know wtf they are using for the underlying system.

loud umbra
#

I'm confused why it isn't just fifo

mortal bone
#

FIFO would be the only thing that makes sense

#

You send everything. In order.

wind garden
#

i wonder if that explains why sometimes items i see are delayed

#

even though i just updated my stash, the update is behind a bunch of random updates

desert needle
#

I mean, not to sound like a dick, but I wrote a system that did message queuing for every item I processed in a stable FIFO consumable queue using node.js which I had never used before in about 6 hours

wind garden
#

that might have come after mine

mortal bone
#

FIFO is really easy

desert needle
#

just using an off the shelf messaging system (Kafka)

#

oh, FIFO is a bad choice, I mean, ordered

#

you can obviously start anywhere your want

#

but order is atomic

wind garden
#

right

mortal bone
#

Right

desert needle
#

that said, who knows what they have going on under the hood

mortal bone
#

They may be using some sort of stack

#

So the last thing is the first thing out

desert needle
#

maybe they are making active queries to like 50 different database nodes to grab things, so the order appears random based on response times or something

mortal bone
#

I just can't think of a logical reason to send updates on partial information

desert needle
#

or, like, with some databases if you do the equivalent of select * FROM X LIMIT 1000 you get a random 1000 rows every time

#

whatever was the first 1000 in buffer or whatnot

mortal bone
#

Yeah, it could order them by new/old ids

desert needle
#

elasticsearch does that too, if you don't create a scroll and scan, the same search will give different results a few seconds later

mortal bone
#

Giving you update on old stuff before sending new

#

Instead of giving you all the new then updates on that

desert needle
#

the fact that it might have separate streams to separate clients is mind blowing too

#

so it's like keeping track of what I've been sent as a client based on the update id I give it? that's bonkers ๐Ÿ˜ฎ

mortal bone
#

It should be one big river that you can dip in and out of

wind garden
#

what's mind blowing is that there aren't different rivers for each league!

desert needle
#

yeah, literally give me a kafka topic I can subscribe to

mortal bone
#

That too

desert needle
#

no filters at all

wind garden
#

ya

desert needle
#

the ExileTools RealTime Stash API filter is pretty badass for that though ๐Ÿ˜‰

mortal bone
#

I understand no filters, but league filters at least

#

4 streams

wind garden
#

ya i'm gonna start working on a client for your stash apis

mortal bone
#

If you want it all query it all

desert needle
#

yeah four separate leagues would probably reduce some overhead a bit

#

I'm sure there are a number of people who don't care about standard

wind garden
#

gonna make an app called WhatToFlip that sorts items by volume and 50% price

mortal bone
#

Hardcore

#

Too

#

I have been putting some serious thought into competing with xyz

#

The model he uses is pretty simple own client, own service, own parser

#

The problem is computation and space

desert needle
#

Retik - oh yeah, I was gonna build a page like that for fun, an upgraded version of http://exiletools.com/realtime/uniques (whch is kinda broken atm) - the idea was just go there, say "Notify me when someone posts a GOOD Abyssus for less than market rate" and it calculates what both of those things mean and sets it up

wind garden
#

nice

desert needle
#

tbh, the biggest problem with trying to do anything that would compete with poe.trade is that it's so bedded in

wind garden
#

the reason i wrote my app was because xyz didn't have a way to notify me of live updates on item searches

#

there was browser notification, but i couldn't really hook into that

desert needle
#

there are definitely ways you could provide an alternative and more powerful engine

#

but I think a lot of people would just not care

mortal bone
#

The thing is to simplify it

desert needle
#

for example, I've been excited about the idea of two-way data binding in the search UI

mortal bone
#

People are coming out with all these complicated tools

#

There is no reason for it. Most of the user base aren't power users

wind garden
#

i use a duplex WCF channel in my service/client

#

service runs on my system and i can connect to it with N number of clients

desert needle
#

select a ring, now you only see mods for rings. Select a ring with +60 life, it only shows you mods available on rings with +60 life. Select Cold Resistance, it says "24-32% cold resistance" for the range because that's all that's available on rings with +60 life, etc.

wind garden
#

so i'm not having to pull the river multple times

mortal bone
#

@desert needle yes something like that

desert needle
#

but tbh I think the real "killer app" would just be the ability to go "give me a ring with t1 life and three t2+ resists" ;x

#

exiletra.de is kinda like that, but I don't have mod tiers in the index

wind garden
#

well ggg still doesn't give us tier indicators for mods in the api

desert needle
#

I think there's room for a lot of improvement in the UI too

wind garden
#

we have to infer

loud umbra
#

The biggest thing to get me to try a different service personally would be making it really easy to figure out the value of items. People search on poe.trade to figure it out... and it's extremely slow and painful, especially when you need to widen rolls and try various options to find something comparable.

wind garden
#

which sometimes is impossible

desert needle
#

Retik - sure, but GGG doesn't give us Q20 DPS, Pseudo Life Totals, etc.

wind garden
#

right but you can calculate those with 100% accuracy

#

it's superfluous data

#

sometimes it's impossible to infer all 6 mods

desert needle
#

Nuro - I'm working on a node.js backend for clipboard conversion so I can upgrade my price macro as well as provide an open service for other macro/tool creators that will hopefully make that process much easier - but it will still be fuzzy matching... someone needs to do some genetic algorithms with rnn's to really find values ๐Ÿ˜‰

#

true on infering mods, but you can accurately infer 90%

mortal bone
#

Right, it is easy to calculate damage and such, but to you try and classify mods and it is impossible

wind garden
#

ya usually we can get most of them

#

but there's that 5-10%

desert needle
#

I can say "this ring has 2 prefix and 3 suffix mods and the mods are t1,t1,t2,t4,t4" 80-90% of the time

mortal bone
#

Right

desert needle
#

but 80-90% of the time is thousands of searches a day from users ๐Ÿ˜ƒ

wind garden
#

ya

#

really irritating as a user

desert needle
#

there's a reason poe.trade finally added estimated prefix/suffix to mods

mortal bone
#

Yep

wind garden
#

knowing that you're missing stuff

desert needle
#

once maniccompression came out with an extension showing it was possible, then started doing it in durian and exiletrade and other tools, people stopped accepting the "but it can't be perfect" excuse

#

but yes going back to the earlier conversation, if GGG was actively supporting third party development, they would have listened to the thousands of times tool creators have asked for better information in the item JSON data ๐Ÿ˜‰

#

the fact that I have thousands of lines of code just to f'ing parse their JSON into proper JSON format is boggling

wind garden
#

why doesn't GGG just hire one of you?

#

like they did Novynn

desert needle
#

haha, that'd be a terrible idea (hiring me at least), they should hire an actual developer ๐Ÿ˜‰

#

but I think it's just not a priority

wind garden
#

well, i didn't name names

#

but hiring someone from the tool dev community who knows what we need

desert needle
#

paying someone $150k/yr to enable third party tools is probably a tougher business case to make than it may seem

wind garden
#

then make it part time

#

as a side job

#

most wouldn't necessarily want to quit their day job anyways

desert needle
#

it would be crazy awesome to see lots of API improvements and action

wind garden
#

i wonder what GGG would say if you proposed something like that, even contract based per/feature

desert needle
#

maybe Novynn is doing a bunch of super secret shit behind the scenes that we'll get a surprise unveiling of ๐Ÿ˜‰

wind garden
#

"I'll improve your API with x, y and z (no pun intended) for $x"

desert needle
#

I already improve their API's for free ^_^

wind garden
#

indeed

#

wish novynn was here

desert needle
#

he's probably not supposed to talk about stuff like this

wind garden
#

for all i know, he might have been hired for exactly that

#

probably not

loud umbra
#

I just need to get around to figuring out this elasticsearch stuff before I can use yours... :x

wind garden
#

same

desert needle
#

trust me if you just kinda start with a general approach it is very very easy

wind garden
#

is elasticsearch similar to restful apis?

desert needle
#

just keep the main documentation up for ideas

#

a lot of people ask me questions about like doing 500 queries to pull data to do X and I'm like "there is an aggregation query you can run that will do that for you server side"

mortal bone
#

The problem with hiring someone is NZ law

desert needle
#

elasticsearch is restful

wind garden
#

nice

#

well there i go

desert needle
#

it's super super easy to use

wind garden
#

once upon a time i wrote an app using Rest#

#

but that was for bitcoins

desert needle
#

there are a bunch of various modules for various languages that simplify connection and query creation as well

wind garden
#

ya

#

i'm a c# dev

#

haven't done must stuff with web apis

desert needle
#

as long as you have a system that can interpret JSON you're good to go

#

the outbound queries are JSON, the response documents are JSON

mortal bone
#

C# has a good JSON library

#

JSON is probably the easiest return object that you can parse

desert needle
#

yeah it's amazing

#

print response.hits level of easy

mortal bone
#

We use JSON in the offline planner

#

you basically convert the JSON directly to a class in C#

desert needle
#

I'm guessing a class is equivalent to an object in js

mortal bone
#

Yes

#

basically

desert needle
#

yeah super super easy to work with then

mortal bone
#

A name, methods, and properties

#

ES6 will introduce them to JS

desert needle
#

and you can build your queries in a modular way with classes then, like objects, I expect - i.e. here is a default set of 8 parameters, then I'm going to add a 9th parameter where league is set by variable by adding it to the class, etc.

mortal bone
#

Properly

wind garden
#

Ya

mortal bone
#

Yep, you would be able to 'export' your class to JSON

wind garden
mortal bone
#

yes

desert needle
#

as opposed to when I was using SQL queries and I had to write queries that looked like: select namefromtable WHERE $clause1 $clause2 $clause3 $clause4 then define a bunch of $clause1 = "league=x AND " kind of crap

#

it was terrible :p

wind garden
mortal bone
#

holy shit

#

I didn't know that was a thing

wind garden
#

Ya its great

desert needle
#

I just fed it a stash tab url

#
public class Stash
{
    public string accountName { get; set; }
    public string lastCharacterName { get; set; }
    public string id { get; set; }
    public string stash { get; set; }
    public string stashType { get; set; }
    public List<object> items { get; set; }
    public bool @public { get; set; }
}

public class RootObject
{
    public string next_change_id { get; set; }
    public List<Stash> stashes { get; set; }
}
#

nice

loud umbra
#

But I love sql D:

mortal bone
#

It doesn't like the skill tree json ๐Ÿ˜ฆ

desert needle
#

doesn't the skill tree json fail on a validator?

mortal bone
#

that might be because it is 72k lines long

#

and has objects in objects

desert needle
#

I seem to recall having to hack it up a bit because it had some weird nesting that wasn't spec

mortal bone
#

JSON lint says it is valid

desert needle
#

it might've been one of the early release trees I had problems with, I just have this vague recollection of ;'s in weird places

loud umbra
#

@desert needle -- slight pedantry, but your documentation says white sockets for all of the total<Colour> fields.

wind garden
#

I had to strip down the stash api Json to a few stash entries

mortal bone
#

Yeah, I may have to do that

wind garden
#

It couldn't handle the full thing

mortal bone
#

I know the classes work, but it would be nice to clean them up

desert needle
#

nuro - whaa

#
            "totalRed": 4,
            "totalGreen": 2,
            "allSocketsGGG": "R-R-G-G-R-R",
            "sortedLinkGroup": {
              "0": "GGRRRR"
            },```
#

random item

#

you sure you aren't just looking at a tabula rasa? :x

wind garden
#

That's what I did, changed data types, added enums, etc

woeful sphinx
#

Something like http://json2csharp.com/ is built into Visual Studio actually: Edit -> Paste Special -> Paste JSON as classes

loud umbra
#

sockets.total Red: "A count of the total White sockets on the item" in the Index JSON Structure page documenting the fields

desert needle
#

ooooh in the docs

#

I see that part of your statement now

mortal bone
#

oh good to know

#

@woeful sphinx

woeful sphinx
#

Used the xml equivalent of that feature to write data down in xml and then generate classes to deserialize them.

mortal bone
#
public class Art2DartSkilliconsPassivesMasterygroupclawPng
{
    public int x { get; set; }
    public int y { get; set; }
    public int w { get; set; }
    public int h { get; set; }
}

public class Art2DartSkilliconsPassivesMasterytotemPng
{
    public int x { get; set; }
    public int y { get; set; }
    public int w { get; set; }
    public int h { get; set; }
}

public class Art2DartSkilliconsPassivesMasterygroupscepterPng
{
    public int x { get; set; }
    public int y { get; set; }
    public int w { get; set; }
    public int h { get; set; }
}```
#

lmfao

#

rip

woeful sphinx
#

Yeah, it names that stuff hierarchically ^^

desert needle
#

@loud umbra - fixed in docs, good catch. I think I might need to make a pass at that page as well with stuff like the new prophecy and Map Fragments

loud umbra
#

I noticed a while ago but felt emailing you about something that silly would be annoying

wind garden
#

I love discord, it's like irc 2.0

mortal bone
#

Yeah, it is amazing

#

It is like slack with voice

#

pretty sure it is the same framework

#

Well, I am completely wrong. Completely different stack

lofty aurora
#

something something elixir supremacy

desert needle
#

index finally caught up, 4.8 million documents in the stash tab api stream right now

loud umbra
#

Surprised it's only 20GB

desert needle
#

@loud umbra those docs are in the github project if you ever find something like that and want to just toss an issue or a pull require or whatever, feel free

#

that's just "day 1" size - by the end of Perandus I was at around 200GB

loud umbra
#

I actually didn't know you had a github project for it at all :P

#

Ouch.

desert needle
wind garden
#

nice, i'm caught up too

#

1418046 items processed in prophecy league

desert needle
#

crazy

#

day 4 and 1.4mil items available for sale, not including everything that sold over the last 4 days

feral flame
#

Hey, do you know if there is already a syntax highlighter for item filters in notepad++? If there is not I'm thinking on creating one

desert needle
#

yes

mortal bone
#

Yes

#

there is

desert needle
mortal bone
#

So, I was thinking about making a SASS like language for item filters