RustyElm

RustyElm

Podcast de ianmjones

Empezar gratis

No se necesita tarjeta de crédito

A very ad-hoc microcast journal of my attempt to learn the Rust and Elm programming languages, and build a side project with them.

Empieza 30 días de prueba

No se necesita tarjeta de crédito

Empezar gratis

Todos los episodios

6 episodios
episode #000: Why Always Developing Exists artwork
#000: Why Always Developing Exists

Ian rambles on about why this podcast exists, and why the RustyElm podcast has come to a close.

30 mar 2020 - 0
episode Dependency Hell artwork
Dependency Hell

Hello, my name is Ian Jones, and this is the RustyElm microcast, a short, very ad-hoc journal of my attempt to learn Rust and Elm in order to build a side project. So, I've finally had some time over the last week or so to get stuck into my Rust and Elm project, starting by trying to get the Rust based server up and running. Getting a server up and running with a simple "Hello World" is a doddle with Rocket, and I had fun playing with the basics of request guards etc. to easily handle calls to /hello/ and similar play things to get a grip on how it hangs together. However, I then made the mistake of jumping into taking a look at how to use the Juniper crate along with Rocket for creating a GraphQL server. Things very quickly came unstuck as I tried to work through a seemingly endless amount of errors that frankly made no sense to me as I have very little experience with the Rust compiler. I tried following the quick start guide but even that had problems when implemented in Rocket with slight modifications as per the integration docs, and its example on GitHub. The problems seemed to be related to dependencies, I could never get the derive macros to work properly. Eventually I came to my senses and decided that maybe I should attempt setting up a couple of simple REST routes that return JSON first, that's built into Rocket, and in the simple case doesn't need hardly any dependencies. It worked fine, changing the existing play routes to return JSON was easy. Tiny steps for the win! Then it was time to connect up a database and grab some data from it. I thought it would be relatively simple, as again, I was going to use functionality that is effectively built into Rocket for accessing a database via the Diesel ORM. I have some data I can use from an existing prototype of the application I'm building, the prototype currently uses an SQLite database and I have a couple of shell scripts and accompanying SQL scripts built that can extract the data and import it into a CockroachDB database. I want to use CockroachDB because it uses the PostgreSQL wire protocol and is mostly SQL compatible with PostgreSQL too, so is easy to use with most languages and frameworks, but can easily scale and have data GEO partitioned. I don't need that scale out capability or GEO partitioning just now, but seeing as Cockroach is a breeze to set up and frankly just cool to play with, I'm going to use it. Have I mentioned that this project is all about learning how to use technologies that I find very interesting and see a great future for? Anyway, installing the Diesel CLI was dead easy, a simple cargo install diesel_cli and we were done as I had already made sure I had the required PostgreSQL client bits and bobs installed as per the Quick Start Guide. And the basic setup of its dotenv file along with similar configuration in Rocket.toml was a no-brainer too. A quick run of diesel setup and I had the expected new migrations directory and schema.rs file in my project. Before getting stuck into using Diesel with Rocket I took a detour to make a few tweaks to my data migration scripts to use UUID columns instead of plain integer style serial columns. It's highly recommended when data can be written to multiple nodes in a cluster, like with CockroachDB, to use random primary keys as it prevents data writes from being clumped together in its range based data setup. However, using UUIDs turned out to cause more dependency headaches further down the line that required some more quick learning, but we'll come to that in a second. Diesel's migrations feature allowed me to convert the schema definition bits from my data migrations scripts into proper migration steps. The first step to set up a basic schema with extra "old ID" fields in tables, the next step being used for data import so I can re-create it easily from the SQLite database, and a follow on migration that then fixed up the data to convert the pre-existing integer based primary/fore

30 jul 2019 - 0
episode Almost Back In The Saddle artwork
Almost Back In The Saddle

Hello, my name is Ian Jones, and this is the RustyElm microcast, a short, very ad-hoc journal of my attempt to learn Rust and Elm in order to build a side project. I had a draft podcast way back in mid September 2018, but never finished it as I was just too damn busy. Things have been kinda crazy, starting with working on multiple huge releases of WP Offload Media, and helping out with WP Offload SES. Giving my best 8 hours or more of mental energy a day to my work for Delicious Brains doesn't leave much in the tank for late night hacking. I very much enjoy working on WP Offload Media, it's an awesome plugin, and I enjoy having primary responsibility for it's development, so I naturally put a lot of my energy into it and am always thinking about it. Having said that, I did get an itch for something I needed to build that also took my eye off of RustyElm and learning Rust and Elm, that being: Snippet Pixie. Snippet Pixie is "Your little expandable text snippet helper", for Linux. I couldn't find a good Linux application alternative to the likes of Text Expander or Dash (which I currently use on macOS). So, in the end, I kinda just had to build it, otherwise known as scratching my itch. My primary desktop Linux distribution is elementary OS, so that's what I built it for, in Vala. Turns out that may have helped me get my shrivelled little brain around the Rust concept of Ownership, as Vala also doesn't let you throw objects around without taking into consideration ownership. It caught me out a few times when the complier complained about not being able to assign an unowned reference etc, and reminded me a lot of how Rust handles ownership. Even though things aren't exactly the same, I'm going to chalk that one up as some progress in my learning of Rust, alright?! Anyhow, Snippet Pixie recently had a momentous release that included date/time, clipboard, embedded snippets and cursor placeholders, adding a whole new level of functionality. And even though I'm in the middle of trying to get a snap sorted so it'll be usable on many more Linux distributions, and still have plans for more improvements to Snippet Pixie, I feel like I no longer have a huge pressure to keep adding functionality and can relax a little bit on it. As such, I'm starting to look at getting started with my Rust and Elm based project for my evening recreational programming. Stay tuned. Micro.blog: @ianmjones Twitter: @ianmjones

08 may 2019 - 0
episode Slow Going artwork
Slow Going

Huge News: Elm 0.19 released! Faster compiler with smaller output Core packages now in "elm" namespace rather than "elm-lang" New Browser module replaces HTML.program stuff New Time module looks nice Looking forward to using Elm again, but first need to get basic Rust backend running... Progress update (reading The Rust Programming Language book): Tests in Rust look great Unit tests in same file as code makes sense Testing private functions FTW! Separate integration tests for public library functions makes sense Skinny main.rs and fat lib.rs files Read through the I/O Project chapter Impatient to get to Functional Language Features But still refreshed previously learnt concepts nicely Introduced more new stuff than expected, glad I read it Finally got to Functional Language Features chapter Covered anonymous functions and iterators, basically map The Improving Our I/O Project section was probably the best Just started reading the More About Cargo and Crates.io chapter At some point may have crate I'd like to release, who knows? Released minor update to WP Cron Pixie Now built with local to project Elm 0.18 tools Cleaned up package dependency that prevents Elm 0.19 upgrade Next version will therefore use Elm 0.19 Micro.blog: @ianmjones Twitter: @ianmjones

05 sept 2018 - 0
episode Alright, Let’s Do This! artwork
Alright, Let’s Do This!

Why I decided to go ahead with this microcast Positive feedback on first episode Publicly accountable Have wanted to do a podcast for years! Inspired by many others, recently including: Timetable by Manton Reece Build Your SaaS by Jon Buda & Justin Jackson The Art of Product Podcast by Ben Orenstein & Derrick Reimer Q from @thisizkp: Learning both Rust & Elm? Totally new to Rust Smattering of Elm a couple of years ago Building Reactive WordPress Plugins – Part 3 – Elm WP Cron Pixie Progress update: Reading The Rust Programming Language book Just finished Chapter 10: Generic Types, Traits, and Lifetimes Familiar with concepts of Generics & Traits, but Lifetimes (especially annotating them) will take some getting used too Yay for compilers! Moving on to Chapter 11: Writing Automated Tests Expect to use tests quite a bit in project, less than with PHP though Yay for compilers! Have a basic "Hello World" Rust app using Rocket web framework running Found old skeleton page navigation test for project written in Elm Won't use it May nick a few ideas though What's the project? Not telling ... yet! Micro.blog: @ianmjones Twitter: @ianmjones

13 ago 2018 - 0
Soy muy de podcasts. Mientras hago la cama, mientras recojo la casa, mientras trabajo… Y en Podimo encuentro podcast que me encantan. De emprendimiento, de salid, de humor… De lo que quiera! Estoy encantada 👍
MI TOC es feliz, que maravilla. Ordenador, limpio, sugerencias de categorías nuevas a explorar!!!
Me suscribi con los 14 días de prueba para escuchar el Podcast de Misterios Cotidianos, pero al final me quedo mas tiempo porque hacia tiempo que no me reía tanto. Tiene Podcast muy buenos y la aplicación funciona bien.
App ligera, eficiente, encuentras rápido tus podcast favoritos. Diseño sencillo y bonito. me gustó.
contenidos frescos e inteligentes
La App va francamente bien y el precio me parece muy justo para pagar a gente que nos da horas y horas de contenido. Espero poder seguir usándola asiduamente.

Disponible en todas partes

¡Escucha Podimo en tu móvil, tablet, ordenador o coche!

Un universo de entretenimiento en audio

Miles de podcast y audiolibros exclusivos

Sin anuncios

No pierdas tiempo escuchando anuncios cuando escuches los contenidos de Podimo.

Empieza 30 días de prueba

No se necesita tarjeta de crédito

Podcasts exclusivos

Sin anuncios

Podcast gratuitos

Audiolibros

20 horas / mes

Empezar gratis

Otros podcasts exclusivos

Audiolibros populares