Fork me on GitHub

@lilactown possible definitions : - dataflow programming : basically anything fitting a boxes-and-wires mental model - reactive programming : a subset of dataflow programming where the behavior of identities is fully defined at construction time (instead of being explicitly mutated afterwards). typical example : spreadsheets - observable : in RX terminology, something that can emit a succession of events. Maybe but not necessarily wrapping an observer-pattern subject (hence the name). - signal/cell : a reactive identity referencing a value that can change over time, in reaction to a change in any of its dependencies.


would "signal flow" and "signal flow graph" still be correct terminology when talking about reactive programming? I worry about abusing terms that were meant for something more specific (e.g. what happened to "functional reactive programming")


AFAIK those names have no precise semantics, the definitions I gave are what seems to be commonly accepted right now


apart from original FRP I'm not aware of anything properly specified in that field, and anyways react.js has proven that you can give any name to anything


hahaha, true


thanks, this allays my fears of being "wrong" in my naming 😛


btw, I'm finding missionary very inspiring. I can tell you've put a lot of work into it. I appreciate it very much

👍 4

I see that a lot of people needlessly leave channels. I recommend an alternative use-pattern of Slack. Hide all channels without new messages in them. Yourname dropdown in upper left -> Preferences -> Sidebar -> Unreads only

👍 8

Jump to channels with (OSX) CMD + T. When you're happy being "caught up", clear all notifications at once with Shift + Esc


This is the best way to handle 20+ channels at once. The default settings scale poorly. Matters less on a slow Slack like Clojurians, but a ton on a fast Slack with lots of possibly-important operational chatter.

💯 4

that's really helpful. I just did that with work slack. wish I knew that earlier! thanks!

🙂 4
👍 4

Two other useful keybinds in this setup -- CMD + ← - go back to previous channel in history CMD + → - go forward to next channel in history

💯 4
Ahmed Hassan19:08:00

It may seem odd to ask, but I'm curious about differences between Undertow and Jetty in the context of Clojure web development scene? And when and where do differences really matter?

Mario C.20:08:28

@ahmed1hsn That used to always confuse me too. But I believe they are both web servers but I only notice Undertow being used within wildfly and jetty being used when I am running the app locally with lein. But thats as far as I know tbh


you are unlikely to notice a difference, from clojure you will typically be working against the ring spec and then use some adapter of that spec to a given webserver. you are unlikely to encounter a difference between the two when working at that level

👍 4

I think undertow tends to edge out jetty in some performance benchmarks, but at least initially it is unlikely your choice of webserver will be the bottleneck for you, and you should always take benchmarks with a grain of salt

👍 4

the biggest difference between the two is likely their internal architecture, undertow is primarily used to in jboss's app server, so will be structured to support that

👍 4

many years ago I was playing with a very early ring adapter for undertow, and it would handle requests on the event loop thread, which wasn't great, but I cannot imagine that is still and issue with the current adapters

👍 4

@ahmed1hsn One thing I like about doing web dev in Clojure is that you're isolated from that. All of our web apps at work can spin up on either embedded Jetty or http-kit, based on an environment variable, since they are "just" libraries. Immutant can be used that way too (pretty sure that's based on Undertow since it's come out of the JBoss realm).

👍 4

One area where it mattered for us was that we use New Relic for monitoring and their support of Jetty is solid but not http-kit. When we first went to production on Jetty, we would get random thread deaths, so we switched to http-kit, but couldn't get the level of monitoring detail with NR that we wanted... so we switched back to (a newer version of) Jetty and it's been rock solid since.

👍 8