dreamreal55=<reply>55 is the Java classfile format number for Java 11.
nevetok, dreamreal: updated 55.
dreamreal55
nevet55 is the Java classfile format number for Java 11.
dreamreal45=<reply>55 is the Java classfile format number for Java 1.02. Don't use this.
nevetok, dreamreal: updated 45.
dreamreal46=<reply>55 is the Java classfile format number for Java 1.2.
nevetok, dreamreal: updated 46.
dreamreal46=<reply>46 is the Java classfile format number for Java 1.2.
nevetok, dreamreal: updated 46.
dreamreal45=<reply>45 is the Java classfile format number for Java 1.02 and Java 1.1. Don't use this.
nevetok, dreamreal: updated 45.
dreamreal47=<reply>47 is the Java classfile format number for Java 1.3.
nevetok, dreamreal: updated 47.
dreamreal48=<reply>48 is the Java classfile format number for Java 1.4.
nevetok, dreamreal: updated 48.
dreamreal49=<reply>49 is the Java classfile format number for Java 5.
nevetok, dreamreal: updated 49.
dreamreal50=<reply>50 is the Java classfile format number for Java 6.
nevetok, dreamreal: updated 50.
dreamreal51=<reply>51 is the Java classfile format number for Java 7.
nevetok, dreamreal: updated 51.
dreamreal52=<reply>52 is the Java classfile format number for Java 8.
nevetok, dreamreal: updated 52.
dreamreal53=<reply>53 is the Java classfile format number for Java 9.
nevetok, dreamreal: updated 53.
dreamreal54=<reply>54 is the Java classfile format number for Java 10.
nevetok, dreamreal: updated 54.
dreamreal56=<reply>56 is the Java classfile format number for Java 12.
nevetok, dreamreal: updated 56.
dreamreal57=<reply>57 is the Java classfile format number for Java 13.
nevetok, dreamreal: updated 57.
dreamreal58=<reply>58 is the Java classfile format number for Java 14.
nevetok, dreamreal: updated 58.
dreamreal59=<reply>59 is the Java classfile format number for Java 15.
nevetok, dreamreal: updated 59.
dreamreal60=<reply>60 is the Java classfile format number for Java 16.
nevetok, dreamreal: updated 60.
dreamreal61=<reply>61 is the Java classfile format number for Java 17.
nevetok, dreamreal: updated 61.
dreamreal62=<reply>62 is the Java classfile format number for Java 18.
nevetok, dreamreal: updated 62.
dreamreal63=<reply>63 is the Java classfile format number for Java 19.
nevetok, dreamreal: updated 63.
dreamreal64=<reply>64 is the Java classfile format number for Java 20.
nevetok, dreamreal: updated 64.
dreamreal65=<reply>65 is the Java classfile format number for Java 21.
nevetok, dreamreal: updated 65.
dreamreal66=<reply>66 is the Java classfile format number for Java 22.
nevetok, dreamreal: updated 66.
dreamreal67=<reply>67 is the Java classfile format number for Java 23.
nevetok, dreamreal: updated 67.
dreamreal68=<reply>68 is the Java classfile format number for Java 24.
nevetok, dreamreal: updated 68.
dreamreal69=<reply>69 is the Java classfile format number for Java 25.
nevetok, dreamreal: updated 69.
dreamreal69=<reply>69 is the Java classfile format number for Java 25. Nice.
nevetok, dreamreal: updated 69.
dreamrealnevet++
dreamrealdreamreal--
dreamrealbeauty.
dreamrealkarma chronos
nevetchronos has karma of 1.
dreamrealkarma chronos
nevetchronos has karma of 1.
dreamrealtop karma
nevetTop karma: chronos(1)
dreamrealbottom karma
nevetBottom karma: sbt(-1)
dreamrealtop karma
nevetTop karma: chronos(1), sbt(-1)
dreamrealtop karma
nevetTop karma: chronos(1), sbt(-1)
dreamrealthe karma erodes after something like 10.5 months, if nobody adjusts your karma for that period it becomes zero
dreamreal(it's FP math, so in a month it'd be like 0.95, and then it gradually erodes faster and faster until it goes away)
Chronosdreamreal: Why 10.5 months?
dreamrealjust how the math worked out
dreamreal val score =
dreamreal records.sumOf { record ->
dreamreal val ageInDays = ChronoUnit.DAYS.between(record.recordDate, now)
dreamreal record.delta * exp(-0.002 * ageInDays)
dreamreal }
dreamreal return score.roundToInt()
dreamrealThat's the actual code
dreamrealIt actually forcibly deletes karma operations older than a year, so it's not going to go back 5 years to track null-ops
dreamrealteckla++
nevetteckla now has karma of 1.
dreamrealteckla++
nevetteckla now has karma of 2.
dreamreal~top karma
dreamrealtop karma
nevetTop karma: teckla(2), chronos(1), sbt(-1)
dreamrealdamn it, that signal character is brutal
dreamreal"!" is two keypresses, but ~ is taken, = might work better but feels unnatural as well
dreamreal\ is also a candidate. Hmm, what about "`"?
dreamreal(It's a setting on the connection, so it's actually pretty easy to change)
Chronosdreamreal: Ah, makes sense
Chronosdreamreal: Is that Kotlin?
dreamrealyeah
ChronosHmmm, clean looking
ChronosAnd thank you for using meaningful variable names!
dreamrealI thought about using mumps-like naming but something in me rebelled
dreamrealjust treat all of heap like a single giant array of bytes, you know
dreamrealwould mean the code only ever had one and only one maintainer, and he'd end up in a funny farm some day gibbering about "I'm sure I put it in the right offset in the array, ahahahaha I KNOW it, I swear hahahahahahaha"
dreamrealand for the record that mumps joke is freaking PEAK humor
dreamreal(Working on slack integration again: slack's docs are awful.)
ChronosSlack? Slack?!
Chronosdreamreal--
dreamrealYou can't karma me, hoser!
Chronoshahahaha :)
dreamrealI yeeted the specific code-based cutout, it's now configurable :D
dreamrealbut I actually want slack, matrix, and mattermost to go along with irc and discord
dreamrealthey're all just ingress and egress adapters - there's even an email egress adapter, and theoretically you could make that an ingress too
dreamreal(can you imagine emailing nevet@nevet.dev with a subject or body of "55" to get a factoid response?)
dreamreal55
nevet55 is the Java classfile format number for Java 11.
dreamrealI mean, theoretically with the system design that'd be utterly valid: the blog system could easily watch for email requests for article content or submission...
dreamrealoperations can filter based on protocol, so I could make it where HTTP or SMTP were ignored protocols for karma, factoids, calendars, etc
dreamrealtoday help
nevetError: Unknown calendar: help. Use 'today list' to see available calendars.