#tooldev-general
1 messages ยท Page 82 of 1
but it's not really loading anything and the source html doesn't seem terribly interesting
am i missing something or its outdated?
I wouldn't claim "not a number" to be invalid for that since it never deals any damage. Cast rate "inf" also seems fine given it is instant cast now.
Norvynn, incase you're looking, and i don't even know if this is your purview but bulk prophecy searches on trade sites please?
spell his name right 
also its not trade sites, its just poe/trade that he is a liason for (slash main programmer)
PHP MVC framework experience. Zend Framework highly preferred.
Aww.. really.. No Symfony :o
?
Working with zend atm and have basically the entire webstack they're asking for..
But i'm fed up with zend xP
they?
oh, the Job description GGG has put up :P
I see, I guess they need more Novynns ๐
yes please
I did PHP 15 years ago. Can I apply? :3
@meager flax it's on the to do list, unfortunately not simple to do :(
PHP is much different now, but is definitely still PHP :D
I got a laugh out of the comments on the reddit thread talking about it
Just joking. I respect people who work with PHP, but I prefer to work with other tech stacks ๐
But if you ever need a cloud & system architect...
I think I'll try .NET for my next personal web project
So, you're on the web end of things i take it, Novynn? :P
yeah I'm one of the current web devs
for future reference Novynn, how much of the trade site do you run?
200%

good enough, I'm jus tlooking for the right phrase to describe your interaction with it when telling people to forward their desires to you 
Do you happen to know any specifics on the time window on that job psoting, Novynn? Or just "till we find one"
we have a few candidates in mind from job ads so far but keen to see if there are any better matches out there
I see~
for your .net personal project use f# novynn ๐
functional languages are interesting
I'd be happy to help
can you import C++ libraries into F# like you can C#?
afaik yes.
interesting
I'm happy with that, more comfortable with linux servers
I also have a large PoE support lib already written ๐
You can do the same with c# as well
Using https://github.com/Firwood-Software/AdvanceDLSupport
you could do something like
var lib = AdvancedDLSupport.NativeLibraryBuilder.Default.ActivateInterface<ILibC>("libc-2.28.so");
which some argue is better than P/Invoke
now that looks neat
you can use C# stuff from F# and vice versa
you can also do functional programming in C#
We did some MemoryMap tests/comparisons between Linux and Windows.
Here's how it was done for Linux: https://gist.github.com/andreandersen/81a76d99aab49abaf219dd98deaeece0
It was actually when parsing GGPK, I tried using MemoryMapped files to read it. Bad idea on Windows, FYI.
I ended up with a much smarter GGPK loader though, due to the memmap failure, i had to rethink things
Pretty happy with the current implementation, I must say
sounds like pretty interesting work
Because GGPK doesn't contain a classical 'table of contents' or a 'mft section', it's a bit different
But there's a "root entry point", which refers to children, which in turn refers to other children
Each record uses file offset as it's reference
The PyPoE and my previous implementation parsed the entire GGPK into a Dictionary<long, IRecord>, and created a structure out of that.
The current implementation finds the GGPK entry (root), and jumps and traverses it directly instead.
Loads the 10GB+ file in ~120ms
(lazy loading of sub nodes)
I figured, most appliccable usecases would not require access to all the 300K+ files, but rather a few specific ones.
@simple ravine Odd, my C/C++ loaders worked quite well with mmap, as did Rust.
Still was rather eager slurping in a lot into a tree instead of deferring until use time, so that could've improved quite a bit.
I guess that you might have some useful overlapped reads that aren't tied to the file pointer too much? Couldn't really find any decent portable way of doing multiple reads from the same file handle elsewhere, so settled for either mmap or one file per thread.
the Working Set went up to 10GB+ in memory
the regular one just said 100 mb or something
until i released the memorymapped file
but I eagerly read each thing
worth noting is that i created 1 big memorymapped file of the ggpk
and then read through it, and as I read it rapidly cached it all in memory without releasing things
until i released the file handle
hrm
it would've probably released if something else needed memory
still not very suitable for a library to consume 10 GB of memory ๐
Still don't know if I should ignore 32-bit consumers or not yet, probably should. Easier that way ๐
2-4G of address space is awfully cramped.
That moment when you wish you could work in NZ lol
Are upcoming updates staged in their production releases?
Like, so they exist to be data mined
While it's certainly possible, external parties who have access to this environment are also subject to a signed non-disclosure agreement, preventing them from legally communicating these changes prior to written consent from GGG.
gotcha, is there a website you can submit buy orders for non-currency? apart form forums
not really
@thorn seal Generally not. MTX sometimes shows up in the GGPK before it's made available in the store, but new features/content tend to come as part of a major release, with a client update
There have been some exceptions. For instance, the mastermind lore objects that were added in 3.5.2 had some (unfinished!) audio present in the 3.5.0 data file
MapStashTabLayout has been in GGPK for like 3 years before it was a thing
D:
New things they don't really put in advance, but there is lot of random unused or orphaned stuff. There is also an invite-only NDA testing realm, and very rarely they do closed/semi-open betas for large releases where public people can join in
there's also the new unique stash that was leaked
@compact isle does the trade website factor in white sockets when searching for specific colors?
ie. BBBBBR would show up tabula in its results
well i guess it's easy enough for me to test, it doesn't
can it be made to work that way?
the problem is that I want to search for a specific socket color combination but I won't want to omit items where people have corrupted it with white sockets from vorici
I'd also dig that function
It doesn't
Though it sounds like a pretty simple tweak to the api backend if ggg puts their mind to it
I need to find a way to stop the le toucan nonsense from writing to my ssd, it always causes a second stutter which at the wrong times can kill me
Is it possible to automatically delete the log file after every play session? Or is there an ostensible reason why it should be kept?
prepares to toucan
It happens in trade as well
or just set the log to read only
Writing toucan to log on ssd causes a second stutter? I think there's gotta be something else at play there
If I set the log to read only, alot of apps will stop functioning correctly
@chrome topaz that's what I was wondering too, every time someone posts something like that, I get a stutter. With my limited knowledge, I'm attributing it to the game writing something into my ssd
@thorn seal I would recommend maybe doing some rolling traces with UIforETW and save one when it hitches, might be hinting to what actually happens - https://randomascii.wordpress.com/2015/09/01/xperf-basics-recording-a-trace-the-ultimate-easy-way/
Might be able to discern if it's I/O or something more CPU/GPU-side like text layout or font rendering.
thanks @worthy cape
I wonder if you've got some kind of weird font issue
@hushed relic your spreadsheet (Filter Differences for NeverSink's filter) https://docs.google.com/spreadsheets/d/15HllTA9AumeFgJ3r6pnFKAJ904Agq9U5MPblE4HNaio/edit#gid=0 under strict "Armourer, Augment, Low shards" is listed as (hidden* but it is in fact shown (the latter is prob what you meant. is this a mistake?
@thorn seal yeah the spreadsheet is outdated
I'm currently working on automating large chunks of filter updating
I see if I can automate and maybe make a filterblade page for the differences
actually
nvm, that part is correct
Armourers and augments ARE hidden on strict
strict hides wisdoms, armourers, augments, transmute and alt shards
wait, how come i'm seeing armorer's scraps then
idk
wrong filter strictness, editing, maybe it's outdated (unlikely)
but STRICT hides them
ok i might be wrong about that, more power to you! no biggy though, i just noticed that a few things int eh spreadsheet arent what im seeing so i gave thats an example
Eh, it's one of those things that needs complete automation
actually i think filterblade is good enough considering it is graphical, and there are tons of other websites which simulate anyway. you probably dont have to go to that trouble. if the api were more open im sure you'd be able to do alot more
with all the activity and meta changes in PoE having the spreadsheet handcreated is just silly
well maybe i'm a spoilt millenial but i think nowadays there are better options to handcrafted excel sheets
You'd be right
one suggestion is that you might want to put a changelog on filterblade or your forum post. just the latest version changes
the opening post that is
the changelog is always in the comments
that way you dont have to make a new post every time and folks wont have to scroll through the pages to find them, just a suggestion though, im probably one of the people that bothers to read it
ah, that's what you mean
well, there's a changelog in our discord
but the reddit post is more of a self-sanity and visibility thing
it does wonders to counteract people complaining about some item not getting enough highlight, because mathil touched it recently
that being said, once the updater is live, it'll change that up quite a bit
you're right. i've been messing with the code sometimes (like for the chancing bases which you cant edit through the website). i wish there were a feature to retain those changes when i update? or is there already. everytime i update i have to redo those changes because they arent cached on filterblade
You can edit chancing bases on the website
If you mess with the actual file, you can't retain changes
that causes too many red flags
yeppers, i figured. i've edited a few more things like the 20% gavels because im just weird
im getting this when i try to edit chancing bases
because it's hidden
it works for non strict
you can't ctrl+click hidden items sadly
yeah your spreadsheet makes that clear, so i manually edit it
You can still go to customize -> chancing
and change it
The filter works in a way, that only 1 rule can apply to each item
Something that certainly, definitely, absolutely will cause damage is editing the hide layers
however, since there's several overlapping layers, we can't pinpoint the rule that would otherwise be highlighting it accurately
ok i'll do that. how are you gonna implement the updater? out of curiosity. since the filter doesnt run as a standalone like mercury of poe-macro
It consists of several modules
- special database that adds descriptors to certain items (mostly uniques, divination cards)
- a service that will generate a new filter and update all tierlists, based on the current economy situation and 1). It also updates filterblade.
- a module that'll create automated github releases and potentially weekly reddit posts (including economy shift overviews) from 2+3
- a small clientside application that auto-copies filters from the download folder to your poe folder (and installs soundpacks). It'll also get notified if there's a new version and can either DL it from github or open a special URL on filterblade that'll download the latest version instantly (this DOES need to open your browser though)
overall I think it'll increase use comfort, will be much more accurate and will save me time
the trick is basically "serializing" game knowledge into the descriptor database, took me quite a bit to nail down the critical parts
maybe work with one of the creator of another popular standalone addon? to run (4) as part of their app?
that way it'll check for updates and update automatically (the vanilla files) whenever they run it (invariably they start the game (like trade macro/mercury)
if you're open to that ofc
I haven't quite decided yet
but 4) (while I have a prototype client) is currently not a priority
I want to focus on 1/2/3, I recently had an accident and then got back to updating and realize how much:
a) Time non-automated filter update task take, that I can save, while providing more QoL
b) It's not OK that breaking arms or anything else can delay those updates by quite a bit
so I wanna address those 2 issues
- the old tool I use to generate filters is 4 years old and it's code makes my eyes bleed
it's a good thing I'm rewriting it
sounds good! i cany imgaine playing the game w/o your filter. more power to you and am looking forward to seeing wgat you have in store this year! my first league this
:p
Ooh, interesting... 3.6.0 drops XP/Vista. That means that I can make my tooling 64-bit only without guilt ๐
why doesnt POB enable discipline by default?
or i guess every vaal aura
it enables the vaal version but not the normal one, when it should probably be the other way around
theyre not dropping 64 bit support @worthy cape
err 32 bit
and i hope they dont because 64 bit seems to have zero regard for memory
poe always uses 8gb ram for some reason, when triple a titles usually dont go above 4-5gb
@waxen musk It's not that easy though. Quite a few people running Vaal Disc are probably running Disc... But I'd guess the percentage of people running Vaal Haste that are running Haste as well is very low.
Same for Grace
would probably need some heuristics to turn on auras based on remaining life/es?
ninja seems to disable vaal auras, right?
Yes
I mostly only care about dps auras though for now.
That heuristic would have to take a few things into account though.. Like MoM usage
Which probably means Clarity on but the rest off
I'm guessing that MoM ES builds aren't that popular..
well, MoM doesnt work with ES so that could be why ๐
btw does the skill display on character page not include +specific gem level corrupts?
Because I've not added those mods ๐
DPS took a bit more effort than expected. But now I can get back to tweaking DPS and then fixing some other issues.
@waxen musk Yeah, I know they're not dropping 32-bit yet, but the target demographic shrinks significantly.
And being able to use Win7 APIs is great.
I've got software that I've given up on maintaining due to XP compatibility, it's great to see it going away in more fields.
(silly audiophiles and their music player plugins)
(said project had XP compat, D3D9 graphics gimped to run on ancient integrated Intel potatoes, royal pain to work with)
when can people understand that there is no benefit of sticking with Windows 7 or earlier?
Windows 10 is actually more optimized than Windows 7 in many areas
i.e. smaller memory footprint etc
People have varying historical reasons and weird corner cases.
of course it comes with more features, so you'd likely want to disable some of the things you don't want
Also philosophical objections to what Ten has become ๐
but those are optional, and the base OS is far better
Also some sneaky silent bumping of minspec, I forget which instruction they stopped emulating lately.
I'm not one of those crusaders, but I just find it amusing
LOCK CMP XCHG?
getting windows 10 to not nag, and not forcibly reboot doesn't seem simple
it's for your own good though?
I understand the people, but I don't want to enable them ๐
nor is getting it to let you turn off your own damn laptop when you have to leave without installing updates
@simple ravine With a recent Windows release, they started requiring that the CPU had interlocked (atomic) exchange of larger words.
This justified by how it was bothersome to write OS code if they had to detect and work around it for kernel stuff.
yeah, you need LOCK to do concurrent operations (atomic) on multi-core processors
InterlockedCompareExchange128
and that I assume is far faster than the alternatives when you actually need concurrency
(and underlying instruction)
but yeah, I assume most of the gamers who still use Windows 7, are on decently modern CPUs though
because.. gamers
You've got to go far back for this, but Athlon 64:s still exist.
Not sure if my perfectly serviceable old C2Q 6600 has it.
who even uses 32 bit anymore
would be interesting to see how big of a game's audience who is still going strong with their Athlon CPUs
@chrome topaz People with peripheral drivers ๐
"the printer still works, can't upgrade OS"
Car diagnostics tooling is another one of those extremely legacy things.
well, aren't there a few reasons to stick with 32 bit modes on your software? some things run faster due to how registers and instructions work
if you go 64 bit, aren't you also using largers registers for things that might not need them?
Pointers are smaller, this is why Linux has an x32 mode.
Not overly popular and mostly used to exploit, but it's there.
(not x86, x32 is 64-bit but has 32-bit pointers)
I mean, for an example Visual Studio is running in 32bit mode for that reason, IIRC
nah 64 bit should be faster since the baseline is better
One killer problem for legacy codebases is inline assembly, which some vendors threw out with 64-bit compiles.
ie your compiler can rely on all 64 bit hardware supporting specific instructions
The VS justification of "if we make it 64-bit, extension vendors will become lazy" is shit ๐
I know they're trying to keep it going by pushing stuff out-of-process, but it's still nasty.
it's gotta be one crappy code base if 64 bit pointers are slowing you down that much
@simple ravine That's pretty much the gist of the quotes tho - just push it out-of-process if you're hungry, it's a feature that you can't host in-process well.
this isn't the only occasion i've seen this argument though
You can't deny that it eats instruction and data cache space, tho.
Intellij works fine as x64 
It's not like it's a major problem, but it's noticeable at least.
the way I interpret is that they can pack more in the L1 cache etc if they use 32bit instead of 64bit
which outweighs the benefits of 64bit registers, memory space and instructions
On the subject of VS - there's more C#8 in 2019 Preview 2 ๐
yeah, I updated the other day
switch expressions/returns
some people argue it makes things less readable
I argue it's a nice option to have
and then they made vs code in JS...
there's a reason why I stick with VS
and to be fair, JS is only the UI parts interfacing with things made in other languages
isnt vs code all in JS?
it doesnt have a built in compiler, but it still does quite a bit of heavy lifting via some extensions
like what?
Flow
Flow?
I'm fairly certain that's done by tsc
oh
I have no idea what Flow is
well, there's some Office365 thing called Flow which is for people who dont know how to code, but is brave enough to do things that will shoot themselves in the foot later on
oh i guess it could be using a separate process
i just noticed it being painfully slow at times
vs code seems to be the lesser evil when it comes to writing bulky stuff in JS
compared to something like chrome devtools
I'm happy with Visual Studio, and don't see any reason to spend time and mental effort changing from something that's not broken ๐
VS 2019 is darn smooth
and finally has the same nice syntax highlighting as VS Code has
TS is using a language server that runs in a seperate process from VS Code afaik
i use vs code for JS projects, not sure how to set up regular studio for it ๐
never used TS really
Yeah I used to use full VS for TypeScript but VS Code is far better atm
Maybe it improved in VS2019
we just transitioned to VS2017 and youre already talking about 2019 ๐
I really like that you can type the parts of the code you care about. You can have stricter types in the core logic and then go a bit more crazy on the outer edges with any
hm thats a good reason, with regular JS the suggestion list is crazy
With poe.ninja I'm definitely going in the direction of typing more things now.
Hopefully I can enable the compiler errors when using any soon.
But it also makes it really easy to just grab a JS project and start incrementally converting to TS.
wish i knew about all this stuff when i was starting
Especially after Babel 7 added TS support
my site is made using bootleg JS/jquery and its "fun" to maintain
Ah. Well you might need to shoehorn some webpack or something in there... But other than that the transition shouldn't be too painful.
Everything will just default to any type where it can't be inferred.
yeah i just minify and concatenate everything using some makeshift scripts
That works great until it reaches a certain size ๐
if i actually had to update it more frequently i would consider rewriting the whole thing
But I shouldn't be talking.. I write Ruby in my day job.. JS has almost no magic in comparison ๐
i assume with equal amount of frustrations, just different ones
If you like a tool chain that changes every day it's fun.
i hear our JS department stopped using angular, maybe its not as awful anymore
What did they switch to?
Ah.
I'd prefer React out of the two as well ๐
Although I'd love to have time to look more at Vue
I thought it was all about hyperapp nowadays ๐
and Flutter
wonder what'll be next week
theres this new memoized dom thing, wonder how it will end up
Ui5 when
I prefer react as well
Did I hear someone mention typescript? That's really sliding in popularity
Yeah it's pretty crazy how many projects converted recently or are rewriting in TS.
The typed JSX combination of TS + React also works out pretty well. Typed html.. Now I'm just waiting for them to fix className -> class.
I prefer ts too
My current company is 100% react
Used to be ruby
Anyway it's a shame the api is limited
I had a lot of fun with addons in eso
did you write any available on esoui?
Yes, but that was in 1.6 era
I was involved in writing the old helper scripts for MM and ftc
Then I stopped playing mmos for some time
I'm a fan of allowing people to customize UIs the way they like it
@fickle yew how do you get trade search links (the ones with long json in the query)? is it documented anywhere or how did you figure it out?
oh i guess watching network requests does the trick
@waxen musk Yup. Basically my approach as well. I sometimes regret supporting all 3 sites - they're all very different.
how did you get the ?redirect&source= thing though?
Mods are quite painful on the official site. I wrote some crazy JS I dump into the console at the start of every league to extract mods for enchant searches.
But afaik there is also an endpoint that you can query now ๐
?redirect&source= doesn't ring a bell.
oh yeah "implicit.stat_2843100721" is very readable
Yup that.
the links on poe.ninja look like https://www.pathofexile.com/api/trade/search/Betrayal?redirect&source={"query":{"filters":{},"type":"Bloodstained Fossil"}}
Taken from network tab.. At least at the time I developed it.
oh, it uses post data now
Have to set the network tab to not clear on every request.
I think you want to use mods from here instead of my solution: http://www.pathofexile.com/api/trade/data/stats
oh that looks a lot better
At least that's what my comment in my code says above my hacky code ๐
any reason youre not using that list? ๐
I solved the problem that I had and have enough things above that on my priority list? ๐
@waxen musk I wrote about how to use the API here, maybe it can help you ๐ https://www.reddit.com/r/pathofexiledev/comments/7aiil7/how_to_make_your_own_queries_against_the_official/
15 votes and 11 comments so far on Reddit
Nice @obsidian lark - thanks.
We are currently using it as a workaround to price the maptab in Exilence. The only issue is the rate limit... when one has 3000+ maps in the tab and each page only returns 10 items it takes a while to fetch it all ๐
@polar island or @chrome topaz If you wouldn't mind i would be happy to talk about using either of your services instead if that means that we can fetch the items faster ๐
Sorry to be a pest @timid hemlock but can POB please get an AOE radius for "Aura of death" along with a better way to work out links for skills gained from equipment? Working out best gems is harder for them without six linking the item or making a custom group each time (Aura of death as the example) when there isn't an equivalent skill
No, the maptab is not present in that API response sadly so we search for all public maps that a account has using the trade/fetch and trade/search endpoints
wonder what the stat id's are
Yes, thats true
is it possible to subscribe to the API from client side and watch for their tabs?
or thats too much data?
Too much data ๐
the implicitstat_123456 <-- is that a reference to .dat/translation file?
@waxen musk ninja has processed 55 TB of river so far since it started.. (uncompressed - but still).
Hopefully, or fix the ratelimiting. Feels kinda backwards atm when you can do double the amount of requests as a unauthorized user then when you are providing the sessionId
yea but if you make the tab public, listen for a few minutes and stop
yeah ratelimit is ridiculous, you can hit it by just pressing ctrl+end 5 times
You can hit it by just scrolling the official trade webpage to fast, to say get past the first pricefixers :p
yea thats what im saying
scroll 5 times = ban
how does rate limit on the river work?
but you still get all updates that happened since your last request? or how does that work?
Yeah you have a request id that you send along and then get a new one back
so whats the reason to send requests more often? just to get updates faster?
5MB right?
Yeah approx
so if players in aggregate add more than 10 MB of data per second, you're pretty much bound to be behind until it calms down
Yeah.
And even getting to 2 req/s can be difficult since getting a full request takes a few seconds.
wouldn't it be possible to cheat that system though
assume there are 3 shards (there are more, but for simplicity)
So it's basically reading the first couple of hundred bytes of the response to get the next id so you can launch another request.. while then completing the read of the remaining response.
and keeping them in order
123-123-123 is the "current"
if you would ask for 123-99999-99999 you would only get new data from one of them
and then 99999-123-999999 and 999999-99999-123
from 3 different servers
oh so youre basically hoping that the api doesnt go too fast or else youre out of luck?
that sounds awful
you basically will be "backlogged" until it players calm down
I don't mind so much for my site, but it causes trade lag sometimes
I hope I didn't open pandoras box with that shard thing up there
so in theory if blizzard shuts down D3 or something, trade sites/ninja will stop working completely?
No worries @simple ravine I already opened pandora's box with my dps thing.
dps thing?
assuming the dps calculations on ninja builds
oohh
now watch people gimp their builds to get the maximum leaderboard dps under unreasonable conditions
Turns out people have opinions about how big those numbers should be ๐
if i equip 10 different auras, they will probably all be considered even though i cant support them? ๐
If people want to tooltip warrior and gimp their characters to hit the random 24 hour sample point every day.. be my guest.
That's pretty darn cool rasmus
picks every damage node on the tree
I finally retired my own dps calculator in favour of pob
Yeah thats just crazy ๐
wait you run PoB headless, rasmus?
Yes
you need to show me how you do that
There's a lua file for it in the repo
from .net that is
i guess you could just run the relevant bits of lua?
do you run it though pob to get the dps?
I do run pob yes
how do you interop it from C# tho?
that's what I want to know
i'd like that for my Discord bot
I wrapped it in an http server ๐
hah!
run lua in a separate process, or find lua interpreter for C#?
Run lua in a seperate process
if it works, it works
I'm running multiple
i mean both would be options
I can do about 0.25 megapob per day.
and have process just about 0.7 megapob in total atm
so 4 PPS (pob per second)?
Yeah just about
yeah a simulation would be an order of magnitude slower
@fickle yew thanks, gotta check that out!
luaJIT is significantly faster than interpreting it head on?
so how do you feed it the build and get the data out?
loadBuildFromJSON i assume
I must try this when I get home.
I wonder if you could compile this into C and then P/invoke it
compile POB?
pretty much yeah
what i mean is if it's possible to compile that headless thing into a .dll
if you get that to work let me know
right back at ya ๐
Im gonna take a look at it when i get home aswell, let me know if you two have any progress :p
@obsidian lark if you just want all the maps a player has currently on sale my app tracks that
which app is that?
anyone found a workaround to grab maps from private stashes?
poe.watch
nice
i like the mystery ๐
i suppose
unfortunately people will find you anyway, @polar island because of ur username ๐
@deft jolt You for real now? That would be amazing!
oO
๐
i don't actually store the account name/stash id
but the crc32 of it
since collisions don't really affect me however seldom they are
anyone check out the updates I did to poeaffix?
to give you an idea, account names collected from the past 6 months have 7 collisions
any plans to add item descriptions or wiki links catnib?
that would put the number of account names at about 250k? @deft jolt
yeah but they're not on the urgent list @steep latch
197935 account names to be precise
wait
i messed up, i was looking at the wrong server
6 months, 480 000 account names, 30 collisions is the correct metric
is there a tool to track income?
A lot of people report CurrencyCop not working though.
thx
@wind garden no we don't do any special handling of white sockets, it would be a little complex to add as well
aww
makes it really difficult to search for corrupted chest pieces with specific socket colors
yeah it definitely seems useful, I'll note down to do some investigation
ok, thanks
@compact isle Whats the reasoning behind allowing double the requests towards the trade/fetch endpoint to unauthorized users as compared to users who are signed in (using the sessionId cookie)?
by IP is less specific, not more
otherwise universities would always hit the limit, for example
being logged in provides more features in return
does that mean if I log out I'll have a less restrictive limit?
yes, but you'll lose the features of being logged in
but that doesn't affect live search does it?
i can still search for items when logged out
appears that way
live search requires you to be logged in
but fetching items from the search doesn't
Ok i see, that makes sense, thanks for the answer. Have you every tought about increasing the limits? They seem kinda low to me. I have ran into being rate limited by using the trade site as a normal user multiple times, just by searching and scrolling.
same
give the users an inch and they take a mile unfortunately
just whitelist the two of us ๐
we had a guy create like 50 new accounts to get around the rate limits
lol
isn't that worse than just having higher rate limits?
any why would anyone need 50 accounts
40 live searches isn't enough....i need......2000!
we did raise the item fetch rate-limits recently
Did you guys see the PoE player who wrote a parser to analyze his client.txt file and serialize it into JSON and load into ELK stack?
I'm tempted to do the same but write the parser in python instead
Since I don't know shit about C#
it's funny because that's exactly what we do for our backend logs
Python or C sharp?
At an old job I have a badass network engineer do that with Cisco firewall logs
But I admittedly have very little experience with ELK config
we use python to get them into a logstashable state I think
That I'm familiar with
Well not converting raw text to logstashable strings, but using python to parse through text and json
(I use it for config management of AWS)
Shouldn't be too hard to learn the innards of ELK
๐ nice to meet you all. get-stash-items not returning items for map tabs a known issue?
or maybe I'm missing a parameter.
Trying to get the PoB headless wrapper to work. but getting an error. I figured Lua 5.3.5 didn't work, because of breaking changes, so I tried with Lua 5.1.5:
lua
Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio
> print(_VERSION)
Lua 5.1
> dofile('HeadlessWrapper.lua')
^1Error:
^0Error loading main script: HeadlessWrapper.lua:121: LoadModule() error loading 'Data/Uniques/mace.lua': Data/Uniques/mace.lua:1: unexpected symbol near 'โฉ'
Anyone who could point me in the right direction?
@simple ravine check the encoding, make sure it's like utf-8 with linux newlines
and without BOM
pretty sure a bunch of PoB lua files have BOM which broke for me in the past
hmm, gotta check how it's checking the code out I suppose
but afaik Openarl develops on windows as well, no?
(this is running lua.exe on Windows)
yeah but he uses luajit
(โฏยฐโกยฐ๏ผโฏ๏ธต โปโโป
trying to figure out a way to interop this from c#, the NLua library uses 5.3.5, and apparently that's incompatible
oh yeah, he's also using luajit-only features like bitops
so it won't work with normal lua
you can compile a custom lua and include the bitops module
but i'm not sure how anything works in C# wrt this
went to the luajit website - looks like one needs Mingw or cygwin, and build it yourself?
geez what a cumbersome development experience
the sense I've always gotten has been that luajit is meant more for use embedded in other applications than as a standalone interpreter
ok, so I got luajit built
and now, I get
D:\Code\PathOfBuilding>D:\code\LuaJIT-2.0.5\src\luajit HeadlessWrapper.lua
^1Error:
^0In 'Init': Classes/PassiveTree.lua:23: attempt to index field 'curl' (a nil value)
I give up
ah
I made a parser for PoB XML files as well
that would be nice
@compact isle is it still postgres that's slowing down the public stash api?
postgres was making our trade site slow, not the entire API
ah
we've fixed it making our site slow now though
k, just checked poeapp
it's just poe.trade that's behind
@chrome topaz Zerphi's Heart shows up as 27ex cheapest on poeapp.com and 26.5ex on poe.trade
27ex is the correct price
"This page was generated on search-9."
@wind garden i don't see it
i just changed the price
it's 27.5 now
changed the price 6min ago
the live search dinged right away
so that's working
but the normal search still hasn't updated
hmm okay let me check
@wind garden so it's basically a side effect of how stuff's cached but i'll see if i can decrease the timeout
Sorry for the delay, I'm the one who asked about the map tab in get-stash-items.
It's my understanding that this data comes down in the public stash items feed, but not the individual stash API. Has this been an issue since map tabs were introduced?
Just wondering if I should develop my app to ignore map tabs. ๐ฆ
Looks like the same issue affects the official stash viewer
Eep
That's right, the maptab has never been included in the response from the get-stash-items endpoint. It's just an empty array atm
Okay. I guess I shouldn't hold my breath for that one
๐
Thanks for the info
Side question, is POESESSID potentially unsafe if distributed?
Do they ever go stale?
Answered myself... looks like they are invalidated upon logout
That's right!
still no ailments in poe.ninja DPS calculations? ๐ฆ
Can confirm that map stash tab returns []
The feature is a day old and you come up with still 
Which Postgres Version do you use
@waxen musk Still working on those. It's not as simple as it sounds ๐
Lots of edge cases
whats the harm in always applying chill though?
builds that benefit from chilled enemies probably apply it anyway
shocking is probably bad, since its 50%
@simple ravine Did you ever get around to build any ratelimiting class? Gonna take a stab at it myself otherwise ๐
Nah, been full throttle this week
Aight, just wanted to check before i begun
Anyone know what the radius value is for sextants on the atlas?
@waxen musk Chill is a big boost for Hypothermia.. and it takes a 66k hit on Shaper to chill him. Dunno if that's too much tooltip warrior prevention at first. Might be good to just enable it for now
anyone working on rich presence on discord for path of exile?
because i just finished mine
just cant find right artwork for characters
because discord wants min. 512x512
@frosty coral Is this what you are looking for? https://web.poecdn.com/image/gen/inventory-sprite.png?1548212198000
say I wanted to get info about mods that are missing from both poedb and poeaffix, where would I go?
what kind of information?
if they are suffix or affix, what ilvl is required for them to occur, and where they originate (naturally rolled, essence, delve, shaper,elder, etc)
https://github.com/brather1ng/RePoE (data/mods.json) or extract them yourself from the ggpk
nice, it appears that's your tool, is it up to date? are there other tools you've done?
yeah, it's mine. i'm updating it at least for every major release and a few times over the league (if a minor patch changed something relevant I might miss it, just ping me and I'll update).
besides that I'm working a lot on PoESkillTree atm, which is what I originally created RePoE for.
very cool, someone get this guy a green tag ๐
what are the rules regarding overlays? can i create trading overlays that cover the hp/mp globes
@hazy fog didn't bother to ask you yet, but I think I qualify for the green name (see above)

Done. Someone introduce his work I'm at work on my phone
no u
Nominate u catnib
creator of https://github.com/brather1ng/RePoE as mentioned a couple messages back
Yay, thanks!
cool, do you know how I can tell if something is shaper/elder on your mods.json brather1ng?
you can check spawn_weights for tags that end in _shaper or _elder
34 tooldevs now
Granted like 5 are mods who like to pretend
My tool is managing you tools 
not sure if there's a better way in the data, if it is, it's not accessible via my file
is there a way to discern which item types the item mods can apply to?
you need to check the mod's spawn weights against the base item's tags
if you want to group mods against item classes, you have to derive the minimum set of tags all items of a class have (see e.g. https://github.com/PoESkillTree/PoESkillTree/blob/master/PoESkillTree.GameModel/Items/ItemClass.cs#L64)
so all mods that can apply to body armor have one of the following tags: Tags.BodyArmour or Tags.Armour ?
there are also tags like str_armour so going by item class doesn't get you everything
well that's odd, there are no ring mods in the item Domain that are generation_type:"unique"
spawn weights don't matter for generation_type:"unique". data about which unique has which mods was removed from the client ggpk
hi, is there a limit of the results in the fetch request?
fetch/result1,result2,result3...resultn
(official trade api)
5mb per packet I think
is there an easy way to get an account's character names or do i just gotta scrape the official website's character page?
in the pins
https://www.pathofexile.com/character-window/get-characters?accountName=Novynn works for public accounts
awesome, thanks
@hazy fog So that isn't the case for me, my request is around 120 byte. fetch/request1,request2 works, but at some point I get invalid query as result
result40 breaks, let me go lower.
10 works and is the max value for me, seems strange.
pretty sure they were asking about trade site, not trade api
Like I said, my request is only around 120byte, I don't hit this limit
regardless that's what my 5mb referred to
ah yes, sorry. ๐
with another search I can request more than 10 results. Strange.
data about which unique has which mods was removed from the client ggpk
wow that really sucks actually. and i was curious how do you even look that stuff up
it's manually assembled with hints from the mods.dat and translations files
There's kind of a database of fields referring to each other in there.
But very much an incomplete picture.
well, yeah from a technical point of view it's a pity... but it's a way to prevent spoilers
my friend had an idea of making a tool that checks how probable it is to have perfect mods for each unique. but since you can't really get the mods easily from something like RePoE's mods.json it's kinda unfortunate
i guess he could scrape poe.ninja or smth
PoB has a file, which isn't in json, but you could write a parser for it. You can also get the mods from the Wiki
which has the mods in there (the actual modifiers, and not just the stat lines)
could you elaborate what the difference would be, i didn't really understand that part
also is it https://pathofexile.gamepedia.com/Windripper ? it seems to be having some issues atm hm
like this is what im seeing
yeah i've found the files PoB uses for uniques. thanks for the suggestion
I think the Cargo API returns modifiers (not sure, likely someone else can answer this, but I believe I have seen the actual modifier names in there before)
yes, that windripper infobox uses the real modifiers and then spits out readable stat text. No one really cares about about modifier ids so it's not shown on the main page, but it's available for cargo querying.
@compact isle with Patch 3.6 remove DX9 support, will .dat removed too?
32-bit is still supported
this tool i'm working on (that generates items and shows probabilities) produces some fun results
neat
Fancy. Id dig a delve crafting result tool
Is the wiki list on beastcrafting up to date? (don't have a game client here to check..) https://pathofexile.gamepedia.com/Beastcrafting
Looks like my indexing of beasts is way off ๐
poedb seems correct, idk about wiki
how did ninja manage to snapshot my character with a wrong skill ๐ฎ
it's in read only mode right now
this further validates my suggestion that we should have a git repository in json format with the uniques
wiki has its own issues, and i understand people maintaining it don't fancy updating things on multiple places, but unfortunately it has oftentimes issues (disregarding why, that's not important in this topic)
i have a json of all uniques but its from 3.0 or so
like, all versions and the stat IDs used
if it was centralized with people updating it, that would be amazing
@polar island does poedb have uniques with Mod ids?
@waxen musk gotta be mod ids, because stat ids don't have the limits, mods have
no
stats don't have tiers
mods does
and stats are re-used
so in order to determine the range of that unique's modifier range (i.e. IIQ on Ventor's) you will have to find the correct modifier used for that particular ring
yes but mod IDs get outdated
while stats dont
legacy items dont have valid mods anymore
so its a list of stat -> range
plus converting stats to mods is ambiguous and since we dont have the source data (or do we?) we can only guess for most items
who do I need to ping for pob again?
@timid hemlock I think I need to ping you, sry if not.
https://pathofexile.gamepedia.com/The_Devouring_Diadem
This item isn't in pob yet. Is there a reason for it?
Delve are in
ah kk
Would be cool if ggg wrote out the item names in the log instead of posting _ for linked items
true
quick and dirty chat challenge searcher in py: https://gist.github.com/FWidm/a28201a2b77ec882d4a1db4ca4cc72a1 -- if not on windows remove the beep line and the import
what's the rate limit for pathofexile.com/api/?
you can check the request-headers
depending on endpoint, /trade has different rate-limits afaik
Oh, thanks - I missed that
nice, thanks for adding chill ๐ @fickle yew
Temporary blanket chill until I come up with more elaborate rules.
Starting to look good ! (it's a metaphor, I know it's visually an agression for the eyes :p)
nice
stop hatin, start participatin
yeah ferret where is your tool
where da sauce
closed source 
someone wants to see your tool. don't miss the opportunity!
this is a potentially stupid question but, are we allowed to predownload patches? i realise they are uploaded in the poe CDN
asking because my stupid ISP throttles download speeds at the time patches usually happen
"predownload"? i mean there are usually torrent files for that, no?
but only for big patches
Is there a way to access the trade API to look up list prices for a given item?
I'd like to make a tool to quickly look up price difference for a bunch of items... like which breachstone to upgrade, which skill gems to level/vaal, etc
without 1) repeatedly doing the same thing and 2) having to perform like 200 searches or however many gems there are
That'd be difficult
Fortunately there's a couple of 3rd party sites that process all that data for you
There's poe.ninja and poe.watch
Though the former doesn't have any api documentation
Maybe https://api.poe.watch/get?league=betrayal&category=gem is what you're looking for?
it doesn't, I just sent rasmukl a message on reddit... I didn't know about poe.watch though, that may have the data I'm after
funny how I randomly bought a BV gem earlier this week to hit with a double corrupt... turns out I got the 3rd best gem to do that with
VRF being #1 I'm guessing
I mean, there's no vaal molten strike gem
anyway thanks for the hint!
np
oh. that helps..
@hushed relic your link in this thread https://www.pathofexile.com/forum/view-thread/1906791 leads to a non secure version of filterblade which doesnt allow you to "load" save states
this one
not important just thought i'd let you know
Is there any restriction on the data extracted from ggpk you can release ?
I4m planning to do a release of my tool w/ an extract of Mods.dat (and some other related crafting-dat), and would like to avoid any trouble
https://github.com/brather1ng/RePoE has done the same thing, and afaik it's been ok
Wiki has a list of mods for all uniques right?
is there a way to reproduce how poe generates rare items' names?
probably? isn't it just random words from list+ random words from list?
they're random yes
hmm is something off with ninja's map cost calculation? there's one vaal temple for 17c, one for 18 and rest are 20+, but price is shown as 17c
they're random yes but they are picked differently for different bases etc
like a bow can never have "locket" or "noose" in its name like amulets do
seems to me it's [a random adjective] + [a noun that is strictly limited to item base]
have you tried looking at the wiki https://pathofexile.gamepedia.com/Item_affix
oh i found it here: https://pathofexile.gamepedia.com/Rare_Item_Name_Index
๐
can't see that on the page you linked though
linked the wrong one. it was for magic items
That list is outdated btw
anyone knows how exactly sanctified fossil works? specifically the High Level modifiers are more common line
Items have Modifier Groups
Modifier groups have Modifiers
each Modifier has a Tier
each Modifier has one or more Stats
A Stat is each line you see on an item
Most Modifiers have 1 stat, but some have more
Each Modifier dictate the range of the Stat's value.
Example:
Rings can have +#% Fire Resistance. From 6% to 48%
The range depend on the tier of the modifier that has been spawned on the Ring.
1: 46-48
2: 42-45
3: 36-41
and so on
High level modifiers likely mean you have higher probability of getting a high tier modifier
@timid crest
thanks... i was asking what exactly is "high" (how high? ilvl 60+? ilvl 80+? just best tier?) and what exactly is "more common" (900% more common, like most other fossils do? 300%? 500%?)
ยฏ_(ใ)_/ยฏ
it's just you can see most of this info for other fossils at https://poedb.tw/us/mod.php?cn=Delve but it says nothing about sanctified fossil
not possible
@compact isle Is there an endpoint to determine someone's username given a session or token?
https://github.com/Gloorf/POECraftingShenanigans wooohoo first release
Tier isn't a thing in data. There a field which is used for the advanced item info display though
level requirement is part of the mods though
@timid crest the rare item name generation is in Words.dat. Wiki list hasn't been updated in ages
Well, if you look at the mod names in the groups, they indicate tiers
They're 'inverted', and IIRC, PoE showed 'inverted' group numbers in the beginning for advanced mod information, and then conformed to community conventions
No, advanced info showed the community way from the start. Happens to be dumb though
My random guess is that the highest tier item get up to 10* weight (since it's the common modifier for fossils), and the other mods get a proportional multiplier
but without spamming a lot of them, there's not much you can actually say about sanctified
Groups don't necessarily contain modifiers that grant the same either. The mod id can be an indicator yes, but since it's just an ID it makes no sense that the game uses it in way that is relevant to "tier handling"
yeah, it's probably more likely to use the level requirement
looking at DelveCraftingModifiers.dat sanctified sets just a flag so testing would be required to find out how it works
If I was to test this, I'd probably try to use some low level items that can't roll too many mods so you have less variance in the results and need less fossils for testing
though it probably is best to test items with various item levels to see how it works
If I recall correctly, I grouped them using required level indeed
omg
IT is dropping support for TeamCity, GitHub, TFS, and TeamForge in favor of GitLab
Clicks Setup CI in GitLab
Gets met with a blank .yml file
good luck!
excuse me if I find it insane that a company of 100k employees would just assume everybody can afford to migrate their entire CI infrastructure to a new platform like GitLab
good to know its not only like that for smaller companies
we had the memo to abandon an old client we still have to bugfix because they didnt want to support bower with bamboo agents
what's also insane is that they've picked dates for the EOL
but haven't told anyone....
we've only found out because we were asking about it
I'm just gonna get authorization to put a server in one of the local datacenters and host our own CI
screw IT
thats what we did too
๐
turns out its even much faster than bamboo on our small integration server
it's just mind boggling that there's someone that short sighted able to make decisions on a corporate scale
without asking anyone who would be affected if it would have a negative impact
tldr people dont give two fucks sometimes
I guess this is the same company that cut 1/5th of it's employees based on their most recent stock allocation.....
nevermind whether projects might fail to meet deliverables because a critical employee was let go by an algorithm
we had the fun of not being able to deliver an important bugfix
because the one agent able to run our build was disabled
man, speaking of not being able to run
you know win 10 is on this cadence update schedule now
but at work we have to have all our antivirus stuff installed
but the antivirus has to be updated to support new win 10 updates
bi-anual updates
usually in march and september
so what happens is you can't install the win 10 update because the antivirus is out of date, but IT doesn't update the anti-virus
so you get perpetually hounded by windows to update itself
but you can't....
i'm not even sure we can use linux on the network anymore without special permissions/setup
because they use certificates to validate authorized systems on the network
so you can't just plug in any old system
but they also don't give out the certificates
only install them on IT-owned systems
which are of course windows
sounds shitty
I just run linux in a VM
and NAT my network connection
or I have to rummage around in my certificate store to find the correct cert to copy to my new system
it's not impossible, but any normal employee wouldn't know how to do that
and IT won't help
because if it's not already running an IT build of windows, it's by definition not their problem
Itโs rather late, but are anyone here at FOSDEM?
sounds like our organization
oh, all our traffic also goes through the entire frigging europe out through firewalls in netherlands
and then back into sweden or wherever
where they filter traffic
they also tried for a short while to MITM-style decrypt all SSL traffic
and re-encrypt it after inspection
there seems to be a bug in POB, it shows that unnatural instinct covers the 10 dex node below harrier, but it doesnt
nvm it was already reported
i looked for where extra dex was coming from for hours once lol
well maybe not hours but there was a lot of asking around
yeah i was surprised that taking that dex node lowered my POB dex
also @fickle yew seems winter orb is set to 0 stages for DPS calculations
@fickle yew https://poe.ninja/challenge/builds/char/talonaus86/FeFiFoFun?i=0&search=skill%3DBlink-Arrow%2CMirror-Arrow shows player stats, could you add a toggle or display the higher value?
@grave wren haven't done any minion stuff yet.
ah i see
But almost have RF ready
And shock for elementalist with enough shock effect
Spectres will be near impossible I think.
@waxen musk I'll get that fixed. I think I mistakenly thought that it wouldn't affect dps when going through skill parts. But it does increase frequency.
yea it triples the dps
btw how does it update characters? i click on some account links and it shows naked characters when ninja shows them with gear
@compact isle I noticed there is "Authorized Apps" now, being away, how do I get access to have one of those
@waxen musk I stop updating characters if I detect that they're looted.. People often remove gear pieces from level 100 characters or when they start a new alt.
Then I just keep the last non-looted version until they're not looted anymore.
so its just if they have too little gear on? if i put xp gear on, it can still be detected as a "real" character?
can anyone clarify where does "Stock" property comes from with request against https://www.pathofexile.com/api/trade/fetch
My bad was missing deserialized object.
are there files that list drop locations for div cards, or how does this work? https://poedb.tw/us/item.php?cn=DivinationCard
@waxen musk yes. only if you start removing gear.
neat exception ras
@hushed relic haha yeah. imagine the amount of applications that started throwing exceptions due to certificate validation errors ๐
they had to revert pretty quick
imagine a better part of a 200,000 people workforce not being able to do their job
@simple ravine jesus
that being said, I think the ones who understood the implications
that there's a security breach and potentially a major corporate infection/espionage
and potentially went all haywire
were probably the more interesting ones
yeah... wonder if it's even legal to do that to their employees
Hey guys, I'm not sure if this was answered earlier but is it permitted to pre download patches from the cdn
There's this really annoying issue from Singapore where patch servers would bug out
Hit 2% and repeat from 0 again
we answered that as far as we know they're literally not uploaded to the cdn early
Thereafter?
That's OK if we cannot download early
What I'm doing is grabbing the links manually off the manifest logs and manually downloading them, replacing the old files
I know some games will have an additional step of appending integrity checksums in the updates files and auto banning accounts which have different files so I just wanted to make sure
Sorry if this is a dumb question but recently we've been having a ton of trouble patching
There is a way to download new versions of the files which goes into the ggpk
but you would have to be able to patch the ggpk yourself
umm POB thinks that warlords mark ring makes my build require 121 strength...
@waxen musk div card locations were manual input
ah ok, so i can't rely on them ๐ฆ
uuh why does ninja show level 93 characters now? did they expand leaderboard or how does this work?
@waxen musk I index all 3 ladders now.. Exp, depth and depth solo.
I also updated the FAQ page ๐
@fickle yew It's still the same ladder tho, just sorted different ways? Or does different players show up based on the sort attribute?
Hmm, gotta check that out then.
It's basically 3 ladders rolled into 1 based on the sort attribute.
Wow, ok and the rank is also based on the sort attribute then i guess
I was considering whether to treat it as 3 ladders on my site too.. But currently I just combine them and go with the "top X most achieved players in league Y"... whether that be exp or either of the depths
I see, we will have to do something similar!
Character api is rate limited.
But doing it through the river works pretty okay. Before the rate limits were added ๐
@fickle yew something weird is going on with "The Taming" right now
if you look in the json api output here: https://poe.ninja/api/Data/ItemOverview?league=Betrayal&type=UniqueAccessory
You can see the price is listed around 700c
which is like 4ex
but on your main site here: https://poe.ninja/challenge/unique-accessories
it's listed as 1.5ex or 279c
i tried clearing my cache
think it's on his end
incognito shows the same
1.5ex
1.5ex is the correct price
look on poe.trade there's a ton for sale around 1.5ex
not price fixing
Seems to be corrected now but we get these reports from time to time in Exilence aswell since we fetch the prices from poe.ninja. It's really visible when our networth graph suddenly jumps by a couple exalts or more without any change in items.
Seems to be right for me?
probably cache then
Yep. says cloudflare as server in the response headers ๐
btw @obsidian lark did you guys figure out a solution for the map listing thing
@wind garden That looks peculiar. It almost fits the Standard price..
@wind garden Can you check now? Cleared the cache. Just to verify if that's the issue.
@deft jolt Nope, stuck our head in the sand and worked on a spectator mode instead :p
@fickle yew Price jumped to "chaosValue": 371.36 for me
Did someone post a build with it recently though? Cheapest ones I see on trade sites now are 320+
Berek's Respite is also going hockey stick atm
So I'm guessing something happened that increased the value. Doesn't explain the 700+ though.
371c seems fine
about the same on my site https://poe.watch/prices?category=accessory&league=Betrayal&search=tam
@fickle yew i've seen people complain spiking prices from time to time
they get fixed within a minute though
I'll review the cache settings. Thanks for the heads up @wind garden
np, thanks for checking on it
I cleared my cache again and verified
it's saying 2ex now
@fickle yew ah the API is correct now.
must have updated a bit ago
"chaosValue": 371.36,
matches what's on main poe.ninja page
Next time if you can grab the entire json and send it to me..
I can do you one better
i have the old json sved
line 233 has the chaos value of the taming at 748.15
Thanks

