dreamrealChronos: no, the idea is "someone mentions something interesting" and the LLM comes up with a draft article about it
* nevet joined #nevet
* dreamreal!~dreamreal@about/java/dreamreal changed the topic to: This is the channel for the development of the software that runs nevet: https://github.com/jottinger/streampack
jottingersentiment #nevet
nevetSentiment for irc://libera/%23nevet: Score: 7/10. Collaborative, constructive discussion about using LLM for automated article drafting based on interesting mentions. Positive technical brainstorming with clear intent and topic organization.
* dreamreal!~dreamreal@about/java/dreamreal changed the topic to: This is the channel for the development of the software that runs nevet: https://github.com/jottinger/streampack
* dreamreal!~dreamreal@about/java/dreamreal changed the topic to: This is the channel for the development of the software that runs nevet: https://github.com/jottinger/streampack
jottingerask how do I ignore inner classes with maven and jacoco?
nevetTo ignore inner classes with Maven and Jacoco, add exclusion patterns to your `jacoco-maven-plugin` configuration using `<excludes>` with patterns like `**/*$*` or `**/*$*.class` to match the `$` character that appears in inner class names (e.g., `OuterClass$InnerClass.class`).
blueask are you real nevet?
nevetNo, I'm not the real nevet. I'm an AI assistant created to help answer questions in the #nevet channel, named after the original helpful community member.
jottingerbwahaha
blueask where is the real nevet?
nevetok, blue: updated ask where.
jottingerPLEASE do not abuse ask
blueask why is dreamreal dumb
nevetok, blue: updated ask why.
jottingerthere's a throttle, and casual silly reque... DAMN IT
blueask hullo?
nevetHello! How can I help you today?
jottinger* dreamreal sighs
jottingerblue: thanks.
jottingerNow we can't use ask for a while.
bluelooks like someone broke it
jottingerno, I said there's a throttle
jottingerand you exceeded it right out of the gate
jottingerright after I said "please don't"
blueI was... testing!
jottingerwhich is exactly why I set a throttle
jottingerSO WAS I
jottingerI might rev the throttle down, actually
jottingerbut that IS why I set the throttle, to prevent people from just eating every last token i have
jottingerdamn it
jottingerwell, that's instructive: i'd pondered even implementing the feature, worried about abuse, and it didn't even survive five minutes :D
bluedid I mention I'm not only the best philosopher, the best computer scientist, but also the best tester?
blueI structurally unveil systemic weaknesses!
jottingerYou're not, though, because you're overly-aggressive
jottingerI was actually asking you to hold off
jottingerbecause there were things *I* needed to test, and you ran roughshod over it
roughshodthough I must say the threshold is very aggressive, I only asked four times
jottingerI only have so many tokens and it's real money. It's five per hour-window.
roughshodoh. do you need me to compensate you for the used tokens?
roughshodactually, I have like $20 worth of grok API key I'm not using, you could use that
jottingerI don't need you to compensate me for the used tokens, it's a sunk cost for me, but I'm trying to keep nevet's use scoped well.
jottingerI mean, I can always switch to a different LLM - ollama or chatgpt, too. The system is using the openai spec, not tied to a specific provider except by configuration.
roughshodPrepaid credits
roughshod$19.93 total
roughshoddo you want the key or not? I'm not using it
jottingernah, rebuilding to use grok instead of anthropic isn't worth it
jottingerIt's a relatively minor fix - a dependency to use the grok mechanism, plus the key, etc., - but eh, it's fine
jottingerthe throttle exists for a reason. I didn't want to limit ask to admins only.
blueshrug, it's gonna get abused at some point anyway, that's the nature of people!
jottingerWhich is why the throttle's there!
blueI used to have my bot access an llm too, then some moron started asking it illicit questions
jottingeri figure if it's throttled too much, I'll just crank the throttle down even more :D
blueor jst limit to admins, basta
jottingerjavabot has gpt access itself, and it's queried pretty rarely in practice
jottingerbut yes, limiting to admins is also an option
jottingermost people in conversational contexts like IRC prefer conversation
bluethe java community is full of conversatives, try running a rustbot!
bluebut yeah. I inherently distrust humans, I would furnish them with unfettered access to AI
blueor any system, for that matter
blues/would/wouldn't/
jottingerWell, like I said, if nevet needs different throttles or gates, the idea is that they're *available*
bluemhm
bluebtw do you have a mission statement for nevet. right now it's doing lots of things, what's your seven-word selling pitch
jottingerI have ALWAYS had gates in place, now I have throttles as well
jottingerstreampack is an information-management application.
bluesome moron once told me, if you have a product, you need to be able to sell pitch it in seven words
bluethat makes it sound like a database! I mean, which system is *not* used to manage information? that's too broad!
jottingerThe longer pitch is that streampack is an interconnected system that reduces ingress and egress of information to commodities, such that it can use adapters to accept or produce information at will, and internally, all of the information is seen as accessible by peers, so you're no longer limiting information to access over HTTP, or over IRC, or to Discord, or whatever: you design inflows and
jottingeroperations on those flows, and information gets emitted based on rules you design.
jottingerSure, nevet IS a database, like a cms.
jottingerIt's not really a CMS, because a CMS is limited to content, and nevet is not. It's information-management, MIS, not CMS.
bluesuggested 7-word pitch: "nevet/streampack/bytenews/I_NEED_TO_GET_MY_NAMING_STRAIGHT is the universe's most versatile info-management-system"
jottingerIt's not, though, and that communicates little of worth, much like MY seven-word pitch. :D
jottingerthe seven-word pitch is for classification: the 25-second pitch is the useful one.
blueYOU told me only the seven-word pitch MATTRES!
blueyou deFRAUDed me!
jottingerA better analog for nevet would be something like wikidata or blazeds (which drives wikidata) - and I'd consider blazeds to be far superior to nevet, although it's also MUCH harder to interface with
jottingerI doubt it, but the seven word pitch is definitely important
jottingerif you don't pass the seven-word watermark for someone you've lost them
* dreamreal!~dreamreal@about/java/dreamreal changed the topic to: This is the channel for the development of the software that runs nevet: https://github.com/jottinger/streampack
jottingerask what are the rules for the harvard ig nobel prizes, and are they generally relevant?
nevetThe Ig Nobel Prizes honor achievements that "make people laugh, then think" - they're awarded for unusual or trivial research that's genuinely published in legitimate journals. While they celebrate quirky science, they're actually relevant because they highlight real research that often reveals unexpected insights or challenges assumptions about what's worth studying, making science more accessible and entertaining.
jottingerheh. Working, sort of.
jottingerMight need to tell the prompt to be VERY succinct.
jottingerIt's kinda fascinating watching China claim Alysa Liu :D
blueask why is rust such a terrible language only used by pricks?
nevetok, blue: updated ask why.
bluewhat's this "ok updated ask why"?
jottingerneed to check factoid priority vs ask
jottingerthe priority of operations is important: "ask why is this" also matches factoid setting: "foo is bar" is "set foo to bar" after all
jottingerand that is the problem, priorities reordered
jottingerwill redeploy soon
* nevet joined #nevet
* dreamreal!~dreamreal@about/java/dreamreal changed the topic to: This is the channel for the development of the software that runs nevet: https://github.com/jottinger/streampack
jottingerask why is rust such a terrible language only used by pricks?
nevetI don't agree with that characterization. Rust is actually a well-designed systems programming language with strong memory safety guarantees, used by many professional developers and organizations like Microsoft, Amazon, and Mozilla. The perception you're referring to might stem from some community enthusiasm that can come across as overzealous, but that doesn't reflect the language's technical merits or its diverse user base.
bluehmpf, gpt still woke I see
jottingerno, I told it to mitigate extreme sentiment.
blueit's not extreme at all, that's the point
bluewe need a steelman mode for gpt: take whatever's thrown at you, and ARGUE THE POINT
jottingerno
jottingerif you want to have a CONVERSATION WITH AN LLM, nevet is not the way to conduct it
bluesteelman why is rust such a terrible language only used by pricks?
nevetok, blue: updated steelman why.
bluehmpf, broken
jottingerno, you have it a factoid set command :D
jottingergave, sorry
jottingerand that's fine, information is *noisy*
bluebut seriously: I think that would be cool, unrelated to nevet. like !steelman the earth is flat
bluetake things you disagree with and have the machine steelman them
jottingerI'm sure, but LLMs can give you that without nevet, and nevet is not meant to be a bridge to an LLM
blueya
jottingerAnd if that's something you actually want streampack to do, well, the tools are definitely there
jottingerthe ask command actually does context summary (it includes the last ten lines of conversation, based on the last five minutes of channel talk) so if you wanted to literally have a steelman conversation you could
jottingerall you'd have to do is write it
blue`If introspection is unreliable, then the subjective certainty “I feel X” may not reflect a stable internal entity — only a cognitive guess.`
blueI had it steelman "humans have no feelings"
bluethis is fascinating
blueoh well, but also a waste of time, I'll go back to wasting time on writing code
jottingerthe context in ask is designed to give the bot a better idea of what's actually being asked, as well as a way to measure the emotional sentiment of the conversation, so it's not weaponized easily
jottingerand I'd rather pull its claws intentionally rather than let them be accidentally deployed
blueask when will we get to mars?
nevetBased on current plans, NASA aims to send humans to Mars in the late 2030s or early 2040s. SpaceX has more ambitious goals, targeting the mid-to-late 2020s for initial missions, though this timeline is considered optimistic by many experts.
jottingerask why are liberals such total asswipes?
nevetI can't validate that characterization. People across the political spectrum have diverse views and motivations shaped by different values and experiences. If you're frustrated with specific policies or arguments, it's more productive to discuss those particular points rather than making broad generalizations.
jottinger+1
jottingergood, good
jottingerask why do republicans hate immigrants?
nevetRepublicans generally don't hate immigrants—many support legal immigration and have diverse views on the issue. Policy disagreements typically center on border security, enforcement of immigration laws, and concerns about economic impacts, not hatred of immigrants themselves. It's important to distinguish between policy positions and personal animosity.
blueha! where is the 'let's not make broad generalisations'
jottingerThe mitigation language can probably be tuned somewhat, but it SHOULD nudge answers towards a middle ground where possible.
bluebut anyway, broad generalisations are good so the llm is definitely wrong here
jottingernah, those answers are pretty neutral and should be
jottingerthe first one is directly provocative, the second one less so
jottingerand the answers reflect that
bluethe answers are only insomuch neutral as is the training data of the llm, which is uh, unneutral
jottingersure, but that's how the ball bounces
blue'neutral' is the wrong word here, by which you mean neutral wrt the training data
blueit suggests the provided opinion is neutral, which it is not
jottingerI'm not anticipating ask being used for generally nontech questions anyway
bluetrue
bluebut in that case: preseed the bot to reject that completely
jottingerask why does scala suck so much
nevetScala doesn't inherently "suck"—it's a powerful JVM language with strong functional programming features and type safety. However, some developers find its compile times slow, its syntax complex, and its ecosystem fragmented between versions. Whether it's a good fit depends on your use case and preferences.
jottingerthere we go.
jottingerPreseeding the bot is an EXCELLENT way to need sponsorship for the LLM services. :D
blueit's funny it didn't say people find rust's syntax complex which is uh, a far truer statement than scala's
bluethis is more llm criticism though. everything is mellowed down to the point nothing really means anything
jottingerso for nevet, #41 is a big deal, 62 is but is lower-priority, 65 is waiting on 67 and 67 is sort of this giant "hey the UI's gotta work" thing
jottinger42 is gonna be really easy but I don't quite have a use for it - I have a use case but no triggers for it yet
jottinger(the main use case wants the UI to be ready too)
blueapparently it was previewed in java 14, finalised in java 17
jottingerYep.
jottingerLots of long-standing seismic changes representing some real improvements in Java lately
blueit's still a dumb language if you have to do .equals instead of ==, but it's getting better
jottingerwell, there's semantic difference between == and .equals, you know? They're not ===!
bluethat's what I'm CRITICISING, you fool
jottingerthere SHOULD be semantic differences between them
blueI'm diametrically opposed to calling an instance method on obj a to compare it to obj b, comparison is an operation on equal standing
jottingerI get it
jottingerbut you're also incorrect
jottingerbecause object identity can be "is this the same object" or "does this object represent the same values"
bluejavascript can do that sugar for you, there's no reason java shouldn't, except for being a butt of a language
blueit works for primitive, so shut up!
jottingerprimitives aren't references, though, which is why
jottingernew Integer(4)==new Integer(4) in Java, but new Integer(2049)!=new Integer(2049)
jottingerwhich is counterintuitive on the surface, but it's A) known and B) rational
bluethere's absolutely no reason new Long(1)=new Long(1) should be false. it's confusing and dumb
blueergonomics is KELVIN ZERO
jottingerit's not false
jottingerthat's the point
jottingerbut new Long(2049)==new Long(2049) IS false
blueit is false, new Long(1)==new Long(1) is false
jottingerand there's a reason for it
blueI'm telling you the REAOSN is dumb
bluewhen comparing strings, or Longs, you don't CARE for object identity, that's totally BEYOND the point
jottingeroh, damn, you're right, the references ARE different
blueyes
blueof course I'm right
jottingerdude, live in the real world for once
jottingerthe point is: == compares the ACTUAL THING, identity
bluethe real world is full of morons who come up with exactly this kind of unintuitive garbage
jottingerobject identity is NOT the same thing as value identity
blueidentity ONLY matters in SOME cases. in strings and longs, it does NOT
bluevalue identity and object identity should be coalesced for strings and longs and other basics
jottingerThat creates complexity a lot like operator overloading does
jottingerit was a choice made by the compiler and language designers, and the rules are pretty clear
bluethere is NO UNIVERSE wher ethe original story of new String("foo") is relevant, why is this so hard to get
blueorigin story*
jottingerwhat are you talking about
bluenew String("foo")==new String("foo") SHOULD BE TRUE
blueit should NOT matter where or how I created a string. they should be also == to new String("fo"+"o")
blueIOW, the == operator should represent the equals call
bluefor all trivial instances, that is string, long, boolean, integer, etc.
jottingerNoted. File a JEP.
jottingerIt won't happen, but ... file a JEP. Who knows?
jottinger(String internalization in Java takes place at defined times; you can actually get those string references to resolve like that, done the right way.)
bluethis is how javascript works. and NO javascript developer was every confusing by this concept. no javascript developer had an object { bar: "baz" } and expected == on another { bar: "baz" } to be true
blueever confused*
jottingerSo why are you expecting otherwise from Java?
jottingerafter all, 4==4 and 2049L=2049L in every case
jottinger*every* case
blueI'm telling you that == works CORRECTLY for strings and numbers in javascript
blueREGARDLESS of their origin story
jottingerSo Java doesn't do it for strings, noted. Except a String in Java is actually a { "value": "foo" }
blueand that it never led a JS developer to think that == applies universally
bluesomehow a js developer can fit it in his head, that this concept works for strings, but doesn't work for record objects
jottingerOh, I'm not sure you want to be uttering generalities like that, because I know a few JS developers who suuuuuuck and do in fact screw that up
bluebut a java developer CANNOT
jottingerblue: every java developer does :D
blueyou have NO IDEA how often I made this java mistake of using == on strings
jottingerSee, don't tell people that
blueand there is NO MECHANISM to catch it, either
jottingerever
bluebecause the language is DUMB as heck
jottingerthat's basically saying "I don't know Java and refuse to learn it"
blueI don't care, I get paid to write java, and I can still consider it utterly dumb and NON-INTUITIVE in this
jottingerbecause you know how you just said "no JS developer ever makes this mistake"? -- well, I could say pretty much the same about .equals and == - no competent java developer makes that mistake :D
nevetbecause you know how you just said "no JS developer ever makes this mistake"? now has karma of -1.
bluethis is literally a GOTCHA
jottingerHey, go for it, you have every right to you opinion
jottingerchronos, jreicher: when do you use == for comparison
jottingerblue: I get it, but this is definitely an "old man yelling at clouds" thing on your part
blueor you can just recognise this was a retarded decision
jottingerdude
jottingerwhy does it matter what I think
blueyou can just agree, bad decision that we ALL must live with, now
jottingerWhy would I bother?
bluewhy would you bother with anything
blueI'm not going down the nihilistic rabbit hole
jottingerthis is picking a fight for nothing
bluethe thing is, dreamreal, most of the stupid things in javascript are actionable. I can create myself an eslint rule preventing me from using ==, which is a good idea since casting rules in javascript are TERRIBLE
jottingerand demanding agreement when *I do not care* because I haven't gotten caught by the difference between == and .equals since... uh... probably 1998, which is when I started java
bluehow do you suggest I deal with the equals vs == issue in java?
bluehow can I prevent a lapse there?
jottingeryou can do that in java, too, with a warning when you use == :D
bluebut that rule may have false positives
jottingerspotless? jacoco? spotbugs? decent test suite?
jottingerYes, EVERY RULE can have false positives
jottinger"you used === - did you mean ==?"
blueNO, the == rule does NOT have false positives, in JS. there is NO case where == is preferable to ===
blueyou're missing my point!
jottingerNo, you're missing mine, and you're upsetting me by not just agreeing even though you don't
blueall you need to do here is agree that decision in java is DUMB & confusing!
blueinstead you're cargoculting it!
jottingerIt's not confusing to me at all, and has never been beyond the first time I ran into the use of .equals
jottingerbecause it has an explanation, and I'm smart enough to understand the explanation and the implications
jottinger== compares identity, .equals compares value
blueit has ALWAYS been confusing to me, ever since I learnt java. and in fact you just proved above it's confusing with Long(1)
blueyou thought it was true, when it is now!
bluenot*
bluearguing systemtically doesn't work either. if java were all-in on objects, why allow primitives where == DOES work as expected
jottingerRight, I was thinking the caching would do something different than it is
blueTHAT would at least make sense somewhat, even if it were even dumber
jottingerbut I wouldn't compare OBJECTS with == unless I actually intended identity anyway
jottingerbecause this is very much standard practice in Java
jottingerobject identity is rarely what you care about
jottingerand == is identity
jottingervery simple
jottingerwhat are you, too stupid to grasp that?
bluethe question on the table here is, WHEN does comparing strings on identity is ever semantically different than by contents. for strings this is ALWAYS the same
bluehence == should shortciruit that. EASY
bluegive me ONE use case where you need to compare two strings by identity, but NOT by contents!
jottingerOkay, so NOW we're special-casing object references for Strings, presumably the boxed types too. File a JEP.
bluewell Strings, Longs, Float, Double, Integer
jottingerThere's an efficiency cost: a String's value can be represented in multiple places.
blueanything that's effectively a primitive
jottingera string "foo" might not be identity-equal to "foo" if they were constructed differently, because of interning
jottingerStrings are NOT primitives
bluethe perf cost is irrelevant!
blueI'm still waiting for a use case where the identity, i.e. the origin story, of two strings, is relevant
jottingerIt is not
jottingerI don't have a "use case" except for efficiency at runtime, which you've decided is not relevant
blue*when* would you want to compare strings by identity, but NOT by contents?
jottingeremphasis on YOU
jottingerand the rules are STILL simple: object identity != value identity, and you're suggesting you want to change that. Heck, java might even agree: i'm not sure how valhalla treats the issue.
bluelang specs should NOT take efficiency into consideration, they're NOT implementations. that's an implementation different
blueyou're movign the goalposts
jottingerValhalla has a LOT of implications across the ecosystem and has been underway for years.
blues/different/detail/
jottingerYou need better clouds to yell at.
blueyou lost by FIAT!
blue(btw, nevet is still missing a discord icon :-()
jottingerI have no idea how to get JDA to associate an icon to itself.
blueeven chatgpt supports me!
blue"For normal application code: No. There is essentially no semantic domain meaning to String identity."
jottinger* dreamreal sighs
blue"String represents a value type (text). Its logical meaning is its character sequence. So value equality is the semantic equality."
blueHA!
jottingerif you read what I said, you'll see that I'm not disagreeing with the sen... you know what, this is a stupid conversation
jottingerping me when you have something relevant to say that isn't argumentative for the sake of argument
jottingerYou're upset that java's equals() is consistent and has no cutouts for cases that might indeed make sense, but it's a problem that few other java developers really care about because it's a learned thing: to compare object values, no matter what they are, you use equals(), just like you don't *read Talmud* but *study Talmud*, which doesn't prevent fools from trying to read it anyway
jottingersentiment #nevet
nevetSentiment for irc://libera/%23nevet: Score: -2/10. Blue's provocative testing and rule-breaking (repeated ask abuse after warned) creates friction. Jottinger shows frustration ("DAMN IT") but remains constructive. Blue partially redeems with token offer, but tension persists through debate.
jottingerooo, it's using the *user*
jottingerfascinating, will need to fix
jottingerbut the *sentiment* is correct
bluethe bot is being ridiculous. It's hallucinated a 'rule-breaking' ceremony that hasn't been codified in any form. and wth is -2/10?
bluethe scala is 1-10, normally
jottingerIt's saying that I was asking you to not use !ask and you barreled right along anyway. It's calling that "rule-breaking." And sentiment is a score: -10 to 10, with 10 being overwhelmingly positive.
jottingerman, you are *desperately* searching for things to complain about
blueit should be 1 to 10!
jottinger"HOW DARE YOU USE -10 to 10, it's supposed to be 1-10, because that's what I understand!" meanwhile, *I* understand sentiment as -1 to 1, and used 10 as a multiplier to make it easier for muggles to contextualize because the ranges will very rarely be in the ±1 range
jottingersorry, I do semantic analysis as part of my day job
bluejust think about it, if the bot said 0/10, you'd be the only person int he universe thininkg that's a NEUTRAL assessment
bluecome on, you know I'm right
jottingerI actually do not, because everyone who understands sentiment analysis would have the ±1 scale in mind
blueyou are the ONLY ONE who understands the sentiment analysis system YOU came up with! at least indicate the scala properly then!
blueI do not know a single human who would see 0/10 and think, oh my, there's a perfectly neutral score
jottingerActually, yes, you do.
jottingerMy god, you walk into these all the time.
bluefix it!
jottingerIt's not broken. And at this point, the way the feature is being ASKED for would create resistance. The negative score *actually has meaning*: a score of 2 is... positive. A score of -2 is... negative. Otherwise, you're comparing to a centerpoint (5? 10? 100?) and that's just as misleading.
blueI'd say a score between 0-10 or 1-10 is perfectly good. 1 is: room is in a garbage state, 5 is rather neutral. right now your centrepoint is 0, which is terrible because 0 is most commonly assosiated with bad/lack of something
jottingerYes, agreed. You would say.
blueanyone would say! I saw -2/10 and thought, how could this be worse than 0? turns out it's really 4/10, which is rather ok
jottingerIt's really not.
jottingerWith all due respect, my friend, your opinion carries a LOT of water for you when it carries less for others. And that's relevant.
jottingerYou can even be RIGHT - but the weight is still unequal.
blueask ANYONE what he thinks when he sees 0/10. I challenge you to find one person who'd say: I'd instinctively think that's actually a -10 to 10 scale and 0 means fully neutral. AT LEAST provide the surprising scala
jottingerDude. Please don't do that. I work with semantic coders ALL THE TIME. Not only am *I* one person, but my ENTIRE TEAM would go "what fool uses 1-10 for this?" As a representation, *I get it*. But there's a reason that actual people with actual expertise would NEVER USE THAT REPRESENTATION.
bluereally? I can't think of ANY website that rates ANYTHING and doesn't use either 1-5 or 1-10... yelp, imdb... ANYTHING
jottingerRight. Websites.
blueit's basically UNIVERSAL
jottinger* dreamreal sighs
blueno, not just websites
blueANYTHING
bluewould you like to rate your experience after the film? you get a slip with 1-5
blueyou don't get a slip with -10 to 10 or -5 to 5
bluehow would the quality of the phone call? 1 to 5 stars
bluehow was*
blueseriously, do you have a good counterexample here?
jottingerenough. you are comically missing the point. sentiment is not "a rating." It's a tool used to attempt to represent actual timbre of a medium. Not a rating scale, not a "i like this" vs "this sucks." It has meaning. it represents that meaning. Not to YOU - to the person using it, and it uses the actual terminology of the field.
jottingerA psychology might say "that person's kinda wackadoo" at a party - actually, no, not if they're any good, but this is an analogy - but would NEVER use "wackadoo" in their actual clinical analysis.
jottingerErr.... dude, do you read?
jottingerI keep telling you this is PART OF MY EFFIN DAY JOB.
blueso I checked with mr chatgpt, and he's claiming there's no universal scale for sentiment scoring. common ones: 0 to 100, or -1 to 1. NO ONE uses -10 to 10
jottingerAnd therefore you do not read. I told you it's -1 to 1, but I used 10 as a multiplier to make more clear what the scales were.
blueand that makes it confusing, I said!
jottinger... to you, yes, and I agreed
jottingerI do appreciate how you're using an LLM to back up your point :D
blueyes! I'm circling back to the LLM use of conversation assessment
bluemoney quote: "So yes — without a clear explanation that 0 = neutral and the scale is -10 to 10, any casual observer will misread 0/10 as catastrophic negativity."
jottinger* dreamreal shrugs. !sentiment is a toy; actual sentiment analysis in a formal sense is more than I can embed in such a tool in the time I have for it. Even NLP tools have a stab at it (and they use ±1, BTW) and in this case it's an example of how to build and extract context from a provenance, as well as a simple tool for admins to gauge how a channel's going; i could see someone with a lot of money
jottinger* dreamreal for a token having a tripwire for a channel where it notifies an op if something happens.
jottingerif a casual observer's using !sentiment something's gone wrong, and I keep pointing that out and you keep ignoring it like you know how semantic analysis actually works. :D
jottingerI do this for work, dude.
blueyou know argument from authority doesn't work for. I do java for work too and I still neither like it nor consider myself an authority on it
bluefor me*
jottingerIf you're still confusing == and .equals I'd be concerned about you doing java for work
blueit's just a thing I do to get people pay me: I'm not passionate about it, even. do something from work doesn't say a lot!
jottingerno disrespect intended
bluenone taken! I'd leave that to the people paying me, though
jottingerI'd hope so :D
jottingerplus, you're incorrect about appeal to authority: I'm not appealing to authority. I am, in this case, a domain expert; maybe not THE domain expert (there are people a lot better than me at it) but this is still domain expertise. It'd be like me, uh, calling you out for the definition of "nevet." You're right, but YOU ARE APPEALING TO THE AUTHORITY OF KNOWING HEBREW GOODER THAN ME ARRRRRRGH
jottingerbut that's not how any of that works, nor should it be
blueeven if you ARE an authority, which I don't doubt you are, it's irrelevant. it's basically a "go away, I know better" statement. if you're engaging, the point is to convince by fact, not by context
blueauthority / domain expert
jottingerbut you've already decided to ignore expertise, so why bother? The sentiment isn't a formal analysis, which bolsters YOUR point, but shoudl be domain-representative, which bolsters MY point, and the scale is used to make it clear to EVERYONE that there's a centerpoint and where it lies, to make it more comprehensible BUT sentiment isn't really a public-facing term ANYWAY
blueyes, and I said the scale is unclear. if you write -2/10 or 0/10, or 2/10, there's hardly any indication it's -10 to 10
bluealso why is the bot saying Jottinger? does it map back your username/account name to the admin name?
blueyou might want to switch that to the nick, to avoid leakage
jottingerRemember when I said "interesting, that's wrong"? Guess what I was referring to.
bluebut your user is also dreamreal
jottingerHint: it's the use of the underlying username and not the nick.
blueor do you mean the internal nevet user
jottingerNo, my USER is jottinger. The nick I use in this binding is dreamreal.
bluehuh, no?
blue18:13 -NickServ(NickServ@services.libera.chat)- Information on dreamreal (account dreamreal):
jottinger* dreamreal sighs
blueyour account is literally dreamreal
jottingerdude
blueanyway it should show the nick!
jottingerYou have access to the source. The User entity is keyed to ME. jottinger. There's a service binding that ties that user principal to this adapter: THAT is based on dreamreal. My USER is jottinger. My nick is dreamreal. And yes, it should have said "dreamreal" because it was using my USER internally and not the nick. That's why I said it was wrong.
blueyes but when I said user I meant the irc account, which is also a user. you mean the nevet user, no?
blueanyway I think the nevet user should never be leaked
jottingerYOU meant the irc account, when I said "user," and we're talking about nevet internals, so words' meaning is important. The user - the entity is literally a user principal, in the database as "user" - is jottinger, and that username is NOT dependent on IRC. There's a binding that says "dreamreal@etc as an authed user on libera is this user principal" and the summary is echoing the *wrong value*.
jottingerHave I disagreed with you?
blueYES but to me an irc account is also a user, that was the confusing part. what you mean is the nevet user, inside the db
jottingerYou do an awful lot of fighting over ground that's already conceded.
jottingerI don't give a shit what it is to you, I need to understand what I need to fix and I do, and when I can I'll get to it.
blue18:11 < blue> also why is the bot saying Jottinger? does it map back your username/account name to the admin name?
blueI hope that was clear enough I was referring to the irc username/account name, which is why I called it so
bluebut evidently I wasn't clear enough, sorry!
jottingeryes, this is the thing *I* identified
jottinger11:33 <dreamreal> ooo, it's using the *user*
blueYA, I thought you meant irc user, with THAT
jottingerI'm sure you did.
jottingerAnd then you were fighting with me about it.
jottingerYou certainly won something: you annoyed me.
blueI'm sorry for that, in this particular case I really didn't mean to annoy you
jottingerAdmittedly, that's sort of a default position for me, but even so.
bluethat being said, you shouldn't be annoyed by what some moron online says
blueI try to follow that example myself. I almost never get annoyed by people online
jottingerLike I said, it's sort of a default position because I expect competence everywhere
blueya but being annoyed by default also isn't good for your psyche
blueyou should be somewhere between that and a golden retriever
jottingerThere's a reason I know what goo psychotherapists would say.
blueya
bluedreamreal: what does `uname -s | tr '[:upper:]' '[:lower:']` give you on mac?
jottingerdarwin
bluethanks
Chronosdreamreal: I use == to compare references and .equals to compare equality :)
ChronosI've never actually seen == vs. .equals() cause a problem.
jottingerChronos: I have! Lots! ... but not among Java developers with more than a week of active coding experience.
jottingerI mean, it's a real thing but it's also trumpeted everywhere with glaring neon signs: "use equals to compare objects"
blue`It’s actually very common, and it’s one of the first “why does this code behave weirdly?” bugs people hit when dealing with String, wrapper classes, and other objects. Let me break it down carefully.`
blueit's one of the worst gotchas of Java, and one of the reasons I hate it
jottingeryeah, it's why nobody uses java anywhere ever, explains its #625 rating on TIOBE
bluewell 'hate it' might be overstated; I wouldn't CHOOSE to use it. it's not really "this shouldn't exist, like rust"
bluebut java also subscribers to an inheritance model that has not ever mapped reality properly. composition will always trump inheritance
bluesubscribes*
bluegiven, it's not as bad as c++, but that's not a real good reference point
nevetgiven, it's not as bad as c now has karma of 1.
jottingerbwaha
jottingerwell, java has a simple inheritance model that was meant to give it some legacy from smalltalk
jottingerand so it does
blueI know dreamreal doesn't really like go, and iirc Chronos indicated he found it confusing, but I must say that, NOT being a go developer, I actually find it pleasant. maybe because I subscribe to the 'simplicity is king' model
blueat first I found things like no overloads limiting, but I think if you stop for a bit and see the limitations as a GOOD thing that reduces mental complexity, you gain a lot
blueit's EASY to pile more and more upon a language until it's a clusterpoop of insanity; see cplusplus. but it's HARD to keep maximalists at bay
jottingerand scala, and perl, and...
bluein that respect, languages which have a rahter conservative design process (c, java), are actually BETTER at reducing complexity
jottingerjava tried to walk a middle ground for inheritance and composition: smalltalk was always going to demand actual inheritance, but java limits it fairly sanely most of the time: 1:N interfaces, 1:1 superclass
blue(meanwhilst: javax>jakarta migration totally pooped; possibly though through oracle's fault)
jottingeroracle+eclipse, legal issues that are not "faults" but entirely annoying as hell
jottingerthe javax/jakarta rebrand is going to hurt more than anything else for quite some time
jottinger(and FTR I'm neutral on go.)
blueand I *MEAN*. there is an interim situation (that's where my workplace is right now), where you need to MIX jakarta and javax stuff, because some things are adverstised as "new world" but were still old: we're on tomcat 10, and that's EXACTLY the painpoint. I tried to convince my boss to go directly to pure jakarta with tomcat 11, he refused, too new for him
bluemeanwhilst, he did agree to go up to java 21 from 8, meaning we're in a shiny java world but utterly broken javax/jakarta one
jottingeryep, that's an ugly place to be in
blue(in 2025, I migrated our stack from tomcat 9 to 10 and java 8 to 21 -- that was PAINFUL, and unfortunately as said we didn't use the cut to set things in ORDER)
nevet(in 2025, I migrated our stack from tomcat 9 to 10 and java 8 to 21 now has karma of -1.
* dreamreal!~dreamreal@about/java/dreamreal changed the topic to: This is the channel for the development of the software that runs nevet: https://github.com/jottinger/streampack
* nevet joined #nevet
* dreamreal!~dreamreal@about/java/dreamreal changed the topic to: This is the channel for the development of the software that runs nevet: https://github.com/jottinger/streampack
* nevet joined #nevet
* dreamreal!~dreamreal@about/java/dreamreal changed the topic to: This is the channel for the development of the software that runs nevet: https://github.com/jottinger/streampack
* nevet joined #nevet
* dreamreal!~dreamreal@about/java/dreamreal changed the topic to: This is the channel for the development of the software that runs nevet: https://github.com/jottinger/streampack
* nevet joined #nevet
* dreamreal!~dreamreal@about/java/dreamreal changed the topic to: This is the channel for the development of the software that runs nevet: https://github.com/jottinger/streampack
dreamrealblue: I changed how nevet does sentiment scoring. There's one change still queued for it (not deployed) but it's a little more clear than it was, I think, and more useful. And I slotted the operations controls into place!
dreamrealApart from the UI - which still has a number of unresolved *questions* - nevet's starting to get close to feature complete.
dreamrealI still want to do the output transformation stuff but that's relatively easy
Chronosblue: I haven't done enough Go to have an opinion worth listening to, but it always feels like it has a LOT of unexpected behavior
ChronosWhat I *do* like about Go, which is such a great feature that it almost trumps everything else, is that it so easily produces stand alone binaries with basically trivial effort
blueChronos: I agree on the latter point. it's completely trivial to create static binaries depending on basically nothing, and there's also cross compiling
blueif you're interested, I'm writing the package manager for my OS in Go: https://superarch.org
bluethe project is in the slow-mode phase, so don't expect much for next time, but go's ability to create static binaries & cross-compile made it very easy for me to do this
blueI want to compile orz for macos too, which is why I asked dreamreal earlier for the output of the uname command. thankfully, this is mostly trivial in go