#tooldev-general

1 messages ยท Page 59 of 1

simple ravine
#

Ok, let's do a little math excercise... Currently the river is about 129 GB per day (according to what people say about 1.5 MB/s)

gritty olive
#

That's < 5TB

#

a month that's literally nothing

simple ravine
#

That is 3.8 TB of data per month.
Assume we have 1,000 people using a sniper. That is 3.8 PB of data transmitter per month.

gritty olive
#

Yeah nothing

simple ravine
#

Check what that would cost with SQS

gritty olive
#

That's also unoptimized and could be reduced

#

That's if you use SQS yeah

simple ravine
#

3800000 GB x $0.05

#

nothing.

gritty olive
#

Its less than an engineer in SF

#

๐Ÿ˜„

simple ravine
#

u pay $190k a month for an engineer in SF

gritty olive
#

๐Ÿ˜„

simple ravine
#

top kek

#

san francisco is dooomed

gritty olive
#

900 * 0.5 = 450 USD

#

pretty much aligns with what I thought

#

that's just gzipped though

simple ravine
#

900 is what, and 0.5 is what

gritty olive
#

1 m free

simple ravine
#

that's just the requests

gritty olive
#

that's for polling though

simple ravine
gritty olive
#

I said streaming data

#

Which is a different method of sending data

#

We can continue arguing SQS price if you want but it has calculators

#

It really is

#

You'd be better off building your own infra

simple ravine
#

data egress will cost you no matter what

gritty olive
#

Except when it comes to Postgres

compact isle
#

btw I fixed the poe/trade delay on livesearch ๐Ÿ˜„ I leave for a week and everything gets slow

gritty olive
#

@compact isle i know that feel

compact isle
#

hah that'd be nice

gritty olive
#

rm -rf ~

simple ravine
#

$210,000 data egress cost

gritty olive
#

I like how you're pulling numbers out of thin air

simple ravine
#

yes, assuming 1,000 consumers

#

so it could grow more, or be less

gritty olive
#

30 gb of gzipped data for 1,000 consumers is not 210,000 a month

simple ravine
#

slice that in 4, and it's still a chunk of change

gritty olive
#

I pay < 1,000 for petabytes

simple ravine
#

there are different kind of petabytes

gritty olive
#

you've got to be doing some wacky tabacky

#

but why poll that's dumb for this kind of information

simple ravine
#

compatibility

gritty olive
#

yeah but why are you guys so stuck to SQS

compact isle
#

xyz said he had 12.5k websocket connections at the start of Abyss

simple ravine
#

lol

gritty olive
#

like stop

simple ravine
#

first u say "should use SQS"

gritty olive
#

I said

simple ravine
#

then "why use SQS"

gritty olive
#

You could use it

#

Bye bye real-time that was the plan all along

#

Take down poe.trade

#

is being semi-sarcastic </s>

mortal bone
#

I don't think it will do anything to poe.trade lol

simple ravine
#

It'll maybe add another 10% to it

mortal bone
#

The browser is limited to ~250 web sockets, so have fun

#

Sure

gritty olive
#

meh just spawn headless browsers

mortal bone
#

The thiing is any more connections than that ban

compact isle
#

I mean, xyz can just limit your connections by IP

gritty olive
#

vpns make that easy to get around

compact isle
#

if you start using proxies to get around that then you need to start reflecting on your life

gritty olive
#

hell even aws does with dynamic ips

mortal bone
#

You also have a problem searching for over 200 items

#

You can't realistically buy that many items

#

True

gritty olive
#

to be honest is building out a server farm that scrapes a site and avoids banning by limiting access time and doing server mesh across multiple cloud platforms and vpns really at that point a script kiddie

simple ravine
#

yeah lol

gritty olive
#

I don't know that's kind of a complicated architecture to be fair to the script kiddie

simple ravine
#

a) you don't need a server farm in the sense of consensus

gritty olive
#

you could kind of get some of it going with kubernetes and headless chrome

simple ravine
#

b) you can just use luminati or something

mortal bone
#

The thing is, if you go through poe.trade or similar you are now at the mercy of the indexer that is public

#

You don't have a time advantage

#

Which is the point of this change

simple ravine
#

a beefy server can do it all, just roundrobin to a bunch of proxies u buy

gritty olive
#

well yeah the person who uses a single server is a script kiddie

#

but the person who builds a resilient server mesh isn't

#

was my point

simple ravine
#

you don't need a server mesh

gritty olive
#

thats the point

simple ravine
#

and today, there are templates for kubernetes, mesosphere / dcos, etc

#

click and launch

gritty olive
#

clicks the scrape poe.trade websockets and gain mad exalts button

simple ravine
#

someone could easily make one and distribute, right?

gritty olive
#

thanks 2017

#

yeah but then you'd lose out on all your mad exalts

#

honestly I've been playing with the idea

simple ravine
#

licoffe distributed his sniper

gritty olive
#

of scraping trade chat

simple ravine
#

same philosophy

gritty olive
#

and blasting people who try and scam people for currency

simple ravine
#

you can't in most WTS cases

#

items are replaced with underscore

gritty olive
#

make a site that keeps a record of all scammers

mortal bone
#

Shouldn't be that hard

simple ravine
#

distributed Rx

mortal bone
#

Need more efficient filtering

simple ravine
#

prior to storage

#

and you can go sub-second

gritty olive
#

wtb orb of regret 2:1

#

thats a scam

mortal bone
#

Xyz sends before indexing

simple ravine
#

indeed, some consequenses/tradeoffs to that

gritty olive
#

every time i look at trade chat makes me want to do it

simple ravine
#

it's not scamming if you bid for something

mortal bone
#

The indexer and the live searcher deal with the data at the same time

simple ravine
#

if I want to sell you my car for $500,000

#

and you accept

gritty olive
#

I agree with you, until you get into people who don't know better

simple ravine
#

it's not a scam, you're just stupid you're paying $400k-something extra for a car you can get somewhere else

gritty olive
#

Falling for traps

#

percolator

mortal bone
#

I'll percolate you

gritty olive
#

now i want coffee

simple ravine
#

so if I start selling something for less to disturb the market

#

everyone else would be a scammer, who didn't adjust their pricing

gritty olive
#

price gouging?

simple ravine
#

that's the opposite

gritty olive
#

whatever the opposite is

#

@polar island you could use GCP pub/sub

#

you're fucked

#

you'd have to make a queue system on your side though

#

which isn't too bad

pseudo ocean
#

why not just take the avg price from all -> put those on top

gritty olive
#

you could be considered "price fixing" or "favoring"

#

I'd rather just do an auction house

pseudo ocean
#

I'm not really against currency auction house with buy -> sell orders

gritty olive
#

it honestly seems like a fun "side trading site"

#

rather than the traditional indexers

simple ravine
#

please add ah with apis

gritty olive
#

no apis ๐Ÿ˜„

mortal bone
#

Lol we talked about this a little

simple ravine
#

without the limitations

mortal bone
#

Yeah, still need humans right now

simple ravine
#

imma hft the bamboozle out of ya'll

mortal bone
#

No api to trade

pseudo ocean
#

you can place the items into a vendor with a price, and the player goes to the vendor in ur hideout

#

boom

simple ravine
#

why not take it one step further

#

take it to Maramosa in A3 or something

pseudo ocean
#

๐Ÿ˜ฆ

simple ravine
#

she'll sell it for you

#

but once the price is set, you can't back out ๐Ÿ˜„

pseudo ocean
#

price locked for 30mins~

simple ravine
#

or.. you have 1 minute to change the price, but you can't take it out

#

once that minute has passed, the price is fixed for 7 days

#

(in case of typos)

#

sounds like people can start playing, rather than trading

#

it's a bit difficult now though when you let the genie out of the bottle with the trade api

chrome topaz
#

I only got gigabits in north korea, hmu if interested

mortal bone
#

definitely interested

pseudo ocean
#

where only maybe 1~mbit works

#

๐Ÿค”

simple ravine
#

measuring internet speed is difficult in browsers

#

over certain speeds

simple ravine
#

David Brevik (creator of Diablo) and his wife is streaming PoE on Twitch.

#

o m g

mortal bone
#

you do know he is a consultant for GGG right?

simple ravine
#

he just mentioned that

mortal bone
#

Ye

#

they brought him on a while back

simple ravine
#

His keynotes are the best

mortal bone
#

very talented guy

#

gave a nice Postmortem at GDC 2016

#

of Diablo*

simple ravine
#

yeah i saw that one

#

it was an entertaining keynote

frigid thorn
#

@simple ravine Hรคlsningar from Tรคby.

simple ravine
#

wassaa

#

I'm not in Kista though, that's just the closest thing

smoky temple
#

Bahnhof? Thats german

simple ravine
#

The company was founded in Sweden in 1994, bud

smoky temple
#

^^ its a german word its the station where trains arrive ๐Ÿ˜ƒ

simple ravine
#

well the name is german yeah, train station

smoky temple
#

yeah i am actually austrian so my native language is german ๐Ÿ˜‰

simple ravine
#

fun fact - They have one of the coolest datacenters I've seen

velvet fog
wind garden
#

Where's the stats?

mortal bone
#

the stats aren't known

#

Charan's Sword

#

that guy...

#

@velvet fog

#

might be able to work with that

gilded herald
#

wait it's one handed? wtf

mortal bone
#

disables offhand

#

like the others

gilded herald
#

ahh gotcha.

wind garden
#

the reddit post talks about it counting as both 1h and 2h

#

do we know whether it's just 1h or not?

velvet fog
#

it's 1h

wind garden
#

ya looks like it

#

how do you get it besides div card?

#

seems like it drops only in twilight strand?

mortal bone
#

twlight strand lol

velvet fog
mortal bone
#

rarity scales with levels

#

not sure if down or up

wind garden
#

so it's not a crazy puzzle like TGU was?

mortal bone
#

that recipe is disabled

wind garden
#

right

#

so I guess it's just a normal drop, that only drops in the twilight strand

#

great....

mortal bone
#

from hillock from the looks of it

wind garden
#

lol

#

that's hilarious

mortal bone
#

it is the sword he pulls from his chest

wind garden
#

what starting character can kill hillock the fastest?

mortal bone
#

hillock is lvl 2, so you can get a portal scroll

#

you can port people in with rarity gear to cull him

wind garden
#

hmm helps a little

mortal bone
#

maybe

#

the best chance maybe be at lvl 1 or 100

#

charan didn't say

wind garden
#

how do you get a portal scroll on the twilight strand?

#

get really lucky?

mortal bone
#

hillock can drop them

#

he is level 2

wind garden
#

but if you have to kill hillock to get a portal scroll, doesn't that mean you can't cull himi?

#

oh, do you just log out?

mortal bone
#

yes

#

5 min reset on his zone

wind garden
#

haven't found a portal scroll yet

gritty olive
#

This is cool

mortal bone
#

@fickle yew The new div card (Rebirth) shows up as the prophecy with the same name

#

I am assuming this might break some other things with them as well

wind garden
#

@chrome topaz i think poe.trade has the same issue

#

i saw a card on the river but poe.trade doesn't have a single one listed for trade

#

i farmed hillock for 30min with 479 inc rarity

#

didn't get a single unique :/

gritty olive
#

Sometimes I feel like there is a "sweet spot" for rarity

simple ravine
#

the sweet spot is over 9000

fickle yew
#

@mortal bone thanks I'll take a look

gilded dove
#

is there a way to get current character's exp value?

#

apart from the obvious mouse hover and type it out of course

simple ravine
#

There's no chat command or anything, no

mortal bone
#

If you are on the ladder you can get the current exp through the ladder api

#

not sure if you can get character information any other way

#

well, https://www.pathofexile.com/character-window/get-characters?accountName=<AccountName> will give you a list

simple ravine
#

it doesnt seem to include xp though

mortal bone
#

nope

#

just level

simple ravine
#

@compact isle Do you know of a way to get current exp of a character programmatically?

compact isle
#

not in an exposed way no

simple ravine
#

Okay, thanks

mortal bone
#

yeah ladder api is the only thing

chrome topaz
#

@wind garden i added it but might still be broken

chrome topaz
#

was that ever a question

chrome topaz
#

๐Ÿค”

#

@compact isle ^

wind garden
#

That's the problem with a whitelist, people start to question who deserves to be on the list or not.

pseudo ocean
#

Im not sure what teh stance is on moding and using tools with PoE but i know we are allowed to use item filters. Is there anything we can use that will allow better visability of Abyss veins, i often hear then crask open after the first one, but there are so many enemies on screen i can never see it till its too late.

deft jolt
#

Nope

keen marten
#

Look at your mini map, the icon for the abyss moves to a new location

pseudo ocean
#

ty

wind garden
#

oh snap

#

stash API delay is finally working

simple ravine
#

rip

wind garden
#

weird to post a 6L bow for 3ex and not get a single whisper for 60 seconds

#

seems snipers haven't really switched to poe.trade yet

simple ravine
#

most people who snipe just steal someone's code and probably might not be aware?

wind garden
#

probably not

#

time to make a killing

simple ravine
#

guessing you've already refactored ur sniper to use something like poeapp or poetrade?

wind garden
#

of course

#

except it's not working lol

simple ravine
#

hah

wind garden
#

i've been distracted playing around with large amounts of historical stock data

simple ravine
#

done the same, and also with real time data

#

quite interesting

chrome topaz
#

time to start charging people per livesearch-minute

mortal bone
#

5 free sockets lol

#

An additional $15 for every socket after that

simple ravine
#

haha, yeah.

#

please try that @chrome topaz

winter fossil
#

Really optimized now. I just need to make it render everything right ๐Ÿ˜ƒ

chrome topaz
#

the render takes under 1ms?

winter fossil
#

6-10ms ~ to memory (all visable tiles on the screen). Then each tile caches from memory. And what's rendered is the caches

#

So it's 9 images

chrome topaz
#

i see

winter fossil
#

the "spikes" are barely noticeable too, so that's nice. But I also learned that Resource Limits are a thing for mobiles... So I have to rewrite how it renders to memory. It currently only works for a zoom that's less than 0.1 lol

mortal bone
#

@chrome topaz rendering shouldn't ever take too long

#

Everything about the tree is static

wind garden
#

sweeeet got me a sword

#

rip farming hillock

winter fossil
#

@mortal bone Pretty much this, the only real difficult was to also make it render at good framerate on mobile

mortal bone
#

how does it look in safari lol

#

I hate that browser

winter fossil
#

Mobile or desktop?

mortal bone
#

both are awful

#

mobile mostly though

winter fossil
#

mobile sucks imo

mortal bone
#

would be easier to just do native

winter fossil
#

What do you mean? c:

mortal bone
#

make an ios app if you wanted to go mobile

winter fossil
#

Nha, that ruins the whole point of this project :)
The goal is to make a PoE planner that works good on both mobile and desktop.

simple ravine
#

Risk is that you're going to please nobody instead of everybody ๐Ÿ˜‰

winter fossil
#

Mhe, there's no risk in that. It is what it is, doing it for fun. The goal is not to make a new groundbreaking application for PoE, not sure if it's ever going to be released

mortal bone
#

Always fun to learn new tech

simple ravine
#

Those are great ambitions! Go for it

mortal bone
#

you should definitely release it though if it is functional lol

winter fossil
#

^^ will probably take a while tho haha

simple ravine
#

in the meanwhile, PoeSharp is coming along slowly but steadily

chrome topaz
#

it shouldn't but it do

simple ravine
#

wat?

mortal bone
#

He is talking about rendering

#

I have never had a problem with C# and DrawingVisuals

#

HTML5 Canvas on the other hand...complete poo

simple ravine
#

UWP's rendering performance is decent

mortal bone
#

haven't messed with it too much

simple ravine
#

too bad people afraid of change and stick with Windows 7

chrome topaz
#

I wasn't afraid of change and installed win 10 pro and then Microsoft installed candy crush, Plex, get office, Skype, some noname video player and a password manager that leaks all my passwords

simple ravine
#

leaked them where

#

it didn't install Plex, video player or password manager for me

#

granted it did install some game and a link to get office installed

#

and that annoyed me somewhat

simple ravine
#

but i wouldn't go back to windows 7

mortal bone
#

I upgraded from win 7 and only had skype for business get installed

#

never had a password manager get installed

chrome topaz
#

it did install Plex last time i reinstalled

#

I'm rocking a gpu passthrough setup now so it's cool

mortal bone
#

for your passwords? lol

simple ravine
#

this guy is the most paranoid i've met in quite a while, i swear

chrome topaz
#

for windows, what do you mean passwords?

mortal bone
#

you would be too if you were making millions off a site lol

#

Oh, ok

#

I was really confused

chrome topaz
mortal bone
#

thanks, I will

chrome topaz
#

you can run linux and have windows in a vm and have it use the gpu and other hw directly

mortal bone
#

How is the card support?

chrome topaz
#

what do you mean? you give the card to windows

#

you need a fairly modern gpu though, well it's all explained on that reddit

shell elk
#

2018 the year of the linux desktop

chrome topaz
#

every year

#

i3 โค

mortal bone
#

EH

#

What desktop flavor are y'all running?

chrome topaz
mortal bone
#

I haven't messed with anything but ubuntu and a long time ago at that

chrome topaz
#

vfio is pretty far away from click-n-play

#

you gonna be using power of terminal and debugging

mortal bone
#

I am pretty comfortable with linux terminal

#

centOS and RedHat

chrome topaz
#

meanwhile, the lag is back

mortal bone
#

what are you using to graph?

#

also is this item per request?

chrome topaz
#

zabbix

#

and yes

mortal bone
#

those seem to vary way too much

chrome topaz
#

not really, other than spikes, it's okay

#

anything below 5k is "realtime"

mortal bone
#

15 minutes of backlog is that what I am seeing?

chrome topaz
#

depends what time period you're talking about

wind garden
#

inbefore delaying the api is too stressful on GGG's servers to keep up....

#

that would be....ironic

chrome topaz
#

maybe they just had server backups disabled and only now noticed

#

that'd be way worse you know

wind garden
#

idk

#

but GGG has way too many issues that are a side effect of everything on their webside/api being tied directly to game servers

chrome topaz
#

hey you gotta admit, at least their own trade system doesn't crash the game

#

i half expected it to cause problems

mortal bone
#

does it not use the same api?

chrome topaz
#

i've no idea

#

if you look at returned json there's "psapi" mention

#

so maybe?

wind garden
#

@timid hemlock are you adding support for Oni-Goroshi?

timid hemlock
#

Aye, it's already coming in the next update

wind garden
#

cool

#

eta? ๐Ÿ˜ƒ

timid hemlock
#

When It's Done (c)

#

Err, but probably sometime today ๐Ÿ˜›

#

That being AU time

wind garden
#

mmk

#

@mortal bone you know a good way to get a list of every base item?

mortal bone
#

pretty sure the data folder has everything you want

#

could be wrong

wind garden
#

k thx

gritty olive
#

gems don't have quests :/

wind garden
#

hmm neither RePoE or PyPoE had a list of base item types

obtuse citrus
#

uhm, BaseItemTypes.dat

#

just read it via PyPoE and take whatever you need

noble siren
#

Is there anyway to extract real mod names in game from RePoE's mods.json file?

tropic shuttle
#

look at the translation file

#

@noble siren eg, take the first entry in mods.json: AbyssAccuracyIfNoEnemySlainRecentlyJewel1_ ... notice that it has stat id: "accuracy_rating_+%_if_enemy_not_killed_recently", cross reference this with stat_translations.json, and you will "{0}% increased Accuracy Rating if you haven't Killed Recently"

simple ravine
#

Well, that's a bunch of mods indeed.

frigid thorn
#

@mortal bone I'm running ubuntu 16.04 on my server, windows 10 on my game desktop and latest macOS on my laptop.

#

So happy that Windows will ship with an ssh client in the future.

simple ravine
#

install bash on windows, boom done

frigid thorn
#

Also Ubuntu on Windows is really nice, espescially with ConEMU.

mortal bone
#

windows has a built in unix console now

frigid thorn
#

Unix console? What are you referring to?

mortal bone
#

meant bash

#

am tired

obtuse citrus
#

they tried an unixsubystem as early as vista

mortal bone
#

you have to have windows in dev mode though

#

Yeah, it is a unix subsystem

#

pretty sure it is a ubuntu shell

simple ravine
#

it's actually linux user space on windows

mortal bone
#

Yeah, it is the entire subsystem

#

have fun lol

#

will be much better than running cygwin

simple ravine
#

I use it mainly to ssh into stuff

gritty olive
#

it does until you want to start doing things with external editors

simple ravine
#

lol

#

symlink it and edit it a windows editor

#

or use an X11 server like xming

gritty olive
#

yeah I didn't want to run an x11 server

#

the amount of effort wasn't enough for the returns at that point

simple ravine
#

it's literally google->click->install

gritty olive
#

have working system already

#

this requires setting other stuff up

#

yeah just going to stick with what I have

simple ravine
#

im happy for you

gritty olive
#

?

simple ravine
#

that you have a working system already ๐Ÿ™‚

gritty olive
#

Eh, working system with cygwin is one click, with subsystem its a long process, not worth the returns

#

The insiders has some improvements but you could already do those things without the subsystem, so QoL has improved for it

#

If you go through the issues for WSL a lot of the comments are to use Cygwin based solutions or unsupported third-party programs that you basically can mitigate by just using cygwin. I think WSL is gr8 for running pure server tasks / commands but when you have to do anything with the windows system from WSL, just use cygwin

mortal bone
#

I am not too experienced with the WSL, but cygwin was a life saver duing school. It was nice not to have to dual boot

gritty olive
#

Same

#

Until I got my hands on a macbook that is

mortal bone
#

never went towards the macbook

#

I didn't have an iPhone, so it didn't make too much sense for me

gritty olive
#

I never got it for my phone or other things, but because my work just gave me one

mortal bone
#

It would have been nice though for my senior project. It was Ruby on Rails, which was a bitch to get running correctly on windows

gritty olive
#

It's really nice to work with most of the time, things just "work" without having to do much setup at all which is really nice especially when you just want to do your thing

#

Yeah for ruby it's install chruby (one line) and now you can use any version of ruby / ruby on rails

wind garden
#

@simple ravine was the code in that screenshot from the library you're working on?

simple ravine
#

yes

wind garden
#

nice

simple ravine
#

That's the API surface, so far.... alpha state, mind you though.

balmy canyon
gritty olive
#

the other ones are private and subject to drastic changes at any given moment

balmy canyon
#

ahh. is there any way to gain acess to them?

mortal bone
#

a lot of them require you to be logged into your account

#

such as the personal tab api as well as the character/passives api

balmy canyon
#

ahh

frigid thorn
#

Mornin'

gritty olive
#

morning

mortal bone
#

Evening

gritty olive
#

its middle of night for me ๐Ÿ˜ฆ

fickle yew
#

@simple ravine share that ggpk c# library already :-)

simple ravine
#

Will probably be early January ;9

mortal bone
#

What license will you release it under?

#

Pretty keen on getting my hands on it lol

obtuse citrus
#

there are libs in visual ggpk if you need somthing now in c#

mortal bone
#

More for messing around then something I need right now

#

visual ggpk is kind of clunky

obtuse citrus
#

for just messing around using the interactive console in python is fairly useful ๐Ÿ˜›

simple ravine
#

I haven't decided yet, but i'm not closing the door on AGPLv2 et al

mortal bone
#

Why v2 and not v3?

gritty olive
#

mit

simple ravine
#

@mortal bone Oh there's a v3, I wasn't aware. Then that is a candidate

mortal bone
#

Honestly, I am not sure the difference. I am just aware of v3 lol

simple ravine
#

@gritty olive I don't want to permit commercial/paywall applications, hence MIT might not be my best candidate

mortal bone
#

GPL can be used in MIT but not the other way around MIT can be used in GPL, but not the other way around

simple ravine
#

wait, I can't use libraries based on MIT in a GPL project?

mortal bone
#

Sorry, I have that backwards

#

I have now fixed my statement

simple ravine
#

hmm, would you want to expand briefly on why?

mortal bone
#

I assume he meant X11 by saying MIT

simple ravine
#

It seems to be compatible

#

Anyways, I want it to be allowed to be used in any non-paywalled applications without restrictions, as long as there's a notice somewhere

mortal bone
#

Yeah then something like GNU would prevent that

simple ravine
#

Say @fickle yew use it with his site, I wouldn't want to require him to open source his site though

mortal bone
#

oh

#

that is an issue

simple ravine
#

but GPL-esque prevents that

mortal bone
#

Doesn't the apache license allow that?

simple ravine
mortal bone
#

Yep, that is where I go normally

simple ravine
#

but i recall seeing a more informative/interactive site for picking a license

mortal bone
#

there is a site (or was) that allowed you to pick the terms you wanted and they gave you a license that best fit

simple ravine
#

@mortal bone What about LGPL, wouldn't that be something?

gritty olive
#

nothing is really stoping them from using it for monetary gain tbh

mortal bone
#

Yeah, LGPL allows use in non-open source software

#

You can always modified the license though

simple ravine
#

For sure

#

yeah, I think it's a fair license to be honest

mortal bone
#

It doesn't prevent your paywalls though

#

You could also dual license your software. Although, this is generally used to have users pay if they don't want to use the main license of the software. If someone doesn't want to use GPL, they can pay you to get rid of the license. You could make this fee a penny or what have you.

#

MySQL does this and a couple others as well

simple ravine
#

I'll just pick one and add a "Don't screw people over clause"

mortal bone
#

You could put it under CC and add the Non-Profit clause

#

The problem is Creative Commons is a license compatibility nightmare lol

simple ravine
#

ugh

#

licenses is boring

chrome topaz
#

non-commercial clause makes your software non-free

#

if you add a "don't screw people over" clause or any non-commercial clause, it won't be compatible with neither GPL nor MIT

chrome topaz
mortal bone
#

Yeah, it is a pain in the ass

chrome topaz
#

what people often get confused about is that in free software definition, the freedoms are user freedoms, not developer freedoms

#

so they say "how can GPL be a free license, there's so many restrictions - i have to publish source code!"

gritty olive
#

this page describes it better imo

#
git log --all -M -C --name-only --format='format:' "$@" | sort | grep -v '^$' | uniq -c | sort | awk 'BEGIN {print "count,file"} {print $1 "," $2}'
#

useful

mortal bone
#

problem is users don't really care about licensing

#

developers are the ones that have to deal with the licenses, and they don't always play well together.

simple ravine
#

people are so entitled

fickle yew
#

I usually just go for MIT. It's permissive and people can do whatever they want pretty much. I wouldn't really worry about other people making money from my poe code.

frigid thorn
#

I'm trying to understand how the public stash API works. Does it just give you a new array of stashes with items in them on every request, from some available shard?

mortal bone
#

It gives you the difference, up to x items, from the last time you requested items. There are 5 shards hence the 5 numbers in the id string. Some of these numbers may not change much at all because that shard didn't have any differences

wind garden
#

@timid hemlock is there a way to trigger "killed recently" in PoB?

delicate ore
#

add an effect that grants it and it should show up in the config

wind garden
#

ah you're right

#

i hadn't equipped it yet

waxen musk
#

hey is there a good way to pull unique data from the wiki? i know how to get the mods, but im more interested in version history

#

hmm theres ~300 uniques with legacy variants, doesnt seem too bad i guess, thought it was way more

#

oh but the wiki doesnt tell the difference between actual legacy items and items where a mod has been completely replaced -_-

waxen musk
velvet fog
#

they are inside each page with api

waxen musk
#

hm? i see release_version in the page source, but idk how to get it with api

woeful sphinx
waxen musk
#

so just the top part with the values is generated?

#

i already have most of the legacy mod data, i just need to fix the version numbers because theyre a mess atm

woeful sphinx
#

yep. Though, it does look relatively easy to parse the information you need from the source. If the API can return source of pages, that might be an easy way.

waxen musk
#

yea i don't see how to do that, so I'll probably just parse html source

woeful sphinx
waxen musk
#

thanks!

simple ravine
#

I normally use things like 'Domain', 'Application', 'Services' in my namespaces in systems I build... but they feel wrong in libraries

#

(Domain specifically in this case)

#

Because, normally a library is implcitly solving a domain problem, right?

frigid thorn
#

What does the stuff in an item name like name: '<<set:MS>><<set:M>><<set:S>>Rift Pace', mean?

simple ravine
#

It's 'poe markup code', you can safely strip that off

mortal bone
#

It is used for languages

#

Masculine Singular

frigid thorn
#

Aah, l18n, thanks.

mortal bone
#

Mhm

#

Each language will have their own identifier, but it should be the same within a language

grave wren
#

Hi, quick question: trying to retrieve all connected maps to a given map, e.g. bog => [lair, primordial pool], whereas bog upgrades into lair (red), i have no clue where to find the connection to prim.pool (yellow) - any pointers?

#

Ah, got it it's in HigherTierMaps_BaseItemTypesKeys

waxen musk
#

hmm do they change stat IDs often? like, the existing ones

#

im tying a lot of logic to specific id's, but i just realised that they probably change them somehow, since surely they didnt name stats "do_not_use" from the start

obtuse citrus
#

not often as far as I am aware

#

those do_not_use are from when they changed mechanics

#

like leech

waxen musk
#

well ye it makes sense

#

but that means theres some constant ID that never changes, since the item DB has to use it

#

guess its not hard to manually fix the changes with every patch

simple ravine
#

I think stats are changed less than mods

#

but that is a guess without much facts backing it up, though

obtuse citrus
#

the modis are fairly consistent

#

I can't recall if they changed them at all

simple ravine
#

When they changed the ES stuff for an example

obtuse citrus
#

They changed the rolls

#

not the mod ids

simple ravine
#

They didn't change the stats, they changed the mods, right

#

well those are the min/max values on the mods, and not the stat, though?

obtuse citrus
#

yes but the mod id is still the same

simple ravine
#

ah yes

obtuse citrus
#

their db might very well store values per modifier based on the index (first stat, second stat, etc) rather then using a reference to the stat

#

but we dont know

simple ravine
#

yeah, im terrible reverse engineering executables

#

but I suppose that would be an option if you really want to know

mortal bone
#

Yeah, it isn't too bad, but it is nice to get able to debug through when reverse engineering. I wouldn't really want to do that with a game I would care about getting banned in

waxen musk
#

eh you can just disconnect while debugging

simple ravine
#

I dont think so

chrome topaz
#

get a second account

delicate ore
#

@timid hemlock Elder shields aren't displaying the elder mods

#

doing it on a Vaal Buckler

timid hemlock
#

Fixed in the next update

gritty olive
mortal bone
#

finding pre 1.0 skill tree data is impossible

#

@chrome topaz do you happen to have any pre 1.0 skill tree data laying around? I know you have an old branch on github, but it seems to lack the data

simple ravine
#

im curious what u're up to, Emmitt

mortal bone
#

I am trying to compile all the major tre changes into a nice website

#

you could flip between them all to see the differences

simple ravine
#

oh, cool

mortal bone
#

I have everything from 1.0 foward, but the tree was much different in the 0.9 and 0.10 patches

#

this site has 0.9.2f, but it is all hand coded

#

this is the point in which the shadow was unknown, hence why he is refered to as SIX every where

#

scion being SEVEN

#

super high res of 0.10

gritty olive
#

interesting

chrome topaz
#

@mortal bone don't think so

mortal bone
#

damn

#

actually looks like I have data for 1.1+

gritty olive
#

is acquisition the only way to sell bulk currency items ?

mortal bone
#

you can list them in a sale tab

#

just price one, and the shop will give you a 'stock'

gritty olive
#

~price 3/1 fusing

#

ah found it

mortal bone
#

ye

gritty olive
#

nice

mortal bone
#

so many small changes each patch >.>

gritty olive
#

2016 was more active than 2017

pseudo ocean
#

I always wonder why we need to use fraction on 1.4 1.3 etc when selling

#

when it looks 1.4 ingame

delicate ore
#

@mortal bone can you request data for the old trees from GGG?

mortal bone
#

I can just look through the archive, but it is a pain because every patch could have tree changes

delicate ore
#

i meant for the stuff before open beta

#

the really old tree data

grave wren
#

Another question regarding the ggpk & maps - i can get the monster packs by using MonsterPacksKeys but this dat does not seem to link to specific mobs, just contain their ID and Tags. WorldAreas also does have Monsters_MonsterVarietiesKeys but this seems to be mostly empty. Is there a way to get maps default mobs?

simple ravine
#

Some .dat files are emptied on purpose by GGG, so it doesn't reveal the data to people like us ๐Ÿ˜

grave wren
#

Ah too bad, but somehow understandable ๐Ÿ˜„

gritty olive
#

well thats nice

#
request.setRateLimitByString('5:3:60')
request.setCacheExpiry(30)
request.start()

tabs.forEach(tab => request.push(() => tab))```
#

enlightenedchaosthinking I'll add to the subscription function an interval

#

subscription interface works, so does caching, this is nice

simple ravine
#

what are u working on?

gritty olive
#

eh i'm not sure what to properly describe it as

#

Basically it makes requests and adheres to the rate limit with a built in cache system

#

so if you add 10000000000000000000000 tabs

#

it will never, ever, go above the limits

#

it also doesn't make requests immediately but is a subscription system

#

Round Robin Throttled Request Client with Caching and Event System

#

is what it is

#

hm. the evenly spaced doesn't work properly with the circular job structure

simple ravine
#

dataflow with backpressure

gritty olive
#

yes but it's circular

simple ravine
#

round robin doesn't necessarily have to be circular, but sure

gritty olive
#

sure, well I'm not sure the model exists currently so i'm trying to find things that fit the idea

#

Basically you have a list of requests, it takes a chunk, does them, caches them, gets next chunk, puts old chunk back into the list, checks current chunk for holes, fills, requests (when cache is expired), caches items, fires a listener

simple ravine
#

distributed load balancing

gritty olive
#

but for client-side requests

simple ravine
#

so let me get this straight

#

you have N nodes that does stash tab requests with different public IPs?

gritty olive
#

this solves for

#

1 node, doing N stash tab requests

#

multiple times

simple ravine
#

ok, so if you have 1 node,

#

it's just simple caching i suppose

gritty olive
#

not really :/

#

I thought so too

#

You can have 80 reports, each use different tabs, when a report is created it needs the data from the tabs

#

how does it get that data, and how do the other 79 get their data as well

#

I'm moving from the previous model of, every report manages their own tab fetching to a centralized fetching mechanism

#

and they use it as a pool

simple ravine
#

that's pretty standard logic though...

gritty olive
#

So I will get your tabs for a league, shove them into the pool, the pool will continuously fetch and cache them for N minutes or seconds, and when a tab gets updated, so do your reports

#

Until you get into dynamic requests ๐Ÿ˜„

#

And manual refreshes

#

And more tabs than the rate limit window allows

#

Not to mention the secondary windows -_-

simple ravine
#

no what I mean is caching middleware is like... super standard ๐Ÿ™‚

gritty olive
#

yes, but this is all, frontend ๐Ÿ˜ƒ

#

browser

simple ravine
#

yeah, we did the same in a project ~8 years ago ๐Ÿ˜›

gritty olive
#

also can't find anything open source that does this

#

I can find them all individually

#

but not as a single thing

simple ravine
#

we wrote our own request service

#

with caching rules based on endpoints etc

#

abstraction is key

gritty olive
#

hence why I wrote mine ๐Ÿ˜›

#

@polar island I'm trying to get currency-cop into the position of "lazy loading" rather than "wait-n-show"

#

So reports get gradually built

#

the retry-after would be nice enlightenedchaosthinking once I get there

gritty olive
#

Caching has a 30s timeout so it works nicely

#

evenly spaced works pretty well now too

#

(I forgot 9 in the list, so its not a bug)

gritty olive
#

Listeners can have timeouts now

#

All done for this

mortal bone
#

You don't need a retry after. It is a 60s lock out

#

At 60s+ you can try again with success

compact isle
#

we do actually supply a retry-after

mortal bone
gritty olive
#

I haven't tested for retry-after, but the point of it is to completely avoid hitting that, and ensuring that we aren't overloading the api and doing unneccessary calls

#

Someone has 240 tabs, let's not make it possible for them to do 240 every 240s since that would be absurd, eventually want to get into the point of having the refresh only kill the tabs of the report you're trying to refresh

#

Also want to move from having the current system of 240 for every report

#

@compact isle while you're online, any news for when the map tab will be on the site?

compact isle
#

probably not for a while, it'll need to go out in a proper patch

simple ravine
#

y u no have cache mechanism server side with etags @compact isle

#

(that doesn't count towards api usage)

compact isle
#

because our backend doesn't support it, which means our web side would have to re-fetch the data anyway which defeats the purpose of it not counting towards the api limit

simple ravine
#

i'm sorry to hear that ๐Ÿ˜

compact isle
#

it was never designed with the website as the priority, it's a game server backend after all

simple ravine
#

i guess it is what it is

mortal bone
#

well, it can't be what it isn't

simple ravine
#

if it's immutable*

wind garden
#

Is there a good websocket client for C#?

simple ravine
#

yes, built in

mortal bone
#

ye

wind garden
#

k, i was using websocket-sharp

#

but it seems to suck

mortal bone
#

System.Net.WebSockets lol

simple ravine
#

if you're supplying your own server, take a look at SignalR

mortal bone
#

na, he is making a sniper for poe.trade

wind garden
#

oddly, ClientWebSocket doesn't seem to read full messages as strings

simple ravine
#

ah

#

it uses byte buffers right?

wind garden
#

have to supply a buffer and check for message close status

#

yes

simple ravine
#

yeah

#

node.js clients etc abstracts all that thing away, on good and bad

wind garden
#

not a big deal, just checking if there's already a complete solution i could use

mortal bone
#
--- ERROR ---
Critical error at address 5E13F8E0h:
Access violation: attempted to read from address 69C6217Ch

lol

simple ravine
#

So you took upon yourself of trying to read the poe game?

mortal bone
#

na, this is Path of Building

simple ravine
#

ah

mortal bone
#

I wouldn't publicly admit to reverse engineering the client

#

that would be suicide

#

that error happens when you leave the pob open for a couple days

chrome topaz
#

I remember when I re'd poe client to figure a bug and found they used clipboard wrong which is why it was broken on wine yet worked on windows

mortal bone
#

how do you use a clipboard wrong?

chrome topaz
#

I think they freed it with GlobalFree or something, been a while ago and I can't find the log now

mortal bone
#

Ah, ok

delicate ore
#

@chrome topaz @polar island did you consider allowing notes for items without buyouts?

deft jolt
#

allowing certain keywords would definitely be nice

pallid doveBOT
#

Please don't post discord invites

simple ravine
#

aww snap

#

that's lame, @pallid dove

#

@delicate ore what were u trying to send?

delicate ore
#

the mercurytrade author has a dev discord

#

was posting the link

#

if you want it, i can pm it

#

also, i think its kind of lame that this server disables discord previews. that should be left to the user's discretion

waxen musk
#

@obtuse citrus how do you generate specs in stable.py? i noticed you overwrote some previous pull requests after merging in the 3.1 data

gritty olive
delicate ore
#

hmm

#

you said you're making a web version of currencycop?

#

also did you take my suggestion of counting chromatic and 6s items as their vendor recipe worth?

gritty olive
#

I was chaosthinking but then some roadblocks introduced themselves that I really didn't care for solving

#

like still having to store session ids in a database due to how the report fetching would need to be done and I don't like that idea

delicate ore
#

what's stopping you from using localstorage?

#

oh

#

i think i know

#

cross-site requests and the like

gritty olive
#

yeah, but storing reports, history, fetching while the user is away, stuff like that

#

requires storing the session id

#

or credentials and I don't want to do that

simple ravine
#

create a windows service that reports to a central database

#

people aren't going to accumulate/mutate their networth if they dont have their computer on

delicate ore
#

can't you make the client do all that lifting?

#

and then have it give the server the stash info

simple ravine
#

what i just said ๐Ÿ˜ƒ

gritty olive
#

But that completely negates the whole point of doing it as a web service is why I was going to do it

#

Which is why I was like, well if I have to just do CC in the browser again like it was with the app, just work on the app tbh

waxen musk
#

how do shaped/elder items work, theyre basically separate bases?

#

there are item tags like bow_shaper or bow_elder

#

but no base items with those tags

timid hemlock
#

They aren't separate bases

#

Just items with extra tags

#

Well, flags that apply tags, I think

#

The assignment of tags for those items is in ItemClasses BTW, if you havven't found it otherwise

waxen musk
#

oh thanks ill check

#

can they have normal mods btw? i havent played this patch much >.>

timid hemlock
#

Yes, they can

#

Being shaper/elder just adds the extra tag that enables the respective modifiers

grave wren
#

Hm, is there a way to retrieve the complete map graphics and not just the icon from the CDN? I've only found this url to retrieve the icon: http://web.poecdn.com/image/Art/2DItems/Maps/Atlas2Maps/New/<name>.png

deft jolt
#

Probably not

#

they do fall under the game-file category

grave wren
#

hm, too bad then I'll have to tinker around a bit to generate a matching shape before applying the image, thanks!

waxen musk
#

pretty sure you just draw the icon on top of the base icon?

grave wren
#

Normally sure, but I'm toying around with http://js.cytoscape.org/ - currently i was unable to draw multiple images on one node

waxen musk
#

you can combine them before feeding them to the lib i guess

grave wren
#

true, but with the options to make your own polygon shape it might be worthwhile to figure it out and build the map shape as polygon ๐Ÿ˜„

gritty olive
#

Honestly, I'd make the entire thing a single layer, then draw ontop of it

grave wren
#

Would be easier, true but I wanted to try something new ๐Ÿ˜ƒ

gritty olive
grave wren
#

looks good

gritty olive
#

Somehow made it look more business like

deft jolt
#

looking good ๐Ÿ‘Œ ๐Ÿ‘Œ

delicate ore
#

@gritty olive can you make it display average earning per update_interval?

#

so i can see if im earning say, 200c per hour

#

i wouldn't even lock it to the update interval, i would suggest adding the ability to set your own interval

#

so you could have a report that updates every 4 hours but displays average hourly earnings

twilit monolith
#

is there a json file or something somewhere that has the coordinates of maps on the atlas?

mortal bone
#

pypoe can extract that information

#

just search in this channel, and you should find the info you need

deft jolt
#

Oh boy. an important milestone. it's been 1 week since i started my application and there have been zero issues

mortal bone
#

what app?

deft jolt
#

An incredibly lightweight unique/map/gem pricer

obtuse citrus
#

@pseudo ocean that wasn't intentional, fixed it

gritty olive
#

@delicate ore thats what the GAIN/LOSS is for

#

I mean, eh it's not an average of them all..

#

do you mean average over all time?

gritty olive
delicate ore
#

@gritty olive thank you!

#

i got a weird request... can you eventually make a mercurytrade-style overlay so you can see your earnings on-screen?

#

i think you can make a frameless/borderless always-on-top transparent draggable window in electron

#

thats how mercurytrade does it

#

even its just the report name and value with last gain/loss like on the left of that screenshot

#

if you won't do it, i might make a pull request for it in the future

grave wren
#

while mt=x is coloring the icon according to the map tier if mn is also set

mortal bone
#

nice

grave wren
#

๐Ÿ˜„

deft jolt
#

Oni-Goroshis/hour plummeted from 640 to 320 after the change

#

And prices pretty much doubled

#

interesting

gritty olive
#

@mortal bone will you ever add currency cop to the tools list xD

mortal bone
#

Generally after the tool has proven itself and kept up to date. It prevents us from having to call the list that often

#

Also, send a mod mail lol it is a nice task list

gritty olive
#

I genuinely don't ... well I guess that link is it

#

the link is so tiny xD

mortal bone
#

Huh?

gritty olive
#

doesn't really use reddit that often

mortal bone
#

Oh, yeah. Reddit really likes to hide that. I should make it bigger

#

Send a forum link/website/developer that you want on their

reef jacinth
#

Does anyone know if there's monster base health by level data somewhere? Like PoB says lvl 80 mobs have 12466 health, where is that from?

obtuse citrus
#

DefaultMonsterStats.dat

#

Also the actual hp depends on monster and where you can find it , becaues map tiers give extra hp to mobs and individual monsters have different hp

wind garden
#

Oni-Goroshis/hour sounds like a qualilty metric

lusty musk
#

is the public attribute in the stash api used to signal someone making their tab private by giving a stash with public set to false?

simple ravine
#

try it, with one of your own tabs

lusty musk
#

argh, why does the API only give typeline and not base and item class?

#

getting the base from magic items is annoying af

simple ravine
#

annoying, indeed... not so hard tho

lusty musk
#

what is a consistent and simple method to do it?

simple ravine
#

a list of base items and regex?

lusty musk
#

kind of inefficient

#

plus you'd need to find in order of name length

#

because "Skean" would match for "Imperial Skean" as well for example

simple ravine
#

i did many thousands of items per second that way

#

with 100% consistency

lusty musk
#

but I guess sorting a list of base items by length descending and picking the first one that matches should work

simple ravine
#

exactly

lusty musk
#

assuming there isn't any mod that makes stuff ambiguous

#

@simple ravine for rare items is typeLine always just the base?

#

or can you have a rare that still has other stuff in the typeline

simple ravine
#

not that I know of, I dont have anything in production yet

lusty musk
#

does the 'duplicated' property mean mirrored?

compact isle
#

yes

lusty musk
#

@compact isle I noticed that the AJAX reply on pathofexile.com/trade contains an 'indexed' timestamp, would it be possible to expose that for the public stash API as well? At the moment the only way to track when an item gets listed is by running a server 24/7 from the start of a league and timestamping every item the very first time it appears. If you didn't do (or want) that, old items are (AFAIK) indistinguishable from new.

chrome topaz
#

wouldn't work if they remove item then place it back

lusty musk
#

I don't really care about the edge cases, as long as it's consistent behavior (keeps first index or resets time are both fine for me)

#

@chrome topaz what behavior do you use for poe.trade for the age marker for items?

chrome topaz
#

plus there's no way ggg adds it

#

track first seen using item hash

lusty musk
#

hash, not id, I guess to track currency usage as new items?

chrome topaz
#

actually not hash but unique id

#

so if you chrome it it doesn't reset the age

lusty musk
#

I'm kind of curious xyz, if you are willing to say, what database tech you use behind poe.trade

gritty olive
#

he once said it was all custom

chrome topaz
#

yeah

lusty musk
#

not even a DBRMS?

chrome topaz
#

the item search is custom

#

there's mysql for user data and kyoto-tycoon for URLs and item hashes

lusty musk
#

my first prototype (just for gathering market data, not even querying live data) used sqlite, but it kinda became too slow as the database became too big

chrome topaz
#

anyway everybody else uses elasticsearch for item search so you might want to try that

lusty musk
#

I'm not looking to make an indexer

#

I'm looking to gather item price information for my neural network ๐Ÿ˜ƒ

chrome topaz
#

then what part is slow?

lusty musk
#

I wish I had actual trade data ๐Ÿ˜ฆ the best I can do is track which items disappear reasonably fast and mark those as sales

#

my first prototype was quite naive, and involved some full table scans

#

also sqlite slows down when a table gets too big (millions of entries)

#

@chrome topaz roughly how much data storage do you use for the full up to date snapshot of all items?

chrome topaz
#

like under 100 gigs

lusty musk
#

oh my initial prototype was also rather dumb in that it stored basically raw json data from the stream, icon links and json description and all without any deduplication

compact isle
#

indexed time is quite different from "item placed in stash"

lusty musk
#

@chrome topaz for item price prediction I'm interested in 'what can this item sell for', while the stream gives 'what did 500 inexperienced players list this item for', without tracking actual trades the items listed are effectively noise

chrome topaz
#

well good luck with that

#

i think about once per month there's people coming into this channel with that idea

lusty musk
#

my best model so far uses data from up to day 6 of abyss league

chrome topaz
#

or asking me for a data dump

#

then i never hear from them again

lusty musk
#

I think it's because then mostly experienced players were in maps

#

don't get me wrong, my model is (IMO) already quite succesful

#

it could just be so much better

gritty olive
#

your model is ?

#

inb4 random forest

lusty musk
#

I'm not too keen on sharing exact details but I can say that it's based on multilayer perceptrons

gritty olive
#

eh so a supervised algo

chrome topaz
#

how much you made?

lusty musk
#

what do you mean @chrome topaz ?

#

@gritty olive define supervised in this example

chrome topaz
#

from flipping rares

lusty musk
#

I am training it on tagged (priced) data

chrome topaz
#

or how do you measure success?

gritty olive
#

perceptrons are the most basic form of machine learning, supervised algorithms

lusty musk
#

@chrome topaz ah, I have made personally 60+ex, but I haven't really intensely watched it

#

I have various expert player friends that are very positive about it though

#

@gritty olive what would unsupervised here be? group items into similarity using machine learning and then looking up the cheapest similar item afterwards?

#

@chrome topaz I could've made a lot more without the one minute delay though...

#

most of the time it's already sold

chrome topaz
#

i see

gritty olive
#

no

#

thats not machine learning

lusty musk
#

because as I understand supervised vs unsupervised is mainly whether or not your data is tagged (either by price, classification or otherwise)

#

also what I described is most certainly machine learning

gritty olive
#

that is not the difference between supervised and unsupervised

#

Supervised: Process, and compare to known dataset
Unsupervised: Derive a cost functor from the desired behavior, cost functor describes to your neural network the targeting offset. Network will adjust and improve over time to your cost functor description

lusty musk
#

"Unsupervised machine learning is the machine learning task of inferring a function to describe hidden structure from "unlabeled" data (a classification or categorization is not included in the observations)."

#

first sentence on wikipedia

gritty olive
#

The key point is that it derives a cost function for the dataset that continously improves the neural net

lusty musk
#

regardless, you sounded a bit disappointed when I implied that my algorithm is supervised

gritty olive
#

What you described doesn't do that

lusty musk
#

why is that?

gritty olive
#

Because, it's based on your assumptions (which is fine) but not anywhere near what possible

lusty musk
#

what assumptions is it based on?

gritty olive
#

you'll have to describe the algorithms first

#

supervised implies a form of bias

lusty musk
#

I think you have a bit of a too rose-colored idea of what unsupervised learning does, and a too rigid idea of what supervised learning does

gritty olive
#

Since to create a perceptron, you need an input, a bias, activation functions, and a output

lusty musk
#

the bias is learned

#

everyone uses (p)RELU activations anyway

#

the output is already pre-defined (predicted value)

#

and the input is as well (the item)

gritty olive
#

Supervised literally differs due to interference with the bias

#

bias/variance tradeoffs of supervised learning

lusty musk
#

oh you're talking about a different bias

#

since you said it right before activation functions I assumed you meant the bias at each layer

#

but the issues you're talking about are nowhere near the difficult part regarding this particular problem

gritty olive
#

Nope, sounds like you're using Keras, which is why you have some rigid ideas about it

lusty musk
#

practically speaking

gritty olive
#

Maybe for a supervised system

lusty musk
#

describe to me what an unsupervised solution would look like in this case

gritty olive
#

You don't have an unsupervised feeding the supervised functions yet it seems

lusty musk
#

I don't know what you mean by that

#

I am using keras by the way ๐Ÿ˜‰

#

like my biggest mental hurdle is that since this is a regression problem, I don't even know what unsupervised regression would do

#

@gritty olive what do you mean by "an unsupervised feeding the supervised functions yet it seems"

gritty olive
#

R vs C

lusty musk
#

that's too vague to be useful

gritty olive
#

Classification vs Regression

lusty musk
#

so you're suggesting classifying items unsupervised into similar groups

gritty olive
#

Well, I'd like to know a few things

#

Correlation, Classification, Regression

lusty musk
#

well the only problem I'm interested in is regression, that is finding out how much an item will sell for

gritty olive
#

based on what assumptions though

lusty musk
#

predicting how much a previously unseen item will sell for based on data from previously sold items*

gritty olive
#

so you ultimately just have like two layers

#

Disspointment is from the fact, it requires the river to move, and is not predictive,

#

you would have been late to the dual mods, and oni

lusty musk
#

ohhh now I see what angle you're coming from

#

I don't really think unsupervised is what you're looking for

#

if I understand you correctly

#

your point is that a true intelligent AI can predict prices based on item merit alone, regardless of market?

gritty olive
#

somewhat, but it would require an unsupervised learning algorithm, a reinforcement, and supervised chained together

lusty musk
#

or just a bunch of path of building presets that can hotswap items ๐Ÿ˜› and calculate DPS, life, etc values to determine item value

gritty olive
#

well (a few unsupervised)

lusty musk
#

but I dno

#

that's way too ambitious for me

gritty olive
#

Yeah, you could get all the popular builds, and build an api to modify items on PoB or pull out the code that does the calculations and build it into a model

#

and do comparisons

#

that would get you pretty close

lusty musk
#

fundamentally the problem still can't be solved without market data though

#

let's say you're a superintelligent AI

#

and I present you with a new unseen item

#

oni-gorochi

#

without knowing droprate

#

player popularity

#

you still couldn't say ANYTHING about the price

gritty olive
#

you'd atleast learn item popularity and could estimate 50-1ex

lusty musk
#

fundamentally merit is irrelevant, it doesn't matter how much an item is really worth, what matters is that you're the cheapest on poe.trade

gritty olive
#

which is reasonable

#

eh, not always

#

cheapest is for quick money, highest is for long-tail sells

lusty musk
#

I'm pretty confident that if GGG were to give me an anonimized data set of actual item trades that happened, my model would be incredibly accurate for almost all items

#

the big issue is that most stuff that gets listed never sells because either the item is fundamentally worthless (not a problem) or just heavily overpriced (big problem)

gritty olive
#

for items that are worthless ^ is true

#

or at least, highly focused for a single build and is also low in rolls ^ is true

#

however, items that have perfect rolls / enchants, ^ is not true

lusty musk
#

@gritty olive did you take a look at the sample I posted above?

#

of predictions the model does atm

gritty olive
#

no

gritty olive
#
Adds 19 to 36 Fire Damage to Attacks
Adds 3 to 43 Lightning Damage to Attacks
Adds 15 to 25 Cold Damage to Bow Attacks
Adds 4 to 43 Lightning Damage to Bow Attacks
โ€‹
orlpbotBOT - Today at 1:03 AM
Rings, Price: 1, predicted: 19, range: 13-26 (account: cencen) ```
lusty musk
#

some predictions are simply dated because the model is only based on data from the first 6 days

gritty olive
#

This is my point, cheap but quick :D, not perfect rolls

#

It works for the middle ground, but it wouldn't work for the fringe

#

or build your own basic one

lusty musk
#

did you mean can't?

gritty olive
#

Can't? Why can't you? They do basic ML on items

#

I would say the only reason for "can't" is speed

lusty musk
#

I'm just a bit confused

#

because you said it wouldn't work for the fringe