here's my december adventure log. it would be mostly coding sbt, but some mix of food, music, skate stuff too

day 1: fixed a Scala 3 compiler warning in sbt 2.x that gets displayed to the user
eed3si9n.com/december-adventur #DecemberAdventure

#DecemberAdventure day 2
sent 'Artifact publishing proposal' proposal to Scala Center. the gist of the proposal is to consolidate the effort around publishing changes.

released sbt-jupiter-interface 0.13.3, featuring bug fix contributed by Li Haoyi

at night, worked on the december mixtape
eed3si9n.com/december-adventur

#DecemberAdventure day 3
went skating in the morning before work. 8.25 inch + AF-1 still feels heavy compared to previous setups

no night hacking but did a small writeup of sbt 2.x bug fix (github.com/sbt/sbt/pull/7925) wherein source dependency `ProjectRef(file("a1"), "a1")` was resulting in "Invalid build URI" on sbt 2.x
eed3si9n.com/december-adventur

#DecemberAdventure day 4
`java.net.URL` infamously calls out to the network to perform `equals`, so likely we should avoid the use of it in setting keys and data types, which might be involved in caching. so I've sent github.com/sbt/sbt/pull/7927 to change all the keys to `URI`

this also cherry picks a commit from a dormant PR that changes licenses from a tuple `(String, URL)` to a data type
eed3si9n.com/december-adventur

#DecemberAdventure day 5
my two cents on compilers: compilers should be silent if it did exactly what was told. any warnings should be actionable such that the user can get rid of the warning somehow. `-Xmigration` notices might be an exception.

as a low effort exploration, I decided to try the next Scala 3.x, Scala 3.6.2-RC3. unfortunately the compilation failed under `-Xfatal-warnings` because Scala 3.6.2-RC3 threw unactionable notices as warning.
eed3si9n.com/december-adventur

#DecemberAdventure day 6
an area of sbt that likely few people know the details about is the thin client. let’s try reverse engineering sbtn to see how the native code is communicating with sbt 1.x.
```
$ socat -v UNIX-LISTEN:$HOME/.sbt/1.0/server/aaaa/proxy.sock,fork UNIX-CONNECT:$HOME/.sbt/1.0/server/aaaa/sock
```
that should able to intercept the UNIX domain socket, if you point sbtn to proxy.sock
eed3si9n.com/december-adventur

Follow

@eed3si9n TIL there's an sbt thin client 😅

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.