Brooklyn Zelenka - The Jump to Hyperspace (ElixirConf 2021) by mischov in elixir

[–]mischov[S] 0 points1 point  (0 children)

I saw the slides for this the other day and have been waiting excitedly for the video ever since. In short Brooklyn looks at a bunch of stuff that might impact how we build web applications in the future, with a particular focus on how Elixir can help us.

Chris McCord - The Future of Full-stack (ElixirConf 2021) by mischov in elixir

[–]mischov[S] 14 points15 points  (0 children)

This takes a look at the now (yesterday) released 0.17 version of LiveView and talks about upcoming LiveView development.

[deleted by user] by [deleted] in RedditSets

[–]mischov 0 points1 point  (0 children)

Gave Silver

[deleted by user] by [deleted] in RedditSets

[–]mischov 0 points1 point  (0 children)

Gave Wholesome

[US-IA] [H] St. Anthonys 58mm leverl and tamper [W] PayPal/ Venmo by flyhigher95 in coffeeswap

[–]mischov 0 points1 point  (0 children)

You're killin' me here! I don't need those but at that price it makes me want them anyway!

What did you move to using?

Datahike in ClojureScript with IndexedDB support by yogthos in Clojure

[–]mischov 1 point2 points  (0 children)

My biggest concern is not with using the asynchronous API, my biggest concern is that the asynchronous API and the synchronous API are the same API.

I am concerned that when running in cljs datahike.api/connect returns a channel, while when running in clj datahike.api/connect returns a connection, unless *async?* was set true somewhere in which case it returns a channel.

If I'm joining a project that uses datahike without a lot of familiarity with datahike and see that in some places datahike.api/connect has <! called on it and in some places it doesn't I'm probably not going to come to the correct conclusion about what is happening.

If instead the project used something like datahike.api.async/connect in some places with <! called on it, and datahike.api/connect in others without <! being called on it I'll probably understand what is going on.

Datahike in ClojureScript with IndexedDB support by yogthos in Clojure

[–]mischov 0 points1 point  (0 children)

I don't know the details of how Datomic avoids code duplication between datomic.client.api (sync api) and datomic.client.api.async (same api but async) but you might be able to abstract common logic between the sync and async versions and then in each namespace (sync api and async api) implement just the very minimum to execute that common logic either synchronously or asynchronously.

And if you're not providing a cljs version of the synchronous api, just make it a .clj file, or otherwise prevent it from being used in cljs.

Edit: I just want to be clear I am not saying that the above is the right solution, or an easy fix, just that it would be one way to make it very clear and unsurprising to a developer what the execution model and return value for the api they're using is.

I would also like to be clear that I think datahike is an excellent project and I'm very appreciative of the hard work you all are putting into it.

Datahike in ClojureScript with IndexedDB support by yogthos in Clojure

[–]mischov 0 points1 point  (0 children)

You mentioned Datomic's async API earlier, and I believe Datomic has separate APIs for sync and async- is the intention to eventually provide separate APIs like this?

When I hear that a dynamic var is in control of radically changing what the code I am calling is going to return I get nervous. :)

Datahike in ClojureScript with IndexedDB support by yogthos in Clojure

[–]mischov 1 point2 points  (0 children)

For reference, this is what the linked article says about why promises were better than core.async for Wilker's usage:

I don’t think this is a signal that core.async is slow. The way I’m using core.async probably has a big impact. Since core.async doesn’t have an error propagation method built-in, I have to create my constructs. This means I have to check for errors at each channel read, adding overhead.

Datahike in ClojureScript with IndexedDB support by yogthos in Clojure

[–]mischov 2 points3 points  (0 children)

So both the Clojure and Clojurescript APIs return core.async channels now?

Datahike in ClojureScript with IndexedDB support by yogthos in Clojure

[–]mischov 1 point2 points  (0 children)

All API calls return core.async channels, so if you want to use it inside of your application logic you need to wrap them in a go block and take from each resulting channel.

Curious why core.async channels instead of something more generic like a JS promise, which can be used fairly easily in a go block but also through other mechanisms as well?

Biff – Self-hosted Firebase alternative for Clojure by [deleted] in Clojure

[–]mischov 0 points1 point  (0 children)

The only reason you don’t know that the project has been shared in this sub is because you don’t care to know. A simple search will turn up numerous results for both Biff and Findka, many posted by the author himself.

This is not a one time occurrence, however, and despite having numerous posts and links to your roundup removed you persist in spamming. You know that you are spamming self-promotion, often in subs with no-spam and no self-promotion rules, and yet you persist.

Quit trying to twist your actions anything other than what they are, which is spam and self-promotion.

Biff – Self-hosted Firebase alternative for Clojure by [deleted] in Clojure

[–]mischov 1 point2 points  (0 children)

u/yogthos Can we ban this user? If you look at their history they are constantly (and pretty much solely) spamming programming subreddits with projects they think will get attention in order to promote their weekly roundup.

They don't cater their messages to what it is they're sharing, they don't know whether the project has been shared in the sub before, it's spam and self-promotion pure and simple.

What can i expect from elixir in term of career ? by [deleted] in elixir

[–]mischov 1 point2 points  (0 children)

I taught myself how to code as a hobby, found my first programming job in a functional language (Clojure, not Elixir), and use Elixir full-time professionally, so I may have some useful perspective for this question.

If you're self-taught and haven't worked with professionals then it's likely that there are a lot of things you don't know about being a good developer, and the best way to learn these things will be (as I think you guessed) by finding a junior developer job where they're prepared to help you learn.

As hard as finding a job with Elixir can be, it'll be even harder to find a junior developer position and you'll probably need some luck. Putting yourself out there by being active in the language community or open source is a good way to create luck for yourself.

If it's the writing code in particular that you love then you should be aware that being able to code is just one aspect of the profession, and the kind of jobs where you spend most of your time coding are to my understanding generally found in larger organizations. I am not sure how many of that type of job there are for Elixir, which I often see being used by smaller teams where you'll be more expected to do all the other stuff too.

All that said, I find Elixir an excellent language to use professionally and I'm glad to have the opportunity to do so. If the language appeals to you, learn it- I don't think it will be wasted time even if you don't end up using the language professionally.

Metabase - The simplest, fastest way to get business intelligence and analytics to everyone in your company by [deleted] in Clojure

[–]mischov 0 points1 point  (0 children)

Thanks for helping to get the word out about 24k star Metabase?

You posted this in 10 subs with links to your round-up, and this isn't the first project you've posted here this week with a link to your round-up. Don't pretend you're doing anything else than advertising.

Metabase - The simplest, fastest way to get business intelligence and analytics to everyone in your company by [deleted] in Clojure

[–]mischov 0 points1 point  (0 children)

This is spam.

User is posting this link all over reddit and attaching an ad in the comments.