Fork me on GitHub
#off-topic
<
2022-07-26
>
Ben Sless05:07:32

Does anyone know if it's possible to listen on compilation events in the JVM instead of printing them to a log file with flags like PrintCompilation etc?

phronmophobic05:07:26

maybe not for the JVM, but I remember seeing this cool video of a squeak environment running on top of truffle/graalvm while monitoring the compilation queue, https://www.youtube.com/watch?v=MVblV_ruG28 . You can also run java/clojure with truffle/graalvm. It looks like you can monitor the compilation to some degree, but it seems like the documentation is a bit sparse. References: • https://www.graalvm.org/22.1/graalvm-as-a-platform/language-implementation-framework/TraversingCompilationQueue/https://github.com/oracle/graal/blob/master/compiler/src/org.graalvm.compiler.truffle.runtime/src/org/graalvm/compiler/truffle/runtime/CompilationTask.java

ghadi05:07:02

Use JFR, there are compilation events

🆒 1
Ben Sless06:07:08

@U050ECB92 I know I can use JFR, but I want to capture them from within the running process. Can I hook into the same APIs it does?

vonadz09:07:48

Has anyone seen anything like nrepl + conjure + nvim (same for emacs I guess) Clojure development but for JavaScript? I'd love to be able to evaluate things in the file as I'm writing the code for nodejs.

Martynas Maciulevičius09:07:06

First of all -- how would you know what you're evaluating? But no, I don't know any tools like this.

vonadz09:07:18

I'd imagine you'd have different bindings based on what you're trying to evaluate, ie, for a variable, function, etc. But technically everything is an object, so maybe there's an easier way of doing it? But I don't know. I haven't dug into how nrepl or conjure work.

Martynas Maciulevičius10:07:52

IMO nREPL has the namespaces already in the memory. So then you can take a variable and evaluate it in a specific namespace. I think this is what's done by the tool. And I also think that JS already has some kind of command-line REPL but we simply don't have tools that wrap it to use in IDEs. I don't know about namespacing in JS too well but it could work.

codeasone10:07:57

@U03QQS7341W for Emacs there's https://github.com/NicolasPetton/Indium with a nodejs back-end, although I haven't used it in anger - no idea about VIM equivalents.

vonadz10:07:42

@U028ART884X yeah there's already a REPL for Node. I'd imagine that's most of the work done, it's just a matter of communicating between it and VIM, but again, I don't really know.

vonadz10:07:55

@U191H9E5C oh sweet, thanks. I'll check this out.

teodorlu11:07:05

Dear programmers who consider yourself "old". Do you still find joy in programming? Do you find the same stuff joyful now, as when you started out?

teodorlu11:07:14

Got curious about this because of @U0PUGPSFR's reply to a different thread, which made me realize that I just ... expected everyone else here to be approximately the same age as I. https://clojurians.slack.com/archives/C053AK3F9/p1658833929293369?thread_ts=1658827486.185629&amp;cid=C053AK3F9

blogscot13:07:43

I was just listening to and old episode of the https://www.cognitect.com/cognicast. Craig, the then host, said, “Who we are when we’re 10 sets who we are for the rest of our lives” or words to that effect. Pretty much true in my case too.

😄 1
paulocuneo13:07:40

I'm 37 (maybe not so old, just not a kid), worked professionally ~9 years, I took a sabbatical to finish an engineering degree, I learned typescript this term 👍, now on vacation got bored and looking what changed C/C++ since last time I use it.

🙌 1
vemv13:07:50

I'm at year ~10 which is not much, but I'm almost certain joy is lost, and I don't look forward to recover it :) For me being a great programmer is doing as little of it e.g. remove complexity, increase productivity. Maybe if I lived 10000 years I'd happily allocate 1000 to programming. But I don't, so I prioritize hobbies that don't resemble my day job

1
🍺 1
teodorlu13:07:45

@U45T93RA6 what kinds of hobbies do you like to pursue?

vemv13:07:28

anything that doesn't involve a computer 😄 (which is a reason why I always procastinate music-making... too computer-y)

😄 1
lread14:07:53

Is 55 old? After a long career in programming, my main hobby is programming. I still find much joy in it.

👍 2
blogscot14:07:18

@UE21H2HHD For a moment, I thought you were describing me. “How did he guess?” I enjoy learning new computer languages too. I’m tentatively trying to wrap my head around Prolog in my spare spare time. But I also get a lot of pleasure out of doing something kinda of completely different, that is, learning human languages.

😄 1
lread16:07:28

Cool! What human languages are you learning @U0D6971L3?

blogscot16:07:00

He estudiado español 🇪🇸 durante varios años. Actualmente, estoy intentando mejorar el francés :flag-mf: hasta alcanzar el mismo nivel. Creo que eso me va a llevar un tiempo.

teodorlu16:07:44

I've been wanting to learn prolog too! Clojure is a very rich ground for ideas, but I think we've got stuff to lean from prolog.

Martynas Maciulevičius17:07:24

I have something like 7 years of experience (and I also have Master's in IT). It has been a complicated journey. I think that if you do programming for work then you do some kind of scrum and whatever. And this kind of programming hasn't been fun for me. I found that if I run away then the programming is not as "not fun" as when I use scrum. So basically... if they try to squeeze the value by using scrum I'm not going to be happy and I'll feel pushed and forced to work. And this feeling is not fun at all. So in these cases I tend to become indifferent. What I find exciting is when "stuff works" and I don't have any kind of rigid process that says that "you didn't finish this task in x seconds because you said you will". I find this draining and unproductive. Estimate is not a contract and and I don't have to feel bad if I don't hit estimates or not work "100%" all the time. I tend to stick around in startup-like companies (amazon is not start-up by any means, they just like to lie to their workers and applicants) where there is literally no "process" yet. If you want to do something then you need to figure it out. And this part is exciting for me. And on top of that currently I'm even employed to do this with Clojure which basically means I can do quite a bit of work on my own. Currently I'm in a one man team. What a weirdo... 😄

ahungry17:07:01

I'm 39, been programming since 7th grade, so about 26 years - still tons of fun to me

chepprey18:07:05

I'm 51, professional developer since 1995, started on a ZX-81 in 1982. I'm looking forward to retiring, to have more time for tinkering on 8-bit machines again, and doing more Clojure (which sadly we don't use at work). I love programming still. The job sometimes makes it not fun, but, it's still satisfying even after all these years to solve real problems by writing software.

slipset21:07:32

51, programming professionally since 1995. Still very much enjoying it, but I've never really had programming/computers as a hobby. Been working hard to avoid (project) management, fairly successful at that.

😂 1
😄 1
lread23:07:17

Yeah I hear ya @U04V5VAUN, although I loved working on teams, I often ended up filling the roll of team lead. This could be practical for a project, but left me less time for dev work which I really do enjoy.

seancorfield03:07:59

I just posted in that thread -- but I don't really consider myself "old", even tho' I just turned 60 a few weeks ago and have been programming professionally for over 40 years. I've been doing open source development "on the side" for fun for 30 years. So, do I still find joy in programming? Hell, yeah! I try to learn a new programming language every year or two. I love contributing to open source projects. I love to help beginners learn programming languages. I think it's awesome that people will pay me to do something that I started doing as a hobby as a teenager and would still do even if I retired! Do I find the same stuff joyful now, as when I started out? Wow, that's a hard Q! I mean, programming these days is very different to what it was like when I started out 🙂 I started out doing assembler and solving "interesting" problems for that environment (e.g., recursive tree walkers for hierarchical databases, interactive full-screen editors). Then I worked on compilers and interpreters for a while, then parallel programming systems (Inmos Transputers), then embedded telephony systems, and finally into web systems (mid-'90s). And web systems have become orders of magnitude more complex over the past two-plus decades so the challenges have kept increasing over my career and I still find things joyful -- but it's not "the same" stuff because nothing is the same.

😊 1
lread20:07:11

Happy belated birthday @U04V70XH6!

🎂 2
Ivar Refsdal16:08:24

Asking this on the Clojurians slack would result in some (self) selection bias, no? I'm 38 at this point, not sure I consider myself old, but not young either. I'm more optimistic and enthusiastic about programming now than when I started programming professionally about 10 years ago. There is a number of reasons for that. One of them is that I'm now working shorter days 🙂. The last couple of years I've tried to contribute more to open source, as well as making new open source projects myself. I find that meaningful: making what other people (or projects) can (re-)use, tinkering to find the right API/abstraction and writing some documentation. A desire to write reliable and robust backend systems has been there all along.

❤️ 1
vemv18:07:34

Can I install JDK 17 as an explicit, fixed version using brew? brew info --cask temurin tells me it will install JDK18, it's not what I want I'm used to tapping adoptopenjdk but that's deprecated now 😢

vemv18:07:58

Part of the question is how to install also older JDKs... every now and then I need that Maybe I can keep using the "deprecated" taps, idk. Ideally I wouldn't mix and match taps

dpsutton18:07:28

i’ve enjoyed using sdkman. makes it very easy to switch around

👍 3
vemv18:07:25

Does it also download the jdks in question?

dpsutton18:07:18

indeed it does

👀 1
Cora (she/her)18:07:19

there's also asdf-java which has a better story for installing specific older versions, whereas sdkman makes you guess at filenames for that

dpsutton18:07:41

i always have to look through sdk list java and find a version and copy it and then use sdk use java <that> (and often times get the syntax wrong. sdk java list feels more natural to me but i think is the wrong order. But overall i really like it

Cora (she/her)18:07:31

I mean more like loading a specific old patch release, older than current, is a pain in sdkman but I do like the porcelain on it a lot better

vemv18:07:33

Thank you both! For completeness I found out https://clojure.org/guides/install_clojure#java which tells you what seems a brew-diomatic approach. I downloaded a couple JDKs https://adoptium.net/temurin/releases by hand just before, which worked just fine And this old bash function keeps working:

jdk() {
  if [ $# -eq 0 ];
  then
    java -version
  else
    local version=$1
    export JAVA_HOME=$(/usr/libexec/java_home -v"$version")
  fi
}

paulocuneo19:07:01

I didn't know about sdkman, seems more up to date compared to jenv

teodorlu20:07:05

https://asdf-vm.com/ is also nice for managing Java versions. Supports Python / ruby / node / other stuff too.

1
richiardiandrea20:07:16

one more plus for sdkman and/or asdf

Mateusz Mazurczak06:07:08

With sdkman you can also easily switch version of java if you have few different installed

richiardiandrea15:07:38

honestly I did not know asdf had a java bundle, we are moving to asdf for every binary and we might as well use it also for the jvm, it is such a smooth tool

Cora (she/her)15:07:21

the only downside to asdf is it adds a tiny bit to start time, which only really matters if you're invoking something in a tight loop

👍 2