Javascript to Elm

Informações:

Sinopsis

A podcast about using Elm coming from Javascript and other languages

Episodios

  • Elixir Fundumentals

    09/08/2019 Duración: 17min

    Covering the basics Elixir has truthy and falsy Boolean conditionals. I feel right at home Variable assignment can only happen on the left side of the equal For a match to succeed, the LHS and RHS must have the same shape, and each value on the right must match the corresponding value on the left. If the thing on the left is an unbound variable, Elixir binds that variable to the value being matched. The LHS cannot contain any calculations or function calls Using _ for ignoring values. Helpful in getting a RHS and LHS match All variables on the LHS of a match are unbound before the match is made. Solution is to use the pin up arrow, *^ to prefix the variable Only your posts users should only see their posts. all posts will show on the home page Resources Dave Thomas the Coding Gnome calling an external idp api get all entries by user id Travis CI and a VPS Realworld App Follow JavaScript to Elm Twitter: @jstoelm Email: jesse@jstoelm.com Jesse Tomchak Twitter: @jtomchak  

  • Elixir Ecto Models

    03/08/2019 Duración: 27min

    Deploy Missing Piece Need for distillery to run migrations on deploy We need to create release tasks that will go in the root of lib. That will have a migration and / or seed function in it. Then in the rel/config.exs we a list of tuples that have the task command, what we want to refer to it as, and the the shell script that we want it to run. Remember mix isn’t installed on the prod machine! the shell script just calls bin/postit command Elixir.Postit.ReleaseTasks migrate Then we, to run migration on app launch for new builds, back in rel/config.ex we add set post_start_hooks: "rel/hooks/post_start" to env prod. in this directory we have a single shell script that will use nodetool to ping when the, not app, but BEAM? is up and running, and then run the migration. #!/usr/bin/env bash set +e while true; do nodetool ping EXIT_CODE=$? if [[ ${EXIT_CODE} -eq 0 ]]; then echo "Application is up!" break fi done set -e echo "Running migrations" bin/postit command Elixir.Release.Tasks

  • Elixir Phoenix Plugs

    25/07/2019 Duración: 28min

    The layout and details Routes / root of the app will eventually be an aggregate of incoming from Micro.Blog + our own feed (maybe) /profile ‘Settings’ this is where we’ll be able to add targets for our re-posting feature ‘echo’ add token keys and incorporate 3rd party API’s /profile/posts list of current users posts /posting this is the ‘editor’ with fields for title and content Successful ‘post’ returns the user to an updated list of posts Authorization now that we have authentication out of the way. Let’s deal with only that user can post to that users account. Just do it already! MB:postit> mix phx.gen.html Posting Post posts title:string content:text * creating lib/postit_web/controllers/post_controller.ex * creating lib/postit_web/templates/post/ed

  • Elixir with Auth0

    18/07/2019 Duración: 32min

    Auth I have no desire to roll my own. While a lot can be learned from this type of exercise, it is not something I want to get hung up on. Plus it’s a MONSTER subject. Not one to be taken lightly, so we’ll outsource the safe keeping of user info and the authentication mechanics. So we can focus on the implementation of it. auth0 authenticated app Adding some event counter for sampling mix phx.gen.html Events Event events title due:datetime I’ve never been a fan of generators like this before, but I am also tired of hand carving the same things over and over in my React apps. So I’m all in. Add the resource to your browser scope in lib/postit_web/router.ex: resources "/events", EventController Remember to update your repository by running migrations: $ mix ecto.migrate plus the cli is super nice and very informative Add a route events to the router under lib/postit_web/router.ex within the scope of PostitWeb Run migration. This I like. I know enough sql to find my way in the dark, but I much

  • Elixir with AppEngine

    11/07/2019 Duración: 23min

    AppEngine Remember what started us down the path of managing a kubernetes cluster in the first place? No, it wasn’t our own sadistic desire to to devops in an effort to avoid building an actual project, but close. We want to be able to leverage ‘live view’ in our project, that requires websockets, which all signs pointed to not available on appengine. But wait, what’s this? App-Enggine WebSocket Support As of Feb 2019, it looks like we’re good to go. That coupled with the $30/month bill we would incur when our gcp credits ran out, this switch seems to make a lot of sense. Clean up Tearing down services kubectl delete service postit-web gcloud compute forwarding-rules list use this to check that the loadbalancer is also removed and finally the cluster of 2 VM’s gcloud container clusters delete --zone=us-central1-a postit-cluster then just the database. and we’re all set to startup with app-engine App Engine update KMS key/value on key for beta app. remember we tore everything down and needed to create

  • Elixir Deployment

    28/06/2019 Duración: 30min

    Cuts ipv6: this was in the When to set config AWS is a jungle So.. I guess I need docker

  • Elixir with Phoenix

    14/06/2019 Duración: 28min

    Building it locally Easy enough to get it running with the instructions from Elixir and Phoenix Problems with Postgres install and running postgresql install ubuntu sudo su - postgres pg_ctlcluster 11 main start Getting default postgres running required the pg_ctlcluster Finally running local db, not my strong suit Package it up for deployment Add Distillery {:distillery, "~> 2.0"} Hex Package Manager for the BEAM ecosystem About Six Colors AB Hex was started as an open-source project early 2014, it is still an open-source project but today it is operated by the Swedish limited company “Six Colors AB”. The company was founded in 2018 by the creator of Hex, Eric Meadows-Jönsson, Six Colors supports the development of Hex and operates all services required to run Hex. By charging for private packages we can fund free open-source development and run reliable services for both paying customers and the open-source community. Get it out there Setup a VM on Azure tyBasic Ubuntu VM 1 CPU, 1GB RA

  • Elm Community

    07/06/2019 Duración: 20min

    Elm In the Spring Videos are up LINK Announcing Elm UI-Explorer I was gonna steer clear of this topic after initially reading the post by Chris Gregori Elm and why its not quite ready yet , and the follow up by Lucas Payr How Can the Elm Coummity Imporve , but it sort of festered on my mind, which listening to this reason behind this weeks tardy release. I have another episode in the cooker, one that was a lot more fun to work on, but there was something about this open conversation that I just can’t shake. There is no answer here, only those searching That’s my disclaimer. Summary I think both articles from Chris and Lucas where thoughtful, articulate and constructive. I didn’t get any sense of trolling, flaming, or even so much as a hint of rudeness. Chris wrote on article titled ‘Elm and Why it’s Not Quite Ready Yet’ where he outlines several points that he believes makes Elm, as the title suggests, not ready for prime time. To be fair, he does list a fair amount of good points and things that he lik

  • Open Source Support

    30/05/2019 Duración: 19min

      Covering the current state of open source support both monetarily and emotionally to those that put in so much work and effort that everyone benefits from.   Links Github Support Open Collective Patreon Open Collective Babel Henry’s Podcast Hope In Source Henry’s ‘Through The Open Source Looking Glass“ Actions is to contribute to the Gatsby project and Babel? Let's start with becoming a contributor and go from there. By, say next week.   

  • Yearly Themes Check-in

    23/05/2019 Duración: 24min

    We set out this with a theme this year. Not a resolution, but an idea of something tangible that wanted to accomplish or do better in our efforts here. If you're not super familiar with themes, as I was not, I'd encourage you to listen to Cortex on Relay FM, of course they are in the show notes.   Cortex #79: 2019 Yearly Themes - Relay FM   Cortex #62: 2018 Yearly Themes - Relay FM   Actual Reddit thread gives a good rundown of yearly themes, but for me it's really something you can ask yourself when you're doing something, or you're looking at your to do list, or list of projects you want to work on. Whether those are side projects, or maybe they are part of your business in the case of Myke and Grey. (Those are the peeps from the show Cortex)   So what was my theme? Creating Content and Simple Automation. Episode #64 Aptly titled 'Themes' goes into both in pretty good detail, and I thought since it's nearly the 1/2 way point of the year, how am I doing?   The idea, whenever I start in on someth

  • Out of the Wilderness

    09/05/2019 Duración: 20min

    CFP for Elm-Conf You have sometime to get a proposal in. I’d love to hear what you have to say about your latest Elm or functional related adventures. I’ve submitted one of a couple of my ideas, I encourage you to do the same. Lost in Routing if you listened last week, and were a bit confused, you are not alone. I too am trying to unlearn a lot of habits good and bad that I baked into my mental model of an SPA. Prop passing is muscle memory at this point, and I’m having a hard time not picturing the model of my application that way. First things first - THROW OUT THE COMPONENTS NAMED FILE Better? cool. Let’s start again. Views are functions, they are composable together. I am not entirely sure what _main was referencing in the components file. And it’s even harder to google something for which you don’t have a name to describe it with. Back to basics Understanding what FRP is? Goals for today, what is FRP First order FRP Elm Intro Jeremy Fairbanks Model -> View -> Update View is a reflection o

  • Spring Snow

    02/05/2019 Duración: 20min

    Elm in the Spring A huge shoutout and thank you to the organizers: Blake Thomas @dijjnn Alex Koppel @arsduo Caroline Artz @carolineartz also xt thank you for the awesome socks! Colleen Sain @colleeninsain Doug VonMoser @dougvonmoser Special shoutout to friend of the show Anthony Deschamps programing Robots with Elm. It was great to catch up in Chicago, if only for a moment. All of the talks were top notch, original content, beautifully delivered. I was mentally fried by the end of the day. The library was a great space. I remembered what a coat rack was, and special thanks for the incoming blizzard the next morning as my plane received not 1, but 2 de-icing to get out and on it’s way to the sunny desert. Favorite moments - Andrew MacMurrary @a_macmuray went through his experience of building a game, Seeds the game let’s be real, games demo so well, and Andrew’s game is absolutely gorgeous Dan Abrams @thedanabrams. on his crazy screenplay parser and some of the hoops he’s gone through to get that workin

  • Route Components

    24/04/2019 Duración: 26min

    From Page to Component Keeping our application modular, that means components Not your React Components Basically an Elm app that doesn’t expose a program Does not have a ‘main’ Rather it exposes it’s model/init, update, and view functions for other Elm modules to use Sound similar to life cycle methods? The modules state will be stored in the main with a little ‘m’ model expose Model, Msg, update, view and init doesn’t take () unit any more. Remember it’s called unit!!! Why doesn’t it? bc it’s not being invoked with the arguments that main would be, it’s exposing the other functions that it has. maybe? Gettin’ it done Storing an instance of the component’s model in Main’s model? Maybe not so much. The effect would be growing fields in the model for each and every component.

  • Hello Darkness My Old Friend

    18/04/2019 Duración: 25min

    Routing in Elm I realize now, just how frustrated people get when learning n framework or language. For me that monster is routing in Elm. But first, you’re running out of chances to get to Elm in the Spring!!! Instead of creating our program with Browser.element or Browser.document, we can create a Browser.application to avoid loading new HTML when the URL changes: ok, cool. Define some routes, in a Routes.elm file preferably in it’s own Routes file Define the routes Parser -- creating a parser called 'routes' -- will produce routes of type Route -- doesn't take any arguments? routes : Parser (Route -> a) a routes = Parser.oneOf [ Parser.map Home Parser.top , Parser.map Account (Parser.s "account") ] Define a match function that will convert a Url and return a Maybe Route. Maybe Route because you might not have a matching route, right? I think this is where the default case for pattern matching at one point will show the 404. Be sure we are exposing the Routes(..)

  • Special Guest Blake Thomas

    12/04/2019 Duración: 01h21min

    Co-organizer of Elm in the Spring Sponsers eSpark Learning Hubtrain NoRedInk Span Tree Work at NoRedInk? Trying to outdo each other for conferences? Elm as an interest Stop using react and start using Elm! Skeptical about it Type safety, functional, less errors! Reasonably new. Pre 0.16 Prototype in Elm, measure differences. Metric for success, developer happiness. Arch of developer happiness Confident devs Beat the deadlines only 4 months long, by 2 weeks Magnitude less errors Business Happiness Once they had the logic down Corey Hanes Ruby advocate turned Elm Programming confidently Sunken cost bias Counter argument - it’s not an all or nothing. Ports/Routes/Elmify Cost of maintenance - easiest software to maintain is zero lines JS boilerplate code, and wiring overhead Elm careful curation of features Crystal Programming Language Ary Elm Conference in the middle in the year Resources Elm in the Spring NoRedInk.com/jobs  

  • Special Guest Jason Langstrof

    04/04/2019 Duración: 47min

      Elm in the Spring Elm in the Spring is a single-track, single-day conference for developers who love Elm. Whether you’re an Elm expert scaling up your production app or you’re just starting out with your first Elm project, join us for a great day of learning, teaching, and community! Elm in the Spring 2019 will take place on Friday, April 26th at the Newberry Library in Chicago. Transcript Available All Things Gatsby Jason Lengstorf @jlengstorf Developer. Occasional designer. Process and culture architect. Mediocre bartender. Blogs at lengstorf.com Started with a dogpile on twitter Jason's Tweet Gatsby folks: Shannon Soper @shannonb_ux Amberley Romo @amberleyjohanna Amberley Romo @amber1ey Marcy Sutton @marcysutton Might have been Frontside Podcast Ep 61? Nope Amberley was nice enough to dig it up for us. Heading Gatsby's Learning Experience and Bridging Gaps - with Marcy Sutton Learn With Jason LiveStream Twitch Learn With Jason YouTube Archive Community Pair Programming What the heck is Glitch? wit

  • Conferences

    28/03/2019 Duración: 26min

    Kind of a fan Gets me excited Invert / extravert I do like to travel Conference Talking Babel Plugin Macros Macros Their usefulness Possible Futures Metaprogramming in air quotes Slide Deck Reactathon Elm in the Spring Follow JavaScript to Elm Twitter: @jstoelm Email: jesse@jstoelm.com Jesse Tomchak Twitter: @jtomchak  

  • Practice Lots

    22/03/2019 Duración: 25min

    Conference Talking Babel Plugin Macros Macros Their usefulness Possible Futures Metaprogramming in air quotes Follow JavaScript to Elm Twitter: @jstoelm Email: jesse@jstoelm.com Jesse Tomchak Twitter: @jtomchak  

  • Learn Productively

    15/03/2019 Duración: 20min

    Learning or Building ? So which is it, learning or building? They say the best way to learn something is to dive in and build something. Struggle with it. Am I stuck in the tutorial loop? oh noes.

  • 71: Macros ?

    28/02/2019 Duración: 21min

    bit of history Macros can be used to make tasks less repetitive by representing a complicated sequence of keystrokes, mouse movements, commands, or other types of input. In computer programming, macros are a tool that allows a developer to re-use code. best explianation i have found so far Fundamentally, macros are a way of writing code that writes other code, which is known as metaprogramming. rust docs macro is going to happen at compile time. where a function is going to happen at run time. code that writes code.

página 1 de 5