Fork me on GitHub
#off-topic
<
2022-06-16
>
seancorfield05:06:24

Interesting. Adobe built their ColdFusion "Builder" IDE on top of Eclipse back in the day and they are rebuilding it on top of VS Code and they've said they are also going the LSP route. They'll be showcasing the new VS Code/LSP "Builder" IDE at their online Developer Week in late July I believe. LSP is pretty amazing.

Ben Sless05:06:17

It is, but the direction as a whole is one I dislike

Ben Sless05:06:34

Personal computers are turning more and more into terminals

seancorfield06:06:46

Aye, the increasing assumption that you're always able to tap into "servers" running somewhere (even if they are local) is one I tried to fight for years but I've kind of rolled over and accepted it at this point 😞

Martynas Maciulevičius06:06:20

OmniSharp Server... I wonder if Omni was used because it's omnidirectional or omnipotent... or both :thinking_face: Also I'm not sure why but this dislike ratio is insane: Edit: Upon reading more comments I'm very sure why.

Ben Sless07:06:02

I can't and won't accept it. We have to save personal computing

2
Ben Sless07:06:14

I don't expect good behavior from msft on this, if the refterm saga can provide any reference

Martynas Maciulevičius07:06:11

I think that the word "omni" was used not to show that they will have one server but that they want to force devs to pipe their code through their server's "AI" (which obviously is closed-source and probably heavily based on github's copilot). IMO this means that they want to collect data about the projects that are currently in-progress and make a data collection pipeline out of it. And then use "live code reload" as a "nice feature" that nobody can say "no" to for marketing of this new model. This way they could collect data and try to figure something out from it. They already have copilot on github and this kind of effort plays nicely with what they have. For instance this response from OP only solidifies it: > new host component is the bridge between open and closed source functionality https://github.com/OmniSharp/omnisharp-vscode/issues/5276#issuecomment-1157130770

respatialized14:06:05

> If a system is to serve the creative spirit, it must be entirely comprehensible to a single individual. The point here is that the human potential manifests itself in individuals. To realize this potential, we must provide a medium that can be mastered by a single individual. Any barrier that exists between the user and some part of the system will eventually be a barrier to creative expression. > Dan Ingalls, Design Principles Behind Smalltalk

☝️ 1
notbad 1
Ben Sless14:06:00

@UFTRLDZEW you realize this requires the death of client server architecture and saas, right? (I'm okay with it btw)

respatialized15:06:43

I've been sold on that idea ever since I first watched Bret Victor's The Humane Representation of Thought

mauricio.szabo00:06:18

Let me ask - if you have an open source client to a closed source server, and the whole product depends on the server results to be meaningful, isn't that a closed source system? It feels like "a pure function that calls another function that does IO is essentially an impure function" right?

phronmophobic00:06:59

That's like saying that any software that runs on windows or mac is a closed source system because it relies on closed source Windows or OSX APIs. I think there's more nuance here.

phronmophobic00:06:35

> The point here is that the human potential manifests itself in individuals. To realize this potential, we must provide a medium that can be mastered by a single individual. Clearly, there are systems that are built to target teams rather than individuals. It's not to say systems for individuals aren't important, but systems for teams are important too. why not both?

seancorfield00:06:29

So much OSS is either created by or heavily support by companies that make their living off proprietary software systems. I don't think we can (or should) be "purists" about it, realistically. "Pure" open-source, completely free of corporate involvement, is almost impossible because the infrastructure for software -- from the hardware we use to develop on, to the networks we communicate across, to the servers we host everything on -- are all corporate systems to a greater or lesser degree. Contributing to OSS is nearly always a luxury afforded us by the corporations that have paid us, collectively -- that we can afford the hardware, the network connectivity, the hosting to do it. That contribution is impossible for a lot of people who aren't in our collective financial position...

👍 1
Ben Sless04:06:22

Unless we go to the root of the problem and set our goal to be a human friendly personal server While not a purist, when given the choice of more or less open, I'd always pick more

respatialized13:06:33

@U7RJTCH6J I'm not sure I see the relevance of the distinction. A system that can be understood, mastered, and extended by an individual can be understood, mastered, and extended by a team, as teams are made up of individuals.

phronmophobic19:06:54

@UFTRLDZEW , right, but there are systems built for teams that would be unwieldy for individuals, and that's ok

mauricio.szabo21:06:13

@U7RJTCH6J that's not what I meant. Like, at all. Look at the definition of free software; even if a free software runs under windows, an individual have full access to the source code and can port it to another system if he wants. In the case of this C# situation, yes, you can port the client to anything you want, but you don't have access to the full picture because the server (and the way it works, and how it correlates things, etc) is closed. So even if you port every open-source part to something else, it will still not work. That's the issue I'm pointing...

phronmophobic21:06:26

It's the same situation: In the case of this Mac OSX/Windows situation, yes, you can port the application to anything you want, but you don't have access to the full picture because Mac OSX/Windows (and the way it works, and how it correlates things, etc) is closed. So even if you port every open-source part to something else, it will still not work. This is especially true if you heavily rely on platform specific APIs.

phronmophobic21:06:23

You could choose to use open source implementations of the platform specific operating system calls, but the same idea applies to reimplementing or finding open source implementations of server APIs

jumar09:06:16

Would it make sense to create #idioms channel to discuss & share various clojure idioms (like seq vs (not (empty? 😄 )

7
Martin Půda10:06:33

Wouldn't be enough to just pin somewhere a link to https://github.com/bbatsov/clojure-style-guide#idioms?

jumar10:06:08

It could a nice pin in the channel 🙂

1
Daniel Jomphe11:06:40

If such a channel is created, please let us know in this thread. 🙂

3
Martynas Maciulevičius14:06:06

It actually sounds like a MOTD thingy that could be sent to users periodically :thinking_face: Edit: and it could also enable them to achieve their golfing needs

Max15:06:26

I think a channel is a great idea. A link to guidelines is great, but nothing helps as much as conversation and discussion, much the way having someone read a textbook isn't as useful as discussing the topic. Idioms are such an important part of a language and are often distinct from the generic "how do" of other questions.

jumar07:06:54

#idioms created - I added some of you already.

1
lilactown15:06:19

does anyone have a favorite solution for feature flags? esp. open source; I'm looking for comparisons to launchdarkly

sheepy 1
Daniel Jomphe15:06:21

Funny, I'm starting work on something like this here too. We'll be taking a look at solutions: • https://github.com/lambdaisland/pennonhttps://github.com/yeller/ (historic, old, but still!) • https://docs.getunleash.io/user_guide/quickstarthttps://github.com/AppsFlyer/unleash-client-clojure

Daniel Jomphe15:06:29

If you find anything else of interest, please share! BTW with OpenTelemetry (e.g. https://honeycomb.io/) it becomes trivial to project observable statistics of the impact of changes.

lilactown21:06:44

yeah, we use honeycomb already. something with easy integration with it would be great!

orestis11:06:24

We built in-house feature flags at the tenant level. We enable a feature flags separately for each tenant, and since we dog-food our own solution, we get to run "bleeding edge". Perhaps I'm missing some of the features but in our case it's essentially of maps of falsey/truthy values inside a tenant's info that gets loaded on every request anyway.

lilactown15:06:35

that's basically what we have rn. the things we're working through is: 1. they aren't plumbed through to the UI yet, so we need to do that to support rolling out UI features 2. we want to do things at the role level as well as tenant level, e.g. "turn this on for everyone with admin access" 3. we want an audit log of who toggled what for whom 4. we want analytics on what code paths have been actually used over time

lilactown15:06:07

we could build all those ourselves, but it might (probably?) be cheaper to buy

orestis05:06:28

Something to consider is that (at least) launchdarkly seems to be popular enough to get caught in Adblock filters. I wouldn't want to block my UI based on reaching out to their script and third-party servers. You can probably work around this though.

1
Daniel Jomphe13:06:15

I was wondering about this. We’re building something small in our codebase. Migrating some day to AWS’s flagging or a third-party only if we see so many needs…

mauricio.szabo00:06:18

Let me ask - if you have an open source client to a closed source server, and the whole product depends on the server results to be meaningful, isn't that a closed source system? It feels like "a pure function that calls another function that does IO is essentially an impure function" right?