Discussion in 'The Veterans' Lounge' started by Beimeith, Dec 11, 2018.
Did he say immediately after the patch?
Can we give him time to get home from work?
He shall only work for the hive mind!
I'm cleaning it up right now and will post it in a little bit.
Keep in mind i said *test* version, meaning it's still unfinished, but it should be semi-workable.
Here are screenshots of ItWorksParse after ~6 hours of sporadic development while I was on vacation in Mexico using example log files sent to me by guild members.
Rather than wasting time polishing the UI of a broken tool, I slapped a utilitarian WinForms UI on top of a few C# classes I wrote to store log data parsed with a handful of regex matches. With almost zero optimization work done (things like .ToLower() used in the List<>.Find() calls to lazily deal with cases like "A blizzard hunter" being the same mob as "a blizzard hunter"), ItWorksParse can load a ~1 million line VT raid log in ~1 minute because...It Works. A bit slow, but...It Works.
ItWorksParse shows damage done per mob, with the target list filtered by Named/Trash/Player (m = melee/bow damage %, n = nuke damage %, d = dot damage %, p = pet damage %).
Or it can show total damage done to all Named/Trash:
Since we care about off tanks doing their job, it also shows how much damage folks have taken:
Obviously, it also copies each list to the clipboard so it can be pasted to Discord, which is where we post parse data.
This tool is something an undergrad does as a class project, and should not be taking weeks and weeks to get done. Doing a complete rewrite in the absence of a working tool is terrible project management.
And when your boss asks you to do it that’s cool.
When you do it for yourself....you can take as long as you want.
Also you forgot your links to the source code that obviously should be open sourced.
@tatanka put your fedora on the rack, and sheathe your katana. It was just a meme. You won't need to defend Beimeith's honor today.
It's pretty presumptuous to come in *after* DB has made the changes needed to streamline parsing that B. has been asking for literally years and claim it's easy.
I've seen the source code B inherited and the hundreds of one-off cases that had to be specially handled to even guess at what type of damage it was or who did it..and you have Beimeith to thank for how streamlined it is now since he put the effort in to convince DB to simplify and standardize their logging code.
Prior to a few days ago I had never looked at an EQ log file, bothered to run a parser on any game, or written a single regex expression in my life....and it took 6 hours to get something going from scratch, mostly over 2 plane rides on a laptop with a touch pad mouse and no internet...not a month.
At least now my guild can access useful info while we wait for this guy to...do whatever is taking so long. This is not complicated...at all.
(Though not sure how a trackpad mouse really matters when typing code)
Excellent Spayce, I'm really glad your regular expressions are flawless. I'm sure all of your patterns and calculations are perfect. We look forward to your easy-to-use parser....
We really appreciate your hardwork, Beimeith. Release when you are ready.
I've tried to stay out of it, but since you really seem keen on making this a waving contest:
I'm pretty sure I could make an inaccurate parser such as yours in less than 6 hours...and I'm not even a professional like you (really, I'm not, and never claimed I was).
However, I'm interested in having *correct* numbers, and that takes a lot longer to achieve. Without even looking at your regex I can tell you they aren't getting everything right, even with the new log outputs. (Pro Amateur tip: not everything was fixed/streamlined in the TBL update, there are still plenty of cases like Zen mentioned where things have to be specially handled to work right).
You didn't make a program that totals up damage and the other hundreds of things Gamparse does. All you did was create some regex's that help filter out things. That's not anyway shape or form close to what Gamparse does. You are not a programmer, we can clearly see you are not. You don't know what you are talking about.
I wrote a parser last year to work out how much of my damage was from procs from gear/aura/potions.
At first I thought it would be fairly simple but as Beimeith mentioned there are so many scenarios that you have to specifically code for that it was very frustrating. I did get it up and running but I've had very little interest in updating it so it works with the latest logging.
@Beimeith, keep up the good work and I'm looking forward to the update
When testing code wouldn't it be more useful to have the community at large attempting to break it vs. just giving it to those few friends you have in ROI?
There has been a test version available for almost 2 weeks if not longer. Refer back to EQ community at the mercy of Beimeith, just the way he likes it.
I already talked about this, 2 weeks ago:
And just for reference, I know people in many guilds, and more guilds than roi have someone with a semi-working test version.
I've specifically asked people who have them not to share it but I can't control whether they do or not.
You should all be glad that Beimeith is a decently nice guy. After all the nonsense he's taken over his work on keeping someone else's project up-to-date, I would have just said "screw you all" and given it to my friends and let the rest of you figure it out on your own.
I should hope so...you've had your hands in the parsing world for years/months by now.
It was pretty easy to dump out lines that weren't handled correctly, and then review the list of items. I'm sure only having to handle content up to SoL made it a bit easier.
Pro tip: Don't blow up a tool you're supporting and leave your users with zero support for a month. Adopt an agile approach...get it working (even if it's only a subset of the support) then rebuild it. Don't use the "it's free" excuse and then refuse to accept compensation.
Anywho, this will suffice until yours is updated.
LOL, shall we make a wager and then compare W2s to settle the bet?
Once everything is parsed into the storage classes, the only "support" that has to be added for anything is the algorithm to add or slice things up as needed.
It is very simple, but keep trying to white knight for this guy if you insist.
Have you ever tried to cruise around items in debug mode using a track pad on a bumpy airplane ride? Not fun. It made me kiss my mouse when i got back to the office haha.
Separate names with a comma.