<FromGitter>
<anamba> @Blacksmoke16 ⏎ ⏎ > hows that going? ⏎ ⏎ was that one for me? if so... i was a CS major, but I never really "got" functional programming in college. now, after a couple decades of OO, it's finally making sense. no global state + everything being immutable does make it easier to hold everything in your mind as you work while also eliminating entire categories of silly mistakes. I like how much the erlang VM
<FromGitter>
... does for you in terms of concurrency and scheduling. obviously the raw performance can't touch crystal, but since I primarily build web apps, this is not a huge deal for me. the nerves project is also interesting as I'd like to get into embedded systems. [https://gitter.im/amberframework/amber?at=5d8c11cda929c26bf4cad1ca]
<FromGitter>
<Blacksmoke16> im not familiar with it either, I imagine it takes a big shift in thought?
<FromGitter>
<anamba> indeed. but once i got the hang of it i got very productive very quickly
<FromGitter>
<anamba> great resources out there these days. started with pragprog books and then codewars was very helpful to see how other people do things
<FromGitter>
<anamba> one thing i did notice is that incremental compilation makes a huge difference in my workflow. i am not sure that is going to be possible in crystal, but near-instant compilation for small changes makes life wonderful
<FromGitter>
<anamba> so anyhow, i still have two large amber-based projects that i maintain (one internal, one not quite released yet, so can't show them) and thus i will continue to maintain the shards i created along the way, but it does seem like elixir is the way forward for me.
<FromGitter>
<Blacksmoke16> 😢
<FromGitter>
<Blacksmoke16> right tool for the right job tbh
<FromGitter>
<Blacksmoke16> and crystal isnt the right tool for everything
<FromGitter>
<anamba> yep. and definitely elixir isn't the right tool for a lot of things either. you gotta boot up a whole erlang VM to do anything
<FromGitter>
<Blacksmoke16> my best use case for crystal is REST APIs
<FromGitter>
<Blacksmoke16> they can be kinda isolated and power all sorts of other stuff
<FromGitter>
<anamba> currently juggling crystal, ruby, javascript, elixir. i have a couple projects that combine 3 of those
<FromGitter>
<Blacksmoke16> binary and docker makes it easy to deploy/manage as well
<FromGitter>
<anamba> js for everything was a promising idea except that... js is so weird
<FromGitter>
<Blacksmoke16> TS is pretty nice
<FromGitter>
<anamba> i guess i haven't tried writing TS myself, that could solve some of the weirdness
<FromGitter>
<Blacksmoke16> im a big fan
<FromGitter>
<Blacksmoke16> makes it feel a bit more crystal like imo
<FromGitter>
<Blacksmoke16> adds that type safeish feel to it
<FromGitter>
<anamba> now that i kinda get functional programming i've been looking at elm. but haven't dived in yet
<FromGitter>
<tflem> Is there a way to write JavaScript or tip toe into the JS ecosystem and maintain sanity? I've never had hatred for the language overall, but node, angular, react, etc. and all the dependencies are just a turn off or me.
<FromGitter>
<anamba> @tflem almost no stdlib -> "all the dependencies"
<FromGitter>
<anamba> one of the things i always liked about ruby and crystal. very healthy amount of built-in functionality greatly reduces dependencies
<FromGitter>
<tflem> That's pretty much what I meant lol, no standard library.
<FromGitter>
<nsuchy> Even if it did, we can't disable signins over a framework bug
<FromGitter>
<Blacksmoke16> ofc not, but if you're able to compile it with that commented out that tells me the issue is with `find_by`
<FromGitter>
<nsuchy> there are a huge amount of find_by queries in my app
<FromGitter>
<nsuchy> it's not limited to current user
<FromGitter>
<Blacksmoke16> ok
<FromGitter>
<nsuchy> Several database tables are refered per page for different information so it's not as simple as commenting out one query
<FromGitter>
<Blacksmoke16> im not sure what to do then, CI passes on latest crystal on master
<FromGitter>
<nsuchy> i can update crystal
<FromGitter>
<Blacksmoke16> let me see if i can downgrade
<FromGitter>
<nsuchy> i really wish there was more coordination between the Crystal Team and Amber Team
<FromGitter>
<nsuchy> So breaking changes don't break all sorts of apps every month
<FromGitter>
<Blacksmoke16> im trying it now with `0.30.1`
<FromGitter>
<Blacksmoke16> what could they do differently?
<FromGitter>
<Blacksmoke16> does amber CI run against nightly?
<FromGitter>
<nsuchy> I don't know
<FromGitter>
<Blacksmoke16> if not doing that would be a good indication that something coming up would break amber and give people time to fix it
<FromGitter>
<nsuchy> I really want to see Amber and Crystal get adopted by other businesses but that won't happen until there's some stability in the releases processes :\
<FromGitter>
<Blacksmoke16> thats more of crystal itself having breaking changes most releases
<FromGitter>
<Blacksmoke16> i.e. its not 1.0.0
<FromGitter>
<Blacksmoke16> CI on granite passes for both versions
<FromGitter>
<nsuchy> im waiting on crystal on my mac to update
<FromGitter>
<nsuchy> it's downloading LLVM again
<FromGitter>
<nsuchy> this could potentially be a macos specific bug
<FromGitter>
<Blacksmoke16> i was running my stuff in a container container, so maybe
<FromGitter>
<Blacksmoke16> any luck?
<FromGitter>
<nsuchy> no
<FromGitter>
<nsuchy> I can't even install Amber in a fresh VM