#tooldev-general

1 messages ยท Page 133 of 1

grave wren
#

Also disagree and those two incidents are very different

#

I am not saying you can't make mistakes

#

But you being that neglectful to even think about consequences should never just be blamed on management

frank drift
#

he wasn't neglectful, he was doing his job

#

in exactly the way he was trained to do his job

grave wren
#

How is it not neglectful to write a script that generates random imeis that are used to block phones

frank drift
#

because that's his job

grave wren
#

Yeah that goes nowhere disagree

frank drift
#

blaming the guy misses the point completely

#

guarantee you that you or anyone else in his position with his training wouldn't have done any better

grave wren
#

I also blame the guy

#

Can also guarantee I test that stuff with a single entry before going all guns blazing on prod

frank drift
#

you would not

#

keyboard warrioring it after the fact is easy and tempting though

worthy cape
#

Maybe they read and misunderstood a StackOverflow article on how GUIDs and large hashes "don't collide" and applied that to these identifiers? ๐Ÿ˜„

somber tapir
#

Is there a way in pob to update gem stats? I noticed some of the awakened changes are not yet active in there

hazy fiber
somber tapir
#

Wasnโ€™t sure if there was a manual way but Iโ€™ll just add the new bonus to gear to make it work for now

worthy cape
#

Friend LocalIdentity did a manual pass based on release notes and textual gem info last league.
"Never again" I believe the verdict was ๐Ÿ˜›

#

@somber tapir Note that there's a field in Configuration that lets you type in any random mods you want.

somber tapir
#

Thanks

velvet fog
#

This DOES NOT include support for the new gems. Those will be added on the 3.16 release day and after.

grave wren
#

We Poe players can't read templarthumbsup

velvet fog
#

pob should add an application tooltip to tell users not to ask for new gems every time they open

grave wren
#

"please write the line $randInt from the patch notes to agree to the usage license"

worthy cape
#

Leisure Suit Larry-grade quiz on whether you're an adult on startup, but for developers.

#

I almost wish that one of those PoB ZIPs passed around on cloud drives would actually have beningly malicious code in it, just to teach people some security hygiene.

grave wren
#

Bad zao

#

But yeah would be better to teach them that you just need to switch to Dev and download the zip

#

Or I guess not because people would report bugs for unstable versions

worthy cape
#

It wouldn't surprise me if people are running into issues now due to having builds touched by possibly unstable intermediary versions.

velvet fog
#

someone write a dev version readme

worthy cape
#

Current disclaimer is more about "did you make a wrong turn somewhere?".

grave wren
#

Seems clear enough

#

Maybe add "there be dragons" in red slothpeek

long sky
grave wren
#

Maybe then the solution would be nil

empty venture
#

I'm confused

tawny agate
#

Binary convertion is hard

empty venture
#

somewhere around 2 min mark they mention that its actually a "seo in beyond 100 seconds" ๐Ÿ˜„

grizzled seal
#

intended playback rate: 7x

simple ravine
# frank drift you would not

Completely agree with @grave wren on that discussion. You just don't fuck shit up. Either you like your job, or you get another one, especially if you're qualified for that kind of job... but one thing you don't do, is being neglectful.

worthy cape
#

What's strangest to me is the prevalent fear of getting fired for making mistakes.

#

Shit happens, you learn and fix your routines. If you're not actively negligent and things break, that's on your processes.

simple ravine
#

Yes, making mistakes is a whole different story.

worthy cape
#

Whenever there's a "post mortem" like this from the US, there's always a prevalent thread of "imma get fired"

simple ravine
#

However, when mistakes happen (and should be allowed without the fear of getting fired etc), should come with introspection and learnings.

grave wren
#

Yeah unsure if I wasn't clear but obviously I am not perfect and make mistakes but they're on a different scalie due to different views

worthy cape
#

Great way to get people to mask accidents that no-one noticed.

simple ravine
#

Right. At the same time the notion of blaming the organization and/or management is to me slightly outdated

#

Then again, it's kind of interesting how the system even allowed to sink all those phones

#

Where are the checks and balances in that system? ๐Ÿ˜„

grave wren
#

I don't think Telco has many of these

simple ravine
#

"Do as many mistakes as you want, as long as you learn from them and don't repeat the same mistakes over and over again" is kind of a pretty decent mantra

simple ravine
#

at some point you ought to run out of mistakes

#

but yes of course

rain pasture
tiny cargo
rain pasture
grave wren
#

Maybe it was his cat

hazy fog
#

@simple ravine I choose you

#

can we kill off breakout and just have you use threads if you ever need ot breakout?

worthy cape
#

Not sure if there's any information to persist in there since the bundle thing, but most of it should be codified in docs by now.

hazy fog
#

k I thanosed it

#

well as far as you can see anyways

rain pasture
#

moved it into the ferret hole

hazy fog
#

nothing ever gets deleted

#

nothing

rain pasture
#

glad I'm not the only one with one of those XD

hazy fog
#

every move you make every key you tap we'll be watching you CLe_StareW

oak estuary
#

poe-reddit-meeting-202? emote-archive? questions-overflow? I'm not a regular here, but consider my curiousity peaked

hazy fog
#

used to be 4 questions channel
we store all our old emotes
there was a reddit meetup at exilecon

#

I think lab was the first ever retired channel

simple ravine
hazy fog
rain pasture
#

this travesty of an API I'm working with sends a 200 with a body of {} instead of a 204.

worthy cape
#

How nice of them.

#

Would've expected an error key in there.

#

Oh, 204... don't even know what that's off-hand, "no pony"?

compact isle
#

204 is success without content

rain pasture
#

204 No Pony sounds pretty nice

#

meanwhile their Delete User call does send a 204. but you have to call it once to deactivate the user and again to delete them, information that would be terribly useful to have in the body ๐Ÿ˜›

rain pasture
#

so who's going to write a bot that automatically replies to messages that link to fandom with the poewiki link? ๐Ÿ˜‰

wild moss
#

Hey, does anyone know where to get a full list of item categories?
on the trade site, they have such filter.
Type Filters -> Item Category
https://www.pathofexile.com/trade/search/Standard

But when i receive item props from account stash api GET /stash/<league>
there is no category prop.

In type definitions for item they mention extended prop, which suppose to contain category, subcategory and affixes, but i am not getting it.
https://www.pathofexile.com/developer/docs/reference#types
Maybe there is some hidden param i can add to request?

hazy fog
#

bot? aPES_Think

#

I wonder how hard it is to write a regex with what they posted replaced with poewiki

#

we could add a censor

rain pasture
#

not very XD s/pathofexile\.fandom\.com/poewiki.net/g

hazy fog
#

I fuckin did it

#

if you want to force people on your server of choice that uses blargbot here's the command !!censor add pathofexile.fandom.com -d {replace;{args;0;{argslength}};pathofexile.fandom.com/;poewiki.net/}{newline}{newline} The Old fandom wiki is no longer maintained please use the new community wiki instead, thank you. -w 0

rapid pagoda
#

do we still have the fandom reps in #wiki or did they fuck off

worthy cape
#

Does this proc on other languages like Russian?

hazy fog
hazy fog
#

there are russian urls?

worthy cape
#

I donโ€™t remember how that all works but the new one only has English content yet I think.

hazy fog
#

shrugR blyat this is english server

frank kayak
#

korrekt

hazy fog
#

do you want to get cheeki breeky komrade

frank kayak
#

?

pallid doveBOT
hazy fog
#

life of boris meme

worthy cape
#

Like say someone has a discussion with someone in English because itโ€™s the server language but wishes to link a Russian page.

hazy fog
#

I reject your contingencies

worthy cape
#

Anyway, just wanted to mention it, your choice ๐Ÿ˜„

worthy cape
#

Informed decisions ftw.

golden bane
rapid pagoda
frank kayak
#

post-metal yes

#

and a lot of other metal subgenres

velvet fog
#

I can feel that, poedb was censored by r/pathofexile for years

golden bane
frank kayak
#

hmm i did find one or two interesting tracks on youtube but not really

#

mathcore ร  la Protest the Hero or Speed/Thrash Metal like ZnรถWhite (Act of God was great)

#

Symph, folk, ...

#

i really should go sleep... - gn

golden bane
#

I see, you and I have quite different tastes then. gn

sleek nacelle
#

niche example to use for speed/thrash lol

rain pasture
#

pathofexilezfandomzcom

rain pasture
lunar crypt
hazy fog
haughty steppe
#

Aight does pob github have a certain readme for sending merge requests

#

I fixed this stupid thing

golden bane
haughty steppe
#

aight

long sky
dense shore
molten hatch
#

where do i find gem numbers in pob files? i'd like to change shield crush numbers to see the dps loss

velvet fog
molten hatch
#

found it there, but my non-programmer brain cant comprehend it; how do i lower its base damage?

#

Shield Crush now has a base Attack Time of 0.8 seconds at all gem levels (previously 0.85-0.76 seconds). Now has 3 to 4 Added Physical Damage per 15 Armour or Evasion Rating on Shield at gem level 1 (unchanged), up to 5 to 7 at gem level 20 (previously 4 to 6). Now deals 4 to 6 Base Off Hand Physical Damage at gem level 1 (unchanged), up to 172 to 258 at gem level 20 (previously 286 to 429).

carmine merlin
#

can also change the attack time value to be 800 to match the new time of 0.8s

molten hatch
#

thanks

#

its better than i anticipated tbh

#

went from 15.6 to 15.1 without any changes made to the base shield armour

worthy cape
#

Skill definitions are in that lovely intermediary format closely aligned to the source data, which is further interpreted by calcs. Kind of why it was a royal PITA for the manual implementation from notes last league.

haughty steppe
#

I am trying to fix the shaper of storm more multiplier without a bandaid patch which hasn't been working since January. There is a function that calculates it perfectly in calcOffense which is "calcLib.mod(skillModList, cfg, "EnemyShockEffect")", this correctly gives back the shock value, taking into account the more mod conditionally to lightning being the highest damage. In my case, I have 130% shock bonus, which is 2.3 multiplier * 1.25 = 2.88, as it should be.
The issue is in CalcPerform, the "function" that calculates the output.CurrentShock, which takes the greatest value between either the amount of shock you've put in configuration or your guaranteed shock value. In this file at line 2689, it uses "1 + modDB:Sum("INC", nil, "EnemyShockEffect") / 100" to calculate shock effect multiplier... which obviously ignores the more modifier from shaper of storms(and is a replication of the math anyways), but for some reasons, if I call calcLib.mod(env.player.mainSkill.skillModList, env.player.mainSkill.skillCfg, "EnemyShockEffect") in calcPerform, it returns 2.3, instead of 2.88, meaning there's some context I am obviously missing

#

After further digging, in the context of calcOffense, modStore:More(cfg, ...) is returning 1.25 (as it should) but is returning 1 in calcPerform

civic crane
#

@simple ravine azure fn to update game version died

carmine merlin
#

@haughty steppe sent you an inv to the PoB discord. People there might be able to help

simple ravine
#

Oof will check

worthy cape
#

{insert Azure/MS poking-fun-of here}

simple ravine
#

probably has to do with patch server changes

simple ravine
#

When your powerpoint got out of hand...

grave wren
#

144hz powerpoint?

empty venture
#

154 slides? I hope they aren't full of text like some ppl do

worthy cape
#

Andersen is a Cloud Enterprise Solution Architect, all they do is bubbles and arrows.

hazy fog
tawny agate
#

@compact isle Do you know if the new percentile roll is common for all defence types of hybrid items?

Otherwise, this is calculated to be the average percentile of all base defence type values.
The wording is a bit scary

tawny agate
#

The documentation

long sky
odd sail
#

anyone know under what conditions Off Hand Accuracy is equal to Main Hand Accuracy while wielding a Sword applies? Must I be dual wielding swords? must the main hand be a sword? does it work if the main hand is an axe but the offhand is a sword? In all 3 cases I am wielding at least 1 sword

compact isle
tawny agate
compact isle
#

right okay, I'll put together an example soon to clear up any confusion

oak estuary
#

A sample copy/paste of an item would be ๐Ÿ”ฅ

compact isle
#

for what part?

oak estuary
#

For the defense variation percentage (can't remember the term right now)

compact isle
#

oh hmm that might be on the advanced text

#

but the percentage isn't represented otherwise

oak estuary
#

Hmm, okay, so we'll have to just compare the total value to the base + mods?

compact isle
#

so the percentile is the average of those rolls in their brackets and might change slightly depending on the ranges that can roll but should still be sufficient for determining "goodness"

tawny agate
compact isle
#

Ornate Ringmail
Armour: (259-298)
Energy Shield: (54-62)

#

if you get a roll of:
Armour: 293
Energy Shield: 61

#

that would be 87%

tawny agate
#

Ok, i'm wrong from the beginning, sorry

compact isle
#

the armour / ES rolls are affected by the same "perfection roll" so you couldn't have Armour: 298, Energy Shield: 54 for example

tawny agate
#

Ok, it's good ๐Ÿ™‚

#

I didn't understood the default value, I was thinking 100 being the "old" static value, 110 the new perfect for armor/eva, 120 for es

#

Having directly the percentile of perfection is of course easier and logic

#

The "For equipment" was misleading to me, I don't use "equipment" for "item without defense value" but the rest of the phrase make sense so idk, probably my fault anyway

compact isle
#

equipment is a new terminology this league so it's natural that it's unfamiliar ๐Ÿ˜„

tawny agate
#

I think the first phrase mislead me too
This new roll was introduced to us as "extra" defence, so "Filter by base Defence percentile." was intuitively a 0-1[12]0 range to me

#

Anyway, the implementation is good, the league is saved, thanks for your time ๐Ÿ™‚

snow whale
#

where do you grab the new* tree JSON from?

civic crane
#

@compact isle omg, all filter options on trade are now of type number instead of mixed string/number ๐Ÿฅณ

simple ravine
frank kayak
civic crane
frank kayak
#

i thought you meant that a field type changed its type from string to number

#

the abyss socket did not fit in with the others and was a bool while the others were strings iirc. was a while ago though

mortal bone
civic crane
#

oh no no (see what's wrong?)

#

and new skilltree confirms it ๐Ÿ˜„

mortal bone
worthy cape
#

I see you also found the shortcuts ๐Ÿ˜„

#

The ones with three notables are extra fun.

mortal bone
#

perfect ๐Ÿ˜„

#

also, there is a problem displaying the "connected" mastery icon

#

Thankfully I got github actions setup so I can build/deploy without manually deploying the site

empty venture
mortal bone
#

I am hoping for new assets when the site launches

#

They had some really nice looking assets I'm the launch preview

empty venture
#

tbh to me the new tree is a little bit too modern, too much rgb rainbow ๐Ÿ˜„

mortal bone
#

turns out pathing is really hard when I don't make everything in/out ๐Ÿ˜„

mortal bone
#
        "36542": {
            "skill": 36542,
            "name": "Intelligence",
            ...
            "out": [],
            "in": [
                "4397",
                "37569"
            ]
        },

is a good example of how badly the outs/ins are done...

#

according to the tree, you can't path through this node...

#

how many day one bugs are we going to find in the tree ๐Ÿ˜„

empty venture
#

hmm... maybe u should take into account if something is a mastery or not? "a node needs to have at least a single taken neighbour that isn't a mastery to be able to take it"

#

or what is the issue you're trying to solve here? ๐Ÿ˜„

mortal bone
#

Yeah, I was just hoping that a generic path finding algorithm would take care of this...

#

but seems like that isn't the case

empty venture
#

why would anyone want to path through there anyway? what a weird idea

mortal bone
#

it is really common

empty venture
#

just take the right path and you will be fine... gosh, ppl have problems this days

#

๐Ÿ˜„

velvet fog
worthy cape
velvet fog
#

Hellscape

rain pasture
#

Big fan of hideout doodads

velvet fog
#

oh..QuestRewards is back

worthy cape
#

Indeed.

minor palm
#

What am I missing about Rory's BaseDefencePercentile example from yesterday? Shouldn't a roll of 293 Armour, 61 Energy Shield be 98% instead of 87%?
293/298 => 0.983
61/62 => 0.983
(293+61)/(298+62) => 0.983
I can't see how one could get 87% from this example? [Edit: Rory corrected my misunderstanding! The BaseDefencePercentile value measures the bonus faux-quality, not the total base defence of the item. So (293-259)/(298-259) = 0.87.]

Novynn โ€” Yesterday at 7:16 PM
Ornate Ringmail
Armour: (259-298)
Energy Shield: (54-62)
[7:16 PM]
if you get a roll of:
Armour: 293
Energy Shield: 61
[7:17 PM]
that would be 87%

compact isle
#

don't directly divide, the percentile is within the range of the rolls not from 0

#

so Armour: 259, Energy Shield: 54 would be 0%

minor palm
#

I understand, thank you so much! I get it now.

velvet fog
#

=(293-259)/(298-259)

compact isle
#

or in the case of hybrids
=((298-259)/(293-259)+(62-54)/(61-54))/2

#

but essentially yeah

rain pasture
#

I'm so curious about what people are doing with forks of the skilltree repo

#

can I submit a PR to buff my favorite nodes?

compact isle
#

yeah it was the only reason against hosting them on github :/

#

luckily we can block pull requests from non-contributers I just have to click a button every 6 months

rain pasture
#

so I just need to obtain contributor status first, gotcha

compact isle
#

yeah you get this cool red name too

worthy cape
#

Probably has some information distribution caveats tho ๐Ÿ™‚

rain pasture
#

okay google, how do I create a csrf attack

oak estuary
swift beacon
#

Fun fact: it looks like the interface that you use to scourge items is called the "microwave" internally.

lavish lance
#

just need a microwave mtx for the item scourge UI

fickle yew
#

@compact isle Any info on how the masteries will be presented in the character API yet?

compact isle
lunar crypt
worthy cape
#

I hope that internal terms donโ€™t gain traction in the community, as it kind of shines a public light on the stuff that toolies look at when trying to gather the facades intended to be shown.
I like it when theyโ€™re quaint inside trivia and doesnโ€™t throw away actual hard work in naming and polishing things.

#

It kind of also ruins the organic nicknames people come up with when twitch chat and Reddit is full of people trying to inform about the secret knowledge.

#

Iโ€™m a big fan of how Noodle treats anything mined as pretty much non-canon and not intended as part of the cohesive vision.

dense shore
#

ppl don't read the pins anyway

#

but at least we tried

rapid pagoda
#

Although I think the community arrived at the same nickname as GGG for Blade Sentries ("SpikeRoomba")

#

Another weird internal name that comes to mind is "super corruption"

sly bobcat
lunar crypt
#

Why are we flipping communities? /s

#

Good job, looks nice

sly bobcat
#

lol thanks

civic crane
#

realized that my base types use deprecated CDN url

lunar crypt
#

Btw @civic crane I wanted to say that you did a great job on the dat viewer, really good tool

odd sail
#

@compact isle you able to paste the new wording on The Squire unique shield for the modifier having to do with "grants gem quality"?

gilded tree
pseudo ocean
#

Those do nothing in PoB even tho im holding shield

#

What can be wrong?

civic crane
#

red text = stat is not supported by PoB yet, just wait ๐Ÿ™‚

pseudo ocean
#

ah got it

odd sail
#

will be good in next release

civic crane
velvet fog
#

40KB/s ...

unreal solar
midnight birch
#

Anybody have experience with PyPoE? Running the UI with
python __init__.py in the ui folder launches the program, but when opening the ggpk an error happens when sorting

  warnings.warn('Invalid tag %s - seeking next valid tag' % e.args)
Traceback (most recent call last):
  File "c:\games\path of exile\pypoe\PyPoE\ui\ggpk_viewer\menu.py", line 91, in _update_ggpk_model
    self._thread.ggpk_file.directory.walk(self._ggpk_sort)
  File "c:\games\path of exile\pypoe\PyPoE\poe\file\shared\__init__.py", line 556, in walk
    function(**data)
  File "c:\games\path of exile\pypoe\PyPoE\ui\ggpk_viewer\menu.py", line 85, in _ggpk_sort
    node.children = sorted(node.children, key=sorter)
  File "c:\games\path of exile\pypoe\PyPoE\ui\ggpk_viewer\menu.py", line 84, in <lambda>
    sorter = lambda obj: (isinstance(obj.record, FileRecord), obj.name)
AttributeError: 'str' object has no attribute 'record'
civic crane
midnight birch
#

Thank you. Serves me right for not checking this.

civic crane
#

well, I updated tables that awakened interested in. now doing Scourge specific tables

timber path
#

Anyone decoding HellscapeMods or Passives?

surreal quiver
shrewd wagon
#

can someone explain why is it set up this way instead of employing a function of depth?

surreal quiver
#

delve is non-linear, perhaps table is just easier instead of function with ten ifs in it

shrewd wagon
#

by function I mean math function

#

there's plenty of non-linear stuff in math

surreal quiver
#

that is more of the case "if depth > 0": do one stuff, "if depth > 150": do another stuff, "if depth > 600": do yet another stuff

shrewd wagon
#

shallow depths will need special handling yes, but surely it can become a function after a certain depth

surreal quiver
#

at this point, after handling all special cases, why bother

shrewd wagon
#

make it so that time is not the only factor limiting your progress after 6000

civic crane
#

1298361813-1303823249-1259482630-1407101139-1353656797 how about Scourge ๐Ÿค”

timber path
#

There seems to be a typo in one of the stat descriptions: "10|# \"La Prodige envoie tous les Boss en mรชme temps" missing a closing " right after the # and there's an odd blackslash there too, probably that's the culprit?

civic crane
#

@compact isle it should show tooltip isn't it? ๐Ÿ˜„

timber path
#

I simply ignored that line for now (actually just ignoring any malformed stat description line in my case)

worthy cape
timber path
#

Did they mention renaming of fossils? O.o

#

Changed CurrencyDelveCraftingEnchant.names.1 (Original: Enchanted Fossil | New: Deft Fossil)
Changed CurrencyDelveCraftingSockets.names.1 (Original: Encrusted Fossil | New: Fundamental Fossil)

hazy fiber
#

they "reworked" 4 of em

#

those 2 are now crit and atrribute fossils

swift beacon
#

I found it interesting that they apparently changed instead of replaced the scarabs. So the new Expedition scarabs are still called ParandusScarab, at least in some places.

#

Makes sense, but a bit confusing.

civic crane
#

omg ggg ty for adding this duplicate Added Small Passive Skills grant: 3% increased Effect of your Curses

hazy fiber
#

ones for smalls and ones for legacy mediums

#

no?

rapid pagoda
#

just wait until you discover the defensive mechanic concept that wasn't included in expedition

#

oh huh, when did the Traditional Chinese translations sneak in

worthy cape
#

No-one expects the Chinese Translatisition.

rapid pagoda
#

looks like it's new in 3.16

simple ravine
#

nice error reporting on the patch version thing

#

nice.

#

aha, that's what you get for using preview version lol

#

breaking changes

worthy cape
#

You get to keep both pieces.

#

@rapid pagoda I forgot completely about providing DATs and stuff. Index server is coming up milhouse now.

rapid pagoda
#

man, WorldAreas went on a crash diet. 724 -> 554 bytes/row

#

related to WorldAreaLeagueChances I assume

#

ahah yup same row count

rapid pagoda
mortal bone
#

@compact isle when do we get the sweet new tree assets ๐Ÿ˜„

compact isle
#

when we switch to WebGL :p

mortal bone
#

Ah, nice. I am assuming there are some shader effects happening?

compact isle
#

Yep

gilded tree
rain pasture
#

Node is a disease rangerHarvest

#

or maybe it's more accurate to say that JS is a disease, and Node is a poor excuse for a cure

frank drift
#

I'm happy to put all the blame on Node

rain pasture
#

Node wouldn't be filled with so much nonsense if JS had a proper stdlib

frank drift
#

still happy to

blazing current
#

Hey, my friend wanted me to make an app for league that you can run over borderless games, like a trading tool. I'd be interested in doing the same with POE as well.

I was wondering 1) is there a wiki or something for dev-specific can read to help developing POE apps since i'm super inexperienced and starting from zero.

  1. would python, say using tkinter or pyside 2 be able to produce a reasonable gui or should we both learn more JS/TS for node.js etc
rapid pagoda
#

tkinter is a non starter, not sure about qt (pyside)

golden bane
# blazing current Hey, my friend wanted me to make an app for league that you can run over borderl...
  1. There is the https://www.reddit.com/r/pathofexiledev/ subreddit, but it's not very active. Other than that, check the pins in this channel, read the developer docs https://www.pathofexile.com/developer/docs, read the source code of existing tools, or ask your questions here
  2. Tkinter is sufficient for simple overlays. Pyside6 for Qt 6 is out, use that over Pyside2. Learn the language you're interested in, they all let you develop PoE apps
blazing current
#

omg, i didn't checkout the pins mb.

golden bane
#

This is the discord

golden bane
blazing current
golden bane
#

In case you're wondering, this is what you need to make an overlay with Tkinter

blazing current
#

well, i've been looking into different languages and tools so haven't really tried with any of them. From a brief look at the tkinter docs I know part of how to make something transparent but only really how to use the preset themes

#

I'm really new lel. I did use tkinter in an assignment like 6 months ago that's it

#

Also new to discord, just discovered pinned msgs lel

swift beacon
#

Looks like there's version 3 SMD files now.

hollow sorrel
#

Short question: Is there really no guild-stash API, similiar to the account-stash-tab api, or am I missing something?

velvet fog
#

get stash log csv with web POESESSION

hollow sorrel
#

Hmm, that might work... a trip into the hell of regex-string-parsing and item-matching-by-name it is...
... not what I was hoping for but better than nothing - thank you for that suggestion.

worthy cape
#

At least the log is easier to obtain than with my stash-snitch in the past, which had to paginate for ages to obtain history.

mortal bone
#

Technically my website also run on webgl, but using pixijs as a framework on top of that. I should really just learn out to GL and be done with the framework

worthy cape
#

Primary reason for PoB is to get away from horribly broken OpenGL implementations and context creation, but the ease of batching and shaders if you wanted to is nice.

#

Many USB-C docking stations are high on the shitlist, for example.

#

Meanwhile the ANGLE-powered PoB runs well in an unaccelerated virtual machine, somehow.

mortal bone
#

The one problem I have is like the 1.3gb of assets you have to load makes web gl shit itself depending on the browser...

worthy cape
#

^_^

mortal bone
#

Angle sounds sweet

#

Although it looks like it uses direct3d?

worthy cape
#

It uses any number of APIs on the backend depending on OS and configuration.

mortal bone
#

Looks like the only thing it can't run on is iOS haha

simple ravine
#

Imagine doing the same thing, but as a common GUI rendering layer for desktop apps

mortal bone
#

Isn't that what QT tries to be?

worthy cape
#

"Qt", and yep, they have some attempts.

simple ravine
#

I saw SideFX Houdini uses Qt 5

#

is it good though? i think I recall some comments on people wanting to get away from it?

mortal bone
#

Yeah, sorry Qt my phone autocorrected for whatever reason

worthy cape
#

It's an OK platform to lock-in to, but it has its downsides.

#

Lots of NIH stuff for everything from containers to text, some out of necessity, some out of spite.

#

I'd probably go for it if I had to develop a non-game GUI application.

mortal bone
#

Honestly, I just want html and css as my frontend, but I don't want to run something like electron to do it....

simple ravine
#

The biggest problem I have with html/css frontend which would require Electron or similar today, is that you'd have to deserialize->serialize->deserialize your app logic

#

unless you write it all in the frontend ๐Ÿ˜„

mortal bone
#

That is fair haha I think you end up with something like blazor when you do the latter haha

simple ravine
#

Right, and then I'd try MAUI first just because

worthy cape
#

In terms you'd understand, it's as if you go all-in on C# and MS technologies ๐Ÿ˜‰

#

Less dead-ends tho.

simple ravine
#

lolwat

worthy cape
#

Stuff like Qt Quick and the other more declarative UI stuff is kind of like the XAML junk that MS has.

#

While proper Qt is more traditional WinForms-like.

#

There's probably more since I last cared.

#

My exposure to Qt these days is mostly when research software at work felt a need to depend on it and we have to get the bastard compiling.

#

Got to love when a "desktop library" fails to build a component because your kernel headers are too new.

simple ravine
#

Sounds productive

worthy cape
#

(QSerialBus with some low level hardware access bullshit, I believe)

golden bane
worthy cape
#

JUCE seems popular too.

#

There's not really much choice if you want to write GUI software, especially if your artistic users think that macOS is still good.

golden bane
#

I've written a few applications using the official Python bindings for Qt by now, and it's pretty decent

#

It's getting more ergonomic with time, although the developers don't seem to understand Python very well. I've ranted about this before here ๐Ÿ™‚

simple ravine
#

Qt# doesn't seem to get a lot of attention

golden bane
#

No official bindings. I'd just use one of the many MS silo projects then

simple ravine
worthy cape
#

God-dammit, Python... ran into an exception which I had a try-except block for, except I had gotten the syntax wrong so it raised a NameError and took down my whole service.

#
try:
    os.chmod(fdesc.name, 0o644)
    os.link(fh.name, hash_path)
except e:
    pass
#

A kingdom for a language that doesn't break at runtime.

grave wren
#

@fickle yew its in the div card list ๐Ÿ˜„

fickle yew
#

Always nice when there is a name overlap between prophecy and div cards...

grave wren
#

i'd take that prophecy off of you for 38c if you ever find the one with 7ex reward ๐Ÿ˜‰

fickle yew
#

Nice reward for slaying a rogue exile.

#

Thanks for the heads up. I'll get it fixed.

grave wren
#

welcome

simple ravine
#

so annoying

golden bane
worthy cape
#

Haven't managed to find out if PyCharm does remote development well or much at all.

golden bane
#

Besides, you wouldn't want to use base except clauses anyways, that's an antipattern. All functions in the os module raise OSError on failure, so just handle that instead

worthy cape
#

All this is running on remote hosts and setting up a relevant runtime env locally is bleh.

golden bane
#

You should have a linter at least

worthy cape
golden bane
#

It's not in the docs, that's why I'm telling you ๐Ÿ™‚

#

Also, you want to limit try-except blocks to single fallible statement. Like so:

try:
    os.chmod(fdesc.name, 0o644)
except OSError:
    pass
try:
    os.link(fh.name, hash_path)
except OSError:
    pass
worthy cape
#

I was reading the pathlib docs on methods, which just are thin wrappers around os.*

golden bane
#

Oh cool, that wasn't always there

grave wren
#

pathlib is very nice tho

golden bane
#

Was just about to preach about pathlib ๐Ÿ™‚

worthy cape
#

vscode sufficiently angry now that I've actually installed the Python extension...

golden bane
#
file_descriptor_name = pathlib.Path(fdesc.name)
try:
    file_descriptor_name.chmod(0o644)
except OSError:
    pass
file_handle_name = pathlib.Path(fh.name)
try:
    file_handle_name.link_to(hash_path)
except OSError:
    pass

Snippet using pathlib. It gets better when the file descriptors/file handles are also already path objects

#

If you want to do something tith the errors, you can do something like that:

...
except OSError as e:
    print(e)  # or better yet, use the logging module

which you were probably going for

worthy cape
#

Not overly interested in logging anything, as this part only fails when there's another racing request for the same file.

#

Line 71 protects against general re-entry, link failure means that someone else just got past that guard and raced us to writing a temp file.

golden bane
worthy cape
mortal bone
gilded tree
pseudo ocean
#

It kind of sucks cus my app hasn't worked since last halfway through last league

frank drift
#

trade completely hosed eh

#

only seeing results from 18 hours ago

civic crane
#

works fine for me, listed and sold item immediately, then a small spam after for like ~4min (underpriced), so everything is good

frank drift
#

total elemental res psuedomod, could've been it

#

a couple of hours ago it seemed like things started to return to semi normal

wind garden
#

is LibGGPK2 known to be broken at the moment?

sick hedge
#

AS Someone who runs alot of heists this is super frustrating that the tooltips dont scale down

#

cant even find an angle to read it ๐Ÿค”

fickle yew
#

Yep I'm adding them today along with Infused Engineer's Orb

wanton estuary
#

hi guys i really need help i cant play POE. it started on the day of scourge league release. after launching the game it will open after 3 seconds it will close. tried every solution but nothing fix it. tried reinstalling the game 3 times. fixing package. really need help. thanks in advance.

worthy cape
#

Sorry mate, not end-user support. Consider contacting the techsupport email.

wanton estuary
#

no reply from them. maybe ill wait for days thanks guys

worthy cape
#

Probably a bit slammed with the release, but they tend to get to you eventually.

wanton estuary
#

ok thanks ill wait

long sky
worthy cape
#

They'll most likely ask you to upgrade drivers, run PackCheck (for standalone) or verify your game files (for Steam).

#

Always a good start, and also prepare a dxdiag.txt

wanton estuary
#

i tried all of that

swift beacon
#

Between playing sessions I've been working on decoding the SMD v3 files. The beginning of the files contains similar data to the v1 and v2 files, but in a different order, except for the group/shape definitions, which have been moved near the end. In between are some large sections I haven't figured out yet. The v3 files seem to be about 50% larger than v2, so there's quite a bit more data.

worthy cape
#

Neat. I haven't touched SMD files at all since the Rust codebase, last bit of work was FMT and TGM.

fickle yew
worthy cape
#

Great fun considering that the skilltree JSON still has the legacy paths.

#

Forgot about the sprite sheets.

fickle yew
worthy cape
#

Even the #3 size seems quite a bit smaller than in-game, sprite sheet has like 53x54 for keystones, while in-game is 128x128 (176x176 in 4K).

#

Kind of explains why my game screenshots were so much crisper than the PoB render.

fickle yew
#

:/

mortal bone
#

Time for the community to make a cdn lol

mortal bone
#

I do have a program that generates spritessheets from images. I could see if I could reverse that to make full spritessheets and dumb the json

grave wren
#

Maybe check the PreparedRequest of it

#

templarthumbsup always the best issues

timber path
#

Scourge tier doesn't seem to be available in the copy-paste data of an item? Is it "guessable" based on scourge mods themselves?

civic crane
#

probably an oversight, need to create bug report

velvet fog
empty venture
#

I've never really played with weighted sums, what should the value be?

#

ok, now I see whats the issue ๐Ÿ˜„

civic crane
#

oops, fixed listed time

#

seems so

golden bane
#

I don't see you closing your session, so you should use a context manager here

civic crane
#

any rust generics experts. I want it to be like typescript fn<SizeT: u32 | u64> () {} ๐Ÿ˜ก or at least accept any numeric type

worthy cape
#

.into() maybe?

#

As for relevant traits, not sure if there's much in the way of that kind of genericism here.

mortal bone
#

I haven't messed with this in some time, but is there a tool right now that can extract the passive-skill art from the ggpk?

worthy cape
# mortal bone I haven't messed with this in some time, but is there a tool right now that can ...

Nothing complete, but I've got process-image [1] written for the wiki to slice and convert modern DDS files (with cropping) to PNG, and bun_extract_file [2] to extract files you may want to process.
If you're starting from the JSON, I reckon you could take the image paths and look them up either as DDS files in the pack or via sheet indices like Art/UIImages1.txt for the files and rects to slice out.
If you wish to pack them onto sprite sheets again, I hope there's some sort of tools out there to do it for you.
[1] https://github.com/zao/poe-utils/
[2] https://github.com/zao/ooz/

mortal bone
#

The spritesheet packing I can write myself. I just needed a half way decent way to grab the latest images (I only have the ones from 3.15).

#

I wrote a process some time ago to pack the spritesheets for older trees, but those were know coordinates. It shouldn't be too bad to generate the coordinates myself though

worthy cape
#
[zao@frode passives]$ cat data.json | jq '.nodes[] | select(.icon?) | .icon' | sed -e 's/png/dds/g' | sort | uniq | bun_extract_file extract-files /import/full-bundles/8731581036545953257 icons
Index bundle decompressed, 19373487 bytes
Bundle count in index binary: 27574
File count in index binary: 719123
Decompressed inner size: 14943368
Done, 1009/1009 extracted, 0 missed.
[zao@frode passives]$ find icons/ -iname '*.dds' | parallel process-image convert {} {.}.png
[zao@frode passives]$ find icons -iname '*.png' | wc -l
1009
[zao@frode passives]$
mortal bone
#

I will also need to do assets since those are also scaled

#

I will just start with icons though ๐Ÿ˜„

worthy cape
#

This doesn't grab the 4K icons tho, probably would have to read some DAT files to find that mapping to hi-res resources.

#

The asset URLs are weird, as the payload only has some sort of hex-string as path.

mortal bone
#

Yeah, those have always been the /gen/image path

worthy cape
#

Passive tree curves are kind of funny too:

carmine merlin
#

4K though ๐Ÿคฉ

mortal bone
#

I will see what I can do haha 4k would be absolutely massive

worthy cape
#

Traditionally gen/image has had some sort of path in the base64 section, but (at least some) assets are like:
[22,"d149e7a56fe92e1de270bb33005b87f7",{"t":86,"sp":0.3835}]

#

I guess they're a completely different type of generated-from-art kind of thing.

mortal bone
#

I think "t": is an index

#

Some of them do have art outputs though

#

PSGroupBackground1: [21,14,{"k":"2DArt/UIImages/InGame/PassiveSkillScreenGroupBackgroundSmall","sp":0.1246}]

worthy cape
#

That particular one has an entry in UIImages1.txt

#

(and also a cooler 4K one)

mortal bone
#

my bundle viewer still kinda works ๐Ÿ˜„

#

I can at least see paths to things

#

It looks like the 4k art for those is the new stuff?

#

they look really nice

swift beacon
#

Made some progress on SMD v3. Not fully working yet though.

oak estuary
# compact isle or in the case of hybrids =((298-259)/(293-259)+(62-54)/(61-54))/2

FYI, this seems to be incorrect (or lmk where in my calcs I went wrong). The screenshot shows two pieces of armor, and their stats from game are in yellow. After applying the formula in reverse to find the base percentile (since the game doesn't give me it), only when I calculated from their respective stats (ARBase%, ESBase%) did I come up with the right AR and ES values again. The HybridBase% is off at low values of armours. I'm guessing this is because the total shouldn't just be averaged, but probably is a weighted average since ES values are much lower?

oak estuary
#

Also, unrelated, but it looks like the dev docs should be updated for masteryEffectPairs when encoding a passive tree url (Thanks, @mortal bone ). They say "the first is the node skill hash and the second is the chosen effect hash for this node.", when the opposite is true

slate rover
#

The docs assume you read the masteries as pairs, so chunks of 32 bits. Then the first 16 bit going from low to high are the node skill hash and the second the chosen effect. If you read them as 2 separate 16 bit ints then the first one is the effect and the second the node

mortal bone
#

Yeah, the highest bytes are read first which is why they seem backwards

#

Side note, I am hoping to get a lot of work done for the spritessheets, but I am going on vacation for the next week or so tomorrow. Should be able to work on it when I get back

fervent carbon
#

Is there a live search tool/manager that doesn't require an account?

frank drift
#

you can't live search anonymously because of abuse

fervent carbon
frank drift
#

that tool was blocked by GGG anyway because the devs wouldn't follow the rules

fervent carbon
worthy cape
#

It's an easy jump to make that account means account, especially if you're not familiar with a tool.

frank drift
#

I've used it before it got blocked but don't really remember the account part

worthy cape
#

Can't see anything about it on the landing page either, but hey.

oak estuary
#

Huh, TIL

frank drift
#

one way of implementing integration with path of exile is to have accounts on your tool/site, but it's not necessary

simple ravine
#

What functionality is it that it provides other than the website with notifications turned on?

fervent carbon
#

closed source program for moneymaking. I bet they're using it to datamine profitable live searches

worthy cape
frank drift
#

don't forget to buy more tinfoil at the store

worthy cape
#

Might also let you enable and disable searches, you know, manage your set.

frank drift
#

the tool is dead anyway, so

simple ravine
#

ah fair, saving convoluted searches is pretty handy overall I guess

fervent carbon
#

great, so back to my original question ๐Ÿ™‚
Is there a live search tool/manager that doesn't require an account?

worthy cape
#

If you assume benign intentions, maybe it's an attempt to curb the rampant use of old and broken versions, and get in contact with users that run into weirdness?

frank drift
#

and it got blocked because the author refused to play nice with GGG

fervent carbon
frank drift
#

maybe when the author open sources it like he says he plans to, someone will fix it to follow the rules and you can remove the account part

simple ravine
#

Do you recall what it was not honoring? Perhaps there's a "gap in the market" for a tool that actually plays nice, but adds some value to the user

frank drift
fervent carbon
worthy cape
#

I'm at the good old annoying spot in dev. I want to orchestrate some tasks between tools and my choice of communication between them is "files in filesystem", "shared file-based db", "actual DB".

#

Gonna have to have multiple machines involved for great fun.

simple ravine
#

memmap!

grave wren
simple ravine
#

zero/rabbit-mq

#

redis

worthy cape
#

My container infra is super uncomfortable, so nah.

#

Multiple physical machines, I might add.

golden bane
#

REST API, haven't heard that one yet

grave wren
#

miss me with that rest stuff gimme good old rpc

worthy cape
#

Stuff is loosely coupled and more of a pipeline of tasks with dependencies.

#

There's external automatic and manual changes to gather, which result in a bunch of acquisition tasks that may require manual input, followed by further processing and finally archival of the obtained data.

#

So gonna need both drop mechanisms for tasks and staging areas for data interchange. A good cluster filesystem wouldn't be bad right now.

#

I hate having open-ended problems :D

grave wren
#

wrong profession then :p

worthy cape
#

Way happier hacking on self-contained programs without persistence ^^

grave wren
#

\o/

mortal bone
#

@worthy cape thanks for your process image tool. It is super nice for the UIImages...

#

also, maybe I am parsing the uiimages file wrong, but I have noticed a few cases where the width of the image is 0 ๐Ÿ˜„

"D:\ggpk_extract\Art/Textures/Interface/2D/2DArt_UIImages_Common_3.dds","D:\ggpk_extract\Art/2DArt/UIImages/Common/InventoryGlowBottom.png",1002,874,0,37
worthy cape
#

"Art/2DArt/UIImages/Common/InventoryGlowBottom" "Art/Textures/Interface/2D/2DArt_UIImages_Common_3.dds" 1002 874 1002 911?
Yeah. Seems weird.

mortal bone
#

Yeah, sorry, I was pasting the output with width/height calculated

worthy cape
#

I guess that it makes sense to sample from a razor-thin section of a larger image, if the using code uses it as texcoords on a quad that doesn't map directly to pixels.

#

Constant colour bands left-to-right, but varying top-down.

#

That can't be captured well if you treat it only as a slice to extract.

mortal bone
#

oh, I see. That makes way more sense

worthy cape
#

It's probably a bit wider in the texture there so that it behaves OK with coarser mips, btw.

#

You can see it for things like inventory squares too, they have a bit of neighbouring cells next to them so that repeats tile nicely.

simple ravine
mortal bone
#

So, apparently not all skill icons are actually the same size...

worthy cape
gilded tree
mortal bone
#

I thought this was going to be relatively easy ๐Ÿ˜„

#

These icons are absolutely massive though ๐Ÿ˜„

#

ignore that my sorting algorithm is somehow broken ๐Ÿ˜„

mortal bone
# fickle yew Thanks. Guess it's time to look at sprite sheets.

https://github.com/poe-tool-dev/passive-skill-tree-json/tree/feature/zoom-level-1/3.16.0-zoom-level-1

Created a really bad stab at zoom level 1 ๐Ÿ˜„ the assets are there and the skill sprites contains the extra zoom level. You can at least rip it apart for now. Note: the "skill sprites" have way too many icons for whatever reason, but they all map correctly in the actual sprite sheets. If you know the icon name you can find the coords

worthy cape
#

Crispy

mortal bone
#

I need to do the other assets and make it a proper tool lol

#

I think the line connectors are going to suck

velvet fog
fickle yew
mortal bone
#

That is basically what I did haha

rapid pagoda
#

ah crap, ooz (and hence pogo) doesn't build on arm64 because it uses x86 intrinsics ๐Ÿ˜ฆ

#

and the source is not particularly good at explaining what it's actually doing!

cyan root
#

anyone using awakened PoE can tell me why i cant search for added damage on weapons anymore? have t1 added cold on a weapon but cant include it in the search anymore outside of general dps

frank drift
frank drift
#

apparently a lot of people that were explicitly searching ex for say, 30 fire res mod when a piece had implicit fire res and fire res mod are now upset that APT is hiding explicit

#

and pushing people to use psudo res instead

#

this is just what I gather from discord chat though

oak estuary
#

Wouldn't that be less accurate if your weapon is only good for something like Battlemage? (Going off of showing DPS vs. Flat explicit)

frank drift
#

possibly, not sure about that specific example

livid owl
mortal bone
#

They are still very much a work in progress haha the ascendant nodes aren't even the correct size

livid owl
#

Fair but it's still a valuable thing to have easy access to and it's much appreciated work. ๐Ÿ‘

lunar crypt
#

any brave souls want to help out divining the schema for WorldAreas.dat ?

lunar crypt
civic crane
lunar crypt
#

i would literally kiss you right now ๐Ÿ˜ณ

simple ravine
#

Did they move those things somewhere else, or just remove them? (from WorldAreas)

worthy cape
#

I've heard WorldAreaLeagueChances

simple ravine
#

ah

#

more normalizations ๐Ÿ™‚

rapid pagoda
#

which also gives us a hint as to what all those unlabelled fields were ๐Ÿ™‚

#

however, I'd expect that table to disappear soon -- it's not data which the client needs to operate

compact isle
#

^ it needs it for terrain generation

rapid pagoda
#

Ah, I figured that would be a separate process, and the server would tell the client which leagues needed to be injected along with the seed. But I suppose that works too.

sick hedge
#

Hello i have a complaint

#

im just

#

GAMING

#

on these cracked out maps you guys make

rapid pagoda
#

๐Ÿคฆ

empty venture
#

afaik we don't make any maps in here chrisThinking

grave wren
#

yet

#

wait until zao hacks the mainframe

fervent carbon
#

anyone remember a tool that had a bulk item search where you could click 'Next' and it would send a whisper to the next listing?

#

I think it came out between 3.12 and 3.14

simple ravine
#

Sounds like something tangenting on morality

fervent carbon
#

not my fault Chris wants everyone to get RSI.
it just saves you and alt+tab and a ctrl+v

shell gyro
#

is there an official endpoint for all basetypes in the game for loot filter andy's?

#

and/or all classes

worthy cape
#

@fervent carbon pretty solidly against the rules, a single player-initiated action must initiate at most one game action and may not cycle state.

#

While it may suck, it sucks evenly for all and prevents mandatory tools to some degree.

#

Completely unrelated: I wonder if the upcoming changes to how items may not roll directly contradicting Scourged modifiers will show up in tables.

carmine merlin
#

Guessing they will just add them to the same mod group so they can't roll together

fervent carbon
hazy fiber
worthy cape
#

In the end, if you have to argue minute semantics, the idea is sketchy as fuck and shouldn't be, it's against the spirit of the rules and will be judged accordingly.

#

Your thing is a flask macro with more steps.

fervent carbon
#

1 pasted message = 1 server action, nothing else touches the game. that's what all the other macros do.

#

I'll take healthy joints and ligaments over "spirit of the rules" any day

worthy cape
#

I see you're set on arguing until your face turns blue. Please don't.

#

Have a great life, I guess.

sly imp
#

hey so I haven't used the poe api in a long while. do I have to email GGG and ask them for permission to use it? I only ask cause this didn't seem to be the case before. But I guess they need to do it now to keep the serves in check

worthy cape
#

OAuth access with relevant scopes grants you access to interesting parts without having to deal with session IDs and such.

quasi otter
#

is HeadlessWrapper.lua supposed to be included with portable download?

worthy cape
#

User-facing releases strip out Export, probably pixes the headless bits too.

golden bane
quasi otter
#

ah. i've been trying to start it from golang luajit gopher, but the sha1 library loading gets super krangled. definitely my problem

worthy cape
#

There was some person in here that tried doing that kind of thing a few months ago, might find something in the channel history.

#

If it was you, I feel for you ๐Ÿ˜›

golden bane
#

@frank kayak

quasi otter
#

it wasn't, but if thats the case I might just use python jit instead. saw a few github projects with it lol

golden bane
#

Python JIT?

#

Do you mean Lupa?

quasi otter
#

i meant the lupa bindings

golden bane
#

It's a great library, go for it

worthy cape
#

I'm looking at serving some static data like file listings in JSON and raw data payloads compressed offline to reduce bandwidth and make the data more cacheable.
How much am I theoretically screwing over browser-based tools that doesn't have easy access to zstd and similar decoders?

#

(core reason being that Cloudflare has a limited number of page rules and I'd rather not burn them pointing out specific paths)

simple ravine
#

well, chrome doesn't support it, so...

#

go for brotli if you want wider support

worthy cape
#

I don't expect it to be exposed as browser functionality, but like, is it feasible to expect someone that fetches the resource in JS to be able to decompress it via WASM or pure JS or something?

simple ravine
#

wasm is widely supported in evergreen browsers, but I personally would go for fewer headaches and use brotli

worthy cape
#

Don't really care much about transparent transport compression, ultimate purpose here is the caching.

simple ravine
#

how much more can you compress it with zstd vs brotli?

worthy cape
simple ravine
#

gz then?

worthy cape
#

First idea was to just rename to .bin and have everything stored and sent uncompressed.

simple ravine
#

gzip is used everywhere

worthy cape
#

Well, that's why I'm asking here, as people might have actual experience with it.

rapid pagoda
simple ravine
#

but i believe you can compress your .bin in transport using brotli with the headers

worthy cape
#

As far as I can tell, you still need third party JS like pako to do zlib/gzip.

worthy cape
#

Also, this is static data off a dinky four two-core machine, it doesn't want to do live compression.

simple ravine
#

I'm not 100% sure, but I do believe you can control that though. It's in their interest to compress their egress

worthy cape
#

Big "nope" in the Firefox columns ๐Ÿ˜„

simple ravine
#

could always polyfill for the few % who use firefox

#

but either way, during transport i'm pretty sure CF will compress it using content-encoding

#

or are you worried about your own egress from your server to cloudflare?

#

I mean, you could content-encode it with gzip/brotli as well, and pre-zip it

#

you just have to make sure your server on your end reads the file as-is and don't attempt to compress it while including the content-encoding

worthy cape
#

I have no idea what I'm doing, I had hoped for some wisdom and experience from web peeps on what they were familiar with consuming.

#

I have absolutely no interest in trying to get my thing to serve things transparently compressed, as the #1 priority is to get it cached on CF.

simple ravine
#

well, you expressed the desire to reduce bandwidth

worthy cape
#

That is, the choices are pretty much: "serve uncompressed, or serve precompressed as gzip or zstd"

simple ravine
#

if you're serving a file that is cached at CF, and the browser sends Accepts-Encoding: gzip (or whatever it was), it'll compress it

worthy cape
#

It's all application layer concerns; any tricks with transport encodings are uninteresting.

#

I care a bit about the amount of bandwidth I spend on filling cache, and I care a bit about the bandwidth a downstream user consumes.

simple ravine
#

alrightey then

worthy cape
#

But not at the expense of extremely complicating consuming applications.

simple ravine
#

in my mind, it's like reinventing the wheel though, but whatever floats your boat

worthy cape
#

btw, nginx config comes with a huge warning to not gzip SSL traffic because of some historical attack.

#

Trying to get some upfront thinking in here, as it's a bother to alter down the line.

worthy cape
#

Seems so. I've mostly just run defaults, assuming that it is the healthy thing to do.

simple ravine
#

Well tbh, that's what your WAF's for to detect

rapid pagoda
#

the attack is conceptually about making a user's browser perform a bunch of controlled requests, and looking at the compressed size of those requests/responses to determine what's in them

worthy cape
#

ack.

simple ravine
rapid pagoda
#

e.g. if you want to discover what cookies are being sent, you can start guessing at the cookie contents in a query string or something, and look at which requests are smaller (because the query string matched content in the cookie header)

#

but if all you're doing is serving up public data, you don't care.

simple ravine
#

I mean, TLS is full of vulnerabilities, raccoon, poodle etc

#

and the more recent goldendoodle

#

you got to give them credit for their naming capabilities though, they're hilarious

#

if you want to mitigate these issues, there most effective option is to enforce TLS 1.3, which drops backwards compatibility

#

... and afaik, blocks you from serving chinese residents

worthy cape
#

Got some food for thought, thanks friendos.

lunar crypt
#

@civic crane how do you figure out what the column headers are? :/

oak estuary
#

Pretty sure everyone just makes them up, but I'd be curious if there was another way, too. We did get a small sample of canonical names from a video from Jonathan about their internal tooling ๐Ÿ˜†

hazy fiber
#

also some of the ones we have "figured out" are wrong, like the delve depth life/damage scaling are flipped

#

or were at league start

lunar crypt
#

ah okay

#

because im looking at AtlasRegions.dat

rapid pagoda
quasi otter
#

has anyone gotten POB to work with python-lupa? the pip package doesnt seem to install luajit for the bitwise package

lunar crypt
rapid pagoda
#

76 bytes, not 76 columns

lunar crypt
#

In pypoe they are rows, but yes

rapid pagoda
#

3.16 added a single field to the spec, let me tidy things up a bit and get details

lunar crypt
#

I figured out some of them, I can make a sheet to share progress

rapid pagoda
#

32-bit dat should look something like

pogo:  -> Id                       string     @ 0
pogo:  -> Name                     string     @ 4
pogo:  -> Unknown0                 i32        @ 8
pogo:  -> Unknown1                 i64        @ 12
pogo:  -> X                        f32        @ 20
pogo:  -> Y                        f32        @ 24
pogo:  -> Unknown4                 i64        @ 28
pogo:  -> CitadelName              string     @ 36
pogo:  -> Unknown5                 i32        @ 40
pogo:  -> CitadelRevealVideo       string     @ 44
pogo:  -> Unknown6                 i32        @ 48
pogo:  -> Unknown7                 i64        @ 52
pogo:  -> Unknown8                 i64        @ 60
pogo:  -> Unknown9                 i64        @ 68
#

I'm currently working on fixing types for dat64

#

ah, I was pretty close. Unknown1,4,7,8,9 are all longid

round stone
#

idk if it is a bug with path of building, but when i was making some clusters, it is showing a passive named "Frantic Aspect" in medium cluster jewel aura effect, but when i go to craft of exile, this affix just appears in small cluster jewel mana reservation efficiency.

rapid pagoda
round stone
#

that's why pob still show this option?

rapid pagoda
#

probably? it's a kind of weird situation

round stone
#

in fact it make sense, since you can roll this mod on standard..

rapid pagoda
#

fwiw I haven't tested this, but it'd be weird if you couldn't roll aura mods on an existing aura cluster jewel

rapid pagoda
lunar crypt
rapid pagoda
lusty musk
#

@velvet fog would it be possible for whenever you have a table of mods with weights on poedb to add a line at the bottom that mentions the total weight of the mods in that block? it would greatly help with estimating the actual rarity of such a mod - manually adding everything up is very tedious

frank kayak
lusty musk
#

thanks!

rapid pagoda
lunar crypt
#

only all the time

snow whale
worthy cape
#

See channel search for a bit of history on it, and Emmittโ€™s work on building nicer sheets from game data.

#

New URL format has a base64-encoded blob describing the asset and a secret hash you canโ€™t guess, so you need to get the URLs from an upstream source.

frank kayak
# quasi otter ah. i've been trying to start it from golang luajit gopher, but the sha1 library...

hi @quasi otter @golden bane , i did try to call pob headless in go a while ago and made some small progress towards starting it iirc. i did favour the shopify lua implementation (probably worked best). the run of each start of the headless pob was pretty slow with it - with a cgo implementation or jit it probably would be faster. currently i dont have any time for my project if you want to take a look at the small bits of my pob testing i can grant you access to my repo if you send me your gitlab username.

oblique junco
#

Path of Building for some reason does not show Rolling Magma as a skill gem to insert

quasi otter
ivory echo
#

is there some intrinsic reason pob doesn't have a way to generate a table/report for evasion rating?

golden bane
ivory echo
#

i know is legacy code for lua, but it would prob be a bad decision to keep it for that reason only. Its big draw was performance, but it gets crushed by about every other competing lagguage today

#

esp tying the project to a single impl of lua seems rachety

rapid pagoda
civic crane
rapid pagoda
civic crane
#

didn't know someone except zao is storing old files to validate against them ๐Ÿ˜„

surreal quiver
#

is there any simple way to get list of maximum stack sizes and inventory sizes for all items?

rapid pagoda
#

width/height is in BaseItemTypes, stack size I'm actually not sure

#

ah, stack size is in CurrencyItems

oak estuary
ivory echo
#

i mean the report talbes yo can generate from the tree view

#

to find good paths

#

you can a number of other things, but no evasion rating. not sure if was some limitation or just nobody added it yet

golden bane
ivory echo
#

wait, do you mean version as in specific version number of verison as in an implementation? im not sure what you mean by "no real drawabacks"

worthy cape
rapid pagoda
worthy cape
#

Been working on automation lately, as well as trying to squint out approximate game versions.

quasi otter
rapid pagoda
rapid pagoda
timber path
worthy cape
#

Not super familiar with trade tools since Mercury. If there's a distinct button per entry it feels rather kosher. If it's a single one with the intent to do bulk interaction without user decision and choice, it's way grayer.

#

The intent of the tool they describe is very far from that, the intent of theirs is more to circumvent wording to do something that could be fully automatic if directly allowed to.

#

The spirit of a tool that tabulates the active trades you have with the ability to by choice send canned responses to participants that the user picks, with the purpose of managing the onslaught is quite different.

#

I hope that makes some sort of coherent sense?

timber path
#

It makes sense to me. When interpreted literally, you could say that a "thx" button that whispers a different Player each time you click it, would be disallowed. On the other hand, what I understood from the proposed whisper tool is that you click a button (or use a shortcut),and each time you click it, the next Player in the bulk-exchange trade list is whispered. So i.e. not much different from the thx-button behavior. But morally you could question if it is a good idea to have such "whisper next" button. One could say that there is a slight difference though, being that with the thx button you know who you'll whisper, and repeatedly pressing that same button of that same trade notification, will whisper the same guy; yet a different notification with the same button would whisper someone else.

#

But yeah, I do agree it's in the dark-gray area compared to the gray area for the "thx button".

lunar crypt
#

The way the โ€˜thanksโ€™ button works is within tos. It uses a command /reply(iirc) which is why youโ€™ll always whisper the last person who whispered you.

worthy cape
#

Ones that function in that specific manner of using the game's respond-to-last are fine.
Ones that cycle external state are not.

lunar crypt
#

One feature I used in the past was just to click whisper on trade site and it would focus the game and send it. I think it was part of poe lurker?

#

Itโ€™s been a while, donโ€™t remember. But that was nice and allowed iirc

grizzled seal
#

yup, that's PoE lurker; that specific feature is a little wonky in my experience and sometimes it doesn't automatically focus + send the message though

lunar crypt
#

yep, but it worked for the most part. also, i would click from my second monitor so no real biggie

frank drift
#

focus seems like a really hard thing to get working 100%

lunar crypt
#

even my radeon software doesnt get it right most of the time ๐Ÿ˜„

#

if i alt tab a lot, it fails to track focus

worthy cape
#

502 Bad Gateway for the PoE website, hugs to anyone fighting it ๐Ÿ˜„

lunar crypt
#

Cloudflare? ๐Ÿ˜†

worthy cape
#

Woo, got spammed by someone promoting a PoE tool, but not sharing any servers with me. Totally normal behaviour, but at least it's not CS skins.

oak estuary
#

Ha, same. They did have TFT in my shared servers, but I watched it disappear as they got banned from there real-time

worthy cape
#

\o/

carmine merlin
#

Yep same to me

worthy cape
#

Worst of all, the proposed tool would violate ToU ^_^

uneven willow
#

Don't think it would, since there's no server side action, just a price check

worthy cape
#

Would have to repeatedly copy item text on motion.

frank drift
#

guess PoE has officially made it

#

when people are trying to spread malware with messages about it being a price check macro

worthy cape
#

With a community that loves running arbitrary software from the internet, I'm surprised it's not been more targetted.

grave wren
#

just run it as admin, what could go wrong

livid owl
#

Search "macro" in this server after getting said spam.
Tons of messages in server about said spam advertisement. Nice try guy. Nice try LOL. Good job on everyone being safe (hopefully)

worthy cape
#

Subscribe to Faust's newsletter for more computer security advice and sloth maintenance tips.

grave wren
#

Next issue will be on how to maximize memory footprint so your ram download finally makes some goddamn sense

worthy cape
#

Upside of things, if people are more careful, I'll have fewer users that nag me ๐Ÿ™‚

#

Meanwhile on Github, I'm linking custom PoB DLLs on the issue tracker <_<

oak estuary
#

Linking them from GH Actions output is probably better than linking them from zao.se, though ๐Ÿ˜„

worthy cape
#

Yeah, GH action artifacts expire after a few months tho and I didn't want to manually kick a new one.

ivory echo
#

anybody getting messages from an unknown person askin them to help test their poe macro?

worthy cape
ivory echo
#

yeah, ddit think that was lefgit

#

i d/led the rar file but didnt extract anything. im always paranoid though about windows doing something hehind my back .

#

like when i clicked properties it might have run the file or something

#

already delete the two nessages so can't report

worthy cape
#

There's always the possibility of file format exploits in tools you use to look at files or in windows components that look at them.

ivory echo
#

i don't have the same worries the cat and less

worthy cape
#

There's also the possibility of gathering information by tracking your clicks on the download server, or leveraging exploits in the browser.

#

In general, interacting in any way but blocking and reporting has some amounts of risks.

ivory echo
#

fml

worthy cape
#

Funny that you say cat and less, depending on flags you can emit things that make your terminal do things.

ivory echo
#

ionly in raw mode and only certain terminals.

worthy cape
#

With less you kind of need to make it not filter raw commands explicitly with an option, while cat will happily show you anything as long as it doesn't detect it as binary.

#

Just saying, they're not remotely immune and depending on configuration, traps can trigger.

ivory echo
#

yes, but ii understand them.

worthy cape
#

If you feel confident in your abilities and have a suitably isolated environment, knock yourself out.

ivory echo
#

windows is an unknwon to me

worthy cape
#

I'm talking to you as a generic typical person, I don't know your background in infohax.

ivory echo
#

i know

civic crane
#

when in doubt use windows sandbox

ivory echo
#

how are they sending messages tom me in the first place?

worthy cape
#

Heard that macOS can't get viruses ๐Ÿ˜‰

ivory echo
#

it cant when it aleady is the virus

worthy cape
#

Depends on how you've configured your client on allowing messages from anyone, from people on shared servers, or not at all.

#

They tend to be on shared servers and then rapidly leave to cover traces or get banned.

ivory echo
#

i cant reply to them b/c it says no shared server

worthy cape
#

This storm hit at least TFT, and possibly this place.

ivory echo
#

ive also seen somone dlete their comments from my pm window

worthy cape
#

Let's hope that this campaign didn't catch too many users, so that it has a chance of stopping.

ivory echo
#

what does the virus do?

worthy cape
#

No idea. Reported and went on with my life.

#

Not keen on getting anything and not hot on bolstering any statistics.

ivory echo
#

might make it easier to see if someonw has been infected

#

anybody here tried PoE Lurker?

#

I really like the simple UI, but I cant for the life of me remember the random clicks and modifier keys. Wish it was more consistent, but very good direction i thk.

#

i only use the basical AV installed with windows. anything better?

frank drift
#

nah, nothing adds much to Windows Defender afaik

#

mostly just bloat, and security risks in and of themselves for something like Kaspersky

ivory echo
#

on pop, is calc.defenses basically the entry point for everything?

golden bane
ivory echo
#

i meant more in terms of workload. calc.defenses was just very meaty

golden bane
#

Yes, there's happening a lot, mostly due to PoE's intricate game systems

rapid pagoda
#

@civic crane btw I've just migrated to a fork of your schemas. have been staring at a bunch of data and will have some patches for you soon ๐Ÿ™‚

dense shore
#

It seems those "price check phishes" only targeted commonly used tool developer accounts

#

haven't heard anyone else getting them

carmine merlin
#

That's a bold game targeting tool devs

simple ravine
#

Yeah I got 2 attempts with about 10-30 minute inbetween

lunar crypt
#

I had the one previously, but not this one

grave wren
#

only had one

#

that means i am 50% the tooldev some others were templarSad

silent tree
#

being serious i think they probably just scraped through anyone that posted here

dense shore
#

there ๐Ÿ™‚

silent tree
#

wouldn't be surprised if they got some people asking questions about tooldev rather than the actual devs

worthy cape
#

I got three, must be the super-green.

#

Would be "interesting" if the purpose were to infect the build infra of some actual tools.

frank drift
#

would fully expect that's the intent, if it was as targeted as it apparently was

empty venture
#

someone has to be really naive tho

swift beacon
#

At least that would be pretty easy to figure out in a lot of cases. Depends on the language though, I guess.

#

Something like an off-by-one error could take a while to find.

worthy cape
#

Or steal enough credentials to push a loud malicious executable through autoupdate, reap immediate profit.

civic crane
#

it's happening, I'm rendering content of foreign table, not a full sql join, but it's something ๐Ÿ˜… will push code after some cleanup

rapid pagoda
#

@civic crane Oh neat! I think that's roughly what the internal tools do for named rows too

#

On a related note, I was thinking earlier that it'd be neat to be able to generate synthetic content for stub tables, like row names and numbers in enumeration tables like Attributes or QuestFlags

#

That way, you'd be able to do things like assign a name to a QuestFlag and have that show up in tables that reference it.

worthy cape
slate rover
#

allows me to do stuff like this

rapid pagoda
slate rover
#

there is an array named enums which has elements which look like this

            "name": "InfluenceTypes",
            "enum":
            [
                "SHAPER",
                "ELDER",
                "CRUSADER",
                "EYRIE",
                "BASILISK",
                "ADJUDICATOR",
                "NONE"
            ]
        },```
rapid pagoda
#

Can you add a flag to allow the enum to be treated as 1-based? Some tables like QuestFlags appear to behave this way (or as if there's a 1-based id they're referencing)

slate rover
#

You could add an unnamed entry for 0, that should fix it

#

if you enter _ it should output is as NULL in the schema

rapid pagoda
#

See, here's the thing. The enum table inherently has a row count even if those rows are empty, and I've seen situations where the "last" row is referenced

#

Naming the rows individually and ignoring the table row count works for small tables, but it'd be nice to be able to recognize situations like "oh, this enum table has more rows than we have names for" or "oh, this value is too large to reference this enum"

slate rover
#

Hmm yeah thats true

#

Maybe its possible but i am not familliar with gql, seemed like it was pretty limited with stuff you could do with enums

wind garden
#

@compact isle found a weird bug. Two searches, one I include the custom search "contract" and the other I don't. One shows me a rare contract for 1c, and the other only shows me the cheapest of 2c. Both search results include "contract" in the name so I would expect the custom search to pick up the 1c contract, but it doesn't.

No Custom Search String: https://www.pathofexile.com/trade/search/Scourge/5844GODta
Custom Search String:
https://www.pathofexile.com/trade/search/Scourge/elldV8YiL

worthy cape
#

Note that you're capping out the number of displayed results so sorting may be rather wonky.

civic crane
#

name != basetype

wind garden
#

is there a better way I should be searching?

#

I just want to search for a contract (of any base type) that requires perception lvl 3

#

it's made difficult because all the different contract types are their own base type

#

ie. Contract: Smuggler's Den

#

if it were a sorting issue, I shoudl be able to specify a max price of 1c and get results

#

but no results returned

civic crane
#

๐Ÿคทโ€โ™‚๏ธ

wind garden
#

ahh there we go

#

sometimes...i just want that search items box to search for anything in the name or base type

compact isle
#

"custom search" is like "Contract*" not "*Contract*"

wind garden
#

does it work that way to improve performance?

compact isle
#

thought you can put "*Contract*" to get the behaviour you want

#

yeah

#

custom searches on text is much slower than using the category filter

wind garden
#

oh sure enough, contract does work

#

contract

#

oh come on markdown

compact isle
#

\*

wind garden
#

lol

#

*contract*

compact isle
#

\o/

civic crane
#

@compact isle tbh i don't know why you keep term search, haven't found single usecase for it ๐Ÿ˜…

wind garden
#

it's closer to "base type" but it has a few extra uses

simple ravine
#

unrelated... i just had the most hilarious idea.

#

so cloud service providers are introducing 'chaos engineering as a service' where you can inject faults to services and record what happens etc

#

how about trolling our colleagues by sprinkling some chaos monkeys in production without any forebodings ๐Ÿ˜„

worthy cape
#

Not distinguishable enough from their usual deployments.

rapid pagoda
frank drift
#

I used to use term search for searching flasks when I was lazy

#

a lot harder to do that now though ofc

#

would have to remember the name of the t1 mod out of the 10 different tiers

rapid pagoda
#

eagerly awaiting the introduction of the new "of the Jackalope" movement speed suffix

civic crane
rapid pagoda
#

I suspect that what's going on is that the real tables have an integer key that counts up from 1, and that's what's actually being referenced

velvet fog
#

I have the same question, partly from 0, partly from 1

rapid pagoda
#

As far as QuestFlags go, I'm pretty certain that the server version of that data file has not only a 1-indexed ID, but string names. Those names appear in some NPCTalk scripts in calls like triggerer.SetQuestFlag() (which I guess are ignored by the client)

wise copper
#

Anyone have advice on interpreting /Metadata/PassiveSkillGraph.psg?
The old PyPoE parsing isn't working for the 3.16 data.

fickle yew
#

Since when was dagger / wand weapon combination a thing?

hazy fiber
#

there use to be a bug that let you do it, but iirc it was wand in offhand with melee mainhand

#

and got patched ages ago

fickle yew
#

Well this guy exists today ๐Ÿ™‚

#

He's been spamming my error log all night.

frank drift
#

people have been doing wand/sword since day 1 of league

#

maybe you can do some modification of that energy blade bug to do wand/dagger

hazy fiber
#

yeah it should work for any offhand

#

turn wand into an energy blade, socket other melee weapon, turn energy blade off

frank drift
#

wasn't actually sure what energy blade requires

cold wedge
#

anyone familiar with Heroku ?

#

I don't understand their pricing

lunar crypt
cold wedge
#

thanks, so as long as it shows "free" I shouldn't have to pay anything I guess... I'm confused because I'm running a discord bot on heroku and I was expecting to have to pay something

civic crane
lunar crypt
#

You can also set up alerts iirc

rapid pagoda
cold wedge
#

cry in AWS

rapid pagoda
#

AWS pricing isn't that bad tbh. There's a lot of separate line items but at least it's clear what you're getting

cold wedge
#

no but it's really confusing, there's tons of services

#

I ended up getting a bill when I tried "for free"

#

(a very small one, let's be honnest)

#

(but still a bill)

rapid pagoda
#

Also, fun tip: spot instances can be super absurdo cheap if you're willing to put up with occasional restarts. Like $2.50/mo cheap

worthy cape
#

I'm considering using a GH repo as a catalogue service to serve a small JSON file, kind of like how PoB checks manifests against the repo to find out if it should update.
Are there any limits in request counts and delay until updates take between GH pages and raw file access in a repo?

oak estuary
#

From what we've seen, updates can take up to 5 minutes. Not sure about request count limits. GitHub doesn't show raw download stats, but during a major update, files are probably getting hit several thousand times at once.

#

I've heard some reports of people having to retry the update, but nothing definitive

worthy cape
#

I guess that if PoB works, my tool would too.

#

GitHub Pages sites have a soft bandwidth limit of 100GB per month.
GitHub Pages sites have a soft limit of 10 builds per hour.

#

Seems like rate limits for repos are more about individual users/IPs.

rapid pagoda
#

The Homebrew and CocoaPods projects have run into some issues with the ways they use GH, but your tool is probably going to be fine

worthy cape
#

Just got to avoid polling it on every startup I guess.

rapid pagoda
#

And/or make sure your queries can be cached. GitHub probably won't mind if you make a single request for a small file at startup, especially if it's a HEAD request or GET with If-Modified-Since

wind garden
#

anyone else getting really weird behavior on trade site where it onyl shows 2 results with "load more". Clicking "load more" immediately expands and then collapses the results back down to 2 results.

grizzled seal
#

you're probably using an extension that groups together identical search results

wind garden
#

ah you're right

#

it was better poe trading

#

disabled the extension and it's working now

frank drift
#

"load more" always worked for me, even if it can be a bit jarring, maybe it couldn't fetch the next page of results

grizzled seal
#

I didn't mean to describe it as a bug, if the entire next page was just more results from the same player the extension collapsing that back down to 2 results is the expected behaviour, it just updates the item count or whatever on the first listing that player had, it's just jarring if you don't notice that happen I guess

pseudo ocean
#

hey, i think i found a bug

#

the life leech node that Rangers get when playing TR doesnt work when you play a shadow

hazy fiber
#
  1. this is not the place for those kinda bugs, its for tools not poe itself
  2. that bug makes no sense, leech is leech
pseudo ocean
#

sorry

#

below lvl 20 it doesnt work and i dont know why

long sky
#

Probably just not doing enough damage

#

Assuming the node youโ€™re talking about is a percentile one and not a flat integer recovery

civic crane
#

what an interesting item

rapid pagoda
#

being way over the required corruption level is weird though, maybe the requirements changed?

grave wren
#

afaik you can collect for current + next level of krangle

#

so the total now should be lvl 1 + lvl 2 krangle exp

worthy cape
#

I love that there's slivers of a build planner in PoE already, with un(der)documented speculative insertion of jewels in the tree: https://www.youtube.com/watch?v=y_iebZu527g

oak estuary
civic crane
#

can carry +# more jewels from last portal inside tree ๐Ÿ˜…

#

got achievement without allocating ๐Ÿ˜„ this is totally a bug

rapid pagoda
#

(also PvP only characters are gone now soโ€ฆ)

worthy cape
#

Party's over, hotfixed.

frank drift
#

GGG fun police

mortal bone
#

Fun fact, with the given images the maximum zoom level for the skill tree is .9143

#

I will do the 4k images tomorrow to see what kind of zoom level we can get out of those

delicate ore
#

did xyz leave

#

i wanted to ask him to add pwa support to pob.party