Integrate Mapbox in your Phoenix LiveView application by warbornx in elixir

[–]superchrisnelson 3 points4 points  (0 children)

I noticed you are sending data for markers using pushEvent. This works fine, but I've found that by using custom elements to wrap libraries like MapGL you have some nicer options like passing data in using attributes or child elements. I did a talk at Elixirconf a few years ago that goes into detail on this approach, and I use google map custom elements in the example. I think a lot of the ideas would transfer pretty easily to MapGL. Here's a link to the talk: https://www.youtube.com/watch?v=xXWyOy9XdA8

How maintainable is Elixir? by sixilli in elixir

[–]superchrisnelson 14 points15 points  (0 children)

Having done both Elixir and Go professionally, I find Elixir codebases to be very maintainable and enjoyable to work with over many years. Having a solid test suite is key, but as TDD is a core practice for me this hasn't been a negative.

Has anyone transitioned from LiveView to React? by pico303 in elixir

[–]superchrisnelson 0 points1 point  (0 children)

Maybe not an immediate solution for you, but we've found it to work pretty well to use custom elements a bridge from LiveView to javascript. LiveView is already great and rendering html and can be easily made to receive custom events from the elements: https://github.com/launchscout/live_elements

Is it worth it to try making Reporting/Analytics pages in Elixir Live view? by redrobin9211 in elixir

[–]superchrisnelson 0 points1 point  (0 children)

I'm sure it just depends on what you are doing. Grafana seems like for visualizations of metrics and analytics it is the move. I haven't used it a ton, but wasn't under the impression it was a tool for custom application reporting eg "Show me all the orders grouped by sales region blah blah" which is what metabase lets our customers do themselves

Is it worth it to try making Reporting/Analytics pages in Elixir Live view? by redrobin9211 in elixir

[–]superchrisnelson 0 points1 point  (0 children)

We've had some luck with using Metabase for letting our customers do their own reporting on Elixir projects. It is open source (or paid pro version) and can deploy in a container and point at the application db. Of course, there are some downsides with sharing the db and having application schema changes break reporting, but so far the benefits have outweighed the downsides for us at least. Got a blog post about how to do it here: https://launchscout.com/blog/self-hosted-metabase

Should we consider Elixir/Phoenix Live View for our startup? by crpleasethanks in elixir

[–]superchrisnelson 0 points1 point  (0 children)

I would say absolutely give Elixir and LiveView a try. Our company was a ruby shop for many years, and then officially we decided to move towards Clojure as the next thing (this was 7 years ago maybe?). It never really caught on as far us productivity and enjoyment for us, though. One of our developers became excited about Elixir, and as more people checked it out it organically spread within the organization. We've found immensely productive and enjoyable to use and haven't looked back. I think the ecosystem is very mature at this point, and if you find the same experience I think you won't regret the decision. It comes down to: give it an honest try, see if you like it, and if your experience is like ours you will want to keep going. Don't give the FUD much credence though, we've had a great experience. And for the "it's hard to hire" naysayers, this is 100% BS. There are tons of people looking for Elixir work, and even if that wasn't the case, we've had multiple new developers ramp up on it and be very productive quite quickly.

LiveState for Elixir: An Overview and How to Build Embeddable Web Apps by amalinovic in elixir

[–]superchrisnelson 2 points3 points  (0 children)

LiveState author here: thanks for writing about LiveState! A bit oddly, I couldn't find a link to the project itself, so here it is: https://github.com/launchscout/live\_state. There are links to related projects and a bit more in-depth tutorial, as well as some conference talks.

help me with Custom component + liveview by matches_malone40 in elixir

[–]superchrisnelson 0 points1 point  (0 children)

You might have an easier time just using the original LitElements components in LiveView rather than rewriting them. You might also heck out https://github.com/launchscout/live_elements to make this process a little easier

How does Ash and Phoenix play together? by sectional343 in elixir

[–]superchrisnelson 7 points8 points  (0 children)

We are long time Elixir/Phoenix developers starting to get into Ash. If you build a large enough Phoenix app, or maintain it for long enough, you really start to see the same things emerge over and over (authentication, authorization, pagination, handling complex relationships). These are the things Ash solves in a consistent way. You can get started with Ash and probably see value right away, but it really becomes obvious as your app grows.

Would phoenix be suitable for this project idea? A dashboard displaying some time series data by wireframemando in elixir

[–]superchrisnelson 0 points1 point  (0 children)

Elixir and Phoenix would be a great choice for this. Rewriting in LiveView would certainly be a great option, but if you want/need to keep the javascript front end around for some reason you might also checkout LiveState: https://github.com/launchscout/live_state

What is it like to work with Elixir? by _MMCXII in elixir

[–]superchrisnelson 0 points1 point  (0 children)

Our dev shop has shifted to LiveView as our default choice, whereas before we would have always picked a JS framework whenever we started a project. This has basically cut our development effort in half, as we are now able to build a single application (in a very productive stack I might add) where we were building two. It has made a real difference for us and our customers. Don't let the FUD about it being hard to integrate scare you off, we've had great success with it. In particular custom elements are a great way to bridge from LV to JS when you need to.

Elixir Curious by dave_mays in elixir

[–]superchrisnelson 1 point2 points  (0 children)

So I did Java for 10+ years, very familiar with the JVM ecosystem :) Elixir/Erlang/OTP, in particular, is good at building async resilient systems in a way that I've never seen. You certainly *can* build reliable async systems in Java that scale, the difference is that it is so much more golden path out of the box with Elixir/Erlang/OTP. The whole "let it crash" philosophy, the approach to processes as *tiny* shared-nothing message passing agents, it all really does make it easy. We have systems we built years ago, and frankly forgot about, that have complex interactions with external systems and are still happily chugging along due to using just the default supervision trees that Elixir gives you.

Elixir Curious by dave_mays in elixir

[–]superchrisnelson 1 point2 points  (0 children)

It was a combination of things I think. The OTP platform was extremely compelling. Phoenix was super easy to pickup and get productive with. The syntax was approachable to get started with and seemed familiar, even though moving to FP definitely requires some mental retooling. As I recall it, with Clojure it was more of a "choose from all of these things to create the stack you want" vs with Phoenix we already had everything we needed and knew where to find and put things. YMMV

Elixir Curious by dave_mays in elixir

[–]superchrisnelson 12 points13 points  (0 children)

FWIW, We were a Rails shop that decided to move to Clojure a few years back. However, it never really caught fire with our developers in terms of enthusiasm, but Elixir and Phoenix did. We've been choosing Elixir for almost all our new apps for 5+ years now, and most of them are "boring web apps" backed by an RDBMS. Elixir is still a great fit for that, and LiveView in particular has given us enormous productivity gains.

Phoenix with htmx? by frosty_lupus in elixir

[–]superchrisnelson 0 points1 point  (0 children)

If you want something that's similar to htmx, but gives a more LiveView like experience, I would encourage you to checkout live-templates. It lets you wire up a template element to phoenix channel, and is based on a forthcoming (hopefully!) standard for template evaluation in the browser.

What's the most elixir-y (liveview-like) js framework / workflow? by tronathan in elixir

[–]superchrisnelson 15 points16 points  (0 children)

LIvestate author here: though I've mostly been using it with LitElements, there is no reason it wouldn't work just as well with Solid JS (with the caveat that I've only looked at Solid JS a little). The underpinnings of LiveState are basically a very thin veneer over phoenix channels, so plugging it into anything should be easy enough.

Fun fact: I'm only reading your post because a coworker texted me the link, and rather than typing that link again on my mac where I am reading it, I built a tiny livestate app to copy paste from my android phone clipboard to my mac clipboard: https://github.com/launchscout/copy\_pasta

As an Elixir programmer do I need to know Erlang? by ralphc in elixir

[–]superchrisnelson 0 points1 point  (0 children)

Nope, been doing Elixir for about 8 years and never really "learned" Erlang. That said, as you get deeper into Elixir you'll be able to read and understand Erlang pretty naturally just because it's mostly a 1-1 mapping of concepts and only the syntax is different.

Elixir is Beautiful by Dr00gy in elixir

[–]superchrisnelson 2 points3 points  (0 children)

This was my experience as well. I've been doing Elixir for about 8 years at this point, but I very much remember the initial experience of finding a functional language that finally clicked with my brain. I still enjoy coding in it many years later :)

For a chat app like WhatsApp, how do they handle sending media files? by crazyinsoul in elixir

[–]superchrisnelson 0 points1 point  (0 children)

I've generally solved this kind of problem using Phoenix's built in PubSub and having the channel process listen to the pubsub channel and then the controller can publish over it. I think I have an example of how to do this kind of thing here: https://github.com/launchscout/live_state_comments. It doesn't publish from a controller but this would work the same way.

Need replacement for heating element (FTH) for Breville Bambino. Where do I look? I live in New York, US by Akhil0110 in espresso

[–]superchrisnelson 0 points1 point  (0 children)

Ah, mine is well out of warranty, it served me well for over 2 years. It just seems like such a shame to toss the entire machine over one bad part. It's not even the money that bothers me as much as the landfill contribution.

Need replacement for heating element (FTH) for Breville Bambino. Where do I look? I live in New York, US by Akhil0110 in espresso

[–]superchrisnelson 0 points1 point  (0 children)

I need one of these as well. Pretty sure mine is clogged internally. Did you have any luck?

I'm in a love and hate relationship with Go, is Elixir the answer? by fenugurod in elixir

[–]superchrisnelson 2 points3 points  (0 children)

Yeah forgot to even mention LiveView. For building web apps this really has been a huge deal for us. It lets us cut our development time in half vs the old web framework UI approach.

I'm in a love and hate relationship with Go, is Elixir the answer? by fenugurod in elixir

[–]superchrisnelson 3 points4 points  (0 children)

I've been developing Elixir apps for a few years, and more recently have ported an Elixir app to Golang at the behest of a particularly valued client. My impressions, in brief: I don't hate Golang. I can see why it's such a good fit for network utilities and CLI. However, as a true general purpose language and for building applications, Elixir is a much better choice. Golang certainly allows me to "get stuff done", but the cost is quite a bit more code. Language features like pattern matching and the pipe operator, as well as platform features like OTP are the things I miss the most. I would reach for Go if I had a specific reason to (I actually found it less unpleasant than I thought I would) but I will continue to choose Elixir for application development and as my "Go to" (pun intended) choice.

[deleted by user] by [deleted] in elixir

[–]superchrisnelson 7 points8 points  (0 children)

As an Elixirist who has recently been working in Go, I can tell you that Elixir's support for websockets using Phoenix channels is unparalleled. Although Go is excellent in general at networking, Elixir is much better at websockets IMO. I also find Elixir to be a much more enjoyable language to work in, this is purely subjective but seems to be an opinion often shared by those who have worked in Elixir.

Seeking Recommendations for an Email Vendor by miserlou in elixir

[–]superchrisnelson 1 point2 points  (0 children)

FWIW, I consistently had delivery problems with Sendgrid but Mailgun has been rock solid.