#tooldev-general

1 messages ยท Page 97 of 1

timid crest
#

i understand that, but the margin of error seems a bit too high, maybe

#

like, if the aim is to provide a realistic currency value, it sadly seems too far off

frigid nova
#

Coming up with "realistic values" based on river data is a difficult task. I've found many instances where poe.watch seems much more accurate than poe.ninja

#

Also you should really focus on the most active leagues, since there are more data points and active trades.

timid crest
#

i'm not even comparing it to poe.ninja right now, i'm just checking the actual listings on the official trading platform, and i know for a fact most of those top5 listings would respond if i whispered

#

so in a real scenario like that, this "1:225" value is way too high and i can't depend on it to do any meaningful analysis

#

i do remember the currency ratios on poe.watch being way more sane previously, i wonder if that might be a bug

violet path
#

smaller currencies have always had issues

#

check out wisdom prices in standard, for example

#

but i believe its part of a tradeoff; poe.watch is usually faster to catch things rising/falling quickly compared to other trackers

deft jolt
#

yeah can confirm it's pretty tough filtering out the invalid listings

simple ravine
#

You could always try some kind of normal distribution formula, and also black list based on those from larger currencies like chaos or exalt

brazen rose
#

running TradeMacro just caused my virus cheker (Avast) to flag it as malware

violet path
#

Trade site correctly has different mods for "% increased Armour" and "% increased Armour (local)", but there are no (local) variations for hybrid local mods like "% increased Armour and Evasion". Pretty sure this wasn't always the case? @compact isle

pseudo ocean
#

is there a tool that allows us to autoloot specific loot with a button or somrthing

#

people be stealin saints treasure ;-;

frigid nova
#

That is solidly in the gray area of what is against ToS (with strong arguments its against ToS), so no one has developed it to my knowledge.

pseudo ocean
#

o

#

Goddamnit

compact isle
#

@violet path I have a list that the suffix gets manually added to to reduce confusion

#

I don't see armour and evasion on here but can look into adding it

frigid nova
#

I seem to remember there being example of mod groups which could spawn both prefixes and suffixes on a given item, but am struggling to find an example of one. Does anyone know if such a group exists?

compact isle
#

the classic case I remember is item rarity

frigid nova
#

seems those are in differentiated mod groups ItemFoundRarityIncreasePrefix, ItemFoundRarityIncreaseSuffix

#

I wonder if there was a pass over all the mod groups at some point to prevent them from overlapping in both prefixes and suffixes...

compact isle
#

oh you mean actual groups

frigid nova
#

yeah

snow kernel
#

@brazen rose why on earth do you have avast running, you on win7 or smth?

simple ravine
#

Yeah

simple ravine
#

Well, it's the first setup that doesn't have the whole management thing inside the router, so I guess it's convenient to have a little thing to manage your setup

simple ravine
#

what challenges are u facing?

#

Ouch, can be a good idea to grab those backup config files

frigid nova
#

@compact isle I think the clipboard feature on the trade website might be bugged for beasts.
in game:

Rarity: Rare
Agonysucker the Harrying
Flame Hellion

trade website:

Rarity: Rare
 the Harrying
Flame Hellion
#

Also colored text seems to be different:
in game:

Spectral Swipe

trade website:

{Spectral Swipe}}}
compact isle
#

Will investigate

frigid nova
#

no rush, thanks!

golden bane
#

Path of Building's documentation states, that Ctrl + ~ brings up the console, but I can't get it to work. I use ISO-DE as layout, so I have to press AltGr + + (right Alt) to get a tilde. However, Path of Building already uses Alt as a shortcut for something else, so I changed my keyboard layout. Still not working. Does it work for someone else?

frigid nova
#

yeah it works

#

Ctrl ` works as well

cosmic saffron
#

`~ are the same key on the top corner

golden bane
#

I had to change to US layout specifically, thank you both

small hatch
#

Does PoB account for culling strike in the dps calc?

jade adder
#

You can always check to see if the mod is highlighted red which will tell you if it is being factored in or not @small hatch

#

I don't see how culling strike could be since it would depend what you are killing

#

though you can factor it as an 11% more damage

#

practically it will be much different though

small hatch
#

I'm mostly looking at my dps vs lvl83 monsters, delving past 1k. Theoretically it's a 10% increase in damage I guess, I'll check for the mod highlight later thanks

jade adder
#

it's 100/90 so 11% more if you have shitty culling

#

25% more if its slayer cull

small hatch
#

It's marylene's fallacy culling so @ 10% or lower ye

small hatch
#

Culling strike on Marylene's is marked as red so it's not included I guess

earnest ledge
#

its not accounted for

small hatch
#

Thanks ๐Ÿ™‚

#

I'll just add 11% to my dps templarLul

grave wren
carmine merlin
#

That one is more of a feature request that I know a bunch of people want it there

#

It's already up on my feathub

grave wren
#

hm i'd seen it as a bug as it works with normal pob but good to know ๐Ÿ™‚

carmine merlin
#

Oh really, I'll have a look into it now and see if I can fix it

grave wren
#

i think this is the best example where you can check the behaviour

frigid nova
#

@chrome topaz would it be possible to get copy and paste to work on pob.party on osx? (or is there a fancier way to import builds I don't know about?)

worthy cape
#

@compact isle in the reveal screenshots in news there has been weird colored glows around the item image. Will that somehow be communicated in whatever API results there are, or just promo art and in-game?

compact isle
#

that is a great question

#

we haven't done website implementation on it yet so I'll get back to you on details

#

essentially the glows are a representation of the influence on an item so it might result in changing shaper / elder into a new property in the item json

#

(and in the image URL)

compact isle
#

the json changes on the announcement page aren't necessarily what we'll go with in terms of the public stash API etc

velvet fog
#

will the json changes come with patchnote?

compact isle
#

I'll do one of those forum posts in the Website APIs subforum about the changes

carmine merlin
#

Was implementing the mods for Vulconus to work in PoB and was wondering why every time I tried to activate Avatar of Fire to get the mods to work, it would crash. Thought maybe Openarl had some weird implementation of the node until I realised on one line I had been using an uppercase O in "Avatar of Fire" that broke everything ๐Ÿคฆ๐Ÿปโ€โ™‚๏ธ

lavish gust
#

stringly-typed code is a nightmare

jade adder
#

Funny story, in one of the recent WoW raids there was an item that was supposed to increase your stats while fighting the final boss but it didn't work because they were using a string comparison and they spelled the name wrong on the item. The item said "G'hunn" and the bosses name was "G'huun".

#

Even though enemies have unique ID's

deft jolt
#

Find the intern templarLul

lavish gust
#

git blame

#

or... as a better preventing method: grep all the code for uses of strings. Chances are something weird will show up.

grave wren
#

our licensed document management system served npm logs as pdfs via an inbuilt http server

#

i did not investigate further

lavish gust
#

aren't logs plaintext?

worthy cape
#

Management can't use plaintext, silly.

#

Someone reminded me today of PHP's beautiful md5('240610708') == md5('QNKCDZO') thing today.

grave wren
#

as i said i didnt even question the machine god in this document management system

lavish gust
#

that's MD5 problem, not PHP

#

unless PHP uses this algorithm in its own standard library eg in hash tables

worthy cape
#

@lavish gust No, the hashes doesn't match.

#

They both start with "0e, which ==-compared are clearly scientific notation numbers.

#

And 0 * 10^x is zero.

lavish gust
#

strings are the source of type safety errors in all languages

#

the question is why a checksum returns a string

grave wren
#

my favourite is php's iso date format

#

Note: This format is not compatible with ISO-8601, but is left this way for backward compatibility reasons. Use DateTime::ATOM or DATE_ATOM for compat

worthy cape
#

Ease of use to not have to coerce however you express a binary array into something printable.

lavish gust
#

Regarding formats, I liked the approach of some univeristy: the denied any incoming mail with attachments in specific formats (eg docx) with an automatic reply that they do not support closed software with a link to FSF's manigefesto and some information how to obtain free GNU software

worthy cape
#

I like how the PHP team tries their darndest to make the language slightly less meh.

grave wren
#

and yeah

worthy cape
#

Recent ones (7.4?) deprecates nested ?: statements if they don't have parens.

grave wren
#

i think php7.x is decently usable

#

i'd not want to use it because it doesnt fit any use case i have but i'd not hate it

lavish gust
#

wait

#

how a function which literally is named after ISO 8601 does not return an ISO-valid date?

#

like, it should be a bug from the beginning in the implementation

worthy cape
#

Not quite sure what part of it is incompatible, is it the colon-less TZ?

#

I thought that was fine.

#

At least according to Wikipedia, I don't own the ISO spec.

lavish gust
#

C and C++ have strict aliasing rules which break a ton of old libraries and the language committees don't give a shit about non-conformant code. It was stated in the spec in 1989, they blame people who write bad code and praise compilers for better optimizations. Can't PHP go this way?

grave wren
#

i think so yes

#

can't use the basic format for tz when you don't use it before

#

basic format being the date without - and : separators

worthy cape
#

According to some random-butt blog I found, seems like the standard allows both, but some other implementations (Edge, Safari) require the colon.

#

I'm toying around with an idea where I would need end-users to upload a fair bit of data for me to ingest and shortly later broadcast to a number of peers. What do the cool kids do for that, write-only S3 buckets or something?

grave wren
#

wow i cant even view the iso format specs without paying facepalm

lavish gust
#

go Wikipedia

grave wren
worthy cape
#

You had me worried and made me go look at some work code. "%Y%m%dT%H%M%SZ"

#

Can't heck up timezone if it's always zulu ๐Ÿ˜„

grave wren
#

maybe

worthy cape
#

Wait... is the PHP library Carbon named after "carbon dating"?

#

Clever ๐Ÿ˜„

#

Beats Python's "arrow".

grave wren
#

i liked working with carbon and yep i think so

compact isle
#

not sure on the exact item filter implementation but I'll see if I can find out

civic sluice
#

Does anyone know the detailed mechanics of how fossils work?

#

Specifically the odds for Glyphic Fossil essences, Perfect Fossil quality, Sanctified Fossil high level modifiers, and Tangled fossil?

golden bane
#

@civic sluice AFAIK, that's not dataminable, so you would have to conduct your own statistical experiments

frigid nova
#

All of those are known except sanctified, to my knowledge. Working on a project to reverse engineer sanctifieds atm..

golden bane
#

Really? They're not on poedb

civic sluice
#

That's what I mean, does anyone know where that info is?

golden bane
#

Cool stuff

civic sluice
#

I'm looking for info that's not in the json file

#

Though the MD file has some of it, thanks

frigid nova
#

If there's anything missing feel free to ask

civic sluice
#

How is the corrupt essence chance calculated? It's listed as 100 and 10. Is that weight per essence mod?

frigid nova
#

There's a flat chance that the fossil will force a essence mod

civic sluice
#

Are the essences restricted by the item ilevel?

frigid nova
#

They are corrupted essences, which iirc have no ilvl restriction.

civic sluice
#

Is the listed chance out of 100 then? So guaranteed for glyphic and 10% for tangled?

frigid nova
#

correct

civic sluice
#

Perfect fossil is an unweighted roll 15-30?

frigid nova
#

to my knowledge

civic sluice
#

Does anyone know what happens when you have the "prefixes can't be changed", "suffixes cannot be changed", and "metamod" affixes all on the same item and scour it? I'd assume that it would consume the orb and the item would be unchanged.

cosmic saffron
#

I know that's an expensive way of renaming items

#

multi+pre+suffix can't be changed, then chaos it

civic sluice
#

Ok, so it should consume the currency then

foggy bear
#

@hazy fog tried to DM you, but you blocked them DMs :3
How big/fancy does a tool have to be, for the dev to be ackknowledged as a tool dev?

hazy fog
#

not very

cosmic saffron
#

if you just post a public github you usually get the tag

hazy fog
#

yeah pretty much

foggy bear
#

Not wanna make the source public ๐Ÿ˜…

prime wasp
#

really?

hazy fog
#

sounds like it misses the publicly available requirement then blobshrug

prime wasp
#

whta bout me

#

๐Ÿ˜ณ

foggy bear
#

Ah only if the src is public? too bad ๐Ÿ˜ฆ thanks though!

hazy fog
prime wasp
hazy fog
prime wasp
#

wat

#

yikes same name

#

no thats not me

hazy fog
#

good because that guy was sketchy af

prime wasp
#

ah his is a full gui

hazy fog
#

Welcome to tooldev # <Why did discord remove the # from role log>, @prime wasp Author of a different PoE Sniper. not the closed source monstrosity peepoHide https://github.com/delusionx/PoESniper

prime wasp
#

โ™ฅ๏ธ

hazy fog
#

๐ŸŽ‰

prime wasp
#

lmfao im reading that thread now

#

kinda whack

deft jolt
#

what does your sniper snipe

hazy fog
#

pens giga

prime wasp
#

snipes souls

summer kernel
#

what is poe sniper?

hazy fog
worthy cape
#

@hazy fog The news about maps didn't push to channels that follow #old-game-news btw

golden bane
#

"you will be hard pressed to find anyone willing to run a binary for a closed source poe-related app" -rogueyoshi, also relevant for @foggy bear

#

I don't get why people do this. Like if you think your tool is useful, you would think you want to get it out to as much users as possible. And if you think your code is bad, maybe release it so someone can help you with it? There is no shame in open-sourcing code, especially if you do it as a hobby project in the service of a community, you still took the time and effort to create something

grave wren
#

even if the code is bad, as long as it does what people want it to do nobody will care a lot tbh

#

if it does not do that then it's even less of a problem

golden bane
#

Yeah I was more looking at it in terms of maintainability

grave wren
#

somehow i am still irritated how github handles MRs compared to gitlab, if gitlab recognizes commits are in the target branch they're not displayed as changes, github still does for me ๐Ÿ˜•

hazy fog
#

I published it; discord broke I guess

worthy cape
#

My solution is to code in write-only Rust ๐Ÿ˜›

foggy bear
#

@golden bane
I am doing a Discordbot that I host myself. There is no need for others to run it, except just to invite it to their server.

golden bane
#

@foggy bear Well, others could contribute to it, being a dev community and all. Nothing to lose here

foggy bear
#

Well I have a very bad past. I am by far not a good programmer, so it is not because my code is "elite"-stuff. But 3 other projects that were made by heart have been stolen and two of them got me shut down for "stealing ip" which was clearly a lie as my code was older. So I am more than cautious about sharing stuff that means a lot to me

lavish gust
#

First time I read of someone "stealing" open source

foggy bear
#

stealing in terms of someone taking my source, claiming it to be their own and telling others mine is a blatant copy of theirs

grave wren
#

Then you link your GitHub with proof and bam done

foggy bear
#

I did, no one cared

#

thats why I got highly protective about what I do

lavish gust
#

have you reported it to the site admins?

foggy bear
#

yup

worthy cape
#

Theft of projects and branding definitely happens to people, and itโ€™s quite demotivating when it happens.

#

One of my mates who had a decent income supplement of donations for their GPL:d software got taken by someone in a toothless country who implemented a minimum of features and replaced the donation links with their own and scrubbed the name of the author.

#

Violates license, and soured the author on open source forever. Intent was good, keep it open for contributions and troubleshooting.

#

Iโ€™ve had music player plugins non-amicably forked and end up with support load as users donโ€™t grok the differences.

#

To be honest, I donโ€™t know if I should have my viewer open source.
Thereโ€™s stuff in the GGPK that I donโ€™t want to make it too easy for kiddos to see.

grave wren
foggy bear
grave wren
foggy bear
#

Didn't want to post that as I thought it might look as I would ask for votes ^^

grave wren
#

i mean the other link doesnt provide any infos

#

just the invite window

foggy bear
#

but how did you find it so fast there? :3

#

or just random check if it exists there ?

grave wren
#

googled izaro bot discord

foggy bear
#

oh already so nice to find ? cool

somber cedar
#

Hi, would it be appropriate of me to ask here about using the API for indexing builds in calc spreadsheet?

grave wren
#

seems to be the best place

somber cedar
#

uff, thats what I thought, anyway, the thing is that I can't seem to arrange the response that i get from the server, so I actually start to wonder if what i want to do is possible

#

So ideally what I'd like to get from this is a simple (less than 20 objects) database indexing:
-character name
-character class and ascendancy

#

and so on

#

I see that i can use api to get data about specific character, items that it has and lvling tree, but when i try to GET something to calc i get a few hundreds cells of meaningless code. I was wondering how can I make it more organised and easier to implement for everyday use

golden bane
#

You might want to start by sharing the code you got so far

somber cedar
#

okey, so thats the thing, I really am not competent enough to do this, and the thought alone seemed like an easy thing that i could actually learn on. So what I'm really asking I guess is: is it as complicated as importing data through an api and than sorting it (in the same or next stages). I would really love to figure it out somehow, and I just lack knowledge

golden bane
#
  1. Import the data in your own internal data structure
  2. Organize it
  3. Write it in a spreadsheet
frigid nova
velvet fog
#

owner is Emmitt

frigid nova
#

yeah contacted him, thanks!

velvet fog
#

is there a github repo?

frigid nova
#

I'll leave that to @mortal bone to discuss

velvet fog
#

okay

mortal bone
#

Here is the repo for those wondering

magic dock
#

does path of building not have blight's unique's in it? I can't seem to find Triad Grip in it.

velvet fog
earnest ledge
#

Triad's grip is in that fork, but the conversion mods are NYI

#

You can edit the item from:
Minions convert 25% of Physical Damage to Fire Damage
to
Minions have 25% of Physical Damage converted to Fire Damage
and change the percentage value to whatever you want, and that will work

#

should work in openarl's PoB as well

frigid nova
#

@compact isle Would it be possible to alter the clipboard text to disambiguate the following example:

Rarity: Rare
Skull Song
Thicket Bow
--------
Bow
Physical Damage: 22-66 
Elemental Damage: 6-72 (augmented)
Critical Strike Chance: 5.00%
Attacks per Second: 1.50
--------
Requirements:
Level: 64
Dex: 179
--------
Sockets: R-B-G-G-R-B 
--------
Item Level: 86
--------
Adds 6 to 72 Lightning Damage
--------
Corrupted
#

(If im not mistaken this can both simultaneously be an item with the corrupted implicit and 0 explicits, or an item with 0 implicits and the explicit mod Sparkling)

compact isle
#

Most likely not without including the advanced item info

frigid nova
#

If the implicit mods said (implicit) after them it would disambiguate

violet path
#

i don't think anyone would complain if the advanced item info were also included

chrome topaz
#

@frigid nova have you tried a different browser? (re: copy paste on pob.party in osx)

frigid nova
#

@chrome topaz looking into it now ๐Ÿ‘€

rose sapphire
#

hey, did I miss maps list for the changed atlas? was it published?

frigid nova
#

@chrome topaz No luck on firefox or chrome

#

cmd + key just puts the key in the text box

#

ctrl + a does select all the text, but cant seem to get anything else to do anything reasonable

chrome topaz
#

what about ctrl-c?

frigid nova
#

i have no indication it's doing anything

chrome topaz
#

hm alright I'll take a look

frigid nova
#

much appreciated!

blazing rover
#

Speaking of copying, copying an item to the clipboard doesn't count as a server action right since it's local?

chrome topaz
#

hm openarl just merged a ton of pull requests

misty merlin
#

@chrome topaz poe.trade is missing Warstaff/Rune Dagger as item types.

compact isle
#

@frigid nova that's a good point I'll see if I can get it done

frigid nova
#

@compact isle Greatly appreciated, trying to write a parser which converts between clipboard and the unextended item json, I believe the mapping is bijective except for that problem, although I might uncover other ambiguation problems down the line

compact isle
#

@earnest radish I set it up as

# Has Shaper OR Elder
HasInfluence Shaper Elder
# Has Shaper AND Elder
HasInfluence == Shaper Elder
#

the old method for shaper / elder will still work as normal

#

@frigid nova there certainly will be differences as those two sources are from different parts of the codebase

frigid nova
#

good to know - ill keep my eyes peeled

#

@compact isle Have there been any discussions (that you're able to comment on) about adding zone name to item filters to help with boss drops?

compact isle
#

that's an interesting request

frigid nova
#

It used to be not so bad when bosses were ilvl tied, but most content has bosses which can spawn at multiple ilvls now

compact isle
#

I'll make an issue internally to get it investigated

#

seems useful

frigid nova
#

Greatly appreciated!!

violet path
#

@compact isle are there any plans to add more trade search functions? currently pretty weird/cumbersome to look for uniques with overlapping mods and values in the same search. A, B, C all might have a 50-70 range on life, but if I want to look for A and C with 55 life, and B with 65, it's best/simplest to have B as a different search. This balloons rapidly as more items get added. Something like "if item has x, then include y and z " or "look for (x and y) OR (y and z) OR (a and z)" might work?

compact isle
#

not as a priority, we'd prefer stability on simple queries over supporting large complex queries

violet path
#

very fair

compact isle
#

3.9.0 actually introduces a system that rejects queries that are deemed "too complex" to stop those auto-generated jewel searches from stalling everything

earnest radish
#

I feel personally attacked ;o

violet path
#

oh lordy

compact isle
#

yep we have to walk a fine line between letting you search whatever you want and being able to support the quantity as well

frigid nova
#

will the constraints on queries be stated publicly?

earnest radish
#

is there going to be guidelines for mod search tools(such as mine)?

#

as I can drop lower value mods reasonably easily.. I just need to know what kind of limits I should be following

compact isle
#

we don't officially support tools hitting APIs that we don't specify in the developer docs

#

we'll probably tweak the constraints when the system goes out then release the info once they're set in place

earnest radish
compact isle
#

yeah unfortunately backend things have been struggling with query complexity

earnest radish
#

well, I'll look for whatever information is released

violet path
#

ty for the response, nice to know this in advance

earnest radish
#

followup question :: is a pseudomod the same weight on the server as all of the sub mods it matches or less?

compact isle
#

pseudo mods are generated at index-time so less

#

but they're not always accurate >.>

earnest radish
#

As the reason my tool existed in the first place is i got tired of searching for (example) % phys, phys with shield, phys iwht axe, one hand phys, damage, and then doing the same for attack speed, crit, etc

compact isle
#

ideally we'd just have better pseudo mods for that

earnest radish
#

Okay. Well as a first step I'll split all the mods in to basetypes, so that someone using my site has to choose there first. And see how that plays with the limit.

carmine merlin
violet path
#

i think its the same as farshot

golden bane
#

Makes sense, so it would be 70 units for maximum damage increase

#

35 and 70 units seem to be the breakpoints for this kind of mod

dull laurel
#

so i had this idea ... since so many tools are working with the client.txt file, would it make sense to have some kind of local message server that automatically parses it into nice messages and you can subscribe to them? or is that overkill? ๐Ÿ˜•

simple ravine
#

hehehe...

grave wren
#

imo overkill

simple ravine
#

I'll respond with an image, and yeah...

grave wren
#

you want to kiss him thinkmad

simple ravine
#

one more try ๐Ÿ™‚

grave wren
#

now i'm under pressure

simple ravine
#

heh!

#

acronym

dull laurel
#

oO

simple ravine
#

god I feel old now

dull laurel
#

why?

grave wren
#

i'm just memeing at this point :p

simple ravine
#

ok, I suppose I feel both old and stupid ๐Ÿ˜‚

#

@dull laurel, keep it simple...

dull laurel
#

that is super simple

#

one service to rule them all

mortal bone
#

keep it simple stupid

simple ravine
#

or keep it stupid simple, but yeah

dull laurel
#

keep it simple, stupid. ๐Ÿ˜‰

mortal bone
#

yeah

simple ravine
#

yagni and all that

grave wren
#

the service just needs to speak graphql, odata, plain rest and rpc and you're golden

simple ravine
#

and implement zero mq

dull laurel
#

yeah that is what i'm currently researching

simple ravine
#

and amqp

grave wren
#

we don't talk about soap here

simple ravine
#

gRPC, protobufs

mortal bone
#

mediator!

simple ravine
#

yee

#

go for it, knock your self out

grave wren
#

what about grib format

simple ravine
dull laurel
#

still looking for an appropriate pub/sub bus

grave wren
#

for the geology lads

mortal bone
#

to be fair, signalr is pretty alright

simple ravine
#

why choose one, when you can implement all of them?

dull laurel
#

there is problably an npm package for that

simple ravine
#

pops popcorn...

dull laurel
#

npm i allthebuses

simple ravine
#

should probably have a filter on the bus subscriptions too

dull laurel
#

what kind of filter?=

simple ravine
#

so should likely implement some kind of query language, like SQL or something similar

#

lets say u only want to receive whispers

#

or you only want to receive messages about maps and people entering, leaving areas

#

u dont want all the other garbage

dull laurel
#

yeah, you got topics for that

simple ravine
#

fitler it! simple!

dull laurel
#

not a single subscribe

simple ravine
#

what if u only want to receive whispers from your wife

dull laurel
#

ignore

simple ravine
#

i mean...

dull laurel
#

ah so a sublevel of topic

simple ravine
#

yes, yes!

dull laurel
#

great! ๐Ÿ˜„

simple ravine
#

imagine the possibilities

#

going to take over the world

dull laurel
#

and it has to run as a background windows service

grave wren
#

no windows

dull laurel
#

btw i noticed that there is nowhere mentioned your username in the client.txt

grave wren
#

only bsd

simple ravine
#

should use Erlang and cross-compile

dull laurel
#

dotnetcorethreedotoh

simple ravine
#

dotnetfivealphaisout

dull laurel
#

whereisfour?

simple ravine
#

umissedthememo?

dull laurel
#

imissmemory

simple ravine
#

whatversionisdotnetframework?

dull laurel
#

ah. 6 som,ethingm aybe

simple ravine
#

huh

dull laurel
#

well platform independnt ... could also use go

#

or rust

grave wren
#

bonus points for a pure sh script

#

no other nonsense

simple ravine
#

.NET Core + .NET Framework => .NET

#

no more core or fx

#

and it's then called .NET 5

#

aimed to release in 2020, then .net 6 in 2021, 7 in 2022 etc

dull laurel
#

really? or still joking?

simple ravine
#

no joke.

dull laurel
#

interesting, but guess makes sense. confusing for developers

simple ravine
#

i mean, they havent even figured out eol for .net fx yet, so it's gonna be around for at least 5 more years

#

same with .net core 3.1 (which will be LTS)

grave wren
#

had the pleasure of checking out the "backend" of a recent cs student. The joy of seeing an express server app that has a single route that directly reroutes to one single mysql instance hosted remotely

#

puked only a little

dull laurel
#

how many routes do you need? ๐Ÿ˜„

grave wren
#

1 obviously

#

rest is sql

dull laurel
#

easy. no injection possible.

simple ravine
#

wait...

grave wren
#

who needs more than api/data?sql=x

simple ravine
#

how much functionality did he put in sprocs?

#

oh, bobby tables '--

grave wren
#

doubt he knows about stored procedures

dull laurel
#

sql=storedprocedurename? ๐Ÿ™‚ that would be fun too

grave wren
#

that'd be stuff of my nightmares

#

just like the thing i've seen at work today, importer that should set a flag on a related event on success

#

turns out the flag is set if it fails too

#

who needs transactions either way

simple ravine
#

Well, shouldn't december be an easy month?

grave wren
#

sometimes i wonder how our customers third party system even works

dull laurel
#

what is that?

#

funfact: there are a lot of bad programmers out there

simple ravine
#

advent calendar for our kind

grave wren
#

reminds me that im still waiting for my hacktoberfest package

simple ravine
dull laurel
#

that sounds like a german thing.

grave wren
mortal bone
#

@simple ravine don't forget mono and xamarin! they are in .net 5 as well

simple ravine
#

mono is living its own life no?

mortal bone
#

No, the idea was to have one .NET Runtime across all platforms

dull laurel
#

okay, so how to get started with dotnet?

simple ravine
#

in general?

mortal bone
#

I can look around. I thought they were going to be merging core and mono

simple ravine
#

Emmitt, has the mono folks said they're bending over for .net 5?

mortal bone
#

Visual Studio 2019 Community Edition 16.4 - Use .NET Core 3.1 because it is LTS

dull laurel
#

weird, there is no workload in visual studio 19 that directly works with dotnetcore3 (is there a shortname for this?)

simple ravine
#

you will get frustrated with VS Code and C# unless you're a ninja imo

grave wren
#

what is a ninja

dull laurel
#

you can't see him

simple ravine
mortal bone
#

You might have to install the cross platform package

#

?

simple ravine
#

ah yes

mortal bone
#

There is .NET Core cross-platform development and .NET desktop development workloads

#

you will need them both

simple ravine
#

in the installur

dull laurel
#

looks like fun (should have just stuck with javascript :-D)

mortal bone
#

So, it appears that Mono will stick around, but their main focus will be to pull in as many .net core subsystems as possible

#

The compilers will end up merging though

grave wren
#

did they dump the godawful mono ide

mortal bone
#

you mean visual studio for mac? lol

grave wren
#

that's an insult to visual studio

mortal bone
#

that shit is run on mono

simple ravine
#

yeah, if you're a vs hater you're likely a jetbrains fanboi

grave wren
#

no i hate the mono ide specifically

#

it feels like an early 90s ide

dull laurel
#

so back after a forced reboot from vss update

mortal bone
#

I don't think I have ever used it

#

maybe early days of unity?

grave wren
#

not sure about early but before vscode plugins for unity happened

#

and i dreaded it so much

#

even installed win on my macbook just to use vs

mortal bone
#

So, I switched to a job that mainly does Java, and I have to use JetBrains. I can't stand it tbh

#

although, it is a jetbrains from like 4 years ago

simple ravine
#

tried Jetbrains Rider?

mortal bone
#

We can't

simple ravine
#

well I mean personally or something

grave wren
#

i have 0 issues with intellij

mortal bone
#

It is in the Insurance sector, and they use Guidewrite (which means the proprietary language gosu)

grave wren
#

(that's a lie, i dread every time it indexes shit)

mortal bone
#

gosu is like c# but in java lol

grave wren
#

but why

mortal bone
#

it gets compiled down by a plugin

#

I have no idea

simple ravine
#

ERP

#

thats why

mortal bone
#

I have been here a month and I want to switch jobs lol

grave wren
simple ravine
#

they do it to lock u in

#

like selling ur soul to satan

grave wren
#

we're using the normal intellij version and i really cant complain about most things

simple ravine
#

the ultimate satan daddy is SAP

grave wren
#

you should be glad youre not using eclipse

#

like our sap boys

dull laurel
#

jetbrains still much better than eclipse ๐Ÿ™‚

mortal bone
#

I can't disagree with that

grave wren
#

hey i even like pycharm for writing python

simple ravine
#

i'm just in a cozy place with pure visual studio

mortal bone
#

I just don't like Java at all tbh

grave wren
#

just another language tbh

mortal bone
#

just feels like I am doing shitty c#

simple ravine
#

but i will confess, i haven't written any code professionally for months

dull laurel
#

that is good

#

means your job has improved ๐Ÿ™‚ you are a manager now ๐Ÿ˜„

grave wren
#

doesnt sound like improvement to some of us :>

mortal bone
#

Yeah, fuck that lol

#

I would much rather write code than deal with management

simple ravine
#

nah, i just talk and draw boxes and lines

mortal bone
#

Product Manager? lol

dull laurel
#

powerpoint grand master

simple ravine
#

no, architect

#

yes, that

mortal bone
#

Ah, yeah

#

that is chill

#

That is actually something I wouldn't mind doing

grave wren
#

i lack the experience to want to do something like that

mortal bone
#

just read some more haha

grave wren
#

then again we dont have one in the current project so it is basically like being a mini architect

mortal bone
#

Clean Architecture by Robert C. Martin

simple ravine
#

Domain Driven Design, Eric Evans & Vaughn Vernon

#

Vertical Slice Architecture, Jimmy Bogard > Uncle Bob imo

#

Event Sourcing, Greg Young

#

anything Martin Fowler says

grave wren
#

reading is good but not sure if its good enough without having dealt with those things irl then

simple ravine
#

I would not recommend doing architecture, unless 10 years of professional developer experience

mortal bone
#

That is why you do personal projects, or suggest ways to do what you are currently doing better

simple ravine
#

Because yes, there are many things you only learn by freebasing into a cliff

mortal bone
#

There are a lot of pieces of decent architecture that can be implemented over time

simple ravine
#

yeah, but you should have practical experience doing it

grave wren
#

agreed, still i think you need the real world experience

simple ravine
#

I met a few 'architects' who learned the buzzwords, and got the gig

mortal bone
#

Yeah, 100%

simple ravine
#

understood the overall concepts etc, but oh lord...

grave wren
#

hey i have a foundation level cert for architecting

simple ravine
#

the best kind, are those in a customer position

grave wren
#

multiple choice test very hard

mortal bone
#

I also have known a few architects that end up bending to the will of upper management lol

simple ravine
#

we just 'fired' one of our customers, because of several things, but one reason was just that the architect had very little clue, and was 'up in the blue' about things.

#

first and foremost, they wanted to go from monolithic on-premise to microservices in the cloud

#

what do they pick?

#

kubernetes of course

worthy cape
#

โ˜๏ธ ๐Ÿ—ก๏ธ

mortal bone
#

Ayye

#

Kubernetes has its place

simple ravine
#

AKS specifically in this case.

grave wren
#

i personally know a guy who became software architect who can't and did not ever write codes besides testing stuff

#

:<

worthy cape
#

waves a tiny GDPR flag

simple ravine
#

I mean, AKS is a terrific thing.

#

but lol.

dull laurel
#

kubernetes sounds about right

#

but dont use AKS, build it yourself on VMs

simple ravine
#

lol what?

dull laurel
#

(joking actually, because I work with those kind of people that did exactly that)

simple ravine
#

that's the worst idea i've heard today

dull laurel
#

they build everything themselves in azure

simple ravine
#

hahah

mortal bone
#

lol build vms....

worthy cape
#

Are you in my cloud? ๐Ÿ˜„

grave wren
#

but when will they build their own build tools

dull laurel
#

no app insights, instead their own logging cluster. no aks, instead own kubernetes cluters

mortal bone
#

what is docker?

simple ravine
#

wtf is wrong with people

dull laurel
#

they built their own tools for rights management in azure

mortal bone
#

wow

grave wren
#

but... why

mortal bone
#

wtf

dull laurel
#

because "security"

grave wren
#

ah yes

mortal bone
#

active directory doesn't cut it

dull laurel
#

because you can't just give stupid developer a resource group. he has to request it via some hand written go webportal

grave wren
#

violating law 1 of any security class

#

don't build security yourself

mortal bone
#

integration with your current windows environments

#

@grave wren yep, I had many classes where they were like "People way smarter than you are working on this problem, use their solutions"

#

like when people want to build their own custom identity server...

dull laurel
#

you mean like building your own AIM (access / identity management) solution?

mortal bone
#

yep

dull laurel
#

have been trying to tell them to use the azure PaaServices, but they don't want to

mortal bone
#

at my last place, upper management was very against put anything in "The Cloud"

grave wren
#

hey we have an inhouse download manager that broke like at least once for the lat 10 days

mortal bone
#

it is scary

grave wren
#

instead of just using any of the foss solutions available

dull laurel
#

like webbrowser download manager like in the early days of the internet?

grave wren
#

sharing big files with customers

#

basically mega inhouse

mortal bone
#

what is an ftp

dull laurel
#

ftp is not secure

grave wren
#

not secure

mortal bone
#

sftp

#

miss type lol

grave wren
#

i mean even if you need a portal

#

there's tons of readily available things you just host

mortal bone
#

At my last place we used Cerberus

dull laurel
#

speaking of the missing s. my favorite quote is "the s in iot is for security"

grave wren
#

i thought it's for shit

#

:>

mortal bone
#

"there is no s"

#

lol

grave wren
dull laurel
#

๐Ÿ˜„

earnest radish
#

My architecture is 2 rasberry pis and docker containers on a synology nas ;o

mortal bone
#

"micro-services"

grave wren
#

look at mr. moneybags

#

TWO pis

earnest radish
#

and with the previous conversation.. intellij(specifically pycharms) was great.. up until somewhere in v2 where their load time went from nearly instant to 30 seconds

#

actually have 5 $$

mortal bone
#

I think that is because indexing lol

grave wren
#

hm my laptop at work is pretty shit and it doesnt load that long tbh

#

and our project is huge

mortal bone
#

indexing on the project I have is like 60 seconds

simple ravine
#

had to put kids to bed

grave wren
#

i can get a tea if it reindexes

simple ravine
#

dont get me started about security oh lord

grave wren
#

which security

simple ravine
#

1990 called and wanted their layered security back

dull laurel
#

dude you cant have a proper laptop! that is too expensive! we'd rather save the money and make you work slower

grave wren
#

oh its a fine laptop

earnest radish
#

i was reading an older review of telegram vs signal

grave wren
#

if only lenovo didnt fuck up

mortal bone
#

half my degree was in security, and I never want to be in that industry nor write my own shit

earnest radish
#

and that was when i learned that telegram had rolled their own (at the time)

grave wren
#

t480 under linux being limited to 15w instead of 51w

dull laurel
#

@simple ravine is that serious or a joke with the layered security? because I heard, that is the current standard

simple ravine
#

that is no joke

worthy cape
#

I implemented a crypto algorithm from reference code and the rather icky submission PDF recently.

simple ravine
#

with layered security, i don't mean throw out all ur firewalls and burn ur bras

worthy cape
#

5/7 would not recommend

grave wren
#

5/7 isnt that bad

#

time to roll it

mortal bone
#

Encryption isn't too bad

worthy cape
#

So easy to accidentally leak key material or plaintext.

#

(I know, I did it all)

mortal bone
#

"accidentally"

grave wren
mortal bone
#

you mean straight in your source?

simple ravine
#

my T570 is working just fine tho

mortal bone
#

hell yeah

worthy cape
#

Turns out that if all your subkeys are zeroes, the strength of the crypto weakens a wee bit.

dull laurel
#

@simple ravine what do you mean then? for example I would rather have proper server to server auth in micrso service landscape rather than lower layer security like network security keys and firewalls.

simple ravine
#

mTLS

#

if you're in Azure land, use Managed Identity Services and KeyVault

grave wren
#

do you use windows? then the issue with thermals don't bother you at all anyway

mortal bone
#

TLS 1.2 baby

simple ravine
#

use Prometheus with AKS

dull laurel
#

@simple ravine that does not work if you built your own kubernetes clusters ๐Ÿ™‚

simple ravine
#

I have people who use linux natively at work with the same model, no issues what I've heard

dull laurel
#

damn i need some emoji to show my mental state

grave wren
#

i mean its confirmed by lenovo

simple ravine
#

there u go

dull laurel
#

ah thanks. exactly

#

so yeah, my suggestion was, use PaaS, use MIS, have proper rights and access management using the AD

simple ravine
#

maybe my colleague is a lazy ass who don't regonize he's only using a fraction of his computer's potential ๐Ÿค”

grave wren
#

people at my work didnt notice either

simple ravine
#

AD, KeyVault / HSM... BYOK if u're paranoid

earnest radish
#

what kind of madmen don't benchmark all their pcs? /s

grave wren
#

but you can clearly see it when your laptop throttles without any workload

worthy cape
#

I'm quite resembling the fine-dog right now. Trying to interface my GGPK library with Windows Projected File System.

simple ravine
#

9-5 developers

grave wren
#

6:30-15:00 lad

dull laurel
#

8 hours? nah. 7 hours

simple ravine
#

that is an ungodly hour to start working

worthy cape
#

Got two choices - either expose my library into C or C++, or bind ProjectedFS into Rust.

mortal bone
#

7-4

grave wren
#

not if you're a morning person

deft jolt
#

6am ohgod

dull laurel
#

@worthy cape still working on the rust library to parse ggpk files?

grave wren
#

official hours start at 8 here

earnest radish
#

eh-meh

grave wren
#

or 9?

worthy cape
#

@dull laurel Sure am.

mortal bone
#

I used to do 6am lol sucked

grave wren
#

dont remember

simple ravine
#

I stumbled into the office at 10:45 today

#

left at 3pm

grave wren
#

but the 8h workday

dull laurel
#

come late, go early. my work advice

worthy cape
#

I spent most of today in a GDPR meeting.

#

So great.

dull laurel
#

at least you have a meeting about it

simple ravine
#

today my boss gave me cred for the good work im doing.

mortal bone
#

Yeah, you just have to work at a place that doesn't care about your ass in your seat

simple ravine
#

so i gues i'll just continue with this

#

perhaps on friday i'll just show up for lunch, and have him pay for it

dull laurel
#

@simple ravine the trick is to just be good enough, so they don't notice you are only working half the time

simple ravine
#

might just get a raise then

grave wren
#

take a long session at the loo too

#

that'll show em

mortal bone
#

most places around here have the guise of being flexible

#

they still want you at work 40hours or more

earnest radish
#

just need to figure out how to automate your work and set up a bunch of cron jobs

simple ravine
#

well, i'm in the consultancy business

#

so hours kinda count

grave wren
#

or more

earnest radish
#

try being a video game dev

simple ravine
#

nevr.

earnest radish
#

why i'm not a "professional coder"

worthy cape
#

@simple ravine Getting any good deals on days off for the holidays this year?

mortal bone
#

I worked 60+ hours a week for like 6 months at my last place

#

salaried

grave wren
#

nope ty

mortal bone
#

๐Ÿ˜ญ

grave wren
#

if i will do vgs i'll do it on my own

mortal bone
#

I would never be a game dev

#

that is just suicide

grave wren
#

i've never had mandatory over time

#

i've never had weekend duty

mortal bone
#

damn

dull laurel
#

i can recommend big companies

deft jolt
#

are game devs really that underpaid or is it mostly just a rumor

earnest radish
#

my first job out of my first degree(digipen) was game dev.. 60 hour crunch weeks from when you were hired until you were "fired" (layed off without benefits)

dull laurel
#

work sucks, but you get paid gold and working hours are highly regulated

earnest radish
#

but that was in 01

#

all my friends at the time had the same experience

mortal bone
#

Most dev jobs are underpaid and overworked

simple ravine
#

@worthy cape yeah, i think im using 4-5 days for 20th of dec to 7th of jan

mortal bone
#

that is even more so in the game dev industry

#

at least in the US

worthy cape
#

Sounds about right, I'd have to spend that many days too.

#

I should probably apply for vacation, I guess ๐Ÿ™‚

earnest radish
#

wish i had job shadowed for a while before going down that path.. burned me out hard.. ended up quitting, and after I was done being a nomad, working physical security at an empty brewery for 10 years

deft jolt
#

hells ye get those vacation days

worthy cape
#

We figured out that we'd have some bloke in town in case anything blew up, but no-one actually working.

earnest radish
#

use them if you have them :p

simple ravine
#

zao, u're devops for science stuff right?

earnest radish
#

I'm currently debating an even worse "career" choice though that would be even more overworked with less pay

deft jolt
#

study vacation days are nice

worthy cape
#

Yup, sysape for academic HPC.

deft jolt
#

get a month off then it resets after new year and you get another month off

#

hm you don't have that faust?

grave wren
#

never heard of that

earnest radish
#

my terrible idea, with the goal of making me just hate gaming in general, is "patreon guided community tool dev". Should pay fairly about 200 years after I die ;o

grave wren
#

i should take 1 ct per bot parse

deft jolt
#

well it's 3 weeks to be precise

grave wren
#

aw discord search borked

earnest radish
#

be a part time teacher.. then you can get 21ish weeks of vacation and the constant questioning of if you are going to get replaced by someone with 2 phds and a masters next teaching year

deft jolt
#

you get 20 vacation days per year during studies

grave wren
#

hm i just get 30 a year so sounded a bit weird

dull laurel
#

community tool dev probably pays, but you need a bigger community than the couple hundred thousane poe players

deft jolt
#

plus the regular vacation days of course

simple ravine
#

the way I did it was... take a 5 point summer course (not sure how many points that is today, was before they remade it), and do all the stuff in a weekend

grave wren
#

just say you're making a skyrim mmo

simple ravine
#

and u have all summer

mortal bone
#

dang, I get 15 days a year lol

#

I am in the wrong country

worthy cape
#

I'm not getting the max amount of days until I hit 40 years of age.

dull laurel
#

that is weird too

worthy cape
#

"just" 31 now, 35 at the max.

dull laurel
#

this was banned in germany because it is unfair for younger people

deft jolt
#

i can see why jesus

mortal bone
#

Yeah, aged based is weird, but in the US PTO typically increases the longer you are with a company

#

I would take aged based over that any day

#

takes 5-7 years most places to gain additional time off, so if you switch jobs you kind of get boned

grave wren
#

i am always negatively amazed by your sick days system btw

earnest radish
#

us has all kinds of peer pressure from dead people that makes worker benefits rather meh

#

although at least dev culture is better than japan.. where "death march" is apparently a thing to be proud of?

mortal bone
#

I actually have sick leave at my current company. At the last company, I had to use vacation time for sick leave

dull laurel
#

mh it is actually hard in c# to get a stream of file change events

simple ravine
#

no it's not

mortal bone
#

erm

dull laurel
#

so I tried this file system watcher, but it doesn't trigger a change event every time the client.txt is written too by PoE

mortal bone
#

do you have the correct notify filter?

simple ravine
#

yeah wrong usecase

mortal bone
#

and the event handlers to go with it?

dull laurel
#

totally copied the example from the MS docs. but I guess @simple ravine is right, it is not intended for that

simple ravine
#

hold my beer, i have something

dull laurel
#

low level programming ๐Ÿ˜ฆ what I'd like to have is an api that gives me text chunk events as a streaming api for a file

mortal bone
#

I would assume they have an async enumerable file stream somewhere

simple ravine
#

boy, do i have the right thing for u

dull laurel
#

make me more hyped pls

simple ravine
#

yes, sifting through all the things

mortal bone
#

It is like a loading screen lol

dull laurel
#

yeah but you also need the events for new data being written to the file without polling

frigid nova
#

a lot of tech places in the US have switched their vacation/sick day system up, at least in the bay @mortal bone

mortal bone
#

Ah, I am in Oregon, and not in Portland

mortal bone
#

Just most of the job postings I end up applying for have some fucked vacation/sick leave system

#

if they aren't some sort of state job

dull laurel
#

that is so weird in the US. job law. like you can get fired without any notice period. and your minimum vacation days are low or non existent

earnest radish
#

same here (washington, not seattle)

dull laurel
#

in germany its 20 days at least by law, though most jobs I have seen give 30 typically, so 6 work weeks

mortal bone
#

Not all the US

#

just most States

tiny cargo
#

and if you are sick while on vacation and prove it, the days count as sick and not vacation days

mortal bone
#

"At Will Employment" means you or your employer can break contract, but your employer still has to have a valid reason

simple ravine
#

PoE is crashing on me like crazy

#

hmm think it's drivers

earnest radish
#

my "favorite" thing about at will is the peer pressure to give 2 weeks.. but then most jobs end up immediately firing you

grave wren
#

gpu defective, please dispose of it in germany i'll send you the address

dull laurel
#

@simple ravine you found what i was looking for? eh, you were looking for

mortal bone
#

2 weeks (14 days) is pretty common when leaving a company, but the company typically only gives you that day

simple ravine
#

i found multiple versions

#

trying to find the one that was functioning well

#

by opening up poe

dull laurel
#

ah, smooth

#

I really thought there should be some windows api that triggers an event when something is written to a file / buffer / cache

simple ravine
#

gimme a few, gonna resolve this

frigid nova
#

@mortal bone Oh interesting - I think all of the places I interviewed for have a "unlimited vacation day" system, which is quite the double edged sword

simple ravine
#

there are some super low level things, but not worth it

dull laurel
#

yeah was more thinking of a high level api

earnest radish
#

or poll the file

simple ravine
#

yeah, that's kinda low level

earnest radish
#

I don't code with windows file functions, so I don't know how usable that is

dull laurel
#

and polling is evil

simple ravine
#

polling is your best option

#

but with some patience, I will have you covered

grave wren
#

just have faith

simple ravine
#

just need to fix my drivers

grave wren
#

did you try binary prayers to the machine god

simple ravine
#

praying to my self?

#

weird, my nvidia drivers i had installed had a higher version number than the latest available for download

earnest radish
#

beta?

simple ravine
#

nah, geforce experience normally takes care of my downloads

#

strangely enough i think nvidia uses rollback instead of just roll-forward if something goes south?

earnest radish
#

i seem ato recall they just pull drivers

#

no idea with geforce experience though

#

started downloading -> unzipping ->devices -> find drivers(point to folder)

#

when they started bundling telemetry garbage

simple ravine
#

cant really be bothered tbh

dull laurel
#

ReadDirectoryChangesW this seems to be the function, at least that is was nodejs uses ๐Ÿ˜„

earnest radish
#

i mean the correct thing at that point zen is to write a powershell script to do it for you.. right? Looks like there are windows functions to allow it

grave wren
#

Pure Powershell poe Message broker when

simple ravine
#

The correct thing is to do what you think is the appropriate thing for you ๐Ÿ™‚

#

for me, I can't really be bothered that much about telemetry

dull laurel
#

powershell 5 6 core? ๐Ÿ™‚

simple ravine
#

Powershell 6 is cross-plat

#

PSCore

#

ok I think I found the one

#

breaking it out into a console app or something from the whole thing

dull laurel
#

nice, because I started to wonder why nodejs is so weird

earnest radish
#

looking in to the telemetry further, looks like my pihole dns already blocks all their domains

dull laurel
#

it really seems impossible to watch write events for a file.

simple ravine
#

works just fine ๐Ÿ™‚

dull laurel
cedar cove
#

this might be a dumb question but i gotta ask anyway, u see those streamers having a hud overlay around their pots health bar and such, is there a way to get that without using stream services and not going against ToS

dull laurel
#

@simple ravine care to share the code? is it using polling?

simple ravine
#

it's using polling yes

#

i can share the code yes

earnest radish
#

@cedar cove clickthrough ahk images

#
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
;#Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
#SingleInstance force

; For moving the upper left corner of the image
overlay_x := 0
overlay_y := 0
; Image file should be in the same directory as the ahk file
my_picturefile = Po-E-Reference-Sheet-Background1.png
; modify these so that they match the source image resolution or your monitor(if smaller).  This will scale the image.
width := 1024
height := 768


overlay_color = 000000
Gui, Color, %overlay_color%
Gui, 1:Margin , 0, 0
Gui, Add, Picture, % "w" width " h" height, %my_picturefile%
Gui +lastFound +AlwaysOnTop +ToolWindow -Border -Caption +E0x20 ; E0x20 is clickthrough
;WinSet, TransColor, %overlay_color% 255 ; for a see-through background
Gui, Show, % "x" overlay_x " y" overlay_y " w" width " h" height " NoActivate", Image Holder
show := 1
return

; toggle the visiblity of the Gui
NumpadDiv::
{
    if (show == 1) {
        show := 0
        Gui, Hide
    } else {
        show := 1
        Gui, Show
    }
    return
}
cedar cove
#

@earnest radish thanks ๐Ÿ˜„ ill look into that ๐Ÿ˜„

#

Time to study ๐Ÿ˜› thanks bud, kinda out of my league though, so study hat on ๐Ÿ˜„

dull laurel
#

@simple ravine nice. shouldn't be too much for a nopaste?

simple ravine
dull laurel
#

it says you are a pro

simple ravine
#

don't believe them

dull laurel
#

wow, 25ms sleep only? isn't that too much pressure on the system?

#

well okay, 40 calls per second, not really much, but still

simple ravine
#

lol

worthy cape
#

@cedar cove While you can have windows covering the game in windowed mode, it's going to impact perf and may not get you the clickthrough functionality you'd expect. Composition in post is pretty much the only (sane) way.

simple ravine
#

zao I made a WPF app that has transparency overlaying PoE, works well

#

havent tried clickthrough though

cedar cove
#

@simple ravine if it can work with hud overlay for status bar it would be fantastic ๐Ÿ˜„

worthy cape
#

@simple ravine Depending on moon phase and technology, obscuring the window in any way may have perf hits.

cedar cove
#

@worthy cape kinda figured as much:D thats the reason i went here to the experts ๐Ÿ˜„

simple ravine
#

of course it can have perf hits, but is it enough to warrant the discussion? unlikely

worthy cape
#

Windows has some icky rules about input capturing and layered windows, but is mostly toward transparent windows not being able to grab input.

cedar cove
#

would be a nice mtx function though

simple ravine
#

it's not java trollface

worthy cape
#

@simple ravine I mention it explicitly because it CAN have enough of an impact.

cedar cove
#

@worthy cape if it is too impactful its easy to deal with ๐Ÿ˜„ close the app ๐Ÿ˜›

simple ravine
#

oh well, im not invested enough to argue about it

worthy cape
#

"can" as in I've lived it all.

#

Take that lab compass program as example, I've had configurations where having it visible anywhere near the primary screen tanked performance and caused a ton of judder.

#

May you luck into a combination of compositor, game bar, drivers, vsync/gsync/freesync, etc. that works? Yay, good for you.

#

All I'm saying, anything remotely overlapping the game has a significant risk of impacting it.

dull laurel
#

@simple ravine nice. now i just have to understand your code. ๐Ÿ™‚

worthy cape
#

And no, my computer is not a potato.

dull laurel
#

wow client.txt even contains skill allocations ๐Ÿ™‚

cedar cove
#

@worthy cape thought labcompas would be banable

worthy cape
#

Whichever one that you load a layout JSON into and which displays the layout in a nice separate window, just saying which room you're in.

#

Not whatever haxballs that lab runners use to map room identifiers to room exits.

cedar cove
#

so the lab compas from poelab com is the legal kind?

worthy cape
#

The former does nothing naughty, to my knowledge.

cedar cove
#

Cool ๐Ÿ™‚

simple ravine
#

Hmm, Discord and LGHUB are using 100% of a single thread each now for some reason

#

dafuk is happening

dull laurel
#

you mean single core?

simple ravine
#

no, thread.

#

CPUs are hyper-threaded nowadays

#

I'm on a i7-7700K at 4.5 Ghz per core, 8 threads.

dull laurel
#

ha, important things first. c# editor settings, so it doesn't do this horrible brackets on new line thing ๐Ÿ˜„

simple ravine
#

brackets in c# should be on new lines.

#

period.

#

get that javascript nonsense out of your body

dull laurel
#

my code style disagrees ๐Ÿ™‚

#

i come from the python land, there should be no brackets in code

simple ravine
#

smh

dull laurel
simple ravine
#

my eyes

dull laurel
#

does it burn? ๐Ÿ™‚

simple ravine
#

lol... India team is trying to book a meeting with me at 6:30 am

dull laurel
#

outsourcing to india?

simple ravine
#

We're a multinational enterprise

dull laurel
#

I heard of such things.

#

but can't be the one I work for, because you are using modern outlook ๐Ÿ˜„

simple ravine
#

that's Office 365 (web client)

dull laurel
#

yeah, we are stuck with much much older web client

simple ravine
#

Not everything is perfect though, some people haven't learned the wae

#

Still trying to book Skype (for Business) meetings instead of Teams meetings.

#

And we have on-premise Lync servers, that has its... issues.

dull laurel
#

also still waiting for that. big enterprises move so slow ๐Ÿ˜ฆ

simple ravine
#

Yeah, we're 200,000 people.

dull laurel
#

300k here.

simple ravine
#

I guess somewhere between there's the threshold

dull laurel
#

@simple ravine i understood your code now. refactored it into many many tiny functions ๐Ÿ™‚ and tried to learn a thing or two about C# and async. Yield is next on list.

simple ravine
#

If I had some time, I would likely refactor that into an IAsyncEnumerable, perhaps later this week

#

refactoring into too small functions might impede performance somewhat.. need to find the balance

dull laurel
#

Ah, thanks. I guess that is what I was looking for. I want the watcher to emit each line separately and then I can have another class doing the parsing

mortal bone
#

Yeah, IAsyncEnurmerable would be nice. I am surprised that someone hasn't made a package like that yet

dull laurel
#

For what? reading the client.txt file?

mortal bone
#

Na, watching files

dull laurel
#

Ah, well. We could be the first

mortal bone
#

tail does it lol

dull laurel
#

tail -f ๐Ÿ˜‰

mortal bone
#

notepad++ has a file watch feature as well

dull laurel
#

yeah, but a standard class/lib for c# was nowhere to be found

dull laurel
#

ha, it works with IAsyncEnumerable

#
public async IAsyncEnumerable<string> WatchAsync() {
            while (true) {
                if (FileHasNewContent) {
                    var content = await ReadNewContentAsLines();
                    foreach (var line in content) {
                        yield return line;
                    };
                }

                await Task.Delay(100);
            }
        }
golden bane
#

@carmine merlin Some of the files in your fork seem to be encoded as windows-1252. Please convert to UTF-8, it's causing huge diffs

dull laurel
#

Is there no option in github to have push policies?

golden bane
simple ravine
#

@dull laurel check git repo, i added IAsyncEnynerable as well

dull laurel
#

@simple ravine i only had to remove your readonlyspan because that doesn't work in async methods

simple ravine
#

next would be to see if one can use System.IO.Pipelines

#

that would be pretty cool

dull laurel
#

what are those?

#

like a message bus?

dull laurel
#

Ah I see, you want to optimize for performance already

simple ravine
#

That's my night-time hobby

dull laurel
#

Very nice.

simple ravine
#

Not to sound 'cocky', but other things are quite trivial, unless there are domain-specific challenges

#

It's either optimization or trying new things

dull laurel
#

well you can optimize my code later ๐Ÿ˜‰

simple ravine
#

Could also try System.Threading.Channels

dull laurel
#

Next step is parsing those chat messages into objects

simple ravine
#

I have a thing for that too ๐Ÿ˜„

#

but it's incomplete, and hey, u have to do something

dull laurel
#

also optimized for speed so not using regex?

simple ravine
#

what would be the fun in having regex and a bunch of heap allocations?

dull laurel
#

actually it should be a messageparserfactorysomethingsomething

simple ravine
#

ok pushed

dull laurel
#

that c# switch is looking cool. much nicer than those old case statements

#

btw have you figured out what does incrementing numbers are? I first thought it were nanoseconds, but they just increment over and over

simple ravine
#

no, they are resetting at seemingly random places too

dull laurel
#

seems to be a "unique" id for all the messages created in the client. ah okay, it really jumps when the logfile is reopened.

simple ravine
#

changed switch statement to switch expression in EntryParser.cs

#

looks a bit fancier

simple ravine
#

@dull laurel moar switch expressions just pushed

unborn crown
#

I've tried to get LocalID's PoB fork working, no luck changing manifest.xml, did a full reinstall, reverted to an older pob version, nothing works

golden bane
#

Are you sure you changed the manifest file correctly?

#

Maybe you made an error, maybe you don't have the permissions to save it, maybe you have multiple installations of PoB?

unborn crown
#

yes and yes

#

although my manifest file has it on line 3 or 4, not 8

golden bane
#

Are you in dev mode?

unborn crown
#

no

#

got it

#

he says change the manifest in programdata

#

i changed it in the actual folder

#

vavoom

silk vigil
#

Does anyone know if there are any C# based gear / mod / stash parsing apis?

dull laurel
#

@simple ravine looks less readable now ๐Ÿ˜„

carmine merlin
#

is there an easy way to convert all non UTF-8 encoded files into UTF-8?

carmine merlin
#

@golden bane ended up doing it manually, somehow the encoding changed in my 1.4.152.1 update

dull laurel
#

there was a command line tool ... but best if you configure your editor or use a .editorconfig in your project

#

are you using visual studio for pob development?

civic sluice
dull laurel
#

would it make sense to create a github org for all poe related tools? or is that a mess when it comes to access management?

civic sluice
#

I had created a tool a while back which I never ended up finishing. I decided to update the library and break it out into it's own C# code base.

#

Here are some of the highlights/reasons why you might want to use it.

#
  • Supports most forms of currency including fossils, essences, and master crafting.
  • Define a custom crafting process
  • Create conditional filters similar to PoE trade
  • Use those to do conditional operations and manage flow control with "While" and "If" structures
  • Evaluate generated items using those filters to see how much currency you could make and how different ways to craft compare against each other
  • Provides metadata about your planned crafting process including information about which steps will be unable to execute (due to item rarity/affix count restrictions) and which steps have a chance of being unable to execute
  • Receive metadata about your executed crafting process including currency spent, operations attempted, operations succeeded
  • Generates about 1 million affixes per minute
worthy cape
#

@dull laurel youโ€™re probably thinking of iconv for encodings

dull laurel
#

Maybe

#

Haven't been using Linux for a long time

worthy cape
#

As for organizing projects, keeping the wiki updated might be good ๐Ÿ™‚

#

My sources are mostly on gitlab anyway thanks to having a sane private project policy and not being bitbucket.

#

Havenโ€™t had that many organizations on Github but it sounds like it could cause a fair bit of drama

dull laurel
#

What is bad about bitbucket? ๐Ÿ˜‰

worthy cape
#

Apart from the thing where they out of the blue announced last year that theyโ€™re going to delete all Mercurial repositories and projects by June 2020?

#

With no migration path and no declared archival process for all unmaintained projects the world depends on?

#

And no tooling to even convert to Git internally on the host?

#

Not much ๐Ÿ˜„

dull laurel
#

Oh, didn't know that. But I guess mercurial has lost the war vs git, which I personally find horrible. And so it is just not affordable to support it any more

worthy cape
#

I can understand their wish to get rid of it from their infra. I canโ€™t understand the disregard and ignorance about the way they do it.

#

Either they do not understand the importance of keeping projects not in development reachable, or even worse they donโ€™t consider it a problem to obliterate them.

#

Iโ€™ve already run into a bunch of scientific software at work that will not be buildable come June due to them or a dependency being hosted on BB.

#

I can understand it fully if they don't want to support it for CI and other active development, but it's just pure irresponsible to destroy legacy.
Their announcement was all about pipelines and CI and bullshit, and didn't even consider the fact that there might be stable and boring software just existing.

#

Of course, communication broke down in the thread before anyone could ask the actually important questions, as people from the Internet appeared.

#

This is way worse than Google Code shutting down, at least they shuttered everything and left read-only views forever.

#

End of rant, but TL;DR - fuck Bitbucket forever.

dull laurel
#

You can continue with the next rant. Why do people still use Dart? I thought that thing died...

worthy cape
#

I have to Bingโ„ข๏ธ that whenever I see the name. People probably try to use it because they think that Google makes good things, and being exposed to JS does things to people.

#

I've got a bit of a problem... the intended name for my crate is taken and I should probably rename.

#

Had it as poe which is taken by some editor. Other PoE related crates are ezomyte.

carmine merlin
#

@dull laurel just using notepad++ at the moment for PoB stuff, is there an advantage of using something like visual studio over notepad++?

dull laurel
#

you are developing C# with notepad++? ๐Ÿคจ

#

@worthy cape crates have no namespaces? like @foo/bar?

quick plinth
dull laurel
#

sorry foo, I tried to escape that highlight, but it didn't work

worthy cape
#

@dull laurel The public registry has a first-come-first-serve with a flat namespace.

#

One can of course point out dependencies in arbitrary git repos if you're into that, but the cargo infrastructure uses crates.io by default.

dull laurel
#

that is unfortunate. would have thought they learned from the issues npm had

worthy cape
#

There's ongoing discussion on how to deal with namesquatting too, great fun.

#

Things mostly work because people are not dicks.

#

(exotic concept online, I hear)

dull laurel
#

Yeah, but learning from others (aka good practice) also helps ๐Ÿ˜„

carmine merlin
#

PoB is all in lua and some txt files

worthy cape
#

I hope the next league is meh so I can get coding ๐Ÿ™‚

dull laurel
#

An IDE or at least a code editor helps preventing things like the encoding. For example using a .editorconfig file.
Interesting, never looked at the PoB code. What part is C# then? Only the main window?

carmine merlin
#

Thats why I started working on updating PoB this league

worthy cape
#

The graphics platform is closed source binary.

#

Small enough that the web PoB people have reimplemented it, IIRC.

dull laurel
#

Uh what? why?

worthy cape
#

It's a bit of a bummer as PoB can't easily be made DPI aware by a third party.

dull laurel
#

I still have this idea of a PoB that runs in the browser. And I mean as a real webapp, not webassembly C# + lua

mortal bone
#

The computation work is done, but the UI needs some work to full utilize it