joyride

borkdude 2022-04-29T09:09:36.891049Z

Posted a link to HN: https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=show%20hn%20joyride%20vscode&sort=byDate&type=all Would be cool if we could get some Clojure discussion on HN today :)

pez 2022-04-29T09:30:10.236909Z

Maybe specifially at @leif.eric.fredheim. ๐Ÿ˜ƒ This is from the Show HN guidelines: > Make sure your friends and users do not add booster comments in the thread. HN users are adept at picking up on those, they consider it spamming, and they will flame you for it. If a friend or a fan has something interesting to say, that's fine, but comments should not be promotional.

๐Ÿ’ก 1
๐Ÿค” 1
leifericf 2022-04-29T09:32:58.914789Z

@pez Are you referring to me posting a comment with a link to your YouTube video on the HN thread? I would hope it's relevant and OK to post a demo of how it works.

borkdude 2022-04-29T09:49:06.847589Z

@leif.eric.fredheim I think your video PR links to the wrong video btw ;)

๐Ÿคฆ 1
borkdude 2022-04-29T09:49:17.547969Z

I should have checked that before I merged it

๐Ÿ˜‚ 2
pez 2022-04-29T09:49:44.080919Z

Haha, @leif.eric.fredheim. I was more referring to your enthusiasm ๐Ÿ˜ƒ

1
pez 2022-04-29T09:50:34.252139Z

No offense intended. Just kidding around. I love that you are helping with this!

๐Ÿ‘ 1
leifericf 2022-04-29T09:54:11.411139Z

@borkdude Oh, shit! I'll recheck the video link. I thought I verified it, but I had several Calva videos open in different tabs and may have gotten things mixed up ๐Ÿ˜… Apparently, I can't even be trusted to edit Markdown files, lol

leifericf 2022-04-29T09:56:38.426619Z

@pez No worries! I just wanted to make sure I wasnโ€™t unintentionally screwing things up on HN. I'm like a dog in a squirrel park, so I need to be leashed and reined in sometimes ๐Ÿ˜‚

๐Ÿถ 1
borkdude 2022-04-29T09:58:08.981799Z

1
borkdude 2022-04-29T10:02:04.449069Z

Huh, the video link now appears to work for me. Previously I saw the fizzbuzz video. Well, all is solved it seems then

๐Ÿ‘ 1
leifericf 2022-04-29T10:07:09.288599Z

Now itโ€™s no. 3 on HN.

1
leifericf 2022-04-29T10:39:58.418389Z

@borkdude Ah! I think I know what happened with the video linkโ€ฆ There was another video link right below to the FizBuz video โ˜บ๏ธ I suspect you might have clicked that one, thinking it was the one I added above. Not that it matters much, but maybe it solves the mystery.

borkdude 2022-04-29T10:42:52.139999Z

ok, sorry for blaming it all on you ;)

leifericf 2022-04-29T10:43:28.833899Z

Haha, no worries! ๐Ÿ˜ There is always a decent chance I borked it.

borkdude 2022-04-29T10:45:56.475639Z

Did someone mention my name? ;P

๐Ÿ˜‚ 1
leifericf 2022-04-29T10:47:31.366949Z

As a former software QA tester in the games industry, my job for half a decade was literally to break (test) stuff ๐Ÿ˜…

pez 2022-04-29T11:25:39.727599Z

I complemented the heisen-video-link with an embedded video (a bit damaged in the compression down to under 10 mb, but it works, I think).

๐Ÿ‘ 1
pez 2022-04-29T11:26:44.527279Z

The README is a bit updated now. To embed a demo video and also mentioning the examples folder, and what you can find there. https://github.com/BetterThanTomorrow/joyride/blob/master/README.md

borkdude 2022-04-29T11:31:56.891789Z

I think it is possible to embed youtube videos directly in the README

๐Ÿ˜ฎ 1
borkdude 2022-04-29T11:32:00.390759Z

I've done this with babashka

borkdude 2022-04-29T11:32:29.775309Z

oh no, that's not true, it only shows the preview in the README and when you click you go to youtube

๐Ÿ‘ 1
borkdude 2022-04-29T11:32:50.722769Z

but that seems actually good enough to me

leifericf 2022-04-29T11:32:52.829779Z

I was trying to do that (albeit not very hard) and all the articles I found said it wasn't possible.

leifericf 2022-04-29T11:33:21.914539Z

Beat me to it :)

borkdude 2022-04-29T11:34:08.181119Z

See here: https://github.com/babashka/babashka#talk

๐Ÿ‘€ 1
borkdude 2022-04-29T11:37:41.566509Z

But I think what PEZ has done is awesome, you can just stay in the README

๐Ÿ‘ 1
pez 2022-04-29T11:39:48.209709Z

I did it like that because w/o a play-button overlay it is not obvious enough that it is a video. But, yeah, actually now you stay in the document. That's a plus!

pez 2022-04-29T11:42:08.714669Z

#2 now!

1
borkdude 2022-04-29T11:28:40.572489Z

I made a rough example as a reaction on a question by someone on HN, how to read a number from the cursor, increment it and put it back into the document: https://gist.github.com/borkdude/08ec3ae2af5963a4a03cd8e0873c918d Instead it reads the number from the end of the line, else I wasn't able to interactively test it in the REPL ;)

pez 2022-04-29T11:32:43.379369Z

I think maybe if you use replace instead of insert you can do it on the selection, interactively in the REPL.

borkdude 2022-04-29T11:34:21.032639Z

but how do I select and also invoke a function from within the REPL without undoing the selection?

pez 2022-04-29T11:56:13.611649Z

I'm not sure, but I think that replace retains the selection.

concerned-tortoise 2022-04-29T14:17:03.181849Z

Took a quick look at Joyride README and it talks about to set it up you need to make a .joyride directory in your workspace. Is it possible to make a ~/.joyride directory as well to make globally available scripts rather than workspace-specific stuff?

borkdude 2022-04-29T14:29:46.110769Z

@phdumaresq there is an issue about that, we call that "user scripts"

borkdude 2022-04-29T14:29:52.048319Z

and this is something we want to get in for 0.0.3

โค๏ธ 1
pez 2022-04-29T14:41:49.047739Z

I jotted down an idea that occurred to me. Or actually, while I typed it, it forked out to two ideas. But anyway: https://github.com/BetterThanTomorrow/joyride/discussions/14

mauricio.szabo 2022-05-02T00:11:43.464849Z

Do you want some help on this feature? Sounds amazing, and it will make joyride quite the same as the Atom's init script...

pez 2022-05-02T06:14:26.471609Z

It would be awesome with your help, @mauricio.szabo!

borkdude 2022-04-29T14:45:51.516079Z

@pez I think that's a pretty interesting idea... what happens if you alter the manifest of an extension? It would require a reload I think right?

borkdude 2022-04-29T14:47:35.056299Z

There could be one "managed" extension by joyride to which it flushes a package.json manifest. All the user has to do then is to reload it after joyride makes changes to it.

borkdude 2022-04-29T14:47:52.116809Z

And that extension could live in ~/.joyride/foo.vsix or so

borkdude 2022-04-29T14:52:34.681369Z

And building this foo.vsix extension should be completely reproducible from settings/scripts within the joyride config, so it can be properly synced

borkdude 2022-04-29T14:54:45.573719Z

I'm afraid such a thing would require a vsce package + install action

pez 2022-04-29T14:55:54.516539Z

Not sure why it would need vsce package? It just packages a zip file with some special content, doesn't it?

borkdude 2022-04-29T14:57:06.570539Z

right, but it "installs" that package somewhere right?

borkdude 2022-04-29T14:57:27.512599Z

maybe just invoking code ~/.joyride/foo.vsix is sufficient for that, but it feels hacky

borkdude 2022-04-29T15:50:46.660579Z

We could just prompt the user that the side-car extension is out of date and you need to re-install it

borkdude 2022-04-29T15:51:10.420719Z

when they e.g. update their joyride config and we detect that the generated extension isn't up to date anymore

pez 2022-04-29T16:06:30.494689Z

I don't think code --install-extension ~/.joyride/foo.vsix is overly hacky. It's designed like that.

borkdude 2022-04-29T16:07:12.610999Z

ok then :)

๐Ÿ˜‚ 1
borkdude 2022-04-29T16:13:58.609179Z

The only thing we need to require is that people have the command line thing on their path then, but that isn't an unreasonable ask

borkdude 2022-04-29T16:18:34.114519Z

Maybe you don't even have to have that, if you can detect the binary from within vscode in some way

๐Ÿค” 1
pez 2022-04-29T16:20:31.575079Z

Maybe it's something that can be called via npx?

borkdude 2022-04-29T16:23:53.643969Z

I don't think so,

borkdude 2022-04-29T16:24:06.358109Z

but let's just assume that invoking a process with "code" will work

pez 2022-04-29T16:25:31.726449Z

There is a VS Code command to install it. If that one is registered as command proper we could prompt and ask if it should be installed.

๐Ÿ‘ 1
rayat 2022-04-29T16:23:37.511609Z

@lilactown you might like this

lilactown 2022-04-29T16:23:39.417399Z

@lilactown has joined the channel

pez 2022-04-29T16:55:51.523369Z

In some other Slack, far, far away. That's Eric Amodio, member of the VS Code team, and creator of amazing things like GitLens.

๐Ÿ‘ 1
pez 2022-04-29T16:57:05.422379Z

I answered him like so:

pez 2022-04-29T16:57:06.955879Z

Thanks for such feedback! Some tools that can come in handy if you decide to Joyride VS Code, assuming you don't know Clojure all too well: 1. Calva has a command Fire up the Getting Started REPL that will guide you interactively into learning first some basic Calva, then some basic Clojure. Read about it here: https://calva.io/get-started-with-clojure/ 2. Calva has a command for converting JavaScript to ClojureScript. So you can open a new window, type in the JavaScript that does what you want there. Issue the command and a new, untitled, document will open with the corresponding. ClojureScript. (It will often be missing some js/ name spacing for reaching the global object, but it can be a good start.) See here for a demo: https://www.youtube.com/watch?v=bMU2GhucLXc

pez 2022-04-29T17:02:04.496949Z

I was talking with @nonrecursive earlier today and mentioned exactly this scenario, People who want to hack their VS Code in an interactive way might find Joyride interesting, and maybe even interesting enough to risk some time to learn a new, strange, language. And we happen to have created some other tools that can help with that! Now, I don't dare hope that Eric Amodio will really try it, that would be a bit too good to be true, but anyway, it's a datapoint.

๐Ÿ‘ 1
Cora (she/her) 2022-04-29T17:20:51.164109Z

it might be interesting as an intro to the vs code extension api, like the getting started repl

๐Ÿ’ก 1
Cora (she/her) 2022-04-29T17:23:56.519229Z

not that anyone here would want to do that but it's a neat idea for like microsoft to do

pez 2022-04-29T18:06:57.052739Z

I would love to do it. Might do it actually!

๐Ÿ’œ 1
2022-04-29T00:44:19.733499Z

One spelling issue: adn

๐Ÿ™ 1
pez 2022-04-29T05:25:45.438269Z

Thanks! I merged a PR fixing this. Unfortunately won't be updated on the marketplace until 0.0.3.

pez 2022-04-29T05:31:53.686179Z

Here's anther example: https://www.youtube.com/watch?v=V1oTf-1EchU You'll find it as .joyride/scripts/ignore_form.cljs here: https://github.com/BetterThanTomorrow/joyride/tree/master/examples

breno12321 2022-04-30T13:53:48.694159Z

Already using it I always had to alt + key key key to go tho the start of the form and #_ it. gratitude

pez 2022-04-30T14:38:47.813249Z

Thatโ€™s awesome!

pez 2022-04-30T14:39:35.912399Z

I do ctrl+up, like in the script. ๐Ÿค 

๐Ÿค” 1
breno12321 2022-04-30T14:40:10.899719Z

Clever hehe

pez 2022-04-29T05:33:42.440439Z

Please help share this tweet around: https://twitter.com/pappapez/status/1519825664177807363