Podcasts about factor app

  • 20PODCASTS
  • 22EPISODES
  • 41mAVG DURATION
  • 1MONTHLY NEW EPISODE
  • Jan 7, 2025LATEST

POPULARITY

20172018201920202021202220232024


Best podcasts about factor app

Latest podcast episodes about factor app

Screaming in the Cloud
Heroku's Resurgence with Adam Zimman

Screaming in the Cloud

Play Episode Listen Later Jan 7, 2025 29:54


Corey Quinn welcomes Adam Zimman back to Screaming in the Cloud for a sponsored episode featuring Heroku by Salesforce. As Head of Product Marketing, Adam discusses after years of stagnation following its Salesforce acquisition. Recent investments and a dedicated team signal a renewed focus on developer experience. The duo explores Heroku's impact on modern app development, its role in popularizing the 12-Factor App model, and the decision to retire its free tier. Adam highlights key updates, including Kubernetes replatforming, .NET support, and AI tools for managed inference and agents. He also teases his upcoming book, Progressive Delivery, set for release next year.Show Highlights(0:00) Intro(1:01) Heroku sponsor read(1:39) How Heroku became resurgent(5:46) Heroku's legacy(9:53) Adam's thoughts on people's response to the free tier going away(10:55) Heroku's target customer(s)(13:51) Heroku sponsor read(14:19) How Heroku saves organizations money and developed over time(20:08) Heroku's re:Invent announcements(24:53) How modern-day developers have reacted to Heroku's resurgence(27:47) Where people can learn more about Heroku About Adam ZimmanAdam Zimman is Technologist and Author currently serving as the Head of Product Marketing at Heroku by SalesForce. Previously, he was a Venture Capital Advisor providing guidance on leadership, platform architecture, product marketing, and GTM strategy. He has over 20 years of experience working in a variety of roles from software engineering to technical sales. He has worked in both enterprise and consumer companies such as VMware, EMC, GitHub, and LaunchDarkly.Adam is driven by a passion for inclusive leadership and solving problems with technology. He is a co-author of Progressive Delivery: Build the right thing, for the right people, at the right time. His perspective has been shaped by a degree (AB) from Bowdoin College with a dual-focus in  Physics and Visual Art, an ongoing adventure as a husband and father, and a childhood career as a fire juggler.LinksHeroku's website: https://www.heroku.com/Adam's Bluesky: https://bsky.app/profile/azimman.bsky.socialAdam's Mastodon: https://hachyderm.io/@azAdam's LinkedIn: https://www.linkedin.com/in/adamzimman/Personal site: https://progressivedelivery.com/SponsorHeroku: http://heroku.com/

Patoarchitekci
12-factor app - skamielina czy nadal żywe?

Patoarchitekci

Play Episode Listen Later Oct 18, 2024 33:00


Czy 12-factor app to skamielina czy nadal żywe? Patoarchitekci odkopują ten artefakt z 2011 roku. Czy te zasady przetrwały próbę czasu w erze mikroserwisów i konteneryzacji? Szymon i Łukasz analizują każdy z dwunastu punktów pod kątem aktualności. Od code base przez port binding po disposability - sprawdzają, co się zmieniło. Dyskutują też o brakujących elementach, takich jak health checki i tożsamość aplikacji. Zastanawiasz się, czy Twoja aplikacja jest cloud-native ready? Posłuchaj tego odcinka i zrób audyt swojego kodu. Może odkryjesz, że Twoja nowoczesna architektura to tak naprawdę prehistoryczny zabytek!   A teraz nie ma co się obijać!

HeroicStories
What’s the Best Two-Factor App?

HeroicStories

Play Episode Listen Later Aug 16, 2024 9:02


Two-factor authentication is one of the most important things you can do to secure your accounts. Here are the 2FA apps I can recommend.

2fa two factor factor app
sobre la marcha
Los principios de diseño

sobre la marcha

Play Episode Listen Later Jul 9, 2024 23:20


Enlaces relacionados: Defensa en profundidad –origen del término en el ámbito militar: Defense in Depth Defensa en profundidad en Ingeniería del Software: Defense in Depth (Computing) El manifiesto “The 12-Factor App”. Envía tus comentarios a la cuenta en el Fediverso de sobre la marcha. ✨También puedes seguirla para recibir anuncios y estar al día✨ La música de la entradilla es If Pigs Could Sing, de Rolemusic, y se distribuye con licencia CC-BY 3.0

Happy Path Programming
#70 Understanding Software Through Bees & Biology With Grace Jansen

Happy Path Programming

Play Episode Listen Later Oct 31, 2022 63:47


Grace Jansen joins us to chat about how bees and biology can help us better understand software development tools & paradigms like Reactive, Kubernetes, and maybe parts of the 15 Factor App methodology (a modernized version of the Twelve-Factor App methodology). Discuss this episode: https://discord.gg/nPa76qF

AWS - Il podcast in italiano
Automazione e CI/CD in ambienti Kubernetes (ospite: Paolo Mainardi)

AWS - Il podcast in italiano

Play Episode Listen Later Sep 26, 2022 38:56


Cosa rende Kubernetes speciale quando si parla di processi di automazione e CI/CD? Quanto è importante il tooling e quanto pesa rispetto all'adozione di processi aziendali e culturali? E quali tecnologie e concetti vanno approfonditi per iniziare a sporcarsi le mani? In questo episodio ospito Paolo Mainardi, CTO di SparkFabrik, per parlare di Kubernetes e CI/CD. Link: 12 Factor App. Link: Artifact Hub. Link: Cloud Native Landscape. Link: Amazon EKS.

Engineering Kiosk
#27 Sicherheit in der Dependency Hölle

Engineering Kiosk

Play Episode Listen Later Jul 12, 2022 56:18


Was haben die JavaScript Pakete left-pad, color, faker und cross-env gemeinsam? Alle waren in npm Package Sicherheits-Incidents involviert.Wenn man sich die Anzahl von Javascript Abhängigkeiten bei Mittelgroßen Projekten ansieht, ist eine dreistellige Anzahl an JavaScript Paketen nicht unüblich. Das liegt primär an der überschaubaren Größe der Pakete und somit der Funktionalität. Alles nur, um Pakete verwaltbarer zu halten. Doch dieser Umstand macht das JavaScript-Ecosystem so attraktiv für Angreifer oder kann zu extremen Seiteneffekten führen. In dieser Episode sprechen wir drei npm Package Incidents durch, was es damit aufsich hatte, welche Attack-Möglichkeiten es noch gibt und wie man sich als Software Entwickler dagegen schützen kann.Bonus: Was Bademeister, Blubberwasser und eine ASCII-Repräsentation von Uncle Sam und der amerikanischen Flagge mit JavaScript zu tun haben.Feedback an stehtisch@engineeringkiosk.dev oder via Twitter an https://twitter.com/EngKioskLinksFilm "Die Bademeister": https://www.imdb.com/title/tt0202806/Open Source Studien: https://t3n.de/news/wirtschaft-open-source-nutzt-5-1451923/ und https://www.bitkom.org/Presse/Presseinformation/Open-Source-ist-in-der-deutschen-Wirtschaft-angekommen Media Tech Lab: http://jump.engineeringkiosk.dev/media-tech-lab Buch "Working in Public: The Making and Maintenance of Open Source Software": https://www.amazon.de/Working-Public-Making-Maintenance-Software/dp/0578675862Auch Python und PHP sind betroffen: https://twitter.com/s0md3v/status/1529005758540808192 und https://twitter.com/s0md3v/status/1529049336268869633JavaScript left-pad: https://www.npmjs.com/package/left-padMessaging-App Kik: https://www.kik.com/E-Mail-Verkehr zwsichen npm, Kik und Azer Koçulu zum left-pad Paket: https://medium.com/@mproberts/a-discussion-about-the-breaking-of-the-internet-3d4d2a83aa4dStatement vom npm CTO "Laurie Voss" zur Wiederherstellung des left-pads Paket: https://twitter.com/seldo/status/712414588281552900Zalgo Text: https://en.wikipedia.org/wiki/Zalgo_textDev corrupts NPM libs 'colors' and 'faker' breaking thousands of apps: https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/node-ipc: Open Source Maintainer Sabotages Code to Wipe Russian, Belarusian Computers: https://www.vice.com/en/article/dypeek/open-source-sabotage-node-ipc-wipe-russia-belraus-computerstyposquatting-Attacke mit npm Paketen (u.a. cross-env): https://snyk.io/blog/typosquatting-attacks/Bank pushed privaten Code mit npm: https://twitter.com/seldo/status/110515328771872358412 Factor App: https://12factor.net/de/GitHub DMCA Takedowns: https://github.com/github/dmcanpm package scopes: https://docs.npmjs.com/about-scopesDependabot: https://github.blog/2020-06-01-keep-all-your-packages-up-to-date-with-dependabot/ Harden GitHub Actions - Pin actions to a full length commit SHA: https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-third-party-actionsWeitere nicht behandelte Incidentsua-parser.js (malicious code / account hijack): https://github.com/advisories/GHSA-pjwm-rvh2-c87wcoa (malicious code): https://github.com/advisories/GHSA-73qr-pfmq-6rp8rc (malicious code): https://github.com/advisories/GHSA-g2q5-5433-rhrfpurescript (malicious code by dependencies): https://harry.garrood.me/blog/malicious-code-in-purescript-npm-installer/event-stream (new maintainer injected code to steal bitcoins / social engineering): https://blog.npmjs.org/post/180565383195/details-about-the-event-stream-incidentgetcookies (backdoor): https://blog.npmjs.org/post/173526807575/reported-malicious-module-getcookies.htmlSprungmarken(00:00:00) Intro(00:00:35) Intro: 10.000 Downloads und Die Bademeister(00:01:42) Wie viele Firmen setzen (bewusst) Open Source ein?  (00:04:09) Wie viele Firmen unterstützen Open Source finanziell?(00:06:22) Open Source Funding via Media Tech Lab(00:08:11) Das Management von Software-Dependencies anhand des JavaScript-Ecosystems via npm(00:08:59) Warum JavaScript als Beispiel genutzt wird und die Theorie warum JavaScript Pakete so klein sind und viele Abhängigkeiten haben(00:15:06) npm Package Incident: Das Paket "left-pad" wurde aus der npm Registry entfernt (unpublished)(00:23:06) npm Package Incident: Die Pakete "color" und "faker" geben Textmüll auf der Konsole aus(00:27:29) npm Package Incident: Das Paket "cross-env" und der typosquatting-Angriff mit "crossenv"(00:33:01) Weitere Angriffs-Vektoren in Bezug auf Software Dependencies: Böswilliger Maintainer, Schadcode in Sub-Dependency, Account-Übernahme und die falsche Package Registry(00:40:23) Ein Lösungsweg: npm package scopes(00:42:02) Weitere Lösungswege: Schadcode und frühere Fraud-Detection auf Plattform-Seite, die Überwachung von direkten Dependencies und Version-Pinning(00:47:40) Dependabot: Versionen von Dependencies automatisch updaten und auf neue Dependencies achten(00:53:44) Der gesunde Streit: Zanken und Bierchen(00:54:17) OutroHostsWolfgang Gassler (https://twitter.com/schafele)Andy Grunwald (https://twitter.com/andygrunwald)Engineering Kiosk Podcast: Anfragen an stehtisch@engineeringkiosk.dev oder via Twitter an https://twitter.com/EngKiosk

Around IT in 256 seconds
#76: 12th Factor App: portable and resilient services start here. Part 8-12/12

Around IT in 256 seconds

Play Episode Listen Later Jun 6, 2022 4:15


In part 2 of the Twelve-Factor App, we'll explore the second half of the principles. Be sure to listen to the previous episode as well. We still have only four minutes, so let's go! Read more: https://nurkiewicz.com/76 Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter

Around IT in 256 seconds
#75: 12th Factor App: portable and resilient services start here. Part 1-7/12

Around IT in 256 seconds

Play Episode Listen Later May 31, 2022 4:14


Twelve-Factor App is a set of design guidelines defined by Heroku. These guidelines are best suited for cloud-native, portable and resilient services. In this episode, I'll explain the first seven principles. I have four minutes left, so let's go! Read more: https://nurkiewicz.com/75 Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter

Porozmawiajmy o IT
12 factor app z wykorzystaniem serwisów AWS. Gość: Patryk Ziemkowski - POIT 128

Porozmawiajmy o IT

Play Episode Play 59 sec Highlight Listen Later Aug 18, 2021 52:50


Witam w sto dwudziestym ósmym odcinku podcastu „Porozmawiajmy o IT”. Tematem dzisiejszej rozmowy jest 12 factor app z wykorzystaniem serwisów AWS.Dziś moim gościem jest Patryk Ziemkowski – absolwent Politechniki Poznańskiej, profesjonalnie Head of Development 32 osobowego teamu frontend / backend developerów w Apptension, a prywatnie tata małego Franka. Mówi o sobie, że jest prostym, typowym informatykiem, którego w wolnym czasie pochłaniają gry – ostatnio Wiedźmin 3.W tym odcinku rozmawiamy o:czym jest 12 factor app?jak sprawdza się podejście oparte na 12 factor app?czy aby jest stosować trzeba mieć aplikacje w chmurze?czy musimy decydować się na wszystkie 12 punktów, czy też możemy wybierać?mówimy o 12 Factor na AWS w kontekście:Config,Build, release, run,ProcessesConcurrencyDev/prod parityLogsAdmin processesjakie są minusy takiego podejścia i vendor locka z AWS?Subskrypcja podcastu:zasubskrybuj w Apple Podcasts, Google Podcasts, Spreaker, Sticher, Spotify, przez RSS, lub Twoją ulubioną aplikację do podcastów na smartphonie (wyszukaj frazę „Porozmawiajmy o IT”)poproszę Cię też o polubienie fanpage na FacebookuLinki:Apptension – https://www.apptension.com/Profil Patryka na LinkedIn – https://www.linkedin.com/in/patrykziemkowski/The Twelve-factor app – https://12factor.net/pl/Wsparcie:Wesprzyj podcast na platformie Patronite - https://patronite.pl/porozmawiajmyoit/Jeśli masz jakieś pytania lub komentarze, pisz do mnie śmiało na krzysztof@porozmawiajmyoit.plhttps://porozmawiajmyoit.pl/128

Deploy Friday: hot topics for cloud technologists and developers
#22: MicroProfile — Optimizing Java for a Microservices Architecture

Deploy Friday: hot topics for cloud technologists and developers

Play Episode Play 57 sec Highlight Listen Later May 6, 2021 58:04


Defining and standardizing microservice architectureMicroservices break down application development into independent functional components. One of our guests, Emily Jiang of IBM, defines a microservice as “a piece of software that can do one thing and do one thing very well.” For building good microservice architecture, she recommends following the 12 Factor App methodology. The 12 principles in this methodology were created in an effort to guide development and help standardize Java microservices. Emily identifies some of them, such as:Externalize your configurationResilient and faster start upFaster shutdownAnother guest, Roberto Cortez of Red Hat, agrees with her definition, and also adds, “I believe that every team or company has their own definition of microservices. So when people sometimes say, ‘Whoa, how big should a microservice be? Should it be 10k bytes or this many lines of code?’ It doesn't really matter, right? What actually matters is what you do with it in your own organization.”The monolith to microservices “lift and shift” can be trickyRoberto makes it clear that moving from a monolithic architecture to microservices is more than just a technical change for organizations. “If you require microservices, it’s not only about the architectural design patterns that you have to implement, or all the technical aspects of microservices, it’s also a cultural change.” Instead of everyone working together on one thing, you’ll have teams working on separate pieces. They’ll need to communicate differently. “It's going to be a huge cultural impact for the company if your team is not used to working in that direction. And I've seen multiple companies fail, not because the technical aspect was not there, but because the company didn't have the culture to adopt that kind of methodology.”Moving into MicroProfileEclipse MicroProfile is a collaboration of several open source projects, like Red Hat, which aims for more effective delivery of microservices to enterprise Java applications. Emily Jiang defines MicroProfile as the established programming model for microservices and cloud native applications, which includes APIs to achieve quality services for your application. She adds, “That's why MicroProfile is a great framework for doing microservices, because they can manage the quality services for you.”Learn best practices and get started with Eclipse MicroProfile on Platform.sh Platform.shLearn more about us.Get started with a free trial.Have a question? Get in touch!Platform.sh on social mediaTwitter @platformshTwitter (France): @platformsh_frLinkedIn: Platform.shLinkedIn (France): Platform.shFacebook: Platform.shWatch, listen, subscribe to the Platform.sh Deploy Friday podcast:YouTubeApple PodcastsBuzzsproutPlatform.sh is a robust, reliable hosting platform that gives development teams the tools to build and scale applications efficiently. Whether you run one or one thousand websites, you can focus on creating features and functionality with your favorite tech stack

CISO Tradecraft
CISO Tradecraft: Modern Software Development Practices

CISO Tradecraft

Play Episode Listen Later Mar 26, 2021 45:37


Would you like to know the best practices in modern software development?  On this episode G Mark Hardy and Ross Young overview the 12 Factor App and its best practices: Codebase: One codebase tracked in revision control with many deploys. Dependencies: Explicitly declare and isolate dependencies. Config: Store configurations in the environment. Backing Services: Treat backing services as attached resources Build, Release, Run: Strictly separate build and run stages  Processes: Execute the app as one or more stateless processes. Port Binding: Export services are via port binding. Concurrency: Scale out via the process model. Disposability: Maximize robustness with fast startups and graceful shutdowns. Dev/Prod parity: Keep development, staging, and production as similar as possible. Logs: Treat logs as event streams. Admin Processes: Run admin/management tasks as one-off processes. The episode of CISO Tradecraft discusses important software development concepts such as Extreme Programming, Lean Product Development, and User Centered Design Methodologies.  To learn more about these important concepts please look at the Pivotal Process

Software Delivery in Small Batches
The 12 Factor App with Joe Kutner

Software Delivery in Small Batches

Play Episode Listen Later Oct 19, 2020 32:34


Adam & Joe discuss the proposed additions in the 12.1 factor app, the challenge with dev-prod parity, and the missing security factor.

Software Engineering Radio - The Podcast for Professional Software Developers
Episode 409: Joe Kutner on the Twelve Factor App

Software Engineering Radio - The Podcast for Professional Software Developers

Play Episode Listen Later May 14, 2020 55:42


Joe Kutner, Software Architect for Heroku at Salesforce.com, spoke with host Kanchan Shringi about the 12-Factor App methodology, which aids development of modern apps that are portable, scalable, easy to test, and continuously deployable.

DevEnv - O programowaniu bez kaca
#42 The Twelve-Factor App

DevEnv - O programowaniu bez kaca

Play Episode Listen Later Mar 25, 2020 25:48


Z chmury wielu z nas programistów korzysta na co dzień. Wdrażamy swoje aplikacje w ramach mikroserwisów, w środowiska skonteneryzowanych. Jest kilka zasad, które musimy przestrzegać aby było to możliwe. Czasem podążamy za wytycznymi z dokumentacji danego rozwiązania. Natomiast istnieje metodologia tworzenia aplikacji o nazwie Twelve-Factor App, która definiuje pewne założenia dla naszej aplikacji. Dzięki temu będziemy mogli z łatwością nie tylko uruchamiać aplikacje w chmurach tj. AWS, Azure, GCP, ale także wykorzystywać możliwość skalowania.Jakie są plusy 12 Factor App?Podczas odcinka dyskutujemy o tym kiedy warto zastosować metodologię Twelve-Factor App, czego nam brakuje w definicji oraz co nie zawsze się sprawdza.Gotowy na podzielenie się swoimi spostrzeżeniami? Zatem:➡️ Czy spotkałeś się z 12 Factor App?➡️ Czy stosowałeś 12 Factor App podczas tworzenia aplikacji?➡️ Jakie widzisz problemy z stosowaniem tej metodologii?Zachęcam Cię do pozostawienia swojej odpowiedzi w komentarzu – dziękuję

DevOps Chat
The Security Addendum to the 12 Factor App

DevOps Chat

Play Episode Listen Later Jan 31, 2019 21:58


What exactly is a chief scientist? Eric Sheridan at WhiteHat tells us. More than that, Eric gives us what he calls the "the security addendum to the 12 factor App." I guess to understand this, you need to understand something about the 12 factor app process. Here is the website to learn: https://12factor.net/ Eric lays out a well reasoned approach to appsec and some good research findings from WhiteHat. Have a listen

Elixir Mix
EMx 025: Rethinking App Env and more with Saša Jurić

Elixir Mix

Play Episode Listen Later Oct 29, 2018 64:39


Panel: Mark Ericksen Josh Adams Charles Max Wood Special Guest: Sasa Juric In this episode of Elixir Mix, the panel talks with Sasa Juric who is the author of Elixir in Action (2nd edition) and uses Elixir, Erlang, and OTP. He is from Zagreb, Croatia and you can check out his blog here! The panel talks about his book, past and current projects, in addition to configurations, and Elixir. Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:50 – Chuck: Panel. Our guest is Sasa Juric. Introduce yourself to us please. 1:12 – Guest: I am known for writing my book and my blogs. I am president to the Elixir forum and helping people out. I have been using Elixir for 5 years; in the past I have used C++ and others. 1:46 – Chuck: App env and configuration and sounds like we could talk about more. Let’s start there, though. 1:59 – Guest. 2:03 – Panel: A little background with configuration b/c it’s been a topic in the community. There is a lot of discussion around it. What is the right way? And there is a change in how we deploy software. We have more docker containers and multiple stages of deployment and tons of configurations through environment settings. Anything you can talk about that? 2:51 – (Guest answers those questions. He discusses in detail about docker configurations. Also, the guest talks about the various settings per the different environments.) 7:25 – Panel: That was a thorough summary. 7:29 – Guest: I can talk more. 7:35 – Panel: So we have background on configuration is setup and the goals we have. What are some of the ways that a person with Elixir – how do they start? Tips / advice? They have their app and trying to go to production? 8:22 – (Guest answers the question.) Guest: 90% of the time, this is what you want to do. This is what you do...build it and put it in the folder structure, and you are good to go. Why is this good? You don’t have to have a bunch of... If you are using Phoenix than you need Node.js and you don’t want to have that on your production. You can easily run side-by-side different versions of Erlang and Phoenix. 11:40 – Panel: You can do that in a single docker file? 11:47 – Guest. 11:51 – Panel: You just copy the files... 11:56 – Panel: I learned I could do that by the distiller 2.0...I hadn’t encountered that before. 12:11 – Guest: Look into the distillery. I want to give compliments to Paul and the team is great. Go to Distillery and see the tutorials. 12:37 – Panel: People think I don’t want to use docker there is an option.... 13:01 – Guest. 13:04 – Chuck: Different types of configuration? 13:13 – Guest: Right this discussion too which is probably talking about my blog post, and I have this wild thought about configurations. We can discuss the issues and different solutions. We have these configurations files and they contain these time various configurations and... There is usually more than 1 configuration file. 17:53 – Panel: You only get agreement. I have had that problem, too, saying what is this configuration? What are THE Settings that are present and yeah that is a problem? You identify these problems in your blog, where it’s not checked in and the code will not... I have had to work around that in my projects. We are going to create a sample project and it will have defaults. So we can improve the situation. 18:45 – Panel: Class based configurations – I get angry. 19:05 – Guest: I try to challenge this status quo. Some people agree and others disagree. Some say this blanket statement. 19:54 – Loot Crate! 20:47 – Guest: Another thing to note is that configurations are free form key values. Remember, my point is that it boils down to some function being involved with these values. (Guest continues...) 23:36 – What is your direction that you are proposing? 23:40 – Guest: We are going to discuss other issues. 23:49 – Panel: As background, as apart of that whole configuration in those distillery docs... 24:41 – What is the next step in the discussion? 24:48 – Guest: Let’s take a step back. (Guest talks about Distillery 2.0.) 27:09 – Guest continues... 29:50 – Panel: That makes sense and flexible. 29:58 – Guest: The other complaint is that the Phoenix generator is pushing the community in the wrong direction by forcing a lot of things by default. When you generate your project with... My team we have used the configuration b/c it seems the right way to do, but what constitutes this? Should this go here and what is a configuration? 30:52 – Panel: I don’t have a synced answer – I don’t have a boundary to say what does or doesn’t’ go in there. 31:13 – Guest: Like the operator might decide to change the HPP port or maybe you want to...? You have to make the decision – what will those things be? 31:32 – Panel: React to a configuration change, it’s very clear to... 31:57 – Guest: It is very arbitrary by its nature. One of the main things (in the blog post) my coworker said it felt like a configuration. What does that mean? Should we have some sort of rules? What is a configuration and what isn’t? 32:33 – Panel comments. 32:55 – Guest: Now I am swinging in a new extreme. You started with parameters nothing more and there is nothing more than functions and parameters. 34:41 – Chuck: You keep bringing up JSON is there a reason why? 34:55 – Guest: I am not a super fan of JSON for various reasons but we decided on JSON b/c it’s fairly easy. Most of our clients and admin can add it. 35:18 – Chuck: Asks a question. 35:30 – Guest: Getting a configuration... 36:35 – Panel. 36:39 – Guest: With Distillery 2.0... 36:47 – Chuck: What formats do you like if you don’t like JSON? 36:58 – Guest: I am not sure. I would like to run everything in Elixir directly. 37:47 – Panel: I have been using Kubernetes. I like that I can have comments. 38:00 – Panel. 38:10 – Panel. 38:17 – JSON is terrible but you can use it and everyone can, too. 38:27 – Guest: I would probably pick JSON between those two. It’s the lesser of 2 evils. 38:40 – Panel. 39:03 – Guest: The key is to clean up this configuration in the first place. My impression is... 39:30 – Panel: I wrote a library, and there was configuration but it doesn’t belong – it’s not a configuration setting nor...so where should those kinds of settings be? I know they are just parameters, but...so we can pull out our configuration files? 40:11 – Guest: It should be grouped by scope. Take Phoenix application... 41:54 – Panel: That’s your exposed configuration – conceivably – but it should be hard coded. 42:04 – Guest: It won’t be hard coded, and the server will be different in production than your machine. 42:17 – Panel. 42:30 – Guest: Precisely. You have to ask: is this a configured parameter or not? 42:43 – Chuck: Can you talk about how to encrypt and/or protect these secrets? 42:56 – Guest: There are these secrets that are broad secrets via...and it depends on you how you’re going to protect them. Use some encryption scheme. 43:20 – Panel. 43:28 – Guest: Right. 43:31 – Chuck: In Rails it has a secret file, too and you have to provide the key to the app. Then your KEY is a secret. It feels like this circular problem. 43:53 – Guest. 44:54 – Panel: When you are dealing with that sort of thing...library will absolutely assume...and it limits flexibility. 45:17 – Guest: It’s not just an Elixir thing I have seen it in Erlang, too. 47:32 – Chuck: Any stories of people getting this wrong or right? I guess people don’t talk about that; any good stories? 47:54 – Guest: A lot of stories, actually!  49:52 – Panel: Being that Elixir is a more functional language, how do I put in a configuration that will be available at runtime and available very early. I think that is why we stick things up there by putting it in there. 50:35 – Panel. 50:43 – Panel: If it is a library and passes it to a configuration - where does it put it? 50:53 – Panel: A library and not an application... 51:05 – Guest. 51:45 – Panel: Where do I put it? 52:03 – Guest: There are some libraries that have to be configured before we start. The only case that needs some setting before we start is LOGGER. 53:00 – Panel. 53:15 – Guest. 54:00 – (Guest mentions à la Carte – check it out here! It’s just a factory.) 55:38 – Chuck: Let’s do picks! 55:46 – Fresh Books! Links: Ruby Elixir JavaScript React Erlang Kubernetes JSON Logger Docker Config Rethinking App Env Distillery Documentation Elixir in Action Elixir in Action – Book – 2nd edition Elixir – Library Guidelines Elixir Forum The 12-Factor App Distillery’s Documentation GitHub: Toml-Elixir GitHub: Riak_Ensemble GitHub: Elm – Beam GitHub: CodeC-Beam Library Guidelines – Elixir Configuring Elixir Libraries Handling Configurations Etcher Tweet Mashup Sasa’s YouTube Video Sasa’s Twitter Sasa’s GitHub Sasa’s Information at Elixir Conf Sasa’s LinkedIn Josh Adams’ Email: josh@smoothterminal.com Sponsors: Loot Crate Fresh Books Cache Fly Get a Coder Job! Picks: Sasa Run-time Library Guidelines Elixir in Action – Book – 2nd edition The Erlangelist Solid Ground Chuck Tweet Mashup My JavaScript Story Channel Shush App Mark Etcher.io Josh Elm Beam

Devchat.tv Master Feed
EMx 025: Rethinking App Env and more with Saša Jurić

Devchat.tv Master Feed

Play Episode Listen Later Oct 29, 2018 64:39


Panel: Mark Ericksen Josh Adams Charles Max Wood Special Guest: Sasa Juric In this episode of Elixir Mix, the panel talks with Sasa Juric who is the author of Elixir in Action (2nd edition) and uses Elixir, Erlang, and OTP. He is from Zagreb, Croatia and you can check out his blog here! The panel talks about his book, past and current projects, in addition to configurations, and Elixir. Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:50 – Chuck: Panel. Our guest is Sasa Juric. Introduce yourself to us please. 1:12 – Guest: I am known for writing my book and my blogs. I am president to the Elixir forum and helping people out. I have been using Elixir for 5 years; in the past I have used C++ and others. 1:46 – Chuck: App env and configuration and sounds like we could talk about more. Let’s start there, though. 1:59 – Guest. 2:03 – Panel: A little background with configuration b/c it’s been a topic in the community. There is a lot of discussion around it. What is the right way? And there is a change in how we deploy software. We have more docker containers and multiple stages of deployment and tons of configurations through environment settings. Anything you can talk about that? 2:51 – (Guest answers those questions. He discusses in detail about docker configurations. Also, the guest talks about the various settings per the different environments.) 7:25 – Panel: That was a thorough summary. 7:29 – Guest: I can talk more. 7:35 – Panel: So we have background on configuration is setup and the goals we have. What are some of the ways that a person with Elixir – how do they start? Tips / advice? They have their app and trying to go to production? 8:22 – (Guest answers the question.) Guest: 90% of the time, this is what you want to do. This is what you do...build it and put it in the folder structure, and you are good to go. Why is this good? You don’t have to have a bunch of... If you are using Phoenix than you need Node.js and you don’t want to have that on your production. You can easily run side-by-side different versions of Erlang and Phoenix. 11:40 – Panel: You can do that in a single docker file? 11:47 – Guest. 11:51 – Panel: You just copy the files... 11:56 – Panel: I learned I could do that by the distiller 2.0...I hadn’t encountered that before. 12:11 – Guest: Look into the distillery. I want to give compliments to Paul and the team is great. Go to Distillery and see the tutorials. 12:37 – Panel: People think I don’t want to use docker there is an option.... 13:01 – Guest. 13:04 – Chuck: Different types of configuration? 13:13 – Guest: Right this discussion too which is probably talking about my blog post, and I have this wild thought about configurations. We can discuss the issues and different solutions. We have these configurations files and they contain these time various configurations and... There is usually more than 1 configuration file. 17:53 – Panel: You only get agreement. I have had that problem, too, saying what is this configuration? What are THE Settings that are present and yeah that is a problem? You identify these problems in your blog, where it’s not checked in and the code will not... I have had to work around that in my projects. We are going to create a sample project and it will have defaults. So we can improve the situation. 18:45 – Panel: Class based configurations – I get angry. 19:05 – Guest: I try to challenge this status quo. Some people agree and others disagree. Some say this blanket statement. 19:54 – Loot Crate! 20:47 – Guest: Another thing to note is that configurations are free form key values. Remember, my point is that it boils down to some function being involved with these values. (Guest continues...) 23:36 – What is your direction that you are proposing? 23:40 – Guest: We are going to discuss other issues. 23:49 – Panel: As background, as apart of that whole configuration in those distillery docs... 24:41 – What is the next step in the discussion? 24:48 – Guest: Let’s take a step back. (Guest talks about Distillery 2.0.) 27:09 – Guest continues... 29:50 – Panel: That makes sense and flexible. 29:58 – Guest: The other complaint is that the Phoenix generator is pushing the community in the wrong direction by forcing a lot of things by default. When you generate your project with... My team we have used the configuration b/c it seems the right way to do, but what constitutes this? Should this go here and what is a configuration? 30:52 – Panel: I don’t have a synced answer – I don’t have a boundary to say what does or doesn’t’ go in there. 31:13 – Guest: Like the operator might decide to change the HPP port or maybe you want to...? You have to make the decision – what will those things be? 31:32 – Panel: React to a configuration change, it’s very clear to... 31:57 – Guest: It is very arbitrary by its nature. One of the main things (in the blog post) my coworker said it felt like a configuration. What does that mean? Should we have some sort of rules? What is a configuration and what isn’t? 32:33 – Panel comments. 32:55 – Guest: Now I am swinging in a new extreme. You started with parameters nothing more and there is nothing more than functions and parameters. 34:41 – Chuck: You keep bringing up JSON is there a reason why? 34:55 – Guest: I am not a super fan of JSON for various reasons but we decided on JSON b/c it’s fairly easy. Most of our clients and admin can add it. 35:18 – Chuck: Asks a question. 35:30 – Guest: Getting a configuration... 36:35 – Panel. 36:39 – Guest: With Distillery 2.0... 36:47 – Chuck: What formats do you like if you don’t like JSON? 36:58 – Guest: I am not sure. I would like to run everything in Elixir directly. 37:47 – Panel: I have been using Kubernetes. I like that I can have comments. 38:00 – Panel. 38:10 – Panel. 38:17 – JSON is terrible but you can use it and everyone can, too. 38:27 – Guest: I would probably pick JSON between those two. It’s the lesser of 2 evils. 38:40 – Panel. 39:03 – Guest: The key is to clean up this configuration in the first place. My impression is... 39:30 – Panel: I wrote a library, and there was configuration but it doesn’t belong – it’s not a configuration setting nor...so where should those kinds of settings be? I know they are just parameters, but...so we can pull out our configuration files? 40:11 – Guest: It should be grouped by scope. Take Phoenix application... 41:54 – Panel: That’s your exposed configuration – conceivably – but it should be hard coded. 42:04 – Guest: It won’t be hard coded, and the server will be different in production than your machine. 42:17 – Panel. 42:30 – Guest: Precisely. You have to ask: is this a configured parameter or not? 42:43 – Chuck: Can you talk about how to encrypt and/or protect these secrets? 42:56 – Guest: There are these secrets that are broad secrets via...and it depends on you how you’re going to protect them. Use some encryption scheme. 43:20 – Panel. 43:28 – Guest: Right. 43:31 – Chuck: In Rails it has a secret file, too and you have to provide the key to the app. Then your KEY is a secret. It feels like this circular problem. 43:53 – Guest. 44:54 – Panel: When you are dealing with that sort of thing...library will absolutely assume...and it limits flexibility. 45:17 – Guest: It’s not just an Elixir thing I have seen it in Erlang, too. 47:32 – Chuck: Any stories of people getting this wrong or right? I guess people don’t talk about that; any good stories? 47:54 – Guest: A lot of stories, actually!  49:52 – Panel: Being that Elixir is a more functional language, how do I put in a configuration that will be available at runtime and available very early. I think that is why we stick things up there by putting it in there. 50:35 – Panel. 50:43 – Panel: If it is a library and passes it to a configuration - where does it put it? 50:53 – Panel: A library and not an application... 51:05 – Guest. 51:45 – Panel: Where do I put it? 52:03 – Guest: There are some libraries that have to be configured before we start. The only case that needs some setting before we start is LOGGER. 53:00 – Panel. 53:15 – Guest. 54:00 – (Guest mentions à la Carte – check it out here! It’s just a factory.) 55:38 – Chuck: Let’s do picks! 55:46 – Fresh Books! Links: Ruby Elixir JavaScript React Erlang Kubernetes JSON Logger Docker Config Rethinking App Env Distillery Documentation Elixir in Action Elixir in Action – Book – 2nd edition Elixir – Library Guidelines Elixir Forum The 12-Factor App Distillery’s Documentation GitHub: Toml-Elixir GitHub: Riak_Ensemble GitHub: Elm – Beam GitHub: CodeC-Beam Library Guidelines – Elixir Configuring Elixir Libraries Handling Configurations Etcher Tweet Mashup Sasa’s YouTube Video Sasa’s Twitter Sasa’s GitHub Sasa’s Information at Elixir Conf Sasa’s LinkedIn Josh Adams’ Email: josh@smoothterminal.com Sponsors: Loot Crate Fresh Books Cache Fly Get a Coder Job! Picks: Sasa Run-time Library Guidelines Elixir in Action – Book – 2nd edition The Erlangelist Solid Ground Chuck Tweet Mashup My JavaScript Story Channel Shush App Mark Etcher.io Josh Elm Beam

Devchat.tv Master Feed
VoV 034: Mike Hartington & Michael Tintiuc : "Ionic and Vue"

Devchat.tv Master Feed

Play Episode Listen Later Oct 23, 2018 74:38


Panel: Charles Max Wood Chris Fritz Divya Sasidharan Joe Eames John Papa Special Guest: Mike Hartington and Michael Tintiuc In this episode, the panel talks with Mike and Michael who are developers of Ionic. The panel and the guests talk about the ins-and-outs of the framework and talk about the pros and cons, too. Listen to today’s episode to hear how they discuss how Ionic is compatible with Vue and Angular. Finally, they talk about various topics, such as Cordova and Capacitor. Show Topics: 1:19 – Mike H. gives his background. He uses JavaScript every day. 1:30 – Michael T. gives his background. 1:53 – Chuck: Yes, today we are talking about Ionic. Why are we talking about that on a Vue Podcast? 2:08 – Let’s talk about what Ionic is first? 2:16 – Guest gives us the definition / background of what IONIC is. 2:32 – Guest: We have been tied to Angular (back in the day), which were Ember and jQuery bindings. We have come a far way. (He talks about web components.) Guest: We spent a year diving into web components and interweaving that with Angular. Now we are exploring other framework options. Now we are looking at Ionic with Vue. 3:34 – Chuck: I have played with Ionic, and it’s fairly to use. It’s exciting to see it come this way. I’m curious what does that look like b/c Angular and Vue aren’t the same. 4:10 – Guest explains and answers Chuck’s question. 4:50 – Chuck: Is it like using...under the hood? 4:58 – Guest: No. (He goes into detail.) 5:08 – I didn’t know that Stencil was built by that team. 5:19 – Guest: We built a 2nd project. 5:28 – Guest: There are 24 hours in a day. 5:39 – Panel: How is Ionic different than other options? 5:59 – Guest: It’s comparable to Frameworks 7. The components that you generate are all web0based. The component that you put in is the same for the web or Android. You can have 100% code reuse. 6:35 – Panel: It’s actual CSS? 6:41 – Guest: It’s full-blown CSS. If you wanted to do CSS animations then whatever the browser can support. 6:56 – Panel: Advantages or disadvantages? 7:04 – Guest: It’s easier to maintain. If you are making the next Photo Shop...(super heavy graphics) maybe web and web APIs aren’t the right way to go. 8:23 – You have access to less intense stuff? 8:34 – Guest: Yes. 8:39 – Question. 8:46 – Guest: 2 different approaches to this. 1 approach is CORDOVA and the other is CAPACITOR. 9:42 – Anything that has been built with Ionic? 9:47 – Guest: App called Untapped? Or the fitness app, SWORKIT! MarketWatch is another one. We have a whole showcase page that you can check out. 10:57 – Few apps out there that use Ionic for everything. 11:06 – Panel: I have done work with Ionic in the past. I found a sweet spot for business apps. There are things behind enterprise walls that customers can use but necessarily others. We have decided to go native and found that Ionic wasn’t a good fit. How do you feel? 11:51 – Guest: We do hear that a lot. People want to make a quick app and then... 12:20 – Panel: We chose Ionic in this project b/c we had to get it out in less than 6 weeks and the team knew JavaScript. Nobody knew Ionic besides me. After that, nothing broke and that’s a huge praise. 12:55 – Guest: I will take that good praise. 13:01 – Panel: How is it used with Vue? 13:07 – Guest: The Vue work that we’ve been doing...here are the core components. Recently we have been working with Michael and integration. They have been working on opensource. 13:45 – Michael: It was one of the first apps in Beta and Vue. It all started out as a passionate project for the opensource initiative. We wanted to build something new and use the emerging Vue.js. At the time I had no idea. It sounded cool, though, and at the time I wrote a small CUI program. I decided to make an app out of that. I wanted to meet the clients’ needs and the new tech. I went online and I saw some tutorials and I thought they had figured it out. I thought we were screwed but I guess not. Most of the things are out of the box. But the problem is that the routing was sketchy and it wouldn’t update the URL and it had to be delegated to the framework. The app is called BEEP. I cannot disclose what it means. Joking. I added to the state that everything... I tore through the screen to figure out how it works. Then it clicked. You have to extend the Vue’s official router...and then you’re done. You do a MPM install and then you call a couple of APIs and then you are done. Not even a single line of code. You have Ionic’s out of the box animations, and in our app we have a dancing... You spend a week and you’re done so I won’t use anything else. 17:35 – Panel: That’s an impressive turnaround! 17:42 – Panel: It just goes to show you that the code in Vue is so approachable to anyone. If you know a little bit of JavaScript then you know what is kind of going on. It’s pretty clean. Especially the Vue Router. 18:11 – Panel: Vue Core – some parts that can be hairy. 18:43 – We are component authors. We just need to know here is a component and here are some methods that it needs to know. 19:04 – Oh yeah, totally – I was talking more about... 19:14 – That’s what I thought for those 2 weeks cause I was looking at... 19:24 – Chuck: How do you get the Vue stuff in that and not the Angular? 19:41 – Guest answers the question. 20:20 – Panel: What was the hardest part to integrate? 20:28 – Michael: I wrote my own router. It was too much for me to write. I thought it was going to take me ages. So it took the longest to come to the idea to extending Vue’s router. I thought writing less code is the best. It took me 2 weeks to come to that conclusion. It was related to how... 22:21 – Question. 22:28 – Michael: You can use Vue router like if you used a different package. 22:40 – Panel: It is using the other router history or if you are using Hash API; since it’s all web technology? 23:03 – Guest: People don’t see the URL. 23:10 – We can teach them to pass... 23:25 – Panel: I have been interested in Ionic...when you sprinkle in some native stuff. Local databases. Getting that wasn’t too bad to work. The trick was testing that. 24:04 – Guest: A lot of manual work, unfortunately. It’s a lot of set-up work. You can do test functions but actually have that end-to-end test...can I make sure that is working correctly? A lot of manual testing. There are some cloud base platforms but I haven’t checked them out for an easier way. 25:06 – It was an Ionic issue it was... I think some of the Cloud services to better nowadays. 25:25 – Guest: It was painful to get it setup. Why do I need Clouds? 25:42 – Advertisement – Get A Coder Job! 26:19 – Let’s talk about native features. How does one do that in Vue? 26:29 – Guest talks about Vue, Capacitor, and Cordova. 27:27 – Guest: Let’s talk back to the Beep app. Lots of this stuff is really easy, as Mike was saying. That’s what I like to do – being a both a developer and a library writer. 28:00 – Panel: Imagine Slash from Guns and Roses. 28:14 – Chuck: They get this idea that it’s Java so I can share. Chuck asks a question. 28:30 – Guest: All of it. You might want to change some of the UIs. If it looks good on mobile then you can adapt that as the main app and swap that out for the traditional designs and something else. 29:03 – Panel: I can’t just drop in the same dibs for my styles on my desktop and magically look like a mobile app. 29:23 – Guest: That’s where you are wrong. Ionic does this really well. We have painstakingly made this be a thing. The guest talks about screen width, layouts, and other topics. 30:10 – Guest: It’s the same code. 30:18 – Panelist gives a hypothetical situation for the guests. 30:36 – Guest answers the question. Guest: You will have to refactor from desktop to mobile. 31:54 – Chuck. 32:10 – Michael: It’s about continuity. 32:39 – Panel: Building a Vue app we can use the Ionic Vue project to reuse that work that you did to get that back button working. 32:59 – Michael: That’s the whole point. So you guys don’t even have to think about it. So you don’t have to fiddle around with bugs. 33:17 – Panelist. 33:22 – Michael. 33:33 – Mike: Eventually we want to do a full fledge Vue project they just install Ionic Vue and it will integrate the package. 33:55 – Michael: You use the UPI and that’s it. 34:03 – Panel: Beyond the hardcore 3D sky room games are there any other reasons why I wouldn’t want to use Ionic? 34:30 – Mike: I can’t think of anything. More important question is what is your team’s experience? I wouldn’t go to a bunch of C+ devs and say: Here ya go! I wouldn’t do that. You have to figure out the team that knows Java and they don’t know native, so they will be able to reuse those skills. 35:25 – Panel: I am wondering if there is anything technically impossible because of the way Ionic works? 36:00 – Guest: If there are, I haven’t seen it, yet. There are 20,000,000 downloads so far, so I don’t think so. 36:28 – Panel: When people report an issue what do they complain about? 36:39 – Guest: Being a couple pixels off (CSS), API signatures, etc. We are seeing fewer issues on the... People are looking at functionality issues. Whenever there are issues we take care of it right away. 37:26 – Panelist asks a question. 37:32 – It’s really done well. 37:46 – Panel: Are people able to drop that into an Ionic app? 38:09 – Guest: I haven’t tried that, yet. 38:20 – Panel: I have another question: How big are Ionic apps compared to other native apps. When you are using C+ or writing in Java or Swift. 39:09 – Guest: Twitter native was a couple 100 MB app. But the apps built with Ionic are 50 MB category. They can be small or full native apps with plugins. 40:00 – Panel: Does that mean that in some cases users will have to be connected to the Internet to use the app? 40:29 – Guest answers. 41:02 – Guest: I have some good news for you all. (Guest goes into detail.) 41:39 – Chuck. 41:44 – Guest: Another comparison is my app I use for my Home Goods store is 80 MB and it’s not doing a whole lot. 42:21 – Chuck: Let’s talk data for a minute. You can get large that way if you are DL files through the app – how do you manage memory? 42:42 – Guest: That is run by the browser run-time. Sometimes too good of a job. When you are doing production cases your... 43:27 – Panel: Do you have access to Sequel Light or do you have to use in-browser storage? 43:27 – Guest: Either one. 44:16 – Sequel Light. 44:20 – Guest. 44:24 – Within Ionic you can use Sequel Light there is a plugin. 44:55 – Panelist comments. 45:23 – Michael: I want to add some clarification. You can write your own propriety files... 45:23 – I like that it sounds like it’s different than other frameworks. Instead of there being a framework way to do it there is a lot of different pieces you can plugin to different parts that is agnostic to Ionic. 46:10 – Guest talks about batteries included. 46:42 – Panel: I really like that b/c it’s the Vue approach, too. 47:21 – The guest talks about transitions. 48:07 – Chuck: If I get stuck what is the community around it? 48:25 – Guest: It’s still early right now. If you went to the code base you wouldn’t see much. We are working on the code getting into the package. The good thing is that the way it’s structure, once their APIs are set then it’s the same through Angular and Vue. Once you have that API set it’s the same thing between those 3 things. 49:13 – Guest: Let me blow your minds guys... There are 7 controllers and 99% you would go to the Ionic site. The rest is identical and that’s the cool part. If you are coming from Angular you can reuse a lot of that knowledge. 50:00 – Panel: If they wanted to build an app right now what would you recommend as their first step? 50:16 – Guest: Ionic and Vue – check out the docs and the components overviews to see what the vanilla components are like. 50:52 – Panel: Is there an example repo? 50:59 – Guest: That would be the BEEP app. 51:08 – Panel: Vue specific docs? 51:18 – Guest: Files that you can drop into your browser. 51:27 – Panel: How soon is soon? 51:31 – Guest: Most likely within the next few months. Final touches that we want to complete. 52:11 – Chuck: What about testing? 52:17 – Guest: Same way you would test a Vue app there is nothing specific for Ionic (at least for the unit tests). If you are doing integration tests that would work the same way in typical Vue setup the only quirks are... 52:56 – Question: Does Ionic offer a collection of mocks for APIs? 53:11 – Guest: Yes, but just for Angular. It’s the only framework to support. This is a good call for community members to contribute. 53:35 – Panel: Would that be a new repo for Vue? 53:44 – Guest: Contribute to the Ionic Teams’ Main Repository and open an issue – and Ping me. 54:02 – Twitter names are given. 54:13 – Panel: How do they reach you? 54:19 – Michael: My whole name slurred together. 54:39 – Panel: Anything else they should know? 54:46 – Guest: Ping us and we will get you working with Ionic. 54:54 – Guest: The cookbook examples are a good starting part. We work very hard with Ionic. 56:01 – Panel: If they have questions where should they post them – chat, or form? 56:20 – Guest: Yes, ask away – any questions. 56:41 – Panel: How do you make money? 57:00 – Guest: If you want to build the Android portion, but you don’t want to take the time, we have a hosted platform that will handle that for you. Help you create your build so you don’t have to create all of the native stuff. 57:29 – Picks! 57:35 – Chuck: I have more stuff to play with – dang it! I am happy to outsource to you, Chris! 58:00 – Sarcasm. 58:26 – Chuck: Thank you for sharing your stories, Michael and Mike! 58:38 – Advertisement – Fresh Books! DEVCHAT code. 30-day trial. Links: Vue React Angular JavaScript DevChat TV Ionic – Vue Ionic Star Track Onsen UI Beep Have I been Pawned? Michael T.’s LinkedIn Mike H.’s Twitter Michael T.’s Twitter Sponsors: Fresh Books Cache Fly Kendo UI Picks: John NMP Library – DoteNV The 12 Factor App Divya Post by Sara S. Headspace – daily meditation Chris Library called CUID Library – MapBox Netflix – The Originals Chuck Friends of Scouting – good cause to give money Michael AIRBNB Lottie Steam Support Mike Blog Post – GitHub Integration Infinity War Joe Movie Peppermint Burn After Reading Goodbye Redux

Views on Vue
VoV 034: Mike Hartington & Michael Tintiuc : "Ionic and Vue"

Views on Vue

Play Episode Listen Later Oct 23, 2018 74:38


Panel: Charles Max Wood Chris Fritz Divya Sasidharan Joe Eames John Papa Special Guest: Mike Hartington and Michael Tintiuc In this episode, the panel talks with Mike and Michael who are developers of Ionic. The panel and the guests talk about the ins-and-outs of the framework and talk about the pros and cons, too. Listen to today’s episode to hear how they discuss how Ionic is compatible with Vue and Angular. Finally, they talk about various topics, such as Cordova and Capacitor. Show Topics: 1:19 – Mike H. gives his background. He uses JavaScript every day. 1:30 – Michael T. gives his background. 1:53 – Chuck: Yes, today we are talking about Ionic. Why are we talking about that on a Vue Podcast? 2:08 – Let’s talk about what Ionic is first? 2:16 – Guest gives us the definition / background of what IONIC is. 2:32 – Guest: We have been tied to Angular (back in the day), which were Ember and jQuery bindings. We have come a far way. (He talks about web components.) Guest: We spent a year diving into web components and interweaving that with Angular. Now we are exploring other framework options. Now we are looking at Ionic with Vue. 3:34 – Chuck: I have played with Ionic, and it’s fairly to use. It’s exciting to see it come this way. I’m curious what does that look like b/c Angular and Vue aren’t the same. 4:10 – Guest explains and answers Chuck’s question. 4:50 – Chuck: Is it like using...under the hood? 4:58 – Guest: No. (He goes into detail.) 5:08 – I didn’t know that Stencil was built by that team. 5:19 – Guest: We built a 2nd project. 5:28 – Guest: There are 24 hours in a day. 5:39 – Panel: How is Ionic different than other options? 5:59 – Guest: It’s comparable to Frameworks 7. The components that you generate are all web0based. The component that you put in is the same for the web or Android. You can have 100% code reuse. 6:35 – Panel: It’s actual CSS? 6:41 – Guest: It’s full-blown CSS. If you wanted to do CSS animations then whatever the browser can support. 6:56 – Panel: Advantages or disadvantages? 7:04 – Guest: It’s easier to maintain. If you are making the next Photo Shop...(super heavy graphics) maybe web and web APIs aren’t the right way to go. 8:23 – You have access to less intense stuff? 8:34 – Guest: Yes. 8:39 – Question. 8:46 – Guest: 2 different approaches to this. 1 approach is CORDOVA and the other is CAPACITOR. 9:42 – Anything that has been built with Ionic? 9:47 – Guest: App called Untapped? Or the fitness app, SWORKIT! MarketWatch is another one. We have a whole showcase page that you can check out. 10:57 – Few apps out there that use Ionic for everything. 11:06 – Panel: I have done work with Ionic in the past. I found a sweet spot for business apps. There are things behind enterprise walls that customers can use but necessarily others. We have decided to go native and found that Ionic wasn’t a good fit. How do you feel? 11:51 – Guest: We do hear that a lot. People want to make a quick app and then... 12:20 – Panel: We chose Ionic in this project b/c we had to get it out in less than 6 weeks and the team knew JavaScript. Nobody knew Ionic besides me. After that, nothing broke and that’s a huge praise. 12:55 – Guest: I will take that good praise. 13:01 – Panel: How is it used with Vue? 13:07 – Guest: The Vue work that we’ve been doing...here are the core components. Recently we have been working with Michael and integration. They have been working on opensource. 13:45 – Michael: It was one of the first apps in Beta and Vue. It all started out as a passionate project for the opensource initiative. We wanted to build something new and use the emerging Vue.js. At the time I had no idea. It sounded cool, though, and at the time I wrote a small CUI program. I decided to make an app out of that. I wanted to meet the clients’ needs and the new tech. I went online and I saw some tutorials and I thought they had figured it out. I thought we were screwed but I guess not. Most of the things are out of the box. But the problem is that the routing was sketchy and it wouldn’t update the URL and it had to be delegated to the framework. The app is called BEEP. I cannot disclose what it means. Joking. I added to the state that everything... I tore through the screen to figure out how it works. Then it clicked. You have to extend the Vue’s official router...and then you’re done. You do a MPM install and then you call a couple of APIs and then you are done. Not even a single line of code. You have Ionic’s out of the box animations, and in our app we have a dancing... You spend a week and you’re done so I won’t use anything else. 17:35 – Panel: That’s an impressive turnaround! 17:42 – Panel: It just goes to show you that the code in Vue is so approachable to anyone. If you know a little bit of JavaScript then you know what is kind of going on. It’s pretty clean. Especially the Vue Router. 18:11 – Panel: Vue Core – some parts that can be hairy. 18:43 – We are component authors. We just need to know here is a component and here are some methods that it needs to know. 19:04 – Oh yeah, totally – I was talking more about... 19:14 – That’s what I thought for those 2 weeks cause I was looking at... 19:24 – Chuck: How do you get the Vue stuff in that and not the Angular? 19:41 – Guest answers the question. 20:20 – Panel: What was the hardest part to integrate? 20:28 – Michael: I wrote my own router. It was too much for me to write. I thought it was going to take me ages. So it took the longest to come to the idea to extending Vue’s router. I thought writing less code is the best. It took me 2 weeks to come to that conclusion. It was related to how... 22:21 – Question. 22:28 – Michael: You can use Vue router like if you used a different package. 22:40 – Panel: It is using the other router history or if you are using Hash API; since it’s all web technology? 23:03 – Guest: People don’t see the URL. 23:10 – We can teach them to pass... 23:25 – Panel: I have been interested in Ionic...when you sprinkle in some native stuff. Local databases. Getting that wasn’t too bad to work. The trick was testing that. 24:04 – Guest: A lot of manual work, unfortunately. It’s a lot of set-up work. You can do test functions but actually have that end-to-end test...can I make sure that is working correctly? A lot of manual testing. There are some cloud base platforms but I haven’t checked them out for an easier way. 25:06 – It was an Ionic issue it was... I think some of the Cloud services to better nowadays. 25:25 – Guest: It was painful to get it setup. Why do I need Clouds? 25:42 – Advertisement – Get A Coder Job! 26:19 – Let’s talk about native features. How does one do that in Vue? 26:29 – Guest talks about Vue, Capacitor, and Cordova. 27:27 – Guest: Let’s talk back to the Beep app. Lots of this stuff is really easy, as Mike was saying. That’s what I like to do – being a both a developer and a library writer. 28:00 – Panel: Imagine Slash from Guns and Roses. 28:14 – Chuck: They get this idea that it’s Java so I can share. Chuck asks a question. 28:30 – Guest: All of it. You might want to change some of the UIs. If it looks good on mobile then you can adapt that as the main app and swap that out for the traditional designs and something else. 29:03 – Panel: I can’t just drop in the same dibs for my styles on my desktop and magically look like a mobile app. 29:23 – Guest: That’s where you are wrong. Ionic does this really well. We have painstakingly made this be a thing. The guest talks about screen width, layouts, and other topics. 30:10 – Guest: It’s the same code. 30:18 – Panelist gives a hypothetical situation for the guests. 30:36 – Guest answers the question. Guest: You will have to refactor from desktop to mobile. 31:54 – Chuck. 32:10 – Michael: It’s about continuity. 32:39 – Panel: Building a Vue app we can use the Ionic Vue project to reuse that work that you did to get that back button working. 32:59 – Michael: That’s the whole point. So you guys don’t even have to think about it. So you don’t have to fiddle around with bugs. 33:17 – Panelist. 33:22 – Michael. 33:33 – Mike: Eventually we want to do a full fledge Vue project they just install Ionic Vue and it will integrate the package. 33:55 – Michael: You use the UPI and that’s it. 34:03 – Panel: Beyond the hardcore 3D sky room games are there any other reasons why I wouldn’t want to use Ionic? 34:30 – Mike: I can’t think of anything. More important question is what is your team’s experience? I wouldn’t go to a bunch of C+ devs and say: Here ya go! I wouldn’t do that. You have to figure out the team that knows Java and they don’t know native, so they will be able to reuse those skills. 35:25 – Panel: I am wondering if there is anything technically impossible because of the way Ionic works? 36:00 – Guest: If there are, I haven’t seen it, yet. There are 20,000,000 downloads so far, so I don’t think so. 36:28 – Panel: When people report an issue what do they complain about? 36:39 – Guest: Being a couple pixels off (CSS), API signatures, etc. We are seeing fewer issues on the... People are looking at functionality issues. Whenever there are issues we take care of it right away. 37:26 – Panelist asks a question. 37:32 – It’s really done well. 37:46 – Panel: Are people able to drop that into an Ionic app? 38:09 – Guest: I haven’t tried that, yet. 38:20 – Panel: I have another question: How big are Ionic apps compared to other native apps. When you are using C+ or writing in Java or Swift. 39:09 – Guest: Twitter native was a couple 100 MB app. But the apps built with Ionic are 50 MB category. They can be small or full native apps with plugins. 40:00 – Panel: Does that mean that in some cases users will have to be connected to the Internet to use the app? 40:29 – Guest answers. 41:02 – Guest: I have some good news for you all. (Guest goes into detail.) 41:39 – Chuck. 41:44 – Guest: Another comparison is my app I use for my Home Goods store is 80 MB and it’s not doing a whole lot. 42:21 – Chuck: Let’s talk data for a minute. You can get large that way if you are DL files through the app – how do you manage memory? 42:42 – Guest: That is run by the browser run-time. Sometimes too good of a job. When you are doing production cases your... 43:27 – Panel: Do you have access to Sequel Light or do you have to use in-browser storage? 43:27 – Guest: Either one. 44:16 – Sequel Light. 44:20 – Guest. 44:24 – Within Ionic you can use Sequel Light there is a plugin. 44:55 – Panelist comments. 45:23 – Michael: I want to add some clarification. You can write your own propriety files... 45:23 – I like that it sounds like it’s different than other frameworks. Instead of there being a framework way to do it there is a lot of different pieces you can plugin to different parts that is agnostic to Ionic. 46:10 – Guest talks about batteries included. 46:42 – Panel: I really like that b/c it’s the Vue approach, too. 47:21 – The guest talks about transitions. 48:07 – Chuck: If I get stuck what is the community around it? 48:25 – Guest: It’s still early right now. If you went to the code base you wouldn’t see much. We are working on the code getting into the package. The good thing is that the way it’s structure, once their APIs are set then it’s the same through Angular and Vue. Once you have that API set it’s the same thing between those 3 things. 49:13 – Guest: Let me blow your minds guys... There are 7 controllers and 99% you would go to the Ionic site. The rest is identical and that’s the cool part. If you are coming from Angular you can reuse a lot of that knowledge. 50:00 – Panel: If they wanted to build an app right now what would you recommend as their first step? 50:16 – Guest: Ionic and Vue – check out the docs and the components overviews to see what the vanilla components are like. 50:52 – Panel: Is there an example repo? 50:59 – Guest: That would be the BEEP app. 51:08 – Panel: Vue specific docs? 51:18 – Guest: Files that you can drop into your browser. 51:27 – Panel: How soon is soon? 51:31 – Guest: Most likely within the next few months. Final touches that we want to complete. 52:11 – Chuck: What about testing? 52:17 – Guest: Same way you would test a Vue app there is nothing specific for Ionic (at least for the unit tests). If you are doing integration tests that would work the same way in typical Vue setup the only quirks are... 52:56 – Question: Does Ionic offer a collection of mocks for APIs? 53:11 – Guest: Yes, but just for Angular. It’s the only framework to support. This is a good call for community members to contribute. 53:35 – Panel: Would that be a new repo for Vue? 53:44 – Guest: Contribute to the Ionic Teams’ Main Repository and open an issue – and Ping me. 54:02 – Twitter names are given. 54:13 – Panel: How do they reach you? 54:19 – Michael: My whole name slurred together. 54:39 – Panel: Anything else they should know? 54:46 – Guest: Ping us and we will get you working with Ionic. 54:54 – Guest: The cookbook examples are a good starting part. We work very hard with Ionic. 56:01 – Panel: If they have questions where should they post them – chat, or form? 56:20 – Guest: Yes, ask away – any questions. 56:41 – Panel: How do you make money? 57:00 – Guest: If you want to build the Android portion, but you don’t want to take the time, we have a hosted platform that will handle that for you. Help you create your build so you don’t have to create all of the native stuff. 57:29 – Picks! 57:35 – Chuck: I have more stuff to play with – dang it! I am happy to outsource to you, Chris! 58:00 – Sarcasm. 58:26 – Chuck: Thank you for sharing your stories, Michael and Mike! 58:38 – Advertisement – Fresh Books! DEVCHAT code. 30-day trial. Links: Vue React Angular JavaScript DevChat TV Ionic – Vue Ionic Star Track Onsen UI Beep Have I been Pawned? Michael T.’s LinkedIn Mike H.’s Twitter Michael T.’s Twitter Sponsors: Fresh Books Cache Fly Kendo UI Picks: John NMP Library – DoteNV The 12 Factor App Divya Post by Sara S. Headspace – daily meditation Chris Library called CUID Library – MapBox Netflix – The Originals Chuck Friends of Scouting – good cause to give money Michael AIRBNB Lottie Steam Support Mike Blog Post – GitHub Integration Infinity War Joe Movie Peppermint Burn After Reading Goodbye Redux

The Bike Shed
165: The Tables Have Turned

The Bike Shed

Play Episode Listen Later Aug 3, 2018 40:33


Chris & Derek talk about beginnings and ends, borrowing from their consulting mindset for a conversation spanning CI, deployment, communication, team structure, and everything in between. bin/setup ActiveStorage confi on heroku Rails encrypted "Credentials" 12 Factor App Semisonic- Closing Time Suspenders changes moving to per-topic generators Ruby bug Methods with more than 32 keyword arguments with default values have some of the arguments set to default despite being passed in.

/dev/hell
Episode 45: Single Quotes for Web Scale

/dev/hell

Play Episode Listen Later May 28, 2014


This week is all about PERSONAL BRANDING and WEB SCALE with special guest Steve Corona. We talk about Steve’s book Scaling PHP. We also reminisce about the old days of Twitter API dev, until Steve humiliates Ed by not knowing what Spaz was. Check out our sponsors, New Relic, Engine Yard and WonderNetwork Follow us on Twitter here. Rate us on iTunes here Sign up for our mailing list here Listen Download now (MP3, 26.7MB, 56:30) Links and Notes Steve Corona on Twitter Scaling PHP Steve’s web site Life360 (now hiring in SF) Twitpic “Miracle on the hudson” plane crash Double vs single quotes in PHP Persistent DB connections in PHP Shared nothing architecture Horizontal vs. vertical scaling 12 Factor App Applescript CGI, more