You are viewing archived messages.
Go here to search the history.

Mariano Guerra 2022-05-30 09:33:39

if I wanted to make a slack bot for this channel, what would be the most Future of Code Compliant ™ way to do it?

Mariano Guerra 2022-05-30 09:33:52

I'm getting a deja vu with this question

Václav Blažej 2022-05-30 09:36:27

What would be its purpose?

Mariano Guerra 2022-05-30 09:37:13

reply to messages that contain links with a list of previous conversations that contained the same link

Václav Blažej 2022-05-30 09:40:39

Interconnecting conversations seems very useful. I'm new here so I do not dare to answer technical requests concerning the community.

Mariano Guerra 2022-05-30 09:41:40

the question doesn't concern the community, it's just a "request for future of code adjacent technologies that may be useful to solve this problem" 🙂

Jess Martin 2022-05-30 13:13:13

Love the idea of resurfacing previous conversations automatically.

I wonder if we could somehow implement a backlinking system. Wiki links like this [[syntax]] could cause the bit to auto-reply with… something. 🤔

Mariano Guerra 2022-05-30 17:27:40

I could turn that syntax into a link to a page showing all the backrefs

Mariano Guerra 2022-05-30 17:27:55

maybe the bot could bring the backrefs here (or the link) when asked to

Jess Martin 2022-05-30 17:40:47

Interesting. I already use the archive fairly often. Would be pretty cool to build index pages for each wikilink with all relevant messages.

Jess Martin 2022-05-30 17:41:46

I’m working with a developer to build a similar system for Discourse.

Andrew F 2022-05-30 18:27:29

If the idea is to use "Futuristic" technologies, I'm tempted to say it would be plenty cool if it was written in Smalltalk or something. Maybe Pharo? :D

Mariano Guerra 2022-05-30 19:17:54

if it was easy and cheap to deploy as a server I would, I'm not sure it is 😕

Mariano Guerra 2022-05-30 19:18:04

my main candidates right now are unison and darklang

Andrew F 2022-05-30 19:34:29

I suspected as much. I like the options you listed, too. :)

Orion Reed 2022-05-30 19:55:11

I recently built a simple system like this at work. I use Slack’s extension system to get messages as they come in, which are sent to a web endpoint where some basic python parses the event and (in my case) forwards it on to the rest of the system. It shouldn’t need much more than the slack extension, web endpoint, and access to slack history data.

Orion Reed 2022-05-30 19:57:48

Definitely go ahead and use whatever tech, but an affordable solution would be to use something like Google Cloud Functions which I use atm and haven't hit the ceiling on the free tier despite a very active Slack.

Mariano Guerra 2022-05-30 19:58:33

The idea is to try some future of coding related tool

Orion Reed 2022-05-30 20:00:47

In that case I’d second Unison, you’ll need a Slack extension regardless afaik, but Unison is so fun to work with.

Tom Larkworthy 2022-06-01 23:13:32

I have a twitter bot made with the precursor to webcode observablehq.com/@endpointservices/twitter-bot thats a serverless tech so its exceedingly cheap to do event driven stuff (and it supports live debugging which you will quickly realise you will want when doing webhook stuff). Happy to twitch it too, observable supports multiplayer coding.

Kartik Agaram 2022-06-02 00:56:08

I'd be curious to see how Tom Larkworthy's approach does with something I'd use 🙂

Tom Larkworthy 2022-06-02 07:08:01

I forgot I just used zapier to do the tweeting for that bot, I am able to do a full low level API integration too but I just didn't bother. I once did a production slack bot using BPMN workflows: futurice.com/blog/a-detailed-look-at-camunda-bpmn-application-development too. It was that experience that made me decide it was far quicker using zapier.

Dalton Banks 2022-06-03 16:45:00

wacky sketches in Vim

(to me this is thinking-together)

Kartik Agaram 2022-06-03 17:50:12

What is it?

Dalton Banks 2022-06-03 20:26:29

thanks for the comment. i’m a bit reluctant to answer ‘what’ directly, since

  • i’m interested in what you make of them without much framing
  • as ‘sketches’ they really are open for interpretation/insight

but thanks for asking; here’s a bit more orientation & i can elaborate more if you want

  • these are three sketches from a broader set, just to give the flavor of them
  • each one is just a unicode text file open in a Vim editor. anything ‘special’ beyond basic navigation is annotated in the file.
  • a general theme is me trying to get a better grasp on the spatial & physical nature of text editing
  • sketch #1 is about embedding multiple spatial dims in a single vertical dim. no macros are involved, i’m just using “*” and “#” to ‘jump to next/prev match’ on different labels to ‘move’ in ‘view space’ along spatially embedded axes. each ‘frame’ is found in a different part of the file.
  • sketch #2 is roughly about ‘direct manipulation’ of code/data/environment. idk if you’re familiar with Vim, but all editor commands can be recorded as plaintext macros & replayed on command. i’m just going a step further and saving macros in the doc/executing them from the doc
  • sketch #3 is a birds eye view of an afternoon prototyping session; gives some sense of the ‘sketchbook’ feel of the approach
  • overall, this approach (i.e., sketching directly in Vim plaintext) is the first concrete instance where i can recognize a semblance of the inchoate thing i’ve been incubating. it also captures more ‘computer nature’ than some of the pen & tablet experiments i’ve seen, though that’s def a place i want to converge on at some point
Kartik Agaram 2022-06-03 20:37:02

Looks super tantalizing!

Alex Cruise 2022-06-03 17:47:50

This is the first attempt I’ve seen to implement Functional Relational Programming (cf. Out of the Tar Pit) that looks serious! cell-lang.net/index.html

Ivan Lugo 2022-06-03 17:52:01

From the FAQ:

But in many cases pure computation is only a (relatively small) part of what software does. Most applications are stateful: they sit there, idle or semi-idle, and wait for some sort of input from the external world. When that happens they change their state in response (and usually also perform some I/O). Think, for example, of desktop, web or mobile application, which respond to user input, or some types of server applications, which respond to requests issued by the client across the network.

A lovely summary of this. I feel like a TON of languages and development tools try to pretend that state isn’t a thing. That there isn’t a giant array of bytes sitting around waiting to be messed with in memory somewhere, and that The System(tm) will handle everything correctly. Very prevalent in my main domain, which has been iOS / Android development for… well, too long, heh. This seems interesting to me!

Jason Morris 2022-06-03 18:53:59

This seems very promising in the smart contracts space, where everything is data structures reacting to events. I just wonder whether the code generation can be made to explain itself.

Ivan Lugo 2022-06-03 18:59:32

I like to imagine that DNA is somehow self-generating, self-documenting code - if only we figured out how to compile the docs 😉

Jim Meyer 2022-06-04 10:48:40

It's not enough for next-gen UX design tools to be code-based.

They have to be code-native (liked developer tools), able to read and write code without any intermediate data formats, and they have to do in in a way that doesn't compromise how designers think and prefer to work.

As soon as a tool isn't code-native, you run into the multiple sources of truth problem. How to translate between data formats. You run into one way code exports/generation. You run into manual copy/paste by developers to bridge across disconnected systems.

Code-native is the endgame for design tools. As we push into AR, VR and more 3D, static 2D vector-based canvases will fall short and out of favor.

"Inspect", "Export", "Copy/paste", "Integrate with code". When they disappear from design tools, we've arrived at code-native.

Leonard Pauli 2022-06-04 12:03:46

Yes! It might also be interesting to recognize that the usual text/code is merely another representation of the ast, which in turn is a representation for a deeper meaning; which may be beneficial to treat as the "real" source of truth.

Jim Meyer 2022-06-04 12:06:19

Exactly. The work we're doing focuses on the real-time editing of the AST on a canvas. The text is just how the AST is persisted to/from disk.