Fork me on GitHub
#off-topic
<
2017-11-13
>
roklenarcic11:11:27

Nothing wrong with using java from clojure

roklenarcic11:11:36

I have talked to some higher-ups where I work and they refuse to even begin to consider Clojure because, and I quote, "google trends show that the language is in decline" lol

Olical11:11:04

Java is dead, you heard it here first.

dominicm11:11:46

@roklenarcic it's not a language. It's a java library.

dominicm11:11:30

clojure is on the up on google trends right nowā€¦

dominicm11:11:36

It's been pretty stable overall tbh

borkdude11:11:37

If Clojure is in decline, how come the Clojure conferences seem bigger every year?

jmayaalv11:11:41

@roklenarcic time to change the company?

vemv12:11:00

Been interested lately in the serverless trend, mostly as a way to achieve greater availability / instant autoscaling without all the complexity. I dislike microservices though. I'd rather have one monolithic webapp. Would you say it's possible to drop-in a monolithic node.js webapp (via Macchiato, the cljs framework) and have it run in the serverless environment, not very differently from other setups (like EC2, Kubernetes, Heroku)? Same backend code, assumptions, performance, security (auth etc). The difference with EC2/Heroku that you get better and cheaper availabilty/autoscaling. As for concurrent web capacity, I'd hit the endpoint with e.g 8 parallel pings every 30 seconds, so I can know that there are about 8 Docker instances running at any given time (cold start avoidance). I'd like to play with this approach which seems a bit unusual. I'm just afraid I may hit a roadblock?

tjtolton13:11:12

Anyone know how web UI's can be coordinated together to form a larger app from several independent webapps? Background,, I've been looking into the self contained systems pattern. Looks really cool, and tremendously valuable for the adoption of new languages like clojurescript. One of the main tenets is that all SCS have a webUI and coordination between SCS's is preferred to be at the webUI level. Specifically: >Communication between SCS can be done in a variety of different ways, but there is a clear preference: UI integration, for example, by transclusion using JavaScript transclusion, ESI, or SSI; asynchronous communication and events; and as a last resort, synchronous communication. Anyone know what that means? ESI doesn't even cleanly google! http://scs-architecture.org/

tjtolton13:11:09

The only one I kind of understand in there is events. Like, I get distributed computing via an application log. I'm trying to figure out how SCS handles that from a webUI coordination level

val_waeselynck16:11:53

@U04V15CAJ this looks fun! I may give it a try after work. Something tells me that this may be expressed as a linear programming problem, in which case a linear constraint solver will give you the solution. If that fails, the heuristic I'd resort to would probably some kind of 'Monte Carlo' approach, e.g pick 2 edges at random and disentangle them if that reduces the total amount of overlap, with a small probability of aborting this operation to avoid getting stuck in a local minimum.

borkdude16:11:54

Yeah cool. Btw, this was a problem in a frontend. I calculated ā€œoverlappingā€-ness on a canvas: the more colored dots I would have, the less overlap there would be. Not sure if thatā€™s a perfect measure of non-overlappingness. I played around with it a bunch, but eventually settled for a simple 80% solution.

borkdude16:11:24

I used randomness but only for certain dots that had a high probability of causing problems.

roklenarcic19:11:52

There are good odds this requires trying all combinations to arrive at the global optimum. There probably exists a good genetic algo that gets pretty close to a global optimum.

roklenarcic20:11:36

Or simulated annealing

roklenarcic20:11:15

That's a good metaheuristic for this

borkdude13:11:26

Thanks, Iā€™ve heard that term being mentioned a couple of times before

aisamu14:11:19

This looks like something the guys over mathematica's stack exchange would love to answer!